10716 lines
4.0 MiB
Plaintext
10716 lines
4.0 MiB
Plaintext
|
|
globalThis.websiteBundle = function() {
|
|
return `
|
|
(function() {
|
|
const exports = {};
|
|
const module = { exports };
|
|
${"var pi=Object.create;var Ot=Object.defineProperty,mi=Object.defineProperties,gi=Object.getOwnPropertyDescriptor,xi=Object.getOwnPropertyDescriptors,hi=Object.getOwnPropertyNames,Kt=Object.getOwnPropertySymbols,bi=Object.getPrototypeOf,Wn=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable;var $r=(e,t,n)=>t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))Wn.call(t,n)&&$r(e,n,t[n]);if(Kt)for(var n of Kt(t))zr.call(t,n)&&$r(e,n,t[n]);return e},B=(e,t)=>mi(e,xi(t));var Gn=(e,t)=>{var n={};for(var o in e)Wn.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Kt)for(var o of Kt(e))t.indexOf(o)<0&&zr.call(e,o)&&(n[o]=e[o]);return n};var je=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yi=(e,t)=>{for(var n in t)Ot(e,n,{get:t[n],enumerable:!0})},qr=(e,t,n,o)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let a of hi(t))!Wn.call(e,a)&&a!==n&&Ot(e,a,{get:()=>t[a],enumerable:!(o=gi(t,a))||o.enumerable});return e};var Y=(e,t,n)=>(n=e!=null?pi(bi(e)):{},qr(t||!e||!e.__esModule?Ot(n,\"default\",{value:e,enumerable:!0}):n,e)),vi=e=>qr(Ot({},\"__esModule\",{value:!0}),e);var Q=je((Bd,Hr)=>{Hr.exports=window.React});var Yn=je(($d,jr)=>{jr.exports=window.ReactDOM});var Ur=je(Kn=>{\"use strict\";var Vr=Yn();Kn.createRoot=Vr.createRoot,Kn.hydrateRoot=Vr.hydrateRoot;var zd});var Gr=je((Hd,Wr)=>{Wr.exports=window.antd});var Kr=je((jd,Yr)=>{Yr.exports=window.axios});var Zr=je((Vd,Xr)=>{Xr.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],o=0;o<e.rangeCount;o++)n.push(e.getRangeAt(o));switch(t.tagName.toUpperCase()){case\"INPUT\":case\"TEXTAREA\":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type===\"Caret\"&&e.removeAllRanges(),e.rangeCount||n.forEach(function(a){e.addRange(a)}),t&&t.focus()}}});var Rr=je((Ud,Qr)=>{\"use strict\";var wi=Zr(),Jr={\"text/plain\":\"Text\",\"text/html\":\"Url\",default:\"Text\"},Ci=\"Copy to clipboard: #{key}, Enter\";function Si(e){var t=(/mac os x/i.test(navigator.userAgent)?\"\\u2318\":\"Ctrl\")+\"+C\";return e.replace(/#{\\s*key\\s*}/g,t)}function Oi(e,t){var n,o,a,i,l,u,c=!1;t||(t={}),n=t.debug||!1;try{a=wi(),i=document.createRange(),l=document.getSelection(),u=document.createElement(\"span\"),u.textContent=e,u.ariaHidden=\"true\",u.style.all=\"unset\",u.style.position=\"fixed\",u.style.top=0,u.style.clip=\"rect(0, 0, 0, 0)\",u.style.whiteSpace=\"pre\",u.style.webkitUserSelect=\"text\",u.style.MozUserSelect=\"text\",u.style.msUserSelect=\"text\",u.style.userSelect=\"text\",u.addEventListener(\"copy\",function(m){if(m.stopPropagation(),t.format)if(m.preventDefault(),typeof m.clipboardData>\"u\"){n&&console.warn(\"unable to use e.clipboardData\"),n&&console.warn(\"trying IE specific stuff\"),window.clipboardData.clearData();var d=Jr[t.format]||Jr.default;window.clipboardData.setData(d,e)}else m.clipboardData.clearData(),m.clipboardData.setData(t.format,e);t.onCopy&&(m.preventDefault(),t.onCopy(m.clipboardData))}),document.body.appendChild(u),i.selectNodeContents(u),l.addRange(i);var f=document.execCommand(\"copy\");if(!f)throw new Error(\"copy command was unsuccessful\");c=!0}catch(m){n&&console.error(\"unable to copy using execCommand: \",m),n&&console.warn(\"trying IE specific stuff\");try{window.clipboardData.setData(t.format||\"text\",e),t.onCopy&&t.onCopy(window.clipboardData),c=!0}catch(d){n&&console.error(\"unable to copy using clipboardData: \",d),n&&console.error(\"falling back to prompt\"),o=Si(\"message\"in t?t.message:Ci),window.prompt(o,e)}}finally{l&&(typeof l.removeRange==\"function\"?l.removeRange(i):l.removeAllRanges()),u&&document.body.removeChild(u),a()}return c}Qr.exports=Oi});var lo=je((gu,Qt)=>{(function(){\"use strict\";var e={}.hasOwnProperty;function t(){for(var a=\"\",i=0;i<arguments.length;i++){var l=arguments[i];l&&(a=o(a,n(l)))}return a}function n(a){if(typeof a==\"string\"||typeof a==\"number\")return a;if(typeof a!=\"object\")return\"\";if(Array.isArray(a))return t.apply(null,a);if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes(\"[native code]\"))return a.toString();var i=\"\";for(var l in a)e.call(a,l)&&a[l]&&(i=o(i,l));return i}function o(a,i){return i?a?a+\" \"+i:a+i:a}typeof Qt<\"u\"&&Qt.exports?(t.default=t,Qt.exports=t):typeof define==\"function\"&&typeof define.amd==\"object\"&&define.amd?define(\"classnames\",[],function(){return t}):window.classNames=t})()});var Pd={};yi(Pd,{renderClient:()=>Md});module.exports=vi(Pd);var r=Y(Q(),1),ii=Y(Ur(),1),s=Y(Gr(),1),bt=Y(Kr(),1),Mr=Y(Rr(),1);var eo=Y(Q()),ki=(0,eo.createContext)({}),Xt=ki;function K(){return K=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},K.apply(null,arguments)}function to(e){if(Array.isArray(e))return e}function no(e,t){var n=e==null?null:typeof Symbol<\"u\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(n!=null){var o,a,i,l,u=[],c=!0,f=!1;try{if(i=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(o=i.call(n)).done)&&(u.push(o.value),u.length!==t);c=!0);}catch(m){f=!0,a=m}finally{try{if(!c&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(f)throw a}}return u}}function Xn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function ro(e,t){if(e){if(typeof e==\"string\")return Xn(e,t);var n={}.toString.call(e).slice(8,-1);return n===\"Object\"&&e.constructor&&(n=e.constructor.name),n===\"Map\"||n===\"Set\"?Array.from(e):n===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xn(e,t):void 0}}function oo(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function Zt(e,t){return to(e)||no(e,t)||ro(e,t)||oo()}function Ae(e){\"@babel/helpers - typeof\";return Ae=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Ae(e)}function ao(e,t){if(Ae(e)!=\"object\"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var o=n.call(e,t||\"default\");if(Ae(o)!=\"object\")return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function io(e){var t=ao(e,\"string\");return Ae(t)==\"symbol\"?t:t+\"\"}function re(e,t,n){return(t=io(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function so(e,t){if(e==null)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.indexOf(o)!==-1)continue;n[o]=e[o]}return n}function Jt(e,t){if(e==null)return{};var n,o,a=so(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Xe=Y(Q()),ra=Y(lo());var oe=Math.round;function Zn(e,t){let n=e.replace(/^[^(]*\\((.*)/,\"$1\").replace(/\\).*/,\"\").match(/\\d*\\.?\\d+%?/g)||[],o=n.map(a=>parseFloat(a));for(let a=0;a<3;a+=1)o[a]=t(o[a]||0,n[a]||\"\",a);return n[3]?o[3]=n[3].includes(\"%\")?o[3]/100:o[3]:o[3]=1,o}var uo=(e,t,n)=>n===0?e:e/100;function kt(e,t){let n=t||255;return e>n?n:e<0?0:e}var Ye=class e{constructor(t){re(this,\"isValid\",!0),re(this,\"r\",0),re(this,\"g\",0),re(this,\"b\",0),re(this,\"a\",1),re(this,\"_h\",void 0),re(this,\"_s\",void 0),re(this,\"_l\",void 0),re(this,\"_v\",void 0),re(this,\"_max\",void 0),re(this,\"_min\",void 0),re(this,\"_brightness\",void 0);function n(o){return o[0]in t&&o[1]in t&&o[2]in t}if(t)if(typeof t==\"string\"){let a=function(i){return o.startsWith(i)},o=t.trim();/^#?[A-F\\d]{3,8}$/i.test(o)?this.fromHexString(o):a(\"rgb\")?this.fromRgbString(o):a(\"hsl\")?this.fromHslString(o):(a(\"hsv\")||a(\"hsb\"))&&this.fromHsvString(o)}else if(t instanceof e)this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this._h=t._h,this._s=t._s,this._l=t._l,this._v=t._v;else if(n(\"rgb\"))this.r=kt(t.r),this.g=kt(t.g),this.b=kt(t.b),this.a=typeof t.a==\"number\"?kt(t.a,1):1;else if(n(\"hsl\"))this.fromHsl(t);else if(n(\"hsv\"))this.fromHsv(t);else throw new Error(\"@ant-design/fast-color: unsupported input \"+JSON.stringify(t))}setR(t){return this._sc(\"r\",t)}setG(t){return this._sc(\"g\",t)}setB(t){return this._sc(\"b\",t)}setA(t){return this._sc(\"a\",t,1)}setHue(t){let n=this.toHsv();return n.h=t,this._c(n)}getLuminance(){function t(i){let l=i/255;return l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4)}let n=t(this.r),o=t(this.g),a=t(this.b);return .2126*n+.7152*o+.0722*a}getHue(){if(typeof this._h>\"u\"){let t=this.getMax()-this.getMin();t===0?this._h=0:this._h=oe(60*(this.r===this.getMax()?(this.g-this.b)/t+(this.g<this.b?6:0):this.g===this.getMax()?(this.b-this.r)/t+2:(this.r-this.g)/t+4))}return this._h}getSaturation(){if(typeof this._s>\"u\"){let t=this.getMax()-this.getMin();t===0?this._s=0:this._s=t/this.getMax()}return this._s}getLightness(){return typeof this._l>\"u\"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>\"u\"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>\"u\"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(t=10){let n=this.getHue(),o=this.getSaturation(),a=this.getLightness()-t/100;return a<0&&(a=0),this._c({h:n,s:o,l:a,a:this.a})}lighten(t=10){let n=this.getHue(),o=this.getSaturation(),a=this.getLightness()+t/100;return a>1&&(a=1),this._c({h:n,s:o,l:a,a:this.a})}mix(t,n=50){let o=this._c(t),a=n/100,i=u=>(o[u]-this[u])*a+this[u],l={r:oe(i(\"r\")),g:oe(i(\"g\")),b:oe(i(\"b\")),a:oe(i(\"a\")*100)/100};return this._c(l)}tint(t=10){return this.mix({r:255,g:255,b:255,a:1},t)}shade(t=10){return this.mix({r:0,g:0,b:0,a:1},t)}onBackground(t){let n=this._c(t),o=this.a+n.a*(1-this.a),a=i=>oe((this[i]*this.a+n[i]*n.a*(1-this.a))/o);return this._c({r:a(\"r\"),g:a(\"g\"),b:a(\"b\"),a:o})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}clone(){return this._c(this)}toHexString(){let t=\"#\",n=(this.r||0).toString(16);t+=n.length===2?n:\"0\"+n;let o=(this.g||0).toString(16);t+=o.length===2?o:\"0\"+o;let a=(this.b||0).toString(16);if(t+=a.length===2?a:\"0\"+a,typeof this.a==\"number\"&&this.a>=0&&this.a<1){let i=oe(this.a*255).toString(16);t+=i.length===2?i:\"0\"+i}return t}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let t=this.getHue(),n=oe(this.getSaturation()*100),o=oe(this.getLightness()*100);return this.a!==1?\"hsla(\".concat(t,\",\").concat(n,\"%,\").concat(o,\"%,\").concat(this.a,\")\"):\"hsl(\".concat(t,\",\").concat(n,\"%,\").concat(o,\"%)\")}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?\"rgba(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\",\").concat(this.a,\")\"):\"rgb(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\")\")}toString(){return this.toRgbString()}_sc(t,n,o){let a=this.clone();return a[t]=kt(n,o),a}_c(t){return new this.constructor(t)}getMax(){return typeof this._max>\"u\"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>\"u\"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(t){let n=t.replace(\"#\",\"\");function o(a,i){return parseInt(n[a]+n[i||a],16)}n.length<6?(this.r=o(0),this.g=o(1),this.b=o(2),this.a=n[3]?o(3)/255:1):(this.r=o(0,1),this.g=o(2,3),this.b=o(4,5),this.a=n[6]?o(6,7)/255:1)}fromHsl({h:t,s:n,l:o,a}){if(this._h=t%360,this._s=n,this._l=o,this.a=typeof a==\"number\"?a:1,n<=0){let g=oe(o*255);this.r=g,this.g=g,this.b=g}let i=0,l=0,u=0,c=t/60,f=(1-Math.abs(2*o-1))*n,m=f*(1-Math.abs(c%2-1));c>=0&&c<1?(i=f,l=m):c>=1&&c<2?(i=m,l=f):c>=2&&c<3?(l=f,u=m):c>=3&&c<4?(l=m,u=f):c>=4&&c<5?(i=m,u=f):c>=5&&c<6&&(i=f,u=m);let d=o-f/2;this.r=oe((i+d)*255),this.g=oe((l+d)*255),this.b=oe((u+d)*255)}fromHsv({h:t,s:n,v:o,a}){this._h=t%360,this._s=n,this._v=o,this.a=typeof a==\"number\"?a:1;let i=oe(o*255);if(this.r=i,this.g=i,this.b=i,n<=0)return;let l=t/60,u=Math.floor(l),c=l-u,f=oe(o*(1-n)*255),m=oe(o*(1-n*c)*255),d=oe(o*(1-n*(1-c))*255);switch(u){case 0:this.g=d,this.b=f;break;case 1:this.r=m,this.b=f;break;case 2:this.r=f,this.b=d;break;case 3:this.r=f,this.g=m;break;case 4:this.r=d,this.g=f;break;case 5:default:this.g=f,this.b=m;break}}fromHsvString(t){let n=Zn(t,uo);this.fromHsv({h:n[0],s:n[1],v:n[2],a:n[3]})}fromHslString(t){let n=Zn(t,uo);this.fromHsl({h:n[0],s:n[1],l:n[2],a:n[3]})}fromRgbString(t){let n=Zn(t,(o,a)=>a.includes(\"%\")?oe(o/100*255):o);this.r=n[0],this.g=n[1],this.b=n[2],this.a=n[3]}};var Rt=2,co=.16,Ti=.05,Ei=.05,Fi=.15,go=5,xo=4,Ii=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function fo(e,t,n){var o;return Math.round(e.h)>=60&&Math.round(e.h)<=240?o=n?Math.round(e.h)-Rt*t:Math.round(e.h)+Rt*t:o=n?Math.round(e.h)+Rt*t:Math.round(e.h)-Rt*t,o<0?o+=360:o>=360&&(o-=360),o}function po(e,t,n){if(e.h===0&&e.s===0)return e.s;var o;return n?o=e.s-co*t:t===xo?o=e.s+co:o=e.s+Ti*t,o>1&&(o=1),n&&t===go&&o>.1&&(o=.1),o<.06&&(o=.06),Math.round(o*100)/100}function mo(e,t,n){var o;return n?o=e.v+Ei*t:o=e.v-Fi*t,o=Math.max(0,Math.min(1,o)),Math.round(o*100)/100}function en(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=new Ye(e),a=o.toHsv(),i=go;i>0;i-=1){var l=new Ye({h:fo(a,i,!0),s:po(a,i,!0),v:mo(a,i,!0)});n.push(l)}n.push(o);for(var u=1;u<=xo;u+=1){var c=new Ye({h:fo(a,u),s:po(a,u),v:mo(a,u)});n.push(c)}return t.theme===\"dark\"?Ii.map(function(f){var m=f.index,d=f.amount;return new Ye(t.backgroundColor||\"#141414\").mix(n[m],d).toHexString()}):n.map(function(f){return f.toHexString()})}var ho=[\"#fff1f0\",\"#ffccc7\",\"#ffa39e\",\"#ff7875\",\"#ff4d4f\",\"#f5222d\",\"#cf1322\",\"#a8071a\",\"#820014\",\"#5c0011\"];ho.primary=ho[5];var bo=[\"#fff2e8\",\"#ffd8bf\",\"#ffbb96\",\"#ff9c6e\",\"#ff7a45\",\"#fa541c\",\"#d4380d\",\"#ad2102\",\"#871400\",\"#610b00\"];bo.primary=bo[5];var yo=[\"#fff7e6\",\"#ffe7ba\",\"#ffd591\",\"#ffc069\",\"#ffa940\",\"#fa8c16\",\"#d46b08\",\"#ad4e00\",\"#873800\",\"#612500\"];yo.primary=yo[5];var vo=[\"#fffbe6\",\"#fff1b8\",\"#ffe58f\",\"#ffd666\",\"#ffc53d\",\"#faad14\",\"#d48806\",\"#ad6800\",\"#874d00\",\"#613400\"];vo.primary=vo[5];var wo=[\"#feffe6\",\"#ffffb8\",\"#fffb8f\",\"#fff566\",\"#ffec3d\",\"#fadb14\",\"#d4b106\",\"#ad8b00\",\"#876800\",\"#614700\"];wo.primary=wo[5];var Co=[\"#fcffe6\",\"#f4ffb8\",\"#eaff8f\",\"#d3f261\",\"#bae637\",\"#a0d911\",\"#7cb305\",\"#5b8c00\",\"#3f6600\",\"#254000\"];Co.primary=Co[5];var So=[\"#f6ffed\",\"#d9f7be\",\"#b7eb8f\",\"#95de64\",\"#73d13d\",\"#52c41a\",\"#389e0d\",\"#237804\",\"#135200\",\"#092b00\"];So.primary=So[5];var Oo=[\"#e6fffb\",\"#b5f5ec\",\"#87e8de\",\"#5cdbd3\",\"#36cfc9\",\"#13c2c2\",\"#08979c\",\"#006d75\",\"#00474f\",\"#002329\"];Oo.primary=Oo[5];var tn=[\"#e6f4ff\",\"#bae0ff\",\"#91caff\",\"#69b1ff\",\"#4096ff\",\"#1677ff\",\"#0958d9\",\"#003eb3\",\"#002c8c\",\"#001d66\"];tn.primary=tn[5];var ko=[\"#f0f5ff\",\"#d6e4ff\",\"#adc6ff\",\"#85a5ff\",\"#597ef7\",\"#2f54eb\",\"#1d39c4\",\"#10239e\",\"#061178\",\"#030852\"];ko.primary=ko[5];var To=[\"#f9f0ff\",\"#efdbff\",\"#d3adf7\",\"#b37feb\",\"#9254de\",\"#722ed1\",\"#531dab\",\"#391085\",\"#22075e\",\"#120338\"];To.primary=To[5];var Eo=[\"#fff0f6\",\"#ffd6e7\",\"#ffadd2\",\"#ff85c0\",\"#f759ab\",\"#eb2f96\",\"#c41d7f\",\"#9e1068\",\"#780650\",\"#520339\"];Eo.primary=Eo[5];var Fo=[\"#a6a6a6\",\"#999999\",\"#8c8c8c\",\"#808080\",\"#737373\",\"#666666\",\"#404040\",\"#1a1a1a\",\"#000000\",\"#000000\"];Fo.primary=Fo[5];var Io=[\"#2a1215\",\"#431418\",\"#58181c\",\"#791a1f\",\"#a61d24\",\"#d32029\",\"#e84749\",\"#f37370\",\"#f89f9a\",\"#fac8c3\"];Io.primary=Io[5];var No=[\"#2b1611\",\"#441d12\",\"#592716\",\"#7c3118\",\"#aa3e19\",\"#d84a1b\",\"#e87040\",\"#f3956a\",\"#f8b692\",\"#fad4bc\"];No.primary=No[5];var Do=[\"#2b1d11\",\"#442a11\",\"#593815\",\"#7c4a15\",\"#aa6215\",\"#d87a16\",\"#e89a3c\",\"#f3b765\",\"#f8cf8d\",\"#fae3b7\"];Do.primary=Do[5];var Ao=[\"#2b2111\",\"#443111\",\"#594214\",\"#7c5914\",\"#aa7714\",\"#d89614\",\"#e8b339\",\"#f3cc62\",\"#f8df8b\",\"#faedb5\"];Ao.primary=Ao[5];var _o=[\"#2b2611\",\"#443b11\",\"#595014\",\"#7c6e14\",\"#aa9514\",\"#d8bd14\",\"#e8d639\",\"#f3ea62\",\"#f8f48b\",\"#fafab5\"];_o.primary=_o[5];var Mo=[\"#1f2611\",\"#2e3c10\",\"#3e4f13\",\"#536d13\",\"#6f9412\",\"#8bbb11\",\"#a9d134\",\"#c9e75d\",\"#e4f88b\",\"#f0fab5\"];Mo.primary=Mo[5];var Po=[\"#162312\",\"#1d3712\",\"#274916\",\"#306317\",\"#3c8618\",\"#49aa19\",\"#6abe39\",\"#8fd460\",\"#b2e58b\",\"#d5f2bb\"];Po.primary=Po[5];var Lo=[\"#112123\",\"#113536\",\"#144848\",\"#146262\",\"#138585\",\"#13a8a8\",\"#33bcb7\",\"#58d1c9\",\"#84e2d8\",\"#b2f1e8\"];Lo.primary=Lo[5];var Bo=[\"#111a2c\",\"#112545\",\"#15325b\",\"#15417e\",\"#1554ad\",\"#1668dc\",\"#3c89e8\",\"#65a9f3\",\"#8dc5f8\",\"#b7dcfa\"];Bo.primary=Bo[5];var $o=[\"#131629\",\"#161d40\",\"#1c2755\",\"#203175\",\"#263ea0\",\"#2b4acb\",\"#5273e0\",\"#7f9ef3\",\"#a8c1f8\",\"#d2e0fa\"];$o.primary=$o[5];var zo=[\"#1a1325\",\"#24163a\",\"#301c4d\",\"#3e2069\",\"#51258f\",\"#642ab5\",\"#854eca\",\"#ab7ae0\",\"#cda8f0\",\"#ebd7fa\"];zo.primary=zo[5];var qo=[\"#291321\",\"#40162f\",\"#551c3b\",\"#75204f\",\"#a02669\",\"#cb2b83\",\"#e0529c\",\"#f37fb7\",\"#f8a8cc\",\"#fad2e3\"];qo.primary=qo[5];var Ho=[\"#151515\",\"#1f1f1f\",\"#2d2d2d\",\"#393939\",\"#494949\",\"#5a5a5a\",\"#6a6a6a\",\"#7b7b7b\",\"#888888\",\"#969696\"];Ho.primary=Ho[5];function jo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,o)}return n}function he(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?jo(Object(n),!0).forEach(function(o){re(e,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jo(Object(n)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(n,o))})}return e}var ta=Y(Q());function Jn(){return!!(typeof window<\"u\"&&window.document&&window.document.createElement)}function Qn(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}var Vo=\"data-rc-order\",Uo=\"data-rc-priority\",Ni=\"rc-util-key\",Rn=new Map;function Wo(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.mark;return t?t.startsWith(\"data-\")?t:\"data-\".concat(t):Ni}function er(e){if(e.attachTo)return e.attachTo;var t=document.querySelector(\"head\");return t||document.body}function Di(e){return e===\"queue\"?\"prependQueue\":e?\"prepend\":\"append\"}function tr(e){return Array.from((Rn.get(e)||e).children).filter(function(t){return t.tagName===\"STYLE\"})}function Go(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Jn())return null;var n=t.csp,o=t.prepend,a=t.priority,i=a===void 0?0:a,l=Di(o),u=l===\"prependQueue\",c=document.createElement(\"style\");c.setAttribute(Vo,l),u&&i&&c.setAttribute(Uo,\"\".concat(i)),n!=null&&n.nonce&&(c.nonce=n==null?void 0:n.nonce),c.innerHTML=e;var f=er(t),m=f.firstChild;if(o){if(u){var d=(t.styles||tr(f)).filter(function(g){if(![\"prepend\",\"prependQueue\"].includes(g.getAttribute(Vo)))return!1;var p=Number(g.getAttribute(Uo)||0);return i>=p});if(d.length)return f.insertBefore(c,d[d.length-1].nextSibling),c}f.insertBefore(c,m)}else f.appendChild(c);return c}function Ai(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=er(t);return(t.styles||tr(n)).find(function(o){return o.getAttribute(Wo(t))===e})}function _i(e,t){var n=Rn.get(e);if(!n||!Qn(document,n)){var o=Go(\"\",t),a=o.parentNode;Rn.set(e,a),e.removeChild(o)}}function Yo(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=er(n),a=tr(o),i=he(he({},n),{},{styles:a});_i(o,i);var l=Ai(t,i);if(l){var u,c;if((u=i.csp)!==null&&u!==void 0&&u.nonce&&l.nonce!==((c=i.csp)===null||c===void 0?void 0:c.nonce)){var f;l.nonce=(f=i.csp)===null||f===void 0?void 0:f.nonce}return l.innerHTML!==e&&(l.innerHTML=e),l}var m=Go(e,i);return m.setAttribute(Wo(i),t),m}function Ko(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}function Mi(e){return Ko(e)instanceof ShadowRoot}function Xo(e){return Mi(e)?Ko(e):null}var nr={},Pi=[],Li=function(t){Pi.push(t)};function Bi(e,t){if(0)var n}function $i(e,t){if(0)var n}function zi(){nr={}}function Zo(e,t,n){!t&&!nr[n]&&(e(!1,n),nr[n]=!0)}function nn(e,t){Zo(Bi,e,t)}function qi(e,t){Zo($i,e,t)}nn.preMessage=Li;nn.resetWarned=zi;nn.noteOnce=qi;var Jo=nn;var Ke=Y(Q());function Hi(e){return e.replace(/-(.)/g,function(t,n){return n.toUpperCase()})}function Ro(e,t){Jo(e,\"[@ant-design/icons] \".concat(t))}function rr(e){return Ae(e)===\"object\"&&typeof e.name==\"string\"&&typeof e.theme==\"string\"&&(Ae(e.icon)===\"object\"||typeof e.icon==\"function\")}function Qo(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var o=e[n];switch(n){case\"class\":t.className=o,delete t.class;break;default:delete t[n],t[Hi(n)]=o}return t},{})}function rn(e,t,n){return n?Ke.default.createElement(e.tag,he(he({key:t},Qo(e.attrs)),n),(e.children||[]).map(function(o,a){return rn(o,\"\".concat(t,\"-\").concat(e.tag,\"-\").concat(a))})):Ke.default.createElement(e.tag,he({key:t},Qo(e.attrs)),(e.children||[]).map(function(o,a){return rn(o,\"\".concat(t,\"-\").concat(e.tag,\"-\").concat(a))}))}function or(e){return en(e)[0]}function on(e){return e?Array.isArray(e)?e:[e]:[]}var ji=\"\\n.anticon {\\n display: inline-flex;\\n align-items: center;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\",ea=function(t){var n=(0,Ke.useContext)(Xt),o=n.csp,a=n.prefixCls,i=n.layer,l=ji;a&&(l=l.replace(/anticon/g,a)),i&&(l=\"@layer \".concat(i,\" {\\n\").concat(l,\"\\n}\")),(0,Ke.useEffect)(function(){var u=t.current,c=Xo(u);Yo(l,\"@ant-design-icons\",{prepend:!i,csp:o,attachTo:c})},[])};var Vi=[\"icon\",\"className\",\"onClick\",\"style\",\"primaryColor\",\"secondaryColor\"],Tt={primaryColor:\"#333\",secondaryColor:\"#E6E6E6\",calculated:!1};function Ui(e){var t=e.primaryColor,n=e.secondaryColor;Tt.primaryColor=t,Tt.secondaryColor=n||or(t),Tt.calculated=!!n}function Wi(){return he({},Tt)}var an=function(t){var n=t.icon,o=t.className,a=t.onClick,i=t.style,l=t.primaryColor,u=t.secondaryColor,c=Jt(t,Vi),f=ta.useRef(),m=Tt;if(l&&(m={primaryColor:l,secondaryColor:u||or(l)}),ea(f),Ro(rr(n),\"icon should be icon definiton, but got \".concat(n)),!rr(n))return null;var d=n;return d&&typeof d.icon==\"function\"&&(d=he(he({},d),{},{icon:d.icon(m.primaryColor,m.secondaryColor)})),rn(d.icon,\"svg-\".concat(d.name),he(he({className:o,onClick:a,style:i,\"data-icon\":d.name,width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\"},c),{},{ref:f}))};an.displayName=\"IconReact\";an.getTwoToneColors=Wi;an.setTwoToneColors=Ui;var Et=an;function ar(e){var t=on(e),n=Zt(t,2),o=n[0],a=n[1];return Et.setTwoToneColors({primaryColor:o,secondaryColor:a})}function na(){var e=Et.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var Gi=[\"className\",\"icon\",\"spin\",\"rotate\",\"tabIndex\",\"onClick\",\"twoToneColor\"];ar(tn.primary);var sn=Xe.forwardRef(function(e,t){var n=e.className,o=e.icon,a=e.spin,i=e.rotate,l=e.tabIndex,u=e.onClick,c=e.twoToneColor,f=Jt(e,Gi),m=Xe.useContext(Xt),d=m.prefixCls,g=d===void 0?\"anticon\":d,p=m.rootClassName,v=(0,ra.default)(p,g,re(re({},\"\".concat(g,\"-\").concat(o.name),!!o.name),\"\".concat(g,\"-spin\"),!!a||o.name===\"loading\"),n),y=l;y===void 0&&u&&(y=-1);var k=i?{msTransform:\"rotate(\".concat(i,\"deg)\"),transform:\"rotate(\".concat(i,\"deg)\")}:void 0,E=on(c),w=Zt(E,2),F=w[0],_=w[1];return Xe.createElement(\"span\",K({role:\"img\",\"aria-label\":o.name},f,{ref:t,tabIndex:y,onClick:u,className:v}),Xe.createElement(Et,{icon:o,primaryColor:F,secondaryColor:_,style:k}))});sn.displayName=\"AntdIcon\";sn.getTwoToneColor=na;sn.setTwoToneColor=ar;var Z=sn;var ln=Y(Q());var Yi={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\"}},{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}}]},name:\"check-circle\",theme:\"outlined\"},oa=Yi;var Ki=function(t,n){return ln.createElement(Z,K({},t,{ref:n,icon:oa}))},Xi=ln.forwardRef(Ki),dn=Xi;var un=Y(Q());var Zi={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z\"}}]},name:\"copy\",theme:\"outlined\"},aa=Zi;var Ji=function(t,n){return un.createElement(Z,K({},t,{ref:n,icon:aa}))},Qi=un.forwardRef(Ji),ir=Qi;var cn=Y(Q());var Ri={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z\"}}]},name:\"edit\",theme:\"outlined\"},ia=Ri;var es=function(t,n){return cn.createElement(Z,K({},t,{ref:n,icon:ia}))},ts=cn.forwardRef(es),ct=ts;var fn=Y(Q());var ns={icon:{tag:\"svg\",attrs:{\"fill-rule\":\"evenodd\",viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z\"}}]},name:\"export\",theme:\"outlined\"},sa=ns;var rs=function(t,n){return fn.createElement(Z,K({},t,{ref:n,icon:sa}))},os=fn.forwardRef(rs),sr=os;var pn=Y(Q());var as={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z\"}}]},name:\"holder\",theme:\"outlined\"},la=as;var is=function(t,n){return pn.createElement(Z,K({},t,{ref:n,icon:la}))},ss=pn.forwardRef(is),lr=ss;var mn=Y(Q());var ls={icon:{tag:\"svg\",attrs:{\"fill-rule\":\"evenodd\",viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z\"}}]},name:\"import\",theme:\"outlined\"},da=ls;var ds=function(t,n){return mn.createElement(Z,K({},t,{ref:n,icon:da}))},us=mn.forwardRef(ds),dr=us;var gn=Y(Q());var cs={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z\"}}]},name:\"link\",theme:\"outlined\"},ua=cs;var fs=function(t,n){return gn.createElement(Z,K({},t,{ref:n,icon:ua}))},ps=gn.forwardRef(fs),ur=ps;var xn=Y(Q());var ms={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"}},{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}}]},name:\"minus-circle\",theme:\"outlined\"},ca=ms;var gs=function(t,n){return xn.createElement(Z,K({},t,{ref:n,icon:ca}))},xs=xn.forwardRef(gs),Ze=xs;var hn=Y(Q());var hs={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\"}},{tag:\"path\",attrs:{d:\"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z\"}}]},name:\"plus\",theme:\"outlined\"},fa=hs;var bs=function(t,n){return hn.createElement(Z,K({},t,{ref:n,icon:fa}))},ys=hn.forwardRef(bs),be=ys;var bn=Y(Q());var vs={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z\"}}]},name:\"setting\",theme:\"outlined\"},pa=vs;var ws=function(t,n){return bn.createElement(Z,K({},t,{ref:n,icon:pa}))},Cs=bn.forwardRef(ws),yn=Cs;var vn=Y(Q());var Ss={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z\"}}]},name:\"user\",theme:\"outlined\"},ma=Ss;var Os=function(t,n){return vn.createElement(Z,K({},t,{ref:n,icon:ma}))},ks=vn.forwardRef(Os),cr=ks;var x=Y(Q()),nt=Y(Yn());var R=Y(Q());function xa(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,R.useMemo)(()=>o=>{t.forEach(a=>a(o))},t)}var Ft=typeof window<\"u\"&&typeof window.document<\"u\"&&typeof window.document.createElement<\"u\";function Je(e){let t=Object.prototype.toString.call(e);return t===\"[object Window]\"||t===\"[object global]\"}function wn(e){return\"nodeType\"in e}function pe(e){var t,n;return e?Je(e)?e:wn(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function Cn(e){let{Document:t}=pe(e);return e instanceof t}function ft(e){return Je(e)?!1:e instanceof pe(e).HTMLElement}function pr(e){return e instanceof pe(e).SVGElement}function Qe(e){return e?Je(e)?e.document:wn(e)?Cn(e)?e:ft(e)||pr(e)?e.ownerDocument:document:document:document}var ye=Ft?R.useLayoutEffect:R.useEffect;function Sn(e){let t=(0,R.useRef)(e);return ye(()=>{t.current=e}),(0,R.useCallback)(function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return t.current==null?void 0:t.current(...o)},[])}function ha(){let e=(0,R.useRef)(null),t=(0,R.useCallback)((o,a)=>{e.current=setInterval(o,a)},[]),n=(0,R.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function pt(e,t){t===void 0&&(t=[e]);let n=(0,R.useRef)(e);return ye(()=>{n.current!==e&&(n.current=e)},t),n}function mt(e,t){let n=(0,R.useRef)();return(0,R.useMemo)(()=>{let o=e(n.current);return n.current=o,o},[...t])}function It(e){let t=Sn(e),n=(0,R.useRef)(null),o=(0,R.useCallback)(a=>{a!==n.current&&(t==null||t(a,n.current)),n.current=a},[]);return[n,o]}function On(e){let t=(0,R.useRef)();return(0,R.useEffect)(()=>{t.current=e},[e]),t.current}var fr={};function Re(e,t){return(0,R.useMemo)(()=>{if(t)return t;let n=fr[e]==null?0:fr[e]+1;return fr[e]=n,e+\"-\"+n},[e,t])}function ba(e){return function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];return o.reduce((i,l)=>{let u=Object.entries(l);for(let[c,f]of u){let m=i[c];m!=null&&(i[c]=m+e*f)}return i},S({},t))}}var et=ba(1),gt=ba(-1);function Ts(e){return\"clientX\"in e&&\"clientY\"in e}function Nt(e){if(!e)return!1;let{KeyboardEvent:t}=pe(e.target);return t&&e instanceof t}function Es(e){if(!e)return!1;let{TouchEvent:t}=pe(e.target);return t&&e instanceof t}function Dt(e){if(Es(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Ts(e)?{x:e.clientX,y:e.clientY}:null}var Ve=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return\"translate3d(\"+(t?Math.round(t):0)+\"px, \"+(n?Math.round(n):0)+\"px, 0)\"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return\"scaleX(\"+t+\") scaleY(\"+n+\")\"}},Transform:{toString(e){if(e)return[Ve.Translate.toString(e),Ve.Scale.toString(e)].join(\" \")}},Transition:{toString(e){let{property:t,duration:n,easing:o}=e;return t+\" \"+n+\"ms \"+o}}}),ga=\"a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]\";function ya(e){return e.matches(ga)?e:e.querySelector(ga)}var tt=Y(Q()),Fs={display:\"none\"};function va(e){let{id:t,value:n}=e;return tt.default.createElement(\"div\",{id:t,style:Fs},n)}function wa(e){let{id:t,announcement:n,ariaLiveType:o=\"assertive\"}=e,a={position:\"fixed\",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:\"hidden\",clip:\"rect(0 0 0 0)\",clipPath:\"inset(100%)\",whiteSpace:\"nowrap\"};return tt.default.createElement(\"div\",{id:t,style:a,role:\"status\",\"aria-live\":o,\"aria-atomic\":!0},n)}function Ca(){let[e,t]=(0,tt.useState)(\"\");return{announce:(0,tt.useCallback)(o=>{o!=null&&t(o)},[]),announcement:e}}var _a=(0,x.createContext)(null);function Is(e){let t=(0,x.useContext)(_a);(0,x.useEffect)(()=>{if(!t)throw new Error(\"useDndMonitor must be used within a children of <DndContext>\");return t(e)},[e,t])}function Ns(){let[e]=(0,x.useState)(()=>new Set),t=(0,x.useCallback)(o=>(e.add(o),()=>e.delete(o)),[e]);return[(0,x.useCallback)(o=>{let{type:a,event:i}=o;e.forEach(l=>{var u;return(u=l[a])==null?void 0:u.call(l,i)})},[e]),t]}var Ds={draggable:\"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"},As={onDragStart(e){let{active:t}=e;return\"Picked up draggable item \"+t.id+\".\"},onDragOver(e){let{active:t,over:n}=e;return n?\"Draggable item \"+t.id+\" was moved over droppable area \"+n.id+\".\":\"Draggable item \"+t.id+\" is no longer over a droppable area.\"},onDragEnd(e){let{active:t,over:n}=e;return n?\"Draggable item \"+t.id+\" was dropped over droppable area \"+n.id:\"Draggable item \"+t.id+\" was dropped.\"},onDragCancel(e){let{active:t}=e;return\"Dragging was cancelled. Draggable item \"+t.id+\" was dropped.\"}};function _s(e){let{announcements:t=As,container:n,hiddenTextDescribedById:o,screenReaderInstructions:a=Ds}=e,{announce:i,announcement:l}=Ca(),u=Re(\"DndLiveRegion\"),[c,f]=(0,x.useState)(!1);if((0,x.useEffect)(()=>{f(!0)},[]),Is((0,x.useMemo)(()=>({onDragStart(d){let{active:g}=d;i(t.onDragStart({active:g}))},onDragMove(d){let{active:g,over:p}=d;t.onDragMove&&i(t.onDragMove({active:g,over:p}))},onDragOver(d){let{active:g,over:p}=d;i(t.onDragOver({active:g,over:p}))},onDragEnd(d){let{active:g,over:p}=d;i(t.onDragEnd({active:g,over:p}))},onDragCancel(d){let{active:g,over:p}=d;i(t.onDragCancel({active:g,over:p}))}}),[i,t])),!c)return null;let m=x.default.createElement(x.default.Fragment,null,x.default.createElement(va,{id:o,value:a.draggable}),x.default.createElement(wa,{id:u,announcement:l}));return n?(0,nt.createPortal)(m,n):m}var te;(function(e){e.DragStart=\"dragStart\",e.DragMove=\"dragMove\",e.DragEnd=\"dragEnd\",e.DragCancel=\"dragCancel\",e.DragOver=\"dragOver\",e.RegisterDroppable=\"registerDroppable\",e.SetDroppableDisabled=\"setDroppableDisabled\",e.UnregisterDroppable=\"unregisterDroppable\"})(te||(te={}));function Tn(){}function Lt(e,t){return(0,x.useMemo)(()=>({sensor:e,options:t!=null?t:{}}),[e,t])}function wr(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,x.useMemo)(()=>[...t].filter(o=>o!=null),[...t])}var Te=Object.freeze({x:0,y:0});function Ms(e,t){let{data:{value:n}}=e,{data:{value:o}}=t;return o-n}function Ma(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Ps(e,t){let n=Math.max(t.top,e.top),o=Math.max(t.left,e.left),a=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),l=a-o,u=i-n;if(o<a&&n<i){let c=t.width*t.height,f=e.width*e.height,m=l*u,d=m/(c+f-m);return Number(d.toFixed(4))}return 0}var Ls=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:o}=e,a=[];for(let i of o){let{id:l}=i,u=n.get(l);if(u){let c=Ps(u,t);c>0&&a.push({id:l,data:{droppableContainer:i,value:c}})}}return a.sort(Ms)};function Bs(e,t,n){return B(S({},e),{scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1})}function Pa(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Te}function $s(e){return function(n){for(var o=arguments.length,a=new Array(o>1?o-1:0),i=1;i<o;i++)a[i-1]=arguments[i];return a.reduce((l,u)=>B(S({},l),{top:l.top+e*u.y,bottom:l.bottom+e*u.y,left:l.left+e*u.x,right:l.right+e*u.x}),S({},n))}}var zs=$s(1);function qs(e){if(e.startsWith(\"matrix3d(\")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(\"matrix(\")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Hs(e,t,n){let o=qs(t);if(!o)return e;let{scaleX:a,scaleY:i,x:l,y:u}=o,c=e.left-l-(1-a)*parseFloat(n),f=e.top-u-(1-i)*parseFloat(n.slice(n.indexOf(\" \")+1)),m=a?e.width/a:e.width,d=i?e.height/i:e.height;return{width:m,height:d,top:f,right:c+m,bottom:f+d,left:c}}var js={ignoreTransform:!1};function it(e,t){t===void 0&&(t=js);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:f,transformOrigin:m}=pe(e).getComputedStyle(e);f&&(n=Hs(n,f,m))}let{top:o,left:a,width:i,height:l,bottom:u,right:c}=n;return{top:o,left:a,width:i,height:l,bottom:u,right:c}}function Sa(e){return it(e,{ignoreTransform:!0})}function Vs(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Us(e,t){return t===void 0&&(t=pe(e).getComputedStyle(e)),t.position===\"fixed\"}function Ws(e,t){t===void 0&&(t=pe(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[\"overflow\",\"overflowX\",\"overflowY\"].some(a=>{let i=t[a];return typeof i==\"string\"?n.test(i):!1})}function In(e,t){let n=[];function o(a){if(t!=null&&n.length>=t||!a)return n;if(Cn(a)&&a.scrollingElement!=null&&!n.includes(a.scrollingElement))return n.push(a.scrollingElement),n;if(!ft(a)||pr(a)||n.includes(a))return n;let i=pe(e).getComputedStyle(a);return a!==e&&Ws(a,i)&&n.push(a),Us(a,i)?n:o(a.parentNode)}return e?o(e):n}function La(e){let[t]=In(e,1);return t!=null?t:null}function mr(e){return!Ft||!e?null:Je(e)?e:wn(e)?Cn(e)||e===Qe(e).scrollingElement?window:ft(e)?e:null:null}function Ba(e){return Je(e)?e.scrollX:e.scrollLeft}function $a(e){return Je(e)?e.scrollY:e.scrollTop}function hr(e){return{x:Ba(e),y:$a(e)}}var ae;(function(e){e[e.Forward=1]=\"Forward\",e[e.Backward=-1]=\"Backward\"})(ae||(ae={}));function za(e){return!Ft||!e?!1:e===document.scrollingElement}function qa(e){let t={x:0,y:0},n=za(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},o={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},a=e.scrollTop<=t.y,i=e.scrollLeft<=t.x,l=e.scrollTop>=o.y,u=e.scrollLeft>=o.x;return{isTop:a,isLeft:i,isBottom:l,isRight:u,maxScroll:o,minScroll:t}}var Gs={x:.2,y:.2};function Ys(e,t,n,o,a){let{top:i,left:l,right:u,bottom:c}=n;o===void 0&&(o=10),a===void 0&&(a=Gs);let{isTop:f,isBottom:m,isLeft:d,isRight:g}=qa(e),p={x:0,y:0},v={x:0,y:0},y={height:t.height*a.y,width:t.width*a.x};return!f&&i<=t.top+y.height?(p.y=ae.Backward,v.y=o*Math.abs((t.top+y.height-i)/y.height)):!m&&c>=t.bottom-y.height&&(p.y=ae.Forward,v.y=o*Math.abs((t.bottom-y.height-c)/y.height)),!g&&u>=t.right-y.width?(p.x=ae.Forward,v.x=o*Math.abs((t.right-y.width-u)/y.width)):!d&&l<=t.left+y.width&&(p.x=ae.Backward,v.x=o*Math.abs((t.left+y.width-l)/y.width)),{direction:p,speed:v}}function Ks(e){if(e===document.scrollingElement){let{innerWidth:i,innerHeight:l}=window;return{top:0,left:0,right:i,bottom:l,width:i,height:l}}let{top:t,left:n,right:o,bottom:a}=e.getBoundingClientRect();return{top:t,left:n,right:o,bottom:a,width:e.clientWidth,height:e.clientHeight}}function Ha(e){return e.reduce((t,n)=>et(t,hr(n)),Te)}function Xs(e){return e.reduce((t,n)=>t+Ba(n),0)}function Zs(e){return e.reduce((t,n)=>t+$a(n),0)}function Js(e,t){if(t===void 0&&(t=it),!e)return;let{top:n,left:o,bottom:a,right:i}=t(e);La(e)&&(a<=0||i<=0||n>=window.innerHeight||o>=window.innerWidth)&&e.scrollIntoView({block:\"center\",inline:\"center\"})}var Qs=[[\"x\",[\"left\",\"right\"],Xs],[\"y\",[\"top\",\"bottom\"],Zs]],_t=class{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let o=In(n),a=Ha(o);this.rect=S({},t),this.width=t.width,this.height=t.height;for(let[i,l,u]of Qs)for(let c of l)Object.defineProperty(this,c,{get:()=>{let f=u(o),m=a[i]-f;return this.rect[c]+m},enumerable:!0});Object.defineProperty(this,\"rect\",{enumerable:!1})}},rt=class{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var o;return(o=this.target)==null?void 0:o.removeEventListener(...n)})},this.target=t}add(t,n,o){var a;(a=this.target)==null||a.addEventListener(t,n,o),this.listeners.push([t,n,o])}};function Rs(e){let{EventTarget:t}=pe(e);return e instanceof t?e:Qe(e)}function gr(e,t){let n=Math.abs(e.x),o=Math.abs(e.y);return typeof t==\"number\"?Math.sqrt(n**2+o**2)>t:\"x\"in t&&\"y\"in t?n>t.x&&o>t.y:\"x\"in t?n>t.x:\"y\"in t?o>t.y:!1}var ve;(function(e){e.Click=\"click\",e.DragStart=\"dragstart\",e.Keydown=\"keydown\",e.ContextMenu=\"contextmenu\",e.Resize=\"resize\",e.SelectionChange=\"selectionchange\",e.VisibilityChange=\"visibilitychange\"})(ve||(ve={}));function Oa(e){e.preventDefault()}function el(e){e.stopPropagation()}var W;(function(e){e.Space=\"Space\",e.Down=\"ArrowDown\",e.Right=\"ArrowRight\",e.Left=\"ArrowLeft\",e.Up=\"ArrowUp\",e.Esc=\"Escape\",e.Enter=\"Enter\",e.Tab=\"Tab\"})(W||(W={}));var ja={start:[W.Space,W.Enter],cancel:[W.Esc],end:[W.Space,W.Enter,W.Tab]},tl=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case W.Right:return B(S({},n),{x:n.x+25});case W.Left:return B(S({},n),{x:n.x-25});case W.Down:return B(S({},n),{y:n.y+25});case W.Up:return B(S({},n),{y:n.y-25})}},En=class{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;let{event:{target:n}}=t;this.props=t,this.listeners=new rt(Qe(n)),this.windowListeners=new rt(pe(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ve.Resize,this.handleCancel),this.windowListeners.add(ve.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ve.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:t,onStart:n}=this.props,o=t.node.current;o&&Js(o),n(Te)}handleKeyDown(t){if(Nt(t)){let{active:n,context:o,options:a}=this.props,{keyboardCodes:i=ja,coordinateGetter:l=tl,scrollBehavior:u=\"smooth\"}=a,{code:c}=t;if(i.end.includes(c)){this.handleEnd(t);return}if(i.cancel.includes(c)){this.handleCancel(t);return}let{collisionRect:f}=o.current,m=f?{x:f.left,y:f.top}:Te;this.referenceCoordinates||(this.referenceCoordinates=m);let d=l(t,{active:n,context:o.current,currentCoordinates:m});if(d){let g=gt(d,m),p={x:0,y:0},{scrollableAncestors:v}=o.current;for(let y of v){let k=t.code,{isTop:E,isRight:w,isLeft:F,isBottom:_,maxScroll:z,minScroll:H}=qa(y),h=Ks(y),C={x:Math.min(k===W.Right?h.right-h.width/2:h.right,Math.max(k===W.Right?h.left:h.left+h.width/2,d.x)),y:Math.min(k===W.Down?h.bottom-h.height/2:h.bottom,Math.max(k===W.Down?h.top:h.top+h.height/2,d.y))},L=k===W.Right&&!w||k===W.Left&&!F,M=k===W.Down&&!_||k===W.Up&&!E;if(L&&C.x!==d.x){let D=y.scrollLeft+g.x,j=k===W.Right&&D<=z.x||k===W.Left&&D>=H.x;if(j&&!g.y){y.scrollTo({left:D,behavior:u});return}j?p.x=y.scrollLeft-D:p.x=k===W.Right?y.scrollLeft-z.x:y.scrollLeft-H.x,p.x&&y.scrollBy({left:-p.x,behavior:u});break}else if(M&&C.y!==d.y){let D=y.scrollTop+g.y,j=k===W.Down&&D<=z.y||k===W.Up&&D>=H.y;if(j&&!g.x){y.scrollTo({top:D,behavior:u});return}j?p.y=y.scrollTop-D:p.y=k===W.Down?y.scrollTop-z.y:y.scrollTop-H.y,p.y&&y.scrollBy({top:-p.y,behavior:u});break}}this.handleMove(t,et(gt(d,this.referenceCoordinates),p))}}}handleMove(t,n){let{onMove:o}=this.props;t.preventDefault(),o(n)}handleEnd(t){let{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){let{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};En.activators=[{eventName:\"onKeyDown\",handler:(e,t,n)=>{let{keyboardCodes:o=ja,onActivation:a}=t,{active:i}=n,{code:l}=e.nativeEvent;if(o.start.includes(l)){let u=i.activatorNode.current;return u&&e.target!==u?!1:(e.preventDefault(),a==null||a({event:e.nativeEvent}),!0)}return!1}}];function ka(e){return!!(e&&\"distance\"in e)}function Ta(e){return!!(e&&\"delay\"in e)}var Mt=class{constructor(t,n,o){var a;o===void 0&&(o=Rs(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;let{event:i}=t,{target:l}=i;this.props=t,this.events=n,this.document=Qe(l),this.documentListeners=new rt(this.document),this.listeners=new rt(o),this.windowListeners=new rt(pe(l)),this.initialCoordinates=(a=Dt(i))!=null?a:Te,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:o}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(ve.Resize,this.handleCancel),this.windowListeners.add(ve.DragStart,Oa),this.windowListeners.add(ve.VisibilityChange,this.handleCancel),this.windowListeners.add(ve.ContextMenu,Oa),this.documentListeners.add(ve.Keydown,this.handleKeydown),n){if(o!=null&&o({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Ta(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(ka(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,n){let{active:o,onPending:a}=this.props;a(o,t,this.initialCoordinates,n)}handleStart(){let{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(ve.Click,el,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ve.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;let{activated:o,initialCoordinates:a,props:i}=this,{onMove:l,options:{activationConstraint:u}}=i;if(!a)return;let c=(n=Dt(t))!=null?n:Te,f=gt(a,c);if(!o&&u){if(ka(u)){if(u.tolerance!=null&&gr(f,u.tolerance))return this.handleCancel();if(gr(f,u.distance))return this.handleStart()}if(Ta(u)&&gr(f,u.tolerance))return this.handleCancel();this.handlePending(u,f);return}t.cancelable&&t.preventDefault(),l(c)}handleEnd(){let{onAbort:t,onEnd:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleCancel(){let{onAbort:t,onCancel:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleKeydown(t){t.code===W.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}},nl={cancel:{name:\"pointercancel\"},move:{name:\"pointermove\"},end:{name:\"pointerup\"}},at=class extends Mt{constructor(t){let{event:n}=t,o=Qe(n.target);super(t,nl,o)}};at.activators=[{eventName:\"onPointerDown\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return!n.isPrimary||n.button!==0?!1:(o==null||o({event:n}),!0)}}];var rl={move:{name:\"mousemove\"},end:{name:\"mouseup\"}},br;(function(e){e[e.RightClick=2]=\"RightClick\"})(br||(br={}));var yr=class extends Mt{constructor(t){super(t,rl,Qe(t.event.target))}};yr.activators=[{eventName:\"onMouseDown\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return n.button===br.RightClick?!1:(o==null||o({event:n}),!0)}}];var xr={cancel:{name:\"touchcancel\"},move:{name:\"touchmove\"},end:{name:\"touchend\"}},xt=class extends Mt{constructor(t){super(t,xr)}static setup(){return window.addEventListener(xr.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(xr.move.name,t)};function t(){}}};xt.activators=[{eventName:\"onTouchStart\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t,{touches:a}=n;return a.length>1?!1:(o==null||o({event:n}),!0)}}];var At;(function(e){e[e.Pointer=0]=\"Pointer\",e[e.DraggableRect=1]=\"DraggableRect\"})(At||(At={}));var Fn;(function(e){e[e.TreeOrder=0]=\"TreeOrder\",e[e.ReversedTreeOrder=1]=\"ReversedTreeOrder\"})(Fn||(Fn={}));function ol(e){let{acceleration:t,activator:n=At.Pointer,canScroll:o,draggingRect:a,enabled:i,interval:l=5,order:u=Fn.TreeOrder,pointerCoordinates:c,scrollableAncestors:f,scrollableAncestorRects:m,delta:d,threshold:g}=e,p=il({delta:d,disabled:!i}),[v,y]=ha(),k=(0,x.useRef)({x:0,y:0}),E=(0,x.useRef)({x:0,y:0}),w=(0,x.useMemo)(()=>{switch(n){case At.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case At.DraggableRect:return a}},[n,a,c]),F=(0,x.useRef)(null),_=(0,x.useCallback)(()=>{let H=F.current;if(!H)return;let h=k.current.x*E.current.x,C=k.current.y*E.current.y;H.scrollBy(h,C)},[]),z=(0,x.useMemo)(()=>u===Fn.TreeOrder?[...f].reverse():f,[u,f]);(0,x.useEffect)(()=>{if(!i||!f.length||!w){y();return}for(let H of z){if((o==null?void 0:o(H))===!1)continue;let h=f.indexOf(H),C=m[h];if(!C)continue;let{direction:L,speed:M}=Ys(H,C,w,t,g);for(let D of[\"x\",\"y\"])p[D][L[D]]||(M[D]=0,L[D]=0);if(M.x>0||M.y>0){y(),F.current=H,v(_,l),k.current=M,E.current=L;return}}k.current={x:0,y:0},E.current={x:0,y:0},y()},[t,_,o,y,i,l,JSON.stringify(w),JSON.stringify(p),v,f,z,m,JSON.stringify(g)])}var al={x:{[ae.Backward]:!1,[ae.Forward]:!1},y:{[ae.Backward]:!1,[ae.Forward]:!1}};function il(e){let{delta:t,disabled:n}=e,o=On(t);return mt(a=>{if(n||!o||!a)return al;let i={x:Math.sign(t.x-o.x),y:Math.sign(t.y-o.y)};return{x:{[ae.Backward]:a.x[ae.Backward]||i.x===-1,[ae.Forward]:a.x[ae.Forward]||i.x===1},y:{[ae.Backward]:a.y[ae.Backward]||i.y===-1,[ae.Forward]:a.y[ae.Forward]||i.y===1}}},[n,t,o])}function sl(e,t){let n=t!=null?e.get(t):void 0,o=n?n.node.current:null;return mt(a=>{var i;return t==null?null:(i=o!=null?o:a)!=null?i:null},[o,t])}function ll(e,t){return(0,x.useMemo)(()=>e.reduce((n,o)=>{let{sensor:a}=o,i=a.activators.map(l=>({eventName:l.eventName,handler:t(l.handler,o)}));return[...n,...i]},[]),[e,t])}var Pt;(function(e){e[e.Always=0]=\"Always\",e[e.BeforeDragging=1]=\"BeforeDragging\",e[e.WhileDragging=2]=\"WhileDragging\"})(Pt||(Pt={}));var vr;(function(e){e.Optimized=\"optimized\"})(vr||(vr={}));var Ea=new Map;function dl(e,t){let{dragging:n,dependencies:o,config:a}=t,[i,l]=(0,x.useState)(null),{frequency:u,measure:c,strategy:f}=a,m=(0,x.useRef)(e),d=k(),g=pt(d),p=(0,x.useCallback)(function(E){E===void 0&&(E=[]),!g.current&&l(w=>w===null?E:w.concat(E.filter(F=>!w.includes(F))))},[g]),v=(0,x.useRef)(null),y=mt(E=>{if(d&&!n)return Ea;if(!E||E===Ea||m.current!==e||i!=null){let w=new Map;for(let F of e){if(!F)continue;if(i&&i.length>0&&!i.includes(F.id)&&F.rect.current){w.set(F.id,F.rect.current);continue}let _=F.node.current,z=_?new _t(c(_),_):null;F.rect.current=z,z&&w.set(F.id,z)}return w}return E},[e,i,n,d,c]);return(0,x.useEffect)(()=>{m.current=e},[e]),(0,x.useEffect)(()=>{d||p()},[n,d]),(0,x.useEffect)(()=>{i&&i.length>0&&l(null)},[JSON.stringify(i)]),(0,x.useEffect)(()=>{d||typeof u!=\"number\"||v.current!==null||(v.current=setTimeout(()=>{p(),v.current=null},u))},[u,d,p,...o]),{droppableRects:y,measureDroppableContainers:p,measuringScheduled:i!=null};function k(){switch(f){case Pt.Always:return!1;case Pt.BeforeDragging:return n;default:return!n}}}function Va(e,t){return mt(n=>e?n||(typeof t==\"function\"?t(e):e):null,[t,e])}function ul(e,t){return Va(e,t)}function cl(e){let{callback:t,disabled:n}=e,o=Sn(t),a=(0,x.useMemo)(()=>{if(n||typeof window>\"u\"||typeof window.MutationObserver>\"u\")return;let{MutationObserver:i}=window;return new i(o)},[o,n]);return(0,x.useEffect)(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function Nn(e){let{callback:t,disabled:n}=e,o=Sn(t),a=(0,x.useMemo)(()=>{if(n||typeof window>\"u\"||typeof window.ResizeObserver>\"u\")return;let{ResizeObserver:i}=window;return new i(o)},[n]);return(0,x.useEffect)(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function fl(e){return new _t(it(e),e)}function Fa(e,t,n){t===void 0&&(t=fl);let[o,a]=(0,x.useState)(null);function i(){a(c=>{if(!e)return null;if(e.isConnected===!1){var f;return(f=c!=null?c:n)!=null?f:null}let m=t(e);return JSON.stringify(c)===JSON.stringify(m)?c:m})}let l=cl({callback(c){if(e)for(let f of c){let{type:m,target:d}=f;if(m===\"childList\"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),u=Nn({callback:i});return ye(()=>{i(),e?(u==null||u.observe(e),l==null||l.observe(document.body,{childList:!0,subtree:!0})):(u==null||u.disconnect(),l==null||l.disconnect())},[e]),o}function pl(e){let t=Va(e);return Pa(e,t)}var Ia=[];function ml(e){let t=(0,x.useRef)(e),n=mt(o=>e?o&&o!==Ia&&e&&t.current&&e.parentNode===t.current.parentNode?o:In(e):Ia,[e]);return(0,x.useEffect)(()=>{t.current=e},[e]),n}function gl(e){let[t,n]=(0,x.useState)(null),o=(0,x.useRef)(e),a=(0,x.useCallback)(i=>{let l=mr(i.target);l&&n(u=>u?(u.set(l,hr(l)),new Map(u)):null)},[]);return(0,x.useEffect)(()=>{let i=o.current;if(e!==i){l(i);let u=e.map(c=>{let f=mr(c);return f?(f.addEventListener(\"scroll\",a,{passive:!0}),[f,hr(f)]):null}).filter(c=>c!=null);n(u.length?new Map(u):null),o.current=e}return()=>{l(e),l(i)};function l(u){u.forEach(c=>{let f=mr(c);f==null||f.removeEventListener(\"scroll\",a)})}},[a,e]),(0,x.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((i,l)=>et(i,l),Te):Ha(e):Te,[e,t])}function Na(e,t){t===void 0&&(t=[]);let n=(0,x.useRef)(null);return(0,x.useEffect)(()=>{n.current=null},t),(0,x.useEffect)(()=>{let o=e!==Te;o&&!n.current&&(n.current=e),!o&&n.current&&(n.current=null)},[e]),n.current?gt(e,n.current):Te}function xl(e){(0,x.useEffect)(()=>{if(!Ft)return;let t=e.map(n=>{let{sensor:o}=n;return o.setup==null?void 0:o.setup()});return()=>{for(let n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function hl(e,t){return(0,x.useMemo)(()=>e.reduce((n,o)=>{let{eventName:a,handler:i}=o;return n[a]=l=>{i(l,t)},n},{}),[e,t])}function Ua(e){return(0,x.useMemo)(()=>e?Vs(e):null,[e])}var Da=[];function bl(e,t){t===void 0&&(t=it);let[n]=e,o=Ua(n?pe(n):null),[a,i]=(0,x.useState)(Da);function l(){i(()=>e.length?e.map(c=>za(c)?o:new _t(t(c),c)):Da)}let u=Nn({callback:l});return ye(()=>{u==null||u.disconnect(),l(),e.forEach(c=>u==null?void 0:u.observe(c))},[e]),a}function yl(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return ft(t)?t:e}function vl(e){let{measure:t}=e,[n,o]=(0,x.useState)(null),a=(0,x.useCallback)(f=>{for(let{target:m}of f)if(ft(m)){o(d=>{let g=t(m);return d?B(S({},d),{width:g.width,height:g.height}):g});break}},[t]),i=Nn({callback:a}),l=(0,x.useCallback)(f=>{let m=yl(f);i==null||i.disconnect(),m&&(i==null||i.observe(m)),o(m?t(m):null)},[t,i]),[u,c]=It(l);return(0,x.useMemo)(()=>({nodeRef:u,rect:n,setRef:c}),[n,u,c])}var wl=[{sensor:at,options:{}},{sensor:En,options:{}}],Cl={current:{}},kn={draggable:{measure:Sa},droppable:{measure:Sa,strategy:Pt.WhileDragging,frequency:vr.Optimized},dragOverlay:{measure:it}},ot=class extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,o;return(n=(o=this.get(t))==null?void 0:o.node.current)!=null?n:void 0}},Sl={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ot,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Tn},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:kn,measureDroppableContainers:Tn,windowRect:null,measuringScheduled:!1},Ol={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:\"\"},dispatch:Tn,draggableNodes:new Map,over:null,measureDroppableContainers:Tn},Dn=(0,x.createContext)(Ol),Wa=(0,x.createContext)(Sl);function kl(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ot}}}function Tl(e,t){switch(t.type){case te.DragStart:return B(S({},e),{draggable:B(S({},e.draggable),{initialCoordinates:t.initialCoordinates,active:t.active})});case te.DragMove:return e.draggable.active==null?e:B(S({},e),{draggable:B(S({},e.draggable),{translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}})});case te.DragEnd:case te.DragCancel:return B(S({},e),{draggable:B(S({},e.draggable),{active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}})});case te.RegisterDroppable:{let{element:n}=t,{id:o}=n,a=new ot(e.droppable.containers);return a.set(o,n),B(S({},e),{droppable:B(S({},e.droppable),{containers:a})})}case te.SetDroppableDisabled:{let{id:n,key:o,disabled:a}=t,i=e.droppable.containers.get(n);if(!i||o!==i.key)return e;let l=new ot(e.droppable.containers);return l.set(n,B(S({},i),{disabled:a})),B(S({},e),{droppable:B(S({},e.droppable),{containers:l})})}case te.UnregisterDroppable:{let{id:n,key:o}=t,a=e.droppable.containers.get(n);if(!a||o!==a.key)return e;let i=new ot(e.droppable.containers);return i.delete(n),B(S({},e),{droppable:B(S({},e.droppable),{containers:i})})}default:return e}}function El(e){let{disabled:t}=e,{active:n,activatorEvent:o,draggableNodes:a}=(0,x.useContext)(Dn),i=On(o),l=On(n==null?void 0:n.id);return(0,x.useEffect)(()=>{if(!t&&!o&&i&&l!=null){if(!Nt(i)||document.activeElement===i.target)return;let u=a.get(l);if(!u)return;let{activatorNode:c,node:f}=u;if(!c.current&&!f.current)return;requestAnimationFrame(()=>{for(let m of[c.current,f.current]){if(!m)continue;let d=ya(m);if(d){d.focus();break}}})}},[o,t,a,l,i]),null}function Fl(e,t){let a=t,{transform:n}=a,o=Gn(a,[\"transform\"]);return e!=null&&e.length?e.reduce((i,l)=>l(S({transform:i},o)),n):n}function Il(e){return(0,x.useMemo)(()=>({draggable:S(S({},kn.draggable),e==null?void 0:e.draggable),droppable:S(S({},kn.droppable),e==null?void 0:e.droppable),dragOverlay:S(S({},kn.dragOverlay),e==null?void 0:e.dragOverlay)}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function Nl(e){let{activeNode:t,measure:n,initialRect:o,config:a=!0}=e,i=(0,x.useRef)(!1),{x:l,y:u}=typeof a==\"boolean\"?{x:a,y:a}:a;ye(()=>{if(!l&&!u||!t){i.current=!1;return}if(i.current||!o)return;let f=t==null?void 0:t.node.current;if(!f||f.isConnected===!1)return;let m=n(f),d=Pa(m,o);if(l||(d.x=0),u||(d.y=0),i.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){let g=La(f);g&&g.scrollBy({top:d.y,left:d.x})}},[t,l,u,o,n])}var Ga=(0,x.createContext)(B(S({},Te),{scaleX:1,scaleY:1})),Ue;(function(e){e[e.Uninitialized=0]=\"Uninitialized\",e[e.Initializing=1]=\"Initializing\",e[e.Initialized=2]=\"Initialized\"})(Ue||(Ue={}));var Cr=(0,x.memo)(function(t){var n,o,a,i;let O=t,{id:l,accessibility:u,autoScroll:c=!0,children:f,sensors:m=wl,collisionDetection:d=Ls,measuring:g,modifiers:p}=O,v=Gn(O,[\"id\",\"accessibility\",\"autoScroll\",\"children\",\"sensors\",\"collisionDetection\",\"measuring\",\"modifiers\"]),y=(0,x.useReducer)(Tl,void 0,kl),[k,E]=y,[w,F]=Ns(),[_,z]=(0,x.useState)(Ue.Uninitialized),H=_===Ue.Initialized,{draggable:{active:h,nodes:C,translate:L},droppable:{containers:M}}=k,D=h!=null?C.get(h):null,j=(0,x.useRef)({initial:null,translated:null}),ne=(0,x.useMemo)(()=>{var N;return h!=null?{id:h,data:(N=D==null?void 0:D.data)!=null?N:Cl,rect:j}:null},[h,D]),ie=(0,x.useRef)(null),[we,Ce]=(0,x.useState)(null),[J,Ee]=(0,x.useState)(null),ue=pt(v,Object.values(v)),T=Re(\"DndDescribedBy\",l),A=(0,x.useMemo)(()=>M.getEnabled(),[M]),$=Il(g),{droppableRects:U,measureDroppableContainers:me,measuringScheduled:Se}=dl(A,{dragging:H,dependencies:[L.x,L.y],config:$.droppable}),de=sl(C,h),Pe=(0,x.useMemo)(()=>J?Dt(J):null,[J]),Oe=b(),ge=ul(de,$.draggable.measure);Nl({activeNode:h!=null?C.get(h):null,config:Oe.layoutShiftCompensation,initialRect:ge,measure:$.draggable.measure});let q=Fa(de,$.draggable.measure,ge),We=Fa(de?de.parentElement:null),xe=(0,x.useRef)({activatorEvent:null,active:null,activeNode:de,collisionRect:null,collisions:null,droppableRects:U,draggableNodes:C,draggingNode:null,draggingNodeRect:null,droppableContainers:M,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Le=M.getNodeFor((n=xe.current.over)==null?void 0:n.id),ke=vl({measure:$.dragOverlay.measure}),Be=(o=ke.nodeRef.current)!=null?o:de,_e=H?(a=ke.rect)!=null?a:q:null,Ht=!!(ke.nodeRef.current&&ke.rect),jt=pl(Ht?null:q),yt=Ua(Be?pe(Be):null),Fe=ml(H?Le!=null?Le:de:null),lt=bl(Fe),dt=Fl(p,{transform:{x:L.x-jt.x,y:L.y-jt.y,scaleX:1,scaleY:1},activatorEvent:J,active:ne,activeNodeRect:q,containerNodeRect:We,draggingNodeRect:_e,over:xe.current.over,overlayNodeRect:ke.rect,scrollableAncestors:Fe,scrollableAncestorRects:lt,windowRect:yt}),Vt=Pe?et(Pe,L):null,Ut=gl(Fe),Bn=Na(Ut),$n=Na(Ut,[q]),$e=et(dt,Bn),ze=_e?zs(_e,dt):null,Ge=ne&&ze?d({active:ne,collisionRect:ze,droppableRects:U,droppableContainers:A,pointerCoordinates:Vt}):null,Wt=Ma(Ge,\"id\"),[Ie,Gt]=(0,x.useState)(null),zn=Ht?dt:et(dt,$n),qn=Bs(zn,(i=Ie==null?void 0:Ie.rect)!=null?i:null,q),vt=(0,x.useRef)(null),Yt=(0,x.useCallback)((N,P)=>{let{sensor:V,options:fe}=P;if(ie.current==null)return;let G=C.get(ie.current);if(!G)return;let se=N.nativeEvent,Ne=new V({active:ie.current,activeNode:G,event:se,options:fe,context:xe,onAbort(le){if(!C.get(le))return;let{onDragAbort:De}=ue.current,Me={id:le};De==null||De(Me),w({type:\"onDragAbort\",event:Me})},onPending(le,qe,De,Me){if(!C.get(le))return;let{onDragPending:Ct}=ue.current,He={id:le,constraint:qe,initialCoordinates:De,offset:Me};Ct==null||Ct(He),w({type:\"onDragPending\",event:He})},onStart(le){let qe=ie.current;if(qe==null)return;let De=C.get(qe);if(!De)return;let{onDragStart:Me}=ue.current,wt={activatorEvent:se,active:{id:qe,data:De.data,rect:j}};(0,nt.unstable_batchedUpdates)(()=>{Me==null||Me(wt),z(Ue.Initializing),E({type:te.DragStart,initialCoordinates:le,active:qe}),w({type:\"onDragStart\",event:wt}),Ce(vt.current),Ee(se)})},onMove(le){E({type:te.DragMove,coordinates:le})},onEnd:ut(te.DragEnd),onCancel:ut(te.DragCancel)});vt.current=Ne;function ut(le){return async function(){let{active:De,collisions:Me,over:wt,scrollAdjustedTranslate:Ct}=xe.current,He=null;if(De&&Ct){let{cancelDrop:St}=ue.current;He={activatorEvent:se,active:De,collisions:Me,delta:Ct,over:wt},le===te.DragEnd&&typeof St==\"function\"&&await Promise.resolve(St(He))&&(le=te.DragCancel)}ie.current=null,(0,nt.unstable_batchedUpdates)(()=>{E({type:le}),z(Ue.Uninitialized),Gt(null),Ce(null),Ee(null),vt.current=null;let St=le===te.DragEnd?\"onDragEnd\":\"onDragCancel\";if(He){let Un=ue.current[St];Un==null||Un(He),w({type:St,event:He})}})}}},[C]),Hn=(0,x.useCallback)((N,P)=>(V,fe)=>{let G=V.nativeEvent,se=C.get(fe);if(ie.current!==null||!se||G.dndKit||G.defaultPrevented)return;let Ne={active:se};N(V,P.options,Ne)===!0&&(G.dndKit={capturedBy:P.sensor},ie.current=fe,Yt(V,P))},[C,Yt]),ce=ll(m,Hn);xl(m),ye(()=>{q&&_===Ue.Initializing&&z(Ue.Initialized)},[q,_]),(0,x.useEffect)(()=>{let{onDragMove:N}=ue.current,{active:P,activatorEvent:V,collisions:fe,over:G}=xe.current;if(!P||!V)return;let se={active:P,activatorEvent:V,collisions:fe,delta:{x:$e.x,y:$e.y},over:G};(0,nt.unstable_batchedUpdates)(()=>{N==null||N(se),w({type:\"onDragMove\",event:se})})},[$e.x,$e.y]),(0,x.useEffect)(()=>{let{active:N,activatorEvent:P,collisions:V,droppableContainers:fe,scrollAdjustedTranslate:G}=xe.current;if(!N||ie.current==null||!P||!G)return;let{onDragOver:se}=ue.current,Ne=fe.get(Wt),ut=Ne&&Ne.rect.current?{id:Ne.id,rect:Ne.rect.current,data:Ne.data,disabled:Ne.disabled}:null,le={active:N,activatorEvent:P,collisions:V,delta:{x:G.x,y:G.y},over:ut};(0,nt.unstable_batchedUpdates)(()=>{Gt(ut),se==null||se(le),w({type:\"onDragOver\",event:le})})},[Wt]),ye(()=>{xe.current={activatorEvent:J,active:ne,activeNode:de,collisionRect:ze,collisions:Ge,droppableRects:U,draggableNodes:C,draggingNode:Be,draggingNodeRect:_e,droppableContainers:M,over:Ie,scrollableAncestors:Fe,scrollAdjustedTranslate:$e},j.current={initial:_e,translated:ze}},[ne,de,Ge,ze,C,Be,_e,U,M,Ie,Fe,$e]),ol(B(S({},Oe),{delta:L,draggingRect:ze,pointerCoordinates:Vt,scrollableAncestors:Fe,scrollableAncestorRects:lt}));let jn=(0,x.useMemo)(()=>({active:ne,activeNode:de,activeNodeRect:q,activatorEvent:J,collisions:Ge,containerNodeRect:We,dragOverlay:ke,draggableNodes:C,droppableContainers:M,droppableRects:U,over:Ie,measureDroppableContainers:me,scrollableAncestors:Fe,scrollableAncestorRects:lt,measuringConfiguration:$,measuringScheduled:Se,windowRect:yt}),[ne,de,q,J,Ge,We,ke,C,M,U,Ie,me,Fe,lt,$,Se,yt]),Vn=(0,x.useMemo)(()=>({activatorEvent:J,activators:ce,active:ne,activeNodeRect:q,ariaDescribedById:{draggable:T},dispatch:E,draggableNodes:C,over:Ie,measureDroppableContainers:me}),[J,ce,ne,q,E,T,C,Ie,me]);return x.default.createElement(_a.Provider,{value:F},x.default.createElement(Dn.Provider,{value:Vn},x.default.createElement(Wa.Provider,{value:jn},x.default.createElement(Ga.Provider,{value:qn},f)),x.default.createElement(El,{disabled:(u==null?void 0:u.restoreFocus)===!1})),x.default.createElement(_s,B(S({},u),{hiddenTextDescribedById:T})));function b(){let N=(we==null?void 0:we.autoScrollEnabled)===!1,P=typeof c==\"object\"?c.enabled===!1:c===!1,V=H&&!N&&!P;return typeof c==\"object\"?B(S({},c),{enabled:V}):{enabled:V}}}),Dl=(0,x.createContext)(null),Aa=\"button\",Al=\"Draggable\";function Ya(e){let{id:t,data:n,disabled:o=!1,attributes:a}=e,i=Re(Al),{activators:l,activatorEvent:u,active:c,activeNodeRect:f,ariaDescribedById:m,draggableNodes:d,over:g}=(0,x.useContext)(Dn),{role:p=Aa,roleDescription:v=\"draggable\",tabIndex:y=0}=a!=null?a:{},k=(c==null?void 0:c.id)===t,E=(0,x.useContext)(k?Ga:Dl),[w,F]=It(),[_,z]=It(),H=hl(l,t),h=pt(n);ye(()=>(d.set(t,{id:t,key:i,node:w,activatorNode:_,data:h}),()=>{let L=d.get(t);L&&L.key===i&&d.delete(t)}),[d,t]);let C=(0,x.useMemo)(()=>({role:p,tabIndex:y,\"aria-disabled\":o,\"aria-pressed\":k&&p===Aa?!0:void 0,\"aria-roledescription\":v,\"aria-describedby\":m.draggable}),[o,p,y,k,v,m.draggable]);return{active:c,activatorEvent:u,activeNodeRect:f,attributes:C,isDragging:k,listeners:o?void 0:H,node:w,over:g,setNodeRef:F,setActivatorNodeRef:z,transform:E}}function Ka(){return(0,x.useContext)(Wa)}var _l=\"Droppable\",Ml={timeout:25};function Xa(e){let{data:t,disabled:n=!1,id:o,resizeObserverConfig:a}=e,i=Re(_l),{active:l,dispatch:u,over:c,measureDroppableContainers:f}=(0,x.useContext)(Dn),m=(0,x.useRef)({disabled:n}),d=(0,x.useRef)(!1),g=(0,x.useRef)(null),p=(0,x.useRef)(null),{disabled:v,updateMeasurementsFor:y,timeout:k}=S(S({},Ml),a),E=pt(y!=null?y:o),w=(0,x.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{f(Array.isArray(E.current)?E.current:[E.current]),p.current=null},k)},[k]),F=Nn({callback:w,disabled:v||!l}),_=(0,x.useCallback)((C,L)=>{F&&(L&&(F.unobserve(L),d.current=!1),C&&F.observe(C))},[F]),[z,H]=It(_),h=pt(t);return(0,x.useEffect)(()=>{!F||!z.current||(F.disconnect(),d.current=!1,F.observe(z.current))},[z,F]),(0,x.useEffect)(()=>(u({type:te.RegisterDroppable,element:{id:o,key:i,disabled:n,node:z,rect:g,data:h}}),()=>u({type:te.UnregisterDroppable,key:i,id:o})),[o]),(0,x.useEffect)(()=>{n!==m.current.disabled&&(u({type:te.SetDroppableDisabled,id:o,key:i,disabled:n}),m.current.disabled=n)},[o,i,n,u]),{active:l,rect:g,isOver:(c==null?void 0:c.id)===o,node:z,over:c,setNodeRef:H}}var Sr=e=>{let{transform:t}=e;return B(S({},t),{x:0})};var ee=Y(Q());function Bt(e,t,n){let o=e.slice();return o.splice(n<0?o.length+n:n,0,o.splice(t,1)[0]),o}function Pl(e,t){return e.reduce((n,o,a)=>{let i=t.get(o);return i&&(n[a]=i),n},Array(e.length))}function An(e){return e!==null&&e>=0}function Ll(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Bl(e){return typeof e==\"boolean\"?{draggable:e,droppable:e}:e}var Za=e=>{let{rects:t,activeIndex:n,overIndex:o,index:a}=e,i=Bt(t,o,n),l=t[a],u=i[a];return!u||!l?null:{x:u.left-l.left,y:u.top-l.top,scaleX:u.width/l.width,scaleY:u.height/l.height}};var _n={scaleX:1,scaleY:1},Or=e=>{var t;let{activeIndex:n,activeNodeRect:o,index:a,rects:i,overIndex:l}=e,u=(t=i[n])!=null?t:o;if(!u)return null;if(a===n){let f=i[l];return f?S({x:0,y:n<l?f.top+f.height-(u.top+u.height):f.top-u.top},_n):null}let c=$l(i,a,n);return a>n&&a<=l?S({x:0,y:-u.height-c},_n):a<n&&a>=l?S({x:0,y:u.height+c},_n):S({x:0,y:0},_n)};function $l(e,t,n){let o=e[t],a=e[t-1],i=e[t+1];return o?n<t?a?o.top-(a.top+a.height):i?i.top-(o.top+o.height):0:i?i.top-(o.top+o.height):a?o.top-(a.top+a.height):0:0}var Ja=\"Sortable\",Qa=ee.default.createContext({activeIndex:-1,containerId:Ja,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Za,disabled:{draggable:!1,droppable:!1}});function kr(e){let{children:t,id:n,items:o,strategy:a=Za,disabled:i=!1}=e,{active:l,dragOverlay:u,droppableRects:c,over:f,measureDroppableContainers:m}=Ka(),d=Re(Ja,n),g=u.rect!==null,p=(0,ee.useMemo)(()=>o.map(H=>typeof H==\"object\"&&\"id\"in H?H.id:H),[o]),v=l!=null,y=l?p.indexOf(l.id):-1,k=f?p.indexOf(f.id):-1,E=(0,ee.useRef)(p),w=!Ll(p,E.current),F=k!==-1&&y===-1||w,_=Bl(i);ye(()=>{w&&v&&m(p)},[w,p,v,m]),(0,ee.useEffect)(()=>{E.current=p},[p]);let z=(0,ee.useMemo)(()=>({activeIndex:y,containerId:d,disabled:_,disableTransforms:F,items:p,overIndex:k,useDragOverlay:g,sortedRects:Pl(p,c),strategy:a}),[y,d,_.draggable,_.droppable,F,p,k,c,g,a]);return ee.default.createElement(Qa.Provider,{value:z},t)}var zl=e=>{let{id:t,items:n,activeIndex:o,overIndex:a}=e;return Bt(n,o,a).indexOf(t)},ql=e=>{let{containerId:t,isSorting:n,wasDragging:o,index:a,items:i,newIndex:l,previousItems:u,previousContainerId:c,transition:f}=e;return!f||!o||u!==i&&a===l?!1:n?!0:l!==a&&t===c},Hl={duration:200,easing:\"ease\"},Ra=\"transform\",jl=Ve.Transition.toString({property:Ra,duration:0,easing:\"linear\"}),Vl={roleDescription:\"sortable\"};function Ul(e){let{disabled:t,index:n,node:o,rect:a}=e,[i,l]=(0,ee.useState)(null),u=(0,ee.useRef)(n);return ye(()=>{if(!t&&n!==u.current&&o.current){let c=a.current;if(c){let f=it(o.current,{ignoreTransform:!0}),m={x:c.left-f.left,y:c.top-f.top,scaleX:c.width/f.width,scaleY:c.height/f.height};(m.x||m.y)&&l(m)}}n!==u.current&&(u.current=n)},[t,n,o,a]),(0,ee.useEffect)(()=>{i&&l(null)},[i]),i}function Tr(e){let{animateLayoutChanges:t=ql,attributes:n,disabled:o,data:a,getNewIndex:i=zl,id:l,strategy:u,resizeObserverConfig:c,transition:f=Hl}=e,{items:m,containerId:d,activeIndex:g,disabled:p,disableTransforms:v,sortedRects:y,overIndex:k,useDragOverlay:E,strategy:w}=(0,ee.useContext)(Qa),F=Wl(o,p),_=m.indexOf(l),z=(0,ee.useMemo)(()=>S({sortable:{containerId:d,index:_,items:m}},a),[d,a,_,m]),H=(0,ee.useMemo)(()=>m.slice(m.indexOf(l)),[m,l]),{rect:h,node:C,isOver:L,setNodeRef:M}=Xa({id:l,data:z,disabled:F.droppable,resizeObserverConfig:S({updateMeasurementsFor:H},c)}),{active:D,activatorEvent:j,activeNodeRect:ne,attributes:ie,setNodeRef:we,listeners:Ce,isDragging:J,over:Ee,setActivatorNodeRef:ue,transform:T}=Ya({id:l,data:z,attributes:S(S({},Vl),n),disabled:F.draggable}),A=xa(M,we),$=!!D,U=$&&!v&&An(g)&&An(k),me=!E&&J,Se=me&&U?T:null,de=u!=null?u:w,Pe=U?Se!=null?Se:de({rects:y,activeNodeRect:ne,activeIndex:g,overIndex:k,index:_}):null,Oe=An(g)&&An(k)?i({id:l,items:m,activeIndex:g,overIndex:k}):_,ge=D==null?void 0:D.id,q=(0,ee.useRef)({activeId:ge,items:m,newIndex:Oe,containerId:d}),We=m!==q.current.items,xe=t({active:D,containerId:d,isDragging:J,isSorting:$,id:l,index:_,items:m,newIndex:q.current.newIndex,previousItems:q.current.items,previousContainerId:q.current.containerId,transition:f,wasDragging:q.current.activeId!=null}),Le=Ul({disabled:!xe,index:_,node:C,rect:h});return(0,ee.useEffect)(()=>{$&&q.current.newIndex!==Oe&&(q.current.newIndex=Oe),d!==q.current.containerId&&(q.current.containerId=d),m!==q.current.items&&(q.current.items=m)},[$,Oe,d,m]),(0,ee.useEffect)(()=>{if(ge===q.current.activeId)return;if(ge!=null&&q.current.activeId==null){q.current.activeId=ge;return}let Be=setTimeout(()=>{q.current.activeId=ge},50);return()=>clearTimeout(Be)},[ge]),{active:D,activeIndex:g,attributes:ie,data:z,rect:h,index:_,newIndex:Oe,items:m,isOver:L,isSorting:$,isDragging:J,listeners:Ce,node:C,overIndex:k,over:Ee,setNodeRef:A,setActivatorNodeRef:ue,setDroppableNodeRef:M,setDraggableNodeRef:we,transform:Le!=null?Le:Pe,transition:ke()};function ke(){if(Le||We&&q.current.newIndex===_)return jl;if(!(me&&!Nt(j)||!f)&&($||xe))return Ve.Transition.toString(B(S({},f),{property:Ra}))}}function Wl(e,t){var n,o;return typeof e==\"boolean\"?{draggable:e,droppable:!1}:{draggable:(n=e==null?void 0:e.draggable)!=null?n:t.draggable,droppable:(o=e==null?void 0:e.droppable)!=null?o:t.droppable}}var Lf=[W.Down,W.Right,W.Up,W.Left];if(typeof window<\"u\"){let e=document.createElement(\"style\");e.textContent=\".container {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex: 1;\\n width: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n background: #F2F2F7;\\n}\\n.qrcode-card {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n max-width: 360px;\\n margin: 0 auto;\\n padding: 24px 20px;\\n}\\n.qrcode-wrapper {\\n position: relative;\\n cursor: pointer;\\n margin-bottom: 24px;\\n display: flex;\\n justify-content: center;\\n}\\n.qrcode-wrapper:hover .qrcode-glow {\\n opacity: 0.4;\\n}\\n.qrcode-glow {\\n position: absolute;\\n inset: -4px;\\n background: linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%);\\n border-radius: 24px;\\n filter: blur(12px);\\n opacity: 0.2;\\n transition: opacity 0.3s ease;\\n z-index: 0;\\n}\\n.qrcode-container {\\n position: relative;\\n background: #fff;\\n padding: 16px;\\n border-radius: 20px;\\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\\n border: 1px solid rgba(0, 0, 0, 0.05);\\n z-index: 1;\\n}\\n.qrcode-image {\\n width: 160px;\\n height: 160px;\\n border-radius: 12px;\\n object-fit: cover;\\n transition: opacity 0.3s ease;\\n}\\n.qrcode-image--loading {\\n opacity: 0.3;\\n}\\n.qrcode-overlay {\\n position: absolute;\\n inset: 0;\\n background: rgba(255, 255, 255, 0.95);\\n backdrop-filter: blur(4px);\\n border-radius: 20px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n gap: 12px;\\n z-index: 10;\\n}\\n.qrcode-overlay span {\\n font-size: 12px;\\n font-weight: 500;\\n color: #8E8E93;\\n letter-spacing: 0.5px;\\n}\\n.qrcode-spinner {\\n width: 32px;\\n height: 32px;\\n border: 2px solid rgba(59, 130, 246, 0.2);\\n border-top-color: #3b82f6;\\n border-radius: 50%;\\n animation: spin 0.8s linear infinite;\\n}\\n@keyframes spin {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n.qrcode-status {\\n position: absolute;\\n bottom: -14px;\\n left: 50%;\\n transform: translateX(-50%);\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n padding: 4px 12px;\\n background: rgba(255, 255, 255, 0.95);\\n backdrop-filter: blur(8px);\\n border-radius: 12px;\\n border: 1px solid rgba(0, 0, 0, 0.05);\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\\n z-index: 20;\\n white-space: nowrap;\\n}\\n.status-dot {\\n width: 6px;\\n height: 6px;\\n border-radius: 50%;\\n flex-shrink: 0;\\n transition: background-color 0.3s ease;\\n}\\n.status-dot--pulse {\\n animation: pulse 1.5s ease-in-out infinite;\\n}\\n@keyframes pulse {\\n 0%,\\n 100% {\\n opacity: 1;\\n }\\n 50% {\\n opacity: 0.5;\\n }\\n}\\n.status-text {\\n font-size: 10px;\\n font-weight: 600;\\n color: #8E8E93;\\n text-transform: uppercase;\\n letter-spacing: 0.5px;\\n white-space: nowrap;\\n}\\n.cookie-result-wrapper {\\n width: 100%;\\n margin-bottom: 20px;\\n}\\n.cookie-result {\\n width: 100%;\\n height: 120px;\\n padding: 14px;\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 16px;\\n font-size: 12px;\\n font-family: 'SF Mono', Monaco, 'Courier New', monospace;\\n color: #1C1C1E;\\n resize: none;\\n outline: none;\\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04);\\n transition: background-color 0.2s ease, box-shadow 0.2s ease;\\n box-sizing: border-box;\\n}\\n.cookie-result::placeholder {\\n color: #8E8E93;\\n}\\n.cookie-result:focus {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04), 0 0 0 2px rgba(59, 130, 246, 0.2);\\n}\\n.action-buttons {\\n display: grid;\\n grid-template-columns: 1fr 1fr;\\n gap: 12px;\\n width: 100%;\\n}\\n.action-btn {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n gap: 8px;\\n padding: 14px 20px;\\n border-radius: 16px;\\n font-size: 14px;\\n font-weight: 600;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n border: none;\\n outline: none;\\n}\\n.action-btn:active {\\n transform: scale(0.98);\\n}\\n.action-btn--primary {\\n background: #1C1C1E;\\n color: #fff;\\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\\n}\\n.action-btn--primary:hover {\\n background: #2C2C2E;\\n}\\n.action-btn--secondary {\\n background: #fff;\\n color: #1C1C1E;\\n border: 1px solid rgba(0, 0, 0, 0.08);\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\\n}\\n.action-btn--secondary:hover {\\n background: #F9F9F9;\\n}\\n.btn-icon {\\n display: block;\\n flex-shrink: 0;\\n width: 16px;\\n height: 16px;\\n opacity: 0.7;\\n}\\n.btn-icon--login {\\n transform: translateY(1px);\\n}\\n.dynamic-delete-button {\\n position: relative;\\n top: 2px;\\n margin: 0 8px;\\n color: #555;\\n font-size: 18px;\\n cursor: pointer;\\n transition: all 0.3s;\\n}\\n.dynamic-delete-button:hover {\\n color: #777;\\n}\\n.dynamic-delete-button[disabled] {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.domain-edit-modal {\\n --domain-action-size: 32px;\\n --domain-action-gap: 8px;\\n --domain-action-total: calc(var(--domain-action-size) + var(--domain-action-gap));\\n --domain-row-gap: 12px;\\n --domain-label-width: 72px;\\n}\\n.domain-edit-modal .ant-form-horizontal .ant-form-item-label {\\n flex: 0 0 var(--domain-label-width) !important;\\n max-width: var(--domain-label-width) !important;\\n padding-left: 8px;\\n padding-right: 12px;\\n padding-bottom: 0 !important;\\n display: flex !important;\\n align-items: center !important;\\n height: 32px !important;\\n text-align: right;\\n}\\n.domain-edit-modal .ant-form-horizontal .ant-form-item-label > label {\\n height: 32px !important;\\n line-height: 32px !important;\\n}\\n.domain-edit-modal .ant-form-horizontal .ant-form-item-control {\\n flex: 1 1 auto !important;\\n max-width: calc(100% - var(--domain-label-width)) !important;\\n min-width: 0;\\n}\\n.domain-edit-modal .domain-edit-aligned-input {\\n width: calc(100% - var(--domain-action-total));\\n}\\n.domain-edit-modal .domain-edit-full-input {\\n width: 100%;\\n}\\n.domain-edit-modal .domain-edit-add-button {\\n width: calc(100% - var(--domain-action-total));\\n}\\n.domain-edit-modal .ant-form-item {\\n margin-bottom: var(--domain-row-gap);\\n}\\n.domain-edit-modal .ant-form-item:last-child {\\n margin-bottom: 0;\\n}\\n.domain-list-row {\\n display: flex;\\n align-items: center;\\n gap: var(--domain-action-gap, 8px);\\n width: 100%;\\n}\\n.domain-list-input {\\n flex: 1;\\n min-width: 0;\\n}\\n.domain-list-action {\\n width: var(--domain-action-size, 32px);\\n flex: 0 0 var(--domain-action-size, 32px);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.domain-list-action--placeholder {\\n visibility: hidden;\\n}\\n.domain-list-row .dynamic-delete-button {\\n margin: 0;\\n}\\n.sites-table .ant-table-tbody > tr > td {\\n padding: 8px 16px;\\n}\\n.sites-table .ant-table-thead > tr > th {\\n white-space: nowrap;\\n}\\n.sites-list-toolbar {\\n display: flex;\\n justify-content: flex-end;\\n margin: -2px 0 12px;\\n}\\n.sites-list-toolbar .sites-add-button {\\n min-width: 78px;\\n height: 36px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 16px;\\n font-weight: 600;\\n box-shadow: 0 8px 18px rgba(28, 28, 30, 0.12);\\n}\\n.site-add-menu {\\n min-width: 190px;\\n padding: 8px;\\n border-radius: 20px;\\n background: rgba(255, 255, 255, 0.86);\\n backdrop-filter: blur(28px);\\n border: 1px solid rgba(255, 255, 255, 0.45);\\n box-shadow: 0 22px 44px rgba(28, 28, 30, 0.16), 0 1px 0 rgba(255, 255, 255, 0.7) inset;\\n}\\n.site-add-type-item {\\n width: 100%;\\n min-height: 56px;\\n display: flex;\\n align-items: center;\\n gap: 12px;\\n padding: 8px 10px;\\n border: 0;\\n border-radius: 14px;\\n background: transparent;\\n color: #1C1C1E;\\n font-size: 15px;\\n font-weight: 600;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n}\\n.site-add-type-item:hover:not(:disabled) {\\n background: rgba(52, 199, 89, 0.1);\\n}\\n.site-add-type-item:disabled {\\n cursor: not-allowed;\\n opacity: 0.65;\\n}\\n.site-add-type-item__icon {\\n width: 36px;\\n height: 36px;\\n flex: 0 0 36px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n border-radius: 10px;\\n background: #fff;\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n}\\n.site-add-type-item__icon img {\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n}\\n.site-add-type-item__icon svg {\\n font-size: 18px;\\n color: #34C759;\\n}\\n.site-add-type-item__name {\\n flex: 1;\\n min-width: 0;\\n overflow: hidden;\\n text-align: left;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.subscription-page {\\n display: flex;\\n flex-direction: column;\\n gap: 24px;\\n}\\n.subscription-section {\\n max-width: 720px;\\n}\\n.subscription-setting-modal .ios-form {\\n max-width: none !important;\\n}\\n.subscription-endpoints {\\n display: flex;\\n flex-direction: column;\\n gap: 10px;\\n}\\n.subscription-endpoint {\\n display: flex;\\n align-items: center;\\n gap: 10px;\\n min-height: 64px;\\n padding: 12px 10px 12px 14px;\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n border-radius: 14px;\\n background: rgba(255, 255, 255, 0.72);\\n}\\n.subscription-endpoint__main {\\n flex: 1;\\n min-width: 0;\\n}\\n.subscription-endpoint__title {\\n display: flex;\\n align-items: center;\\n gap: 8px;\\n margin-bottom: 6px;\\n color: #1C1C1E;\\n font-size: 14px;\\n font-weight: 700;\\n}\\n.subscription-endpoint__url {\\n overflow: hidden;\\n color: #6B7280;\\n font-family: 'SF Mono', Monaco, 'Courier New', monospace;\\n font-size: 12px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.subscription-endpoint__actions {\\n display: flex;\\n flex: 0 0 auto;\\n gap: 2px;\\n}\\n.subscription-endpoint__actions .ant-btn {\\n width: 34px;\\n height: 34px;\\n border-radius: 12px;\\n color: #1C1C1E;\\n}\\n.subscription-endpoint__actions .ant-btn:hover {\\n background: rgba(0, 0, 0, 0.04) !important;\\n}\\n.subscription-endpoint__actions .ant-btn:focus,\\n.subscription-endpoint__actions .ant-btn:focus-visible {\\n background: transparent !important;\\n}\\n.subscription-endpoint__actions .ant-btn:focus-visible {\\n outline: 2px solid rgba(28, 28, 30, 0.22);\\n outline-offset: 2px;\\n}\\n.subscription-endpoint__actions .ant-btn:active {\\n background: rgba(0, 0, 0, 0.06) !important;\\n}\\n.main-card {\\n min-height: auto;\\n max-height: calc(100vh - 100px);\\n width: 100%;\\n max-width: 420px;\\n overflow: auto;\\n background: rgba(255, 255, 255, 0.65);\\n backdrop-filter: blur(50px);\\n border-radius: 32px;\\n box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(255, 255, 255, 0.5) inset, 0 0 0 1px rgba(0, 0, 0, 0.03);\\n border: 1px solid rgba(255, 255, 255, 0.2);\\n animation: fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;\\n}\\n.main-card .ant-card-body {\\n padding: 24px 16px;\\n}\\n.main-card .ant-tabs-nav {\\n margin-bottom: 16px;\\n}\\n.main-card .ant-tabs-nav::before {\\n display: none;\\n}\\n.main-card .ant-tabs-nav-list {\\n display: flex;\\n flex-wrap: wrap;\\n gap: 6px;\\n padding: 6px;\\n background: rgba(118, 118, 128, 0.1);\\n border-radius: 14px;\\n width: 100%;\\n justify-content: center;\\n}\\n.main-card .ant-tabs-tab {\\n flex: 1;\\n min-width: 0;\\n margin: 0 !important;\\n padding: 8px 12px !important;\\n border-radius: 10px;\\n font-size: 13px;\\n font-weight: 500;\\n color: #8E8E93;\\n background: transparent;\\n transition: all 0.3s ease;\\n justify-content: center;\\n}\\n.main-card .ant-tabs-tab:hover {\\n color: #1C1C1E;\\n}\\n.main-card .ant-tabs-tab.ant-tabs-tab-active {\\n background: #fff;\\n color: #1C1C1E;\\n box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.12), 0 1px 1px rgba(0, 0, 0, 0.05);\\n}\\n.main-card .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\\n color: #1C1C1E;\\n}\\n.main-card .ant-tabs-ink-bar {\\n display: none;\\n}\\n.main-card .account-tabs {\\n width: 100%;\\n}\\n.main-card .account-tabs__nav-scroll {\\n width: 100%;\\n max-width: 100%;\\n margin-bottom: 16px;\\n padding: 6px;\\n overflow-x: auto !important;\\n overflow-y: hidden;\\n background: rgba(118, 118, 128, 0.1);\\n border-radius: 14px;\\n box-sizing: border-box;\\n cursor: grab;\\n overscroll-behavior-x: contain;\\n scrollbar-width: none;\\n touch-action: pan-x;\\n -ms-overflow-style: none;\\n -webkit-overflow-scrolling: touch;\\n}\\n.main-card .account-tabs__nav-scroll::-webkit-scrollbar {\\n display: none;\\n}\\n.main-card .account-tabs__nav-scroll.is-dragging {\\n cursor: grabbing;\\n user-select: none;\\n}\\n.main-card .account-tabs__nav-list {\\n display: flex;\\n flex-wrap: nowrap;\\n gap: 4px;\\n width: max-content;\\n min-width: 100%;\\n justify-content: flex-start;\\n}\\n.main-card .account-tabs__tab {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n flex: 0 0 auto;\\n min-width: 44px;\\n min-height: 34px;\\n margin: 0;\\n padding: 8px 12px;\\n border: 0;\\n border-radius: 10px;\\n background: transparent;\\n color: #8E8E93;\\n font-size: 13px;\\n font-weight: 500;\\n line-height: 1;\\n white-space: nowrap;\\n cursor: pointer;\\n transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;\\n appearance: none;\\n}\\n.main-card .account-tabs__tab:hover {\\n color: #1C1C1E;\\n}\\n.main-card .account-tabs__tab--active {\\n background: #fff;\\n color: #1C1C1E;\\n box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.12), 0 1px 1px rgba(0, 0, 0, 0.05);\\n}\\n.main-card .account-tabs__panel {\\n width: 100%;\\n}\\n@keyframes fadeInUp {\\n from {\\n opacity: 0;\\n transform: translateY(16px);\\n }\\n to {\\n opacity: 1;\\n transform: translateY(0);\\n }\\n}\\n.app-layout {\\n display: flex;\\n flex-direction: column;\\n min-height: 100vh;\\n width: 100%;\\n background: #F2F2F7;\\n}\\n.top-nav-bar {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n padding: 12px 16px;\\n background: transparent;\\n box-sizing: border-box;\\n}\\n.nav-pill {\\n display: flex;\\n align-items: center;\\n gap: 4px;\\n padding: 4px;\\n background: rgba(255, 255, 255, 0.65);\\n backdrop-filter: blur(20px);\\n border-radius: 20px;\\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(255, 255, 255, 0.5) inset, 0 0 0 1px rgba(0, 0, 0, 0.03);\\n}\\n.nav-tab {\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n padding: 8px 16px;\\n border-radius: 16px;\\n cursor: pointer;\\n font-size: 13px;\\n font-weight: 500;\\n color: #8E8E93;\\n background: transparent;\\n border: none;\\n transition: all 0.3s ease;\\n}\\n.nav-tab:hover {\\n color: #1C1C1E;\\n}\\n.nav-tab--active {\\n color: #1C1C1E;\\n background: #fff;\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\\n}\\n.nav-tab--active:hover {\\n background: #fff;\\n color: #1C1C1E;\\n}\\n.nav-tab .anticon {\\n font-size: 14px;\\n}\\n.nav-divider {\\n width: 1px;\\n height: 20px;\\n background: rgba(0, 0, 0, 0.1);\\n margin: 0 4px;\\n}\\n.nav-actions {\\n display: flex;\\n align-items: center;\\n gap: 2px;\\n}\\n.nav-actions .ant-btn {\\n color: #8E8E93;\\n font-size: 12px;\\n font-weight: 500;\\n padding: 6px 12px;\\n height: auto;\\n border-radius: 12px;\\n}\\n.nav-actions .ant-btn:hover {\\n color: #1C1C1E;\\n background: rgba(0, 0, 0, 0.04);\\n}\\n.drag-handle {\\n cursor: grab;\\n color: #999;\\n font-size: 18px;\\n padding: 8px;\\n touch-action: none;\\n}\\n.drag-handle:active {\\n cursor: grabbing;\\n}\\n.pansou-config-modal {\\n max-width: 420px;\\n}\\n.pansou-config-modal .ant-modal-body {\\n padding: 16px 24px;\\n}\\n.pansou-config-tabs {\\n margin-bottom: 16px;\\n}\\n.pansou-config-tabs__nav-scroll {\\n width: 100%;\\n max-width: 100%;\\n padding: 6px;\\n overflow-x: auto !important;\\n overflow-y: hidden;\\n background: rgba(118, 118, 128, 0.1);\\n border-radius: 14px;\\n box-sizing: border-box;\\n cursor: grab;\\n overscroll-behavior-x: contain;\\n scrollbar-width: none;\\n touch-action: pan-x;\\n -ms-overflow-style: none;\\n -webkit-overflow-scrolling: touch;\\n}\\n.pansou-config-tabs__nav-scroll::-webkit-scrollbar {\\n display: none;\\n}\\n.pansou-config-tabs__nav-scroll.is-dragging {\\n cursor: grabbing;\\n user-select: none;\\n}\\n.pansou-config-tabs__nav-list {\\n display: flex;\\n flex-wrap: nowrap;\\n gap: 4px;\\n width: max-content;\\n min-width: 100%;\\n justify-content: flex-start;\\n}\\n.pansou-config-tabs__tab {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n gap: 8px;\\n flex: 0 0 auto;\\n margin: 0;\\n padding: 8px 12px;\\n border: 0;\\n border-radius: 10px;\\n font-size: 13px;\\n font-weight: 500;\\n color: #8E8E93;\\n background: transparent;\\n outline: none;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n}\\n.pansou-config-tabs__tab:hover {\\n color: #1C1C1E;\\n}\\n.pansou-config-tabs__tab--active {\\n background: rgba(118, 118, 128, 0.12);\\n color: #1C1C1E;\\n}\\n.pansou-config-tabs__badge {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n min-width: 22px;\\n height: 16px;\\n padding: 0 6px;\\n border-radius: 999px;\\n font-size: 11px;\\n line-height: 16px;\\n font-weight: 600;\\n color: #fff;\\n background: #1C1C1E;\\n}\\n.pansou-checkbox-section {\\n min-height: 200px;\\n max-height: 400px;\\n overflow-y: auto;\\n}\\n.pansou-checkbox-header {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-bottom: 12px;\\n padding: 0 4px;\\n color: #8E8E93;\\n font-size: 13px;\\n}\\n.pansou-checkbox-header .ant-btn-link {\\n color: #1C1C1E;\\n font-weight: 500;\\n padding: 4px 8px;\\n height: auto;\\n}\\n.pansou-checkbox-header .ant-btn-link:hover,\\n.pansou-checkbox-header .ant-btn-link:focus,\\n.pansou-checkbox-header .ant-btn-link:active {\\n color: #3C3C3E;\\n background: rgba(0, 0, 0, 0.04);\\n}\\n.pansou-add-channel {\\n display: flex;\\n gap: 8px;\\n margin-bottom: 12px;\\n}\\n.pansou-checkbox-grid {\\n display: grid;\\n grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\\n gap: 8px;\\n}\\n.pansou-checkbox-card {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 10px 14px;\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n border-radius: 10px;\\n cursor: pointer;\\n transition: all 0.2s;\\n background: #fff;\\n}\\n.pansou-checkbox-card:hover {\\n border-color: rgba(0, 0, 0, 0.12);\\n background: #F9F9F9;\\n}\\n.pansou-checkbox-card--selected {\\n border-color: #1C1C1E;\\n background: rgba(28, 28, 30, 0.04);\\n}\\n.pansou-checkbox-card--selected .pansou-checkbox-card__check {\\n color: #1C1C1E;\\n}\\n.pansou-checkbox-card__label {\\n flex: 1;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n font-size: 13px;\\n}\\n.pansou-checkbox-card__delete {\\n flex-shrink: 0;\\n color: #8E8E93;\\n font-size: 14px;\\n margin-left: 6px;\\n transition: color 0.2s;\\n}\\n.pansou-checkbox-card__delete:hover {\\n color: #ef4444;\\n}\\n.pansou-empty-tip {\\n text-align: center;\\n color: #8E8E93;\\n padding: 40px 0;\\n font-size: 13px;\\n}\\n.pansou-config-footer {\\n margin-top: 16px;\\n padding-top: 16px;\\n border-top: 1px solid rgba(0, 0, 0, 0.06);\\n}\\n.emby-server-manager {\\n display: flex;\\n flex-direction: column;\\n gap: 14px;\\n}\\n.emby-server-toolbar {\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n gap: 12px;\\n padding: 4px 0 2px;\\n}\\n.emby-server-toolbar__main {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n gap: 12px;\\n}\\n.emby-server-toolbar .ant-btn {\\n height: 36px;\\n display: inline-flex;\\n align-items: center;\\n border-radius: 16px;\\n font-weight: 600;\\n box-shadow: 0 8px 18px rgba(28, 28, 30, 0.12);\\n}\\n.emby-server-title {\\n color: #1C1C1E;\\n font-size: 17px;\\n font-weight: 700;\\n line-height: 1.2;\\n}\\n.emby-server-subtitle {\\n color: #8E8E93;\\n font-size: 12px;\\n line-height: 1.4;\\n}\\n.emby-empty-card {\\n width: 100%;\\n min-height: 116px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n gap: 10px;\\n border: 1px dashed rgba(28, 28, 30, 0.2);\\n border-radius: 18px;\\n background: rgba(255, 255, 255, 0.55);\\n color: #1C1C1E;\\n font-size: 14px;\\n font-weight: 600;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n}\\n.emby-empty-card .anticon {\\n width: 36px;\\n height: 36px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 50%;\\n background: rgba(52, 199, 89, 0.14);\\n color: #22c55e;\\n font-size: 17px;\\n}\\n.emby-empty-card:hover {\\n background: rgba(255, 255, 255, 0.75);\\n border-color: rgba(28, 28, 30, 0.35);\\n}\\n.emby-server-grid {\\n display: grid;\\n grid-template-columns: 1fr;\\n gap: 10px;\\n}\\n.emby-server-card {\\n position: relative;\\n overflow: hidden;\\n display: flex;\\n align-items: center;\\n gap: 12px;\\n min-height: 82px;\\n padding: 12px 14px;\\n border-radius: 12px;\\n background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(242, 247, 245, 0.9));\\n box-shadow: 0 10px 22px rgba(28, 28, 30, 0.06);\\n border: 1px solid rgba(255, 255, 255, 0.62);\\n}\\n.emby-server-card__hero {\\n display: flex;\\n align-items: center;\\n flex: 0 0 auto;\\n}\\n.emby-server-card__logo {\\n width: 48px;\\n height: 48px;\\n flex: 0 0 48px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n border-radius: 12px;\\n background: rgba(255, 255, 255, 0.92);\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n}\\n.emby-server-card__logo img {\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n}\\n.emby-server-card__content {\\n min-width: 0;\\n flex: 1;\\n}\\n.emby-server-card__name {\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n min-width: 0;\\n color: #111;\\n font-size: 15px;\\n font-weight: 700;\\n line-height: 1.3;\\n}\\n.emby-server-card__name span {\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.emby-server-card__name .anticon {\\n flex: 0 0 auto;\\n color: #22c55e;\\n font-size: 12px;\\n}\\n.emby-server-card__stats {\\n display: flex;\\n flex-wrap: nowrap;\\n gap: 10px;\\n margin-top: 7px;\\n color: #6b7280;\\n font-size: 12px;\\n line-height: 1.35;\\n}\\n.emby-server-card__stats .emby-server-card__stat,\\n.emby-server-card__stats .emby-server-card__sync {\\n min-width: 0;\\n display: flex;\\n align-items: center;\\n gap: 4px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.emby-server-card__stats .emby-server-card__stat {\\n flex: 0 1 auto;\\n max-width: 72px;\\n}\\n.emby-server-card__stats .emby-server-card__stat span {\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.emby-server-card__stats .emby-server-card__sync {\\n color: #8e8e93;\\n}\\n.emby-server-card__stats .emby-server-card__stat-icon {\\n width: 17px;\\n height: 17px;\\n flex: 0 0 auto;\\n color: #8e8e93;\\n fill: currentColor;\\n}\\n.emby-server-card__stats .emby-server-card__stat-icon--series {\\n width: 18px;\\n height: 18px;\\n fill: none;\\n stroke: currentColor;\\n stroke-width: 1.5;\\n stroke-linecap: round;\\n stroke-linejoin: round;\\n}\\n.emby-server-card__actions {\\n flex: 0 0 auto;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: center;\\n gap: 4px;\\n}\\n.emby-server-card__actions .ant-btn {\\n width: 30px;\\n height: 30px;\\n padding: 0;\\n border-radius: 10px;\\n}\\n.emby-server-edit-modal .ant-modal-body {\\n padding-top: 18px;\\n}\\n.emby-server-edit-actions {\\n justify-content: space-between;\\n}\\n.emby-server-edit-actions--new {\\n justify-content: flex-end;\\n}\\n.emby-logo-preview {\\n display: flex;\\n align-items: center;\\n gap: 10px;\\n margin: -4px 0 16px;\\n color: #8e8e93;\\n font-size: 12px;\\n}\\n.emby-logo-preview img {\\n width: 38px;\\n height: 38px;\\n border-radius: 10px;\\n object-fit: cover;\\n background: #fff;\\n border: 1px solid rgba(0, 0, 0, 0.08);\\n}\\n.ant-input,\\n.ant-input-password .ant-input,\\n.ant-input-number,\\n.ant-input-number-input {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n font-size: 14px;\\n}\\n.ant-input:focus,\\n.ant-input-password .ant-input:focus,\\n.ant-input-number:focus,\\n.ant-input-number-input:focus,\\n.ant-input:hover,\\n.ant-input-password .ant-input:hover,\\n.ant-input-number:hover,\\n.ant-input-number-input:hover,\\n.ant-input.ant-input-focused,\\n.ant-input-password .ant-input.ant-input-focused,\\n.ant-input-number.ant-input-focused,\\n.ant-input-number-input.ant-input-focused {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent;\\n}\\n.ant-input {\\n padding: 10px 14px;\\n}\\n.ant-input-affix-wrapper {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n padding: 6px 14px;\\n}\\n.ant-input-affix-wrapper:focus,\\n.ant-input-affix-wrapper:hover,\\n.ant-input-affix-wrapper.ant-input-affix-wrapper-focused {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent !important;\\n}\\n.ant-input-affix-wrapper .ant-input {\\n background: transparent;\\n padding: 4px 0;\\n box-shadow: none;\\n}\\n.ant-input-affix-wrapper .ant-input:focus,\\n.ant-input-affix-wrapper .ant-input:hover {\\n box-shadow: none;\\n}\\n.ant-input-number {\\n width: 100%;\\n padding: 0;\\n}\\n.ant-input-number .ant-input-number-input {\\n padding: 10px 14px;\\n height: auto;\\n}\\n.ant-input-number:focus,\\n.ant-input-number:hover,\\n.ant-input-number.ant-input-number-focused {\\n border-color: transparent !important;\\n}\\n.ant-input-number-group-addon {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 0 12px 12px 0;\\n color: #8E8E93;\\n font-size: 13px;\\n padding: 0 14px;\\n min-width: 50px;\\n text-align: center;\\n}\\n.ant-input-number-group .ant-input-number {\\n border-radius: 12px 0 0 12px;\\n}\\n.ios-form .ant-form-item {\\n margin-bottom: 16px;\\n}\\n.ios-form .ant-form-item-label > label {\\n color: #8E8E93;\\n font-size: 13px;\\n font-weight: 500;\\n}\\n.ios-button-group {\\n display: flex;\\n gap: 12px;\\n margin-top: 20px;\\n}\\n.action-btn--danger {\\n background: #fff;\\n color: #ef4444;\\n border: 1px solid rgba(239, 68, 68, 0.3);\\n}\\n.action-btn--danger:hover {\\n background: rgba(239, 68, 68, 0.05);\\n}\\n.ios-modal {\\n max-width: 420px;\\n}\\n.ios-modal .ant-modal-content {\\n background: rgba(255, 255, 255, 0.9);\\n backdrop-filter: blur(30px);\\n border-radius: 24px;\\n box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.15);\\n border: 1px solid rgba(255, 255, 255, 0.3);\\n}\\n.ios-modal .ant-modal-header {\\n background: transparent;\\n border-bottom: 1px solid rgba(0, 0, 0, 0.06);\\n padding: 20px 24px;\\n border-radius: 24px 24px 0 0;\\n}\\n.ios-modal .ant-modal-title {\\n font-size: 17px;\\n font-weight: 600;\\n color: #1C1C1E;\\n}\\n.ios-modal .ant-modal-body {\\n padding: 20px 24px;\\n}\\n.ios-modal .ant-modal-footer {\\n border-top: 1px solid rgba(0, 0, 0, 0.06);\\n padding: 16px 24px;\\n}\\n.ios-modal .ant-modal-close {\\n top: 16px;\\n right: 16px;\\n}\\n.ios-modal .ant-modal-close .ant-modal-close-x {\\n color: #8E8E93;\\n}\\n.ios-modal .ant-modal-close .ant-modal-close-x:hover {\\n color: #1C1C1E;\\n}\\n.ant-message .ant-message-notice-content {\\n background: rgba(255, 255, 255, 0.85);\\n backdrop-filter: blur(20px);\\n border-radius: 16px;\\n padding: 12px 20px;\\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);\\n border: 1px solid rgba(255, 255, 255, 0.5);\\n}\\n.ios-alert {\\n background: rgba(59, 130, 246, 0.08);\\n border: none;\\n border-radius: 12px;\\n}\\n.ios-alert .ant-alert-message {\\n color: #1C1C1E;\\n font-weight: 500;\\n}\\n.ios-alert .ant-alert-description {\\n color: #8E8E93;\\n}\\n.ant-switch {\\n background: rgba(120, 120, 128, 0.16);\\n min-width: 51px;\\n height: 31px;\\n}\\n.ant-switch .ant-switch-handle {\\n width: 27px;\\n height: 27px;\\n top: 2px;\\n inset-inline-start: 2px;\\n}\\n.ant-switch .ant-switch-handle::before {\\n border-radius: 50%;\\n box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 1px 1px rgba(0, 0, 0, 0.16);\\n}\\n.ant-switch:hover:not(.ant-switch-disabled) {\\n background: rgba(120, 120, 128, 0.24);\\n}\\n.ant-switch:focus {\\n box-shadow: none;\\n}\\n.ant-switch.ant-switch-checked {\\n background: #34C759;\\n}\\n.ant-switch.ant-switch-checked .ant-switch-handle {\\n inset-inline-start: calc(100% - 29px);\\n}\\n.ant-switch.ant-switch-checked:hover:not(.ant-switch-disabled) {\\n background: #2DB84E;\\n}\\n.ios-edit-btn {\\n color: #8E8E93;\\n padding: 4px 8px;\\n border-radius: 8px;\\n transition: all 0.2s ease;\\n}\\n.ios-edit-btn:hover {\\n color: #1C1C1E;\\n background: rgba(0, 0, 0, 0.04);\\n}\\n.ios-edit-btn .anticon {\\n font-size: 16px;\\n}\\n.ios-tag {\\n background: rgba(118, 118, 128, 0.12);\\n border: none;\\n border-radius: 6px;\\n color: #8E8E93;\\n font-size: 11px;\\n font-weight: 500;\\n padding: 2px 8px;\\n line-height: 1.4;\\n}\\n.ant-space-compact .ant-input {\\n border-radius: 12px 0 0 12px;\\n}\\n.ant-space-compact .ant-btn {\\n border-radius: 0 12px 12px 0;\\n}\\n.ant-space-compact .ant-btn-primary {\\n background: #1C1C1E;\\n border: none;\\n}\\n.ant-space-compact .ant-btn-primary:hover,\\n.ant-space-compact .ant-btn-primary:focus,\\n.ant-space-compact .ant-btn-primary:active {\\n background: #2C2C2E !important;\\n}\\n.xunlei-verify-compact .ant-input,\\n.xunlei-verify-compact .ant-btn {\\n height: 44px;\\n}\\n.xunlei-verify-compact .ant-input {\\n line-height: 22px;\\n}\\n.xunlei-verify-compact .xunlei-verify-send-btn {\\n min-width: 126px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-color: rgba(0, 0, 0, 0.12);\\n box-shadow: none;\\n}\\n.ant-btn-primary {\\n background: #1C1C1E;\\n border: none;\\n border-radius: 12px;\\n}\\n.ant-btn-primary:hover,\\n.ant-btn-primary:focus,\\n.ant-btn-primary:active {\\n background: #2C2C2E !important;\\n border-color: transparent !important;\\n}\\n.ant-btn-dashed {\\n border-radius: 12px;\\n border-color: rgba(0, 0, 0, 0.15) !important;\\n color: #8E8E93;\\n}\\n.ant-btn-dashed:hover,\\n.ant-btn-dashed:focus,\\n.ant-btn-dashed:active {\\n color: #1C1C1E !important;\\n border-color: rgba(0, 0, 0, 0.3) !important;\\n background: rgba(0, 0, 0, 0.02) !important;\\n}\\n.ant-btn-text:hover,\\n.ant-btn-text:focus,\\n.ant-btn-text:active {\\n background: rgba(0, 0, 0, 0.04) !important;\\n color: #1C1C1E !important;\\n}\\n.ant-btn-link {\\n color: #1C1C1E;\\n}\\n.ant-btn-link:hover,\\n.ant-btn-link:focus,\\n.ant-btn-link:active {\\n color: #3C3C3E !important;\\n background: transparent !important;\\n}\\n.ant-btn-dangerous.ant-btn-text {\\n color: #ef4444;\\n}\\n.ant-btn-dangerous.ant-btn-text:hover,\\n.ant-btn-dangerous.ant-btn-text:focus,\\n.ant-btn-dangerous.ant-btn-text:active {\\n color: #dc2626 !important;\\n background: rgba(239, 68, 68, 0.04) !important;\\n}\\n.action-btn--secondary-outline {\\n background: #fff;\\n color: #8E8E93;\\n border: 1px solid rgba(0, 0, 0, 0.08);\\n}\\n.action-btn--secondary-outline:hover {\\n color: #1C1C1E;\\n background: #F9F9F9;\\n}\\n.pansou-add-channel .ant-btn-primary {\\n background: #1C1C1E;\\n border: none;\\n border-radius: 12px;\\n font-weight: 500;\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\\n}\\n.pansou-add-channel .ant-btn-primary:hover,\\n.pansou-add-channel .ant-btn-primary:focus,\\n.pansou-add-channel .ant-btn-primary:active {\\n background: #2C2C2E !important;\\n border-color: transparent !important;\\n}\\n.pansou-add-channel .ant-input {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n padding: 8px 14px;\\n}\\n.pansou-add-channel .ant-input:focus,\\n.pansou-add-channel .ant-input:hover {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent;\\n}\\n.pansou-add-channel .ant-input-clear-icon {\\n color: #8E8E93;\\n}\\n.pansou-add-channel .ant-input-clear-icon:hover {\\n color: #1C1C1E;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n padding: 4px 14px;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper:focus,\\n.pansou-add-channel .ant-input-affix-wrapper:hover,\\n.pansou-add-channel .ant-input-affix-wrapper.ant-input-affix-wrapper-focused {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent !important;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper .ant-input {\\n background: transparent;\\n box-shadow: none;\\n padding: 4px 0;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper .ant-input:focus,\\n.pansou-add-channel .ant-input-affix-wrapper .ant-input:hover {\\n box-shadow: none;\\n}\\n\",document.head.appendChild(e)}var $t=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAICAgICAQICAgIDAgIDAwYEAwMDAwcFBQQGCAcJCAgHCAgJCg0LCQoMCggICw8LDA0ODg8OCQsQERAOEQ0ODg7/2wBDAQIDAwMDAwcEBAcOCQgJDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg7/wgARCAE8ATwDAREAAhEBAxEB/8QAHQAAAgIDAQEBAAAAAAAAAAAABQYABAIDBwEJCP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAPv4QhCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCGsoFU8IQhD0tG80FgtEKxQNRkXDMpmZfNpSMDcVDQQhCEMi6XTIgMEEWzI9IQ8MRjGQCh4PngtCKUjaN4QE43j6XRQKwZFIEGw9IQxMhyHcskARycDjCbTwhrF4KnRCsEzSUgOIxsKQ6DaI4MOgGg58XxsEQ2B0h4ZFUXRyOpF8gBOVG8cwQVS2FhPKZ1MLGAqi0aSoYC8Nw5iUKoyEFMNDeJo1B0DGkIlwRAudSL5ACcsLQZObgcMHRwQUTpZZN4KEYrjMLwCD4SFwGF8JgAuDaKA0mk50UxoH0UwmdSL5ACcrLZeOVAINnVimUB5BBbKQjBU6gQBAI2hw1A4UxYGkchPGcGnLiiNx00WQodSL5ACcrLYaObgcLnRgUDzo5SAZgBDadRLQiA4bS+JwpgMrDsMwljSaDnhTGgfRSCZ1IvkAJyosDoCCoWguJxTOpF0DmIugo6EbTlwROjmIiCEHBlDJpOejQMAFNISLYhhc6kXyAI5OCBjNp4emoXQmdFKhdK4tFUMhYQQoOJTKolDOGDEhzY2h8hD0pi4OZ1EvkBggCyZEPTwxMRlGUWzQYFQEgsNgkZxtKBfF0rgUuDqLIJNh4Q9MT0cx5LRDWUCmDikXCkDz0NBUWheChVOaAQ3mY8DuXw8UxFEIvHSxhNhrBZgFCA0JDAbiEIaxXF0Oi+KxiHw2AjaNYHOTAAtFsJlwJHRBgFk5iLA2HSxqKghFEfC0IxfH4tkIeFcDlIJgoAlYqmstlMOBQRBaGcPmAsi0NQ7C6c6F8vj8dEBRzUqj0NgmhA6WXiHhVForDQXweJgvmQZChzsEjGbzwtDQaRbAIDLwJF01Bk6CPYrimGA+MgOLo0FghVFoVi2PATA5ycXx6HwrHIRHDZ0UKCGfk8/aAUMjmgFChTNQ1DiNoIF0sG4Ih8Mlg9IUBNF03h8aiockBR0YZxVOXiyO510rn5DPnEdwPrGBxbK5vF8rDYHBwCAqiQBxpOhDGbCEKgpHOxUGE6oZHPwSOQYOZiWXjpB0c+UQiC+GD6oHIjs5fAInggYB7GUtmYnCmP4yBAKGZAac+Ofi+FDpRmbS4XzE5WKI1HRT8bCcfvA+cZ+0wOfJA+uYfDYCE0zD4YN4xm0EjoUy8OJZIVRbF0VBaCw2jiUCsMQrHNCiHD5Gn1dL4GD46HzfOjHeguagSaCyNhrKIyDUMhqLodNpCFMVBTAYujKdHIahqB5yAQTSfJY+shsLZ086afOUJH6cB5vGMoi2XSuL4WGwPDeMhZIQhWE8VwUKgUG8vhkaTQIApAU+c53s/RAYG4JHxmPqAdjKgPGYuCKJhiaAWQJj8dGGQ2kIYA8UxHBwYMimNA5lYFG0FiCfJs/Yp+rDn583DrR+8jqxvFY9DgKEM2l8WACYhw6mdLLpDQCjM2AkEi0XS4Q3goqhYsGAKPw4cFLR+nTvYYG4yNhSFAEA0Oj4Czm5QGU6idELZAYJRBtLwuHPhiN4pGYeCYIF0ohYegSaQ6bAOKgTHQXzlANIOJ1ACnJzadJH8MmZCkKQtBIKCSLI/B0ClA0jSbgCK5VOmFosjEeigcvMx7BwiBADGZ04ggjGPofLZ6QoCaADwFCYUxvD54CRdDYeNYvnh0o2F0ZgYJYIMjEAgULAYHnShxFoolsbRtN5AaJx6bRSA54bzaQGi8Fg0CgeMAwkGAMCUKAbCArAYMF4rAcLjaCRJKx086gXiFQWigQpGshD0IGsVw4XxIA4WBwcGYCnPQKEAyVAudFN56JAhHhqK4eOoHRC4QEHNRYNxmeEMTSMw8mgsCocxBZdPTaZlEDmgJDsaS+PwNCYqHOSgUy6dEOmDKbiAE5OUhqMzE9PBULI/AkKi0c0KQYGEXgCeFYxLQfPBgOjEN4ogUyFA0jUdKHUskAJystDcLZQLwxiqDxtFcaS+LZXMQaKxZN4qFQ3HpmHhqLpkCg+M4vFIsjWNJvIATlhaChzACBo6eDSgPpSDodNRpFg5ULR0EIHNDEZgebyyLpsG8YRnGQzMTAsFk9IATlZbLxysBBs6qUygdCNQWDgJFwDCwK4bLIlhk6gazeDzngbOkDCDD0YCAE3h42kAJywtDAIIICo/AMHjyBS6NILEY0l8Ai+ajANHVC8bBcEkeg8UBMKo6m0BhsdSyQAnKTMdioVzeXBLK5000CuXg8UhcAYXAgICxoHA9CRrFMYQGKIJNocN4yD2MhuIAzlIBDJtIQ1gUOnVwgLItF4vCMBB9BwnG4qBwaxqN4rCsKYFPRkDwACJ0gdCwQoiaL5D0hDwgwDkXSsLJXLItGI0lYWDUeF8bw+ZgcTwOYGYfDAuFMaxpN5DE0GkhCEIQ2lgyPDSYmRpIbzE0nhDIsG0hgVjAhDabTSYG43npCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCEIf/8QAJRAAAwEBAAIBBAMBAQEAAAAAAwQFAgEAFRAGBwgUERITFiBQ/9oACAEBAAECAP8Ax/P/AMTWyudpez9n7P2fs80xu9Y64I/O+EPqj7PNIbWmdUBviL3RGcN9Y297P2fs/Z+z9nikFnPfhwtOn2xyr7T2ntO1c2ZtTTO3J7GD6YpOtWPcAszaDLLVNCqgydl+qpTI49W5Y9p7T2ntO1QWZNBbXxS7Y0sqGT6r1XJJZLCsjQA6nLrsOZpUzmHxPuImiBpKJ9ns0aTtCSYu3/EUMSPU+q5JPKICDpHvxT8p8kC5wz3sgPfxVFM5Mx/gQVEGu71+qXRSRO6PVZwym+31kEfhvD5kBNsj/KSzZ8URwvEfml5S8k+PHoUPZzqSJ6nk7xE3aGWniPMpbyo8lxBHhWmgeuXW/lzcnw3hvJfazTdPNSS+MtLyH4j80vKfknyn5T+Jfkzyn5O8Foxl3X3Wyx+ohYnHTNxUI521D5fc23E0bw3k3y3455nyJ4Dyj5D8R+aXlPyT48ChO9ZOnIAqcm+JhbnbB1ZudLHM8c1QeW8RQNig4zSNwU6Omzg3kvlZVubmXJQwKl5D8R+aflTskvPDo+tAh5VLM7N6bwifFqGVOTDUCUiRfE+sdrLFDOnCkKJUsH7IMYZJ/JqybG6BYXiPzS5Yyq0Gv7X2vKpa7LUjK5SUQONunPzSVM7lDUbv7PH3emDJ4Zxag/p/xF/Ff2vteVmKuzwcI/LYqkzUfkz13rfXdnYkzJul2QjZITvG3BU8VzNxO7GNXSjKHDN0pbWBvSeSPWeu9d63ssEiSitj41gqeph1MiyqbHS4MmTenddwqpRDRPw+XAsxnQ0AHDhtKoo1iYxNawt6vUwwBBFOLO1hLQf/ACTyj0exapbIXBkGtvHOpxbFYNRXi40BzgB/bQqzKGiU8Vs8ZlVZlITDbVKolXn0GmHnpTimvnvSFYwOdhNyaSX2eQeNfraPPpH3USwghMxFJIoId5Koip1ar729pmkOpsVXX2VdymtboBjCS58mM5QWeV7/AFa6+/qtgic86tYitMFnm/1FmVWm2T8bn/3xWdcJ5nCSshAK9bGUV5CU8YDzkJ4MfBiPOHMhlLXNUe2DLeSVU16Pbu+mn+Sk2122efmWq8qo4vUGHOEzprqIpodBp9T/AAw3iovTV0IXOfDPHx70GinWVYo9r+Jbkl4zVqVW88hLzFao/uF9+/uz9Ufjb+QYGm2jIYk9E4RUqpVcIYMCgm/zB5uJuB9+T9pFpuEpSH5rD7NAIUpYWt2G9lSUiIDN+RH5P/b38R/vL9CfYD7FaY+iPvMm0QreXc8NPdnuBpZq6JXXECUvg67Y9fDfa2nQlVlaSdKYCfEFgvBsp5Xk4n7/ADP+7f4i/Zl/dL8SJAfrL6ZBqP8AUS9UZqWDeAMrSE8KghUdKsqoJnc7a3yYbk1iRQndGm9P2sJwyjORVZb6yzwrn5B/U/03o1rTUtMET85fov8AGuiDAmzn2r1VYai7QwvJuIjF5tNREWfj+D8fMfrae+yHUmWAqpqipCuAKP8An7ucXa/unmBhXz8+af4ny8yjopoBhuRCLAcba1tF1WyrbnuB7z/wfNFbYnDm8nhWbxVScX25inNNCZk/l39vfxl+uupIzk/D/Uf3x+5P24+mU1HJgAJbOpTmGCMBk9dy0m/IrTnxa+e+HXopOJDngAXOBzMgMeh1rIHJ31h9ufqX6P8Atz+U0j6l+ufvZ96/yT/Gz7LSdzNN6Y4sUVB9pzafDKuIkHjc9mAdPvwQhXgtEXJJZmG8UBpQR9UDGHpdzT+HPqn6V+uPwaf/ABRl/h79ufxczFSRWZ0cSromaRK3WZnFEqiDwxDmow0lc/DfXSpOKtdLTaOab4905VyKi/RbXMTrk+guZzqyoZHYzqJmZ51uWeP44rgMXCGLWXxT0I8pJIefhjL4N6SeJSq1xuyTl4VEogvpPnywi8sjybkqya4R77W09meVF2qzvI02xTnJLlTBUpaKPgS878M7fZ7jo23XTL9QexX7Vbo6cQqZrkrNvIdnlM8iyIjrjjnU+TdlefwXDTpFuwi7Cyrx5e5Nog38N4bVVRYScmai8h4lev8AXNI7WSS4gyDAUlhtc3PGRupX7TTolovu4wvJ5JNH2jOcFYepuPKNfT5Uu/B+tF4/ultn/b/b/bJQjamkkIS2AUdgJ+zp6e4KhRrPUP2Vmx7NiSBRTo9LWVzMZpbf52ajDTUz8PErPfv5Y/2/3/36xx6U+HWh55Ycfew5hr+uGe1z0SE8T8Sw1mRwXdkBq3xlbSmsJ8jYm4Fz4p+V+IJAk9meu5MLIdSlcwclIDNkTaeU0kuIvg6Loe58AQFDb0c6pOh/tU0FBmS1PAtMLJYX78U/KfkjOzM1vdq1hnq5n+b4XEsTU00D/nuzGmTnTQYmMiyPgP4HlEq9nNvdUhZS+5rEH/nl4c5EGfin5S8k+US0m/3Zjc4tPyd4AO5yCvAdW0CpivoPY+KOX+JLiknmKSzTzEV2gmCOgkLH6vU+Ljxn5p+U/JPlLlPP9ZmZnKfk7xbemkjc202eyd91MiyDrdFncYaSbMlaVUVOrKkzJvFztLUgGOY1FR4Wvil5S8k+NrPyvSoSU1qnJ3gsn4i4Buh42IGO8cUKPnnUpQZvSbHux4MUpfrLFejWSrJ2D1dlmZW58U/KnZTA2CY/XEPZ6jEvqIXUDDSazoyTmeNgFSUWFoQNJukaS3QDkC7dGuewR5Yo2x0Jxp2Q8+KObAQ7FQ9j7D2G6BtxwTMGC9PKJNg56Z18Tw1wf16bnUiKKKInRcQb235pYac6ZuQdScSQdfvwyKhK1C5E9L6X0nYmIU6UqL+DBbngnmRZjrRFUHZpYXofQKxkURi7hxRyRqB/zo/p5CPqa3FDEnogz8dzpf8AS/R/R/R/R/R4lhfPPO86Hi/Q9U4pkOgdS/R/R4ngXx3HVf0f0eJYW/y6rxLAOc/+T//EAD0QAAICAQMCAgkCBQEGBwAAAAECAAMRBBIhBTEGEwcQIiMkQVFScRQyCCBCYYFiM1BykbLRJVNzgqGiwv/aAAgBAQADPwD+Qf7lABipnmL90T74n3xPvi/fE++J90V/nBjvFz3gccTI9QQHJirnmL9win+oRXHeALmICfaiv85uEwIEzFPzgwYqkjdE++J98X7hF+4RfuEX74pz7UDjvMj1lK2jV2MA0sNh9qWkZ3GW/cZb9xlv3GWgdzLBZgtGsIBaHyMywXEZhIEATvBsPMKI5Bjq7ANLT2Yx9+C0a2vvGFBliWNzHawDdN9Q5ipSeZsdhuhezvCNOTmMljYaWsT7Ut+plv3GW/cZb9xlw+Zj7+WjW/Obq/WRU8Y6lxHusjGuGGExhWcR6rTGF4ENmljG3OIaq4awRCcjML0NiO95h8omGu+EgCb9KYQ7EQ16qBaO8IrYZjPe3MZrYf0ZjPewj2w7O0Pq4PEZEaPVqSIdwmafX7p5nVtAbOZXXpsmVIx5Ep+olT/MSuzT5ihyQJjWCA6cZiRfLOIeSIa3OTPNXEO/diLXURA2omMRV0h5ilmxNt+YfKxmNdWYwvmLRPgz+IDqz+YvlCV1VSlWPIlJ+YlTnGYjUGAaoz3onufVwZ7p58Y359RTSHB+UcWtzH+6O1wG6F9JM7p8ZBXpgYofG6B07xBW0QOcGeZbN2nJx8o/OBHFxJENCQtSQDLLWbvLd2dssSBasGIXMzcJ8GfxPjD+ZimFKG5jC1vaj7/3RnsXmF9JPfme+nufVwZ7p58W3q+Fb8T3rww+eJ8H/ifunxkb9HxLFuMIQjMY1Ngx2uOYTesD6fGIhydsrr3cCYsIEax4uzJWVITwJUiGbNwBhe88zc4nwZ/E+MP5nw09y0PnNPbE96s+DP8Awz3899Pc+v3Tz4tvzOYX0bcRmub2Y/2x1tHswpo5jdM6yb9LOWOI9bECNYhBmCTNmqE9wIErYzFrAGefbAFzieXScDtGrLR2yMx78yw3Z2xkI4m3SET4w/mZoheo8RzY3Ebd+0xksHEKaMz35nvp7n1+6eY1bQC2V2abBlTk8CVZ7CVI3YSuvTEQGxpnWCAacZlbAxXcnERKzkRfam3VQCkQGh8Q/q2mXERaIj1sJlHMP6kwWAZErVclJXX8oF0zTGrP5i+UORK7aj2lTEnAlOewlVbdhETTmBtUZ70T3PrJqeMNQ5jU3QhMZ9ePnCayAY9tpjG8GGvSwi0jMVk5MCocTzCYK2zAh25i2aU8wNqmnIhr08LORPM07GfEHj5xUrGZXWmAYrEjdPM0zRk1LGNXDtxn1kdjGesjMa3Uw7hMU+vfWY1ljkLLRYeJaBLZb9JbLCOxjl+RCjjiEUERltYwoCMxrYyAsYEU8zbd3gOnILQWXzOIX08fzoxohFhOJ+nRhCXIDQvd3nm6SM7khZaGOAZcPkZb9JbLvoZaR2MfzORDXjiba/WCDFfPEr5O2VpngSrfjAlRTtKkzwJSD8pTnuJWe0XyYh3YM32nEJr5E8uhoQ7CEGMEPMJsgQDmVmrlpW7dxFsrilDgRl34jrecwV3DJiPWBmV3DOIh/pErUH2ZUhPAlLuRK3XsJWiHgSpHifKe7/l90YQGxLPPMbyJYC2Jd5h5Mu39zHU8mZoPMZrDzAX5i+TC1D4EIufiEtGcdo4/pMsq+REtq+ZjC4ZaB6hkwPVEKNmIHcieXf3hV1BaBkGWitXnMVKm5myxsNM38vFdO8zSxBjLeRmF7AMzdV/JgQAERbcwb84mKyIHzxEBPErWCrIEdzjMOzM8i6Bl27pXdpzEYtxPf9ojJyJWU/bEVD7MCbsR6ruIUIBMHkfugCsN0NrtzM2E5jK4wZZkDJjHTRlpbmWW2NzLUtBlvAJMZ9LHOoJjC4ZmKf5AqmbGbmeZZiB0girW0WpmEDOQDDqGhLZxBXpjDXe+IaruTN1eN0/UzZlsRKnxKzTECHE84tOCwEOmu+mIRURmWW5IMcucws8LuJ2mzSRiGENlxyINucQVvB5OILLO0FR7Tanr2qZgMMw2WGe9zAKoCJil43nvHfUQtgkRESKtLQeY+IRcZZZYBGKjImzTNPIvcs2FHJM8NaX+IhOgrovO8CLmi/rg3GwXZ/2qp86R2PG49x9DR1TplGs0Wor1mjvrWym+lwyWIwyrKw4IIIOYc8iKunaEXPtlhYxnryRNmeJmyBecRa8CB6MQuCcQUuZXXxmVgkboH+cW2ALkTA9ZNZjbmgrY5ldZ7iKxwGgdJmh5794BqIu0QJSYAjjdBa74MLXzdauRFGmBxMUPPRh4K6pqdH1DxCnUup1Eh9D0pP1NqkdwSDsU/wBmYTwD429IbeIvBXQeoeH9TqWLdRq1IrWq9/8AzVVGOxj/AFckHv3zm/0c9Wo8J+ML7NX4F1FmKruXfpTk/vUdzUTyyDt3HzB0l/SaNbo769VpL6ltouqcMliMMqykcEEEEERXyoM/UMx7zyyTtgprIIi7jEF0UpgQs8wgzFaqEZKiWVFpYbTzLHIhWsZg2fyDaYih4ELbWj+ccNGe4DM9z3gNJGYbnbEsF5OJYAIyaU/iNvcZMNlhhstyFzCrqcTTdP6LfrNZeml0mnqa2+61gqVooJZiT2AAJnWfHvVtf4V8Bau7pHglSarNVVmvU9U7gknulR+SdyOW+g8eeMtBR1fxFangrolwD1fqqTZrLVPIIpyNoP1dgf7Gein0ZXp4W8NdX6t4m8aIwPUbrtTUNLoR9hVKwTYfpu9n5zXelPxGOsdZFvTfAmjtxqtSOH1rDvTUf+p/lOm9C8J6bp2gSrp/Sen6VKaKwdqUU1rtVeewVQJ4K9Ifijr3TPDPVf1mq6VdstDDaL07edV99e7K5/7qTWaxkypk4xCwbEdXaFLJ7QBaV7O8qRe4iNxuiXVGLtcwHVxVpBi1DvA/zmV9ZFbSzc0sdmjhicGeXcIBph7UNpwDPM7iVp3ErXgTNDYjF3OIVu5iAjMqrQciX9H8D9M9GXRtSab+sV/q+sOh5/SqxFdX4d1JP9q8dmnTdf04elfxTpE1QS8p4d0lyZUMhw2qI7EhgVT6FSZU9Vg3cEYO0kH/AJieZ/EvbqT1p7fR3a51dpsuLa0sWydOSe+Sf9qecf3mi6N4c0fR+j6Ovp/TNJUKtNpqF2pWo7ACabxr6NOteGOpW31aLqWmNFtmntKOueQQR9CBweD2IIJB8VegX+KX28jqfRdZtuVSVr12nb/82IQR9CfqJpuqeF+ndY6df5+g12mr1Oms7b63UMp/5EQscFottPMTa0xa0KHvHXsZay9zLFfljMpgtPOqMLarIHzhTTSwOY5cZnu/XuUwWE8RAG9mKqtgRqbeIwwpMFuMmKKMiFMxzbiedR2gKOdsFFrcdjPJc8wqmN01fij+NHxed5sNWsr6fpq88KKkWvA/LBj+TNN4Z9H/AEXw9oMJo+m6GrS1BRjIRQufycZMLg+3DdaeZ5xEDU5KSjp3jTwV4ppqxZrtLfotSQPnSwdP8kWvL+rfwhdFS5za/T9Tfo8nvtV96j/CuBHV49aRrlMdmPEcAw74DTBUpIhrt7zzgATKzgxPLxBa3Amwzah/kAUxU3CC4mDYxhpumCOYHoEFomLYBVAaXh32YlgtMtEv6L/GZ4vuvTc1XXP1e36qxFo/+CINVoKdVQ4sourWytx2ZSMgx/qYxsEAAzKv0v8AiaUaD0d9GRwdSbNZqXX7VArRf+ZLS2r+Eim+wYTWdX1N1X91G2v/AKq2hNZOI6ORiGw4Igas8TYjcQ0W9psrIm9DHFuYa25MCJ3gZsbolqxCn8uUMdt0atyTAKmnmXGOpzDTUATFPBaJY8BSB62nmu/EJJ9mNXu9majp3pD6T4701HwHU6V0escDtqKwdhP/ABV8D/0jKPGnoQo8OazUA+JegVCiyt29u/TDiq0fUAYQ/QgfcIwsxiHvtn6VOZpen9K1Or1mpTTaSio2XXWuFStFBLMSewABJmq9M/8AFFqtf0am7VaIunTeg6YD23rDEKcfV3Zm/wDcBNN4N9EHhrwpQwcdO0SVWuOz2n2rH/y5YxX0/aDk4i02SsjES2huJhmIEet2EawQqpOI1bx1jq3eYCgtBag5m5f5AYrq0O18CWFmG0xhZlli1pCVO2W+ZHDDM2VcmIMjMrscyqxIjA8Tonj30bdW8K9doL6DW17d6Ab6XHKWIfkykAiekT+Hn08U2h7endQ0thfpvVaUzp9fV9RnhgRwyHt2M8D+JNHptF43x4O67gK9zBrNHe3zYOBmvP0fgfcZ4L1/TF1PT/FnRtdQV3CyjqdLjH+Gnos8HaCx+p+Nem3XqONJoLxqryfkNlWSM/VsCdd9JNV/h3oNN3QPCBf26i2dRrsHjzSOAv8AoBI+pM1nRNXV6QfGOhbT9UKf+DaC8YegMCDdYp7MQcKD2GTC165g8gRPLMzYcRq35iCrBaVvW3Ii+e0Umb6TgQqWO2bSZiMLBHYCZp9e0GBGIzBaMZi3IYrEkrEqRjibLiILRyJWgyRK6TAUIDR3JwZaGOcwoOTEKcmVB+4nhTx/4Nv6B4s6Pp+tdLtO7y7hzW3IDo4wyNyfaUg8zVfrr9b6OvFNL6Y8p07rmVZPqBdWp3f2yg/M9OeivNdXhKjXJ99HWdIF/wDvYpnpY6peB1duleHKP6zfrPOcD+wqDA/5YTwX4A11HVLxZ4p8RVkMmt1tYFdLfWqrkL+SWI+RlgP7TDQ4JE8urGY1sLgkieTUTGqYgNHcEbobLDzHZxC+n5EC0tkTZawE3EgRnsBxCgHE21+sipsR1taMtnJissTYYgreBtWcGZqHzhFJxLRaY5bmK8U15AjVA4lqsZYpjGxQTN+lzH3kCG1+REZOViYPswUoxAhrtIzBYYp00HkWRmveWEQq/MXeuYn6aDyXm+9oXccQYU7YK6+02r68oYuWMNVp2wqeTAKG9qcuN08zU8njMQ0gZldlUqYkxKQYK7duYllQ5lVqSshjEQnE26oTdpxFJiKYuyIqGA1PG89o9bz4fkwNQ3MD3mVmntEqc4nl3YzC9HeGyhoW1ZyPnK0xkSutB2ibcCZHr2o09phDa5j1KTLFrYCW2WMY4uzzHqUAw7CJlTCyNG87OYyiHZBtIzBbnEJ1IMCaaAPibzB5PJi1o0Wx2BMFxzBXyJ5CYz2hcEZh87MIpxGfdGF8ygzFt00StyYunzzBvxunm45m5PWTW0ZrjPrB5DYjMx4jN/TCD+2Onylv0Mtlqo3Bji7tLGHAMtFWcGWV5jvbNgDQVptzGteFBmCqk8wDeA0zectK9nLSvyjzAzMFj33R2GdssC42x9hysNFhyIKDgtK/JI3xGRsNCXbBlhvjttmafWNhiI7ZlSEgNK2XGZS2ZT9RKfqJT9RKT9JVbFepsCe/PswImSJXVQZWC0TzTESmYt7xCMkytKe4g8pgHhd25h3d43YGWPXH3kmBrhkRBR2lQOJW1JgQNiGu04jgY3GOwOWhsMLuOIUA4m2r17amjJa+DLWc4aWkdzLvqZd9TLvqZaB3MsV+TGZwMxX0/Mr82KlJIhrrbmMbH5h3HmO64zHJzzHo+ccKRujWAjMLE+rLyvyOYgc4g88YhGj4j+eY3kczKNC1jcRlXsYRBviELE2CAL68VPCdS8820RfLyREHylX0EQ/IRfKOFnlWtCl4nl6OEakjMNtEZ62lnnNxHh3jMUUHiBS2I5c4jiEerYYUqxum9+8BuERtPKy5MSug8wOWAi2seJigkLHV24joe0srIEZkEzX6uDPdPPi2g8yJVpoiMeYn3RHfvFs00GWmNTCdBx9JZ+rP5jNSAZ5tU3OfZgH9MFGTiLUjCC21p5wmyljibHYQtGjiOXj0nM8tMFoD84XrIBjXWmZ7iCzTniBnPsz/AEwo/aGqbU9funnxjfn1FdK2DHFz8mPnuY5uHJhbRT90+MgfSRWuJIgQRTX2lXOQJTsPAiCt8Rw7gRjfzE8kZiDStB+oYCeY+JupziMjdoW+UNVLGWVuRLbGllqRu5EFWMiIUxEb5CV4PEqWIO0wvr908+Lf8/8Af1fCt+IfNeH6Q+eJjRj8T90+MgGkieZFaDycwVAwKSN089WGZ5oY4hpvPEFKYzBZp2G6F7zM3iLZphxAzdoFTtFTTtxN97AD5wsw9mKlYyolVdRldLkZis+N0Vl7wKp5gRyMwWPNyev3Tz4xvzOYbNGY72NhY/2mOloO2GvSYmN0+Mjfo+JYtxzChwTA9MZ62xLfNPeOG5itURN24gRqnMezKxic4my8QCgRIhrOJmp4G1cRagYlCd8RBWw3zLnDwi7looqHtRWU4eNbacHMfMIrHr908xqmirbyZW9HJlLse0olKStKCMwNYwzM6sQPphBtY7Y1NxxCDgmLbVKyGOBEpDYgNxGYLqIqk8RRdE8qKmpgWjvGYnBjskNlJhTVQVafvMbgHjlj7caxv3Rt8tRP3Ry+GaLYRkxNkG315qeN57y2q0y1V7mW/WWSyWFSMyy14/nAmYpED1mAhjiNRacRxxCNO0sYvLHvhGlEJVsCOlxlhQiWC3MsPEa0Amba4HqORNhc4j1hgJa7NLSZYX7GM57Qig8R6rTLK3xGZBM1+vejTzXYhYd54jj5R/oY/wBDH+2P9Id/InlPyJsT1BkPE3scCFW7QmojEZ3bibH/AGzZTjE81GhLn2Yfthz+2FH7QVqMiKqwFDA6NxC7txCSfZn+iYblYK/6YDSeJudsLCr9oasTCevIitE+giRIkSJEip8oF9WRAYBAYh+URfkIAICDEPyiRIg+QgX1giKc5ESJEirBiISciIPkIEmB/ur/xAAUEQEAAAAAAAAAAAAAAAAAAACg/9oACAECAQE/AEgf/8QAFBEBAAAAAAAAAAAAAAAAAAAAoP/aAAgBAwEBPwBIH//Z\";var Er=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAMe0lEQVR4AezdbXYTORMFYHUGclhG2EHCCuAXsAtYCbASZheEX7ADsoNkdjEH5qTH13E5bafdX5JaVaXLoSInsdXSlR7S1ry8nAX+YgJM4GQCBHIyGn6DCYRAINwFTGAgAQIZCIffYgIEwj3ABAYSyAhk4Kr8FhMwkgCBGFkoDrNMAgRSJnde1UgCBGJkoTjMMgkQSJnceVUjCdgEYiRcDtN+AgRifw05g4wJEEjGcNm1/QQIxP4acgYZEyCQjOGya/sJEMjRGvJTJtBNgEC6aWR+/OLb5UXmS7D7xAkQSOJAT3X37Nvl6/umuT3/fvnp1HP4dX0JEMgKawIcZ03zY3uptvlMJNskTHw4MzFKw4M8wCHzIBJJQn1LIBmX6AjH4ZWI5DAPpZ8RSKaFGcQh1yQSSUJtSyAZlmYSDrkukUgSKlsCSbwss3DItYlEklDXEkjCJVmEQ65PJJKEqpZAEi1HFA4Zw2Ik0gHb1AkQSIJEk+CQcRCJJKGiJZDIZUiKQ8ZCJJJE8ZZAIpYgCw4ZD5FIEkVbAlkYf1YcMiYikSSKtQSyIPpVcMi4SiORcVTaEsjMhV8Vh4yNSCSJ1VsCmRF5ERwyPiKRJFZtCWRi3EVxyBiJRJJYrSWQCVGrwCHjJBJJYpWWQEZiVoVDxuoEiUxHc0sgA6ujEoeMl0gkiawtgZyIVzUOGTORSBLZWgLpidYEDhk3kUgSWVoCOYrVFA4ZO5FIEslbAulEahKHjJ9IJAm0yYpAdlGaxrGbQyASSSJZSyCbKF3g2Mxj+5tItjGk+lA9EFc4ZFcQiSQR3VYNxCUO2RJEIklEtdUCcY1DtgSRSBKL26dAFndl54VV4JDlIBJJYlFbHZCqcMiWIBJJYnZbFZAqcciWIBJJYlZbDZCqcciWIBJJYnJbBRDi6OyHBEjOr199RaadXt0+XBVIiRSxkPt/vKbEADReMwLJ8+urHyG0HzaZVoHENRDiGNC5AAlwNCG8Dg+/LmpA4hYIcTzs4sGPM5Ac4ZBu3SNxCYQ4ZP9OaCcgOYFDOneNxB0Q4pB9O6MdQDKCQy7iFokXINuFIo5tDMs+9CCZiEOu5xKJGyDEIfs0ou0gmYlDLuoOiRsgTdN8klViG5EAkFxf3XZOq+Z25gqJGyB/te3HNoSfgb9SJHAR2YkbJG6A/Pv+5o5IIrd12pe7QOIGCNY2DxL0zFqYgHkkroBgEYkEKagq00jcAcHWIBKkoKrMInEJBFuDSJCCqjKJxC0QbA0iQQqqyhwS10CwNQTJ5vHdpnT9rnM0ppC4B4I9eN+c4T8ixp7toytWmgTMIHEPBH/7LYT2Q5p1ZS8JEzCBxDUQ4ki4nfN0pR6JWyDEkWdHZ+hVNRKXQIrhaNrPAZVhF83t0tjz1SJxB6QYjs2ObO/DP7/f3nw5a9uXhLIJZN5vlUhcASmJo7sXcLS8hxICj5fD5F/qkLgBogVHdysAyuanyRv+NOmmMvpYFRIXQDTikG0AJPufJnx/IrGMtWqQmAeiGUd3F3ShtCFY/otdYaVfKpCYBmIFR3dDAcqfd7/etG37cfN1vj/ZhDDwuzgSs0As4uhuhD/vb/7m+5NuIicfF0ViEoh1HLIV8NOE708kjcG2GBJzQLzg6G6HAyg8Fu5G031cBIkpIB5xdHcAoNR929VNo/fx6kjMAPGOQ7YDkPC2S9LobVdFYgJILTi626ELhcfC3WS2j1dDoh5IjTi2W2D3AVB4LLwL47BZBYlqILXj6O4HHgt309g/zo5ELRDi2G+C/QP8NOH7k30c8mAaEnn2zFYlEOIYXsUDKDwWRljZkKgDQhxY72kFKDwW3meVBYkqIMSxX+zJD4CEt137uJIjUQOEOPaLvOhBF0rlx8JJkagAQhyLTPS+CFB4LBy2SF58u4z+/0KbAqR3IVJ9kThSJXnYT+3Hwm3bfsEfFoepzP+sKBDimL9gc16BDVLj+5MNjo/4A2JOVqeeWwwIcZxakvRfP4Di/Fg4JQ6sRBEgxIHo1y9A8XwsnBoHVmh1IMSB2MsVkHi87cqBA6u0KpCnODAEVokEulCsHwvnwoF1WQ0IcSBufQUolo+Fc+LAaq0ChDgQte7CqY+19ye5cWDFsgMhDsRso/DTxMZIQ1gDB7LICoQ4ELGNevbt8vX59VUb2uaz9hGvhQM5ZANSHAdmxxpNAP9zjOfXVz/OmubH6JMVPGFNHJhuFiDEgWh1F2Ccf7/8dN80t00Ir4OBX2vjQCTJgRAHYtVdAsPC7ZQkWQIHrp0UCHEgUr21e59xawkG0iyFA9dOBoQ4EKfO2t5OXb/6unufcaFzlP2jKokDI0oCpDYcCM5K7W+nQvvByphlnKVxYBzRQPCn0+ZU2lz4mLzn2t1OtdZup2RNNODAWKKB4D8ubf4L7Et0xiqfAP7AsnRs25eYFhwYWzQQdEIkSKFsAYbcTlk5tu1LTBMOjC8JEHREJEihTAkMq7dTkpo2HBhXMiDojEiQQlTNevHufYa5Y9u+SWrEgXEmBYIOiQQp5K3t7ZTRY9u+ZLTiwFiTA0GnRIIU8tT+dsrgsW1fIppxYLxZgKBjIkEK6Wp3O2X22LYvCe04MOZsQNA5kSCFuMLtlPVj274ELODAuLMCwQWIBCnML8CQ26k0x7bzx5DrFVZwYP7ZgeAiRIIUppfAsH5s2zdjSzgw/lWA4EJEghSGa/c+w8Wxbd9MreHAHFYDgosRCVJ4WtvbKUfHtk9nGFb7O+R914752qpAMFAiQQqPtb+dcnJs+zizx0cWf3LI6FcHggsTSQi72ykfx7ZY1BNlGQemdIYPJapWJLid8nhs27eHrOPAnIoBwcVrQgIYcjvl7dgWa3lcHnBgTkWBYAA1IBEYHo9tsYbH5QUH5lUcCAbhFcnufYbbY1us3XF5woG5qQCCgXhCsr2dcn5sizU7rhw4jq+x9udqgGDiHpDsb6ccH9tirY7LIw7MURUQDMgykqZpvtbyPgNrJeUVB+anDggGZRkJxl9TecaBdVQJBAMjEqSgu7zjQPpqgWBwRIIUdJYDHJOCVQ0EMyASpKCu7vAvUqkbVYYBqQeCORMJUlBVF+fXV7eqRpRpMCaAYO5EghRUVRVIzADB1iASpKCq3CMxBQRbg0iQgqpyjWQZkMLrQySFF+Dp5d0iMQkE60MkSEFVuURiFgi2BpEgBVXlDolpINgaCZHcoT9WdAKukJgHguWMRdKG8PP3u18vQ9N+Rn+suATu2/ZjXA96Xq0OyNJoliJpNzj+vPv1Btf9/fbmC5EgieW1wfHmv/c3P5f3oOuVboAg1rlIujjwehSRIIVl5Q0HUnAFBBOaiqQPB16PIhKkMK884kAC7oBgUmNIhnDg9SgiQQrTyisOzN4lEEzsFJIpOPB6FJEgheHyjAMzdwsEkztCEubgwOtRRIIU+ss7DszaNRBMUJAswYHXo4gEKRxWDTgwY/dAMEkgkaNcfL6kiOQxtVpwYMZVAMFEUxSRhFATDuwZAkEKM6pmJLXhwLYgEKQws54imdmBwafXiAPLRCBIYUHVhKRWHNgWBIIUFlYNSGrGgW1BIEghojwjqR0HtgWBIIXI8oiEOB42BYE85BD9MRuS6JHN74A4HjMjkMcsoh95QEIch9uAQA7ziP7MMhLieLr8BPI0k+ivWERCHP3LTiD9uUR/1RIS4ji93ARyOpvo72hHggkSB1I4XQRyOpsk39GMhDjGl5hAxjOKfoZGJMQxbVkJZFpO0c/ShIQ4pi8ngUzPKvqZGpAQx7xlJJB5eUU/uySSFXFE56SlAwIpsBIlkBDHsoUmkGW5Rb9qTSTEsXy5CGR5dtGvXAMJccQtE4HE5Rf96pxIiCN6eQKBxGcY3UMOJH5xRMc9qwMCmRVXvienREIc6daJQNJlGd1TCiTEEb0MBx0QyEEc5T+JQUIc6dePQNJnGt3jEiTEER17bwcE0htL+S/OQUIcidarpxsC6QlFy5emICGOvKtFIHnzje59CAlxRMc72gGBjEZU/gl9SIhjnXUhkHVyjr5KFwlxRMc5uQMCmRxV+ScCyVnbvvT075CXT3V4BKmADF+F302WAP61rGSdsaPRBAhkNCI+oeYECKTm1efcRxMgkNGI+ISaEyCQmlefcx9NwACQ0TnwCUwgWwIEki1aduwhAQLxsIqcQ7YECCRbtOzYQwIE4mEVOYdsCdQNJFus7NhLAgTiZSU5jywJEEiWWNmplwQIxMtKch5ZEiCQLLGyUy8JEEimlWS3PhL4HwAA//9O44MMAAAABklEQVQDAGCL7+uOGrzfAAAAAElFTkSuQmCC\";var ei=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO8AAADICAYAAAAA2bY3AAAQAElEQVR4AexdbZLbNhYENTnE1marlv7l+Aje1NaONgex5gZzgxnfwDeYyUESTVUq9hG8+8vaqnUqh4gHeQ9DWR9DSADZIAGyVaREgfh4aKCJhyZELQxfRIAIFIkAyVtks9FoImAMycteQAQKRYDkLbThaDYRIHl3fYBHRKAoBEjeopqLxhKBHQIk7w4LHhGBohAgeYtqLhpLBHYIkLw7LHi0Q4BHBSBA8hbQSDSRCLQhQPK2ocIwIlAAAiRvAY1EE4lAGwIkbxsqDCMCOwSyPSJ5s20aGkYETiNA8p7Gh2eJQLYIkLzZNg0NIwKnESB5T+PDs0QgWwRGIG+2WNAwIlAUAiRvUc1FY4nADgGSd4cFj4hAUQiQvEU1F40lAjsESN4dFiMcsUgi0B0Bkrc7dkxJBEZFgOQdFX4WTgS6I0DydseOKYnAqAiQvKPCz8J3CPAoFgGSNxYxxicCmSBA8mbSECnNuP6wrq9/WV/qZ8pymPewCJC8w+I9WGlKVNlvrt//bI21n8yFXeunfP/kwoXQgxnDgpIgQPImgXXcTK9//WmlRJX9tsWS2oVbu3bxWiIwaGwEwsonecNwKiaWjqqmqu4CDK4l3o2LHxCZUfJDgOTNr006W+SIaG3baOvLU0fhFUdgHzx5hy/yNo/WhSKggpRzh0MT7OJtR+B6F8SjEhAgeUtopRAbVZAKidceR0fgEFe7PTVDR0FgHuQdBdrhChUFeQ0o7ZLuMwDFAbMgeQcEO0VRzl025tIgXlWlAlaNyIp5pEeA5E2PcdoSLuwNsAAlLjI/oGnM6hgBkvcYkYK+N24uZtTd1tvaVTOab0P4mSkCJG+mDXPOLLktVMt92niR6VzGev7CpslX8+YOQ4DkhUE5cEY2KcHqZlQfuFIsLgYBkjcGrUziNm4t1l0+rpuIV8dB/J4XAiRvXu0RZg1WpPKVWYtrTvfZh04G4SRvBo0QY4IQStXgtKPu1iBrL5tRfhsyrc/Ca0PyFtSAQlxdCRWzdrlv7WpD8aovhsnSk7zJoE2QcVqRymcwxSsfMiOHk7wjN0Bo8Y37Ooy7fGwUxatjRLL4TvJm0QwBRgwjUvkMoXjlQ2bEcCh5R6zHpIuWue5wIpUPSYpXPmRGCyd5R4M+rGAh7tAilc8wilc+ZEYKJ3lHAj642HFEKp95FK98yIwQTvKOAHpokaOKVD4jKV75kBk8nORNBDkk23FFKl8VKF75kBk4nOQdGPDQ4mSuO75I5TOW4pUPmUHDSd5B4Y4oLO4pkBEZQ6KqeKUXF0hmzKQbAiRvN9ySpgI9k+rQxqq6Nbofhvb5xmde9UEPkJbkBYCIzCKJSPWlWr57vXyru7H2CmZvoHgFK48ZHSBA8h7AkcEXtEhVVffv/rl82Nbs3fc/3MsIfL/93vOzlrk5fzbYE8SuyUnersglSNc8vQK5fnkjo23bSPsWZj7FKxiUsRmRvLGIpYwf9h9D4RZ8qdqIa4TQG6D7TPEqvEWgMUleKJzdM0vgfj7su8vPLFss1JXePAvvFkDxKhA3ZLQFMjPm1Q0BJ1JZu+qW2pOqah91t7Hd6OsZmbdxoj4pXkXBhYhM8iJQ7JsHXqS6deQ8Y1czMusIfCZm0GmKV0Ew4SKRvDgsO+WUSKQKF6TOjNBRlaJ4FQVX38gkb18E+6YfSKTymelGaNziDYpXPqAThJdO3gSQDJfl4CKVv2o/yimKVwJCSRvJO1JrjSFS+arqRl9rw11tX0bbcIpXWySSfpK8SeE9kflIIpXPIrfyyhiKV6acF8k7QluNLlL56kzxyodMluEk7xjNkkak6l0T5z5XFWzds0F7F71rOK0MSN6B2zMjkcpXc9zc15hLN7f3lcTwXgiQvL3gi0vsOvLAK6niLDTodc9GRt+7WBsYPwwBkjcMJ0wstBsp92edq4uxbpfL07pnpHjFp27s0IUdkbwwKE9nlK1I1WK2uyB8qXDus3gbMl2oW4pKFTSLfEneoZoZfe8T+aOCFgzQ655NXs+fbqlxeUEk7wBtJqOOzvuQI8/pn/uh6oS8dWQoXqGaZZsPybtFItGnEFf/rmQFzR7p0p4wzLnPMq8+ESXuFP/rNw6vM7FJ3jMA9T6NdhflPmzj0vY2LTAD5Lpn/dkgxatA4M9FCyTvuWx4vg2BBCKV3sppfbRNW/mIMDf6Itc9U7xCNIvLg+R1MCR6w4tUy0SWnswWve5ZCuPoKyD03Ujevgh60stcVzto7TndJXgYkcpnGVK80tH3lzXyKZk+qycdTvImaF4hropUt9CsBxKpfDY791nm277z0eEUr6IhO05A8h4jcvZ7QITyRSpfJXELN4ypG03AVxbDzyBA8p4BKPa0W79sDNQllFFvUJHKeF5ix8ZYi7NFNAHnpXjKY/BpBEje0/jEn0W7g0iyxNfmeQrwumcpQLUB+eAWiwDJG4vYifgyimhHrE9EiT310Ci9semSxXejL3L+be2q8VaS2TzVjEleUMsKcScnUvmgcYtEnHjlixEZjvZWIosvNTrJi2q56YpUPoQoXvmQGSic5AUA3bh9kxSpfPA499lixStfWQxvR4DkbcclLhT9I3skKeJqEhcbLF7J1OMuzoB5xyZ5e7Z/c68SOepmJ1L5IHKjL1a8KviZVz6U0oWTvH2xxT8JEjmX7Fu7s+mdeGUM7JE5Bu3FmOm+SN4ebXv9/ud1j+TPk4qC25Dh+bmcQ5Drno25bLyZnGuchW0kb8dmSCFSiSlFjbpir9uc+4z80X5V6f1ylzff/AiQvH5sTp9Bu3ciUjkSnC41+uzf7j5eHu/RmYQlQP9on+LVGdzzJe8Zw8c83bh1SJFqg15J9e3dx9W39//5ZKtqfbxL+FrP/+XuY43C0V14rMV5DtZSvDrTOCTvGYBaT+NFKtxifzFYyWmebPSR81LPX1TVJx2VJQlkay5AFK8gaJ7PhOQ9j9FBDPi9SLBI5YhrzKUJfFkZmZEjsFwUkBcijr4n2pHkPQHO8SknUlm7Og7v+R3mav71x/+q0BNM3K3dMgKvUQR27rNckLZ59/7kumcvhCSvF5qWE2iRShRa19lbijoICvii7m9lbdend9QXEaN1gDmwC5KUpU+cpHglQBxvJO8xIp7vSUSq10tYJxf3t18Hr6o3nqpHB7sLkrU495niVWsbkLytsLQEou89Av+upHGX6xarY4IuUa6zKxS87pkrrxyqB28k7wEc7V8akaovOfYzhz0JUgnXw13etwl67EZf5LpnYyheHbUQyXsEyPHXJCIVcDmhiE393OW9Cv9+9Wqz97X3oVvqiRavels1nQxI3nNtmblIJeZHq8uSpm2DEnevANi8XvJU8UoVdTnkRvKe6AOTF6kO6l6hFlcc5OrcZ6x4tZJpTH1QyEy/kLynGn76ItXX2lf2Udcmf/0OPXgSr1AjuxKXo680EMkrILRtcnXXDqIdpe10l7CcRarN/69eJRl5FSg3+gLVdWPtymkRmvmM98WM6+6tuhC3lg7SdcFDe75A5RUpUqmxlQXek9UMW3YnXhmDu0Bw5ZXhyGtaXvgnQd42nbelsLggXUklKVAilWRlHlKOulrA1x2oskuesxevSF7pBftb444hybERtxGmuNqnXwvtm9zr+MsAo+7WQMFhY6oK59FYcZ8/rJFTm62pRXySvMfNhHbHgHM90EqqrzWWC8Et+t7u18z9ByqMbfyno84ocVWbiEo0lcgk715LylxXO4J2iL3QXodZi1S/vXkJ8whCUXKjr7W4cnX0/WWN9JRCqzJ6PJK3aQIhbuYi1UIvLI21/T8scuVTpDngH+0bg/aWIuszVnSSd4s8XqS6x4pUdrU1FfC5GWPUPbAbLV79+hMSnwNTc/1C8krLJBCpjLiHsJ/EySgJW78s1TUiUi31c8xd8NmIeHUPs6Gqbpz3BMsw/4xIXm0j9Ppla2HEHUukUlgG2HFzX2NUq4BOLUzmr9mTV67W2uBIwQP2dyUJfu43vru8Rwg3+gIvdMbKraMZiVezJ680OO6+o3ZM4EqqxWLxRrNE7XZEkcpbh6d1z1x55QXIf2LW5M3570qmPupuu6QbfYEXPMm3bn4NJofT3mZL3txFqouqWiO73hDrl7va26jyuNFXxKuutrSlyzVstuSVe4M618W1i7VZi1SDrV/uiij61tGHNVSh71qtlOlmSd7GraJIlbJnRebt3GfsuufJP/NqluSV+4vYqzJwzjYLkcpPbOy6Z/QtQL/do5yZHXnl1hCWuKLgNnO23g04F5HKB5Qbfa1F3vud9H/9jkFeX9slD3cilYUuM1SbYZ1NRCrohSVnkUqBa9vh654nLF7NirwpRCo3WrT1wsiwZiUVcB5e3WcvUvkwonjlQ+YgfDbknZtI9Xn1EqZ+7/cYmXa4J1jI541i6ryZ/QiAY3dBlOkIIKunLCb6dymzIS9Fqqd+3PXdkfX9z5+Mtbrfyuetw/TCrq8lXIncNW9POth0RPKv4V6XZDr2NgvySseDziWl06J+7mdyF6kEu1rIuXZkfVr839Zna8HkTuLC7p270ddapPdwmcJLaANjqLDJk9c1mLXo33rCRoWcRSohYy2k/SSdMWwubu2tI7okgGxc93wSxsmTF+4uVdWtGxVOwhp28tu7j3pRCSNGWJbYJ0F2e0AB7PaMwxl4D10grOWChPXCJNOxtkmTt5mHIcmxkQ4FGXXVXVZXE9nwn1ffwX5k34yg3bAD3p5x99DR4tVEnjg5afIKOWBzMEcy4JMgE6ykunU2At7cVMOYbsQ17lU3ebgvgW+nokEumE0BtXxi+4VkOMY2WfKKe6QNpA2FwnU+T4JEPNBt8QjDXrydjcy9ceKVaCDgiwuqj0XlM0nyCnFVaIGNRA5R4MKBzEWqO6kvjHiSF2ajePUMx0mSV67S2gGfVbZzAFCkyvnvSpqLnoponaFKldCNvmjxqvAnTk6OvI071Ge+dtz/YCKVZmxz/ruSbuqyVuv5/rjYPA/sF+LEK2MeDOolwpq7YKHyw+UTlNMiKFZJkRDztf36AkWqZv0yzCWVCwHs70rQynxDtH0kMcfA6YsYpG2h2ogclrdNirxyFdWG0AZBtcR8RCoZhVCgicp/D8vrKCPnPss05ii4+9eC1z1PhrxCXIpUHbuwYIe96P1h9Ef1Ha0JSqb5o9zyGr6QJ6gK/SNNhrwUqbp1BiEu+qIH81Z8NXKjr7XIe7+wVWE+m1OET4K850WqaOgoUkVD1iTAKsJNps8/+KN9YyZBXnF7sLeG5iJSPf27AE6ZryrYr62e07UlBCxeiReC7UctJiODiievAI6dr8mtCJRSquuXK2uRi0Wwf1eCVubTz3UP+r5zn+WCcRDY50th4lXR5BXioudrxgDdPvT6ZZnXw+Z5gh32oickQl30IvkHw0TKLUq8Kpq80pmxbg6wAyYYdR8+X70C3IIxRoiLv+gNPOoK0dwGH32NuWw0I2r0sgAABSFJREFUFJd/zm/FkrcBGDdfk1aSjgBb/H4B/ruSL9bCbINf9IBTDWmGLhty9DWioahX0sWOQdMUS144wF+qJQr5rFdSoUUqBa2qUPdcNbfoXS66Wj5u2aQx+qP9OtqQgRMUSV70Uj7BHHZvMoG7nLdIJeDJSD5qR3fTAGOQXlhtjHkje9ZbkeQ14MX9OYtUVubhqB4knVzdQe2YqCy3+Vxe6xMkP6zvpIw7vbgOsn9Y30h5N3Lx0OdsmfjXiRTWrk6czeJUceSVxpqTSIUddbG3rY47cC0kWrldL65D7Fof3Y8twXxPcZHDWNbkUhR5nUgFviLKfAkmBIlIBb2wiEgFm4fDL3pNB5ryh2CWNYGLIi9cpLIWRlyd60pHhs27bFXhfu6nD1yz+buBgl9e2x+G5DWAl86hJBsYOSSvh2Z9rBz238CjLtpdhnoE/dFiDggEsCMvwiJfHlX1xneqUzhwJVWCUReyGENxaVw/5EVPs+WeAQLlkNcYXAcUBRe5lA+8DBI76j4+4nAzM3t9Y/T+scn1VQR5G5cZhiFSpNJRF/njA8kLNg93gC0W/3KffItGQPoJyRuN2nGCxeLvx0Gdv1uLJUdnQ54ntCJSwf9T11Koeo50UAhyxVZQgbGRihh5pVK17IgNKlKpQd8Y026biX5h3WUp3t1ak09uHRCwVh+10yHhcElKIS/GfQGKVOgmsjIPR+dpMp+zwesLzBB5JwJo1kFWZZD38fF/B1Z3+SLkQIpUWxNAbi581FX7cp+zqY1Z7jJ9ydKuI6MKIe+i98grHTnlXLeXfciVVEftq1+zn7upkRntD9JXsD8xTFS5RaJ8odm6EVNGzs6ZAn/u12ZDH5dX0sJWUrXZZrDPeWot4mxgOREe3v3j37AlqamrXQR5GxC6XQ3FBXLkbzJJ8fHbm5dqW4cRrrpv0qYwy+Upo8hGCIx8jpbLd4JvRRFX8S+GvE0nfCFGb2QP26y9knRKrLD4PWKJ66tueTCBdcT9vHqpaXqUGpz0RxLYi9XGiGdW0oi7rUkx5FWDhYgb6YRL2c+NJE8N8v0PsGWGWv6p/ferV5vPq++WSkqJt5Hdt20qa5epR9z9whU32d8auZhJePAFRuJOedtoPxLSvkjtmaUCsSjyKgjSCTeyvxXgX7jOqHPh3X4rjVHJPlqDKCmFxC+UoMZUevFQsshe3WuYngMp1Cb2pbc/BBu9+O2wM0Zsc/vGGDPl/UH6zL3suz7yevnWDP0Cllccebd1FwJvXGd8vVTXeLtn0xhKUHWLhazLp/3llYZt7R/z8wA7EWiU0LK/mPi+lHprP8mmj/TtA8WSt2/FmZ4IlI4AyVt6C9L+2SJA8s626Vnx0hEonrylNwDtJwJdESB5uyLHdERgZARI3pEbgMUTga4IkLxdkWM6IjAyAiTvyA2ALJ55zQsBknde7c3aTggBkndCjcmqzAsBknde7c3aTggBkndCjcmq7BCYwxHJO4dWZh0niQDJO8lmZaXmgADJO4dWZh0niQDJO8lmZaXmgEAoeeeABetIBIpCgOQtqrloLBHYIUDy7rDgEREoCgGSt6jmorFEYIcAybvDIvSI8YhAFgiQvFk0A40gAvEIkLzxmDEFEcgCAZI3i2agEUQgHgGSNx4zptghwKMRESB5RwSfRROBPgiQvH3QY1oiMCICJO+I4LNoItAHAZK3D3pMSwR2CAx+RPIODjkLJAIYBEheDI7MhQgMjgDJOzjkLJAIYBD4EwAA///Fol1bAAAABklEQVQDADi0p/r9hNzAAAAAAElFTkSuQmCC\";var ti=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAABOFBMVEVHcEy97COy3y1yoi603zhfjlp3pTJ4p0mpz27a6tcuY6Gz4S9pmS297CQgV50dVJ4nXKGWuuqdzCey4SOevuudwfSLuiVqmNdThMeSwiX///+exPdfjyuZwPSLuyRomCqOtuy04x0lXKZjkyqw4B6OviRxnNaVu+6BsSWVxCKr2h+byiGYxyJSgsKezSGo1x+SwSN5qSdKe71tnSm76hxxoSl1pSh9rSYbU6B+SBgtY6yj0iG+7hyHtySBquGg0CCGruSEtCV8pt13odpqltFZiMdlkc43bLVfjcqKsee56By35h2l1SCt3R5Ddbk+cLU0aK95quuRvPSEsu9roOWycCVdld9NidjBeyk4ec/RiC74+/Hq8efh7cXL2rJ2OwHO3u7Bl2+ty3+tzNbRtZzJ6HSWumCTaUlth7IzAAAAGnRSTlMA3GegQkJuEicObYnMry3To3G00EOj1K3c6e9b4CAAABpASURBVHic7V0JQxrJEsYTEI3GJCa7iqCgEHVRHwi7ind2s3hsEjVegBqJ7v//B6/Pme6ePqZhEHX9BpjTnq5vqquranrGUOgFL3jBC17wghe0HeFOV6DDiHZ1d7oKHUW4q1zu7XQlOomhcqHcFel0LTqHoQJA+U200/XoFGIFjKFOV6RD6N6j+G8awu79vX2Mva7/oiHsndp38abTtXl49E5B7E8RxDpdn4dG5M0Ui3RzfWG496m2nXBXWoBtTxDt7R4CXtRT7UBiovzptM21DAPhC2WIJ2s8ut8cCnjjNyyKdg/tQ/8JuRBdba1lW9F9MAdxOEfhzxnojU0V9goUe0+YgFDvmzkOflSgd2h/j8NTJiAUGl3kYFSB3jf7AqaeNgGh2AELg0ELDwG/ATsOeAZ+n7wHFVs7WENAM60KdKenJHiq3aCDGBR8cxP+rK1pLmdkKD3l7TrT6dGHq2qbMLqJkIPfnNIX6J0DHWUa95dpt+tMHz59Fzo8lnOhup6xOdFroHgGgXRkYd6FvCeMzalw8FRjARa9CwDz8wtwkl5Qobdk8eZZ5BNHFxyMSXbzfSWHzafeC2KEf/lIseS9orE1DZ6+DUToX3LgaQO9uU011N3GE8PYDMLSzIzYBiI5HeY7Uts2oHdyhoLvB8Kj8zo8fTeIomeSglfq7gUtnksLAJq+TjDZw24Of9RhYewZ3VoepQxwWh2DdhF2Dksfl/AXb1jCa8/ADXQQyW4jZEvMVe2bEbGEf/Hsl2ekAEAFsgDb4NPnbuvxEMDhOSkAuNrZbAlykO13NkWQVVyfVOA5WQCIsRKGawX717Xo1xT2FNG/vFwCU9GxguGxbTXW13t0hT1FRIrLCIPOhqwWz6wBAPQUi5CDorNeQmahVMqiicyyWbzy3BoAQF8Rg17awZIGz1D+UDgPpF8prpCIOEyahAylQX1RTxQ9KwjEEehDohbJx53AWvHZGUCMvpV8Pu8Q0F9UYXnw+RlAhHAegRBA9AEAtgs8x3im1x+ghyVgcEWB5yt/qD+RSOQTlIC8HM/R/lNEEpABQoBc/MFnkQdXITwIGcAEhKEyeND/TM0fRU8ikUo5BHjQ86wvP0R/CgBfZC8Bg32Gv34GeAXknyAEpHj8F8QHgATgJY6Aif+I+KDvm5igbv5ECk5A+InB5276GPRMTFA/B3ABMdj/7C0fi76JCeroAC4Ge/r+O9eeoM919IzNPhyO9PX1I/T2RcKPmqswqGgPRH9A1xQU2DM4VlwulWCOCGYJx8ZG+x/jrbJwpL9nbBsmsgBQML8y2CINoMTBlSLOFGACsjBLur4+OTMzFut9TJoQhcKvb8MbHkT+ZRjQg5BucLBJEsL9IEqCETLOIDoqAOVH95iXxmKPxGxGusdAjSbX1+EdL5jJJPKTuB5GNj2WJj7Sj2JEnB2QEoDvJY52vi2Ee0d/AdLDOzuEANoCkAKsoNAOObi+LX20rycFIiTCgEoDIAELC/Njnb1vFon9gu5fIvl5ApYFAkD0AzgwPzoZ7R9MJYj8eZUGTDoE5OY7qAWRUXQne4bTgKxrA3gCIAWpCQMH4X7gFOKjgfj5FWwENATM5zZzo52xBZHRBTTeyyVgXWwCgIL8iqsBCeLwqosEThERP8FqQFFHQC63Od+BdhBBg/4QAUscATINyDsagCiYkPr8oOlP4CMoASsmAj4SAjbXHloJojE47hUxICOAsYJIA4gKYAYmUjLHHzT9CSR/IuUqAFSBoktACXlCggbMIwIONh/UEnQv5HKIANoEZqQaQFUA57xSVANSJPhxrEG0rx9FRClGAYgOuFYQ3TNUErB2cPBwYykjozkiv9MEZiQawHQDCbYJYPkRB8A/AJ7z4CDdQORPuSrANQE9AYujD+QadufgiH+WAZMGYApSCV4FPEjxKsAaAacbYAlY+riArSAhYO7NQzSDyOjmmksApwGTKg1I5OUa4GEg5TECUg3gPCFkBREBi3Pmx7FaRm8OPfniaQOMJ5RVuIKsFZSSkGI7AVcDDK4gS8DcXLsNQezggCMAy7/kaoC8H8Spfyfxp9QBrwrgO4ZyAj5SAjZdAg5H2/qajtiiS0CO7QaJBqzjYMisAWYbkKeuILEBJY0nxBJw2MYXlUTeLC4KGuAxgoIGOK5gnjECE0oVEI2gNBjwdgMcAYdte0sFlB8QcCBogOMIyAjgoyF/vUBCcAWLgiuoJmAREdAuBuATwA4BmxwBS55oSHQFOUdAZQRdCrD8ibw0GOAJwG0AEnCACUinDw/bwUAEPgNOCFgzEoA1AGVEsAb46QhTnC/MNoFlMwFrjgak01NzwTMQWZubYzQgl1P7wkgBSm4TcHzBlCu/igK2G7DTAI6AqamgGYgsHh5C+WUEeKygKRw0aABnBX1qgGMFKQHpYF2iKHwNxBxhwLUBoivIEFDi+0FqA/T94IQoPqcBy4IruCRzBCgBweoAkv+QtgHREzIEA3lGBQyekOMICJ6QzBEwEbAfJAMxaFkZDUAEzCsdAUYDipwGpAy+MKFAtIIKX3hJ4QkRAvaDe3kdfBMMQ8CByRNS5YX9a4A0HCypNSDHa0AaEbDfFZBP2Iu6VrcJUCMwzxkB6gv7jIa0NkASDnqSYp5oyOkGHAL2gnnpQrRryiFA1IB5qSMg0wDOBqgYEGwAEwws6wnYJATMuUYAElAIJDYcmkpLCNiUxMOytGiRswEGX1jIiWnzwjN8TmgNp0R4Avb2AjCE3bBT9doAH02A6wYYV3BC4wh4o6E8pwElVWJ8U6oBhdYNYRTLn5bYgJwxK1h0bg4K0ZCyG/D0goIGSAlgkmKuFcQaUGj5sfuhKVYDNEbQ5Aj46Qa8NoDLCcnTogsSArAGAAYKhRY9wu4pkYBF7Ac4GrCgIKAkSYxTBtQpISYadFWguKIjYF70hNKMDSgU9ltrBF37pAlIPCEtASZHQEZBSswJeTQg6/GF5QS4TaDQ2nv4Yvv7rg2QBwMeAnSOQMrKERBdQTEvrI6GHBWA72FroSeIdOFXWSk1QH1nQKcB8uvv6QbcrKAiGpqRETDnGkFMQCtvM47t+yLAGw5mFUMETIlxhQZIs4LKvLCgAeXm7WAkvb/PtgExJWIKBhRDBPyGg44NKIp5YUNalNEAaATKTccEMSK/1BPSNQFpXph1BJQ5Iewmia6gGA6a8sJcN1Aul5tUgSh+H7C3CUjywktcXlimAawKKI1ASuIMm0fJOGlRLinmEFAoN/kuwu49SoDCE5K5gtsSR8AbDJiygsL9YQUBS2I4KHUEoAo01RFEu/b2NDZA5wtrNMCJBzUqkJBpgHqUzAIJBmQagN5H2uQ7eXv3HAK4eNDOF3ZsAM0LJ4j0qeL97dVVvYZQv7m6ur2/z6eIFghDBPiEQFZJwIGsCUANaModHFIQsCgQoPKFhZyYowFAwpXbq3r1VwQyI6jWAQ+JCTJSinUFl1U5IdYREDVgn9iAcrmJxEB0b0/eBEQCVIlxaV44NZG4v6rxUosALNyvIEMoGgFVUiwnT4tSRwCgCTPYvefRAMYGmDwh/uYYVYGJieWrmlZ4h4Sr2yKgQBoMwCYwacgLpwUCyvZtYKjAE5BmbMABmxdW3BnwDhRLJe7rvqQnqN3e05tD2rywJxriCUBNwL4NRLoKRAUkvvCBkBjXEUBUAGi/nfi4MdyupBKqflA1SESqAdaJke6CSgMkWUHPcFkmGMAEJBL3/nTfA8BB3mqUjDccREbAtg0McQRMSaIhGQGSnBgiILFy1Zz4ELWr5bxqlIwnMS76wlQDrN3hgk4DRAI+MsOEuH4Qh4P5xK3e7usB/hZ0CytmX1hFAKLA0hfqdQngUyKUgDVBA5R5YSB/sYXLT0mo3xaLegKYrKDXF7buCGM8AVwTWBS6QcV4YUpAvtnWLwBSoAoHc0oCCk4bsIuJhzABXldwUUiKGW+N5G8DER+idgvcK2kwMM/7wk5WcJ8hwCoginYVOCOgzgqa8sKJ1tWfo2B5mdWAGTJkXuoLt2IFI4WC2Qr6ujUSqPyIglKJbwIfxWDAmxUsW1vBbt8EqFxB7Ajkg5YfmsP7UlZGwJqaAPtuICYh4FBFgDorGPj1x7i6z25rBokoNKDLZjD9EPrXLuqEgDktCjWgTfLDUGl920yA4AhY5QS6ykQFFFlB/TAhogHF4Oy/B7VbxIB6lIyQFrXsBqL75XITBMxwwUDxvn3yA9SX1n0TULAlIFJQEEDbgMQXRgSsM2nRbZX/E4xfBNvBpGrEuCwYsOkHewtsE+B7Ac2tEVYDSsvK4PcyKNNQu530RQBhwCIl0F2mGuBNCIhpUTkB2WW1Abi8/NlKbMSgejUzw7uCIgH7jA2wICDGEaC5M6DMC5fu1TJeAgSlBNXbGW1WkLUBFo5ArFwQbIA7UIzLCsoGiiECiprsDyQgMCX49UqRFGN84bK1Kzik1wDVeGGXgJKuB7zEsE6QKVC9/WhMixYss2JDjgYIVlBPANMEdNL9IAz8DIqBK9QGvASIrmCrGqC8QewhQKsAVAMuL39YdYg3440bxa7a2oI5MW5BQPSNVAN0wYBAgFayHw4DNkpQ3fp99fPFzo3cdtx5hggwvYB1TggQUEYU8GlRfwRMrm9n9T7gJYOf/pWg/vnz59XV6YsNqR7UNzWJcWsCusq4DfhPi3JZway+k2M04PLcokOcBRqwevEZcJCR0Fa9y20GSgDTBDxZQR0B8PFR/WW95HDuu0NsTEMCVi8uVldBU5AyoA0H7QgQ42HBE9I+QGyIgn6csxrgXwmqXz5j+S8AEatnDQ9x9cVNeTTULg3wjJLBGpA1hMGAADSdY/HPfSvB7OcLOOGf1c9ncfHPqnebirxwwZaAgmgD/BIAVEDrBGACLqnwhAt/XlEDCQ+VAM7gQlJsbHcuAWkxIWBBwFXZ6QYEAph4eE06Tgq2AcP1/HEO5T4/dxUBwI8S3BDBCQWIjh2BgjpuA2mqAs3dGvlUV7mCh0I87E2MT65r4iBCABH//Nyl4tyHV1T97cKDz6I9rKUXRVewbHuDOPphtnqnywurnp9FGrBtyoT9OKe45GZmr2jWSwDELk/BHfvo2J7bDVgEQx8utn6t+yXAkxU0GXWXAAE/TM2gIifgQnCO7hb5hyYKtuFw9P3FRQaY1D3J/VEVAYwGmAyakoDzcwN3NyoCLi5mWQrqUkfAQgMAARcNyICCAEk05OaEzAR8p/J+5+bfz79/19tCQMCZO8EP+sI1XgtqU5KsoEVG6D0sFJRXlybFNMEAGi5rsmaAAGaCP/QXznX0Vc+I3Ojj0HCBqeDM4d2hJy9sR8DF2Z916FmowkHNrRFTS/7x/TsRnOGAzrRKUP3rTAWsDRsO+dU7z50Bi6zwACrzT1ha3SotilxBHwQgafGX/tLZ9+9qr6g6qySA0rDlUFBPCxpgQcBbXNynGqJyyicBxBeeMciPNMDBOT/HM6US7BgIgKhQCupCN2BxY+Tt2ekZ/OygitS90dBiYATIofKKNqCEp/h7enbmLJw6EwSNEWr7XFrU5s7Q2ekpKO30b8RAFSiBbsC08MxAEASolKBCKga/cEYXmM3w92wcEwi112kCexY3R6O4IFAUHt4FCqKPzhnfIxEMAX98l+pA8tSIM/zToAw4TcBqpOAHpzgywA0YVV1WkPWEJo0E/GHEtcIprJgJcHjA2UPIAPaErMYHvCfFnJyeUgbqHhsgJ8BHL3BtEv8PVVhQobVCX36RrJ/gHzD7htyCO6oBViNE3p2eYICC6CDH+t3hoegLS0aL+nCEDARc/6vsByunpFYnpyfuEq3sCVmhP6cVSEGdaIAVAa+Zk5xe0Ut6l1ZpAJcXNrrCegJU6g9Q3WDrdcJIDpZm2XW6FaZP61gDrMaLv+WKcUKU2t2cjoAln7GAjgC1+kMCvp1Y4vQEdAh1+2fnwrsn4FzodPDHDdLq6UUjAcZwWEPA9b+6BlTD9QGfHfi7Q5bwAt1O6oxmcDppVKuwG7R7cmwX/Cn8oB+GAeATLC4agoHmCbjWqD8m4But1wnz+YYkddfA7w7dCrdt3UAG7MbLv/vG4aTh1qJ+aHh60pgRUhFw/a8pH3BC6rPzTQ2y74TZdFK5KZet5A+9Fotlqla9OzjwEuDGw0umnKCCAL36Q4xr5DagYfnIyNtv37bwXx6jDyiBqUjtbg0bAdkwIWM/KCfg+tqcE8x8g9XacupEAbds4V1wB/o9pgKQYy0fGop+Oxbwjb0TU60vbrqJcTEpZlBkhQaY7w/VxDoxtTOsHx/bPj275T0Hdy+qere5qXh+1pQWlhFw7WeswI2aACMqts8MvRNLSAIGuErW71QPEBtuDPz0EKDt/F00WiBgy/YdAq+PkzyOj46PhdvS9bV5+SARvSvk0YDrP1RDPzhUk2KdLPDOUv5QJHmUPDo6PnK+cD1Z4UWrQgqs7wyIGmDo/B3Ut5JJWBP2I1vyroM/syYgWjlCgEUlyRwuCrLV7uYXvGlR/f1xngA/1h+jkXRqRHEsLiW9e9Cm5GtbAkLvmNLYosTb8rW7hQXxDnlWZ9GqHAGa0E9ALSOpjW+8tSbgraqohihd/fbjR/6fjejHyLAE+FV/gCs7iQVYyx+KHsXjcfiFP/gDvnAh47lmmAKXgG1tP+AScO2j86eoZo5oXejErsWdRWavOyXtCQi9i6uQufIMzQAULLFvEtHptUOA2fdlcHOkrE88Tq+VEtY2UEtAPO5pBlALZmacEePaUTKEAFPox6Pa0FRnnHzZJX6vvQ0ERgD9LZjgh87IcrwhucT126VJOl5YN1QSE2AM/XhcHeEqkLrQqtCNdIdzDKkw3W1vAwGS7nl48cFX0gx+hc95z8Cnudb1KoAIsFJ/aAEcwamkcaY+4+McOXHuUIBkU++SesdRPS4sS5UAtYRt9I8W1FYAEOC/8ydo8MJ6KuPdyPHRjAmAbWBch3hDpgRQDe7Xs7oB8z+vLdUf0JrRVsWIplpAKKQnQKkE6BUo9yWlCvz0Ffpx5TVak3+8ybepvTOVq1ICWOeaUsif1g8KtCp/cy0AtAFz0UolCBI3JlU0oZlOEMFPy8v4fDNQ86i3Kv940+9VNbYBCE07CAQtG4DxZLPyhyJ+uEduUfsoaF3+5luATxVAblHb2kGj5QYQb+HNwq+pm+k4xcyMTNQzbAsF1ZujceF8ykl2HPw02wdARGk4geRkQ4/xOBuAwIV2mAIxBBrnIx0ictytC6mNe3GaDIQcvONOypRKNtN18DlKNoLWghonyrh74vH4OFsvpzLeaHA8nmlFfhQS+sbRUbANoWZzciVaaQGgDeiyAjIESMFNBpbnOQHz66tCTcYBjgpk4hnwcSe67v3g6SjTMLwx0h9q46hM4ZTemrgr3I9zVGsKAIBOksmws7g7dz7sxowkYWR9+ePkhEzxzNfZxyxxlaEMtaoAoCfMMIhndHD3JjM3LXFQG09qz8QJra1VpVX5Q9GKuSpeJJMZ5aPORlQbGR/y+0NLfSBRgSSSJ4M+sGL0myHbMu7OZDJJ5mixoXjUWX/1G8kkLQ6f0Tmhc66Mu8s9hq8J/ivre6ISDYgmsTi+IB4Yt7WIQPmDRAAKAJyhVmpwfJwc920PajeZSiUo2SEqgfyzrchWElSr4v6wH88kWalUMoAEgyZUazfxChLfUwqZ2BN6F6R/EYgCABWocEiSrxW2IAkqFqo3N+OZrS1zKXanTW4E9N/WonzVtsjXCluVra2NjQ3IQ+MGMIEBlhrjmQrc4Ud+y9NuBaQAQAW2ggQUFw/pQitbG4GWzp4osH/BHAV1RNXk67ohmW2wB8lE22CP2pAfI/mTDcnqBrPBUw4gNjAFAL7AxhPEbnDyh6K7Gxs7G+jLfjboL7eJru7IamWBHbd4/uTuCekRO/wXb2s5CmDxeufJ4X2Q8odCs7Jz7DK//DYzduGR/g72HrUr3cWvBPYvVzHe7iqxo96lwU7zf6o6N7cSoAXEeN9qXR8Ws4F1gRTRWQ92vau79BMkdp1zKU4hWQ/UAmK8Dlaq9iJgC4gQfT/7CUyzzK+z9omuyycFlDvYIz7RM3gL5TYz1Zj99ClgC4jx9tNTwV+BW0CM93+1qb7cUgAnaUcDgIh++Otx4hO/+HdbGgDE2787JqMF/m5TA4B4//cTQLsaAMKHTktnxp+Bu0As3v752PFbG1wgFq9/67SEevzW1gYA8eG3R40P7ZY/FHnUDHxoWw/ooq/TQuow0H75Q6GB/z1atN0AQERDHzotpwrtNwAY4dYY+CcgcT3lfrB5UU5L6PvnUaLvoeQHZoCc8otQhS/SRWt8ERa+OKtfpAXjTQ9iAB0Gvpjwj/GIgPGg8gN/6KHlM2HkYeUPhUc+B4kvLR74ZeTBDKDDADjtV7cGX7kZXfiq2sge/hV+vjJrwoK7Kj8Q4cHlBwx8fTT4Mvzq4eUPhV51Wm4XHZEfuAOrq6tf8fcrmugP96Xb+N3OTvKn3jLEI9hjv/J/2CH5QWe4+ijwwB0gz8C0U41p8mU28RumV8WVafcod+c0f5BmE1no2PVHDEyvThOsMl92G92wyq6xO9AeZ/Oq8Bd8savsZrzWweuPGZgWxBLE4ERlFoZHRgYgRkaGhZ2rbhHaEvC3o9efYcAGq19HBrh++9WAy4IlOi5/Ewz8MyCpdfjVQDMcPAL5IQO/85PzmXZndOVrDwhaFW7bK6AH4p9Py9bo1Bn/x4sBptJ8PXk+gPgD+pg9PDDMcyeUyH8ei/zAI3JrRYAq7Kzj5ekRPxmLVyP0z0gJbCG/s8U+dPynw6thR3SGBW5teMTn9QoDCvygw90fjzDLgAzDAzbh2qsBQ3G/P5rm70DHgO+Lz5Y3MKwj4TGpP4Xqqo1YXXwGYegeyIt8bJefoH+Yb/+/Dzdz7XlAFkaGXW0ARTZL6EMAXrNhp6KvArtQ4VcOgiryBS94wQte8IIXhP4P4nVznqPTxGMAAAAASUVORK5CYII=\";var{TabPane:Mn}=s.Tabs;function si(e,t=!0){let n=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(!t)return;let o=document.querySelector(e);if(!o)return;let a=!1,i=!1,l=0,u=0,c=0,f=0,m=0,d=w=>{o.scrollLeft=w,n.current=o.scrollLeft},g=(w=n.current)=>{window.cancelAnimationFrame(c),window.cancelAnimationFrame(f),window.clearTimeout(m),c=window.requestAnimationFrame(()=>{d(w),f=window.requestAnimationFrame(()=>{d(w),m=window.setTimeout(()=>{d(w)},80)})})},p=()=>{a&&(a=!1,o.classList.remove(\"is-dragging\"),window.setTimeout(()=>{i=!1},0))},v=w=>{w.pointerType===\"mouse\"&&w.button!==0||o.scrollWidth<=o.clientWidth||(a=!0,i=!1,l=w.clientX,u=o.scrollLeft,o.classList.add(\"is-dragging\"))},y=w=>{if(!a)return;let F=w.clientX-l;Math.abs(F)<4||(i=!0,o.scrollLeft=u-F,n.current=o.scrollLeft,w.preventDefault())},k=w=>{let F=o.scrollLeft;if(i){w.preventDefault(),w.stopPropagation();return}g(F)},E=()=>{n.current=o.scrollLeft};return g(),o.addEventListener(\"pointerdown\",v),o.addEventListener(\"click\",k,!0),o.addEventListener(\"scroll\",E),window.addEventListener(\"pointermove\",y,{passive:!1}),window.addEventListener(\"pointerup\",p),window.addEventListener(\"pointercancel\",p),()=>{window.cancelAnimationFrame(c),window.cancelAnimationFrame(f),window.clearTimeout(m),o.removeEventListener(\"pointerdown\",v),o.removeEventListener(\"click\",k,!0),o.removeEventListener(\"scroll\",E),window.removeEventListener(\"pointermove\",y),window.removeEventListener(\"pointerup\",p),window.removeEventListener(\"pointercancel\",p),o.classList.remove(\"is-dragging\")}},[e,t])}function Zl(){let[e,t]=(0,r.useState)(\"quark\");si(\".account-tabs__nav-scroll\");let n=[{key:\"quark\",label:\"\\u5938\\u514B\",content:r.default.createElement(st,{qrcodeUrl:\"/quark/qrcode\",cacheUrl:\"/quark/cookie\",checkStatusUrl:\"/quark/check-status\"})},{key:\"uc-cookie\",label:\"UC\",content:r.default.createElement(st,{qrcodeUrl:\"/uc/qrcode\",cacheUrl:\"/uc/cookie\",checkStatusUrl:\"/uc/check-status\"})},{key:\"uc-token\",label:\"UT\",content:r.default.createElement(st,{qrcodeUrl:\"/uc-tv/qrcode\",cacheUrl:\"/uc-tv/token\",checkStatusUrl:\"/uc-tv/check-status\"})},{key:\"115\",label:\"115\",content:r.default.createElement(st,{qrcodeUrl:\"/115/qrcode\",cacheUrl:\"/115/cookie\",checkStatusUrl:\"/115/check-status\"})},{key:\"baidu\",label:\"\\u767E\\u5EA6\",content:r.default.createElement(st,{qrcodeUrl:\"/baidu/qrcode\",cacheUrl:\"/baidu/cookie\",checkStatusUrl:\"/baidu/check-status\"})},{key:\"ali\",label:\"\\u963F\\u91CC\",content:r.default.createElement(st,{qrcodeUrl:\"/ali/qrcode\",cacheUrl:\"/ali/token\",checkStatusUrl:\"/ali/check-status\"})},{key:\"guangyapan\",label:\"\\u5149\\u9E2D\",content:r.default.createElement(ld,null)},{key:\"xunlei\",label:\"\\u8FC5\\u96F7\",content:r.default.createElement(id,null)},{key:\"yidong\",label:\"\\u79FB\\u52A8\",content:r.default.createElement(sd,null)},{key:\"tianyi\",label:\"\\u5929\\u7FFC\",content:r.default.createElement(ni,{api:\"/tianyi/account\"})},{key:\"123\",label:\"123\",content:r.default.createElement(ni,{api:\"/pan123/account\"})}],o=n.find(a=>a.key===e)||n[0];return r.default.createElement(\"div\",{className:\"account-tabs\"},r.default.createElement(\"div\",{className:\"account-tabs__nav-scroll\",role:\"tablist\",\"aria-label\":\"\\u7F51\\u76D8\\u767B\\u5F55\\u65B9\\u5F0F\"},r.default.createElement(\"div\",{className:\"account-tabs__nav-list\"},n.map(a=>{let i=a.key===o.key;return r.default.createElement(\"button\",{key:a.key,id:\"account-tab-\".concat(a.key),type:\"button\",role:\"tab\",\"aria-selected\":i,\"aria-controls\":\"account-panel-\".concat(a.key),className:\"account-tabs__tab\".concat(i?\" account-tabs__tab--active\":\"\"),onClick:()=>t(a.key)},a.label)}))),r.default.createElement(\"div\",{id:\"account-panel-\".concat(o.key),role:\"tabpanel\",\"aria-labelledby\":\"account-tab-\".concat(o.key),className:\"account-tabs__panel\"},o.content))}var I=bt.default.create({baseURL:\"/website\"}),qt=(e,t=\"\\u8BF7\\u6C42\\u5931\\u8D25\")=>typeof e==\"string\"?e||t:e&&typeof e==\"object\"?e.message||e.msg||e.desc||e.resultDesc||JSON.stringify(e):e==null?t:String(e);I.interceptors.response.use(function(e){var t;if(e.data.code!==0){let n=qt((t=e.data.message)!=null?t:e.data);s.message.error(n);let o=new Error(n);throw o.handled=!0,o}else return e.data.data},function(e){return Promise.reject(e)});s.message.config({top:\"40%\"});var Jl=\"https://o.alicdn.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js\",Ir=\"yidong-aliyun-captcha-button\",Ql={2:{prefix:\"7elm7k\",SceneId:\"1rmw421p\"},3:{prefix:\"7elm7k\",SceneId:\"kcx16g7r\"}},Rl=(e,t)=>new Promise((n,o)=>{if(document.getElementById(t)){n();return}let a=document.createElement(\"script\");a.id=t,a.src=e,a.async=!0,a.onload=()=>n(),a.onerror=()=>o(new Error(\"\\u6ED1\\u5757\\u7EC4\\u4EF6\\u52A0\\u8F7D\\u5931\\u8D25\")),document.head.appendChild(a)}),ed=()=>{let e=document.getElementById(Ir);return e||(e=document.createElement(\"button\"),e.id=Ir,e.type=\"button\",e.style.cssText=\"position:absolute;top:-50px;left:-50px;opacity:0;pointer-events:none;\",document.body.appendChild(e)),e},td=()=>{let e=String(navigator.language||\"\").toLowerCase();return e.includes(\"en\")?\"en\":e.includes(\"tw\")||e.includes(\"hk\")?\"tw\":\"cn\"},nd=(e=\"\")=>{try{return window.btoa(e)}catch(t){return window.btoa(unescape(encodeURIComponent(e)))}},rd=()=>{let e=navigator.userAgent||\"\",t=e.match(/Android\\s+([\\d.]+)[^;)]*;\\s*([^)]+?)(?:\\s+Build|;|\\))/i),n=e.match(/(iPhone|iPad|iPod);.*?OS\\s+([\\d_]+)/i),o=e.match(/(Edg|Chrome|Firefox|Safari|Opera)\\/([\\d.]+)/i),a=navigator.platform||\"Web\",i=o?\"\".concat(o[1],\" \").concat(o[2]):e.slice(0,120);t?(a=t[2].trim(),i=\"Android \".concat(t[1])):n&&(a=n[1],i=\"iOS \".concat(n[2].replace(/_/g,\".\")));let l=\"\".concat(window.screen.width,\"X\").concat(window.screen.height);return[\"\",\"\",\"3\",\"7.17.7\",a,a,\"\",\"\",i,l,\"\",\"\",\"\",nd(a),\"\"].join(\"|\")},od=async e=>{let t=Ql[Number(e)];if(!t)throw new Error(\"\\u6682\\u4E0D\\u652F\\u6301\\u5F53\\u524D\\u6ED1\\u5757\\u9A8C\\u8BC1\\u7801\\u7C7B\\u578B\\uFF1A\".concat(e||\"unknown\"));if(await Rl(Jl,\"yidong-aliyun-captcha-script\"),ed(),typeof window.initAliyunCaptcha!=\"function\")throw new Error(\"\\u6ED1\\u5757\\u7EC4\\u4EF6\\u521D\\u59CB\\u5316\\u5931\\u8D25\");return window.AliyunCaptchaConfig={region:\"cn\",prefix:t.prefix},new Promise((n,o)=>{let a=!1;window.initAliyunCaptcha({SceneId:t.SceneId,mode:\"popup\",button:\"#\".concat(Ir),language:td(),showErrorTip:!1,slideStyle:{width:360,height:40},success:i=>{a=!0,n(i)},error:i=>{a=!0,o(i instanceof Error?i:new Error(qt(i,\"\\u6ED1\\u5757\\u9A8C\\u8BC1\\u5931\\u8D25\")))},onClose:()=>{a||o(new Error(\"\\u5DF2\\u53D6\\u6D88\\u6ED1\\u5757\\u9A8C\\u8BC1\"))},getInstance:i=>{setTimeout(()=>{var l;return(l=i==null?void 0:i.show)==null?void 0:l.call(i)},0)}})})},X={IDLE:\"idle\",LOADING:\"loading\",WAITING:\"waiting\",SCANNED:\"scanned\",SUCCESS:\"success\",EXPIRED:\"expired\",ERROR:\"error\"},zt={NEW:\"NEW\",SCANNED:\"SCANNED\",CONFIRMED:\"CONFIRMED\",EXPIRED:\"EXPIRED\",CANCELED:\"CANCELED\"},ad={[X.IDLE]:\"READY\",[X.LOADING]:\"LOADING\",[X.WAITING]:\"SCAN ME\",[X.SCANNED]:\"CONFIRM\",[X.SUCCESS]:\"SUCCESS\",[X.EXPIRED]:\"EXPIRED\",[X.ERROR]:\"ERROR\"};function st({qrcodeUrl:e,cacheUrl:t,checkStatusUrl:n}){let[o,a]=r.default.useState(\"\"),[i,l]=r.default.useState(X.IDLE),[u,c]=r.default.useState($t),f=(0,r.useRef)(null),m=(0,r.useRef)(null),d=(0,r.useCallback)(()=>{f.current&&(clearInterval(f.current),f.current=null),m.current&&(clearTimeout(m.current),m.current=null)},[]),g=(0,r.useCallback)(w=>{d(),f.current=setInterval(async()=>{try{let F=await bt.default.post(\"/website\".concat(n),{sessionKey:w});if(F.data.code===0&&F.data.data){let{status:_,cookie:z}=F.data.data;switch(_){case zt.CONFIRMED:d(),a(z),l(X.SUCCESS),await I.put(t,{cookie:z}),s.message.success(\"\\u626B\\u7801\\u6210\\u529F\\uFF0C\\u5DF2\\u81EA\\u52A8\\u5165\\u5E93\"),setTimeout(()=>{c($t),l(X.IDLE)},2e3);break;case zt.SCANNED:l(X.SCANNED);break;case zt.EXPIRED:case zt.CANCELED:d(),c($t),l(X.EXPIRED),s.message.warning(\"\\u4E8C\\u7EF4\\u7801\\u5DF2\\u8FC7\\u671F\\uFF0C\\u8BF7\\u91CD\\u65B0\\u70B9\\u51FB\");break;case zt.NEW:default:break}}}catch(F){}},2e3),m.current=setTimeout(()=>{d(),c($t),l(X.EXPIRED),s.message.warning(\"\\u4E8C\\u7EF4\\u7801\\u5DF2\\u8FC7\\u671F\\uFF0C\\u8BF7\\u91CD\\u65B0\\u70B9\\u51FB\")},12e4)},[t,n,d]),p=(0,r.useCallback)(async()=>{if(i!==X.LOADING){d(),l(X.LOADING);try{let w=await bt.default.get(\"/website\".concat(e,\"?t=\").concat(Date.now()),{responseType:\"blob\"}),F=w.headers[\"x-session-key\"];if(F){let _=URL.createObjectURL(w.data);c(_),l(X.WAITING),g(F)}else throw new Error(\"\\u672A\\u83B7\\u53D6\\u5230 sessionKey\")}catch(w){console.error(\"\\u83B7\\u53D6\\u4E8C\\u7EF4\\u7801\\u5931\\u8D25:\",w),l(X.ERROR),s.message.error(\"\\u83B7\\u53D6\\u4E8C\\u7EF4\\u7801\\u5931\\u8D25\")}}},[e,i,d,g]),v=(0,r.useCallback)(w=>{if(!w){s.message.warning(\"\\u6CA1\\u6709\\u53EF\\u590D\\u5236\\u7684\\u5185\\u5BB9\");return}(0,Mr.default)(w),s.message.success(\"\\u5DF2\\u590D\\u5236\\u5230\\u526A\\u8D34\\u677F\")},[]),y=(0,r.useCallback)(async()=>{if(!o){s.message.warning(\"\\u6CA1\\u6709\\u53EF\\u5165\\u5E93\\u7684\\u5185\\u5BB9\");return}await I.put(t,{cookie:o}),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")},[t,o]);(0,r.useEffect)(()=>(I.get(t).then(w=>{a(w||\"\")}),()=>d()),[t,d]);let k=()=>{switch(i){case X.SUCCESS:return\"#22c55e\";case X.ERROR:case X.EXPIRED:return\"#ef4444\";default:return\"#3b82f6\"}},E=i===X.LOADING;return r.default.createElement(\"div\",{className:\"qrcode-card\"},r.default.createElement(\"div\",{className:\"qrcode-wrapper\",onClick:p},r.default.createElement(\"div\",{className:\"qrcode-glow\"}),r.default.createElement(\"div\",{className:\"qrcode-container\"},r.default.createElement(\"img\",{src:u,alt:\"\\u626B\\u7801\\u533A\\u57DF\",className:\"qrcode-image \".concat(E?\"qrcode-image--loading\":\"\")}),E&&r.default.createElement(\"div\",{className:\"qrcode-overlay\"},r.default.createElement(\"div\",{className:\"qrcode-spinner\"}),r.default.createElement(\"span\",null,\"\\u751F\\u6210\\u4E2D...\"))),r.default.createElement(\"div\",{className:\"qrcode-status\"},r.default.createElement(\"div\",{className:\"status-dot \".concat(i===X.WAITING||i===X.SCANNED?\"status-dot--pulse\":\"\"),style:{backgroundColor:k()}}),r.default.createElement(\"span\",{className:\"status-text\"},ad[i]))),r.default.createElement(\"div\",{className:\"cookie-result-wrapper\"},r.default.createElement(\"textarea\",{className:\"cookie-result\",value:o,onChange:w=>a(w.target.value),placeholder:\"\\u70B9\\u51FB\\u4E0A\\u65B9\\u4E8C\\u7EF4\\u7801\\u5F00\\u59CB\\u626B\\u7801...\",spellCheck:\"false\"})),r.default.createElement(\"div\",{className:\"action-buttons\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:()=>v(o)},r.default.createElement(\"span\",null,\"\\u590D\\u5236\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"}))),r.default.createElement(\"button\",{className:\"action-btn action-btn--secondary\",onClick:y},r.default.createElement(\"span\",null,\"\\u5165\\u5E93\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"ellipse\",{cx:\"12\",cy:\"5\",rx:\"9\",ry:\"3\",strokeWidth:\"2\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3\"})))))}function ni({api:e}){let[t]=s.Form.useForm(),n=async()=>{try{let o=await t.validateFields();await I.put(e,o),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(o){console.error(o),s.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(o==null?void 0:o.message))}};return(0,r.useEffect)(()=>{I.get(e).then(o=>{t.setFieldsValue(o)})},[]),r.default.createElement(s.Form,{form:t,className:\"ios-form\",layout:\"vertical\"},r.default.createElement(s.Form.Item,{label:\"\\u8D26\\u53F7\",name:\"username\"},r.default.createElement(s.Input,null)),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,null)),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:n},\"\\u4FDD\\u5B58\")))}function id(){let[e]=s.Form.useForm(),[t,n]=(0,r.useState)(\"\"),[o,a]=(0,r.useState)(!1),[i,l]=(0,r.useState)(!1),u=(0,r.useCallback)(async()=>{let d=await I.get(\"/xunlei/account\");e.setFieldsValue({username:d.username||\"\",password:d.password||\"\"})},[e]),c=async()=>{let d=await e.validateFields([\"username\",\"password\"]);await I.put(\"/xunlei/account\",d),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")},f=async()=>{try{a(!0);let d=await e.validateFields([\"username\",\"password\"]);await I.put(\"/xunlei/account\",d),await I.post(\"/xunlei/send-code\",{}),s.message.success(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u6536\\u77ED\\u4FE1\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\\uFF1A\".concat((d==null?void 0:d.message)||d))}finally{a(!1)}},m=async()=>{try{l(!0);let d;if(t.trim())d=await I.post(\"/xunlei/verify-code\",{code:t.trim()});else{let g=await e.validateFields([\"username\",\"password\"]);d=await I.post(\"/xunlei/login\",g)}d!=null&&d.hasAuth&&s.message.success(\"\\u8FC5\\u96F7\\u767B\\u5F55\\u6210\\u529F\\uFF0C\\u53EF\\u5C1D\\u8BD5\\u539F\\u753B\\u64AD\\u653E\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u8FC5\\u96F7\\u767B\\u5F55\\u5931\\u8D25\\uFF1A\".concat((d==null?void 0:d.message)||d))}finally{l(!1)}};return(0,r.useEffect)(()=>{u()},[u]),r.default.createElement(s.Form,{form:e,className:\"ios-form\",layout:\"vertical\"},r.default.createElement(s.Form.Item,{label:\"\\u624B\\u673A\\u53F7\",name:\"username\"},r.default.createElement(s.Input,{placeholder:\"\\u4E2D\\u56FD\\u5927\\u9646\\u624B\\u673A\\u53F7\",inputMode:\"tel\",autoComplete:\"tel\"})),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u8FC5\\u96F7\\u767B\\u5F55\\u5BC6\\u7801\",autoComplete:\"current-password\"})),r.default.createElement(s.Form.Item,{label:\"\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\"},r.default.createElement(s.Space.Compact,{className:\"xunlei-verify-compact\",style:{width:\"100%\"}},r.default.createElement(s.Input,{value:t,onChange:d=>n(d.target.value),placeholder:\"\\u8F93\\u5165\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\",inputMode:\"numeric\",autoComplete:\"one-time-code\"}),r.default.createElement(s.Button,{className:\"xunlei-verify-send-btn\",onClick:f,loading:o},\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\"))),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"div\",{className:\"action-buttons\"},r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:m,disabled:i},r.default.createElement(\"span\",null,i?\"\\u767B\\u5F55\\u4E2D...\":\"\\u767B\\u5F55\"),r.default.createElement(\"svg\",{className:\"btn-icon btn-icon--login\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3\"}))),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--secondary\",onClick:c},r.default.createElement(\"span\",null,\"\\u5165\\u5E93\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"ellipse\",{cx:\"12\",cy:\"5\",rx:\"9\",ry:\"3\",strokeWidth:\"2\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3\"}))))))}function sd(){let[e]=s.Form.useForm(),[t,n]=(0,r.useState)(\"\"),[o,a]=(0,r.useState)(!1),[i,l]=(0,r.useState)(!1),u=(0,r.useCallback)(async(d,g)=>{try{s.message.info(\"\\u8BF7\\u5B8C\\u6210\\u6ED1\\u5757\\u9A8C\\u8BC1\");let p=await od(g);await I.post(\"/yidong/send-code-captcha\",{phone:d,captchaType:g,puzzleVerfycode:p,clientInfo:rd()}),s.message.success(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u6536\\u77ED\\u4FE1\")}catch(p){console.error(p),(p==null?void 0:p.message)===\"\\u5DF2\\u53D6\\u6D88\\u6ED1\\u5757\\u9A8C\\u8BC1\"?s.message.warning(\"\\u5DF2\\u53D6\\u6D88\\u6ED1\\u5757\\u9A8C\\u8BC1\"):p!=null&&p.handled||s.message.error(\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\\uFF1A\".concat(qt((p==null?void 0:p.message)||p)))}},[]),c=async()=>{try{let d=await e.validateFields([\"authorization\"]);await I.put(\"/yidong/authorization\",{authorization:String(d.authorization||\"\").replace(/^Basic\\s+/i,\"\").trim()}),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(d){console.error(d),s.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(d==null?void 0:d.message))}},f=async()=>{try{a(!0);let d=await e.validateFields([\"phone\"]),g=String(d.phone||\"\").trim(),p=await I.post(\"/yidong/send-code\",{phone:g});if(p!=null&&p.captchaRequired){await u(g,p.captchaType);return}s.message.success(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u6536\\u77ED\\u4FE1\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\\uFF1A\".concat(qt((d==null?void 0:d.message)||d)))}finally{a(!1)}},m=async()=>{if(!t.trim()){s.message.warning(\"\\u8BF7\\u5148\\u8F93\\u5165\\u9A8C\\u8BC1\\u7801\");return}try{l(!0);let d=await e.validateFields([\"phone\"]),g=await I.post(\"/yidong/verify-code\",{phone:String(d.phone||\"\").trim(),code:t.trim()});g!=null&&g.authorization&&e.setFieldsValue({authorization:String(g.authorization||\"\").replace(/^Basic\\s+/i,\"\").trim()}),s.message.success(\"\\u79FB\\u52A8\\u4E91\\u76D8\\u767B\\u5F55\\u6210\\u529F\\uFF0CAuthorization \\u5DF2\\u81EA\\u52A8\\u5165\\u5E93\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u9A8C\\u8BC1\\u7801\\u767B\\u5F55\\u5931\\u8D25\\uFF1A\".concat(qt((d==null?void 0:d.message)||d)))}finally{l(!1)}};return(0,r.useEffect)(()=>{I.get(\"/yidong/authorization\").then(d=>{e.setFieldsValue({authorization:String(d.authorization||\"\").replace(/^Basic\\s+/i,\"\").trim(),phone:d.phone||\"\"})})},[e]),r.default.createElement(s.Form,{form:e,className:\"ios-form\",layout:\"vertical\"},r.default.createElement(s.Form.Item,{label:\"\\u624B\\u673A\\u53F7\",name:\"phone\",rules:[{pattern:/^1[3456789]\\d{9}$/,message:\"\\u8BF7\\u8F93\\u5165\\u6B63\\u786E\\u7684\\u4E2D\\u56FD\\u5927\\u9646\\u624B\\u673A\\u53F7\"}]},r.default.createElement(s.Input,{placeholder:\"\\u4E2D\\u56FD\\u5927\\u9646\\u624B\\u673A\\u53F7\",inputMode:\"tel\",autoComplete:\"tel\"})),r.default.createElement(s.Form.Item,{label:\"\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\"},r.default.createElement(s.Space.Compact,{className:\"xunlei-verify-compact\",style:{width:\"100%\"}},r.default.createElement(s.Input,{value:t,onChange:d=>n(d.target.value),placeholder:\"\\u8F93\\u5165\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\",inputMode:\"numeric\",autoComplete:\"one-time-code\"}),r.default.createElement(s.Button,{className:\"xunlei-verify-send-btn\",onClick:f,loading:o},\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\"))),r.default.createElement(s.Form.Item,{label:\"Authorization\",name:\"authorization\"},r.default.createElement(s.Input.Password,{placeholder:\"Basic \\u540E\\u9762\\u7684\\u5185\\u5BB9\",autoComplete:\"off\"})),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"div\",{className:\"action-buttons\"},r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:m,disabled:i},r.default.createElement(\"span\",null,i?\"\\u767B\\u5F55\\u4E2D...\":\"\\u767B\\u5F55\"),r.default.createElement(\"svg\",{className:\"btn-icon btn-icon--login\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3\"}))),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--secondary\",onClick:c},r.default.createElement(\"span\",null,\"\\u5165\\u5E93\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"ellipse\",{cx:\"12\",cy:\"5\",rx:\"9\",ry:\"3\",strokeWidth:\"2\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3\"}))))))}function ld(){return r.default.createElement(st,{qrcodeUrl:\"/guangyapan/qrcode\",cacheUrl:\"/guangyapan/token\",checkStatusUrl:\"/guangyapan/check-status\"})}function dd({visible:e,onCancel:t,onSave:n,panKey:o,panName:a,panPic:i,chunkSize:l,poolSize:u,noSaveMode:c}){let[f]=s.Form.useForm(),m=s.Form.useWatch(\"pic\",f),d=o===\"quark\"||o===\"uc\"||o===\"ali\";(0,r.useEffect)(()=>{e&&f.setFieldsValue({name:a||\"\",pic:i||\"\",chunkSize:l||(o===\"ali\"?128:512),poolSize:u||(o===\"ali\"?20:10),noSaveMode:c===!0})},[e,a,i,l,u,c,f]);let g=async()=>{try{let p=await f.validateFields();n(p)}catch(p){console.error(\"\\u9A8C\\u8BC1\\u5931\\u8D25:\",p)}};return r.default.createElement(s.Modal,{title:\"\".concat(a||\"\\u7F51\\u76D8\",\" \\u914D\\u7F6E\"),open:e,onCancel:t,width:\"90%\",className:\"ios-modal\",footer:null},r.default.createElement(s.Form,{form:f,layout:\"vertical\",className:\"ios-form ios-input-number\"},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u7F51\\u76D8\\u540D\\u79F0\"},{max:20,message:\"\\u540D\\u79F0\\u957F\\u5EA6\\u8BF7\\u63A7\\u5236\\u5728 20 \\u4E2A\\u5B57\\u7B26\\u4EE5\\u5185\"}]},r.default.createElement(s.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u5938\\u514B\"})),r.default.createElement(s.Form.Item,{label:\"\\u56FE\\u7247 URL\",name:\"pic\",tooltip:\"\\u7559\\u7A7A\\u5C06\\u56DE\\u9000\\u4E3A\\u5185\\u7F6E\\u9ED8\\u8BA4\\u56FE\\u6807\",rules:[{validator:(p,v)=>{let y=String(v||\"\").trim();return!y||/^https?:\\/\\/\\S+$/i.test(y)||/^data:image\\//i.test(y)||/^\\/\\S+/.test(y)?Promise.resolve():Promise.reject(new Error(\"\\u8BF7\\u8F93\\u5165\\u5408\\u6CD5\\u56FE\\u7247\\u5730\\u5740\\uFF08http/https\\u3001data:image \\u6216 / \\u5F00\\u5934\\u8DEF\\u5F84\\uFF09\"))}}]},r.default.createElement(s.Input,{placeholder:\"https://example.com/logo.png \\u6216 data:image/png;base64,...\"})),!!String(m||\"\").trim()&&r.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,marginBottom:16}},r.default.createElement(\"img\",{src:String(m).trim(),alt:\"\\u7F51\\u76D8\\u56FE\\u6807\\u9884\\u89C8\",style:{width:36,height:36,borderRadius:8,objectFit:\"cover\",border:\"1px solid rgba(0,0,0,0.08)\",backgroundColor:\"#fff\"}}),r.default.createElement(\"span\",{style:{fontSize:12,color:\"#8e8e93\"}},\"\\u56FE\\u6807\\u9884\\u89C8\\uFF08\\u82E5\\u4E0D\\u663E\\u793A\\u8BF7\\u68C0\\u67E5\\u5730\\u5740\\u662F\\u5426\\u53EF\\u8BBF\\u95EE\\uFF09\")),d&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"\\u5206\\u7247\\u5927\\u5C0F (KB)\",name:\"chunkSize\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u5206\\u7247\\u5927\\u5C0F\"},{type:\"number\",min:64,max:2048,message:\"\\u8303\\u56F4: 64-2048 KB\"}]},r.default.createElement(s.InputNumber,{style:{width:\"100%\"},placeholder:\"512\",addonAfter:\"KB\"})),r.default.createElement(s.Form.Item,{label:\"\\u5E76\\u53D1\\u7EBF\\u7A0B\\u6570\",name:\"poolSize\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u7EBF\\u7A0B\\u6570\"},{type:\"number\",min:1,max:20,message:\"\\u8303\\u56F4: 1-20\"}]},r.default.createElement(s.InputNumber,{style:{width:\"100%\"},placeholder:\"10\",addonAfter:\"\\u7EBF\\u7A0B\"}))),o===\"quark\"&&r.default.createElement(s.Form.Item,{label:\"\\u4E0D\\u8F6C\\u5B58\\u6A21\\u5F0F\",name:\"noSaveMode\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u5148\\u5C1D\\u8BD5\\u4E0D\\u8F6C\\u5B58\\u76F4\\u94FE\\uFF0C\\u62FF\\u4E0D\\u5230\\u518D\\u56DE\\u9000\\u8F6C\\u5B58\\uFF1B\\u5173\\u95ED\\u5219\\u76F4\\u63A5\\u8F6C\\u5B58\\u83B7\\u53D6\\u591A\\u753B\\u8D28\\u3002\"},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{style:{marginBottom:0,marginTop:24}},r.default.createElement(\"div\",{className:\"ios-button-group\",style:{justifyContent:\"flex-end\"}},r.default.createElement(\"button\",{className:\"action-btn action-btn--secondary-outline\",onClick:t},\"\\u53D6\\u6D88\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:g},\"\\u4FDD\\u5B58\")))))}var li=e=>{let{attributes:t,listeners:n,setNodeRef:o,transform:a,transition:i,isDragging:l}=Tr({id:e[\"data-row-key\"]}),u=S(B(S({},e.style),{transform:Ve.Translate.toString(a),transition:i}),l?{position:\"relative\",zIndex:9999}:{});return r.default.createElement(\"tr\",S(B(S({},e),{ref:o,style:u}),t))},di=({rowKey:e})=>{let{listeners:t,setActivatorNodeRef:n}=Tr({id:e});return r.default.createElement(lr,S({ref:n,className:\"drag-handle\"},t))},Pn=\"https://pan.199333.xyz\",ht=[{key:\"quark\",name:\"\\u5938\\u514B\\u7F51\\u76D8\"},{key:\"uc\",name:\"UC\\u7F51\\u76D8\"},{key:\"aliyun\",name:\"\\u963F\\u91CC\\u4E91\\u76D8\"},{key:\"baidu\",name:\"\\u767E\\u5EA6\\u7F51\\u76D8\"},{key:\"xunlei\",name:\"\\u8FC5\\u96F7\\u7F51\\u76D8\"},{key:\"tianyi\",name:\"\\u5929\\u7FFC\\u4E91\\u76D8\"},{key:\"mobile\",name:\"\\u79FB\\u52A8\\u4E91\\u76D8\"},{key:\"123\",name:\"123\\u7F51\\u76D8\"},{key:\"115\",name:\"115\\u7F51\\u76D8\"},{key:\"pikpak\",name:\"PikPak\"},{key:\"magnet\",name:\"\\u78C1\\u529B\\u94FE\\u63A5\"},{key:\"ed2k\",name:\"\\u7535\\u9A74\\u94FE\\u63A5\"}],Pr={id:\"\",name:\"\",host:\"\",username:\"\",password:\"\",deviceId:\"\",logo:\"\",libraryStats:{movieCount:0,seriesCount:0}};function ud(e){return String(e||\"\").trim().toLowerCase().replace(/[^a-z0-9_-]+/g,\"-\").replace(/^-+|-+$/g,\"\").slice(0,40)}function Lr(){return S({},Pr)}function cd(e){let t=String(e||\"\").trim();return!t||/^https?:\\/\\/\\S+$/i.test(t)||/^data:image\\//i.test(t)||/^\\/\\S+/.test(t)}function Ln(e={}){return String(e.name||\"Emby\").trim()}function fd(e={}){let t=Number(e.movieCount||0),n=Number(e.seriesCount||0);return{movieCount:t,seriesCount:n}}function pd(){return r.default.createElement(\"svg\",{className:\"emby-server-card__stat-icon\",viewBox:\"0 0 1024 1024\",\"aria-hidden\":\"true\",focusable:\"false\"},r.default.createElement(\"path\",{d:\"M875.690667 414.72H301.738667l576.682666-195.754667c36.181333-11.093333 56.832-49.322667 45.909334-85.674666L909.824 83.626667c-8.704-29.013333-35.84-49.322667-66.218667-49.322667-6.656 0-13.312 1.024-19.626666 2.901333l-0.512 0.170667L127.829333 273.237333C91.648 284.330667 70.997333 322.56 81.92 358.912l14.848 49.664c4.096 13.653333 12.288 25.429333 23.04 34.133333-8.533333 11.434667-13.482667 25.6-13.482667 40.96v436.736c0 38.058667 30.890667 68.949333 68.949334 68.949334h700.416c38.058667 0 68.949333-30.890667 68.949333-68.949334V483.84c0-38.058667-30.890667-69.12-68.949333-69.12z m17.408 69.12v69.290667H690.858667l70.144-86.869334h114.688c9.557333 0.170667 17.408 7.850667 17.408 17.578667z m-717.824-17.408h175.616l-76.970667 76.970667c-2.901333 2.901333-4.949333 6.144-6.144 9.728H157.696v-69.290667c0-9.728 7.850667-17.408 17.578667-17.408z m243.029333 5.290667c1.706667-1.706667 3.072-3.413333 4.096-5.461334H694.613333l-63.829333 79.018667c-1.877333 2.389333-3.413333 4.949333-4.266667 7.68H336.896l81.408-81.237333zM143.189333 322.56l0.512-0.170667L838.997333 86.528c1.536-0.341333 3.072-0.682667 4.608-0.682667 7.68 0 14.506667 5.12 16.725334 12.458667l14.848 49.664c2.730667 9.216-2.56 18.944-11.776 21.674667l-0.512 0.170666L167.424 405.845333c-1.536 0.341333-3.072 0.682667-4.608 0.682667-7.68 0-14.506667-5.12-16.725333-12.458667L131.413333 344.234667c-2.730667-9.216 2.56-18.944 11.776-21.674667z m732.501334 615.424H175.274667c-9.557333 0-17.408-7.850667-17.408-17.408v-315.733333h735.402666v315.733333c-0.170667 9.557333-8.021333 17.408-17.578666 17.408z m0 0\"}))}function md(){return r.default.createElement(\"svg\",{className:\"emby-server-card__stat-icon emby-server-card__stat-icon--series\",viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",focusable:\"false\"},r.default.createElement(\"rect\",{x:\"3\",y:\"9\",width:\"18\",height:\"12\",rx:\"2.5\"}),r.default.createElement(\"path\",{d:\"M7.5 3.5 L12 9 L16.5 3.5\"}))}function gd(e={}){let{movieCount:t,seriesCount:n}=fd(e);return!t&&!n?r.default.createElement(\"span\",{className:\"emby-server-card__sync\"},\"\\u5F85\\u540C\\u6B65\"):r.default.createElement(r.default.Fragment,null,r.default.createElement(\"span\",{className:\"emby-server-card__stat\",title:\"\".concat(t,\" \\u7535\\u5F71\"),\"aria-label\":\"\".concat(t,\" \\u7535\\u5F71\")},r.default.createElement(pd,null),r.default.createElement(\"span\",null,t)),r.default.createElement(\"span\",{className:\"emby-server-card__stat\",title:\"\".concat(n,\" \\u5267\\u96C6\"),\"aria-label\":\"\".concat(n,\" \\u5267\\u96C6\")},r.default.createElement(md,null),r.default.createElement(\"span\",null,n)))}function Nr(e={}){return{id:e.id,name:e.name||\"Emby\",host:e.host,username:e.username,password:e.password,deviceId:e.deviceId||\"\",logo:e.logo||\"\",libraries:e.libraries||[],libraryStats:e.libraryStats||Pr.libraryStats}}var ri=\"nodejs_emby_\",oi=\"nodejs_alist_\";function xd(e=\"\"){let t=String(e||\"\");return t.startsWith(ri)?t.slice(ri.length):\"\"}function hd(e=\"\"){let t=String(e||\"\");return t.startsWith(oi)?t.slice(oi.length):\"\"}function ui(){return{id:\"alist_\".concat(Date.now()),name:\"\",server:\"\",username:\"\",password:\"\",token:\"\",otpCode:\"\"}}function Br(e={}){let t=String(e.name||\"\").trim();if(t)return t;try{return new URL(e.server).hostname||\"Alist\"}catch(n){return\"Alist\"}}function Dr(e={}){return{id:e.id||\"alist_\".concat(Date.now()),name:Br(e),server:String(e.server||\"\").trim().replace(/\\/+$/,\"\"),username:String(e.username||\"\").trim(),password:String(e.password||\"\"),token:String(e.token||\"\").trim(),otpCode:String(e.otpCode||\"\").trim()}}var bd=[{key:\"nodejs_muou\",api:\"/muou/urls\",name:\"\\u6728\\u5076\"},{key:\"nodejs_wanou\",api:\"/wanou/urls\",name:\"\\u73A9\\u5076\"},{key:\"nodejs_leijing\",api:\"/leijing/urls\",name:\"\\u96F7\\u9CB8\"},{key:\"nodejs_zhizhen\",api:\"/zhizhen/urls\",name:\"\\u81F3\\u81FB\"},{key:\"nodejs_duoduo\",api:\"/duoduo/urls\",name:\"\\u591A\\u591A\"},{key:\"nodejs_erxiao\",api:\"/erxiao/urls\",name:\"\\u4E8C\\u5C0F\"},{key:\"nodejs_huban\",api:\"/huban/urls\",name:\"\\u864E\\u6591\"},{key:\"nodejs_labi\",api:\"/labi/urls\",name:\"\\u8FA3\\u7B14\"},{key:\"nodejs_ouge\",api:\"/ouge/urls\",name:\"\\u6B27\\u6B4C\"},{key:\"nodejs_xiaoban\",api:\"/xiaoban/urls\",name:\"\\u5C0F\\u73ED\"},{key:\"nodejs_tgchannel\",api:\"/tgchannel/config\",name:\"TG\\u9891\\u9053\",type:\"tg\"},{key:\"nodejs_tgsou\",api:\"/tgsou/config\",name:\"TG\\u641C\",type:\"tg\"},{key:\"nodejs_tgfilebot\",api:\"/tgfilebot/config\",name:\"TGFileBot\",type:\"tgfilebot\"},{key:\"nodejs_pansou\",api:\"/pansou/config\",name:\"PanSou\",type:\"pansou\"},{key:\"nodejs_123ypzysq\",api:\"/123ypzysq/config\",name:\"123\\u8D44\\u6E90\\u793E\\u533A\",type:\"domain-cookie\"},{key:\"nodejs_live2vod\",api:\"/live2vod/config\",name:\"\\u76F4\\u64AD\\u8F6C\\u70B9\\u64AD\",type:\"live2vod\"},{key:\"nodejs_emby\",api:\"/emby-spider/setting\",name:\"Emby\\u6E90\",type:\"emby-spider\"},{key:\"nodejs_alist-video\",api:\"/alist-video/setting\",name:\"Alist\",type:\"alist-video\"}],ai=bd.reduce((e,t)=>(e[t.key]={api:t.api,name:t.name,type:t.type},e),{});function yd({visible:e,onCancel:t,onSave:n,siteName:o}){let[a]=s.Form.useForm(),[i,l]=(0,r.useState)(!1),[u,c]=(0,r.useState)(\"channels\"),[f,m]=(0,r.useState)([]),[d,g]=(0,r.useState)([]),[p,v]=(0,r.useState)(!1),[y,k]=(0,r.useState)([]),[E,w]=(0,r.useState)([]),[F,_]=(0,r.useState)([]),[z,H]=(0,r.useState)(\"\"),[h,C]=(0,r.useState)([]),L=(0,r.useRef)(0),M=()=>{let T=z.trim();if(T){if(f.includes(T)){s.message.warning('\\u9891\\u9053 \"'.concat(T,'\" \\u5DF2\\u5B58\\u5728')),H(\"\");return}m([T,...f]),C([T,...h]),k([T,...y]),H(\"\"),s.message.success('\\u5DF2\\u6DFB\\u52A0\\u9891\\u9053 \"'.concat(T,'\"'))}},D=(T,A)=>{A.stopPropagation(),m(f.filter($=>$!==T)),k(y.filter($=>$!==T)),C(h.filter($=>$!==T)),s.message.success('\\u5DF2\\u5220\\u9664\\u9891\\u9053 \"'.concat(T,'\"'))},j=(0,r.useCallback)(async T=>{if(!T)return null;v(!0);try{let A=await bt.default.get(\"\".concat(T,\"/api/health\"));if(A.data){let $=A.data.channels||[],U=A.data.plugins||[];return m($),g(U),{channels:$,plugins:U}}return null}catch(A){return console.error(\"\\u83B7\\u53D6 PanSou \\u9009\\u9879\\u5931\\u8D25:\",A),null}finally{v(!1)}},[]);(0,r.useEffect)(()=>{let T=++L.current;if(!e){l(!1),H(\"\");return}l(!0),I.get(\"/pansou/config\").then(async A=>{if(L.current!==T)return;let $=A.url||Pn;a.setFieldsValue({name:o,url:$});let U=await j($);A.channels&&A.channels.length>0?k(A.channels):U!=null&&U.channels&&k(U.channels),A.plugins&&A.plugins.length>0?w(A.plugins):U!=null&&U.plugins&&w(U.plugins),A.cloudTypes&&A.cloudTypes.length>0?_(A.cloudTypes):_(ht.map(me=>me.key))}).catch(A=>{L.current===T&&(console.error(A),s.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\"))}).finally(()=>{L.current===T&&l(!1)})},[e,o,a,j]);let ne=(0,r.useCallback)(T=>{let A=T.target.value||Pn;j(A)},[j]),ie=async()=>{let T;try{T=await a.validateFields()}catch(A){return}try{l(!0);let A={url:T.url||\"\",channels:y,plugins:E,cloudTypes:F};await I.put(\"/pansou/config\",A),s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\"),n(T.name),t()}catch(A){console.error(A),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat((A==null?void 0:A.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{l(!1)}},we=async()=>{try{l(!0),await I.delete(\"/pansou/config\");let A=(await I.get(\"/pansou/config\")).url||Pn;a.setFieldsValue({url:A});let $=await j(A);k(($==null?void 0:$.channels)||[]),w(($==null?void 0:$.plugins)||[]),_(ht.map(U=>U.key)),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(T){console.error(T),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(T==null?void 0:T.message))}finally{l(!1)}},Ce=(T,A,$)=>{T.includes($)?A(T.filter(U=>U!==$)):A([...T,$])},J=(T,A,$)=>{A.length===T.length?$([]):$([...T])},Ee=(T,A,$,U,me,Se)=>r.default.createElement(\"div\",{key:T,className:\"pansou-checkbox-card \".concat(A?\"pansou-checkbox-card--selected\":\"\"),onClick:$},r.default.createElement(\"span\",{className:\"pansou-checkbox-card__label\"},U||T),me&&r.default.createElement(Ze,{className:\"pansou-checkbox-card__delete\",onClick:Se}));si(\".pansou-config-tabs__nav-scroll\",e);let ue=[{key:\"channels\",label:\"TG\\u9891\\u9053\",count:y.length},{key:\"plugins\",label:\"\\u641C\\u7D22\\u63D2\\u4EF6\",count:E.length},{key:\"cloudTypes\",label:\"\\u7F51\\u76D8\\u7C7B\\u578B\",count:F.length}];return r.default.createElement(s.Modal,{title:\"\\u7F16\\u8F91 \".concat(o||\"PanSou\"),open:e,onCancel:t,className:\"ios-modal pansou-config-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Spin,{spinning:i},r.default.createElement(s.Form,{form:a,layout:\"vertical\",className:\"ios-form\"},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\"},r.default.createElement(s.Input,{placeholder:\"\\u7AD9\\u6E90\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,{label:\"API \\u5730\\u5740\",name:\"url\"},r.default.createElement(s.Input,{placeholder:\"\\u7559\\u7A7A\\u4F7F\\u7528\\u9ED8\\u8BA4: \".concat(Pn),onBlur:ne}))),r.default.createElement(\"div\",{className:\"pansou-config-tabs\"},r.default.createElement(\"div\",{className:\"pansou-config-tabs__nav-scroll\",role:\"tablist\",\"aria-label\":\"PanSou \\u914D\\u7F6E\\u9879\"},r.default.createElement(\"div\",{className:\"pansou-config-tabs__nav-list\"},ue.map(T=>{let A=T.key===u;return r.default.createElement(\"button\",{key:T.key,type:\"button\",role:\"tab\",\"aria-selected\":A,className:\"pansou-config-tabs__tab\".concat(A?\" pansou-config-tabs__tab--active\":\"\"),onClick:()=>c(T.key)},r.default.createElement(\"span\",null,T.label),r.default.createElement(\"span\",{className:\"pansou-config-tabs__badge\"},Math.min(T.count,9999)))})))),r.default.createElement(s.Spin,{spinning:p},u===\"channels\"&&r.default.createElement(\"div\",{className:\"pansou-checkbox-section\"},r.default.createElement(\"div\",{className:\"pansou-checkbox-header\"},r.default.createElement(\"span\",null,\"\\u5DF2\\u9009 \",y.length,\" / \",f.length),r.default.createElement(s.Space,null,r.default.createElement(s.Button,{type:\"link\",size:\"small\",onClick:()=>J(f,y,k)},y.length===f.length?\"\\u53D6\\u6D88\\u5168\\u9009\":\"\\u5168\\u9009\"))),r.default.createElement(\"div\",{className:\"pansou-add-channel\"},r.default.createElement(s.Input,{placeholder:\"\\u641C\\u7D22\\u6216\\u6DFB\\u52A0\\u9891\\u9053\",value:z,onChange:T=>H(T.target.value),onPressEnter:M,allowClear:!0,style:{flex:1}}),r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),onClick:M},\"\\u6DFB\\u52A0\")),r.default.createElement(\"div\",{className:\"pansou-checkbox-grid\"},f.filter(T=>!z||T.toLowerCase().includes(z.toLowerCase())).map(T=>Ee(T,y.includes(T),()=>Ce(y,k,T),T,h.includes(T),A=>D(T,A)))),f.length===0&&!p&&r.default.createElement(\"div\",{className:\"pansou-empty-tip\"},\"\\u8BF7\\u5148\\u914D\\u7F6E\\u6B63\\u786E\\u7684 API \\u5730\\u5740\\u4EE5\\u52A0\\u8F7D\\u53EF\\u7528\\u9891\\u9053\")),u===\"plugins\"&&r.default.createElement(\"div\",{className:\"pansou-checkbox-section\"},r.default.createElement(\"div\",{className:\"pansou-checkbox-header\"},r.default.createElement(\"span\",null,\"\\u5DF2\\u9009 \",E.length,\" / \",d.length),r.default.createElement(s.Button,{type:\"link\",size:\"small\",onClick:()=>J(d,E,w)},E.length===d.length?\"\\u53D6\\u6D88\\u5168\\u9009\":\"\\u5168\\u9009\")),r.default.createElement(\"div\",{className:\"pansou-checkbox-grid\"},d.map(T=>Ee(T,E.includes(T),()=>Ce(E,w,T),T,!1,null))),d.length===0&&!p&&r.default.createElement(\"div\",{className:\"pansou-empty-tip\"},\"\\u8BF7\\u5148\\u914D\\u7F6E\\u6B63\\u786E\\u7684 API \\u5730\\u5740\\u4EE5\\u52A0\\u8F7D\\u53EF\\u7528\\u63D2\\u4EF6\")),u===\"cloudTypes\"&&r.default.createElement(\"div\",{className:\"pansou-checkbox-section\"},r.default.createElement(\"div\",{className:\"pansou-checkbox-header\"},r.default.createElement(\"span\",null,\"\\u5DF2\\u9009 \",F.length,\" / \",ht.length),r.default.createElement(s.Button,{type:\"link\",size:\"small\",onClick:()=>J(ht.map(T=>T.key),F,_)},F.length===ht.length?\"\\u53D6\\u6D88\\u5168\\u9009\":\"\\u5168\\u9009\")),r.default.createElement(\"div\",{className:\"pansou-checkbox-grid\"},ht.map(T=>Ee(T.key,F.includes(T.key),()=>Ce(F,_,T.key),T.name,!1,null))))),r.default.createElement(\"div\",{className:\"pansou-config-footer ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:ie,disabled:i},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:we,disabled:i},\"\\u91CD\\u7F6E\"))))}function Ar({visible:e,onCancel:t,onSave:n,onDelete:o,server:a,usedIds:i}){let[l]=s.Form.useForm(),[u,c]=(0,r.useState)(!1),f=s.Form.useWatch(\"logo\",l);(0,r.useEffect)(()=>{e&&l.setFieldsValue(S(S({},Pr),a||Lr()))},[e,a,l]);let m=async()=>{let g;try{g=await l.validateFields()}catch(w){return}let p=ud(a!=null&&a.isNew?\"\".concat(g.name||\"emby\",\"-\").concat(g.host||\"\",\"-\").concat(g.username||\"\"):(a==null?void 0:a.id)||\"\".concat(g.name||\"emby\",\"-\").concat(g.host||\"\",\"-\").concat(g.username||\"\"));if(!p){s.message.warning(\"\\u8BF7\\u586B\\u5199\\u670D\\u52A1\\u5668\\u5730\\u5740\");return}if(i!=null&&i.has(p)&&p!==(a==null?void 0:a.id)){s.message.warning(\"\\u5F53\\u524D\\u670D\\u52A1\\u5668\\u5DF2\\u5B58\\u5728\\uFF0C\\u8BF7\\u68C0\\u67E5\\u5730\\u5740\\u6216\\u8D26\\u53F7\");return}let v={id:p,name:String(g.name||\"\").trim(),host:String(g.host||\"\").trim().replace(/\\/+$/,\"\"),username:String(g.username||\"\").trim(),password:String(g.password||\"\"),logo:String(g.logo||\"\").trim()},y=String((a==null?void 0:a.host)||\"\").trim().replace(/\\/+$/,\"\"),k=String((a==null?void 0:a.username)||\"\").trim();v.host===y&&v.username===k&&(v.deviceId=String((a==null?void 0:a.deviceId)||\"\").trim());let E=!1;try{c(!0);let w=await I.post(\"/emby-spider/verify\",v);E=!0,await n(w||v),s.message.success(\"Emby \\u767B\\u5F55\\u9A8C\\u8BC1\\u901A\\u8FC7\")}catch(w){console.error(w),w!=null&&w.message&&w.message!==\"[object Object]\"&&s.message.error(\"\".concat(E?\"\\u4FDD\\u5B58\":\"\\u9A8C\\u8BC1\",\"\\u5931\\u8D25\\uFF1A\").concat(w.message))}finally{c(!1)}},d=()=>{!a||a.isNew||o==null||o(a)};return r.default.createElement(s.Modal,{title:a!=null&&a.isNew?\"\\u6DFB\\u52A0 Emby \\u670D\\u52A1\\u5668\":\"\\u7F16\\u8F91 \".concat((a==null?void 0:a.name)||\"Emby\"),open:e,onCancel:t,confirmLoading:u,className:\"ios-modal emby-server-edit-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:l,layout:\"vertical\",className:\"ios-form\",requiredMark:!1},r.default.createElement(s.Form.Item,{label:\"\\u663E\\u793A\\u540D\\u79F0\",name:\"name\",tooltip:\"\\u7559\\u7A7A\\u65F6\\u4F1A\\u5728\\u767B\\u5F55\\u9A8C\\u8BC1\\u901A\\u8FC7\\u540E\\u81EA\\u52A8\\u4F7F\\u7528 Emby \\u670D\\u52A1\\u5668\\u540D\\u79F0\"},r.default.createElement(s.Input,{placeholder:\"\\u7559\\u7A7A\\u81EA\\u52A8\\u83B7\\u53D6\\uFF0C\\u4F8B\\u5982\\uFF1A\\u5BB6\\u91CC NAS\"})),r.default.createElement(s.Form.Item,{label:\"Logo URL\",name:\"logo\",tooltip:\"\\u652F\\u6301 http/https\\u3001data:image \\u6216\\u7AD9\\u5185 / \\u5F00\\u5934\\u8DEF\\u5F84\",rules:[{validator(g,p){return cd(p)?Promise.resolve():Promise.reject(new Error(\"\\u8BF7\\u8F93\\u5165\\u5408\\u6CD5\\u56FE\\u7247\\u5730\\u5740\"))}}]},r.default.createElement(s.Input,{placeholder:\"https://example.com/emby-logo.png\"})),!!String(f||\"\").trim()&&r.default.createElement(\"div\",{className:\"emby-logo-preview\"},r.default.createElement(\"img\",{src:String(f).trim(),alt:\"Emby Logo \\u9884\\u89C8\"}),r.default.createElement(\"span\",null,\"Logo \\u9884\\u89C8\")),r.default.createElement(s.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\",name:\"host\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 Emby \\u670D\\u52A1\\u5668\\u5730\\u5740\"}]},r.default.createElement(s.Input,{placeholder:\"http://192.168.1.100:8096\"})),r.default.createElement(s.Form.Item,{label:\"\\u7528\\u6237\\u540D\",name:\"username\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 Emby \\u7528\\u6237\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165 Emby \\u7528\\u6237\\u540D\"})),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u5BC6\\u7801\\u53EF\\u4E3A\\u7A7A\",autoComplete:\"new-password\"})),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group emby-server-edit-actions\".concat(a!=null&&a.isNew?\" emby-server-edit-actions--new\":\"\")},!(a!=null&&a.isNew)&&r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--danger\",onClick:d,disabled:u},\"\\u5220\\u9664\"),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:m,disabled:u},u?\"\\u9A8C\\u8BC1\\u4E2D...\":\"\\u4FDD\\u5B58\")))))}function vd({value:e,onChange:t}){let[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(null),l=Array.isArray(e)?e:[],u=(0,r.useMemo)(()=>new Set(l.map(g=>g.id).filter(Boolean)),[l]),c=()=>{i(B(S({},Lr()),{isNew:!0})),o(!0)},f=g=>{i(S({},g)),o(!0)},m=g=>{let p=l.findIndex(k=>k.id===(a==null?void 0:a.id)),v=Nr(g),y=p>=0?[...l]:[...l,v];p>=0&&(y[p]=v),t(y),o(!1)},d=g=>{s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Ln(g),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u5BF9\\u5E94\\u7684 Emby \\u5206\\u7C7B\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",onOk(){t(l.filter(p=>p.id!==g.id)),o(!1),i(null)}})};return r.default.createElement(\"div\",{className:\"emby-server-manager\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar__main\"},r.default.createElement(\"div\",{className:\"emby-server-title\"},\"Emby \\u670D\\u52A1\\u5668\"),r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),onClick:c},\"\\u6DFB\\u52A0\")),r.default.createElement(\"div\",{className:\"emby-server-subtitle\"},\"\\u6709\\u64AD\\u653E\\u5668\\u9ED1/\\u767D\\u540D\\u5355\\u7684\\u670D\\u8C28\\u614E\\u4F7F\\u7528\\uFF0C\\u5426\\u5219\\u540E\\u679C\\u81EA\\u8D1F\\uFF01\")),l.length===0?r.default.createElement(\"button\",{type:\"button\",className:\"emby-empty-card\",onClick:c},r.default.createElement(be,null),r.default.createElement(\"span\",null,\"\\u6DFB\\u52A0\\u7B2C\\u4E00\\u53F0 Emby \\u670D\\u52A1\\u5668\")):r.default.createElement(\"div\",{className:\"emby-server-grid\"},l.map(g=>r.default.createElement(\"div\",{className:\"emby-server-card\",key:g.id},r.default.createElement(\"div\",{className:\"emby-server-card__hero\"},r.default.createElement(\"div\",{className:\"emby-server-card__logo\"},r.default.createElement(\"img\",{src:g.logo||Er,alt:Ln(g)}))),r.default.createElement(\"div\",{className:\"emby-server-card__content\"},r.default.createElement(\"div\",{className:\"emby-server-card__name\"},r.default.createElement(\"span\",null,Ln(g)),r.default.createElement(dn,null)),r.default.createElement(\"div\",{className:\"emby-server-card__stats\"},gd(g.libraryStats))),r.default.createElement(\"div\",{className:\"emby-server-card__actions\"},r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>f(g)}))))),r.default.createElement(Ar,{visible:n,onCancel:()=>o(!1),onSave:m,onDelete:d,server:a,usedIds:u}))}function _r({visible:e,onCancel:t,onSave:n,onDelete:o,server:a}){let[i]=s.Form.useForm(),[l,u]=(0,r.useState)(!1);(0,r.useEffect)(()=>{e&&i.setFieldsValue({name:(a==null?void 0:a.name)||\"\",server:(a==null?void 0:a.server)||\"\",username:(a==null?void 0:a.username)||\"\",password:(a==null?void 0:a.password)||\"\",token:(a==null?void 0:a.token)||\"\",otpCode:(a==null?void 0:a.otpCode)||\"\"})},[e,a,i]);let c=async()=>{let m;try{m=await i.validateFields()}catch(p){return}let d={id:(a==null?void 0:a.id)||\"alist_\".concat(Date.now()),name:m.name||\"\",server:String(m.server||\"\").trim().replace(/\\/+$/,\"\"),username:String(m.username||\"\").trim(),password:String(m.password||\"\"),token:String(m.token||\"\").trim(),otpCode:String(m.otpCode||\"\").trim()},g=!1;try{u(!0);let p=await I.post(\"/alist-video/verify\",d);g=!0,await n(p||d),s.message.success(\"Alist \\u8FDE\\u63A5\\u9A8C\\u8BC1\\u901A\\u8FC7\")}catch(p){console.error(p),s.message.error(\"\".concat(g?\"\\u4FDD\\u5B58\":\"\\u8FDE\\u63A5\\u9A8C\\u8BC1\",\"\\u5931\\u8D25\\uFF1A\").concat((p==null?void 0:p.message)||\"\\u8BF7\\u68C0\\u67E5\\u5730\\u5740\"))}finally{u(!1)}},f=()=>{!a||a.isNew||o==null||o(a)};return r.default.createElement(s.Modal,{title:a!=null&&a.isNew?\"\\u6DFB\\u52A0 Alist \\u670D\\u52A1\\u5668\":\"\\u7F16\\u8F91 \".concat((a==null?void 0:a.name)||\"Alist\"),open:e,onCancel:t,confirmLoading:l,className:\"ios-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:i,layout:\"vertical\",className:\"ios-form\",requiredMark:!1},r.default.createElement(s.Form.Item,{label:\"\\u663E\\u793A\\u540D\\u79F0\",name:\"name\"},r.default.createElement(s.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u5BB6\\u91CC NAS\"})),r.default.createElement(s.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\",name:\"server\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165 Alist \\u670D\\u52A1\\u5668\\u5730\\u5740\"}]},r.default.createElement(s.Input,{placeholder:\"http://192.168.1.100:5244\"})),r.default.createElement(s.Form.Item,{label:\"\\u8D26\\u53F7\",name:\"username\"},r.default.createElement(s.Input,{placeholder:\"\\u79C1\\u6709\\u76EE\\u5F55\\u9700\\u8981\\u586B\\u5199\",autoComplete:\"username\"})),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u79C1\\u6709\\u76EE\\u5F55\\u9700\\u8981\\u586B\\u5199\",autoComplete:\"new-password\"})),r.default.createElement(s.Form.Item,{label:\"Token\",name:\"token\",tooltip:\"\\u5DF2\\u6709 Alist token \\u65F6\\u53EF\\u76F4\\u63A5\\u586B\\u5199\\uFF0C\\u4F18\\u5148\\u4E8E\\u8D26\\u53F7\\u5BC6\\u7801\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u53EF\\u7559\\u7A7A\",autoComplete:\"off\"})),r.default.createElement(s.Form.Item,{label:\"\\u4E24\\u6B65\\u9A8C\\u8BC1\\u7801\",name:\"otpCode\",tooltip:\"\\u5F00\\u542F\\u4E24\\u6B65\\u9A8C\\u8BC1\\u65F6\\u586B\\u5199\\u5F53\\u524D\\u9A8C\\u8BC1\\u7801\"},r.default.createElement(s.Input,{placeholder:\"\\u53EF\\u7559\\u7A7A\",autoComplete:\"one-time-code\"})),r.default.createElement(s.Form.Item,null,r.default.createElement(\"div\",{className:\"ios-button-group\"},!(a!=null&&a.isNew)&&r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--danger\",onClick:f},\"\\u5220\\u9664\"),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:c,disabled:l},l?\"\\u9A8C\\u8BC1\\u4E2D...\":\"\\u4FDD\\u5B58\")))))}function wd({value:e,onChange:t}){let[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(null),l=Array.isArray(e)?e:[],u=()=>{i(B(S({},ui()),{isNew:!0})),o(!0)},c=d=>{i(S({},d)),o(!0)},f=d=>{let g=l.findIndex(y=>y.id===(a==null?void 0:a.id)),p=Dr(d),v=g>=0?[...l]:[...l,p];g>=0&&(v[g]=p),t(v),o(!1)},m=d=>{s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Br(d),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8BE5 Alist \\u670D\\u52A1\\u5668\\u5C06\\u4E0D\\u518D\\u663E\\u793A\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",onOk(){t(l.filter(g=>g.id!==d.id)),o(!1),i(null)}})};return r.default.createElement(\"div\",{className:\"emby-server-manager\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar__main\"},r.default.createElement(\"div\",{className:\"emby-server-title\"},\"Alist \\u670D\\u52A1\\u5668\"),r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),onClick:u},\"\\u6DFB\\u52A0\"))),l.length===0?r.default.createElement(\"button\",{type:\"button\",className:\"emby-empty-card\",onClick:u},r.default.createElement(be,null),r.default.createElement(\"span\",null,\"\\u6DFB\\u52A0\\u7B2C\\u4E00\\u53F0 Alist \\u670D\\u52A1\\u5668\")):r.default.createElement(\"div\",{className:\"emby-server-grid\"},l.map(d=>r.default.createElement(\"div\",{className:\"emby-server-card\",key:d.id},r.default.createElement(\"div\",{className:\"emby-server-card__content\",style:{padding:\"16px\"}},r.default.createElement(\"div\",{className:\"emby-server-card__name\"},r.default.createElement(\"span\",null,d.name||d.server),r.default.createElement(dn,null)),r.default.createElement(\"div\",{style:{fontSize:12,color:\"#999\",marginTop:4}},d.server),(d.username||d.token)&&r.default.createElement(\"div\",{style:{fontSize:12,color:\"#999\",marginTop:4}},d.username?\"\\u8D26\\u53F7\\uFF1A\".concat(d.username):\"Token \\u5DF2\\u914D\\u7F6E\")),r.default.createElement(\"div\",{className:\"emby-server-card__actions\"},r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>c(d)}))))),r.default.createElement(_r,{visible:n,onCancel:()=>o(!1),onSave:f,onDelete:m,server:a}))}function Cd({visible:e,onCancel:t,onSave:n,siteKey:o,siteName:a}){let[i]=s.Form.useForm(),[l,u]=(0,r.useState)(!1),c=String(o||\"\").startsWith(\"nodejs_emby\"),f=ai[o]||(c?ai.nodejs_emby:void 0),m=!!f,d=(f==null?void 0:f.type)===\"tg\",g=(f==null?void 0:f.type)===\"tgfilebot\",p=(f==null?void 0:f.type)===\"live2vod\",v=(f==null?void 0:f.type)===\"emby-spider\",y=(f==null?void 0:f.type)===\"alist-video\",k=(f==null?void 0:f.type)===\"domain-cookie\",E=o===\"nodejs_tgchannel\",w=(0,r.useRef)(0),F=h=>{if(h===\"\"||h===null||typeof h>\"u\")return null;let C=Number(h);return Number.isFinite(C)?C:null},_=h=>{if(h==null||h===\"\")return\"\";let C=Number(h);return Number.isFinite(C)?C:\"\"};(0,r.useEffect)(()=>{let h=++w.current;if(!e){u(!1);return}m?(u(!0),I.get(f.api).then(C=>{if(w.current===h)if(d){let L=[],M=new Set;C.channelNameMap&&Object.keys(C.channelNameMap).forEach(D=>M.add(D)),C.channelUsername&&C.channelUsername.forEach(D=>M.add(D)),C.homeChannelUsername&&C.homeChannelUsername.forEach(D=>M.add(D)),M.forEach(D=>{var j;L.push({id:D,name:((j=C.channelNameMap)==null?void 0:j[D])||\"\"})}),i.setFieldsValue({name:a,url:C.url,count:F(C==null?void 0:C.count),pic:C.pic,channels:L.length>0?L:E?[]:[{id:\"\",name:\"\"}]})}else g?i.setFieldsValue({name:a,url:C.url,password:C.password||\"\"}):p?i.setFieldsValue({name:a,sources:C.sources||[{name:\"\",url:\"\"}]}):v?i.setFieldsValue({name:a,servers:C.servers||[]}):y?i.setFieldsValue({name:a,servers:C.servers||[]}):k?i.setFieldsValue({name:a,url:C.url||\"\",cookie:C.cookie||\"\"}):i.setFieldsValue({urls:C,name:a})}).catch(C=>{w.current===h&&(console.error(C),s.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\"))}).finally(()=>{w.current===h&&u(!1)})):i.setFieldsValue({name:a})},[e,o,a,m,d,g,p,v,y,k,i,f]);let z=async()=>{let h;try{h=await i.validateFields()}catch(C){return}try{if(u(!0),m)if(d){let C={},L=[],M=[];h.channels&&h.channels.length>0&&h.channels.forEach(j=>{j.id&&(j.name&&(C[j.id]=j.name),L.push(j.id),o===\"nodejs_tgchannel\"&&M.push(j.id))});let D=S({url:h.url,count:_(h.count),pic:h.pic,channelNameMap:C,channelUsername:L},o===\"nodejs_tgchannel\"?{homeChannelUsername:M}:{});await I.put(f.api,D)}else if(g)await I.put(f.api,{url:h.url||\"\",password:h.password||\"\"});else if(p){let C={sources:h.sources||[]};await I.put(f.api,C)}else v?await I.put(f.api,{servers:h.servers||[]}):y?await I.put(f.api,{servers:h.servers||[]}):k?await I.put(f.api,{url:h.url||\"\",cookie:h.cookie||\"\"}):await I.put(f.api,h.urls);s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\"),n(h.name,v||y?{reload:!0}:void 0),t()}catch(C){console.error(C),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat((C==null?void 0:C.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{u(!1)}},H=async()=>{if(m)try{u(!0),await I.delete(f.api);let h=await I.get(f.api);if(d){let C=[],L=new Set;h.channelNameMap&&Object.keys(h.channelNameMap).forEach(M=>L.add(M)),h.channelUsername&&h.channelUsername.forEach(M=>L.add(M)),h.homeChannelUsername&&h.homeChannelUsername.forEach(M=>L.add(M)),L.forEach(M=>{var D;C.push({id:M,name:((D=h.channelNameMap)==null?void 0:D[M])||\"\"})}),i.setFieldsValue({url:h.url,count:F(h==null?void 0:h.count),pic:h.pic,channels:C.length>0?C:E?[]:[{id:\"\",name:\"\"}]})}else g?i.setFieldsValue({url:h.url,password:h.password||\"\"}):p?i.setFieldsValue({sources:h.sources||[{name:\"\",url:\"\"}]}):v?i.setFieldsValue({servers:h.servers||[]}):y?i.setFieldsValue({servers:h.servers||[]}):k?i.setFieldsValue({url:h.url||\"\",cookie:h.cookie||\"\"}):i.setFieldsValue({urls:h});s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(h){console.error(h),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(h==null?void 0:h.message))}finally{u(!1)}};return r.default.createElement(s.Modal,{title:\"\\u7F16\\u8F91 \".concat(a||(f==null?void 0:f.name)||\"\"),open:e,onCancel:t,className:\"ios-modal domain-edit-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:i,layout:\"vertical\",requiredMark:!1,colon:!1},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\",className:v||y?\"domain-edit-full-input\":\"domain-edit-aligned-input\"})),m&&!d&&!g&&!p&&!v&&!y&&!k&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.List,{name:\"urls\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0\\u57DF\\u540D\"}]},(h,{add:C,remove:L},{errors:M})=>r.default.createElement(r.default.Fragment,null,h.map((D,j)=>r.default.createElement(s.Form.Item,{label:j===0?\"\\u57DF\\u540D\":null,required:!1,key:D.key,style:{marginBottom:12}},r.default.createElement(\"div\",{className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},D),{validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\"}],noStyle:!0}),r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\",className:\"domain-list-input\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(h.length>1?\"\":\" domain-list-action--placeholder\")},h.length>1?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>L(D.name)}):null)))),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>C(),className:\"domain-edit-add-button\",icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0\\u57DF\\u540D\"),r.default.createElement(s.Form.ErrorList,{errors:M}))))),m&&k&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"\\u57DF\\u540D\",name:\"url\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.Item,{label:\"Cookie\",name:\"cookie\"},r.default.createElement(s.Input.TextArea,{placeholder:\"\\u8BBF\\u95EE\\u7F51\\u7AD9\\u9700\\u8981\\u7684 Cookie\\uFF0C\\u4F8B\\u5982 bbs_token=xxx\",className:\"domain-edit-aligned-input\",autoSize:{minRows:3,maxRows:6}}))),m&&g&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"API \\u5730\\u5740\",name:\"url\"},r.default.createElement(s.Input,{placeholder:\"\\u7559\\u7A7A\\u4F7F\\u7528\\u9ED8\\u8BA4: http://127.0.0.1:8080\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.Item,{label:\"\\u8BBF\\u95EE\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"TGFileBot password\\uFF0C\\u53EF\\u7559\\u7A7A\",className:\"domain-edit-aligned-input\"}))),m&&v&&r.default.createElement(s.Form.Item,{name:\"servers\"},r.default.createElement(vd,null)),m&&y&&r.default.createElement(s.Form.Item,{name:\"servers\"},r.default.createElement(wd,null)),m&&d&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"TG\\u57DF\\u540D\",name:\"url\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165TG\\u57DF\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165TG\\u57DF\\u540D\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.Item,{label:\"\\u5355\\u9891\\u9053\\u8D44\\u6E90\\u6570\\u91CF\",name:\"count\"},r.default.createElement(s.InputNumber,{min:1,placeholder:\"\\u7559\\u7A7A\\u8868\\u793A\\u4E0D\\u9650\\u5236\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.List,{name:\"channels\",rules:[{validator:async(h,C)=>{if(!E&&(!C||C.length===0))return Promise.reject(new Error(\"\\u8BF7\\u81F3\\u5C11\\u6DFB\\u52A0\\u4E00\\u4E2A\\u9891\\u9053\"))}}]},(h,{add:C,remove:L},{errors:M})=>r.default.createElement(r.default.Fragment,null,h.map((D,j)=>r.default.createElement(s.Form.Item,{label:j===0?\"\\u9891\\u9053\\u5217\\u8868\":\"\",required:!1,key:D.key,style:{marginBottom:12}},r.default.createElement(\"div\",{className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},D),{name:[D.name,\"name\"],style:{marginBottom:0,flex:\"1\"}}),r.default.createElement(s.Input,{placeholder:\"\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,B(S({},D),{name:[D.name,\"id\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u9891\\u9053ID\"}],style:{marginBottom:0,flex:\"1\"}}),r.default.createElement(s.Input,{placeholder:\"\\u9891\\u9053ID\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(h.length>1||E?\"\":\" domain-list-action--placeholder\")},h.length>1||E?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>L(D.name)}):null)))),r.default.createElement(s.Form.Item,{label:\"\"},r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>C({id:\"\",name:\"\"}),className:\"domain-edit-add-button\",icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0\\u9891\\u9053\"),r.default.createElement(s.Form.ErrorList,{errors:M})))),r.default.createElement(s.Form.Item,{label:\"\\u663E\\u793A\\u56FE\\u7247\",name:\"pic\",valuePropName:\"checked\"},r.default.createElement(s.Switch,null))),m&&p&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.List,{name:\"sources\",rules:[{validator:async(h,C)=>{if(!C||C.length===0)return Promise.reject(new Error(\"\\u8BF7\\u81F3\\u5C11\\u6DFB\\u52A0\\u4E00\\u4E2A\\u76F4\\u64AD\\u6E90\"))}}]},(h,{add:C,remove:L},{errors:M})=>r.default.createElement(r.default.Fragment,null,h.map((D,j)=>r.default.createElement(s.Form.Item,{label:j===0?\"\\u76F4\\u64AD\\u6E90\\u5217\\u8868\":\"\",required:!1,key:D.key,style:{marginBottom:12}},r.default.createElement(\"div\",{className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},D),{name:[D.name,\"name\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\"}],style:{marginBottom:0,flex:\"1\"}}),r.default.createElement(s.Input,{placeholder:\"\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,B(S({},D),{name:[D.name,\"url\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u76F4\\u64AD\\u6E90URL\"}],style:{marginBottom:0,flex:\"2\"}}),r.default.createElement(s.Input,{placeholder:\"\\u76F4\\u64AD\\u6E90URL (m3u/txt)\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(h.length>1?\"\":\" domain-list-action--placeholder\")},h.length>1?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>L(D.name)}):null)))),r.default.createElement(s.Form.Item,{label:\"\"},r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>C({name:\"\",url:\"\"}),className:\"domain-edit-add-button\",icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0\\u76F4\\u64AD\\u6E90\"),r.default.createElement(s.Form.ErrorList,{errors:M}))))),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:z,disabled:l},\"\\u4FDD\\u5B58\"),m&&r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:H,disabled:l},\"\\u91CD\\u7F6E\")))))}var Sd=new Set([\"nodejs_push\",\"nodejs_muban\",\"nodejs_template\"]),Od=new Set([\"\\u63A8\\u9001\",\"\\u6A21\\u677F\"]);function kd(e){let t=String(e.name||\"\").trim();return!Sd.has(e.key)&&!Od.has(t)}function Td(){let[e,t]=(0,r.useState)([]),[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(!1),[l,u]=(0,r.useState)(!1),[c,f]=(0,r.useState)(!1),[m,d]=(0,r.useState)(!1),[g,p]=(0,r.useState)(null),[v,y]=(0,r.useState)([]),[k,E]=(0,r.useState)(!1),[w,F]=(0,r.useState)(null),[_,z]=(0,r.useState)([]),[H,h]=(0,r.useState)(!1),[C,L]=(0,r.useState)(null),[M,D]=(0,r.useState)([]),[j,ne]=(0,r.useState)(!1),[ie,we]=(0,r.useState)(null),[Ce,J]=(0,r.useState)([]),[Ee,ue]=(0,r.useState)(!1),[T,A]=(0,r.useState)([]),[$,U]=(0,r.useState)(!1),[me,Se]=(0,r.useState)(null),[de,Pe]=(0,r.useState)([]),[Oe,ge]=(0,r.useState)(\"\"),[q,We]=(0,r.useState)(null),xe=(0,r.useMemo)(()=>e.filter(kd),[e]),Le=(0,r.useMemo)(()=>new Set(v.map(b=>b.id).filter(Boolean)),[v]),ke=(0,r.useMemo)(()=>new Set(_.map(b=>b.id).filter(Boolean)),[_]),Be=b=>{let O=xd(b==null?void 0:b.key);if(O){Ge(O);return}let N=hd(b==null?void 0:b.key);if(N){Gt(N);return}if(b!=null&&b.cms){$n(b.key);return}We(b),b.key===\"nodejs_pansou\"?i(!0):o(!0)},_e=(b,O={})=>{if(O.reload){ce();return}if(q){let N=e.findIndex(P=>P.key===q.key);N!==-1&&(e[N].name=b,t([...e]))}},Ht=async()=>{try{f(!0);let b=await I.get(\"/emby-spider/setting\");y(Array.isArray(b==null?void 0:b.servers)?b.servers:[]),p(B(S({},Lr()),{isNew:!0})),u(!1),d(!0)}catch(b){console.error(b),s.message.error(\"\\u52A0\\u8F7D Emby \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((b==null?void 0:b.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{f(!1)}},jt=async()=>{try{f(!0);let b=await I.get(\"/alist-video/setting\");D(Array.isArray(b==null?void 0:b.servers)?b.servers:[]),L(B(S({},ui()),{isNew:!0})),u(!1),h(!0)}catch(b){console.error(b),s.message.error(\"\\u52A0\\u8F7D Alist \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((b==null?void 0:b.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{f(!1)}},yt=async()=>{try{f(!0);let b=await I.get(\"/cms/list\");A(Array.isArray(b)?b:[]),u(!1),ue(!0)}catch(b){console.error(b),s.message.error(\"\\u52A0\\u8F7D CMS \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((b==null?void 0:b.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{f(!1)}},Fe=async b=>{let O=Nr(b),N=v.findIndex(V=>V.id===O.id),P=N>=0?[...v]:[...v,O];N>=0&&(P[N]=O),await I.put(\"/emby-spider/setting\",{servers:P}),y(P),d(!1),p(null),await ce()},lt=()=>{d(!1),p(null)},dt=async b=>{let O=Dr(b),N=M.findIndex(V=>V.id===O.id),P=N>=0?[...M]:[...M,O];N>=0&&(P[N]=O),await I.put(\"/alist-video/setting\",{servers:P}),D(P),h(!1),L(null),await ce()},Vt=()=>{h(!1),L(null)},Ut=async b=>{let O=Nd(T,b);await I.put(\"/cms/list\",O),A(O),ue(!1),await ce()},Bn=()=>{ue(!1)},$n=async b=>{try{let O=await I.get(\"/cms/list\"),N=Array.isArray(O)?O:[],P=N.find(V=>Fr(V)===b);if(!P){s.message.warning(\"\\u672A\\u627E\\u5230\\u5BF9\\u5E94\\u7684 CMS \\u6E90\\u914D\\u7F6E\");return}Pe(N),Se(S({},P)),ge(b),U(!0)}catch(O){console.error(O),s.message.error(\"\\u52A0\\u8F7D CMS \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((O==null?void 0:O.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}},$e=async b=>{let O=ci(b);if(!O){s.message.warning(\"CMS \\u6E90\\u4FE1\\u606F\\u4E0D\\u5B8C\\u6574\");return}let N=de.map(P=>Fr(P)===Oe?O:P);await I.put(\"/cms/list\",N),Pe(N),U(!1),Se(null),ge(\"\"),await ce()},ze=b=>{b&&s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(b.name||\"CMS \\u6E90\",\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8FD9\\u4E2A CMS \\u89C6\\u9891\\u6E90\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u5217\\u8868\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){let O=de.filter(N=>Fr(N)!==Oe);await I.put(\"/cms/list\",O),Pe(O),U(!1),Se(null),ge(\"\"),await ce()}})},Ge=async b=>{try{let O=await I.get(\"/emby-spider/setting\"),N=Array.isArray(O==null?void 0:O.servers)?O.servers:[],P=N.find(V=>V.id===b);if(!P){s.message.warning(\"\\u672A\\u627E\\u5230\\u5BF9\\u5E94\\u7684 Emby \\u670D\\u52A1\\u5668\\u914D\\u7F6E\");return}z(N),F(S({},P)),E(!0)}catch(O){console.error(O),s.message.error(\"\\u52A0\\u8F7D Emby \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((O==null?void 0:O.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}},Wt=async b=>{let O=Nr(b),N=_.map(P=>P.id===(w==null?void 0:w.id)?O:P);await I.put(\"/emby-spider/setting\",{servers:N}),z(N),E(!1),F(null),await ce()},Ie=b=>{b!=null&&b.id&&s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Ln(b),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8FD9\\u53F0 Emby \\u5BF9\\u5E94\\u7684\\u89C6\\u9891\\u6E90\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u5217\\u8868\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){let O=_.filter(N=>N.id!==b.id);await I.put(\"/emby-spider/setting\",{servers:O}),z(O),E(!1),F(null),await ce()}})},Gt=async b=>{try{let O=await I.get(\"/alist-video/setting\"),N=Array.isArray(O==null?void 0:O.servers)?O.servers:[],P=N.find(V=>V.id===b);if(!P){s.message.warning(\"\\u672A\\u627E\\u5230\\u5BF9\\u5E94\\u7684 Alist \\u670D\\u52A1\\u5668\\u914D\\u7F6E\");return}J(N),we(S({},P)),ne(!0)}catch(O){console.error(O),s.message.error(\"\\u52A0\\u8F7D Alist \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((O==null?void 0:O.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}},zn=async b=>{let O=Dr(b),N=Ce.map(P=>P.id===(ie==null?void 0:ie.id)?O:P);await I.put(\"/alist-video/setting\",{servers:N}),J(N),ne(!1),we(null),await ce()},qn=b=>{b!=null&&b.id&&s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Br(b),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8FD9\\u53F0 Alist \\u5BF9\\u5E94\\u7684\\u89C6\\u9891\\u6E90\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u5217\\u8868\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){let O=Ce.filter(N=>N.id!==b.id);await I.put(\"/alist-video/setting\",{servers:O}),J(O),ne(!1),we(null),await ce()}})},vt=(0,r.useMemo)(()=>[{title:\"\",dataIndex:\"drag\",width:40,render(b,O){return r.default.createElement(di,{rowKey:O.key})}},{title:\"\\u7AD9\\u6E90\",dataIndex:\"name\",render(b,O){return r.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",minWidth:0}},r.default.createElement(\"span\",{title:b,style:{flex:1,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},b),O.t4&&r.default.createElement(s.Tag,{className:\"ios-tag\"},\"T4\"))}},{title:\"\\u542F\\u7528\",dataIndex:\"enable\",render(b,O){return r.default.createElement(s.Switch,{value:b,onChange:N=>{t(P=>P.map(V=>V.key===O.key?B(S({},V),{enable:N}):V))}})},width:80},{title:\"\\u64CD\\u4F5C\",dataIndex:\"action\",width:60,render(b,O){return r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>Be(O),size:\"small\"})}}],[e]),Yt=wr(Lt(at,{activationConstraint:{distance:1}}),Lt(xt,{activationConstraint:{delay:150,tolerance:5}})),Hn=({active:b,over:O})=>{b.id!==(O==null?void 0:O.id)&&t(N=>{let P=N.findIndex(fe=>fe.key===b.id),V=N.findIndex(fe=>fe.key===(O==null?void 0:O.id));return Bt(N,P,V)})},ce=async()=>{let O=(await bt.default.get(\"/full-config\")).data.video.sites,N=await I.get(\"/sites/list\"),P={},V={};O.forEach(G=>{V[G.key]=G});let fe=N.filter(G=>(P[G.key]=!0,V[G.key])).map(G=>{let se=V[G.key];return{key:G.key,name:G.name||se.name,enable:G.enable,t4:se.t4,cms:se.cms}});O.forEach(G=>{P[G.key]||fe.push({key:G.key,name:G.name,enable:!0,t4:G.t4,cms:G.cms})}),t(fe)},jn=async()=>{try{await I.put(\"/sites/list\",{list:e}),s.message.success({content:r.default.createElement(r.default.Fragment,null,\"\\u8BBE\\u7F6E\\u6210\\u529F\",r.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",r.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",r.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",r.default.createElement(\"br\",null)),duration:5})}catch(b){console.error(b),s.message.error(\"\\u8BBE\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(b==null?void 0:b.message))}},Vn=async()=>{try{await I.delete(\"/sites/list\"),ce(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(b){console.error(b),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(b==null?void 0:b.message))}};return(0,r.useEffect)(()=>{ce()},[]),r.default.createElement(\"div\",null,r.default.createElement(\"div\",{className:\"sites-list-toolbar\"},r.default.createElement(s.Dropdown,{open:l,onOpenChange:u,trigger:[\"click\"],placement:\"bottomRight\",dropdownRender:()=>r.default.createElement(\"div\",{className:\"site-add-menu\"},r.default.createElement(\"button\",{type:\"button\",className:\"site-add-type-item\",onClick:Ht,disabled:c},r.default.createElement(\"span\",{className:\"site-add-type-item__icon\"},r.default.createElement(\"img\",{src:Er,alt:\"\",\"aria-hidden\":\"true\"})),r.default.createElement(\"span\",{className:\"site-add-type-item__name\"},\"Emby\")),r.default.createElement(\"button\",{type:\"button\",className:\"site-add-type-item\",onClick:jt,disabled:c},r.default.createElement(\"span\",{className:\"site-add-type-item__icon\"},r.default.createElement(\"img\",{src:ei,alt:\"\",\"aria-hidden\":\"true\"})),r.default.createElement(\"span\",{className:\"site-add-type-item__name\"},\"Alist\")),r.default.createElement(\"button\",{type:\"button\",className:\"site-add-type-item\",onClick:yt,disabled:c},r.default.createElement(\"span\",{className:\"site-add-type-item__icon\"},r.default.createElement(\"img\",{src:ti,alt:\"\",\"aria-hidden\":\"true\"})),r.default.createElement(\"span\",{className:\"site-add-type-item__name\"},\"CMS\")))},r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),className:\"sites-add-button\"},\"\\u6DFB\\u52A0\"))),r.default.createElement(Cr,{sensors:Yt,modifiers:[Sr],onDragEnd:Hn},r.default.createElement(kr,{items:xe.map(b=>b.key),strategy:Or},r.default.createElement(s.Table,{components:{body:{row:li}},rowKey:\"key\",columns:vt,dataSource:xe,pagination:!1,tableLayout:\"fixed\",className:\"sites-table\"}))),r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:jn},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:Vn},\"\\u91CD\\u7F6E\")),r.default.createElement(Cd,{visible:n,onCancel:()=>o(!1),onSave:_e,siteKey:q==null?void 0:q.key,siteName:q==null?void 0:q.name}),r.default.createElement(yd,{visible:a,onCancel:()=>i(!1),onSave:_e,siteName:q==null?void 0:q.name}),r.default.createElement(Ar,{visible:m,onCancel:lt,onSave:Fe,server:g,usedIds:Le}),r.default.createElement(Ar,{visible:k,onCancel:()=>E(!1),onSave:Wt,onDelete:Ie,server:w,usedIds:ke}),r.default.createElement(_r,{visible:H,onCancel:Vt,onSave:dt,server:C}),r.default.createElement(_r,{visible:j,onCancel:()=>ne(!1),onSave:zn,onDelete:qn,server:ie}),r.default.createElement(Dd,{visible:Ee,onCancel:Bn,onSave:Ut}),r.default.createElement(fi,{visible:$,onCancel:()=>U(!1),onSave:$e,onDelete:ze,source:me,mode:\"edit\"}))}function Ed(){let[e,t]=(0,r.useState)([]),[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(null),l=(0,r.useMemo)(()=>[{title:\"\",dataIndex:\"drag\",width:40,render(p,v){return r.default.createElement(di,{rowKey:v.key})}},{title:\"\\u7F51\\u76D8\",dataIndex:\"name\",render(p,v){return r.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",minWidth:0}},r.default.createElement(\"span\",{title:p,style:{flex:1,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},p),(v.key===\"quark\"||v.key===\"uc\"||v.key===\"ali\")&&v.chunkSize&&r.default.createElement(s.Tag,{className:\"ios-tag\"},v.chunkSize,\"K\\xB7\",v.poolSize))}},{title:\"\\u542F\\u7528\",dataIndex:\"enable\",render(p,v,y){return r.default.createElement(s.Switch,{value:p,onChange:k=>{e[y].enable=k,t([...e])}})},width:80},{title:\"\\u64CD\\u4F5C\",dataIndex:\"action\",width:60,render(p,v,y){return r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>{i(B(S({},v),{index:y})),o(!0)},size:\"small\"})}}],[e]),u=wr(Lt(at,{activationConstraint:{distance:1}}),Lt(xt,{activationConstraint:{delay:150,tolerance:5}})),c=({active:p,over:v})=>{p.id!==(v==null?void 0:v.id)&&t(y=>{let k=y.findIndex(w=>w.key===p.id),E=y.findIndex(w=>w.key===(v==null?void 0:v.id));return Bt(y,k,E)})},f=async()=>{let p=await I.get(\"/pans/list\");t(p)},m=async()=>{try{await I.put(\"/pans/list\",{list:e}),s.message.success({content:r.default.createElement(r.default.Fragment,null,\"\\u8BBE\\u7F6E\\u6210\\u529F\",r.default.createElement(\"br\",null),r.default.createElement(\"span\",{style:{fontSize:\"12px\",color:\"#999\"}},\"\\u914D\\u7F6E\\u5DF2\\u4FDD\\u5B58\\u5E76\\u7ACB\\u5373\\u751F\\u6548\")),duration:2})}catch(p){console.error(p),s.message.error(\"\\u8BBE\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(p==null?void 0:p.message))}},d=async()=>{try{await I.delete(\"/pans/list\"),f(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(p){console.error(p),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(p==null?void 0:p.message))}},g=p=>{let v=String(p.name||\"\").trim(),y=String(p.pic||\"\").trim(),k=B(S({},e[a.index]),{name:v,pic:y});(a.key===\"quark\"||a.key===\"uc\"||a.key===\"ali\")&&(k.chunkSize=p.chunkSize,k.poolSize=p.poolSize),a.key===\"quark\"&&(k.noSaveMode=p.noSaveMode===!0),e[a.index]=k,t([...e]),o(!1),s.message.info('\\u914D\\u7F6E\\u5DF2\\u66F4\\u65B0\\uFF0C\\u8BF7\\u70B9\\u51FB\\u4E0B\\u65B9\"\\u4FDD\\u5B58\"\\u6309\\u94AE\\u4FDD\\u5B58\\u914D\\u7F6E')};return(0,r.useEffect)(()=>{f()},[]),r.default.createElement(\"div\",null,r.default.createElement(Cr,{sensors:u,modifiers:[Sr],onDragEnd:c},r.default.createElement(kr,{items:e.map(p=>p.key),strategy:Or},r.default.createElement(s.Table,{components:{body:{row:li}},rowKey:\"key\",columns:l,dataSource:e,pagination:!1,tableLayout:\"fixed\",className:\"sites-table\"}))),r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:m},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:d},\"\\u91CD\\u7F6E\")),r.default.createElement(dd,{visible:n,onCancel:()=>o(!1),onSave:g,panKey:a==null?void 0:a.key,panName:a==null?void 0:a.name,panPic:a==null?void 0:a.pic,chunkSize:a==null?void 0:a.chunkSize,poolSize:a==null?void 0:a.poolSize,noSaveMode:a==null?void 0:a.noSaveMode}))}function Fd(){let[e]=s.Form.useForm(),[t,n]=(0,r.useState)(!1),o=\"/emby/setting\",a=async()=>{let c=await I.get(o);e.setFieldsValue(c)},i=async()=>{let c=await e.validateFields();try{await I.put(o,c),s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\")}catch(f){console.error(f),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat(f==null?void 0:f.message))}},l=async()=>{try{await I.delete(o),a(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(c){console.error(c),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(c==null?void 0:c.message))}},u=()=>{s.Modal.confirm({title:\"\\u786E\\u8BA4\\u6E05\\u7406 TMDB \\u7F13\\u5B58\\uFF1F\",content:\"\\u5C06\\u6E05\\u7A7A\\u670D\\u52A1\\u7AEF TMDB \\u7F13\\u5B58\\uFF08\\u542B\\u5185\\u5B58\\u4E0E\\u6301\\u4E45\\u5316\\u6570\\u636E\\uFF09\\uFF0C\\u540E\\u7EED\\u8BE6\\u60C5\\u4F1A\\u91CD\\u65B0\\u8BF7\\u6C42 TMDB\\u3002\",okText:\"\\u6E05\\u7406\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){n(!0);try{await I.post(\"/emby/tmdb/cache/clear\"),s.message.success(\"TMDB \\u7F13\\u5B58\\u5DF2\\u6E05\\u7406\")}catch(c){console.error(c),s.message.error(\"\\u6E05\\u7406\\u5931\\u8D25\\uFF1A\".concat(c==null?void 0:c.message))}finally{n(!1)}}})};return(0,r.useEffect)(()=>{a()},[]),r.default.createElement(s.Form,{form:e,layout:\"vertical\",style:{maxWidth:600},className:\"ios-form\"},r.default.createElement(s.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u540D\\u79F0\",name:\"serverName\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u540D\\u79F0\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,{label:\"\\u767B\\u5F55\\u7528\\u6237\\u540D\",name:\"username\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u7528\\u6237\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u7528\\u6237\\u540D\"})),r.default.createElement(s.Form.Item,{label:\"\\u767B\\u5F55\\u5BC6\\u7801\",name:\"password\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u5BC6\\u7801\"}]},r.default.createElement(s.Input.Password,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u5BC6\\u7801\"})),r.default.createElement(s.Form.Item,{label:\"TMDB API Key\",name:\"tmdbApiKey\",tooltip:\"TMDB v3 API Key\\uFF0C\\u542F\\u7528\\u589E\\u5F3A\\u65F6\\u5FC5\\u586B\",rules:[({getFieldValue:c})=>({validator(f,m){return!c(\"tmdbEnable\")||String(m||\"\").trim()?Promise.resolve():Promise.reject(new Error(\"\\u542F\\u7528 TMDB \\u589E\\u5F3A\\u65F6\\u8BF7\\u8F93\\u5165 API Key\"))}})]},r.default.createElement(s.Input.Password,{placeholder:\"\\u8BF7\\u8F93\\u5165 TMDB API Key\",autoComplete:\"off\"})),r.default.createElement(s.Form.Item,{label:\"\\u542F\\u7528 Emby\",name:\"enable\",valuePropName:\"checked\",style:{marginBottom:16}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"\\u641C\\u7D22\\u663E\\u793A\\u6765\\u6E90\",name:\"searchSourcePrefix\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u641C\\u7D22\\u7ED3\\u679C\\u6807\\u9898\\u663E\\u793A\\u4E3A\\u201C\\u6765\\u6E90 \\xB7 \\u6807\\u9898\\u201D\",style:{marginBottom:24}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"\\u542F\\u7528 TMDB \\u589E\\u5F3A\",name:\"tmdbEnable\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u4F18\\u5148\\u4F7F\\u7528 TMDB \\u7684\\u6D77\\u62A5\\u3001\\u5267\\u7167\\u548C\\u5143\\u6570\\u636E\",style:{marginBottom:16}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"TMDB \\u7F13\\u5B58\",tooltip:\"\\u4EC5\\u6E05\\u7406\\u670D\\u52A1\\u7AEF TMDB \\u7F13\\u5B58\\uFF0C\\u4E0D\\u5F71\\u54CD\\u5217\\u8868/\\u641C\\u7D22\\u7AD9\\u6E90\\u7F13\\u5B58\"},r.default.createElement(s.Button,{danger:!0,onClick:u,loading:t},\"\\u4E00\\u952E\\u6E05\\u7406 TMDB \\u7F13\\u5B58\")),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:i},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:l},\"\\u91CD\\u7F6E\"))))}function Id(){let[e]=s.Form.useForm(),t=\"/danmu/setting\",n=async()=>{let i=await I.get(t);e.setFieldsValue(i)},o=async()=>{let i=await e.validateFields();try{await I.put(t,i),s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\")}catch(l){console.error(l),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat(l==null?void 0:l.message))}},a=async()=>{try{await I.delete(t),n(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(i){console.error(i),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(i==null?void 0:i.message))}};return(0,r.useEffect)(()=>{n()},[]),r.default.createElement(s.Form,{form:e,layout:\"vertical\",style:{maxWidth:600},className:\"ios-form\"},r.default.createElement(s.Form.Item,{label:\"API \\u5217\\u8868\",style:{marginBottom:8}},r.default.createElement(s.Form.List,{name:\"urls\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0API\\u5730\\u5740\"}]},(i,{add:l,remove:u},{errors:c})=>r.default.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12}},i.map(f=>r.default.createElement(\"div\",{key:f.key,className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},f),{name:[f.name,\"address\"],validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165API\\u5730\\u5740\"}],style:{flex:1,marginBottom:0}}),r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165API\\u5730\\u5740\"})),r.default.createElement(s.Form.Item,B(S({},f),{name:[f.name,\"name\"],validateTrigger:[\"onChange\",\"onBlur\"],style:{width:100,marginBottom:0,flexShrink:0}}),r.default.createElement(s.Input,{placeholder:\"\\u522B\\u540D\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(i.length>1?\"\":\" domain-list-action--placeholder\")},i.length>1?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>u(f.name)}):null))),r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>l(),block:!0,icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0 API\"),r.default.createElement(s.Form.ErrorList,{errors:c})))),r.default.createElement(s.Form.Item,{label:\"\\u81EA\\u52A8\\u63A8\\u9001\",name:\"autoPush\",valuePropName:\"checked\",style:{marginBottom:16}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"\\u8C03\\u8BD5\\u4FE1\\u606F\",name:\"debug\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u5728\\u63A7\\u5236\\u53F0\\u663E\\u793A\\u8BE6\\u7EC6\\u7684\\u5F39\\u5E55\\u5339\\u914D\\u8C03\\u8BD5\\u4FE1\\u606F\",style:{marginBottom:24}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:o},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:a},\"\\u91CD\\u7F6E\"))))}function ci(e,t=\"\"){if(!e||typeof e!=\"object\")return null;let n=String(e.address||e.api||e.url||\"\").trim();if(!n)return null;let o=\"\";try{o=new URL(/^https?:\\/\\//i.test(n)?n:\"https://\".concat(n)).hostname}catch(l){}let a=String(e.name||e.title||t||o||\"CMS\").trim();return{name:a.startsWith(\"\\u300C\\u91C7\\u300D\")?a:\"\\u300C\\u91C7\\u300D\".concat(a),address:n}}function Fr(e={}){return\"nodejs_\".concat(String(e.name||\"\").trim())}function Nd(e=[],t=[]){let n=new Set;return[...e,...t].map(o=>ci(o)).filter(o=>!o||n.has(o.address)?!1:(n.add(o.address),!0))}function fi({visible:e,onCancel:t,onSave:n,onDelete:o,source:a,mode:i=\"add\"}){let[l]=s.Form.useForm(),[u,c]=(0,r.useState)(!1);(0,r.useEffect)(()=>{e&&l.setFieldsValue({name:(a==null?void 0:a.name)||\"\",url:(a==null?void 0:a.address)||\"\"})},[e,a,l]);let f=async()=>{let m;try{m=await l.validateFields()}catch(p){return}let d=String(m.name||\"\").trim(),g=String(m.url||\"\").trim();try{if(c(!0),i===\"edit\"&&g===String((a==null?void 0:a.address)||\"\").trim()){await n({name:d,address:g}),s.message.success(\"CMS \\u6E90\\u4FDD\\u5B58\\u6210\\u529F\");return}let p=await I.post(\"/cms/resolve\",{name:d,url:g}),v=Array.isArray(p==null?void 0:p.sources)?p.sources:[];if(v.length===0){s.message.warning(\"\\u672A\\u8BC6\\u522B\\u5230\\u53EF\\u7528\\u7684 CMS \\u6E90\");return}i===\"edit\"?(await n(v[0]),s.message.success(v.length>1?\"\\u5DF2\\u4F7F\\u7528\\u8BC6\\u522B\\u7ED3\\u679C\\u4E2D\\u7684\\u7B2C\\u4E00\\u4E2A CMS \\u6E90\":\"CMS \\u6E90\\u4FDD\\u5B58\\u6210\\u529F\")):(await n(v),s.message.success(v.length>1?\"\\u5DF2\\u6DFB\\u52A0 \".concat(v.length,\" \\u4E2A CMS \\u6E90\"):\"CMS \\u6E90\\u6DFB\\u52A0\\u6210\\u529F\"))}catch(p){console.error(p),s.message.error(\"\".concat(i===\"edit\"?\"CMS \\u4FDD\\u5B58\\u5931\\u8D25\":\"CMS \\u89E3\\u6790\\u5931\\u8D25\",\"\\uFF1A\").concat((p==null?void 0:p.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{c(!1)}};return r.default.createElement(s.Modal,{title:i===\"edit\"?\"\\u7F16\\u8F91 \".concat((a==null?void 0:a.name)||\"CMS \\u6E90\"):\"\\u6DFB\\u52A0 CMS \\u6E90\",open:e,onCancel:t,confirmLoading:u,className:\"ios-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:l,layout:\"vertical\",className:\"ios-form\",requiredMark:!1},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\",tooltip:\"\\u7559\\u7A7A\\u65F6\\u4F7F\\u7528\\u63A5\\u53E3\\u8FD4\\u56DE\\u540D\\u79F0\\u6216\\u57DF\\u540D\\uFF0C\\u4FDD\\u5B58\\u65F6\\u4F1A\\u81EA\\u52A8\\u6DFB\\u52A0\\u300C\\u91C7\\u300D\\u524D\\u7F00\"},r.default.createElement(s.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u6211\\u7684 CMS\"})),r.default.createElement(s.Form.Item,{label:\"API \\u5730\\u5740\",name:\"url\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 CMS API \\u5730\\u5740\"}]},r.default.createElement(s.Input,{placeholder:\"example.com \\u6216 https://example.com/api.php/provide/vod/\"})),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group\".concat(i===\"edit\"?\"\":\" emby-server-edit-actions--new\")},i===\"edit\"&&r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--danger\",onClick:()=>o==null?void 0:o(a),disabled:u},\"\\u5220\\u9664\"),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:f,disabled:u},u?i===\"edit\"?\"\\u4FDD\\u5B58\\u4E2D...\":\"\\u89E3\\u6790\\u4E2D...\":i===\"edit\"?\"\\u4FDD\\u5B58\":\"\\u89E3\\u6790\\u5E76\\u6DFB\\u52A0\")))))}function Dd(e){return r.default.createElement(fi,B(S({},e),{mode:\"add\"}))}function Ad(){let[e,t]=(0,r.useState)([]),[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(!1),l=(0,r.useCallback)(async()=>{o(!0);try{let c=await I.get(\"/subscriptions\");t(Array.isArray(c==null?void 0:c.endpoints)?c.endpoints:[])}catch(c){console.error(\"\\u52A0\\u8F7D\\u8BA2\\u9605\\u63A5\\u53E3\\u5931\\u8D25:\",c),c!=null&&c.handled||s.message.error(\"\\u52A0\\u8F7D\\u8BA2\\u9605\\u63A5\\u53E3\\u5931\\u8D25\")}finally{o(!1)}},[]);(0,r.useEffect)(()=>{l()},[l]);let u=c=>{(0,Mr.default)(c.url),s.message.success(\"\\u5DF2\\u590D\\u5236\\u5230\\u526A\\u8D34\\u677F\")};return r.default.createElement(\"div\",{className:\"subscription-page\"},r.default.createElement(\"section\",{className:\"subscription-section\"},r.default.createElement(s.Spin,{spinning:n},r.default.createElement(\"div\",{className:\"subscription-endpoints\"},e.map(c=>r.default.createElement(\"div\",{className:\"subscription-endpoint\",key:c.key||c.url},r.default.createElement(\"div\",{className:\"subscription-endpoint__main\"},r.default.createElement(\"div\",{className:\"subscription-endpoint__title\"},r.default.createElement(\"span\",null,c.name)),r.default.createElement(\"div\",{className:\"subscription-endpoint__url\",title:c.url},c.url)),r.default.createElement(\"div\",{className:\"subscription-endpoint__actions\"},c.key===\"emby\"&&r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(yn,null),onClick:()=>i(!0),\"aria-label\":\"\\u914D\\u7F6E Emby API\"}),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(ir,null),onClick:()=>u(c),\"aria-label\":\"\\u590D\\u5236\".concat(c.name)}),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(ur,null),href:c.url,target:\"_blank\",rel:\"noreferrer\",\"aria-label\":\"\\u6253\\u5F00\".concat(c.name)}))))))),r.default.createElement(s.Modal,{title:\"Emby API \\u8BBE\\u7F6E\",open:a,footer:null,onCancel:()=>i(!1),destroyOnClose:!0,className:\"ios-modal subscription-setting-modal\"},r.default.createElement(Fd,null)))}function _d(){let[e,t]=(0,r.useState)(\"account\"),n={accept:\".json\",showUploadList:!1,beforeUpload(i){let l=new FileReader;return l.onload=async u=>{try{let c=JSON.parse(u.target.result);await I.put(\"/backup\",c),s.message.success(\"\".concat(i.name,\"\\u5BFC\\u5165\\u6210\\u529F\"))}catch(c){s.message.error(\"\".concat(i.name,\"\\u5BFC\\u5165\\u5931\\u8D25: \").concat(c.message)),console.error(\"Error parsing JSON:\",c)}},l.readAsText(i),!1}},o=[{key:\"account\",label:\"\\u767B\\u5F55\",icon:r.default.createElement(cr,null)},{key:\"settings\",label:\"\\u8BBE\\u7F6E\",icon:r.default.createElement(yn,null)}],a=()=>{switch(e){case\"account\":return r.default.createElement(Zl,null);case\"settings\":return r.default.createElement(s.Tabs,{destroyOnHidden:!0},r.default.createElement(Mn,{tab:\"\\u7AD9\\u6E90\\u5217\\u8868\",key:\"sites\"},r.default.createElement(Td,null)),r.default.createElement(Mn,{tab:\"\\u7F51\\u76D8\\u5217\\u8868\",key:\"pans\"},r.default.createElement(Ed,null)),r.default.createElement(Mn,{tab:\"\\u5F39\\u5E55\\u8BBE\\u7F6E\",key:\"danmu\"},r.default.createElement(Id,null)),r.default.createElement(Mn,{tab:\"\\u8BA2\\u9605\\u8F6C\\u6362\",key:\"subscriptions\"},r.default.createElement(Ad,null)));default:return null}};return r.default.createElement(\"div\",{className:\"app-layout\"},r.default.createElement(\"div\",{className:\"top-nav-bar\"},r.default.createElement(\"div\",{className:\"nav-pill\"},o.map(i=>r.default.createElement(\"div\",{key:i.key,className:\"nav-tab \".concat(e===i.key?\"nav-tab--active\":\"\"),onClick:()=>t(i.key)},i.icon,r.default.createElement(\"span\",null,i.label))),r.default.createElement(\"div\",{className:\"nav-divider\"}),r.default.createElement(\"div\",{className:\"nav-actions\"},r.default.createElement(s.Upload,S({},n),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(dr,null),size:\"small\"},\"\\u5BFC\\u5165\")),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(sr,null),size:\"small\",href:\"/website/backup\",target:\"_blank\"},\"\\u5BFC\\u51FA\")))),r.default.createElement(\"div\",{className:\"container\"},r.default.createElement(s.Card,{className:\"main-card\"},a())))}function Md(){(0,ii.createRoot)(document.getElementById(\"app\")).render(r.default.createElement(_d,null))}\n/*! Bundled license information:\n\nclassnames/index.js:\n (*!\n \tCopyright (c) 2018 Jed Watson.\n \tLicensed under the MIT License (MIT), see\n \thttp://jedwatson.github.io/classnames\n *)\n*/\n"}
|
|
module.exports.renderClient();
|
|
})();
|
|
`;
|
|
}();
|
|
|
|
|
|
|
|
globalThis.danmuBundle = function() {
|
|
return `
|
|
(function() {
|
|
const exports = {};
|
|
const module = { exports };
|
|
${"var Bt=Object.create;var R=Object.defineProperty,Lt=Object.defineProperties,Nt=Object.getOwnPropertyDescriptor,Ht=Object.getOwnPropertyDescriptors,qt=Object.getOwnPropertyNames,pe=Object.getOwnPropertySymbols,Ut=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty,jt=Object.prototype.propertyIsEnumerable;var xe=(t,e,r)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,he=(t,e)=>{for(var r in e||(e={}))ce.call(e,r)&&xe(t,r,e[r]);if(pe)for(var r of pe(e))jt.call(e,r)&&xe(t,r,e[r]);return t},Oe=(t,e)=>Lt(t,Ht(e));var D=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Wt=(t,e)=>{for(var r in e)R(t,r,{get:e[r],enumerable:!0})},ge=(t,e,r,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of qt(e))!ce.call(t,a)&&a!==r&&R(t,a,{get:()=>e[a],enumerable:!(o=Nt(e,a))||o.enumerable});return t};var T=(t,e,r)=>(r=t!=null?Bt(Ut(t)):{},ge(e||!t||!t.__esModule?R(r,\"default\",{value:t,enumerable:!0}):r,t)),Vt=t=>ge(R({},\"__esModule\",{value:!0}),t);var C=D((vr,Te)=>{Te.exports=window.React});var be=D((Sr,we)=>{we.exports=window.ReactDOM});var Ce=D(X=>{\"use strict\";var Fe=be();X.createRoot=Fe.createRoot,X.hydrateRoot=Fe.hydrateRoot;var kr});var ve=D((Ar,ye)=>{ye.exports=window.antd});var Ee=D((eo,H)=>{(function(){\"use strict\";var t={}.hasOwnProperty;function e(){for(var a=\"\",l=0;l<arguments.length;l++){var n=arguments[l];n&&(a=o(a,r(n)))}return a}function r(a){if(typeof a==\"string\"||typeof a==\"number\")return a;if(typeof a!=\"object\")return\"\";if(Array.isArray(a))return e.apply(null,a);if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes(\"[native code]\"))return a.toString();var l=\"\";for(var n in a)t.call(a,n)&&a[n]&&(l=o(l,n));return l}function o(a,l){return l?a?a+\" \"+l:a+l:a}typeof H<\"u\"&&H.exports?(e.default=e,H.exports=e):typeof define==\"function\"&&typeof define.amd==\"object\"&&define.amd?define(\"classnames\",[],function(){return e}):window.classNames=e})()});var Mt=D((ia,Rt)=>{Rt.exports=window.axios});var Cr={};Wt(Cr,{Danmu:()=>Et,renderDanmu:()=>Fr});module.exports=Vt(Cr);var s=T(C(),1),_t=T(Ce(),1),x=T(ve(),1);var Se=T(C()),zt=(0,Se.createContext)({}),B=zt;function y(){return y=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)({}).hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},y.apply(null,arguments)}function ke(t){if(Array.isArray(t))return t}function Pe(t,e){var r=t==null?null:typeof Symbol<\"u\"&&t[Symbol.iterator]||t[\"@@iterator\"];if(r!=null){var o,a,l,n,u=[],f=!0,i=!1;try{if(l=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(o=l.call(r)).done)&&(u.push(o.value),u.length!==e);f=!0);}catch(m){i=!0,a=m}finally{try{if(!f&&r.return!=null&&(n=r.return(),Object(n)!==n))return}finally{if(i)throw a}}return u}}function ee(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=Array(e);r<e;r++)o[r]=t[r];return o}function Ae(t,e){if(t){if(typeof t==\"string\")return ee(t,e);var r={}.toString.call(t).slice(8,-1);return r===\"Object\"&&t.constructor&&(r=t.constructor.name),r===\"Map\"||r===\"Set\"?Array.from(t):r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ee(t,e):void 0}}function De(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function L(t,e){return ke(t)||Pe(t,e)||Ae(t,e)||De()}function w(t){\"@babel/helpers - typeof\";return w=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(e){return typeof e}:function(e){return e&&typeof Symbol==\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},w(t)}function Re(t,e){if(w(t)!=\"object\"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var o=r.call(t,e||\"default\");if(w(o)!=\"object\")return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(e===\"string\"?String:Number)(t)}function Me(t){var e=Re(t,\"string\");return w(e)==\"symbol\"?e:e+\"\"}function h(t,e,r){return(e=Me(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _e(t,e){if(t==null)return{};var r={};for(var o in t)if({}.hasOwnProperty.call(t,o)){if(e.indexOf(o)!==-1)continue;r[o]=t[o]}return r}function N(t,e){if(t==null)return{};var r,o,a=_e(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(o=0;o<l.length;o++)r=l[o],e.indexOf(r)===-1&&{}.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}var k=T(C()),Pt=T(Ee());var O=Math.round;function te(t,e){let r=t.replace(/^[^(]*\\((.*)/,\"$1\").replace(/\\).*/,\"\").match(/\\d*\\.?\\d+%?/g)||[],o=r.map(a=>parseFloat(a));for(let a=0;a<3;a+=1)o[a]=e(o[a]||0,r[a]||\"\",a);return r[3]?o[3]=r[3].includes(\"%\")?o[3]/100:o[3]:o[3]=1,o}var Ie=(t,e,r)=>r===0?t:t/100;function M(t,e){let r=e||255;return t>r?r:t<0?0:t}var v=class t{constructor(e){h(this,\"isValid\",!0),h(this,\"r\",0),h(this,\"g\",0),h(this,\"b\",0),h(this,\"a\",1),h(this,\"_h\",void 0),h(this,\"_s\",void 0),h(this,\"_l\",void 0),h(this,\"_v\",void 0),h(this,\"_max\",void 0),h(this,\"_min\",void 0),h(this,\"_brightness\",void 0);function r(o){return o[0]in e&&o[1]in e&&o[2]in e}if(e)if(typeof e==\"string\"){let a=function(l){return o.startsWith(l)},o=e.trim();/^#?[A-F\\d]{3,8}$/i.test(o)?this.fromHexString(o):a(\"rgb\")?this.fromRgbString(o):a(\"hsl\")?this.fromHslString(o):(a(\"hsv\")||a(\"hsb\"))&&this.fromHsvString(o)}else if(e instanceof t)this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this._h=e._h,this._s=e._s,this._l=e._l,this._v=e._v;else if(r(\"rgb\"))this.r=M(e.r),this.g=M(e.g),this.b=M(e.b),this.a=typeof e.a==\"number\"?M(e.a,1):1;else if(r(\"hsl\"))this.fromHsl(e);else if(r(\"hsv\"))this.fromHsv(e);else throw new Error(\"@ant-design/fast-color: unsupported input \"+JSON.stringify(e))}setR(e){return this._sc(\"r\",e)}setG(e){return this._sc(\"g\",e)}setB(e){return this._sc(\"b\",e)}setA(e){return this._sc(\"a\",e,1)}setHue(e){let r=this.toHsv();return r.h=e,this._c(r)}getLuminance(){function e(l){let n=l/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}let r=e(this.r),o=e(this.g),a=e(this.b);return .2126*r+.7152*o+.0722*a}getHue(){if(typeof this._h>\"u\"){let e=this.getMax()-this.getMin();e===0?this._h=0:this._h=O(60*(this.r===this.getMax()?(this.g-this.b)/e+(this.g<this.b?6:0):this.g===this.getMax()?(this.b-this.r)/e+2:(this.r-this.g)/e+4))}return this._h}getSaturation(){if(typeof this._s>\"u\"){let e=this.getMax()-this.getMin();e===0?this._s=0:this._s=e/this.getMax()}return this._s}getLightness(){return typeof this._l>\"u\"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>\"u\"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>\"u\"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(e=10){let r=this.getHue(),o=this.getSaturation(),a=this.getLightness()-e/100;return a<0&&(a=0),this._c({h:r,s:o,l:a,a:this.a})}lighten(e=10){let r=this.getHue(),o=this.getSaturation(),a=this.getLightness()+e/100;return a>1&&(a=1),this._c({h:r,s:o,l:a,a:this.a})}mix(e,r=50){let o=this._c(e),a=r/100,l=u=>(o[u]-this[u])*a+this[u],n={r:O(l(\"r\")),g:O(l(\"g\")),b:O(l(\"b\")),a:O(l(\"a\")*100)/100};return this._c(n)}tint(e=10){return this.mix({r:255,g:255,b:255,a:1},e)}shade(e=10){return this.mix({r:0,g:0,b:0,a:1},e)}onBackground(e){let r=this._c(e),o=this.a+r.a*(1-this.a),a=l=>O((this[l]*this.a+r[l]*r.a*(1-this.a))/o);return this._c({r:a(\"r\"),g:a(\"g\"),b:a(\"b\"),a:o})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}clone(){return this._c(this)}toHexString(){let e=\"#\",r=(this.r||0).toString(16);e+=r.length===2?r:\"0\"+r;let o=(this.g||0).toString(16);e+=o.length===2?o:\"0\"+o;let a=(this.b||0).toString(16);if(e+=a.length===2?a:\"0\"+a,typeof this.a==\"number\"&&this.a>=0&&this.a<1){let l=O(this.a*255).toString(16);e+=l.length===2?l:\"0\"+l}return e}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let e=this.getHue(),r=O(this.getSaturation()*100),o=O(this.getLightness()*100);return this.a!==1?\"hsla(\".concat(e,\",\").concat(r,\"%,\").concat(o,\"%,\").concat(this.a,\")\"):\"hsl(\".concat(e,\",\").concat(r,\"%,\").concat(o,\"%)\")}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?\"rgba(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\",\").concat(this.a,\")\"):\"rgb(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\")\")}toString(){return this.toRgbString()}_sc(e,r,o){let a=this.clone();return a[e]=M(r,o),a}_c(e){return new this.constructor(e)}getMax(){return typeof this._max>\"u\"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>\"u\"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(e){let r=e.replace(\"#\",\"\");function o(a,l){return parseInt(r[a]+r[l||a],16)}r.length<6?(this.r=o(0),this.g=o(1),this.b=o(2),this.a=r[3]?o(3)/255:1):(this.r=o(0,1),this.g=o(2,3),this.b=o(4,5),this.a=r[6]?o(6,7)/255:1)}fromHsl({h:e,s:r,l:o,a}){if(this._h=e%360,this._s=r,this._l=o,this.a=typeof a==\"number\"?a:1,r<=0){let d=O(o*255);this.r=d,this.g=d,this.b=d}let l=0,n=0,u=0,f=e/60,i=(1-Math.abs(2*o-1))*r,m=i*(1-Math.abs(f%2-1));f>=0&&f<1?(l=i,n=m):f>=1&&f<2?(l=m,n=i):f>=2&&f<3?(n=i,u=m):f>=3&&f<4?(n=m,u=i):f>=4&&f<5?(l=m,u=i):f>=5&&f<6&&(l=i,u=m);let p=o-i/2;this.r=O((l+p)*255),this.g=O((n+p)*255),this.b=O((u+p)*255)}fromHsv({h:e,s:r,v:o,a}){this._h=e%360,this._s=r,this._v=o,this.a=typeof a==\"number\"?a:1;let l=O(o*255);if(this.r=l,this.g=l,this.b=l,r<=0)return;let n=e/60,u=Math.floor(n),f=n-u,i=O(o*(1-r)*255),m=O(o*(1-r*f)*255),p=O(o*(1-r*(1-f))*255);switch(u){case 0:this.g=p,this.b=i;break;case 1:this.r=m,this.b=i;break;case 2:this.r=i,this.b=p;break;case 3:this.r=i,this.g=m;break;case 4:this.r=p,this.g=i;break;case 5:default:this.g=i,this.b=m;break}}fromHsvString(e){let r=te(e,Ie);this.fromHsv({h:r[0],s:r[1],v:r[2],a:r[3]})}fromHslString(e){let r=te(e,Ie);this.fromHsl({h:r[0],s:r[1],l:r[2],a:r[3]})}fromRgbString(e){let r=te(e,(o,a)=>a.includes(\"%\")?O(o/100*255):o);this.r=r[0],this.g=r[1],this.b=r[2],this.a=r[3]}};var q=2,Be=.16,Gt=.05,$t=.05,Qt=.15,qe=5,Ue=4,Yt=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function Le(t,e,r){var o;return Math.round(t.h)>=60&&Math.round(t.h)<=240?o=r?Math.round(t.h)-q*e:Math.round(t.h)+q*e:o=r?Math.round(t.h)+q*e:Math.round(t.h)-q*e,o<0?o+=360:o>=360&&(o-=360),o}function Ne(t,e,r){if(t.h===0&&t.s===0)return t.s;var o;return r?o=t.s-Be*e:e===Ue?o=t.s+Be:o=t.s+Gt*e,o>1&&(o=1),r&&e===qe&&o>.1&&(o=.1),o<.06&&(o=.06),Math.round(o*100)/100}function He(t,e,r){var o;return r?o=t.v+$t*e:o=t.v-Qt*e,o=Math.max(0,Math.min(1,o)),Math.round(o*100)/100}function U(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=[],o=new v(t),a=o.toHsv(),l=qe;l>0;l-=1){var n=new v({h:Le(a,l,!0),s:Ne(a,l,!0),v:He(a,l,!0)});r.push(n)}r.push(o);for(var u=1;u<=Ue;u+=1){var f=new v({h:Le(a,u),s:Ne(a,u),v:He(a,u)});r.push(f)}return e.theme===\"dark\"?Yt.map(function(i){var m=i.index,p=i.amount;return new v(e.backgroundColor||\"#141414\").mix(r[m],p).toHexString()}):r.map(function(i){return i.toHexString()})}var je=[\"#fff1f0\",\"#ffccc7\",\"#ffa39e\",\"#ff7875\",\"#ff4d4f\",\"#f5222d\",\"#cf1322\",\"#a8071a\",\"#820014\",\"#5c0011\"];je.primary=je[5];var We=[\"#fff2e8\",\"#ffd8bf\",\"#ffbb96\",\"#ff9c6e\",\"#ff7a45\",\"#fa541c\",\"#d4380d\",\"#ad2102\",\"#871400\",\"#610b00\"];We.primary=We[5];var Ve=[\"#fff7e6\",\"#ffe7ba\",\"#ffd591\",\"#ffc069\",\"#ffa940\",\"#fa8c16\",\"#d46b08\",\"#ad4e00\",\"#873800\",\"#612500\"];Ve.primary=Ve[5];var ze=[\"#fffbe6\",\"#fff1b8\",\"#ffe58f\",\"#ffd666\",\"#ffc53d\",\"#faad14\",\"#d48806\",\"#ad6800\",\"#874d00\",\"#613400\"];ze.primary=ze[5];var Ge=[\"#feffe6\",\"#ffffb8\",\"#fffb8f\",\"#fff566\",\"#ffec3d\",\"#fadb14\",\"#d4b106\",\"#ad8b00\",\"#876800\",\"#614700\"];Ge.primary=Ge[5];var $e=[\"#fcffe6\",\"#f4ffb8\",\"#eaff8f\",\"#d3f261\",\"#bae637\",\"#a0d911\",\"#7cb305\",\"#5b8c00\",\"#3f6600\",\"#254000\"];$e.primary=$e[5];var Qe=[\"#f6ffed\",\"#d9f7be\",\"#b7eb8f\",\"#95de64\",\"#73d13d\",\"#52c41a\",\"#389e0d\",\"#237804\",\"#135200\",\"#092b00\"];Qe.primary=Qe[5];var Ye=[\"#e6fffb\",\"#b5f5ec\",\"#87e8de\",\"#5cdbd3\",\"#36cfc9\",\"#13c2c2\",\"#08979c\",\"#006d75\",\"#00474f\",\"#002329\"];Ye.primary=Ye[5];var j=[\"#e6f4ff\",\"#bae0ff\",\"#91caff\",\"#69b1ff\",\"#4096ff\",\"#1677ff\",\"#0958d9\",\"#003eb3\",\"#002c8c\",\"#001d66\"];j.primary=j[5];var Ze=[\"#f0f5ff\",\"#d6e4ff\",\"#adc6ff\",\"#85a5ff\",\"#597ef7\",\"#2f54eb\",\"#1d39c4\",\"#10239e\",\"#061178\",\"#030852\"];Ze.primary=Ze[5];var Ke=[\"#f9f0ff\",\"#efdbff\",\"#d3adf7\",\"#b37feb\",\"#9254de\",\"#722ed1\",\"#531dab\",\"#391085\",\"#22075e\",\"#120338\"];Ke.primary=Ke[5];var Je=[\"#fff0f6\",\"#ffd6e7\",\"#ffadd2\",\"#ff85c0\",\"#f759ab\",\"#eb2f96\",\"#c41d7f\",\"#9e1068\",\"#780650\",\"#520339\"];Je.primary=Je[5];var Xe=[\"#a6a6a6\",\"#999999\",\"#8c8c8c\",\"#808080\",\"#737373\",\"#666666\",\"#404040\",\"#1a1a1a\",\"#000000\",\"#000000\"];Xe.primary=Xe[5];var et=[\"#2a1215\",\"#431418\",\"#58181c\",\"#791a1f\",\"#a61d24\",\"#d32029\",\"#e84749\",\"#f37370\",\"#f89f9a\",\"#fac8c3\"];et.primary=et[5];var tt=[\"#2b1611\",\"#441d12\",\"#592716\",\"#7c3118\",\"#aa3e19\",\"#d84a1b\",\"#e87040\",\"#f3956a\",\"#f8b692\",\"#fad4bc\"];tt.primary=tt[5];var rt=[\"#2b1d11\",\"#442a11\",\"#593815\",\"#7c4a15\",\"#aa6215\",\"#d87a16\",\"#e89a3c\",\"#f3b765\",\"#f8cf8d\",\"#fae3b7\"];rt.primary=rt[5];var ot=[\"#2b2111\",\"#443111\",\"#594214\",\"#7c5914\",\"#aa7714\",\"#d89614\",\"#e8b339\",\"#f3cc62\",\"#f8df8b\",\"#faedb5\"];ot.primary=ot[5];var at=[\"#2b2611\",\"#443b11\",\"#595014\",\"#7c6e14\",\"#aa9514\",\"#d8bd14\",\"#e8d639\",\"#f3ea62\",\"#f8f48b\",\"#fafab5\"];at.primary=at[5];var lt=[\"#1f2611\",\"#2e3c10\",\"#3e4f13\",\"#536d13\",\"#6f9412\",\"#8bbb11\",\"#a9d134\",\"#c9e75d\",\"#e4f88b\",\"#f0fab5\"];lt.primary=lt[5];var nt=[\"#162312\",\"#1d3712\",\"#274916\",\"#306317\",\"#3c8618\",\"#49aa19\",\"#6abe39\",\"#8fd460\",\"#b2e58b\",\"#d5f2bb\"];nt.primary=nt[5];var ft=[\"#112123\",\"#113536\",\"#144848\",\"#146262\",\"#138585\",\"#13a8a8\",\"#33bcb7\",\"#58d1c9\",\"#84e2d8\",\"#b2f1e8\"];ft.primary=ft[5];var it=[\"#111a2c\",\"#112545\",\"#15325b\",\"#15417e\",\"#1554ad\",\"#1668dc\",\"#3c89e8\",\"#65a9f3\",\"#8dc5f8\",\"#b7dcfa\"];it.primary=it[5];var dt=[\"#131629\",\"#161d40\",\"#1c2755\",\"#203175\",\"#263ea0\",\"#2b4acb\",\"#5273e0\",\"#7f9ef3\",\"#a8c1f8\",\"#d2e0fa\"];dt.primary=dt[5];var ut=[\"#1a1325\",\"#24163a\",\"#301c4d\",\"#3e2069\",\"#51258f\",\"#642ab5\",\"#854eca\",\"#ab7ae0\",\"#cda8f0\",\"#ebd7fa\"];ut.primary=ut[5];var st=[\"#291321\",\"#40162f\",\"#551c3b\",\"#75204f\",\"#a02669\",\"#cb2b83\",\"#e0529c\",\"#f37fb7\",\"#f8a8cc\",\"#fad2e3\"];st.primary=st[5];var mt=[\"#151515\",\"#1f1f1f\",\"#2d2d2d\",\"#393939\",\"#494949\",\"#5a5a5a\",\"#6a6a6a\",\"#7b7b7b\",\"#888888\",\"#969696\"];mt.primary=mt[5];function pt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function g(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?pt(Object(r),!0).forEach(function(o){h(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pt(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}var St=T(C());function re(){return!!(typeof window<\"u\"&&window.document&&window.document.createElement)}function oe(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var r=e;r;){if(r===t)return!0;r=r.parentNode}return!1}var xt=\"data-rc-order\",ct=\"data-rc-priority\",Zt=\"rc-util-key\",ae=new Map;function ht(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith(\"data-\")?e:\"data-\".concat(e):Zt}function le(t){if(t.attachTo)return t.attachTo;var e=document.querySelector(\"head\");return e||document.body}function Kt(t){return t===\"queue\"?\"prependQueue\":t?\"prepend\":\"append\"}function ne(t){return Array.from((ae.get(t)||t).children).filter(function(e){return e.tagName===\"STYLE\"})}function Ot(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!re())return null;var r=e.csp,o=e.prepend,a=e.priority,l=a===void 0?0:a,n=Kt(o),u=n===\"prependQueue\",f=document.createElement(\"style\");f.setAttribute(xt,n),u&&l&&f.setAttribute(ct,\"\".concat(l)),r!=null&&r.nonce&&(f.nonce=r==null?void 0:r.nonce),f.innerHTML=t;var i=le(e),m=i.firstChild;if(o){if(u){var p=(e.styles||ne(i)).filter(function(d){if(![\"prepend\",\"prependQueue\"].includes(d.getAttribute(xt)))return!1;var c=Number(d.getAttribute(ct)||0);return l>=c});if(p.length)return i.insertBefore(f,p[p.length-1].nextSibling),f}i.insertBefore(f,m)}else i.appendChild(f);return f}function Jt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=le(e);return(e.styles||ne(r)).find(function(o){return o.getAttribute(ht(e))===t})}function Xt(t,e){var r=ae.get(t);if(!r||!oe(document,r)){var o=Ot(\"\",e),a=o.parentNode;ae.set(t,a),t.removeChild(o)}}function gt(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=le(r),a=ne(o),l=g(g({},r),{},{styles:a});Xt(o,l);var n=Jt(e,l);if(n){var u,f;if((u=l.csp)!==null&&u!==void 0&&u.nonce&&n.nonce!==((f=l.csp)===null||f===void 0?void 0:f.nonce)){var i;n.nonce=(i=l.csp)===null||i===void 0?void 0:i.nonce}return n.innerHTML!==t&&(n.innerHTML=t),n}var m=Ot(t,l);return m.setAttribute(ht(l),e),m}function Tt(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}function er(t){return Tt(t)instanceof ShadowRoot}function wt(t){return er(t)?Tt(t):null}var fe={},tr=[],rr=function(e){tr.push(e)};function or(t,e){if(0)var r}function ar(t,e){if(0)var r}function lr(){fe={}}function bt(t,e,r){!e&&!fe[r]&&(t(!1,r),fe[r]=!0)}function W(t,e){bt(or,t,e)}function nr(t,e){bt(ar,t,e)}W.preMessage=rr;W.resetWarned=lr;W.noteOnce=nr;var Ft=W;var S=T(C());function fr(t){return t.replace(/-(.)/g,function(e,r){return r.toUpperCase()})}function yt(t,e){Ft(t,\"[@ant-design/icons] \".concat(e))}function ie(t){return w(t)===\"object\"&&typeof t.name==\"string\"&&typeof t.theme==\"string\"&&(w(t.icon)===\"object\"||typeof t.icon==\"function\")}function Ct(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(t).reduce(function(e,r){var o=t[r];switch(r){case\"class\":e.className=o,delete e.class;break;default:delete e[r],e[fr(r)]=o}return e},{})}function V(t,e,r){return r?S.default.createElement(t.tag,g(g({key:e},Ct(t.attrs)),r),(t.children||[]).map(function(o,a){return V(o,\"\".concat(e,\"-\").concat(t.tag,\"-\").concat(a))})):S.default.createElement(t.tag,g({key:e},Ct(t.attrs)),(t.children||[]).map(function(o,a){return V(o,\"\".concat(e,\"-\").concat(t.tag,\"-\").concat(a))}))}function de(t){return U(t)[0]}function z(t){return t?Array.isArray(t)?t:[t]:[]}var ir=\"\\n.anticon {\\n display: inline-flex;\\n align-items: center;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\",vt=function(e){var r=(0,S.useContext)(B),o=r.csp,a=r.prefixCls,l=r.layer,n=ir;a&&(n=n.replace(/anticon/g,a)),l&&(n=\"@layer \".concat(l,\" {\\n\").concat(n,\"\\n}\")),(0,S.useEffect)(function(){var u=e.current,f=wt(u);gt(n,\"@ant-design-icons\",{prepend:!l,csp:o,attachTo:f})},[])};var dr=[\"icon\",\"className\",\"onClick\",\"style\",\"primaryColor\",\"secondaryColor\"],_={primaryColor:\"#333\",secondaryColor:\"#E6E6E6\",calculated:!1};function ur(t){var e=t.primaryColor,r=t.secondaryColor;_.primaryColor=e,_.secondaryColor=r||de(e),_.calculated=!!r}function sr(){return g({},_)}var G=function(e){var r=e.icon,o=e.className,a=e.onClick,l=e.style,n=e.primaryColor,u=e.secondaryColor,f=N(e,dr),i=St.useRef(),m=_;if(n&&(m={primaryColor:n,secondaryColor:u||de(n)}),vt(i),yt(ie(r),\"icon should be icon definiton, but got \".concat(r)),!ie(r))return null;var p=r;return p&&typeof p.icon==\"function\"&&(p=g(g({},p),{},{icon:p.icon(m.primaryColor,m.secondaryColor)})),V(p.icon,\"svg-\".concat(p.name),g(g({className:o,onClick:a,style:l,\"data-icon\":p.name,width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\"},f),{},{ref:i}))};G.displayName=\"IconReact\";G.getTwoToneColors=sr;G.setTwoToneColors=ur;var E=G;function ue(t){var e=z(t),r=L(e,2),o=r[0],a=r[1];return E.setTwoToneColors({primaryColor:o,secondaryColor:a})}function kt(){var t=E.getTwoToneColors();return t.calculated?[t.primaryColor,t.secondaryColor]:t.primaryColor}var mr=[\"className\",\"icon\",\"spin\",\"rotate\",\"tabIndex\",\"onClick\",\"twoToneColor\"];ue(j.primary);var $=k.forwardRef(function(t,e){var r=t.className,o=t.icon,a=t.spin,l=t.rotate,n=t.tabIndex,u=t.onClick,f=t.twoToneColor,i=N(t,mr),m=k.useContext(B),p=m.prefixCls,d=p===void 0?\"anticon\":p,c=m.rootClassName,P=(0,Pt.default)(c,d,h(h({},\"\".concat(d,\"-\").concat(o.name),!!o.name),\"\".concat(d,\"-spin\"),!!a||o.name===\"loading\"),r),A=n;A===void 0&&u&&(A=-1);var b=l?{msTransform:\"rotate(\".concat(l,\"deg)\"),transform:\"rotate(\".concat(l,\"deg)\")}:void 0,F=z(f),I=L(F,2),J=I[0],It=I[1];return k.createElement(\"span\",y({role:\"img\",\"aria-label\":o.name},i,{ref:e,tabIndex:A,onClick:u,className:P}),k.createElement(E,{icon:o,primaryColor:J,secondaryColor:It,style:b}))});$.displayName=\"AntdIcon\";$.getTwoToneColor=kt;$.setTwoToneColor=ue;var Q=$;var Y=T(C());var pr={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z\"}}]},name:\"sort-ascending\",theme:\"outlined\"},At=pr;var xr=function(e,r){return Y.createElement(Q,y({},e,{ref:r,icon:At}))},cr=Y.forwardRef(xr),se=cr;var Z=T(C());var hr={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z\"}}]},name:\"sort-descending\",theme:\"outlined\"},Dt=hr;var Or=function(e,r){return Z.createElement(Q,y({},e,{ref:r,icon:Dt}))},gr=Z.forwardRef(Or),me=gr;var K=T(Mt(),1);if(typeof window<\"u\"){let t=document.createElement(\"style\");t.textContent=\"html,\\nbody,\\n#app {\\n height: 100%;\\n margin: 0;\\n padding: 0;\\n overflow: hidden;\\n}\\n.danmu-container {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n padding: 20px;\\n box-sizing: border-box;\\n}\\n.danmu-container .main-title {\\n text-align: center;\\n transition: all 0.3s ease-out;\\n max-height: 50px;\\n opacity: 1;\\n margin-bottom: 20px;\\n overflow: hidden;\\n}\\n.danmu-container .main-title.hidden {\\n max-height: 0;\\n opacity: 0;\\n margin: 0;\\n}\\n.danmu-container .search-input {\\n margin-bottom: 20px;\\n}\\n.danmu-container .result-container {\\n flex-grow: 1;\\n overflow: hidden;\\n display: flex;\\n flex-direction: column;\\n}\\n.danmu-container .result-container .spin-container {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 100%;\\n}\\n.danmu-container .result-container > .ant-tabs {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n.danmu-container .result-container > .ant-tabs .ant-tabs-content-holder {\\n overflow-y: auto;\\n flex-grow: 1;\\n}\\n.drawer {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n}\\n.drawer .ant-drawer-mask {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n}\\n.drawer .ant-drawer-content-wrapper {\\n left: 0;\\n right: 0;\\n}\\n.drawer .ant-drawer-title {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.drawer .ant-list-item {\\n padding: 16px 24px;\\n}\\n@media (max-width: 768px) {\\n .danmu-container {\\n padding: 10px;\\n }\\n .danmu-container .search-input {\\n margin-bottom: 8px;\\n }\\n .danmu-container .ant-tabs-left > .ant-tabs-nav {\\n width: 80px;\\n }\\n .danmu-container .ant-tabs-nav {\\n margin: 0;\\n }\\n .danmu-container .ant-tabs-tab {\\n font-size: 12px;\\n padding: 8px 12px;\\n }\\n .danmu-container .anime-episode-container {\\n flex-direction: column;\\n }\\n .danmu-container .anime-episode-container .anime-list-col,\\n .danmu-container .anime-episode-container .episode-list-col {\\n width: 100%;\\n border-right: none;\\n max-height: 50vh;\\n }\\n .danmu-container .anime-episode-container .anime-list-col {\\n border-bottom: 1px solid #f0f0f0;\\n }\\n .drawer .ant-drawer-header {\\n padding: 16px 12px;\\n }\\n .drawer .ant-list-item {\\n padding: 12px;\\n }\\n}\\n\",document.head.appendChild(t)}var{Search:Tr}=x.Input,{Title:wr}=x.Typography,br=({animes:t,sourceUrl:e,sourceName:r})=>{let[o,a]=(0,s.useState)(!1),[l,n]=(0,s.useState)(null),[u,f]=(0,s.useState)(!1),i=async d=>{try{let c=\"\".concat(e,\"/api/v2/comment/\").concat(d.episodeId);await K.default.post(\"/website/danmu/push\",{url:\"\".concat(c,\"?format=xml\"),previewUrl:\"\".concat(c,\"?format=json\"),sourceName:r}),a(!1)}catch(c){console.error(c),x.message.error(\"\\u63A8\\u9001\\u5931\\u8D25\")}},m=d=>{n(d),a(!0),f(!1)},p=()=>{l&&(n(Oe(he({},l),{episodes:[...l.episodes].reverse()})),f(d=>!d))};return!t||t.length===0?s.default.createElement(x.Empty,{description:\"\\u8BE5\\u6765\\u6E90\\u4E0B\\u65E0\\u7ED3\\u679C\"}):s.default.createElement(s.default.Fragment,null,s.default.createElement(x.List,{dataSource:t,renderItem:d=>s.default.createElement(x.List.Item,{onClick:()=>m(d)},d.animeTitle)}),l&&s.default.createElement(x.Drawer,{title:l.animeTitle,placement:\"bottom\",onClose:()=>a(!1),open:o,height:\"80%\",destroyOnClose:!0,closable:!1,bodyStyle:{padding:0},rootClassName:\"drawer\",extra:s.default.createElement(x.Button,{icon:u?s.default.createElement(se,null):s.default.createElement(me,null),onClick:p,style:{marginLeft:16}})},s.default.createElement(x.List,{dataSource:l.episodes,renderItem:d=>s.default.createElement(x.List.Item,{onClick:()=>i(d)},d.episodeTitle)})))};function Et(){let[t,e]=(0,s.useState)([]),[r,o]=(0,s.useState)(!1),[a,l]=(0,s.useState)([]),[n,u]=(0,s.useState)(!1),[f,i]=(0,s.useState)(new URLSearchParams(window.location.search).get(\"keyword\")||\"\");(0,s.useEffect)(()=>{K.default.get(\"/website/danmu/setting\").then(d=>{d.data.code===0&&d.data.data&&d.data.data.urls?e(d.data.data.urls.map(c=>({name:c.name||new URL(c.address).hostname,url:c.address}))):x.message.error(\"\\u83B7\\u53D6\\u5F39\\u5E55\\u6E90\\u5931\\u8D25\")}).catch(d=>{console.error(d),x.message.error(\"\\u83B7\\u53D6\\u5F39\\u5E55\\u6E90\\u5931\\u8D25\")})},[]);let m=(0,s.useCallback)((d,c=!1)=>{let P=d.trim();if(!P){c||x.message.warning(\"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u5173\\u952E\\u8BCD\");return}if(t.length===0&&!c){x.message.error(\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u5F39\\u5E55\\u6E90\");return}if(i(P),!c){let b=new URL(window.location);b.searchParams.set(\"keyword\",P),window.history.pushState({},\"\",b)}o(!0),u(!0),l([]);let A=0;t.forEach(b=>{K.default.get(\"\".concat(b.url,\"/api/v2/search/episodes\"),{params:{anime:P}}).then(F=>{if(F.data.success&&F.data.animes&&F.data.animes.length>0){let I={sourceName:b.name,sourceUrl:b.url,data:F.data};l(J=>[...J,I])}}).catch(F=>console.error(\"Search from \".concat(b.name,\" failed:\"),F)).finally(()=>{A++,A===t.length&&o(!1)})})},[t]);(0,s.useEffect)(()=>{if(t.length>0){let c=new URLSearchParams(window.location.search).get(\"keyword\");c&&m(c,!0)}},[t,m]);let p=a.map((d,c)=>({key:\"\".concat(d.sourceName,\"-\").concat(c),label:d.sourceName,children:s.default.createElement(br,{animes:d.data.animes,sourceUrl:d.sourceUrl,sourceName:d.sourceName})}));return s.default.createElement(\"div\",{className:\"danmu-container\"},s.default.createElement(wr,{level:2,className:\"main-title \".concat(n?\"hidden\":\"\")},\"\\u5F39\\u5E55\\u641C\\u7D22\"),s.default.createElement(Tr,{placeholder:\"\\u8F93\\u5165\\u5F71\\u89C6\\u540D\\u79F0...\",enterButton:\"\\u641C\\u7D22\",size:\"large\",onSearch:d=>m(d),loading:r,className:\"search-input\",value:f,onChange:d=>i(d.target.value)}),s.default.createElement(\"div\",{className:\"result-container\"},n&&a.length===0&&r&&s.default.createElement(\"div\",{className:\"spin-container\"},s.default.createElement(x.Spin,{size:\"large\"})),a.length>0&&s.default.createElement(x.Tabs,{items:p,size:\"small\"}),n&&a.length===0&&!r&&s.default.createElement(x.Empty,{description:\"\\u672A\\u627E\\u5230\\u76F8\\u5173\\u7ED3\\u679C\"})))}function Fr(){(0,_t.createRoot)(document.getElementById(\"app\")).render(s.default.createElement(Et,null))}\n/*! Bundled license information:\n\nclassnames/index.js:\n (*!\n \tCopyright (c) 2018 Jed Watson.\n \tLicensed under the MIT License (MIT), see\n \thttp://jedwatson.github.io/classnames\n *)\n*/\n"}
|
|
module.exports.renderDanmu();
|
|
})();
|
|
`;
|
|
}();
|
|
|
|
|
|
var q0t=Object.create;var z2=Object.defineProperty;var j0t=Object.getOwnPropertyDescriptor;var H0t=Object.getOwnPropertyNames;var Q0t=Object.getPrototypeOf,G0t=Object.prototype.hasOwnProperty;var lr=(t,e)=>()=>(t&&(e=t(t=0)),e);var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),is=(t,e)=>{for(var r in e)z2(t,r,{get:e[r],enumerable:!0})},wde=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of H0t(e))!G0t.call(t,s)&&s!==r&&z2(t,s,{get:()=>e[s],enumerable:!(n=j0t(e,s))||n.enumerable});return t};var Re=(t,e,r)=>(r=t!=null?q0t(Q0t(t)):{},wde(e||!t||!t.__esModule?z2(r,"default",{value:t,enumerable:!0}):r,t)),K0t=t=>wde(z2({},"__esModule",{value:!0}),t);var Nde=E((cOr,Rde)=>{"use strict";function V0t(t){var e=new t,r=e;function n(){var i=e;return i.next?e=i.next:(e=new t,r=e),i.next=null,i}function s(i){r.next=i,r=i}return{get:n,release:s}}Rde.exports=V0t});var Pde=E((uOr,D6)=>{"use strict";var z0t=Nde();function Ode(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),!(r>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var n=z0t(Y0t),s=null,i=null,a=0,o=null,c={push:h,drain:Na,saturated:Na,pause:l,paused:!1,get concurrency(){return r},set concurrency(I){if(!(I>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(r=I,!c.paused)for(;s&&a<r;)a++,g()},running:u,resume:p,idle:m,length:d,getQueue:f,unshift:A,empty:Na,kill:b,killAndDrain:y,error:v,abort:x};return c;function u(){return a}function l(){c.paused=!0}function d(){for(var I=s,R=0;I;)I=I.next,R++;return R}function f(){for(var I=s,R=[];I;)R.push(I.value),I=I.next;return R}function p(){if(c.paused){if(c.paused=!1,s===null){a++,g();return}for(;s&&a<r;)a++,g()}}function m(){return a===0&&c.length()===0}function h(I,R){var w=n.get();w.context=t,w.release=g,w.value=I,w.callback=R||Na,w.errorHandler=o,a>=r||c.paused?i?(i.next=w,i=w):(s=w,i=w,c.saturated()):(a++,e.call(t,w.value,w.worked))}function A(I,R){var w=n.get();w.context=t,w.release=g,w.value=I,w.callback=R||Na,w.errorHandler=o,a>=r||c.paused?s?(w.next=s,s=w):(s=w,i=w,c.saturated()):(a++,e.call(t,w.value,w.worked))}function g(I){I&&n.release(I);var R=s;R&&a<=r?c.paused?a--:(i===s&&(i=null),s=R.next,R.next=null,e.call(t,R.value,R.worked),i===null&&c.empty()):--a===0&&c.drain()}function b(){s=null,i=null,c.drain=Na}function y(){s=null,i=null,c.drain(),c.drain=Na}function x(){var I=s;for(s=null,i=null;I;){var R=I.next,w=I.callback,N=I.errorHandler,P=I.value,B=I.context;I.value=null,I.callback=Na,I.errorHandler=null,N&&N(new Error("abort"),P),w.call(B,new Error("abort")),I.release(I),I=R}c.drain=Na}function v(I){o=I}}function Na(){}function Y0t(){this.value=null,this.callback=Na,this.next=null,this.release=Na,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,n){var s=t.callback,i=t.errorHandler,a=t.value;t.value=null,t.callback=Na,t.errorHandler&&i(r,a),s.call(t.context,r,n),t.release(t)}}function J0t(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function n(l,d){e.call(this,l).then(function(f){d(null,f)},d)}var s=Ode(t,n,r),i=s.push,a=s.unshift;return s.push=o,s.unshift=c,s.drained=u,s;function o(l){var d=new Promise(function(f,p){i(l,function(m,h){if(m){p(m);return}f(h)})});return d.catch(Na),d}function c(l){var d=new Promise(function(f,p){a(l,function(m,h){if(m){p(m);return}f(h)})});return d.catch(Na),d}function u(){var l=new Promise(function(d){process.nextTick(function(){if(s.idle())d();else{var f=s.drain;s.drain=function(){typeof f=="function"&&f(),d(),s.drain=f}}})});return l}}D6.exports=Ode;D6.exports.promise=J0t});var L6=E((lOr,Y2)=>{"use strict";var{format:X0t}=require("node:util");function Z0t(){return`${this.name} [${this.code}]: ${this.message}`}function B6(t,e,r=500,n=Error){if(!t)throw new Error("Fastify error code must not be empty");if(!e)throw new Error("Fastify error message must not be empty");t=t.toUpperCase(),!r&&(r=void 0);function s(...i){if(!new.target)return new s(...i);this.code=t,this.name="FastifyError",this.statusCode=r;let a=i.length-1;a!==-1&&i[a]&&typeof i[a]=="object"&&"cause"in i[a]&&(this.cause=i.pop().cause),this.message=X0t(e,...i),Error.stackTraceLimit!==0&&Error.captureStackTrace(this,s)}return s.prototype=Object.create(n.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),s.prototype[Symbol.toStringTag]="Error",s.prototype.toString=Z0t,s}Y2.exports=B6;Y2.exports.default=B6;Y2.exports.createError=B6});var J2=E((dOr,kde)=>{"use strict";var{createError:op}=L6();kde.exports={AVV_ERR_EXPOSE_ALREADY_DEFINED:op("AVV_ERR_EXPOSE_ALREADY_DEFINED","'%s' is already defined, specify an expose option for '%s'"),AVV_ERR_ATTRIBUTE_ALREADY_DEFINED:op("AVV_ERR_ATTRIBUTE_ALREADY_DEFINED","'%s' is already defined"),AVV_ERR_CALLBACK_NOT_FN:op("AVV_ERR_CALLBACK_NOT_FN","Callback for '%s' hook is not a function. Received: '%s'"),AVV_ERR_PLUGIN_NOT_VALID:op("AVV_ERR_PLUGIN_NOT_VALID","Plugin must be a function or a promise. Received: '%s'"),AVV_ERR_ROOT_PLG_BOOTED:op("AVV_ERR_ROOT_PLG_BOOTED","Root plugin has already booted"),AVV_ERR_PARENT_PLG_LOADED:op("AVV_ERR_PARENT_PLG_LOADED","Impossible to load '%s' plugin because the parent '%s' was already loaded"),AVV_ERR_READY_TIMEOUT:op("AVV_ERR_READY_TIMEOUT","Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise"),AVV_ERR_PLUGIN_EXEC_TIMEOUT:op("AVV_ERR_PLUGIN_EXEC_TIMEOUT","Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise")}});var PA=E((fOr,Dde)=>{"use strict";var emt=Symbol("avvio.Boot"),tmt=Symbol("isOnCloseHandler"),rmt=Symbol("avvio.ThenifyDoNotWrap"),nmt=Symbol("avvio.TimeTree.untrackNode"),smt=Symbol("avvio.TimeTree.trackNode"),imt=Symbol("avvio.TimeTree.getParent"),amt=Symbol("avvio.TimeTree.getNode"),omt=Symbol("avvio.TimeTree.addNode"),cmt=Symbol.for("plugin-meta");Dde.exports={kAvvio:emt,kIsOnCloseHandler:tmt,kThenifyDoNotWrap:rmt,kUntrackNode:nmt,kTrackNode:smt,kGetParent:imt,kGetNode:amt,kAddNode:omt,kPluginMeta:cmt}});var Ude=E((pOr,Fde)=>{"use strict";var{kUntrackNode:Bde,kTrackNode:M6,kGetParent:Lde,kGetNode:Mde,kAddNode:Wde}=PA(),W6=class{constructor(){this.root=null,this.tableId=new Map,this.tableLabel=new Map}[M6](e){this.tableId.set(e.id,e),this.tableLabel.has(e.label)?this.tableLabel.get(e.label).push(e):this.tableLabel.set(e.label,[e])}[Bde](e){this.tableId.delete(e.id);let r=this.tableLabel.get(e.label);r.pop(),r.length===0&&this.tableLabel.delete(e.label)}[Lde](e){if(e===null)return null;if(this.tableLabel.has(e)){let r=this.tableLabel.get(e);return r[r.length-1]}else return null}[Mde](e){return this.tableId.get(e)}[Wde](e,r,n){let s=this[Lde](e);if(s===null)return this.root={parent:null,id:"root",label:r,nodes:[],start:n,stop:null,diff:-1},this[M6](this.root),this.root.id;let a=`${r}-${Math.random()}`,o={parent:e,id:a,label:r,nodes:[],start:n,stop:null,diff:-1};return s.nodes.push(o),this[M6](o),a}start(e,r,n=Date.now()){return this[Wde](e,r,n)}stop(e,r=Date.now()){let n=this[Mde](e);n&&(n.stop=r,n.diff=n.stop-n.start||0,this[Bde](n))}toJSON(){return Object.assign({},this.root)}prettyPrint(){return $de(this.toJSON())}};function $de(t,e=""){let r=e,n=t.nodes.length,s=n-1;r+=`${t.label} ${t.diff} ms
|
|
`;for(let i=0;i<n;++i){let a=t.nodes[i],o=e+(i===s?" ":"\u2502 ");r+=e,r+=i===s?"\u2514\u2500":"\u251C\u2500",r+=a.nodes.length===0?"\u2500 ":"\u252C ",r+=$de(a,o).slice(e.length+2)}return r}Fde.exports={TimeTree:W6}});var X2=E((mOr,qde)=>{"use strict";var{debuglog:umt}=require("node:util"),lmt=umt("avvio");qde.exports={debug:lmt}});var Hde=E((hOr,jde)=>{"use strict";function dmt(){let t={resolve:null,reject:null,promise:null};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}jde.exports={createPromise:dmt}});var Gde=E((gOr,Qde)=>{"use strict";var{kPluginMeta:$6}=PA();function fmt(t,e){return t[$6]&&t[$6].name?t[$6].name:e&&e.name?e.name:t.name?t.name:t.toString().split(`
|
|
`).slice(0,2).map(r=>r.trim()).join(" -- ")}Qde.exports={getPluginName:fmt}});var Z2=E((AOr,Kde)=>{"use strict";function pmt(t){return t!==null&&typeof t=="object"&&typeof t.then=="function"}Kde.exports={isPromiseLike:pmt}});var zde=E((yOr,Vde)=>{"use strict";var{EventEmitter:mmt}=require("node:events"),{inherits:hmt}=require("node:util"),{debug:ui}=X2(),{createPromise:gmt}=Hde(),{AVV_ERR_PLUGIN_EXEC_TIMEOUT:Amt}=J2(),{getPluginName:ymt}=Gde(),{isPromiseLike:xmt}=Z2();function kA(t,e,r,n,s){this.queue=t,this.func=e,this.options=r,this.isAfter=n,this.timeout=s,this.started=!1,this.name=ymt(e,r),this.queue.pause(),this._error=null,this.loaded=!1,this._promise=null,this.startTime=null}hmt(kA,mmt);kA.prototype.exec=function(t,e){ui("exec",this.name),this.server=t;let r=this.func,n=this.name,s=!1;this.options=typeof this.options=="function"?this.options(this.server):this.options;let i=null,a=c=>{if(s){ui("loading complete",n);return}this._error=c,ui(c?"exec errored":"exec completed",n),s=!0,i&&clearTimeout(i),e(c)};this.timeout>0&&(ui("setting up timeout",n,this.timeout),i=setTimeout(function(){ui("timed out",n),i=null;let c=new Amt(n);c.fn=r,a(c)},this.timeout)),this.started=!0,this.startTime=Date.now(),this.emit("start",this.server?this.server.name:null,this.name,Date.now());let o=r(this.server,this.options,a);xmt(o)&&(ui("exec: resolving promise",n),o.then(()=>process.nextTick(a),c=>process.nextTick(a,c)))};kA.prototype.loadedSoFar=function(){if(ui("loadedSoFar",this.name),this.loaded)return Promise.resolve();let t=()=>{this.server.after((r,n)=>{this._error=r,this.queue.pause(),this._promise&&(r?(ui("rejecting promise",this.name,r),this._promise.reject(r)):(ui("resolving promise",this.name),this._promise.resolve()),this._promise=null),process.nextTick(n,r)}),this.queue.resume()},e;return this._promise?e=Promise.resolve():(this._promise=gmt(),e=this._promise.promise,this.server?t():this.on("start",t)),e};kA.prototype.enqueue=function(t,e){ui("enqueue",this.name,t.name),this.emit("enqueue",this.server?this.server.name:null,this.name,Date.now()),this.queue.push(t,e)};kA.prototype.finish=function(t,e){ui("finish",this.name,t);let r=()=>{this.loaded||(ui("loaded",this.name),this.emit("loaded",this.server?this.server.name:null,this.name,Date.now()),this.loaded=!0,e(t))};if(t){this._promise&&(this._promise.reject(t),this._promise=null),r();return}let n=()=>{if(ui("check",this.name,this.queue.length(),this.queue.running(),this._promise),this.queue.length()===0&&this.queue.running()===0)if(this._promise){let s=()=>{ui("wrap"),queueMicrotask(n)};this._promise.resolve(),this._promise.promise.then(s,s),this._promise=null}else r();else ui("delayed",this.name),this.queue.drain=()=>{ui("drain",this.name),this.queue.drain=bmt,queueMicrotask(n)}};queueMicrotask(n),this.queue.resume()};function bmt(){}Vde.exports={Plugin:kA}});var Jde=E((xOr,Yde)=>{"use strict";var{AVV_ERR_PLUGIN_NOT_VALID:F6}=J2();function Emt(t){if(!(t&&(typeof t=="function"||typeof t.then=="function")))throw Array.isArray(t)?new F6("array"):t===null?new F6("null"):new F6(typeof t)}Yde.exports={validatePlugin:Emt}});var Zde=E((bOr,Xde)=>{"use strict";function _mt(t){return t!==null&&typeof t=="object"&&typeof t.default=="function"}Xde.exports={isBundledOrTypescriptPlugin:_mt}});var rfe=E((EOr,tfe)=>{"use strict";var{debug:efe}=X2(),{kThenifyDoNotWrap:U6}=PA();function Smt(){if(this.booted){efe("thenify returning undefined because we are already booted");return}if(this[U6]){this[U6]=!1;return}return efe("thenify"),(t,e)=>this._loadRegistered().then(()=>(this[U6]=!0,t(this._server)),e)}tfe.exports={thenify:Smt}});var sfe=E((_Or,nfe)=>{"use strict";var{isPromiseLike:vmt}=Z2(),{kAvvio:Imt}=PA();function Cmt(t,e,r){let n=t.apply(t,e);vmt(n)&&!n[Imt]?n.then(()=>process.nextTick(r),s=>process.nextTick(r,s)):r&&process.nextTick(r)}nfe.exports={executeWithThenable:Cmt}});var ffe=E((SOr,j6)=>{"use strict";var eR=Pde(),Tmt=require("node:events").EventEmitter,wmt=require("node:util").inherits,{AVV_ERR_EXPOSE_ALREADY_DEFINED:ZE,AVV_ERR_CALLBACK_NOT_FN:DA,AVV_ERR_ROOT_PLG_BOOTED:Rmt,AVV_ERR_READY_TIMEOUT:Nmt,AVV_ERR_ATTRIBUTE_ALREADY_DEFINED:Omt}=J2(),{kAvvio:ofe,kIsOnCloseHandler:cfe}=PA(),{TimeTree:Pmt}=Ude(),{Plugin:ufe}=zde(),{debug:BA}=X2(),{validatePlugin:kmt}=Jde(),{isBundledOrTypescriptPlugin:Dmt}=Zde(),{isPromiseLike:Bmt}=Z2(),{thenify:lfe}=rfe(),{executeWithThenable:ife}=sfe();function as(t,e,r){if(typeof t=="function"&&arguments.length===1&&(r=t,e={},t=null),typeof e=="function"&&(r=e,e={}),e=e||{},e.autostart=e.autostart!==!1,e.timeout=Number(e.timeout)||0,e.expose=e.expose||{},!new.target)return new as(t,e,r);this._server=t||this,this._opts=e,t&&this._expose(),this._current=[],this._error=null,this._lastUsed=null,this.setMaxListeners(0),r&&this.once("start",r),this.started=!1,this.booted=!1,this.pluginTree=new Pmt,this._readyQ=eR(this,dfe,1),this._readyQ.pause(),this._readyQ.drain=()=>{this.emit("start"),this._readyQ.drain=afe},this._closeQ=eR(this,Mmt,1),this._closeQ.pause(),this._closeQ.drain=()=>{this.emit("close"),this._closeQ.drain=afe},this._doStart=null;let n=this;this._root=new ufe(eR(this,this._loadPluginNextTick,1),function(i,a,o){n._doStart=o,a.autostart&&n.start()},e,!1,0),this._trackPluginLoading(this._root),this._loadPlugin(this._root,s=>{BA("root plugin ready");try{this.emit("preReady"),this._root=null}catch(i){s=s||this._error||i}if(s){if(this._error=s,this._readyQ.length()===0)throw s}else this.booted=!0;this._readyQ.resume()})}wmt(as,Tmt);as.prototype.start=function(){return this.started=!0,process.nextTick(this._doStart),this};as.prototype.override=function(t,e,r){return t};as.prototype[ofe]=!0;as.prototype.use=function(t,e){return this._lastUsed=this._addPlugin(t,e,!1),this};as.prototype._loadRegistered=function(){let t=this._current[0];return!this.started&&!this.booted&&process.nextTick(()=>this._root.queue.resume()),t?t.loadedSoFar():Promise.resolve()};Object.defineProperty(as.prototype,"then",{get:lfe});as.prototype._addPlugin=function(t,e,r){if(Dmt(t)&&(t=t.default),kmt(t),e=e||{},this.booted)throw new Rmt;let n=this._current[0],s=this._opts.timeout;if(!n.loaded&&n.timeout>0){let a=Date.now()-n.startTime;s=n.timeout-(a+3)}let i=new ufe(eR(this,this._loadPluginNextTick,1),t,e,r,s);if(this._trackPluginLoading(i),n.loaded)throw new Error(i.name,n.name);return n.enqueue(i,a=>{a&&(this._error=a)}),i};as.prototype._expose=function(){let e=this,r=e._server,{use:n="use",after:s="after",ready:i="ready",onClose:a="onClose",close:o="close"}=this._opts.expose;if(r[n])throw new ZE(n,"use");if(r[n]=function(c,u){return e.use(c,u),this},r[s])throw new ZE(s,"after");if(r[s]=function(c){return typeof c!="function"?e._loadRegistered():(e.after(q6(c,this)),this)},r[i])throw new ZE(i,"ready");if(r[i]=function(c){if(c&&typeof c!="function")throw new DA(i,typeof c);return e.ready(c?q6(c,this):void 0)},r[a])throw new ZE(a,"onClose");if(r[a]=function(c){if(typeof c!="function")throw new DA(a,typeof c);return e.onClose(Wmt(c,this)),this},r[o])throw new ZE(o,"close");if(r[o]=function(c){if(c&&typeof c!="function")throw new DA(o,typeof c);return c?(e.close(q6(c,this)),this):e.close()},r.then)throw new Omt("then");Object.defineProperty(r,"then",{get:lfe.bind(e)}),r[ofe]=!0};as.prototype.after=function(t){if(!t)return this._loadRegistered();this._addPlugin(e.bind(this),{},!0);function e(r,n,s){dfe.call(this,t,s)}return this};as.prototype.onClose=function(t){if(typeof t!="function")throw new DA("onClose",typeof t);return t[cfe]=!0,this._closeQ.unshift(t,e=>{e&&(this._error=e)}),this};as.prototype.close=function(t){let e;if(t){if(typeof t!="function")throw new DA("close",typeof t)}else e=new Promise(function(r,n){t=function(s){if(s)return n(s);r()}});return this.ready(()=>{this._error=null,this._closeQ.push(t),process.nextTick(this._closeQ.resume.bind(this._closeQ))}),e};as.prototype.ready=function(t){if(t){if(typeof t!="function")throw new DA("ready",typeof t);this._readyQ.push(t),queueMicrotask(this.start.bind(this));return}return new Promise((e,r)=>{this._readyQ.push(s),this.start();let n=this._current[0].server;function s(i,a,o){i?r(i):e(n),process.nextTick(o)}})};as.prototype._trackPluginLoading=function(t){let e=this._current[0]?.name||null;t.once("start",(r,n,s)=>{let i=this.pluginTree.start(e||null,n,s);t.once("loaded",(a,o,c)=>{this.pluginTree.stop(i,c)})})};as.prototype.prettyPrint=function(){return this.pluginTree.prettyPrint()};as.prototype.toJSON=function(){return this.pluginTree.toJSON()};as.prototype._loadPlugin=function(t,e){let r=this;if(Bmt(t.func)){t.func.then(a=>{typeof a.default=="function"&&(a=a.default),t.func=a,this._loadPlugin(t,e)},e);return}let n=r._current[0];if(r._current.unshift(t),r._error&&!t.isAfter){BA("skipping loading of plugin as instance errored and it is not an after",t.name),process.nextTick(i);return}let s=n&&n.server||r._server;if(!t.isAfter)try{s=r.override(s,t.func,t.options)}catch(a){return BA("override errored",t.name),i(a)}t.exec(s,i);function i(a){t.finish(a,o=>{r._current.shift(),e(o)})}};as.prototype._loadPluginNextTick=function(t,e){process.nextTick(this._loadPlugin.bind(this),t,e)};function afe(){}function dfe(t,e){let r=this._server,n=this._error;if(this._error=null,t.length===0)this._error=n,ife(t,[],e);else if(t.length===1)ife(t,[n],e);else if(this._opts.timeout===0){let s=i=>{this._error=i,e(this._error)};t.length===2?t(n,s):t(n,r,s)}else Lmt.call(this,t,n,r,e)}function Lmt(t,e,r,n){let s=t.unwrappedName??t.name;BA("setting up ready timeout",s,this._opts.timeout);let i=setTimeout(()=>{BA("timed out",s),i=null;let o=new Nmt(s);o.fn=t,this._error=o,n(o)},this._opts.timeout);t.length===2?t(e,a.bind(this)):t(e,r,a.bind(this));function a(o){i&&(clearTimeout(i),this._error=o,n(this._error))}}function Mmt(t,e){let r=this._server,n=t[cfe];if(t.length===0||t.length===1){let s;n?s=t(r):s=t(this._error),s&&typeof s.then=="function"?(BA("resolving close/onClose promise"),s.then(()=>process.nextTick(e),i=>process.nextTick(e,i))):process.nextTick(e)}else t.length===2?t(n?r:this._error,e):n?t(r,e):t(this._error,r,e)}function Wmt(t,e){return r.bind(e);function r(n,s){let i;t.length===0?(i=t(),i&&i.then?i.then(function(){process.nextTick(s)},s):process.nextTick(s)):t.length===1?(i=t(this),i&&i.then?i.then(function(){process.nextTick(s)},s):process.nextTick(s)):t(this,s)}}function q6(t,e){let r=n.bind(e);return r.unwrappedName=t.name,r;function n(s,i){let a;t?t.length===0?(a=t(),a&&a.then?a.then(function(){process.nextTick(i,s)},i):process.nextTick(i,s)):t.length===1?(a=t(s),a&&a.then?a.then(function(){process.nextTick(i)},i):process.nextTick(i)):t.length===2?t(s,i):t(s,this,i):process.nextTick(i)}}j6.exports=as;j6.exports.express=function(t){return as(t,{expose:{use:"load"}})}});var Gs=E((vOr,pfe)=>{"use strict";var $mt={kAvvioBoot:Symbol("fastify.avvioBoot"),kChildren:Symbol("fastify.children"),kServerBindings:Symbol("fastify.serverBindings"),kBodyLimit:Symbol("fastify.bodyLimit"),kRoutePrefix:Symbol("fastify.routePrefix"),kLogLevel:Symbol("fastify.logLevel"),kLogSerializers:Symbol("fastify.logSerializers"),kHooks:Symbol("fastify.hooks"),kContentTypeParser:Symbol("fastify.contentTypeParser"),kState:Symbol("fastify.state"),kOptions:Symbol("fastify.options"),kDisableRequestLogging:Symbol("fastify.disableRequestLogging"),kPluginNameChain:Symbol("fastify.pluginNameChain"),kRouteContext:Symbol("fastify.context"),kPublicRouteContext:Symbol("fastify.routeOptions"),kGenReqId:Symbol("fastify.genReqId"),kSchemaController:Symbol("fastify.schemaController"),kSchemaHeaders:Symbol("headers-schema"),kSchemaParams:Symbol("params-schema"),kSchemaQuerystring:Symbol("querystring-schema"),kSchemaBody:Symbol("body-schema"),kSchemaResponse:Symbol("response-schema"),kSchemaErrorFormatter:Symbol("fastify.schemaErrorFormatter"),kSchemaVisited:Symbol("fastify.schemas.visited"),kRequest:Symbol("fastify.Request"),kRequestPayloadStream:Symbol("fastify.RequestPayloadStream"),kRequestAcceptVersion:Symbol("fastify.RequestAcceptVersion"),kRequestCacheValidateFns:Symbol("fastify.request.cache.validateFns"),kRequestOriginalUrl:Symbol("fastify.request.originalUrl"),kFourOhFour:Symbol("fastify.404"),kCanSetNotFoundHandler:Symbol("fastify.canSetNotFoundHandler"),kFourOhFourLevelInstance:Symbol("fastify.404LogLevelInstance"),kFourOhFourContext:Symbol("fastify.404ContextKey"),kDefaultJsonParse:Symbol("fastify.defaultJSONParse"),kReply:Symbol("fastify.Reply"),kReplySerializer:Symbol("fastify.reply.serializer"),kReplyIsError:Symbol("fastify.reply.isError"),kReplyHeaders:Symbol("fastify.reply.headers"),kReplyTrailers:Symbol("fastify.reply.trailers"),kReplyHasStatusCode:Symbol("fastify.reply.hasStatusCode"),kReplyHijacked:Symbol("fastify.reply.hijacked"),kReplyStartTime:Symbol("fastify.reply.startTime"),kReplyNextErrorHandler:Symbol("fastify.reply.nextErrorHandler"),kReplyEndTime:Symbol("fastify.reply.endTime"),kReplyErrorHandlerCalled:Symbol("fastify.reply.errorHandlerCalled"),kReplyIsRunningOnErrorHook:Symbol("fastify.reply.isRunningOnErrorHook"),kReplySerializerDefault:Symbol("fastify.replySerializerDefault"),kReplyCacheSerializeFns:Symbol("fastify.reply.cache.serializeFns"),kTestInternals:Symbol("fastify.testInternals"),kErrorHandler:Symbol("fastify.errorHandler"),kChildLoggerFactory:Symbol("fastify.childLoggerFactory"),kHasBeenDecorated:Symbol("fastify.hasBeenDecorated"),kKeepAliveConnections:Symbol("fastify.keepAliveConnections"),kRouteByFastify:Symbol("fastify.routeByFastify")};pfe.exports=$mt});var G6=E((IOr,tR)=>{"use strict";var{format:H6}=require("node:util");function Fmt(t){return mfe({...t,name:"DeprecationWarning"})}function mfe({name:t,code:e,message:r,unlimited:n=!1}={}){if(!t)throw new Error("Warning name must not be empty");if(!e)throw new Error("Warning code must not be empty");if(!r)throw new Error("Warning message must not be empty");if(typeof n!="boolean")throw new Error("Warning opts.unlimited must be a boolean");e=e.toUpperCase();let s={[t]:function(a,o,c){i.emitted===!0&&i.unlimited!==!0||(i.emitted=!0,process.emitWarning(i.format(a,o,c),i.name,i.code))}};n&&(s={[t]:function(a,o,c){i.emitted=!0,process.emitWarning(i.format(a,o,c),i.name,i.code)}});let i=s[t];return i.emitted=!1,i.message=r,i.unlimited=n,i.code=e,i.format=function(a,o,c){let u;return a&&o&&c?u=H6(r,a,o,c):a&&o?u=H6(r,a,o):a?u=H6(r,a):u=r,u},i}var Q6={createWarning:mfe,createDeprecation:Fmt};tR.exports=Q6;tR.exports.default=Q6;tR.exports.processWarning=Q6});var od=E((COr,gfe)=>{"use strict";var{createDeprecation:Ii,createWarning:hfe}=G6(),Umt=Ii({code:"FSTDEP005",message:'You are accessing the deprecated "request.connection" property. Use "request.socket" instead.'}),qmt=Ii({code:"FSTDEP006",message:"You are decorating Request/Reply with a reference type. This reference is shared amongst all requests. Use onRequest hook instead. Property: %s"}),jmt=Ii({code:"FSTDEP007",message:'You are trying to set a HEAD route using "exposeHeadRoute" route flag when a sibling route is already set. See documentation for more info.'}),Hmt=Ii({code:"FSTDEP008",message:'You are using route constraints via the route { version: "..." } option, use { constraints: { version: "..." } } option instead.'}),Qmt=Ii({code:"FSTDEP009",message:'You are using a custom route versioning strategy via the server { versioning: "..." } option, use { constraints: { version: "..." } } option instead.'}),Gmt=Ii({code:"FSTDEP010",message:'Modifying the "reply.sent" property is deprecated. Use the "reply.hijack()" method instead.'}),Kmt=Ii({code:"FSTDEP011",message:'Variadic listen method is deprecated. Please use ".listen(optionsObject)" instead. The variadic signature will be removed in `fastify@5`.'}),Vmt=Ii({code:"FSTDEP012",message:'request.context property access is deprecated. Please use "request.routeOptions.config" or "request.routeOptions.schema" instead for accessing Route settings. The "request.context" will be removed in `fastify@5`.'}),zmt=Ii({code:"FSTDEP013",message:'Direct return of "trailers" function is deprecated. Please use "callback" or "async-await" for return value. The support of direct return will removed in `fastify@5`.'}),Ymt=Ii({code:"FSTDEP014",message:"You are trying to set/access the default route. This property is deprecated. Please, use setNotFoundHandler if you want to custom a 404 handler or the wildcard (*) to match all routes."}),Jmt=Ii({code:"FSTDEP015",message:'You are accessing the deprecated "request.routeSchema" property. Use "request.routeOptions.schema" instead. Property "req.routeSchema" will be removed in `fastify@5`.'}),Xmt=Ii({code:"FSTDEP016",message:'You are accessing the deprecated "request.routeConfig" property. Use "request.routeOptions.config" instead. Property "req.routeConfig" will be removed in `fastify@5`.'}),Zmt=Ii({code:"FSTDEP017",message:'You are accessing the deprecated "request.routerPath" property. Use "request.routeOptions.url" instead. Property "req.routerPath" will be removed in `fastify@5`.'}),eht=Ii({code:"FSTDEP018",message:'You are accessing the deprecated "request.routerMethod" property. Use "request.routeOptions.method" instead. Property "req.routerMethod" will be removed in `fastify@5`.'}),tht=Ii({code:"FSTDEP019",message:'reply.context property access is deprecated. Please use "request.routeOptions.config" or "request.routeOptions.schema" instead for accessing Route settings. The "reply.context" will be removed in `fastify@5`.'}),rht=Ii({code:"FSTDEP020",message:'You are using the deprecated "reply.getResponseTime()"" method. Use the "request.elapsedTime" property instead. Method "reply.getResponseTime()" will be removed in `fastify@5`.'}),nht=hfe({name:"FastifyWarning",code:"FSTWRN001",message:"The %s schema for %s: %s is missing. This may indicate the schema is not well specified.",unlimited:!0}),sht=hfe({name:"FastifyWarning",code:"FSTWRN002",message:"The %s plugin being registered mixes async and callback styles, which will result in an error in `fastify@5`",unlimited:!0});gfe.exports={FSTDEP005:Umt,FSTDEP006:qmt,FSTDEP007:jmt,FSTDEP008:Hmt,FSTDEP009:Qmt,FSTDEP010:Gmt,FSTDEP011:Kmt,FSTDEP012:Vmt,FSTDEP013:zmt,FSTDEP014:Ymt,FSTDEP015:Jmt,FSTDEP016:Xmt,FSTDEP017:Zmt,FSTDEP018:eht,FSTDEP019:tht,FSTDEP020:rht,FSTWRN001:nht,FSTWRN002:sht}});var Ci=E((TOr,rR)=>{"use strict";var He=L6(),LA={FST_ERR_NOT_FOUND:He("FST_ERR_NOT_FOUND","Not Found",404),FST_ERR_OPTIONS_NOT_OBJ:He("FST_ERR_OPTIONS_NOT_OBJ","Options must be an object",500,TypeError),FST_ERR_QSP_NOT_FN:He("FST_ERR_QSP_NOT_FN","querystringParser option should be a function, instead got '%s'",500,TypeError),FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN:He("FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN","schemaController.bucket option should be a function, instead got '%s'",500,TypeError),FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN:He("FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN","schemaErrorFormatter option should be a non async function. Instead got '%s'.",500,TypeError),FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ:He("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ","ajv.customOptions option should be an object, instead got '%s'",500,TypeError),FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR:He("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR","ajv.plugins option should be an array, instead got '%s'",500,TypeError),FST_ERR_VERSION_CONSTRAINT_NOT_STR:He("FST_ERR_VERSION_CONSTRAINT_NOT_STR","Version constraint should be a string.",500,TypeError),FST_ERR_VALIDATION:He("FST_ERR_VALIDATION","%s",400),FST_ERR_LISTEN_OPTIONS_INVALID:He("FST_ERR_LISTEN_OPTIONS_INVALID","Invalid listen options: '%s'",500,TypeError),FST_ERR_CTP_ALREADY_PRESENT:He("FST_ERR_CTP_ALREADY_PRESENT","Content type parser '%s' already present."),FST_ERR_CTP_INVALID_TYPE:He("FST_ERR_CTP_INVALID_TYPE","The content type should be a string or a RegExp",500,TypeError),FST_ERR_CTP_EMPTY_TYPE:He("FST_ERR_CTP_EMPTY_TYPE","The content type cannot be an empty string",500,TypeError),FST_ERR_CTP_INVALID_HANDLER:He("FST_ERR_CTP_INVALID_HANDLER","The content type handler should be a function",500,TypeError),FST_ERR_CTP_INVALID_PARSE_TYPE:He("FST_ERR_CTP_INVALID_PARSE_TYPE","The body parser can only parse your data as 'string' or 'buffer', you asked '%s' which is not supported.",500,TypeError),FST_ERR_CTP_BODY_TOO_LARGE:He("FST_ERR_CTP_BODY_TOO_LARGE","Request body is too large",413,RangeError),FST_ERR_CTP_INVALID_MEDIA_TYPE:He("FST_ERR_CTP_INVALID_MEDIA_TYPE","Unsupported Media Type: %s",415),FST_ERR_CTP_INVALID_CONTENT_LENGTH:He("FST_ERR_CTP_INVALID_CONTENT_LENGTH","Request body size did not match Content-Length",400,RangeError),FST_ERR_CTP_EMPTY_JSON_BODY:He("FST_ERR_CTP_EMPTY_JSON_BODY","Body cannot be empty when content-type is set to 'application/json'",400),FST_ERR_CTP_INSTANCE_ALREADY_STARTED:He("FST_ERR_CTP_INSTANCE_ALREADY_STARTED",'Cannot call "%s" when fastify instance is already started!',400),FST_ERR_DEC_ALREADY_PRESENT:He("FST_ERR_DEC_ALREADY_PRESENT","The decorator '%s' has already been added!"),FST_ERR_DEC_DEPENDENCY_INVALID_TYPE:He("FST_ERR_DEC_DEPENDENCY_INVALID_TYPE","The dependencies of decorator '%s' must be of type Array.",500,TypeError),FST_ERR_DEC_MISSING_DEPENDENCY:He("FST_ERR_DEC_MISSING_DEPENDENCY","The decorator is missing dependency '%s'."),FST_ERR_DEC_AFTER_START:He("FST_ERR_DEC_AFTER_START","The decorator '%s' has been added after start!"),FST_ERR_HOOK_INVALID_TYPE:He("FST_ERR_HOOK_INVALID_TYPE","The hook name must be a string",500,TypeError),FST_ERR_HOOK_INVALID_HANDLER:He("FST_ERR_HOOK_INVALID_HANDLER","%s hook should be a function, instead got %s",500,TypeError),FST_ERR_HOOK_INVALID_ASYNC_HANDLER:He("FST_ERR_HOOK_INVALID_ASYNC_HANDLER","Async function has too many arguments. Async hooks should not use the 'done' argument.",500,TypeError),FST_ERR_HOOK_NOT_SUPPORTED:He("FST_ERR_HOOK_NOT_SUPPORTED","%s hook not supported!",500,TypeError),FST_ERR_MISSING_MIDDLEWARE:He("FST_ERR_MISSING_MIDDLEWARE","You must register a plugin for handling middlewares, visit fastify.dev/docs/latest/Reference/Middleware/ for more info.",500),FST_ERR_HOOK_TIMEOUT:He("FST_ERR_HOOK_TIMEOUT","A callback for '%s' hook timed out. You may have forgotten to call 'done' function or to resolve a Promise"),FST_ERR_LOG_INVALID_DESTINATION:He("FST_ERR_LOG_INVALID_DESTINATION","Cannot specify both logger.stream and logger.file options"),FST_ERR_LOG_INVALID_LOGGER:He("FST_ERR_LOG_INVALID_LOGGER","Invalid logger object provided. The logger instance should have these functions(s): '%s'.",500,TypeError),FST_ERR_REP_INVALID_PAYLOAD_TYPE:He("FST_ERR_REP_INVALID_PAYLOAD_TYPE","Attempted to send payload of invalid type '%s'. Expected a string or Buffer.",500,TypeError),FST_ERR_REP_RESPONSE_BODY_CONSUMED:He("FST_ERR_REP_RESPONSE_BODY_CONSUMED","Response.body is already consumed."),FST_ERR_REP_ALREADY_SENT:He("FST_ERR_REP_ALREADY_SENT",'Reply was already sent, did you forget to "return reply" in "%s" (%s)?'),FST_ERR_REP_SENT_VALUE:He("FST_ERR_REP_SENT_VALUE","The only possible value for reply.sent is true.",500,TypeError),FST_ERR_SEND_INSIDE_ONERR:He("FST_ERR_SEND_INSIDE_ONERR","You cannot use `send` inside the `onError` hook"),FST_ERR_SEND_UNDEFINED_ERR:He("FST_ERR_SEND_UNDEFINED_ERR","Undefined error has occurred"),FST_ERR_BAD_STATUS_CODE:He("FST_ERR_BAD_STATUS_CODE","Called reply with an invalid status code: %s"),FST_ERR_BAD_TRAILER_NAME:He("FST_ERR_BAD_TRAILER_NAME","Called reply.trailer with an invalid header name: %s"),FST_ERR_BAD_TRAILER_VALUE:He("FST_ERR_BAD_TRAILER_VALUE","Called reply.trailer('%s', fn) with an invalid type: %s. Expected a function."),FST_ERR_FAILED_ERROR_SERIALIZATION:He("FST_ERR_FAILED_ERROR_SERIALIZATION","Failed to serialize an error. Error: %s. Original error: %s"),FST_ERR_MISSING_SERIALIZATION_FN:He("FST_ERR_MISSING_SERIALIZATION_FN",'Missing serialization function. Key "%s"'),FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN:He("FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN",'Missing serialization function. Key "%s:%s"'),FST_ERR_REQ_INVALID_VALIDATION_INVOCATION:He("FST_ERR_REQ_INVALID_VALIDATION_INVOCATION",'Invalid validation invocation. Missing validation function for HTTP part "%s" nor schema provided.'),FST_ERR_SCH_MISSING_ID:He("FST_ERR_SCH_MISSING_ID","Missing schema $id property"),FST_ERR_SCH_ALREADY_PRESENT:He("FST_ERR_SCH_ALREADY_PRESENT","Schema with id '%s' already declared!"),FST_ERR_SCH_CONTENT_MISSING_SCHEMA:He("FST_ERR_SCH_CONTENT_MISSING_SCHEMA","Schema is missing for the content type '%s'"),FST_ERR_SCH_DUPLICATE:He("FST_ERR_SCH_DUPLICATE","Schema with '%s' already present!"),FST_ERR_SCH_VALIDATION_BUILD:He("FST_ERR_SCH_VALIDATION_BUILD","Failed building the validation schema for %s: %s, due to error %s"),FST_ERR_SCH_SERIALIZATION_BUILD:He("FST_ERR_SCH_SERIALIZATION_BUILD","Failed building the serialization schema for %s: %s, due to error %s"),FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX:He("FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX",'response schemas should be nested under a valid status code, e.g { 2xx: { type: "object" } }'),FST_ERR_HTTP2_INVALID_VERSION:He("FST_ERR_HTTP2_INVALID_VERSION","HTTP2 is available only from node >= 8.8.1"),FST_ERR_INIT_OPTS_INVALID:He("FST_ERR_INIT_OPTS_INVALID","Invalid initialization options: '%s'"),FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE:He("FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE","Cannot set forceCloseConnections to 'idle' as your HTTP server does not support closeIdleConnections method"),FST_ERR_DUPLICATED_ROUTE:He("FST_ERR_DUPLICATED_ROUTE","Method '%s' already declared for route '%s'"),FST_ERR_BAD_URL:He("FST_ERR_BAD_URL","'%s' is not a valid url component",400,URIError),FST_ERR_ASYNC_CONSTRAINT:He("FST_ERR_ASYNC_CONSTRAINT","Unexpected error from async constraint",500),FST_ERR_DEFAULT_ROUTE_INVALID_TYPE:He("FST_ERR_DEFAULT_ROUTE_INVALID_TYPE","The defaultRoute type should be a function",500,TypeError),FST_ERR_INVALID_URL:He("FST_ERR_INVALID_URL","URL must be a string. Received '%s'",400,TypeError),FST_ERR_ROUTE_OPTIONS_NOT_OBJ:He("FST_ERR_ROUTE_OPTIONS_NOT_OBJ",'Options for "%s:%s" route must be an object',500,TypeError),FST_ERR_ROUTE_DUPLICATED_HANDLER:He("FST_ERR_ROUTE_DUPLICATED_HANDLER",'Duplicate handler for "%s:%s" route is not allowed!',500),FST_ERR_ROUTE_HANDLER_NOT_FN:He("FST_ERR_ROUTE_HANDLER_NOT_FN","Error Handler for %s:%s route, if defined, must be a function",500,TypeError),FST_ERR_ROUTE_MISSING_HANDLER:He("FST_ERR_ROUTE_MISSING_HANDLER",'Missing handler function for "%s:%s" route.',500),FST_ERR_ROUTE_METHOD_INVALID:He("FST_ERR_ROUTE_METHOD_INVALID","Provided method is invalid!",500,TypeError),FST_ERR_ROUTE_METHOD_NOT_SUPPORTED:He("FST_ERR_ROUTE_METHOD_NOT_SUPPORTED","%s method is not supported.",500),FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED:He("FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED","Body validation schema for %s:%s route is not supported!",500),FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT:He("FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT","'bodyLimit' option must be an integer > 0. Got '%s'",500,TypeError),FST_ERR_ROUTE_REWRITE_NOT_STR:He("FST_ERR_ROUTE_REWRITE_NOT_STR",'Rewrite url for "%s" needs to be of type "string" but received "%s"',500,TypeError),FST_ERR_REOPENED_CLOSE_SERVER:He("FST_ERR_REOPENED_CLOSE_SERVER","Fastify has already been closed and cannot be reopened"),FST_ERR_REOPENED_SERVER:He("FST_ERR_REOPENED_SERVER","Fastify is already listening"),FST_ERR_INSTANCE_ALREADY_LISTENING:He("FST_ERR_INSTANCE_ALREADY_LISTENING","Fastify instance is already listening. %s"),FST_ERR_PLUGIN_VERSION_MISMATCH:He("FST_ERR_PLUGIN_VERSION_MISMATCH","fastify-plugin: %s - expected '%s' fastify version, '%s' is installed"),FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE:He("FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE","The decorator '%s'%s is not present in %s"),FST_ERR_PLUGIN_CALLBACK_NOT_FN:He("FST_ERR_PLUGIN_CALLBACK_NOT_FN","fastify-plugin: %s",500,TypeError),FST_ERR_PLUGIN_NOT_VALID:He("FST_ERR_PLUGIN_NOT_VALID","fastify-plugin: %s"),FST_ERR_ROOT_PLG_BOOTED:He("FST_ERR_ROOT_PLG_BOOTED","fastify-plugin: %s"),FST_ERR_PARENT_PLUGIN_BOOTED:He("FST_ERR_PARENT_PLUGIN_BOOTED","fastify-plugin: %s"),FST_ERR_PLUGIN_TIMEOUT:He("FST_ERR_PLUGIN_TIMEOUT","fastify-plugin: %s")};function iht(t,e){return e.cause=t,e}rR.exports=LA;rR.exports.appendStackTrace=iht;rR.exports.AVVIO_ERRORS_MAP={AVV_ERR_CALLBACK_NOT_FN:LA.FST_ERR_PLUGIN_CALLBACK_NOT_FN,AVV_ERR_PLUGIN_NOT_VALID:LA.FST_ERR_PLUGIN_NOT_VALID,AVV_ERR_ROOT_PLG_BOOTED:LA.FST_ERR_ROOT_PLG_BOOTED,AVV_ERR_PARENT_PLG_LOADED:LA.FST_ERR_PARENT_PLUGIN_BOOTED,AVV_ERR_READY_TIMEOUT:LA.FST_ERR_PLUGIN_TIMEOUT}});var cp=E((wOr,Ife)=>{"use strict";var aht=["onRoute","onRegister","onReady","onListen","preClose","onClose"],bfe=["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError","onRequestAbort"],oht=bfe.concat(aht),{FST_ERR_HOOK_INVALID_TYPE:cht,FST_ERR_HOOK_INVALID_HANDLER:uht,FST_ERR_SEND_UNDEFINED_ERR:nR,FST_ERR_HOOK_TIMEOUT:lht,FST_ERR_HOOK_NOT_SUPPORTED:dht,AVVIO_ERRORS_MAP:Afe,appendStackTrace:yfe}=Ci(),{kChildren:e1,kHooks:Efe,kRequestPayloadStream:xfe}=Gs();function t1(){this.onRequest=[],this.preParsing=[],this.preValidation=[],this.preSerialization=[],this.preHandler=[],this.onResponse=[],this.onSend=[],this.onError=[],this.onRoute=[],this.onRegister=[],this.onReady=[],this.onListen=[],this.onTimeout=[],this.onRequestAbort=[],this.preClose=[]}t1.prototype=Object.create(null);t1.prototype.validate=function(t,e){if(typeof t!="string")throw new cht;if(Array.isArray(this[t])===!1)throw new dht(t);if(typeof e!="function")throw new uht(t,Object.prototype.toString.call(e))};t1.prototype.add=function(t,e){this.validate(t,e),this[t].push(e)};function fht(t){let e=new t1;return e.onRequest=t.onRequest.slice(),e.preParsing=t.preParsing.slice(),e.preValidation=t.preValidation.slice(),e.preSerialization=t.preSerialization.slice(),e.preHandler=t.preHandler.slice(),e.onSend=t.onSend.slice(),e.onResponse=t.onResponse.slice(),e.onError=t.onError.slice(),e.onRoute=t.onRoute.slice(),e.onRegister=t.onRegister.slice(),e.onTimeout=t.onTimeout.slice(),e.onRequestAbort=t.onRequestAbort.slice(),e.onReady=[],e.onListen=[],e.preClose=[],e}function _fe(t,e,r,n){let s=r[Efe][t],i=0,a=0;c();function o(l){if(l){l.code==="AVV_ERR_READY_TIMEOUT"?l=yfe(l,new lht(t)):l=Afe[l.code]!=null?yfe(l,new Afe[l.code](l.message)):l,n(l);return}n()}function c(l){if(l){o(l);return}if(i===s.length&&a===r[e1].length){i===0&&a===0?o():e(function(f,p){o(f),p(f)});return}if(i===s.length&&a<r[e1].length){let d=r[e1][a++];_fe(t,e,d,c);return}e(u(s[i++],r)),c()}function u(l,d){return function(f,p){if(f){p(f);return}if(l.length===1){try{l.call(d,p)}catch(m){p(m)}return}try{let m=l.call(d);if(m&&typeof m.then=="function"){m.then(p,p);return}}catch(m){f=m}p(f)}}}function Sfe(t){let e=t[Efe].onListen,r=e.length,n=0,s=0;i();function i(o){if(o&&t.log.error(o),n===r){for(;s<t[e1].length;){let c=t[e1][s++];Sfe(c)}return}a(e[n++],t,i)}async function a(o,c,u){if(o.length===1){try{o.call(c,u)}catch(l){u(l)}return}try{let l=o.call(c);if(l&&typeof l.then=="function"){l.then(u,u);return}u()}catch(l){u(l)}}}function MA(t){return function(r,n,s,i){let a=0;function o(l){if(l||a===r.length){i(l,n,s);return}let d;try{d=t(r[a++],n,s,o)}catch(f){i(f,n,s);return}d&&typeof d.then=="function"&&d.then(c,u)}function c(){o()}function u(l){l||(l=new nR),i(l,n,s)}o()}}function pht(t,e,r,n){return t(e,r,n)}var mht=MA(pht),hht=MA(r1),ght=MA(r1),Aht=MA(r1),yht=MA(r1);function vfe(t,e,r,n,s){let i=0;function a(u,l){if(u){s(u,e,r,n);return}if(l!==void 0&&(n=l),i===t.length){s(null,e,r,n);return}let d;try{d=t[i++](e,r,n,a)}catch(f){s(f,e,r);return}d&&typeof d.then=="function"&&d.then(o,c)}function o(u){a(null,u)}function c(u){u||(u=new nR),s(u,e,r,n)}a()}var xht=vfe;function bht(t,e,r,n){let s=0;function i(c,u){if(r.sent)return;if(u!==void 0&&(e[xfe]=u),c||s===t.length){n(c,e,r);return}let l;try{l=t[s++](e,r,e[xfe],i)}catch(d){n(d,e,r);return}l&&typeof l.then=="function"&&l.then(a,o)}function a(c){i(null,c)}function o(c){c||(c=new nR),n(c,e,r)}i()}function Eht(t,e,r){let n=0;function s(o){if(o||n===t.length){r(o,e);return}let c;try{c=t[n++](e,s)}catch(u){r(u,e);return}c&&typeof c.then=="function"&&c.then(i,a)}function i(){s()}function a(o){o||(o=new nR),r(o,e)}s()}function r1(t,e,r,n){if(r.sent!==!0)return t(e,r,n)}Ife.exports={Hooks:t1,buildHooks:fht,hookRunnerGenerator:MA,preParsingHookRunner:bht,onResponseHookRunner:mht,onSendHookRunner:vfe,preSerializationHookRunner:xht,onRequestAbortHookRunner:Eht,hookIterator:r1,hookRunnerApplication:_fe,onListenHookRunner:Sfe,preHandlerHookRunner:ght,preValidationHookRunner:hht,onRequestHookRunner:yht,onTimeoutHookRunner:Aht,lifecycleHooks:bfe,supportedHooks:oht}});var Bfe=E((ROr,V6)=>{"use strict";var _ht=require("node:http"),Sht=require("node:https"),vht=require("node:dns"),{FSTDEP011:Cfe}=od(),{kState:Ti,kOptions:Iht,kServerBindings:Cht}=Gs(),{onListenHookRunner:sR}=cp(),{FST_ERR_HTTP2_INVALID_VERSION:Tht,FST_ERR_REOPENED_CLOSE_SERVER:Rfe,FST_ERR_REOPENED_SERVER:Nfe,FST_ERR_LISTEN_OPTIONS_INVALID:wht}=Ci();V6.exports.createServer=Rht;V6.exports.compileValidateHTTPVersion=Oht;function Ofe(t){return`Server listening at ${t}`}function Rht(t,e){let r=kfe(t,e);function n(s,...i){let a=i.slice(-1).pop(),o=Object.prototype.toString.call(arguments[0]);if(arguments.length===0)s=K6([]);else if(arguments.length>0&&o!=="[object Object]"&&o!=="[object Function]")Cfe(),s=K6(Array.from(arguments)),a=s.cb;else if(i.length>1){Cfe();let u=s.path?[s.path]:[s.port??0,s.host??"localhost"];Object.assign(s,K6([...u,...i]))}else s.cb=a;if(s.signal){if(typeof s.signal.on!="function"&&typeof s.signal.addEventListener!="function")throw new wht("Invalid options.signal");if(s.signal.aborted)this.close();else{let u=()=>{this.close()};s.signal.addEventListener("abort",u,{once:!0})}}let c;if(s.path==null?c=s.host??"localhost":c=s.host,Object.prototype.hasOwnProperty.call(s,"host")===!1&&(s.host=c),c==="localhost"?s.cb=(u,l)=>{if(u){a(u,l);return}Tfe.call(this,r,e,t,s,()=>{this[Ti].listening=!0,a(null,l),sR(this)})}:s.cb=(u,l)=>{if(u){a(u,l);return}this[Ti].listening=!0,a(null,l),sR(this)},a===void 0)return Nht.call(this,r,s).then(l=>new Promise((d,f)=>{c==="localhost"?Tfe.call(this,r,e,t,s,()=>{this[Ti].listening=!0,d(l),sR(this)}):(d(l),sR(this))}));this.ready(Pfe.call(this,r,s))}return{server:r,listen:n}}function Tfe(t,e,r,n,s){this[Ti].listening=!1,vht.lookup(n.host,{all:!0},(i,a)=>{if(i){s();return}let o=t.listening&&r.serverFactory,c=0,u=0;if(!o){let d=t.address();for(let f of a)if(f.address!==d.address){c++;let p=Object.assign({},n,{host:f.address,port:d.port,cb:A=>{u++,A||this[Cht].push(m),u===c&&s()}}),m=kfe(r,e),h=()=>{m.close(()=>{}),r.forceCloseConnections==="idle"?m.closeIdleConnections():typeof m.closeAllConnections=="function"&&r.forceCloseConnections&&m.closeAllConnections()};m.on("upgrade",t.emit.bind(t,"upgrade")),t.on("unref",h),t.on("close",h),t.on("error",h),this[Ti].listening=!1,Pfe.call(this,m,p)()}}if(c===0){s();return}let l=t.unref;t.unref=function(){l.call(t),t.emit("unref")}})}function Pfe(t,e){let r=n=>{if(t.removeListener("error",r),n)this[Ti].listening=!1,e.cb(n,null);else{let s=Dfe.call(this,t,e.listenTextResolver||Ofe);e.cb(null,s)}};return n=>{if(n!=null)return e.cb(n);if(this[Ti].listening&&this[Ti].closing)return e.cb(new Rfe,null);if(this[Ti].listening)return e.cb(new Nfe,null);t.once("error",r),this[Ti].closing||(t.listen(e,r),this[Ti].listening=!0)}}function Nht(t,e){return this[Ti].listening&&this[Ti].closing?Promise.reject(new Rfe):this[Ti].listening?Promise.reject(new Nfe):this.ready().then(()=>{let r,n=new Promise((i,a)=>{r=o=>{this[Ti].listening=!1,a(o)},t.once("error",r)}),s=new Promise((i,a)=>{t.listen(e,()=>{t.removeListener("error",r),i(Dfe.call(this,t,e.listenTextResolver||Ofe))}),this[Ti].listening=!0});return Promise.race([n,s])})}function Oht(t){let e=!1,r=new Map;return t.serverFactory&&(e=!0),t.http2?(r.set("2.0",!0),t.https&&t.https.allowHTTP1===!0&&(r.set("1.1",!0),r.set("1.0",!0))):(r.set("1.1",!0),r.set("1.0",!0)),function(s){return e||r.has(s)}}function kfe(t,e){let r=null,n=t.https===!0?{}:t.https;return t.serverFactory?r=t.serverFactory(e,t):t.http2?(typeof n=="object"?r=wfe().createSecureServer(n,e):r=wfe().createServer(e),r.on("session",kht(t.http2SessionTimeout))):(n?r=Sht.createServer(n,e):r=_ht.createServer(t.http,e),r.keepAliveTimeout=t.keepAliveTimeout,r.requestTimeout=t.requestTimeout,t.maxRequestsPerSocket>0&&(r.maxRequestsPerSocket=t.maxRequestsPerSocket)),t.serverFactory||r.setTimeout(t.connectionTimeout),r}function K6(t){if(t.length===0)return{port:0,host:"localhost"};let r={cb:typeof t[t.length-1]=="function"?t.pop():void 0},n=t[0],s=t.length,i=t[s-1];return typeof n=="string"&&isNaN(n)?(r.path=n,r.backlog=s>1?i:void 0):(r.port=s>=1&&Number.isInteger(n)?n:Pht(n),r.host=s>=2&&t[1]?t[1]:"localhost",r.backlog=s>=3?t[2]:void 0),r}function Pht(t){let e=Number(t);return e>=0&&!Number.isNaN(e)&&Number.isInteger(e)?e:0}function Dfe(t,e){let r=t.address(),n=typeof r=="string";n||(r.address.indexOf(":")===-1?r=r.address+":"+r.port:r="["+r.address+"]:"+r.port),r=(n?"":"http"+(this[Iht].https?"s":"")+"://")+r;let s=e(r);return this.log.info(s),r}function wfe(){try{return require("node:http2")}catch{throw new Tht}}function kht(t){return function(e){e.setTimeout(t,Dht)}}function Dht(){this.close()}});var X6=E((NOr,Mfe)=>{"use strict";var{kSchemaHeaders:oR,kSchemaParams:z6,kSchemaQuerystring:Y6,kSchemaBody:J6,kSchemaResponse:Lfe}=Gs(),Bht=/^[1-5]{1}[0-9]{2}$|^[1-5]xx$|^default$/,{FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX:Lht}=Ci(),{FSTWRN001:iR}=od();function Mht(t,e){if(!t.schema||!t.schema.response)return;let{method:r,url:n}=t.config||{};t[Lfe]=Object.keys(t.schema.response).reduce(function(s,i){let a=t.schema.response[i];if(i=i.toLowerCase(),!Bht.exec(i))throw new Lht;if(a.content){let o={};for(let c of Object.keys(a.content)){let u=a.content[c].schema;o[c]=e({schema:u,url:n,method:r,httpStatus:i,contentType:c})}s[i]=o}else s[i]=e({schema:a,url:n,method:r,httpStatus:i});return s},{})}function Wht(t,e,r){let{schema:n}=t;if(!n)return;let{method:s,url:i}=t.config||{},a=n.headers;if(a&&(r||Object.getPrototypeOf(a)!==Object.prototype))t[oR]=e({schema:a,method:s,url:i,httpPart:"headers"});else if(a){let o={};Object.keys(a).forEach(c=>{o[c]=a[c]}),o.required instanceof Array&&(o.required=o.required.map(c=>c.toLowerCase())),a.properties&&(o.properties={},Object.keys(a.properties).forEach(c=>{o.properties[c.toLowerCase()]=a.properties[c]})),t[oR]=e({schema:o,method:s,url:i,httpPart:"headers"})}else Object.prototype.hasOwnProperty.call(n,"headers")&&iR("headers",s,i);n.body?t[J6]=e({schema:n.body,method:s,url:i,httpPart:"body"}):Object.prototype.hasOwnProperty.call(n,"body")&&iR("body",s,i),n.querystring?t[Y6]=e({schema:n.querystring,method:s,url:i,httpPart:"querystring"}):Object.prototype.hasOwnProperty.call(n,"querystring")&&iR("querystring",s,i),n.params?t[z6]=e({schema:n.params,method:s,url:i,httpPart:"params"}):Object.prototype.hasOwnProperty.call(n,"params")&&iR("params",s,i)}function aR(t,e,r){let n=e[r]===void 0,s=t&&t(n?null:e[r]);if(s?.then)return s.then(a=>i(a)).catch(a=>a);return i(s);function i(a){return a===!1?t.errors:a&&a.error?a.error:(a&&a.value&&(e[r]=a.value),!1)}}function cR(t,e,r){let n=r===void 0;if(n||!r.skipParams){let i=aR(t[z6],e,"params");if(i)return typeof i.then!="function"?up(i,"params",t.schemaErrorFormatter):$ht(i,t,e)}if(n||!r.skipBody){let i=aR(t[J6],e,"body");if(i)return typeof i.then!="function"?up(i,"body",t.schemaErrorFormatter):Fht(i,t,e)}if(n||!r.skipQuery){let i=aR(t[Y6],e,"query");if(i)return typeof i.then!="function"?up(i,"querystring",t.schemaErrorFormatter):Uht(i,t,e)}let s=aR(t[oR],e,"headers");return s?typeof s.then!="function"?up(s,"headers",t.schemaErrorFormatter):qht(s,t,e):!1}function $ht(t,e,r){return t.then(n=>n?up(n,"params",e.schemaErrorFormatter):cR(e,r,{skipParams:!0}))}function Fht(t,e,r){return t.then(n=>n?up(n,"body",e.schemaErrorFormatter):cR(e,r,{skipParams:!0,skipBody:!0}))}function Uht(t,e,r){return t.then(n=>n?up(n,"querystring",e.schemaErrorFormatter):cR(e,r,{skipParams:!0,skipBody:!0,skipQuery:!0}))}function qht(t,e,r){return t.then(n=>n?up(n,"headers",e.schemaErrorFormatter):!1)}function up(t,e,r){if(t instanceof Error)return t.statusCode=t.statusCode||400,t.code=t.code||"FST_ERR_VALIDATION",t.validationContext=t.validationContext||e,t;let n=r(t,e);return n.statusCode=n.statusCode||400,n.code=n.code||"FST_ERR_VALIDATION",n.validation=t,n.validationContext=e,n}Mfe.exports={symbols:{bodySchema:J6,querystringSchema:Y6,responseSchema:Lfe,paramsSchema:z6,headersSchema:oR},compileSchemasForValidation:Wht,compileSchemasForSerialization:Mht,validate:cR}});var Z6=E((OOr,$fe)=>{"use strict";var{kReplyIsError:Wfe,kReplyHijacked:jht}=Gs();function Hht(t,e){t.then(function(r){if(e[jht]!==!0&&(r!==void 0||e.sent===!1&&e.raw.headersSent===!1&&e.request.raw.aborted===!1))try{e.send(r)}catch(n){e[Wfe]=!0,e.send(n)}},function(r){if(e.sent===!0){e.log.error({err:r},"Promise errored, but reply.sent = true was set");return}e[Wfe]=!0;try{e.send(r)}catch(n){e.send(n)}})}$fe.exports=Hht});var n5=E((POr,r5)=>{"use strict";var{validate:Qht}=X6(),{preValidationHookRunner:Ght,preHandlerHookRunner:Kht}=cp(),Vht=Z6(),{kReplyIsError:uR,kRouteContext:dp}=Gs();function zht(t,e,r){if(r.sent===!0)return;if(t!=null){r[uR]=!0,r.send(t);return}let n=e.raw.method,s=e.headers,i=e[dp];if(n==="GET"||n==="HEAD"){lp(e,r);return}let a=s["content-type"];if(n==="POST"||n==="PUT"||n==="PATCH"||n==="TRACE"||n==="SEARCH"){a===void 0?s["transfer-encoding"]===void 0&&(s["content-length"]==="0"||s["content-length"]===void 0)?lp(e,r):i.contentTypeParser.run("",lp,e,r):i.contentTypeParser.run(a,lp,e,r);return}if(n==="OPTIONS"||n==="DELETE"){a!==void 0&&(s["transfer-encoding"]!==void 0||s["content-length"]!==void 0)?i.contentTypeParser.run(a,lp,e,r):lp(e,r);return}lp(e,r)}function lp(t,e){try{t[dp].preValidation!==null?Ght(t[dp].preValidation,t,e,e5):e5(null,t,e)}catch(r){e5(r,t,e)}}function e5(t,e,r){if(r.sent===!0)return;if(t!=null){r[uR]=!0,r.send(t);return}let n=Qht(r[dp],e);if(n&&typeof n.then=="function"||!1){let i=Ffe.bind(null,e,r);n.then(i,i)}else Ffe(e,r,n)}function Ffe(t,e,r){if(r){if(e[dp].attachValidation===!1){e.send(r);return}e.request.validationError=r}t[dp].preHandler!==null?Kht(t[dp].preHandler,t,e,t5):t5(null,t,e)}function t5(t,e,r){if(r.sent)return;if(t!=null){r[uR]=!0,r.send(t);return}let n;try{n=e[dp].handler(e,r)}catch(s){r[uR]=!0,r.send(s);return}n!==void 0&&(n!==null&&typeof n.then=="function"?Vht(n,r):r.send(n))}r5.exports=zht;r5.exports[Symbol.for("internals")]={handler:lp,preHandlerCallback:t5}});var qfe=E((kOr,Ufe)=>{"use strict";function WA(){}var Yht={fatal:WA,error:WA,warn:WA,info:WA,debug:WA,trace:WA};Object.defineProperty(Ufe,"exports",{get(){return Object.create(Yht)}})});var i5=E((DOr,Qfe)=>{"use strict";var n1=t=>t&&typeof t.message=="string",s5=t=>{if(!t)return;let e=t.cause;if(typeof e=="function"){let r=t.cause();return n1(r)?r:void 0}else return n1(e)?e:void 0},jfe=(t,e)=>{if(!n1(t))return"";let r=t.stack||"";if(e.has(t))return r+`
|
|
causes have become circular...`;let n=s5(t);return n?(e.add(t),r+`
|
|
caused by: `+jfe(n,e)):r},Jht=t=>jfe(t,new Set),Hfe=(t,e,r)=>{if(!n1(t))return"";let n=r?"":t.message||"";if(e.has(t))return n+": ...";let s=s5(t);if(s){e.add(t);let i=typeof t.cause=="function";return n+(i?"":": ")+Hfe(s,e,i)}else return n},Xht=t=>Hfe(t,new Set);Qfe.exports={isErrorLike:n1,getErrorCause:s5,stackWithCauses:Jht,messageWithCauses:Xht}});var a5=E((BOr,Kfe)=>{"use strict";var Zht=Symbol("circular-ref-tag"),lR=Symbol("pino-raw-err-ref"),Gfe=Object.create({},{type:{enumerable:!0,writable:!0,value:void 0},message:{enumerable:!0,writable:!0,value:void 0},stack:{enumerable:!0,writable:!0,value:void 0},aggregateErrors:{enumerable:!0,writable:!0,value:void 0},raw:{enumerable:!1,get:function(){return this[lR]},set:function(t){this[lR]=t}}});Object.defineProperty(Gfe,lR,{writable:!0,value:{}});Kfe.exports={pinoErrProto:Gfe,pinoErrorSymbols:{seen:Zht,rawSymbol:lR}}});var Yfe=E((LOr,zfe)=>{"use strict";zfe.exports=c5;var{messageWithCauses:egt,stackWithCauses:tgt,isErrorLike:Vfe}=i5(),{pinoErrProto:rgt,pinoErrorSymbols:ngt}=a5(),{seen:o5}=ngt,{toString:sgt}=Object.prototype;function c5(t){if(!Vfe(t))return t;t[o5]=void 0;let e=Object.create(rgt);e.type=sgt.call(t.constructor)==="[object Function]"?t.constructor.name:t.name,e.message=egt(t),e.stack=tgt(t),Array.isArray(t.errors)&&(e.aggregateErrors=t.errors.map(r=>c5(r)));for(let r in t)if(e[r]===void 0){let n=t[r];Vfe(n)?r!=="cause"&&!Object.prototype.hasOwnProperty.call(n,o5)&&(e[r]=c5(n)):e[r]=n}return delete t[o5],e.raw=t,e}});var Xfe=E((MOr,Jfe)=>{"use strict";Jfe.exports=fR;var{isErrorLike:u5}=i5(),{pinoErrProto:igt,pinoErrorSymbols:agt}=a5(),{seen:dR}=agt,{toString:ogt}=Object.prototype;function fR(t){if(!u5(t))return t;t[dR]=void 0;let e=Object.create(igt);e.type=ogt.call(t.constructor)==="[object Function]"?t.constructor.name:t.name,e.message=t.message,e.stack=t.stack,Array.isArray(t.errors)&&(e.aggregateErrors=t.errors.map(r=>fR(r))),u5(t.cause)&&!Object.prototype.hasOwnProperty.call(t.cause,dR)&&(e.cause=fR(t.cause));for(let r in t)if(e[r]===void 0){let n=t[r];u5(n)?Object.prototype.hasOwnProperty.call(n,dR)||(e[r]=fR(n)):e[r]=n}return delete t[dR],e.raw=t,e}});var rpe=E((WOr,tpe)=>{"use strict";tpe.exports={mapHttpRequest:cgt,reqSerializer:epe};var l5=Symbol("pino-raw-req-ref"),Zfe=Object.create({},{id:{enumerable:!0,writable:!0,value:""},method:{enumerable:!0,writable:!0,value:""},url:{enumerable:!0,writable:!0,value:""},query:{enumerable:!0,writable:!0,value:""},params:{enumerable:!0,writable:!0,value:""},headers:{enumerable:!0,writable:!0,value:{}},remoteAddress:{enumerable:!0,writable:!0,value:""},remotePort:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[l5]},set:function(t){this[l5]=t}}});Object.defineProperty(Zfe,l5,{writable:!0,value:{}});function epe(t){let e=t.info||t.socket,r=Object.create(Zfe);if(r.id=typeof t.id=="function"?t.id():t.id||(t.info?t.info.id:void 0),r.method=t.method,t.originalUrl)r.url=t.originalUrl;else{let n=t.path;r.url=typeof n=="string"?n:t.url?t.url.path||t.url:void 0}return t.query&&(r.query=t.query),t.params&&(r.params=t.params),r.headers=t.headers,r.remoteAddress=e&&e.remoteAddress,r.remotePort=e&&e.remotePort,r.raw=t.raw||t,r}function cgt(t){return{req:epe(t)}}});var ape=E(($Or,ipe)=>{"use strict";ipe.exports={mapHttpResponse:ugt,resSerializer:spe};var d5=Symbol("pino-raw-res-ref"),npe=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[d5]},set:function(t){this[d5]=t}}});Object.defineProperty(npe,d5,{writable:!0,value:{}});function spe(t){let e=Object.create(npe);return e.statusCode=t.headersSent?t.statusCode:null,e.headers=t.getHeaders?t.getHeaders():t._headers,e.raw=t,e}function ugt(t){return{res:spe(t)}}});var p5=E((FOr,ope)=>{"use strict";var f5=Yfe(),lgt=Xfe(),pR=rpe(),mR=ape();ope.exports={err:f5,errWithCause:lgt,mapHttpRequest:pR.mapHttpRequest,mapHttpResponse:mR.mapHttpResponse,req:pR.reqSerializer,res:mR.resSerializer,wrapErrorSerializer:function(e){return e===f5?e:function(n){return e(f5(n))}},wrapRequestSerializer:function(e){return e===pR.reqSerializer?e:function(n){return e(pR.reqSerializer(n))}},wrapResponseSerializer:function(e){return e===mR.resSerializer?e:function(n){return e(mR.resSerializer(n))}}}});var m5=E((UOr,cpe)=>{"use strict";function dgt(t,e){return e}cpe.exports=function(){let e=Error.prepareStackTrace;Error.prepareStackTrace=dgt;let r=new Error().stack;if(Error.prepareStackTrace=e,!Array.isArray(r))return;let n=r.slice(2),s=[];for(let i of n)i&&s.push(i.getFileName());return s}});var lpe=E((qOr,upe)=>{"use strict";upe.exports=fgt;function fgt(t={}){let{ERR_PATHS_MUST_BE_STRINGS:e=()=>"fast-redact - Paths must be (non-empty) strings",ERR_INVALID_PATH:r=n=>`fast-redact \u2013 Invalid path (${n})`}=t;return function({paths:s}){s.forEach(i=>{if(typeof i!="string")throw Error(e());try{if(/〇/.test(i))throw Error();let a=(i[0]==="["?"":".")+i.replace(/^\*/,"\u3007").replace(/\.\*/g,".\u3007").replace(/\[\*\]/g,"[\u3007]");if(/\n|\r|;/.test(a)||/\/\*/.test(a))throw Error();Function(`
|
|
'use strict'
|
|
const o = new Proxy({}, { get: () => o, set: () => { throw Error() } });
|
|
const \u3007 = null;
|
|
o${a}
|
|
if ([o${a}].length !== 1) throw Error()`)()}catch{throw Error(r(i))}})}}});var hR=E((jOr,dpe)=>{"use strict";dpe.exports=/[^.[\]]+|\[((?:.)*?)\]/g});var ppe=E((HOr,fpe)=>{"use strict";var pgt=hR();fpe.exports=mgt;function mgt({paths:t}){let e=[];var r=0;let n=t.reduce(function(s,i,a){var o=i.match(pgt).map(l=>l.replace(/'|"|`/g,""));let c=i[0]==="[";o=o.map(l=>l[0]==="["?l.substr(1,l.length-2):l);let u=o.indexOf("*");if(u>-1){let l=o.slice(0,u),d=l.join("."),f=o.slice(u+1,o.length),p=f.length>0;r++,e.push({before:l,beforeStr:d,after:f,nested:p})}else s[i]={path:o,val:void 0,precensored:!1,circle:"",escPath:JSON.stringify(i),leadingBracket:c};return s},{});return{wildcards:e,wcLen:r,secret:n}}});var hpe=E((QOr,mpe)=>{"use strict";var hgt=hR();mpe.exports=ggt;function ggt({secret:t,serialize:e,wcLen:r,strict:n,isCensorFct:s,censorFctTakesPath:i},a){let o=Function("o",`
|
|
if (typeof o !== 'object' || o == null) {
|
|
${bgt(n,e)}
|
|
}
|
|
const { censor, secret } = this
|
|
const originalSecret = {}
|
|
const secretKeys = Object.keys(secret)
|
|
for (var i = 0; i < secretKeys.length; i++) {
|
|
originalSecret[secretKeys[i]] = secret[secretKeys[i]]
|
|
}
|
|
|
|
${Agt(t,s,i)}
|
|
this.compileRestore()
|
|
${ygt(r>0,s,i)}
|
|
this.secret = originalSecret
|
|
${xgt(e)}
|
|
`).bind(a);return o.state=a,e===!1&&(o.restore=c=>a.restore(c)),o}function Agt(t,e,r){return Object.keys(t).map(n=>{let{escPath:s,leadingBracket:i,path:a}=t[n],o=i?1:0,c=i?"":".",u=[];for(var l;(l=hgt.exec(n))!==null;){let[,m]=l,{index:h,input:A}=l;h>o&&u.push(A.substring(0,h-(m?0:1)))}var d=u.map(m=>`o${c}${m}`).join(" && ");d.length===0?d+=`o${c}${n} != null`:d+=` && o${c}${n} != null`;let f=`
|
|
switch (true) {
|
|
${u.reverse().map(m=>`
|
|
case o${c}${m} === censor:
|
|
secret[${s}].circle = ${JSON.stringify(m)}
|
|
break
|
|
`).join(`
|
|
`)}
|
|
}
|
|
`,p=r?`val, ${JSON.stringify(a)}`:"val";return`
|
|
if (${d}) {
|
|
const val = o${c}${n}
|
|
if (val === censor) {
|
|
secret[${s}].precensored = true
|
|
} else {
|
|
secret[${s}].val = val
|
|
o${c}${n} = ${e?`censor(${p})`:"censor"}
|
|
${f}
|
|
}
|
|
}
|
|
`}).join(`
|
|
`)}function ygt(t,e,r){return t===!0?`
|
|
{
|
|
const { wildcards, wcLen, groupRedact, nestedRedact } = this
|
|
for (var i = 0; i < wcLen; i++) {
|
|
const { before, beforeStr, after, nested } = wildcards[i]
|
|
if (nested === true) {
|
|
secret[beforeStr] = secret[beforeStr] || []
|
|
nestedRedact(secret[beforeStr], o, before, after, censor, ${e}, ${r})
|
|
} else secret[beforeStr] = groupRedact(o, before, censor, ${e}, ${r})
|
|
}
|
|
}
|
|
`:""}function xgt(t){return t===!1?"return o":`
|
|
var s = this.serialize(o)
|
|
this.restore(o)
|
|
return s
|
|
`}function bgt(t,e){return t===!0?"throw Error('fast-redact: primitives cannot be redacted')":e===!1?"return o":"return this.serialize(o)"}});var g5=E((GOr,ype)=>{"use strict";ype.exports={groupRedact:_gt,groupRestore:Egt,nestedRedact:vgt,nestedRestore:Sgt};function Egt({keys:t,values:e,target:r}){if(r==null||typeof r=="string")return;let n=t.length;for(var s=0;s<n;s++){let i=t[s];r[i]=e[s]}}function _gt(t,e,r,n,s){let i=gpe(t,e);if(i==null||typeof i=="string")return{keys:null,values:null,target:i,flat:!0};let a=Object.keys(i),o=a.length,c=e.length,u=s?[...e]:void 0,l=new Array(o);for(var d=0;d<o;d++){let f=a[d];l[d]=i[f],s?(u[c]=f,i[f]=r(i[f],u)):n?i[f]=r(i[f]):i[f]=r}return{keys:a,values:l,target:i,flat:!0}}function Sgt(t){for(let e=0;e<t.length;e++){let{target:r,path:n,value:s}=t[e],i=r;for(let a=n.length-1;a>0;a--)i=i[n[a]];i[n[0]]=s}}function vgt(t,e,r,n,s,i,a){let o=gpe(e,r);if(o==null)return;let c=Object.keys(o),u=c.length;for(var l=0;l<u;l++){let d=c[l];Igt(t,o,d,r,n,s,i,a)}return t}function h5(t,e){return t!=null?"hasOwn"in Object?Object.hasOwn(t,e):Object.prototype.hasOwnProperty.call(t,e):!1}function Igt(t,e,r,n,s,i,a,o){let c=s.length,u=c-1,l=r;var d=-1,f,p,m,h=null,A=null,g,b,y=!1,x=0,v=0,I=Cgt();if(m=f=e[r],typeof f=="object"){for(;f!=null&&++d<c&&(v+=1,r=s[d],h=m,!(r!=="*"&&!A&&!(typeof f=="object"&&r in f)));)if(!(r==="*"&&(A==="*"&&(y=!0),A=r,d!==u))){if(A){let w=Object.keys(f);for(var R=0;R<w.length;R++){let N=w[R];if(b=f[N],g=r==="*",y)I=cd(I,N,v),x=d,m=Ape(b,x-1,r,n,s,i,a,o,l,f,p,m,g,N,d,u,I,t,e[l],v+1);else if(g||typeof b=="object"&&b!==null&&r in b){if(g?m=b:m=b[r],p=d!==u?m:a?o?i(m,[...n,l,...s]):i(m):i,g){let P=s1(cd(I,N,v),m,e[l]);t.push(P),f[N]=p}else if(b[r]!==p)if(p===void 0&&i!==void 0||h5(b,r)&&p===m)I=cd(I,N,v);else{I=cd(I,N,v);let P=s1(cd(I,r,v+1),m,e[l]);t.push(P),b[r]=p}}}A=null}else{if(m=f[r],I=cd(I,r,v),p=d!==u?m:a?o?i(m,[...n,l,...s]):i(m):i,!(h5(f,r)&&p===m||p===void 0&&i!==void 0)){let w=s1(I,m,e[l]);t.push(w),f[r]=p}f=f[r]}if(typeof f!="object")break}}}function gpe(t,e){for(var r=-1,n=e.length,s=t;s!=null&&++r<n;)s=s[e[r]];return s}function Ape(t,e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y){if(e===0&&(f||typeof t=="object"&&t!==null&&r in t)){if(f?d=t:d=t[r],l=m!==h?d:a?o?i(d,[...n,c,...s]):i(d):i,f){let x=s1(A,d,b);g.push(x),u[p]=l}else if(t[r]!==l){if(!(l===void 0&&i!==void 0||h5(t,r)&&l===d)){let x=s1(cd(A,r,y+1),d,b);g.push(x),t[r]=l}}}for(let x in t)typeof t[x]=="object"&&(A=cd(A,x,y),Ape(t[x],e-1,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y+1))}function Cgt(){return{parent:null,key:null,children:[],depth:0}}function cd(t,e,r){if(t.depth===r)return cd(t.parent,e,r);var n={parent:t,key:e,depth:r,children:[]};return t.children.push(n),n}function s1(t,e,r){let n=t,s=[];do s.push(n.key),n=n.parent;while(n.parent!=null);return{path:s,value:e,target:r}}});var bpe=E((KOr,xpe)=>{"use strict";var{groupRestore:Tgt,nestedRestore:wgt}=g5();xpe.exports=Rgt;function Rgt(){return function(){if(this.restore){this.restore.state.secret=this.secret;return}let{secret:e,wcLen:r}=this,n=Object.keys(e),s=Ngt(e,n),i=r>0,a=i?{secret:e,groupRestore:Tgt,nestedRestore:wgt}:{secret:e};this.restore=Function("o",Ogt(s,n,i)).bind(a),this.restore.state=a}}function Ngt(t,e){return e.map(r=>{let{circle:n,escPath:s,leadingBracket:i}=t[r],o=n?`o.${n} = secret[${s}].val`:`o${i?"":"."}${r} = secret[${s}].val`,c=`secret[${s}].val = undefined`;return`
|
|
if (secret[${s}].val !== undefined) {
|
|
try { ${o} } catch (e) {}
|
|
${c}
|
|
}
|
|
`}).join("")}function Ogt(t,e,r){return`
|
|
const secret = this.secret
|
|
${r===!0?`
|
|
const keys = Object.keys(secret)
|
|
const len = keys.length
|
|
for (var i = len - 1; i >= ${e.length}; i--) {
|
|
const k = keys[i]
|
|
const o = secret[k]
|
|
if (o) {
|
|
if (o.flat === true) this.groupRestore(o)
|
|
else this.nestedRestore(o)
|
|
secret[k] = null
|
|
}
|
|
}
|
|
`:""}
|
|
${t}
|
|
return o
|
|
`}});var _pe=E((VOr,Epe)=>{"use strict";Epe.exports=Pgt;function Pgt(t){let{secret:e,censor:r,compileRestore:n,serialize:s,groupRedact:i,nestedRedact:a,wildcards:o,wcLen:c}=t,u=[{secret:e,censor:r,compileRestore:n}];return s!==!1&&u.push({serialize:s}),c>0&&u.push({groupRedact:i,nestedRedact:a,wildcards:o,wcLen:c}),Object.assign(...u)}});var Ipe=E((zOr,vpe)=>{"use strict";var Spe=lpe(),kgt=ppe(),Dgt=hpe(),Bgt=bpe(),{groupRedact:Lgt,nestedRedact:Mgt}=g5(),Wgt=_pe(),$gt=hR(),Fgt=Spe(),A5=t=>t;A5.restore=A5;var Ugt="[REDACTED]";y5.rx=$gt;y5.validator=Spe;vpe.exports=y5;function y5(t={}){let e=Array.from(new Set(t.paths||[])),r="serialize"in t&&(t.serialize===!1||typeof t.serialize=="function")?t.serialize:JSON.stringify,n=t.remove;if(n===!0&&r!==JSON.stringify)throw Error("fast-redact \u2013 remove option may only be set when serializer is JSON.stringify");let s=n===!0?void 0:"censor"in t?t.censor:Ugt,i=typeof s=="function",a=i&&s.length>1;if(e.length===0)return r||A5;Fgt({paths:e,serialize:r,censor:s});let{wildcards:o,wcLen:c,secret:u}=kgt({paths:e,censor:s}),l=Bgt(),d="strict"in t?t.strict:!0;return Dgt({secret:u,wcLen:c,serialize:r,strict:d,isCensorFct:i,censorFctTakesPath:a},Wgt({secret:u,censor:s,compileRestore:l,serialize:r,groupRedact:Lgt,nestedRedact:Mgt,wildcards:o,wcLen:c}))}});var $A=E((YOr,Cpe)=>{"use strict";var qgt=Symbol("pino.setLevel"),jgt=Symbol("pino.getLevel"),Hgt=Symbol("pino.levelVal"),Qgt=Symbol("pino.levelComp"),Ggt=Symbol("pino.useLevelLabels"),Kgt=Symbol("pino.useOnlyCustomLevels"),Vgt=Symbol("pino.mixin"),zgt=Symbol("pino.lsCache"),Ygt=Symbol("pino.chindings"),Jgt=Symbol("pino.asJson"),Xgt=Symbol("pino.write"),Zgt=Symbol("pino.redactFmt"),eAt=Symbol("pino.time"),tAt=Symbol("pino.timeSliceIndex"),rAt=Symbol("pino.stream"),nAt=Symbol("pino.stringify"),sAt=Symbol("pino.stringifySafe"),iAt=Symbol("pino.stringifiers"),aAt=Symbol("pino.end"),oAt=Symbol("pino.formatOpts"),cAt=Symbol("pino.messageKey"),uAt=Symbol("pino.errorKey"),lAt=Symbol("pino.nestedKey"),dAt=Symbol("pino.nestedKeyStr"),fAt=Symbol("pino.mixinMergeStrategy"),pAt=Symbol("pino.msgPrefix"),mAt=Symbol("pino.wildcardFirst"),hAt=Symbol.for("pino.serializers"),gAt=Symbol.for("pino.formatters"),AAt=Symbol.for("pino.hooks"),yAt=Symbol.for("pino.metadata");Cpe.exports={setLevelSym:qgt,getLevelSym:jgt,levelValSym:Hgt,levelCompSym:Qgt,useLevelLabelsSym:Ggt,mixinSym:Vgt,lsCacheSym:zgt,chindingsSym:Ygt,asJsonSym:Jgt,writeSym:Xgt,serializersSym:hAt,redactFmtSym:Zgt,timeSym:eAt,timeSliceIndexSym:tAt,streamSym:rAt,stringifySym:nAt,stringifySafeSym:sAt,stringifiersSym:iAt,endSym:aAt,formatOptsSym:oAt,messageKeySym:cAt,errorKeySym:uAt,nestedKeySym:lAt,wildcardFirstSym:mAt,needsMetadataGsym:yAt,useOnlyCustomLevelsSym:Kgt,formattersSym:gAt,hooksSym:AAt,nestedKeyStrSym:dAt,mixinMergeStrategySym:fAt,msgPrefixSym:pAt}});var E5=E((JOr,Npe)=>{"use strict";var b5=Ipe(),{redactFmtSym:xAt,wildcardFirstSym:gR}=$A(),{rx:x5,validator:bAt}=b5,Tpe=bAt({ERR_PATHS_MUST_BE_STRINGS:()=>"pino \u2013 redacted paths must be strings",ERR_INVALID_PATH:t=>`pino \u2013 redact paths array contains an invalid path (${t})`}),wpe="[Redacted]",Rpe=!1;function EAt(t,e){let{paths:r,censor:n}=_At(t),s=r.reduce((o,c)=>{x5.lastIndex=0;let u=x5.exec(c),l=x5.exec(c),d=u[1]!==void 0?u[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):u[0];if(d==="*"&&(d=gR),l===null)return o[d]=null,o;if(o[d]===null)return o;let{index:f}=l,p=`${c.substr(f,c.length-1)}`;return o[d]=o[d]||[],d!==gR&&o[d].length===0&&o[d].push(...o[gR]||[]),d===gR&&Object.keys(o).forEach(function(m){o[m]&&o[m].push(p)}),o[d].push(p),o},{}),i={[xAt]:b5({paths:r,censor:n,serialize:e,strict:Rpe})},a=(...o)=>e(typeof n=="function"?n(...o):n);return[...Object.keys(s),...Object.getOwnPropertySymbols(s)].reduce((o,c)=>{if(s[c]===null)o[c]=u=>a(u,[c]);else{let u=typeof n=="function"?(l,d)=>n(l,[c,...d]):n;o[c]=b5({paths:s[c],censor:u,serialize:e,strict:Rpe})}return o},i)}function _At(t){if(Array.isArray(t))return t={paths:t,censor:wpe},Tpe(t),t;let{paths:e,censor:r=wpe,remove:n}=t;if(Array.isArray(e)===!1)throw Error("pino \u2013 redact must contain an array of strings");return n===!0&&(r=void 0),Tpe({paths:e,censor:r}),{paths:e,censor:r}}Npe.exports=EAt});var Ppe=E((XOr,Ope)=>{"use strict";var SAt=()=>"",vAt=()=>`,"time":${Date.now()}`,IAt=()=>`,"time":${Math.round(Date.now()/1e3)}`,CAt=()=>`,"time":"${new Date(Date.now()).toISOString()}"`;Ope.exports={nullTime:SAt,epochTime:vAt,unixTime:IAt,isoTime:CAt}});var Dpe=E((ZOr,kpe)=>{"use strict";function TAt(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}kpe.exports=wAt;function wAt(t,e,r){var n=r&&r.stringify||TAt,s=1;if(typeof t=="object"&&t!==null){var i=e.length+s;if(i===1)return t;var a=new Array(i);a[0]=n(t);for(var o=1;o<i;o++)a[o]=n(e[o]);return a.join(" ")}if(typeof t!="string")return t;var c=e.length;if(c===0)return t;for(var u="",l=1-s,d=-1,f=t&&t.length||0,p=0;p<f;){if(t.charCodeAt(p)===37&&p+1<f){switch(d=d>-1?d:0,t.charCodeAt(p+1)){case 100:case 102:if(l>=c||e[l]==null)break;d<p&&(u+=t.slice(d,p)),u+=Number(e[l]),d=p+2,p++;break;case 105:if(l>=c||e[l]==null)break;d<p&&(u+=t.slice(d,p)),u+=Math.floor(Number(e[l])),d=p+2,p++;break;case 79:case 111:case 106:if(l>=c||e[l]===void 0)break;d<p&&(u+=t.slice(d,p));var m=typeof e[l];if(m==="string"){u+="'"+e[l]+"'",d=p+2,p++;break}if(m==="function"){u+=e[l].name||"<anonymous>",d=p+2,p++;break}u+=n(e[l]),d=p+2,p++;break;case 115:if(l>=c)break;d<p&&(u+=t.slice(d,p)),u+=String(e[l]),d=p+2,p++;break;case 37:d<p&&(u+=t.slice(d,p)),u+="%",d=p+2,p++,l--;break}++l}++p}return d===-1?t:(d<f&&(u+=t.slice(d)),u)}});var S5=E((ePr,_5)=>{"use strict";if(typeof SharedArrayBuffer<"u"&&typeof Atomics<"u"){let e=function(r){if((r>0&&r<1/0)===!1)throw typeof r!="number"&&typeof r!="bigint"?TypeError("sleep: ms must be a number"):RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");Atomics.wait(t,0,0,Number(r))},t=new Int32Array(new SharedArrayBuffer(4));_5.exports=e}else{let t=function(e){if((e>0&&e<1/0)===!1)throw typeof e!="number"&&typeof e!="bigint"?TypeError("sleep: ms must be a number"):RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");let n=Date.now()+Number(e);for(;n>Date.now(););};_5.exports=t}});var qpe=E((tPr,Upe)=>{"use strict";var os=require("fs"),RAt=require("events"),NAt=require("util").inherits,Bpe=require("path"),I5=S5(),AR=100,yR=Buffer.allocUnsafe(0),OAt=16*1024,Lpe="buffer",Mpe="utf8";function Wpe(t,e){e._opening=!0,e._writing=!0,e._asyncDrainScheduled=!1;function r(i,a){if(i){e._reopening=!1,e._writing=!1,e._opening=!1,e.sync?process.nextTick(()=>{e.listenerCount("error")>0&&e.emit("error",i)}):e.emit("error",i);return}let o=e._reopening;e.fd=a,e.file=t,e._reopening=!1,e._opening=!1,e._writing=!1,e.sync?process.nextTick(()=>e.emit("ready")):e.emit("ready"),!e.destroyed&&(!e._writing&&e._len>e.minLength||e._flushPending?e._actualWrite():o&&process.nextTick(()=>e.emit("drain")))}let n=e.append?"a":"w",s=e.mode;if(e.sync)try{e.mkdir&&os.mkdirSync(Bpe.dirname(t),{recursive:!0});let i=os.openSync(t,n,s);r(null,i)}catch(i){throw r(i),i}else e.mkdir?os.mkdir(Bpe.dirname(t),{recursive:!0},i=>{if(i)return r(i);os.open(t,n,s,r)}):os.open(t,n,s,r)}function Wc(t){if(!(this instanceof Wc))return new Wc(t);let{fd:e,dest:r,minLength:n,maxLength:s,maxWrite:i,sync:a,append:o=!0,mkdir:c,retryEAGAIN:u,fsync:l,contentMode:d,mode:f}=t||{};e=e||r,this._len=0,this.fd=-1,this._bufs=[],this._lens=[],this._writing=!1,this._ending=!1,this._reopening=!1,this._asyncDrainScheduled=!1,this._flushPending=!1,this._hwm=Math.max(n||0,16387),this.file=null,this.destroyed=!1,this.minLength=n||0,this.maxLength=s||0,this.maxWrite=i||OAt,this.sync=a||!1,this.writable=!0,this._fsync=l||!1,this.append=o||!1,this.mode=f,this.retryEAGAIN=u||(()=>!0),this.mkdir=c||!1;let p,m;if(d===Lpe)this._writingBuf=yR,this.write=DAt,this.flush=LAt,this.flushSync=WAt,this._actualWrite=FAt,p=()=>os.writeSync(this.fd,this._writingBuf),m=()=>os.write(this.fd,this._writingBuf,this.release);else if(d===void 0||d===Mpe)this._writingBuf="",this.write=kAt,this.flush=BAt,this.flushSync=MAt,this._actualWrite=$At,p=()=>os.writeSync(this.fd,this._writingBuf,"utf8"),m=()=>os.write(this.fd,this._writingBuf,"utf8",this.release);else throw new Error(`SonicBoom supports "${Mpe}" and "${Lpe}", but passed ${d}`);if(typeof e=="number")this.fd=e,process.nextTick(()=>this.emit("ready"));else if(typeof e=="string")Wpe(e,this);else throw new Error("SonicBoom supports only file descriptors and files");if(this.minLength>=this.maxWrite)throw new Error(`minLength should be smaller than maxWrite (${this.maxWrite})`);this.release=(h,A)=>{if(h){if((h.code==="EAGAIN"||h.code==="EBUSY")&&this.retryEAGAIN(h,this._writingBuf.length,this._len-this._writingBuf.length))if(this.sync)try{I5(AR),this.release(void 0,0)}catch(y){this.release(y)}else setTimeout(m,AR);else this._writing=!1,this.emit("error",h);return}this.emit("write",A);let g=v5(this._writingBuf,this._len,A);if(this._len=g.len,this._writingBuf=g.writingBuf,this._writingBuf.length){if(!this.sync){m();return}try{do{let y=p(),x=v5(this._writingBuf,this._len,y);this._len=x.len,this._writingBuf=x.writingBuf}while(this._writingBuf.length)}catch(y){this.release(y);return}}this._fsync&&os.fsyncSync(this.fd);let b=this._len;this._reopening?(this._writing=!1,this._reopening=!1,this.reopen()):b>this.minLength?this._actualWrite():this._ending?b>0?this._actualWrite():(this._writing=!1,xR(this)):(this._writing=!1,this.sync?this._asyncDrainScheduled||(this._asyncDrainScheduled=!0,process.nextTick(PAt,this)):this.emit("drain"))},this.on("newListener",function(h){h==="drain"&&(this._asyncDrainScheduled=!1)})}function v5(t,e,r){return typeof t=="string"&&Buffer.byteLength(t)!==r&&(r=Buffer.from(t).subarray(0,r).toString().length),e=Math.max(e-r,0),t=t.slice(r),{writingBuf:t,len:e}}function PAt(t){t.listenerCount("drain")>0&&(t._asyncDrainScheduled=!1,t.emit("drain"))}NAt(Wc,RAt);function $pe(t,e){return t.length===0?yR:t.length===1?t[0]:Buffer.concat(t,e)}function kAt(t){if(this.destroyed)throw new Error("SonicBoom destroyed");let e=this._len+t.length,r=this._bufs;return this.maxLength&&e>this.maxLength?(this.emit("drop",t),this._len<this._hwm):(r.length===0||r[r.length-1].length+t.length>this.maxWrite?r.push(""+t):r[r.length-1]+=t,this._len=e,!this._writing&&this._len>=this.minLength&&this._actualWrite(),this._len<this._hwm)}function DAt(t){if(this.destroyed)throw new Error("SonicBoom destroyed");let e=this._len+t.length,r=this._bufs,n=this._lens;return this.maxLength&&e>this.maxLength?(this.emit("drop",t),this._len<this._hwm):(r.length===0||n[n.length-1]+t.length>this.maxWrite?(r.push([t]),n.push(t.length)):(r[r.length-1].push(t),n[n.length-1]+=t.length),this._len=e,!this._writing&&this._len>=this.minLength&&this._actualWrite(),this._len<this._hwm)}function Fpe(t){this._flushPending=!0;let e=()=>{this._fsync?(this._flushPending=!1,t()):os.fsync(this.fd,n=>{this._flushPending=!1,t(n)}),this.off("error",r)},r=n=>{this._flushPending=!1,t(n),this.off("drain",e)};this.once("drain",e),this.once("error",r)}function BAt(t){if(t!=null&&typeof t!="function")throw new Error("flush cb must be a function");if(this.destroyed){let e=new Error("SonicBoom destroyed");if(t){t(e);return}throw e}if(this.minLength<=0){t?.();return}t&&Fpe.call(this,t),!this._writing&&(this._bufs.length===0&&this._bufs.push(""),this._actualWrite())}function LAt(t){if(t!=null&&typeof t!="function")throw new Error("flush cb must be a function");if(this.destroyed){let e=new Error("SonicBoom destroyed");if(t){t(e);return}throw e}if(this.minLength<=0){t?.();return}t&&Fpe.call(this,t),!this._writing&&(this._bufs.length===0&&(this._bufs.push([]),this._lens.push(0)),this._actualWrite())}Wc.prototype.reopen=function(t){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.reopen(t)});return}if(this._ending)return;if(!this.file)throw new Error("Unable to reopen a file descriptor, you must pass a file to SonicBoom");if(t&&(this.file=t),this._reopening=!0,this._writing)return;let e=this.fd;this.once("ready",()=>{e!==this.fd&&os.close(e,r=>{if(r)return this.emit("error",r)})}),Wpe(this.file,this)};Wc.prototype.end=function(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.end()});return}this._ending||(this._ending=!0,!this._writing&&(this._len>0&&this.fd>=0?this._actualWrite():xR(this)))};function MAt(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this.fd<0)throw new Error("sonic boom is not ready yet");!this._writing&&this._writingBuf.length>0&&(this._bufs.unshift(this._writingBuf),this._writingBuf="");let t="";for(;this._bufs.length||t;){t.length<=0&&(t=this._bufs[0]);try{let e=os.writeSync(this.fd,t,"utf8"),r=v5(t,this._len,e);t=r.writingBuf,this._len=r.len,t.length<=0&&this._bufs.shift()}catch(e){if((e.code==="EAGAIN"||e.code==="EBUSY")&&!this.retryEAGAIN(e,t.length,this._len-t.length))throw e;I5(AR)}}try{os.fsyncSync(this.fd)}catch{}}function WAt(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this.fd<0)throw new Error("sonic boom is not ready yet");!this._writing&&this._writingBuf.length>0&&(this._bufs.unshift([this._writingBuf]),this._writingBuf=yR);let t=yR;for(;this._bufs.length||t.length;){t.length<=0&&(t=$pe(this._bufs[0],this._lens[0]));try{let e=os.writeSync(this.fd,t);t=t.subarray(e),this._len=Math.max(this._len-e,0),t.length<=0&&(this._bufs.shift(),this._lens.shift())}catch(e){if((e.code==="EAGAIN"||e.code==="EBUSY")&&!this.retryEAGAIN(e,t.length,this._len-t.length))throw e;I5(AR)}}}Wc.prototype.destroy=function(){this.destroyed||xR(this)};function $At(){let t=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf||this._bufs.shift()||"",this.sync)try{let e=os.writeSync(this.fd,this._writingBuf,"utf8");t(null,e)}catch(e){t(e)}else os.write(this.fd,this._writingBuf,"utf8",t)}function FAt(){let t=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:$pe(this._bufs.shift(),this._lens.shift()),this.sync)try{let e=os.writeSync(this.fd,this._writingBuf);t(null,e)}catch(e){t(e)}else os.write(this.fd,this._writingBuf,t)}function xR(t){if(t.fd===-1){t.once("ready",xR.bind(null,t));return}t.destroyed=!0,t._bufs=[],t._lens=[],os.fsync(t.fd,e);function e(){t.fd!==1&&t.fd!==2?os.close(t.fd,r):r()}function r(n){if(n){t.emit("error",n);return}t._ending&&!t._writing&&t.emit("finish"),t.emit("close")}}Wc.SonicBoom=Wc;Wc.default=Wc;Upe.exports=Wc});var C5=E((rPr,Kpe)=>{"use strict";var $c={exit:[],beforeExit:[]},jpe={exit:jAt,beforeExit:HAt},FA;function UAt(){FA===void 0&&(FA=new FinalizationRegistry(QAt))}function qAt(t){$c[t].length>0||process.on(t,jpe[t])}function Hpe(t){$c[t].length>0||(process.removeListener(t,jpe[t]),$c.exit.length===0&&$c.beforeExit.length===0&&(FA=void 0))}function jAt(){Qpe("exit")}function HAt(){Qpe("beforeExit")}function Qpe(t){for(let e of $c[t]){let r=e.deref(),n=e.fn;r!==void 0&&n(r,t)}$c[t]=[]}function QAt(t){for(let e of["exit","beforeExit"]){let r=$c[e].indexOf(t);$c[e].splice(r,r+1),Hpe(e)}}function Gpe(t,e,r){if(e===void 0)throw new Error("the object can't be undefined");qAt(t);let n=new WeakRef(e);n.fn=r,UAt(),FA.register(e,n),$c[t].push(n)}function GAt(t,e){Gpe("exit",t,e)}function KAt(t,e){Gpe("beforeExit",t,e)}function VAt(t){if(FA!==void 0){FA.unregister(t);for(let e of["exit","beforeExit"])$c[e]=$c[e].filter(r=>{let n=r.deref();return n&&n!==t}),Hpe(e)}}Kpe.exports={register:GAt,registerBeforeExit:KAt,unregister:VAt}});var Vpe=E((nPr,zAt)=>{zAt.exports={name:"thread-stream",version:"2.7.0",description:"A streaming way to send data to a Node.js Worker Thread",main:"index.js",types:"index.d.ts",dependencies:{"real-require":"^0.2.0"},devDependencies:{"@types/node":"^20.1.0","@types/tap":"^15.0.0","@yao-pkg/pkg":"^5.11.5",desm:"^1.3.0",fastbench:"^1.0.1",husky:"^9.0.6","pino-elasticsearch":"^8.0.0","sonic-boom":"^3.0.0",standard:"^17.0.0",tap:"^16.2.0","ts-node":"^10.8.0",typescript:"^5.3.2","why-is-node-running":"^2.2.2"},scripts:{test:'standard && npm run transpile && tap "test/**/*.test.*js" && tap --ts test/*.test.*ts',"test:ci":"standard && npm run transpile && npm run test:ci:js && npm run test:ci:ts","test:ci:js":'tap --no-check-coverage --timeout=120 --coverage-report=lcovonly "test/**/*.test.*js"',"test:ci:ts":'tap --ts --no-check-coverage --coverage-report=lcovonly "test/**/*.test.*ts"',"test:yarn":'npm run transpile && tap "test/**/*.test.js" --no-check-coverage',transpile:"sh ./test/ts/transpile.sh",prepare:"husky install"},standard:{ignore:["test/ts/**/*"]},repository:{type:"git",url:"git+https://github.com/mcollina/thread-stream.git"},keywords:["worker","thread","threads","stream"],author:"Matteo Collina <[email protected]>",license:"MIT",bugs:{url:"https://github.com/mcollina/thread-stream/issues"},homepage:"https://github.com/mcollina/thread-stream#readme"}});var Ype=E((sPr,zpe)=>{"use strict";function YAt(t,e,r,n,s){let i=Date.now()+n,a=Atomics.load(t,e);if(a===r){s(null,"ok");return}let o=a,c=u=>{Date.now()>i?s(null,"timed-out"):setTimeout(()=>{o=a,a=Atomics.load(t,e),a===o?c(u>=1e3?1e3:u*2):a===r?s(null,"ok"):s(null,"not-equal")},u)};c(1)}function JAt(t,e,r,n,s){let i=Date.now()+n,a=Atomics.load(t,e);if(a!==r){s(null,"ok");return}let o=c=>{Date.now()>i?s(null,"timed-out"):setTimeout(()=>{a=Atomics.load(t,e),a!==r?s(null,"ok"):o(c>=1e3?1e3:c*2)},c)};o(1)}zpe.exports={wait:YAt,waitDiff:JAt}});var Xpe=E((iPr,Jpe)=>{"use strict";Jpe.exports={WRITE_INDEX:4,READ_INDEX:8}});var n0e=E((aPr,r0e)=>{"use strict";var{version:XAt}=Vpe(),{EventEmitter:ZAt}=require("events"),{Worker:eyt}=require("worker_threads"),{join:tyt}=require("path"),{pathToFileURL:ryt}=require("url"),{wait:nyt}=Ype(),{WRITE_INDEX:Oa,READ_INDEX:Mu}=Xpe(),syt=require("buffer"),iyt=require("assert"),Se=Symbol("kImpl"),ayt=syt.constants.MAX_STRING_LENGTH,i1=class{constructor(e){this._value=e}deref(){return this._value}},ER=class{register(){}unregister(){}},oyt=process.env.NODE_V8_COVERAGE?ER:global.FinalizationRegistry||ER,cyt=process.env.NODE_V8_COVERAGE?i1:global.WeakRef||i1,Zpe=new oyt(t=>{t.exited||t.terminate()});function uyt(t,e){let{filename:r,workerData:n}=e,i=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||tyt(__dirname,"lib","worker.js"),a=new eyt(i,{...e.workerOpts,trackUnmanagedFds:!1,workerData:{filename:r.indexOf("file://")===0?r:ryt(r).href,dataBuf:t[Se].dataBuf,stateBuf:t[Se].stateBuf,workerData:{$context:{threadStreamVersion:XAt},...n}}});return a.stream=new i1(t),a.on("message",lyt),a.on("exit",t0e),Zpe.register(t,a),a}function e0e(t){iyt(!t[Se].sync),t[Se].needDrain&&(t[Se].needDrain=!1,t.emit("drain"))}function bR(t){let e=Atomics.load(t[Se].state,Oa),r=t[Se].data.length-e;if(r>0){if(t[Se].buf.length===0){t[Se].flushing=!1,t[Se].ending?O5(t):t[Se].needDrain&&process.nextTick(e0e,t);return}let n=t[Se].buf.slice(0,r),s=Buffer.byteLength(n);s<=r?(t[Se].buf=t[Se].buf.slice(r),_R(t,n,bR.bind(null,t))):t.flush(()=>{if(!t.destroyed){for(Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0);s>t[Se].data.length;)r=r/2,n=t[Se].buf.slice(0,r),s=Buffer.byteLength(n);t[Se].buf=t[Se].buf.slice(r),_R(t,n,bR.bind(null,t))}})}else if(r===0){if(e===0&&t[Se].buf.length===0)return;t.flush(()=>{Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0),bR(t)})}else Wu(t,new Error("overwritten"))}function lyt(t){let e=this.stream.deref();if(e===void 0){this.exited=!0,this.terminate();return}switch(t.code){case"READY":this.stream=new cyt(e),e.flush(()=>{e[Se].ready=!0,e.emit("ready")});break;case"ERROR":Wu(e,t.err);break;case"EVENT":Array.isArray(t.args)?e.emit(t.name,...t.args):e.emit(t.name,t.args);break;case"WARNING":process.emitWarning(t.err);break;default:Wu(e,new Error("this should not happen: "+t.code))}}function t0e(t){let e=this.stream.deref();e!==void 0&&(Zpe.unregister(e),e.worker.exited=!0,e.worker.off("exit",t0e),Wu(e,t!==0?new Error("the worker thread exited"):null))}var w5=class extends ZAt{constructor(e={}){if(super(),e.bufferSize<4)throw new Error("bufferSize must at least fit a 4-byte utf-8 char");this[Se]={},this[Se].stateBuf=new SharedArrayBuffer(128),this[Se].state=new Int32Array(this[Se].stateBuf),this[Se].dataBuf=new SharedArrayBuffer(e.bufferSize||4*1024*1024),this[Se].data=Buffer.from(this[Se].dataBuf),this[Se].sync=e.sync||!1,this[Se].ending=!1,this[Se].ended=!1,this[Se].needDrain=!1,this[Se].destroyed=!1,this[Se].flushing=!1,this[Se].ready=!1,this[Se].finished=!1,this[Se].errored=null,this[Se].closed=!1,this[Se].buf="",this.worker=uyt(this,e),this.on("message",(r,n)=>{this.worker.postMessage(r,n)})}write(e){if(this[Se].destroyed)return R5(this,new Error("the worker has exited")),!1;if(this[Se].ending)return R5(this,new Error("the worker is ending")),!1;if(this[Se].flushing&&this[Se].buf.length+e.length>=ayt)try{T5(this),this[Se].flushing=!0}catch(r){return Wu(this,r),!1}if(this[Se].buf+=e,this[Se].sync)try{return T5(this),!0}catch(r){return Wu(this,r),!1}return this[Se].flushing||(this[Se].flushing=!0,setImmediate(bR,this)),this[Se].needDrain=this[Se].data.length-this[Se].buf.length-Atomics.load(this[Se].state,Oa)<=0,!this[Se].needDrain}end(){this[Se].destroyed||(this[Se].ending=!0,O5(this))}flush(e){if(this[Se].destroyed){typeof e=="function"&&process.nextTick(e,new Error("the worker has exited"));return}let r=Atomics.load(this[Se].state,Oa);nyt(this[Se].state,Mu,r,1/0,(n,s)=>{if(n){Wu(this,n),process.nextTick(e,n);return}if(s==="not-equal"){this.flush(e);return}process.nextTick(e)})}flushSync(){this[Se].destroyed||(T5(this),N5(this))}unref(){this.worker.unref()}ref(){this.worker.ref()}get ready(){return this[Se].ready}get destroyed(){return this[Se].destroyed}get closed(){return this[Se].closed}get writable(){return!this[Se].destroyed&&!this[Se].ending}get writableEnded(){return this[Se].ending}get writableFinished(){return this[Se].finished}get writableNeedDrain(){return this[Se].needDrain}get writableObjectMode(){return!1}get writableErrored(){return this[Se].errored}};function R5(t,e){setImmediate(()=>{t.emit("error",e)})}function Wu(t,e){t[Se].destroyed||(t[Se].destroyed=!0,e&&(t[Se].errored=e,R5(t,e)),t.worker.exited?setImmediate(()=>{t[Se].closed=!0,t.emit("close")}):t.worker.terminate().catch(()=>{}).then(()=>{t[Se].closed=!0,t.emit("close")}))}function _R(t,e,r){let n=Atomics.load(t[Se].state,Oa),s=Buffer.byteLength(e);return t[Se].data.write(e,n),Atomics.store(t[Se].state,Oa,n+s),Atomics.notify(t[Se].state,Oa),r(),!0}function O5(t){if(!(t[Se].ended||!t[Se].ending||t[Se].flushing)){t[Se].ended=!0;try{t.flushSync();let e=Atomics.load(t[Se].state,Mu);Atomics.store(t[Se].state,Oa,-1),Atomics.notify(t[Se].state,Oa);let r=0;for(;e!==-1;){if(Atomics.wait(t[Se].state,Mu,e,1e3),e=Atomics.load(t[Se].state,Mu),e===-2){Wu(t,new Error("end() failed"));return}if(++r===10){Wu(t,new Error("end() took too long (10s)"));return}}process.nextTick(()=>{t[Se].finished=!0,t.emit("finish")})}catch(e){Wu(t,e)}}}function T5(t){let e=()=>{t[Se].ending?O5(t):t[Se].needDrain&&process.nextTick(e0e,t)};for(t[Se].flushing=!1;t[Se].buf.length!==0;){let r=Atomics.load(t[Se].state,Oa),n=t[Se].data.length-r;if(n===0){N5(t),Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0);continue}else if(n<0)throw new Error("overwritten");let s=t[Se].buf.slice(0,n),i=Buffer.byteLength(s);if(i<=n)t[Se].buf=t[Se].buf.slice(n),_R(t,s,e);else{for(N5(t),Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0);i>t[Se].buf.length;)n=n/2,s=t[Se].buf.slice(0,n),i=Buffer.byteLength(s);t[Se].buf=t[Se].buf.slice(n),_R(t,s,e)}}}function N5(t){if(t[Se].flushing)throw new Error("unable to flush while flushing");let e=Atomics.load(t[Se].state,Oa),r=0;for(;;){let n=Atomics.load(t[Se].state,Mu);if(n===-2)throw Error("_flushSync failed");if(n!==e)Atomics.wait(t[Se].state,Mu,n,1e3);else break;if(++r===10)throw new Error("_flushSync took too long (10s)")}}r0e.exports=w5});var D5=E((oPr,s0e)=>{"use strict";var{createRequire:dyt}=require("module"),fyt=m5(),{join:P5,isAbsolute:pyt,sep:myt}=require("path"),hyt=S5(),k5=C5(),gyt=n0e();function Ayt(t){k5.register(t,xyt),k5.registerBeforeExit(t,byt),t.on("close",function(){k5.unregister(t)})}function yyt(t,e,r){let n=new gyt({filename:t,workerData:e,workerOpts:r});n.on("ready",s),n.on("close",function(){process.removeListener("exit",i)}),process.on("exit",i);function s(){process.removeListener("exit",i),n.unref(),r.autoEnd!==!1&&Ayt(n)}function i(){n.closed||(n.flushSync(),hyt(100),n.end())}return n}function xyt(t){t.ref(),t.flushSync(),t.end(),t.once("close",function(){t.unref()})}function byt(t){t.flushSync()}function Eyt(t){let{pipeline:e,targets:r,levels:n,dedupe:s,options:i={},worker:a={},caller:o=fyt()}=t,c=typeof o=="string"?[o]:o,u="__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{},l=t.target;if(l&&r)throw new Error("only one of target or targets can be specified");return r?(l=u["pino-worker"]||P5(__dirname,"worker.js"),i.targets=r.map(f=>({...f,target:d(f.target)}))):e&&(l=u["pino-pipeline-worker"]||P5(__dirname,"worker-pipeline.js"),i.targets=e.map(f=>({...f,target:d(f.target)}))),n&&(i.levels=n),s&&(i.dedupe=s),i.pinoWillSendConfig=!0,yyt(d(l),i,a);function d(f){if(f=u[f]||f,pyt(f)||f.indexOf("file://")===0)return f;if(f==="pino/file")return P5(__dirname,"..","file.js");let p;for(let m of c)try{let h=m==="node:repl"?process.cwd()+myt:m;p=dyt(h).resolve(f);break}catch{continue}if(!p)throw new Error(`unable to determine transport target for "${f}"`);return p}}s0e.exports=Eyt});var IR=E((cPr,h0e)=>{"use strict";var i0e=Dpe(),{mapHttpRequest:_yt,mapHttpResponse:Syt}=p5(),L5=qpe(),a0e=C5(),{lsCacheSym:vyt,chindingsSym:u0e,writeSym:o0e,serializersSym:l0e,formatOptsSym:c0e,endSym:Iyt,stringifiersSym:d0e,stringifySym:f0e,stringifySafeSym:M5,wildcardFirstSym:p0e,nestedKeySym:Cyt,formattersSym:m0e,messageKeySym:Tyt,errorKeySym:wyt,nestedKeyStrSym:Ryt,msgPrefixSym:SR}=$A(),{isMainThread:Nyt}=require("worker_threads"),Oyt=D5();function UA(){}function Pyt(t,e){if(!e)return r;return function(...s){e.call(this,s,r,t)};function r(n,...s){if(typeof n=="object"){let i=n;n!==null&&(n.method&&n.headers&&n.socket?n=_yt(n):typeof n.setHeader=="function"&&(n=Syt(n)));let a;i===null&&s.length===0?a=[null]:(i=s.shift(),a=s),typeof this[SR]=="string"&&i!==void 0&&i!==null&&(i=this[SR]+i),this[o0e](n,i0e(i,a,this[c0e]),t)}else{let i=n===void 0?s.shift():n;typeof this[SR]=="string"&&i!==void 0&&i!==null&&(i=this[SR]+i),this[o0e](null,i0e(i,s,this[c0e]),t)}}}function B5(t){let e="",r=0,n=!1,s=255,i=t.length;if(i>100)return JSON.stringify(t);for(var a=0;a<i&&s>=32;a++)s=t.charCodeAt(a),(s===34||s===92)&&(e+=t.slice(r,a)+"\\",r=a,n=!0);return n?e+=t.slice(r):e=t,s<32?JSON.stringify(t):'"'+e+'"'}function kyt(t,e,r,n){let s=this[f0e],i=this[M5],a=this[d0e],o=this[Iyt],c=this[u0e],u=this[l0e],l=this[m0e],d=this[Tyt],f=this[wyt],p=this[vyt][r]+n;p=p+c;let m;l.log&&(t=l.log(t));let h=a[p0e],A="";for(let b in t)if(m=t[b],Object.prototype.hasOwnProperty.call(t,b)&&m!==void 0){u[b]?m=u[b](m):b===f&&u.err&&(m=u.err(m));let y=a[b]||h;switch(typeof m){case"undefined":case"function":continue;case"number":Number.isFinite(m)===!1&&(m=null);case"boolean":y&&(m=y(m));break;case"string":m=(y||B5)(m);break;default:m=(y||s)(m,i)}if(m===void 0)continue;let x=B5(b);A+=","+x+":"+m}let g="";if(e!==void 0){m=u[d]?u[d](e):e;let b=a[d]||h;switch(typeof m){case"function":break;case"number":Number.isFinite(m)===!1&&(m=null);case"boolean":b&&(m=b(m)),g=',"'+d+'":'+m;break;case"string":m=(b||B5)(m),g=',"'+d+'":'+m;break;default:m=(b||s)(m,i),g=',"'+d+'":'+m}}return this[Cyt]&&A?p+this[Ryt]+A.slice(1)+"}"+g+o:p+A+g+o}function Dyt(t,e){let r,n=t[u0e],s=t[f0e],i=t[M5],a=t[d0e],o=a[p0e],c=t[l0e],u=t[m0e].bindings;e=u(e);for(let l in e)if(r=e[l],(l!=="level"&&l!=="serializers"&&l!=="formatters"&&l!=="customLevels"&&e.hasOwnProperty(l)&&r!==void 0)===!0){if(r=c[l]?c[l](r):r,r=(a[l]||o||s)(r,i),r===void 0)continue;n+=',"'+l+'":'+r}return n}function Byt(t){return t.write!==t.constructor.prototype.write}var Lyt=process.env.NODE_V8_COVERAGE||process.env.V8_COVERAGE;function vR(t){let e=new L5(t);return e.on("error",r),!Lyt&&!t.sync&&Nyt&&(a0e.register(e,Myt),e.on("close",function(){a0e.unregister(e)})),e;function r(n){if(n.code==="EPIPE"){e.write=UA,e.end=UA,e.flushSync=UA,e.destroy=UA;return}e.removeListener("error",r),e.emit("error",n)}}function Myt(t,e){t.destroyed||(e==="beforeExit"?(t.flush(),t.on("drain",function(){t.end()})):t.flushSync())}function Wyt(t){return function(r,n,s={},i){if(typeof s=="string")i=vR({dest:s}),s={};else if(typeof i=="string"){if(s&&s.transport)throw Error("only one of option.transport or stream can be specified");i=vR({dest:i})}else if(s instanceof L5||s.writable||s._writableState)i=s,s={};else if(s.transport){if(s.transport instanceof L5||s.transport.writable||s.transport._writableState)throw Error("option.transport do not allow stream, please pass to option directly. e.g. pino(transport)");if(s.transport.targets&&s.transport.targets.length&&s.formatters&&typeof s.formatters.level=="function")throw Error("option.transport.targets do not allow custom level formatters");let c;s.customLevels&&(c=s.useOnlyCustomLevels?s.customLevels:Object.assign({},s.levels,s.customLevels)),i=Oyt({caller:n,...s.transport,levels:c})}if(s=Object.assign({},t,s),s.serializers=Object.assign({},t.serializers,s.serializers),s.formatters=Object.assign({},t.formatters,s.formatters),s.prettyPrint)throw new Error("prettyPrint option is no longer supported, see the pino-pretty package (https://github.com/pinojs/pino-pretty)");let{enabled:a,onChild:o}=s;return a===!1&&(s.level="silent"),o||(s.onChild=UA),i||(Byt(process.stdout)?i=process.stdout:i=vR({fd:process.stdout.fd||1})),{opts:s,stream:i}}}function $yt(t,e){try{return JSON.stringify(t)}catch{try{return(e||this[M5])(t)}catch{return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function Fyt(t,e,r){return{level:t,bindings:e,log:r}}function Uyt(t){let e=Number(t);return typeof t=="string"&&Number.isFinite(e)?e:t===void 0?1:t}h0e.exports={noop:UA,buildSafeSonicBoom:vR,asChindings:Dyt,asJson:kyt,genLog:Pyt,createArgsNormalizer:Wyt,stringify:$yt,buildFormatters:Fyt,normalizeDestFileDescriptor:Uyt}});var CR=E((uPr,g0e)=>{var qyt={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},jyt={ASC:"ASC",DESC:"DESC"};g0e.exports={DEFAULT_LEVELS:qyt,SORTING_ORDER:jyt}});var F5=E((lPr,b0e)=>{"use strict";var{lsCacheSym:Hyt,levelValSym:W5,useOnlyCustomLevelsSym:Qyt,streamSym:Gyt,formattersSym:Kyt,hooksSym:Vyt,levelCompSym:A0e}=$A(),{noop:zyt,genLog:xm}=IR(),{DEFAULT_LEVELS:$u,SORTING_ORDER:y0e}=CR(),x0e={fatal:t=>{let e=xm($u.fatal,t);return function(...r){let n=this[Gyt];if(e.call(this,...r),typeof n.flushSync=="function")try{n.flushSync()}catch{}}},error:t=>xm($u.error,t),warn:t=>xm($u.warn,t),info:t=>xm($u.info,t),debug:t=>xm($u.debug,t),trace:t=>xm($u.trace,t)},$5=Object.keys($u).reduce((t,e)=>(t[$u[e]]=e,t),{}),Yyt=Object.keys($5).reduce((t,e)=>(t[e]='{"level":'+Number(e),t),{});function Jyt(t){let e=t[Kyt].level,{labels:r}=t.levels,n={};for(let s in r){let i=e(r[s],Number(s));n[s]=JSON.stringify(i).slice(0,-1)}return t[Hyt]=n,t}function Xyt(t,e){if(e)return!1;switch(t){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function Zyt(t){let{labels:e,values:r}=this.levels;if(typeof t=="number"){if(e[t]===void 0)throw Error("unknown level value"+t);t=e[t]}if(r[t]===void 0)throw Error("unknown level "+t);let n=this[W5],s=this[W5]=r[t],i=this[Qyt],a=this[A0e],o=this[Vyt].logMethod;for(let c in r){if(a(r[c],s)===!1){this[c]=zyt;continue}this[c]=Xyt(c,i)?x0e[c](o):xm(r[c],o)}this.emit("level-change",t,s,e[n],n,this)}function ext(t){let{levels:e,levelVal:r}=this;return e&&e.labels?e.labels[r]:""}function txt(t){let{values:e}=this.levels,r=e[t];return r!==void 0&&this[A0e](r,this[W5])}function rxt(t,e,r){return t===y0e.DESC?e<=r:e>=r}function nxt(t){return typeof t=="string"?rxt.bind(null,t):t}function sxt(t=null,e=!1){let r=t?Object.keys(t).reduce((i,a)=>(i[t[a]]=a,i),{}):null,n=Object.assign(Object.create(Object.prototype,{Infinity:{value:"silent"}}),e?null:$5,r),s=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),e?null:$u,t);return{labels:n,values:s}}function ixt(t,e,r){if(typeof t=="number"){if(![].concat(Object.keys(e||{}).map(i=>e[i]),r?[]:Object.keys($5).map(i=>+i),1/0).includes(t))throw Error(`default level:${t} must be included in custom levels`);return}let n=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),r?null:$u,e);if(!(t in n))throw Error(`default level:${t} must be included in custom levels`)}function axt(t,e){let{labels:r,values:n}=t;for(let s in e){if(s in n)throw Error("levels cannot be overridden");if(e[s]in r)throw Error("pre-existing level values cannot be used for new levels")}}function oxt(t){if(typeof t!="function"&&!(typeof t=="string"&&Object.values(y0e).includes(t)))throw new Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}b0e.exports={initialLsCache:Yyt,genLsCache:Jyt,levelMethods:x0e,getLevel:ext,setLevel:Zyt,isLevelEnabled:txt,mappings:sxt,assertNoLevelCollisions:axt,assertDefaultLevelFound:ixt,genLevelComparison:nxt,assertLevelComparison:oxt}});var U5=E((dPr,E0e)=>{"use strict";E0e.exports={version:"8.21.0"}});var P0e=E((pPr,O0e)=>{"use strict";var{EventEmitter:cxt}=require("events"),{lsCacheSym:uxt,levelValSym:lxt,setLevelSym:j5,getLevelSym:_0e,chindingsSym:H5,parsedChindingsSym:dxt,mixinSym:fxt,asJsonSym:T0e,writeSym:pxt,mixinMergeStrategySym:mxt,timeSym:hxt,timeSliceIndexSym:gxt,streamSym:w0e,serializersSym:bm,formattersSym:q5,errorKeySym:Axt,messageKeySym:yxt,useOnlyCustomLevelsSym:xxt,needsMetadataGsym:bxt,redactFmtSym:Ext,stringifySym:_xt,formatOptsSym:Sxt,stringifiersSym:vxt,msgPrefixSym:S0e}=$A(),{getLevel:Ixt,setLevel:Cxt,isLevelEnabled:Txt,mappings:wxt,initialLsCache:Rxt,genLsCache:Nxt,assertNoLevelCollisions:Oxt}=F5(),{asChindings:R0e,asJson:Pxt,buildFormatters:v0e,stringify:I0e}=IR(),{version:kxt}=U5(),Dxt=E5(),Bxt=class{},N0e={constructor:Bxt,child:Lxt,bindings:Mxt,setBindings:Wxt,flush:qxt,isLevelEnabled:Txt,version:kxt,get level(){return this[_0e]()},set level(t){this[j5](t)},get levelVal(){return this[lxt]},set levelVal(t){throw Error("levelVal is read-only")},[uxt]:Rxt,[pxt]:Fxt,[T0e]:Pxt,[_0e]:Ixt,[j5]:Cxt};Object.setPrototypeOf(N0e,cxt.prototype);O0e.exports=function(){return Object.create(N0e)};var C0e=t=>t;function Lxt(t,e){if(!t)throw Error("missing bindings for child Pino");e=e||{};let r=this[bm],n=this[q5],s=Object.create(this);if(e.hasOwnProperty("serializers")===!0){s[bm]=Object.create(null);for(let l in r)s[bm][l]=r[l];let c=Object.getOwnPropertySymbols(r);for(var i=0;i<c.length;i++){let l=c[i];s[bm][l]=r[l]}for(let l in e.serializers)s[bm][l]=e.serializers[l];let u=Object.getOwnPropertySymbols(e.serializers);for(var a=0;a<u.length;a++){let l=u[a];s[bm][l]=e.serializers[l]}}else s[bm]=r;if(e.hasOwnProperty("formatters")){let{level:c,bindings:u,log:l}=e.formatters;s[q5]=v0e(c||n.level,u||C0e,l||n.log)}else s[q5]=v0e(n.level,C0e,n.log);if(e.hasOwnProperty("customLevels")===!0&&(Oxt(this.levels,e.customLevels),s.levels=wxt(e.customLevels,s[xxt]),Nxt(s)),typeof e.redact=="object"&&e.redact!==null||Array.isArray(e.redact)){s.redact=e.redact;let c=Dxt(s.redact,I0e),u={stringify:c[Ext]};s[_xt]=I0e,s[vxt]=c,s[Sxt]=u}typeof e.msgPrefix=="string"&&(s[S0e]=(this[S0e]||"")+e.msgPrefix),s[H5]=R0e(s,t);let o=e.level||this.level;return s[j5](o),this.onChild(s),s}function Mxt(){let e=`{${this[H5].substr(1)}}`,r=JSON.parse(e);return delete r.pid,delete r.hostname,r}function Wxt(t){let e=R0e(this,t);this[H5]=e,delete this[dxt]}function $xt(t,e){return Object.assign(e,t)}function Fxt(t,e,r){let n=this[hxt](),s=this[fxt],i=this[Axt],a=this[yxt],o=this[mxt]||$xt,c;t==null?c={}:t instanceof Error?(c={[i]:t},e===void 0&&(e=t.message)):(c=t,e===void 0&&t[a]===void 0&&t[i]&&(e=t[i].message)),s&&(c=o(c,s(c,r,this)));let u=this[T0e](c,e,r,n),l=this[w0e];l[bxt]===!0&&(l.lastLevel=r,l.lastObj=c,l.lastMsg=e,l.lastTime=n.slice(this[gxt]),l.lastLogger=this),l.write(u)}function Uxt(){}function qxt(t){if(t!=null&&typeof t!="function")throw Error("callback must be a function");let e=this[w0e];typeof e.flush=="function"?e.flush(t||Uxt):t&&t()}});var L0e=E((V5,B0e)=>{"use strict";var{hasOwnProperty:a1}=Object.prototype,_m=K5();_m.configure=K5;_m.stringify=_m;_m.default=_m;V5.stringify=_m;V5.configure=K5;B0e.exports=_m;var jxt=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function fp(t){return t.length<5e3&&!jxt.test(t)?`"${t}"`:JSON.stringify(t)}function Q5(t,e){if(t.length>200||e)return t.sort(e);for(let r=1;r<t.length;r++){let n=t[r],s=r;for(;s!==0&&t[s-1]>n;)t[s]=t[s-1],s--;t[s]=n}return t}var Hxt=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function G5(t){return Hxt.call(t)!==void 0&&t.length!==0}function k0e(t,e,r){t.length<r&&(r=t.length);let n=e===","?"":" ",s=`"0":${n}${t[0]}`;for(let i=1;i<r;i++)s+=`${e}"${i}":${n}${t[i]}`;return s}function Qxt(t){if(a1.call(t,"circularValue")){let e=t.circularValue;if(typeof e=="string")return`"${e}"`;if(e==null)return e;if(e===Error||e===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function Gxt(t){let e;if(a1.call(t,"deterministic")&&(e=t.deterministic,typeof e!="boolean"&&typeof e!="function"))throw new TypeError('The "deterministic" argument must be of type boolean or comparator function');return e===void 0?!0:e}function Kxt(t,e){let r;if(a1.call(t,e)&&(r=t[e],typeof r!="boolean"))throw new TypeError(`The "${e}" argument must be of type boolean`);return r===void 0?!0:r}function D0e(t,e){let r;if(a1.call(t,e)){if(r=t[e],typeof r!="number")throw new TypeError(`The "${e}" argument must be of type number`);if(!Number.isInteger(r))throw new TypeError(`The "${e}" argument must be an integer`);if(r<1)throw new RangeError(`The "${e}" argument must be >= 1`)}return r===void 0?1/0:r}function Em(t){return t===1?"1 item":`${t} items`}function Vxt(t){let e=new Set;for(let r of t)(typeof r=="string"||typeof r=="number")&&e.add(String(r));return e}function zxt(t){if(a1.call(t,"strict")){let e=t.strict;if(typeof e!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(e)return r=>{let n=`Object can not safely be stringified. Received type ${typeof r}`;throw typeof r!="function"&&(n+=` (${r.toString()})`),new Error(n)}}}function K5(t){t={...t};let e=zxt(t);e&&(t.bigint===void 0&&(t.bigint=!1),"circularValue"in t||(t.circularValue=Error));let r=Qxt(t),n=Kxt(t,"bigint"),s=Gxt(t),i=typeof s=="function"?s:void 0,a=D0e(t,"maximumDepth"),o=D0e(t,"maximumBreadth");function c(p,m,h,A,g,b){let y=m[p];switch(typeof y=="object"&&y!==null&&typeof y.toJSON=="function"&&(y=y.toJSON(p)),y=A.call(m,p,y),typeof y){case"string":return fp(y);case"object":{if(y===null)return"null";if(h.indexOf(y)!==-1)return r;let x="",v=",",I=b;if(Array.isArray(y)){if(y.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(y),g!==""&&(b+=g,x+=`
|
|
${b}`,v=`,
|
|
${b}`);let M=Math.min(y.length,o),D=0;for(;D<M-1;D++){let Z=c(String(D),y,h,A,g,b);x+=Z!==void 0?Z:"null",x+=v}let L=c(String(D),y,h,A,g,b);if(x+=L!==void 0?L:"null",y.length-1>o){let Z=y.length-o-1;x+=`${v}"... ${Em(Z)} not stringified"`}return g!==""&&(x+=`
|
|
${I}`),h.pop(),`[${x}]`}let R=Object.keys(y),w=R.length;if(w===0)return"{}";if(a<h.length+1)return'"[Object]"';let N="",P="";g!==""&&(b+=g,v=`,
|
|
${b}`,N=" ");let B=Math.min(w,o);s&&!G5(y)&&(R=Q5(R,i)),h.push(y);for(let M=0;M<B;M++){let D=R[M],L=c(D,y,h,A,g,b);L!==void 0&&(x+=`${P}${fp(D)}:${N}${L}`,P=v)}if(w>o){let M=w-o;x+=`${P}"...":${N}"${Em(M)} not stringified"`,P=v}return g!==""&&P.length>1&&(x=`
|
|
${b}${x}
|
|
${I}`),h.pop(),`{${x}}`}case"number":return isFinite(y)?String(y):e?e(y):"null";case"boolean":return y===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(y);default:return e?e(y):void 0}}function u(p,m,h,A,g,b){switch(typeof m=="object"&&m!==null&&typeof m.toJSON=="function"&&(m=m.toJSON(p)),typeof m){case"string":return fp(m);case"object":{if(m===null)return"null";if(h.indexOf(m)!==-1)return r;let y=b,x="",v=",";if(Array.isArray(m)){if(m.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(m),g!==""&&(b+=g,x+=`
|
|
${b}`,v=`,
|
|
${b}`);let w=Math.min(m.length,o),N=0;for(;N<w-1;N++){let B=u(String(N),m[N],h,A,g,b);x+=B!==void 0?B:"null",x+=v}let P=u(String(N),m[N],h,A,g,b);if(x+=P!==void 0?P:"null",m.length-1>o){let B=m.length-o-1;x+=`${v}"... ${Em(B)} not stringified"`}return g!==""&&(x+=`
|
|
${y}`),h.pop(),`[${x}]`}h.push(m);let I="";g!==""&&(b+=g,v=`,
|
|
${b}`,I=" ");let R="";for(let w of A){let N=u(w,m[w],h,A,g,b);N!==void 0&&(x+=`${R}${fp(w)}:${I}${N}`,R=v)}return g!==""&&R.length>1&&(x=`
|
|
${b}${x}
|
|
${y}`),h.pop(),`{${x}}`}case"number":return isFinite(m)?String(m):e?e(m):"null";case"boolean":return m===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(m);default:return e?e(m):void 0}}function l(p,m,h,A,g){switch(typeof m){case"string":return fp(m);case"object":{if(m===null)return"null";if(typeof m.toJSON=="function"){if(m=m.toJSON(p),typeof m!="object")return l(p,m,h,A,g);if(m===null)return"null"}if(h.indexOf(m)!==-1)return r;let b=g;if(Array.isArray(m)){if(m.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(m),g+=A;let N=`
|
|
${g}`,P=`,
|
|
${g}`,B=Math.min(m.length,o),M=0;for(;M<B-1;M++){let L=l(String(M),m[M],h,A,g);N+=L!==void 0?L:"null",N+=P}let D=l(String(M),m[M],h,A,g);if(N+=D!==void 0?D:"null",m.length-1>o){let L=m.length-o-1;N+=`${P}"... ${Em(L)} not stringified"`}return N+=`
|
|
${b}`,h.pop(),`[${N}]`}let y=Object.keys(m),x=y.length;if(x===0)return"{}";if(a<h.length+1)return'"[Object]"';g+=A;let v=`,
|
|
${g}`,I="",R="",w=Math.min(x,o);G5(m)&&(I+=k0e(m,v,o),y=y.slice(m.length),w-=m.length,R=v),s&&(y=Q5(y,i)),h.push(m);for(let N=0;N<w;N++){let P=y[N],B=l(P,m[P],h,A,g);B!==void 0&&(I+=`${R}${fp(P)}: ${B}`,R=v)}if(x>o){let N=x-o;I+=`${R}"...": "${Em(N)} not stringified"`,R=v}return R!==""&&(I=`
|
|
${g}${I}
|
|
${b}`),h.pop(),`{${I}}`}case"number":return isFinite(m)?String(m):e?e(m):"null";case"boolean":return m===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(m);default:return e?e(m):void 0}}function d(p,m,h){switch(typeof m){case"string":return fp(m);case"object":{if(m===null)return"null";if(typeof m.toJSON=="function"){if(m=m.toJSON(p),typeof m!="object")return d(p,m,h);if(m===null)return"null"}if(h.indexOf(m)!==-1)return r;let A="",g=m.length!==void 0;if(g&&Array.isArray(m)){if(m.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(m);let I=Math.min(m.length,o),R=0;for(;R<I-1;R++){let N=d(String(R),m[R],h);A+=N!==void 0?N:"null",A+=","}let w=d(String(R),m[R],h);if(A+=w!==void 0?w:"null",m.length-1>o){let N=m.length-o-1;A+=`,"... ${Em(N)} not stringified"`}return h.pop(),`[${A}]`}let b=Object.keys(m),y=b.length;if(y===0)return"{}";if(a<h.length+1)return'"[Object]"';let x="",v=Math.min(y,o);g&&G5(m)&&(A+=k0e(m,",",o),b=b.slice(m.length),v-=m.length,x=","),s&&(b=Q5(b,i)),h.push(m);for(let I=0;I<v;I++){let R=b[I],w=d(R,m[R],h);w!==void 0&&(A+=`${x}${fp(R)}:${w}`,x=",")}if(y>o){let I=y-o;A+=`${x}"...":"${Em(I)} not stringified"`}return h.pop(),`{${A}}`}case"number":return isFinite(m)?String(m):e?e(m):"null";case"boolean":return m===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(m);default:return e?e(m):void 0}}function f(p,m,h){if(arguments.length>1){let A="";if(typeof h=="number"?A=" ".repeat(Math.min(h,10)):typeof h=="string"&&(A=h.slice(0,10)),m!=null){if(typeof m=="function")return c("",{"":p},[],m,A,"");if(Array.isArray(m))return u("",p,[],Vxt(m),A,"")}if(A.length!==0)return l("",p,[],A,"")}return d("",p,[])}return f}});var $0e=E((mPr,W0e)=>{"use strict";var z5=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:M0e}=CR(),Yxt=M0e.info;function Jxt(t,e){let r=0;t=t||[],e=e||{dedupe:!1};let n=Object.create(M0e);n.silent=1/0,e.levels&&typeof e.levels=="object"&&Object.keys(e.levels).forEach(d=>{n[d]=e.levels[d]});let s={write:i,add:c,emit:a,flushSync:o,end:u,minLevel:0,streams:[],clone:l,[z5]:!0,streamLevels:n};return Array.isArray(t)?t.forEach(c,s):c.call(s,t),t=null,s;function i(d){let f,p=this.lastLevel,{streams:m}=this,h=0,A;for(let g=Zxt(m.length,e.dedupe);tbt(g,m.length,e.dedupe);g=ebt(g,e.dedupe))if(f=m[g],f.level<=p){if(h!==0&&h!==f.level)break;if(A=f.stream,A[z5]){let{lastTime:b,lastMsg:y,lastObj:x,lastLogger:v}=this;A.lastLevel=p,A.lastTime=b,A.lastMsg=y,A.lastObj=x,A.lastLogger=v}A.write(d),e.dedupe&&(h=f.level)}else if(!e.dedupe)break}function a(...d){for(let{stream:f}of this.streams)typeof f.emit=="function"&&f.emit(...d)}function o(){for(let{stream:d}of this.streams)typeof d.flushSync=="function"&&d.flushSync()}function c(d){if(!d)return s;let f=typeof d.write=="function"||d.stream,p=d.write?d:d.stream;if(!f)throw Error("stream object needs to implement either StreamEntry or DestinationStream interface");let{streams:m,streamLevels:h}=this,A;typeof d.levelVal=="number"?A=d.levelVal:typeof d.level=="string"?A=h[d.level]:typeof d.level=="number"?A=d.level:A=Yxt;let g={stream:p,level:A,levelVal:void 0,id:r++};return m.unshift(g),m.sort(Xxt),this.minLevel=m[0].level,s}function u(){for(let{stream:d}of this.streams)typeof d.flushSync=="function"&&d.flushSync(),d.end()}function l(d){let f=new Array(this.streams.length);for(let p=0;p<f.length;p++)f[p]={level:d,stream:this.streams[p].stream};return{write:i,add:c,minLevel:d,streams:f,clone:l,emit:a,flushSync:o,[z5]:!0}}}function Xxt(t,e){return t.level-e.level}function Zxt(t,e){return e?t-1:0}function ebt(t,e){return e?t-1:t+1}function tbt(t,e,r){return r?t>=0:t<e}W0e.exports=Jxt});var X0e=E((hPr,Ho)=>{"use strict";var rbt=require("os"),K0e=p5(),nbt=m5(),sbt=E5(),V0e=Ppe(),ibt=P0e(),z0e=$A(),{configure:abt}=L0e(),{assertDefaultLevelFound:obt,mappings:Y0e,genLsCache:cbt,genLevelComparison:ubt,assertLevelComparison:lbt}=F5(),{DEFAULT_LEVELS:dbt,SORTING_ORDER:fbt}=CR(),{createArgsNormalizer:pbt,asChindings:mbt,buildSafeSonicBoom:F0e,buildFormatters:hbt,stringify:Y5,normalizeDestFileDescriptor:U0e,noop:gbt}=IR(),{version:Abt}=U5(),{chindingsSym:q0e,redactFmtSym:ybt,serializersSym:j0e,timeSym:xbt,timeSliceIndexSym:bbt,streamSym:Ebt,stringifySym:H0e,stringifySafeSym:J5,stringifiersSym:Q0e,setLevelSym:_bt,endSym:Sbt,formatOptsSym:vbt,messageKeySym:Ibt,errorKeySym:Cbt,nestedKeySym:Tbt,mixinSym:wbt,levelCompSym:Rbt,useOnlyCustomLevelsSym:Nbt,formattersSym:G0e,hooksSym:Obt,nestedKeyStrSym:Pbt,mixinMergeStrategySym:kbt,msgPrefixSym:Dbt}=z0e,{epochTime:J0e,nullTime:Bbt}=V0e,{pid:Lbt}=process,Mbt=rbt.hostname(),Wbt=K0e.err,$bt={level:"info",levelComparison:fbt.ASC,levels:dbt,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:Lbt,hostname:Mbt},serializers:Object.assign(Object.create(null),{err:Wbt}),formatters:Object.assign(Object.create(null),{bindings(t){return t},level(t,e){return{level:e}}}),hooks:{logMethod:void 0},timestamp:J0e,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},Fbt=pbt($bt),Ubt=Object.assign(Object.create(null),K0e);function X5(...t){let e={},{opts:r,stream:n}=Fbt(e,nbt(),...t),{redact:s,crlf:i,serializers:a,timestamp:o,messageKey:c,errorKey:u,nestedKey:l,base:d,name:f,level:p,customLevels:m,levelComparison:h,mixin:A,mixinMergeStrategy:g,useOnlyCustomLevels:b,formatters:y,hooks:x,depthLimit:v,edgeLimit:I,onChild:R,msgPrefix:w}=r,N=abt({maximumDepth:v,maximumBreadth:I}),P=hbt(y.level,y.bindings,y.log),B=Y5.bind({[J5]:N}),M=s?sbt(s,B):{},D=s?{stringify:M[ybt]}:{stringify:B},L="}"+(i?`\r
|
|
`:`
|
|
`),Z=mbt.bind(null,{[q0e]:"",[j0e]:a,[Q0e]:M,[H0e]:Y5,[J5]:N,[G0e]:P}),W="";d!==null&&(f===void 0?W=Z(d):W=Z(Object.assign({},d,{name:f})));let F=o instanceof Function?o:o?J0e:Bbt,K=F().indexOf(":")+1;if(b&&!m)throw Error("customLevels is required if useOnlyCustomLevels is set true");if(A&&typeof A!="function")throw Error(`Unknown mixin type "${typeof A}" - expected "function"`);if(w&&typeof w!="string")throw Error(`Unknown msgPrefix type "${typeof w}" - expected "string"`);obt(p,m,b);let j=Y0e(m,b);typeof n.emit=="function"&&n.emit("message",{code:"PINO_CONFIG",config:{levels:j,messageKey:c,errorKey:u}}),lbt(h);let J=ubt(h);return Object.assign(e,{levels:j,[Rbt]:J,[Nbt]:b,[Ebt]:n,[xbt]:F,[bbt]:K,[H0e]:Y5,[J5]:N,[Q0e]:M,[Sbt]:L,[vbt]:D,[Ibt]:c,[Cbt]:u,[Tbt]:l,[Pbt]:l?`,${JSON.stringify(l)}:{`:"",[j0e]:a,[wbt]:A,[kbt]:g,[q0e]:W,[G0e]:P,[Obt]:x,silent:gbt,onChild:R,[Dbt]:w}),Object.setPrototypeOf(e,ibt()),cbt(e),e[_bt](p),e}Ho.exports=X5;Ho.exports.destination=(t=process.stdout.fd)=>typeof t=="object"?(t.dest=U0e(t.dest||process.stdout.fd),F0e(t)):F0e({dest:U0e(t),minLength:0});Ho.exports.transport=D5();Ho.exports.multistream=$0e();Ho.exports.levels=Y0e();Ho.exports.stdSerializers=Ubt;Ho.exports.stdTimeFunctions=Object.assign({},V0e);Ho.exports.symbols=z0e;Ho.exports.version=Abt;Ho.exports.default=X5;Ho.exports.pino=X5});var o1=E((gPr,nme)=>{"use strict";var qbt=qfe(),TR=X0e(),{serializersSym:Z0e}=TR.symbols,{FST_ERR_LOG_INVALID_DESTINATION:jbt,FST_ERR_LOG_INVALID_LOGGER:Hbt}=Ci();function eme(t){if(t.stream&&t.file)throw new jbt;t.file&&(t.stream=TR.destination(t.file),delete t.file);let e=t.logger,r=t.genReqId,n=null;return e?(t.logger=void 0,t.genReqId=void 0,e[Z0e]&&(t.serializers=Object.assign({},t.serializers,e[Z0e])),n=e.child({},t),t.logger=e,t.genReqId=r):n=TR(t,t.stream),n}var Z5={req:function(e){return{method:e.method,url:e.url,version:e.headers&&e.headers["accept-version"],hostname:e.hostname,remoteAddress:e.ip,remotePort:e.socket?e.socket.remotePort:void 0}},err:TR.stdSerializers.err,res:function(e){return{statusCode:e.statusCode}}};function Qbt(){let t=process.hrtime();return t[0]*1e3+t[1]/1e6}function Gbt(t){if(!t.logger){let n=qbt;return n.child=()=>n,{logger:n,hasLogger:!1}}if(tme(t.logger))return{logger:eme({logger:t.logger,serializers:Object.assign({},Z5,t.logger.serializers)}),hasLogger:!0};let e={};return Object.prototype.toString.call(t.logger)==="[object Object]"&&Reflect.ownKeys(t.logger).forEach(n=>{Object.defineProperty(e,n,{value:t.logger[n],writable:!0,enumerable:!0,configurable:!0})}),e.level=e.level||"info",e.serializers=Object.assign({},Z5,e.serializers),t.logger=e,{logger:eme(t.logger),hasLogger:!0}}function tme(t,e){let r=["info","error","debug","fatal","warn","trace","child"],n=t?r.filter(s=>!t[s]||typeof t[s]!="function"):r;if(n.length){if(n.length===r.length&&!e)return!1;throw Hbt(n.join(","))}else return!0}function Kbt(t,e,r,n,s){let i={[t.requestIdLogLabel]:n},a=t.childLoggerFactory.call(t.server,e,i,s||{},r);return t.childLoggerFactory!==rme&&tme(a,!0),a}function rme(t,e,r){return t.child(e,r)}nme.exports={createLogger:Gbt,createChildLogger:Kbt,defaultChildLoggerFactory:rme,serializers:Z5,now:Qbt}});var wR=E((APr,sme)=>{"use strict";sme.exports=Vbt;function qA(t){return t instanceof Buffer?Buffer.from(t):new t.constructor(t.buffer.slice(),t.byteOffset,t.length)}function Vbt(t){if(t=t||{},t.circles)return zbt(t);let e=new Map;if(e.set(Date,a=>new Date(a)),e.set(Map,(a,o)=>new Map(n(Array.from(a),o))),e.set(Set,(a,o)=>new Set(n(Array.from(a),o))),t.constructorHandlers)for(let a of t.constructorHandlers)e.set(a[0],a[1]);let r=null;return t.proto?i:s;function n(a,o){let c=Object.keys(a),u=new Array(c.length);for(let l=0;l<c.length;l++){let d=c[l],f=a[d];typeof f!="object"||f===null?u[d]=f:f.constructor!==Object&&(r=e.get(f.constructor))?u[d]=r(f,o):ArrayBuffer.isView(f)?u[d]=qA(f):u[d]=o(f)}return u}function s(a){if(typeof a!="object"||a===null)return a;if(Array.isArray(a))return n(a,s);if(a.constructor!==Object&&(r=e.get(a.constructor)))return r(a,s);let o={};for(let c in a){if(Object.hasOwnProperty.call(a,c)===!1)continue;let u=a[c];typeof u!="object"||u===null?o[c]=u:u.constructor!==Object&&(r=e.get(u.constructor))?o[c]=r(u,s):ArrayBuffer.isView(u)?o[c]=qA(u):o[c]=s(u)}return o}function i(a){if(typeof a!="object"||a===null)return a;if(Array.isArray(a))return n(a,i);if(a.constructor!==Object&&(r=e.get(a.constructor)))return r(a,i);let o={};for(let c in a){let u=a[c];typeof u!="object"||u===null?o[c]=u:u.constructor!==Object&&(r=e.get(u.constructor))?o[c]=r(u,i):ArrayBuffer.isView(u)?o[c]=qA(u):o[c]=i(u)}return o}}function zbt(t){let e=[],r=[],n=new Map;if(n.set(Date,c=>new Date(c)),n.set(Map,(c,u)=>new Map(i(Array.from(c),u))),n.set(Set,(c,u)=>new Set(i(Array.from(c),u))),t.constructorHandlers)for(let c of t.constructorHandlers)n.set(c[0],c[1]);let s=null;return t.proto?o:a;function i(c,u){let l=Object.keys(c),d=new Array(l.length);for(let f=0;f<l.length;f++){let p=l[f],m=c[p];if(typeof m!="object"||m===null)d[p]=m;else if(m.constructor!==Object&&(s=n.get(m.constructor)))d[p]=s(m,u);else if(ArrayBuffer.isView(m))d[p]=qA(m);else{let h=e.indexOf(m);h!==-1?d[p]=r[h]:d[p]=u(m)}}return d}function a(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return i(c,a);if(c.constructor!==Object&&(s=n.get(c.constructor)))return s(c,a);let u={};e.push(c),r.push(u);for(let l in c){if(Object.hasOwnProperty.call(c,l)===!1)continue;let d=c[l];if(typeof d!="object"||d===null)u[l]=d;else if(d.constructor!==Object&&(s=n.get(d.constructor)))u[l]=s(d,a);else if(ArrayBuffer.isView(d))u[l]=qA(d);else{let f=e.indexOf(d);f!==-1?u[l]=r[f]:u[l]=a(d)}}return e.pop(),r.pop(),u}function o(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return i(c,o);if(c.constructor!==Object&&(s=n.get(c.constructor)))return s(c,o);let u={};e.push(c),r.push(u);for(let l in c){let d=c[l];if(typeof d!="object"||d===null)u[l]=d;else if(d.constructor!==Object&&(s=n.get(d.constructor)))u[l]=s(d,o);else if(ArrayBuffer.isView(d))u[l]=qA(d);else{let f=e.indexOf(d);f!==-1?u[l]=r[f]:u[l]=o(d)}}return e.pop(),r.pop(),u}}});var c1=E((yPr,cme)=>{"use strict";var Ybt=wR()({circles:!1,proto:!0}),{kSchemaVisited:ime,kSchemaResponse:Jbt}=Gs(),t8=Symbol.for("fluent-schema-object"),{FST_ERR_SCH_MISSING_ID:Xbt,FST_ERR_SCH_ALREADY_PRESENT:Zbt,FST_ERR_SCH_DUPLICATE:eEt,FST_ERR_SCH_CONTENT_MISSING_SCHEMA:tEt}=Ci(),ome=["params","body","querystring","query","headers"];function RR(t){this.store=t||{}}RR.prototype.add=function(t){let e=Ybt(t.isFluentSchema||t.isFluentJSONSchema||t[t8]?t.valueOf():t),r=e.$id;if(!r)throw new Xbt;if(this.store[r])throw new Zbt(r);this.store[r]=e};RR.prototype.getSchemas=function(){return Object.assign({},this.store)};RR.prototype.getSchema=function(t){return this.store[t]};function ame(t){return typeof t=="object"&&Object.getPrototypeOf(t)!==Object.prototype}function rEt(t,e){if(t[ime])return t;if(t.query){if(t.querystring)throw new eEt("querystring");t.querystring=t.query}nEt(t);for(let r of ome){let n=t[r];n&&!ame(n)&&(t[r]=e8(n,e.jsonShorthand))}if(t.response){let r=Object.keys(t.response);for(let n of r){if(ame(t.response[n]))continue;let s=t.response[n].content,i=!1;if(s){let a=Object.keys(s);for(let o=0;o<a.length;o++){let c=a[o];if(!s[c].schema){if(a.length===1)break;throw new tEt(c)}t.response[n].content[c].schema=e8(s[c].schema,e.jsonShorthand),o===a.length-1&&(i=!0)}}i||(t.response[n]=e8(t.response[n],e.jsonShorthand))}}return t[ime]=!0,t}function nEt(t){for(let e of ome)t[e]&&(t[e].isFluentSchema||t[e][t8])&&(t[e]=t[e].valueOf());if(t.response){let e=Object.keys(t.response);for(let r of e)(t.response[r].isFluentSchema||t.response[r][t8])&&(t.response[r]=t.response[r].valueOf())}}function e8(t,e){return!e||t.$ref||t.oneOf||t.allOf||t.anyOf||t.$merge||t.$patch?t:!t.type&&!t.properties?{type:"object",properties:t}:t}function sEt(t,e,r){let n=t[Jbt];if(!n)return!1;if(n[e]){if(n[e].constructor===Object&&r){let i=r.split(";",1)[0];return n[e][i]?n[e][i]:!1}return n[e]}let s=(e+"")[0]+"xx";if(n[s]){if(n[s].constructor===Object&&r){let i=r.split(";",1)[0];return n[s][i]?n[s][i]:!1}return n[s]}if(n.default){if(n.default.constructor===Object&&r){let i=r.split(";",1)[0];return n.default[i]?n.default[i]:!1}return n.default}return!1}cme.exports={buildSchemas(t){return new RR(t)},getSchemaSerializer:sEt,normalizeSchema:rEt}});var r8=E((xPr,lme)=>{"use strict";var iEt=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;lme.exports=class ume{constructor(e){switch(e&&e.rounding){case"floor":this.parseInteger=Math.floor;break;case"ceil":this.parseInteger=Math.ceil;break;case"round":this.parseInteger=Math.round;break;case"trunc":default:this.parseInteger=Math.trunc;break}this._options=e}asInteger(e){if(Number.isInteger(e))return""+e;if(typeof e=="bigint")return e.toString();let r=this.parseInteger(e);if(r===1/0||r===-1/0||r!==r)throw new Error(`The value "${e}" cannot be converted to an integer.`);return""+r}asNumber(e){let r=Number(e);if(r!==r)throw new Error(`The value "${e}" cannot be converted to a number.`);return r===1/0||r===-1/0?"null":""+r}asBoolean(e){return e&&"true"||"false"}asDateTime(e){if(e===null)return'""';if(e instanceof Date)return'"'+e.toISOString()+'"';if(typeof e=="string")return'"'+e+'"';throw new Error(`The value "${e}" cannot be converted to a date-time.`)}asDate(e){if(e===null)return'""';if(e instanceof Date)return'"'+new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(0,10)+'"';if(typeof e=="string")return'"'+e+'"';throw new Error(`The value "${e}" cannot be converted to a date.`)}asTime(e){if(e===null)return'""';if(e instanceof Date)return'"'+new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(11,19)+'"';if(typeof e=="string")return'"'+e+'"';throw new Error(`The value "${e}" cannot be converted to a time.`)}asString(e){let r=e.length;if(r<42){let s="",i=-1,a=255;for(var n=0;n<r;n++)if(a=e.charCodeAt(n),a===34||a===92)i===-1&&(i=0),s+=e.slice(i,n)+"\\",i=n;else if(a<32||a>=55296&&a<=57343)return JSON.stringify(e);return i===-1&&'"'+e+'"'||'"'+s+e.slice(i)+'"'}else return r<5e3&&iEt.test(e)===!1?'"'+e+'"':JSON.stringify(e)}asUnsafeString(e){return'"'+e+'"'}getState(){return this._options}static restoreFromState(e){return new ume(e)}}});var d1=E(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.regexpCode=kr.getEsmExportName=kr.getProperty=kr.safeStringify=kr.stringify=kr.strConcat=kr.addCodeArg=kr.str=kr._=kr.nil=kr._Code=kr.Name=kr.IDENTIFIER=kr._CodeOrName=void 0;var u1=class{};kr._CodeOrName=u1;kr.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Sm=class extends u1{constructor(e){if(super(),!kr.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};kr.Name=Sm;var Qo=class extends u1{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Sm&&(r[n.str]=(r[n.str]||0)+1),r),{})}};kr._Code=Qo;kr.nil=new Qo("");function dme(t,...e){let r=[t[0]],n=0;for(;n<e.length;)s8(r,e[n]),r.push(t[++n]);return new Qo(r)}kr._=dme;var n8=new Qo("+");function fme(t,...e){let r=[l1(t[0])],n=0;for(;n<e.length;)r.push(n8),s8(r,e[n]),r.push(n8,l1(t[++n]));return aEt(r),new Qo(r)}kr.str=fme;function s8(t,e){e instanceof Qo?t.push(...e._items):e instanceof Sm?t.push(e):t.push(uEt(e))}kr.addCodeArg=s8;function aEt(t){let e=1;for(;e<t.length-1;){if(t[e]===n8){let r=oEt(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function oEt(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Sm||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Sm))return`"${t}${e.slice(1)}`}function cEt(t,e){return e.emptyStr()?t:t.emptyStr()?e:fme`${t}${e}`}kr.strConcat=cEt;function uEt(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:l1(Array.isArray(t)?t.join(","):t)}function lEt(t){return new Qo(l1(t))}kr.stringify=lEt;function l1(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}kr.safeStringify=l1;function dEt(t){return typeof t=="string"&&kr.IDENTIFIER.test(t)?new Qo(`.${t}`):dme`[${t}]`}kr.getProperty=dEt;function fEt(t){if(typeof t=="string"&&kr.IDENTIFIER.test(t))return new Qo(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}kr.getEsmExportName=fEt;function pEt(t){return new Qo(t.toString())}kr.regexpCode=pEt});var o8=E(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.ValueScope=ka.ValueScopeName=ka.Scope=ka.varKinds=ka.UsedValueState=void 0;var Pa=d1(),i8=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},NR;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(NR||(ka.UsedValueState=NR={}));ka.varKinds={const:new Pa.Name("const"),let:new Pa.Name("let"),var:new Pa.Name("var")};var OR=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Pa.Name?e:this.name(e)}name(e){return new Pa.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};ka.Scope=OR;var PR=class extends Pa.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Pa._)`.${new Pa.Name(r)}[${n}]`}};ka.ValueScopeName=PR;var mEt=(0,Pa._)`\n`,a8=class extends OR{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?mEt:Pa.nil}}get(){return this._scope}name(e){return new PR(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Pa._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let i=Pa.nil;for(let a in e){let o=e[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,NR.Started);let l=r(u);if(l){let d=this.opts.es5?ka.varKinds.var:ka.varKinds.const;i=(0,Pa._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,Pa._)`${i}${l}${this.opts._n}`;else throw new i8(u);c.set(u,NR.Completed)})}return i}};ka.ValueScope=a8});var Kt=E(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.or=Jt.and=Jt.not=Jt.CodeGen=Jt.operators=Jt.varKinds=Jt.ValueScopeName=Jt.ValueScope=Jt.Scope=Jt.Name=Jt.regexpCode=Jt.stringify=Jt.getProperty=Jt.nil=Jt.strConcat=Jt.str=Jt._=void 0;var gr=d1(),Fc=o8(),pp=d1();Object.defineProperty(Jt,"_",{enumerable:!0,get:function(){return pp._}});Object.defineProperty(Jt,"str",{enumerable:!0,get:function(){return pp.str}});Object.defineProperty(Jt,"strConcat",{enumerable:!0,get:function(){return pp.strConcat}});Object.defineProperty(Jt,"nil",{enumerable:!0,get:function(){return pp.nil}});Object.defineProperty(Jt,"getProperty",{enumerable:!0,get:function(){return pp.getProperty}});Object.defineProperty(Jt,"stringify",{enumerable:!0,get:function(){return pp.stringify}});Object.defineProperty(Jt,"regexpCode",{enumerable:!0,get:function(){return pp.regexpCode}});Object.defineProperty(Jt,"Name",{enumerable:!0,get:function(){return pp.Name}});var LR=o8();Object.defineProperty(Jt,"Scope",{enumerable:!0,get:function(){return LR.Scope}});Object.defineProperty(Jt,"ValueScope",{enumerable:!0,get:function(){return LR.ValueScope}});Object.defineProperty(Jt,"ValueScopeName",{enumerable:!0,get:function(){return LR.ValueScopeName}});Object.defineProperty(Jt,"varKinds",{enumerable:!0,get:function(){return LR.varKinds}});Jt.operators={GT:new gr._Code(">"),GTE:new gr._Code(">="),LT:new gr._Code("<"),LTE:new gr._Code("<="),EQ:new gr._Code("==="),NEQ:new gr._Code("!=="),NOT:new gr._Code("!"),OR:new gr._Code("||"),AND:new gr._Code("&&"),ADD:new gr._Code("+")};var ud=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},c8=class extends ud{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Fc.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=HA(this.rhs,e,r)),this}get names(){return this.rhs instanceof gr._CodeOrName?this.rhs.names:{}}},kR=class extends ud{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof gr.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=HA(this.rhs,e,r),this}get names(){let e=this.lhs instanceof gr.Name?{}:{...this.lhs.names};return BR(e,this.rhs)}},u8=class extends kR{constructor(e,r,n,s){super(e,n,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},l8=class extends ud{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},d8=class extends ud{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},f8=class extends ud{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},p8=class extends ud{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=HA(this.code,e,r),this}get names(){return this.code instanceof gr._CodeOrName?this.code.names:{}}},f1=class extends ud{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(e,r)||(hEt(e,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Cm(e,r.names),{})}},ld=class extends f1{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},m8=class extends f1{},jA=class extends ld{};jA.kind="else";var vm=class t extends ld{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new jA(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(pme(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=HA(this.condition,e,r),this}get names(){let e=super.names;return BR(e,this.condition),this.else&&Cm(e,this.else.names),e}};vm.kind="if";var Im=class extends ld{};Im.kind="for";var h8=class extends Im{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=HA(this.iteration,e,r),this}get names(){return Cm(super.names,this.iteration.names)}},g8=class extends Im{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s}render(e){let r=e.es5?Fc.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=BR(super.names,this.from);return BR(e,this.to)}},DR=class extends Im{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=HA(this.iterable,e,r),this}get names(){return Cm(super.names,this.iterable.names)}},p1=class extends ld{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};p1.kind="func";var m1=class extends f1{render(e){return"return "+super.render(e)}};m1.kind="return";var A8=class extends ld{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Cm(e,this.catch.names),this.finally&&Cm(e,this.finally.names),e}},h1=class extends ld{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};h1.kind="catch";var g1=class extends ld{render(e){return"finally"+super.render(e)}};g1.kind="finally";var y8=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
`:""},this._extScope=e,this._scope=new Fc.Scope({parent:e}),this._nodes=[new m8]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new c8(e,i,n)),i}const(e,r,n){return this._def(Fc.varKinds.const,e,r,n)}let(e,r,n){return this._def(Fc.varKinds.let,e,r,n)}var(e,r,n){return this._def(Fc.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new kR(e,r,n))}add(e,r){return this._leafNode(new u8(e,Jt.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==gr.nil&&this._leafNode(new p8(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,gr.addCodeArg)(r,s));return r.push("}"),new gr._Code(r)}if(e,r,n){if(this._blockNode(new vm(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new vm(e))}else(){return this._elseNode(new jA)}endIf(){return this._endBlockNode(vm,jA)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new h8(e),r)}forRange(e,r,n,s,i=this.opts.es5?Fc.varKinds.var:Fc.varKinds.let){let a=this._scope.toName(e);return this._for(new g8(i,a,r,n),()=>s(a))}forOf(e,r,n,s=Fc.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof gr.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,gr._)`${a}.length`,o=>{this.var(i,(0,gr._)`${a}[${o}]`),n(i)})}return this._for(new DR("of",s,i,r),()=>n(i))}forIn(e,r,n,s=this.opts.es5?Fc.varKinds.var:Fc.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,gr._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new DR("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Im)}label(e){return this._leafNode(new l8(e))}break(e){return this._leafNode(new d8(e))}return(e){let r=new m1;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(m1)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new A8;if(this._blockNode(s),this.code(e),r){let i=this.name("e");this._currNode=s.catch=new h1(i),r(i)}return n&&(this._currNode=s.finally=new g1,this.code(n)),this._endBlockNode(h1,g1)}throw(e){return this._leafNode(new f8(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=gr.nil,n,s){return this._blockNode(new p1(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(p1)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof vm))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Jt.CodeGen=y8;function Cm(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function BR(t,e){return e instanceof gr._CodeOrName?Cm(t,e.names):t}function HA(t,e,r){if(t instanceof gr.Name)return n(t);if(!s(t))return t;return new gr._Code(t._items.reduce((i,a)=>(a instanceof gr.Name&&(a=n(a)),a instanceof gr._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function s(i){return i instanceof gr._Code&&i._items.some(a=>a instanceof gr.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function hEt(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function pme(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,gr._)`!${x8(t)}`}Jt.not=pme;var gEt=mme(Jt.operators.AND);function AEt(...t){return t.reduce(gEt)}Jt.and=AEt;var yEt=mme(Jt.operators.OR);function xEt(...t){return t.reduce(yEt)}Jt.or=xEt;function mme(t){return(e,r)=>e===gr.nil?r:r===gr.nil?e:(0,gr._)`${x8(e)} ${t} ${x8(r)}`}function x8(t){return t instanceof gr.Name?t:(0,gr._)`(${t})`}});var Dr=E(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.checkStrictMode=er.getErrorPath=er.Type=er.useFunc=er.setEvaluated=er.evaluatedPropsToName=er.mergeEvaluated=er.eachItem=er.unescapeJsonPointer=er.escapeJsonPointer=er.escapeFragment=er.unescapeFragment=er.schemaRefOrVal=er.schemaHasRulesButRef=er.schemaHasRules=er.checkUnknownRules=er.alwaysValidSchema=er.toHash=void 0;var ln=Kt(),bEt=d1();function EEt(t){let e={};for(let r of t)e[r]=!0;return e}er.toHash=EEt;function _Et(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Ame(t,e),!yme(e,t.self.RULES.all))}er.alwaysValidSchema=_Et;function Ame(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let i in e)s[i]||Eme(t,`unknown keyword: "${i}"`)}er.checkUnknownRules=Ame;function yme(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}er.schemaHasRules=yme;function SEt(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}er.schemaHasRulesButRef=SEt;function vEt({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,ln._)`${r}`}return(0,ln._)`${t}${e}${(0,ln.getProperty)(n)}`}er.schemaRefOrVal=vEt;function IEt(t){return xme(decodeURIComponent(t))}er.unescapeFragment=IEt;function CEt(t){return encodeURIComponent(E8(t))}er.escapeFragment=CEt;function E8(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}er.escapeJsonPointer=E8;function xme(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}er.unescapeJsonPointer=xme;function TEt(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}er.eachItem=TEt;function hme({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof ln.Name?(i instanceof ln.Name?t(s,i,a):e(s,i,a),a):i instanceof ln.Name?(e(s,a,i),i):r(i,a);return o===ln.Name&&!(c instanceof ln.Name)?n(s,c):c}}er.mergeEvaluated={props:hme({mergeNames:(t,e,r)=>t.if((0,ln._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,ln._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,ln._)`${r} || {}`).code((0,ln._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,ln._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,ln._)`${r} || {}`),_8(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:bme}),items:hme({mergeNames:(t,e,r)=>t.if((0,ln._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,ln._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,ln._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,ln._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function bme(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,ln._)`{}`);return e!==void 0&&_8(t,r,e),r}er.evaluatedPropsToName=bme;function _8(t,e,r){Object.keys(r).forEach(n=>t.assign((0,ln._)`${e}${(0,ln.getProperty)(n)}`,!0))}er.setEvaluated=_8;var gme={};function wEt(t,e){return t.scopeValue("func",{ref:e,code:gme[e.code]||(gme[e.code]=new bEt._Code(e.code))})}er.useFunc=wEt;var b8;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(b8||(er.Type=b8={}));function REt(t,e,r){if(t instanceof ln.Name){let n=e===b8.Num;return r?n?(0,ln._)`"[" + ${t} + "]"`:(0,ln._)`"['" + ${t} + "']"`:n?(0,ln._)`"/" + ${t}`:(0,ln._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,ln.getProperty)(t).toString():"/"+E8(t)}er.getErrorPath=REt;function Eme(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}er.checkStrictMode=Eme});var dd=E(S8=>{"use strict";Object.defineProperty(S8,"__esModule",{value:!0});var wi=Kt(),NEt={data:new wi.Name("data"),valCxt:new wi.Name("valCxt"),instancePath:new wi.Name("instancePath"),parentData:new wi.Name("parentData"),parentDataProperty:new wi.Name("parentDataProperty"),rootData:new wi.Name("rootData"),dynamicAnchors:new wi.Name("dynamicAnchors"),vErrors:new wi.Name("vErrors"),errors:new wi.Name("errors"),this:new wi.Name("this"),self:new wi.Name("self"),scope:new wi.Name("scope"),json:new wi.Name("json"),jsonPos:new wi.Name("jsonPos"),jsonLen:new wi.Name("jsonLen"),jsonPart:new wi.Name("jsonPart")};S8.default=NEt});var A1=E(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.extendErrors=Ri.resetErrorsCount=Ri.reportExtraError=Ri.reportError=Ri.keyword$DataError=Ri.keywordError=void 0;var Sr=Kt(),MR=Dr(),ea=dd();Ri.keywordError={message:({keyword:t})=>(0,Sr.str)`must pass "${t}" keyword validation`};Ri.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Sr.str)`"${t}" keyword must be ${e} ($data)`:(0,Sr.str)`"${t}" keyword is invalid ($data)`};function OEt(t,e=Ri.keywordError,r,n){let{it:s}=t,{gen:i,compositeRule:a,allErrors:o}=s,c=vme(t,e,r);n??(a||o)?_me(i,c):Sme(s,(0,Sr._)`[${c}]`)}Ri.reportError=OEt;function PEt(t,e=Ri.keywordError,r){let{it:n}=t,{gen:s,compositeRule:i,allErrors:a}=n,o=vme(t,e,r);_me(s,o),i||a||Sme(n,ea.default.vErrors)}Ri.reportExtraError=PEt;function kEt(t,e){t.assign(ea.default.errors,e),t.if((0,Sr._)`${ea.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Sr._)`${ea.default.vErrors}.length`,e),()=>t.assign(ea.default.vErrors,null)))}Ri.resetErrorsCount=kEt;function DEt({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ea.default.errors,o=>{t.const(a,(0,Sr._)`${ea.default.vErrors}[${o}]`),t.if((0,Sr._)`${a}.instancePath === undefined`,()=>t.assign((0,Sr._)`${a}.instancePath`,(0,Sr.strConcat)(ea.default.instancePath,i.errorPath))),t.assign((0,Sr._)`${a}.schemaPath`,(0,Sr.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,Sr._)`${a}.schema`,r),t.assign((0,Sr._)`${a}.data`,n))})}Ri.extendErrors=DEt;function _me(t,e){let r=t.const("err",e);t.if((0,Sr._)`${ea.default.vErrors} === null`,()=>t.assign(ea.default.vErrors,(0,Sr._)`[${r}]`),(0,Sr._)`${ea.default.vErrors}.push(${r})`),t.code((0,Sr._)`${ea.default.errors}++`)}function Sme(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0,Sr._)`new ${t.ValidationError}(${e})`):(r.assign((0,Sr._)`${n}.errors`,e),r.return(!1))}var Tm={keyword:new Sr.Name("keyword"),schemaPath:new Sr.Name("schemaPath"),params:new Sr.Name("params"),propertyName:new Sr.Name("propertyName"),message:new Sr.Name("message"),schema:new Sr.Name("schema"),parentSchema:new Sr.Name("parentSchema")};function vme(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Sr._)`{}`:BEt(t,e,r)}function BEt(t,e,r={}){let{gen:n,it:s}=t,i=[LEt(s,r),MEt(t,r)];return WEt(t,e,i),n.object(...i)}function LEt({errorPath:t},{instancePath:e}){let r=e?(0,Sr.str)`${t}${(0,MR.getErrorPath)(e,MR.Type.Str)}`:t;return[ea.default.instancePath,(0,Sr.strConcat)(ea.default.instancePath,r)]}function MEt({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0,Sr.str)`${e}/${t}`;return r&&(s=(0,Sr.str)`${s}${(0,MR.getErrorPath)(r,MR.Type.Str)}`),[Tm.schemaPath,s]}function WEt(t,{params:e,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([Tm.keyword,s],[Tm.params,typeof e=="function"?e(t):e||(0,Sr._)`{}`]),c.messages&&n.push([Tm.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Tm.schema,a],[Tm.parentSchema,(0,Sr._)`${l}${d}`],[ea.default.data,i]),u&&n.push([Tm.propertyName,u])}});var Cme=E(QA=>{"use strict";Object.defineProperty(QA,"__esModule",{value:!0});QA.boolOrEmptySchema=QA.topBoolOrEmptySchema=void 0;var $Et=A1(),FEt=Kt(),UEt=dd(),qEt={message:"boolean schema is false"};function jEt(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Ime(t,!1):typeof r=="object"&&r.$async===!0?e.return(UEt.default.data):(e.assign((0,FEt._)`${n}.errors`,null),e.return(!0))}QA.topBoolOrEmptySchema=jEt;function HEt(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Ime(t)):r.var(e,!0)}QA.boolOrEmptySchema=HEt;function Ime(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,$Et.reportError)(s,qEt,void 0,e)}});var v8=E(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.getRules=GA.isJSONType=void 0;var QEt=["string","number","integer","boolean","null","object","array"],GEt=new Set(QEt);function KEt(t){return typeof t=="string"&&GEt.has(t)}GA.isJSONType=KEt;function VEt(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}GA.getRules=VEt});var I8=E(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});mp.shouldUseRule=mp.shouldUseGroup=mp.schemaHasRulesForType=void 0;function zEt({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Tme(t,n)}mp.schemaHasRulesForType=zEt;function Tme(t,e){return e.rules.some(r=>wme(t,r))}mp.shouldUseGroup=Tme;function wme(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}mp.shouldUseRule=wme});var y1=E(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.reportTypeError=Ni.checkDataTypes=Ni.checkDataType=Ni.coerceAndCheckDataType=Ni.getJSONTypes=Ni.getSchemaTypes=Ni.DataType=void 0;var YEt=v8(),JEt=I8(),XEt=A1(),qt=Kt(),Rme=Dr(),KA;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(KA||(Ni.DataType=KA={}));function ZEt(t){let e=Nme(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Ni.getSchemaTypes=ZEt;function Nme(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(YEt.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ni.getJSONTypes=Nme;function e1t(t,e){let{gen:r,data:n,opts:s}=t,i=t1t(e,s.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,JEt.schemaHasRulesForType)(t,e[0]));if(a){let o=T8(e,n,s.strictNumbers,KA.Wrong);r.if(o,()=>{i.length?r1t(t,e,i):w8(t)})}return a}Ni.coerceAndCheckDataType=e1t;var Ome=new Set(["string","number","integer","boolean","null"]);function t1t(t,e){return e?t.filter(r=>Ome.has(r)||e==="array"&&r==="array"):[]}function r1t(t,e,r){let{gen:n,data:s,opts:i}=t,a=n.let("dataType",(0,qt._)`typeof ${s}`),o=n.let("coerced",(0,qt._)`undefined`);i.coerceTypes==="array"&&n.if((0,qt._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,qt._)`${s}[0]`).assign(a,(0,qt._)`typeof ${s}`).if(T8(e,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,qt._)`${o} !== undefined`);for(let u of r)(Ome.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),w8(t),n.endIf(),n.if((0,qt._)`${o} !== undefined`,()=>{n.assign(s,o),n1t(t,o)});function c(u){switch(u){case"string":n.elseIf((0,qt._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,qt._)`"" + ${s}`).elseIf((0,qt._)`${s} === null`).assign(o,(0,qt._)`""`);return;case"number":n.elseIf((0,qt._)`${a} == "boolean" || ${s} === null
|
|
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,qt._)`+${s}`);return;case"integer":n.elseIf((0,qt._)`${a} === "boolean" || ${s} === null
|
|
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,qt._)`+${s}`);return;case"boolean":n.elseIf((0,qt._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,qt._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,qt._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,qt._)`${a} === "string" || ${a} === "number"
|
|
|| ${a} === "boolean" || ${s} === null`).assign(o,(0,qt._)`[${s}]`)}}}function n1t({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,qt._)`${e} !== undefined`,()=>t.assign((0,qt._)`${e}[${r}]`,n))}function C8(t,e,r,n=KA.Correct){let s=n===KA.Correct?qt.operators.EQ:qt.operators.NEQ,i;switch(t){case"null":return(0,qt._)`${e} ${s} null`;case"array":i=(0,qt._)`Array.isArray(${e})`;break;case"object":i=(0,qt._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,qt._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,qt._)`typeof ${e} ${s} ${t}`}return n===KA.Correct?i:(0,qt.not)(i);function a(o=qt.nil){return(0,qt.and)((0,qt._)`typeof ${e} == "number"`,o,r?(0,qt._)`isFinite(${e})`:qt.nil)}}Ni.checkDataType=C8;function T8(t,e,r,n){if(t.length===1)return C8(t[0],e,r,n);let s,i=(0,Rme.toHash)(t);if(i.array&&i.object){let a=(0,qt._)`typeof ${e} != "object"`;s=i.null?a:(0,qt._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else s=qt.nil;i.number&&delete i.integer;for(let a in i)s=(0,qt.and)(s,C8(a,e,r,n));return s}Ni.checkDataTypes=T8;var s1t={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,qt._)`{type: ${t}}`:(0,qt._)`{type: ${e}}`};function w8(t){let e=i1t(t);(0,XEt.reportError)(e,s1t)}Ni.reportTypeError=w8;function i1t(t){let{gen:e,data:r,schema:n}=t,s=(0,Rme.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var kme=E(WR=>{"use strict";Object.defineProperty(WR,"__esModule",{value:!0});WR.assignDefaults=void 0;var VA=Kt(),a1t=Dr();function o1t(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)Pme(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,i)=>Pme(t,i,s.default))}WR.assignDefaults=o1t;function Pme(t,e,r){let{gen:n,compositeRule:s,data:i,opts:a}=t;if(r===void 0)return;let o=(0,VA._)`${i}${(0,VA.getProperty)(e)}`;if(s){(0,a1t.checkStrictMode)(t,`default is ignored for: ${o}`);return}let c=(0,VA._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,VA._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,VA._)`${o} = ${(0,VA.stringify)(r)}`)}});var Go=E(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.validateUnion=Zr.validateArray=Zr.usePattern=Zr.callValidateCode=Zr.schemaProperties=Zr.allSchemaProperties=Zr.noPropertyInData=Zr.propertyInData=Zr.isOwnProperty=Zr.hasPropFunc=Zr.reportMissingProp=Zr.checkMissingProp=Zr.checkReportMissingProp=void 0;var Rn=Kt(),R8=Dr(),hp=dd(),c1t=Dr();function u1t(t,e){let{gen:r,data:n,it:s}=t;r.if(O8(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Rn._)`${e}`},!0),t.error()})}Zr.checkReportMissingProp=u1t;function l1t({gen:t,data:e,it:{opts:r}},n,s){return(0,Rn.or)(...n.map(i=>(0,Rn.and)(O8(t,e,i,r.ownProperties),(0,Rn._)`${s} = ${i}`)))}Zr.checkMissingProp=l1t;function d1t(t,e){t.setParams({missingProperty:e},!0),t.error()}Zr.reportMissingProp=d1t;function Dme(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Rn._)`Object.prototype.hasOwnProperty`})}Zr.hasPropFunc=Dme;function N8(t,e,r){return(0,Rn._)`${Dme(t)}.call(${e}, ${r})`}Zr.isOwnProperty=N8;function f1t(t,e,r,n){let s=(0,Rn._)`${e}${(0,Rn.getProperty)(r)} !== undefined`;return n?(0,Rn._)`${s} && ${N8(t,e,r)}`:s}Zr.propertyInData=f1t;function O8(t,e,r,n){let s=(0,Rn._)`${e}${(0,Rn.getProperty)(r)} === undefined`;return n?(0,Rn.or)(s,(0,Rn.not)(N8(t,e,r))):s}Zr.noPropertyInData=O8;function Bme(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}Zr.allSchemaProperties=Bme;function p1t(t,e){return Bme(e).filter(r=>!(0,R8.alwaysValidSchema)(t,e[r]))}Zr.schemaProperties=p1t;function m1t({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Rn._)`${t}, ${e}, ${n}${s}`:e,d=[[hp.default.instancePath,(0,Rn.strConcat)(hp.default.instancePath,i)],[hp.default.parentData,a.parentData],[hp.default.parentDataProperty,a.parentDataProperty],[hp.default.rootData,hp.default.rootData]];a.opts.dynamicRef&&d.push([hp.default.dynamicAnchors,hp.default.dynamicAnchors]);let f=(0,Rn._)`${l}, ${r.object(...d)}`;return c!==Rn.nil?(0,Rn._)`${o}.call(${c}, ${f})`:(0,Rn._)`${o}(${f})`}Zr.callValidateCode=m1t;var h1t=(0,Rn._)`new RegExp`;function g1t({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Rn._)`${s.code==="new RegExp"?h1t:(0,c1t.useFunc)(t,s)}(${r}, ${n})`})}Zr.usePattern=g1t;function A1t(t){let{gen:e,data:r,keyword:n,it:s}=t,i=e.name("valid");if(s.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(i,!0),a(()=>e.break()),i;function a(o){let c=e.const("len",(0,Rn._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:R8.Type.Num},i),e.if((0,Rn.not)(i),o)})}}Zr.validateArray=A1t;function y1t(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,R8.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);e.assign(a,(0,Rn._)`${a} || ${o}`),t.mergeValidEvaluated(l,o)||e.if((0,Rn.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}Zr.validateUnion=y1t});var Wme=E(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.validateKeywordUsage=Fu.validSchemaType=Fu.funcKeywordCode=Fu.macroKeywordCode=void 0;var ta=Kt(),wm=dd(),x1t=Go(),b1t=A1();function E1t(t,e){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=t,o=e.macro.call(a.self,s,i,a),c=Mme(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");t.subschema({schema:o,schemaPath:ta.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Fu.macroKeywordCode=E1t;function _1t(t,e){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=t;v1t(c,e);let u=!o&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=Mme(n,s,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&Lme(t),A(()=>t.error());else{let g=e.async?p():m();e.modifying&&Lme(t),A(()=>S1t(t,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,ta._)`await `),b=>n.assign(d,!1).if((0,ta._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(g,(0,ta._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,ta._)`${l}.errors`;return n.assign(g,null),h(ta.nil),g}function h(g=e.async?(0,ta._)`await `:ta.nil){let b=c.opts.passContext?wm.default.this:wm.default.self,y=!("compile"in e&&!o||e.schema===!1);n.assign(d,(0,ta._)`${g}${(0,x1t.callValidateCode)(t,l,b,y)}`,e.modifying)}function A(g){var b;n.if((0,ta.not)((b=e.valid)!==null&&b!==void 0?b:d),g)}}Fu.funcKeywordCode=_1t;function Lme(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,ta._)`${n.parentData}[${n.parentDataProperty}]`))}function S1t(t,e){let{gen:r}=t;r.if((0,ta._)`Array.isArray(${e})`,()=>{r.assign(wm.default.vErrors,(0,ta._)`${wm.default.vErrors} === null ? ${e} : ${wm.default.vErrors}.concat(${e})`).assign(wm.default.errors,(0,ta._)`${wm.default.vErrors}.length`),(0,b1t.extendErrors)(t)},()=>t.error())}function v1t({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Mme(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ta.stringify)(r)})}function I1t(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Fu.validSchemaType=I1t;function C1t({schema:t,opts:e,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(t,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Fu.validateKeywordUsage=C1t});var Fme=E(gp=>{"use strict";Object.defineProperty(gp,"__esModule",{value:!0});gp.extendSubschemaMode=gp.extendSubschemaData=gp.getSubschema=void 0;var Uu=Kt(),$me=Dr();function T1t(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=t.schema[e];return r===void 0?{schema:o,schemaPath:(0,Uu._)`${t.schemaPath}${(0,Uu.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:o[r],schemaPath:(0,Uu._)`${t.schemaPath}${(0,Uu.getProperty)(e)}${(0,Uu.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,$me.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}gp.getSubschema=T1t;function w1t(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=o.let("data",(0,Uu._)`${e.data}${(0,Uu.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Uu.str)`${u}${(0,$me.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Uu._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof Uu.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}gp.extendSubschemaData=w1t;function R1t(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}gp.extendSubschemaMode=R1t});var Ko=E((DPr,Ume)=>{"use strict";Ume.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,s,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(s=n;s--!==0;)if(!t(e[s],r[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[s]))return!1;for(s=n;s--!==0;){var a=i[s];if(!t(e[a],r[a]))return!1}return!0}return e!==e&&r!==r}});var jme=E((BPr,qme)=>{"use strict";var Ap=qme.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};$R(e,n,s,t,"",t)};Ap.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Ap.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Ap.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Ap.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function $R(t,e,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in Ap.arrayKeywords)for(var f=0;f<d.length;f++)$R(t,e,r,d[f],s+"/"+l+"/"+f,i,s,l,n,f)}else if(l in Ap.propsKeywords){if(d&&typeof d=="object")for(var p in d)$R(t,e,r,d[p],s+"/"+l+"/"+N1t(p),i,s,l,n,p)}else(l in Ap.keywords||t.allKeys&&!(l in Ap.skipKeywords))&&$R(t,e,r,d,s+"/"+l,i,s,l,n)}r(n,s,i,a,o,c,u)}}function N1t(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var x1=E(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.getSchemaRefs=Da.resolveUrl=Da.normalizeId=Da._getFullPath=Da.getFullPath=Da.inlineRef=void 0;var O1t=Dr(),P1t=Ko(),k1t=jme(),D1t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function B1t(t,e=!0){return typeof t=="boolean"?!0:e===!0?!P8(t):e?Hme(t)<=e:!1}Da.inlineRef=B1t;var L1t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function P8(t){for(let e in t){if(L1t.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(P8)||typeof r=="object"&&P8(r))return!0}return!1}function Hme(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!D1t.has(r)&&(typeof t[r]=="object"&&(0,O1t.eachItem)(t[r],n=>e+=Hme(n)),e===1/0))return 1/0}return e}function Qme(t,e="",r){r!==!1&&(e=zA(e));let n=t.parse(e);return Gme(t,n)}Da.getFullPath=Qme;function Gme(t,e){return t.serialize(e).split("#")[0]+"#"}Da._getFullPath=Gme;var M1t=/#\/?$/;function zA(t){return t?t.replace(M1t,""):""}Da.normalizeId=zA;function W1t(t,e,r){return r=zA(r),t.resolve(e,r)}Da.resolveUrl=W1t;var $1t=/^[a-z_][-a-z0-9._]*$/i;function F1t(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=zA(t[r]||e),i={"":s},a=Qme(n,s,!1),o={},c=new Set;return k1t(t,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=a+f,A=i[m];typeof d[r]=="string"&&(A=g.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[f]=A;function g(y){let x=this.opts.uriResolver.resolve;if(y=zA(A?x(A,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==zA(h)&&(y[0]==="#"?(u(d,o[y],y),o[y]=d):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!$1t.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),o;function u(d,f,p){if(f!==void 0&&!P1t(d,f))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Da.getSchemaRefs=F1t});var _1=E(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.getData=yp.KeywordCxt=yp.validateFunctionCode=void 0;var Jme=Cme(),Kme=y1(),D8=I8(),FR=y1(),U1t=kme(),E1=Wme(),k8=Fme(),it=Kt(),wt=dd(),q1t=x1(),fd=Dr(),b1=A1();function j1t(t){if(ehe(t)&&(the(t),Zme(t))){G1t(t);return}Xme(t,()=>(0,Jme.topBoolOrEmptySchema)(t))}yp.validateFunctionCode=j1t;function Xme({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},i){s.code.es5?t.func(e,(0,it._)`${wt.default.data}, ${wt.default.valCxt}`,n.$async,()=>{t.code((0,it._)`"use strict"; ${Vme(r,s)}`),Q1t(t,s),t.code(i)}):t.func(e,(0,it._)`${wt.default.data}, ${H1t(s)}`,n.$async,()=>t.code(Vme(r,s)).code(i))}function H1t(t){return(0,it._)`{${wt.default.instancePath}="", ${wt.default.parentData}, ${wt.default.parentDataProperty}, ${wt.default.rootData}=${wt.default.data}${t.dynamicRef?(0,it._)`, ${wt.default.dynamicAnchors}={}`:it.nil}}={}`}function Q1t(t,e){t.if(wt.default.valCxt,()=>{t.var(wt.default.instancePath,(0,it._)`${wt.default.valCxt}.${wt.default.instancePath}`),t.var(wt.default.parentData,(0,it._)`${wt.default.valCxt}.${wt.default.parentData}`),t.var(wt.default.parentDataProperty,(0,it._)`${wt.default.valCxt}.${wt.default.parentDataProperty}`),t.var(wt.default.rootData,(0,it._)`${wt.default.valCxt}.${wt.default.rootData}`),e.dynamicRef&&t.var(wt.default.dynamicAnchors,(0,it._)`${wt.default.valCxt}.${wt.default.dynamicAnchors}`)},()=>{t.var(wt.default.instancePath,(0,it._)`""`),t.var(wt.default.parentData,(0,it._)`undefined`),t.var(wt.default.parentDataProperty,(0,it._)`undefined`),t.var(wt.default.rootData,wt.default.data),e.dynamicRef&&t.var(wt.default.dynamicAnchors,(0,it._)`{}`)})}function G1t(t){let{schema:e,opts:r,gen:n}=t;Xme(t,()=>{r.$comment&&e.$comment&&nhe(t),J1t(t),n.let(wt.default.vErrors,null),n.let(wt.default.errors,0),r.unevaluated&&K1t(t),rhe(t),e_t(t)})}function K1t(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,it._)`${r}.evaluated`),e.if((0,it._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,it._)`${t.evaluated}.props`,(0,it._)`undefined`)),e.if((0,it._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,it._)`${t.evaluated}.items`,(0,it._)`undefined`))}function Vme(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,it._)`/*# sourceURL=${r} */`:it.nil}function V1t(t,e){if(ehe(t)&&(the(t),Zme(t))){z1t(t,e);return}(0,Jme.boolOrEmptySchema)(t,e)}function Zme({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function ehe(t){return typeof t.schema!="boolean"}function z1t(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&nhe(t),X1t(t),Z1t(t);let i=n.const("_errs",wt.default.errors);rhe(t,i),n.var(e,(0,it._)`${i} === ${wt.default.errors}`)}function the(t){(0,fd.checkUnknownRules)(t),Y1t(t)}function rhe(t,e){if(t.opts.jtd)return zme(t,[],!1,e);let r=(0,Kme.getSchemaTypes)(t.schema),n=(0,Kme.coerceAndCheckDataType)(t,r);zme(t,r,!n,e)}function Y1t(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,fd.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function J1t(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,fd.checkStrictMode)(t,"default is ignored in the schema root")}function X1t(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,q1t.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function Z1t(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function nhe({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)t.code((0,it._)`${wt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,it.str)`${n}/$comment`,o=t.scopeValue("root",{ref:e.root});t.code((0,it._)`${wt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function e_t(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=t;r.$async?e.if((0,it._)`${wt.default.errors} === 0`,()=>e.return(wt.default.data),()=>e.throw((0,it._)`new ${s}(${wt.default.vErrors})`)):(e.assign((0,it._)`${n}.errors`,wt.default.vErrors),i.unevaluated&&t_t(t),e.return((0,it._)`${wt.default.errors} === 0`))}function t_t({gen:t,evaluated:e,props:r,items:n}){r instanceof it.Name&&t.assign((0,it._)`${e}.props`,r),n instanceof it.Name&&t.assign((0,it._)`${e}.items`,n)}function zme(t,e,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,fd.schemaHasRulesButRef)(i,l))){s.block(()=>ihe(t,"$ref",l.all.$ref.definition));return}c.jtd||r_t(t,e),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,D8.shouldUseGroup)(i,f)&&(f.type?(s.if((0,FR.checkDataType)(f.type,a,c.strictNumbers)),Yme(t,f),e.length===1&&e[0]===f.type&&r&&(s.else(),(0,FR.reportTypeError)(t)),s.endIf()):Yme(t,f),o||s.if((0,it._)`${wt.default.errors} === ${n||0}`))}}function Yme(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0,U1t.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,D8.shouldUseRule)(n,i)&&ihe(t,i.keyword,i.definition,e.type)})}function r_t(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(n_t(t,e),t.opts.allowUnionTypes||s_t(t,e),i_t(t,t.dataTypes))}function n_t(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{she(t.dataTypes,r)||B8(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),o_t(t,e)}}function s_t(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&B8(t,"use allowUnionTypes to allow union type keyword")}function i_t(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,D8.shouldUseRule)(t.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>a_t(e,a))&&B8(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function a_t(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function she(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function o_t(t,e){let r=[];for(let n of t.dataTypes)she(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function B8(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,fd.checkStrictMode)(t,e,t.opts.strictTypes)}var UR=class{constructor(e,r,n){if((0,E1.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,fd.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",ahe(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,E1.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",wt.default.errors))}result(e,r,n){this.failResult((0,it.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,it.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,it._)`${r} !== undefined && (${(0,it.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?b1.reportExtraError:b1.reportError)(this,this.def.error,r)}$dataError(){(0,b1.reportError)(this,this.def.$dataError||b1.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,b1.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=it.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=it.nil,r=it.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,it.or)((0,it._)`${s} === undefined`,r)),e!==it.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==it.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,it.or)(a(),o());function a(){if(n.length){if(!(r instanceof it.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,it._)`${(0,FR.checkDataTypes)(c,r,i.opts.strictNumbers,FR.DataType.Wrong)}`}return it.nil}function o(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,it._)`!${c}(${r})`}return it.nil}}subschema(e,r){let n=(0,k8.getSubschema)(this.it,e);(0,k8.extendSubschemaData)(n,this.it,e),(0,k8.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return V1t(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=fd.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=fd.mergeEvaluated.items(s,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,it.Name)),!0}};yp.KeywordCxt=UR;function ihe(t,e,r,n){let s=new UR(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0,E1.funcKeywordCode)(s,r):"macro"in r?(0,E1.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,E1.funcKeywordCode)(s,r)}var c_t=/^\/(?:[^~]|~0|~1)*$/,u_t=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ahe(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,i;if(t==="")return wt.default.rootData;if(t[0]==="/"){if(!c_t.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,i=wt.default.rootData}else{let u=u_t.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,it._)`${i}${(0,it.getProperty)((0,fd.unescapeJsonPointer)(u))}`,a=(0,it._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}yp.getData=ahe});var qR=E(M8=>{"use strict";Object.defineProperty(M8,"__esModule",{value:!0});var L8=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};M8.default=L8});var S1=E(F8=>{"use strict";Object.defineProperty(F8,"__esModule",{value:!0});var W8=x1(),$8=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,W8.resolveUrl)(e,r,n),this.missingSchema=(0,W8.normalizeId)((0,W8.getFullPath)(e,this.missingRef))}};F8.default=$8});var HR=E(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.resolveSchema=Vo.getCompilingSchema=Vo.resolveRef=Vo.compileSchema=Vo.SchemaEnv=void 0;var Uc=Kt(),l_t=qR(),Rm=dd(),qc=x1(),ohe=Dr(),d_t=_1(),YA=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,qc.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Vo.SchemaEnv=YA;function q8(t){let e=che.call(this,t);if(e)return e;let r=(0,qc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Uc.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;t.$async&&(o=a.scopeValue("Error",{ref:l_t.default,code:(0,Uc._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:Rm.default.data,parentData:Rm.default.parentData,parentDataProperty:Rm.default.parentDataProperty,dataNames:[Rm.default.data],dataPathArr:[Uc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Uc.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:o,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Uc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Uc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,d_t.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(Rm.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${Rm.default.self}`,`${Rm.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=u;p.evaluated={props:m instanceof Uc.Name?void 0:m,items:h instanceof Uc.Name?void 0:h,dynamicProps:m instanceof Uc.Name,dynamicItems:h instanceof Uc.Name},p.source&&(p.source.evaluated=(0,Uc.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}Vo.compileSchema=q8;function f_t(t,e,r){var n;r=(0,qc.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let i=h_t.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new YA({schema:a,schemaId:o,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=p_t.call(this,i)}Vo.resolveRef=f_t;function p_t(t){return(0,qc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:q8.call(this,t)}function che(t){for(let e of this._compilations)if(m_t(e,t))return e}Vo.getCompilingSchema=che;function m_t(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function h_t(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||jR.call(this,t,e)}function jR(t,e){let r=this.opts.uriResolver.parse(e),n=(0,qc._getFullPath)(this.opts.uriResolver,r),s=(0,qc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return U8.call(this,r,t);let i=(0,qc.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=jR.call(this,t,a);return typeof o?.schema!="object"?void 0:U8.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||q8.call(this,a),i===(0,qc.normalizeId)(e)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,qc.resolveUrl)(this.opts.uriResolver,s,u)),new YA({schema:o,schemaId:c,root:t,baseId:s})}return U8.call(this,r,a)}}Vo.resolveSchema=jR;var g_t=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function U8(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,ohe.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!g_t.has(o)&&u&&(e=(0,qc.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,ohe.schemaHasRulesButRef)(r,this.RULES)){let o=(0,qc.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=jR.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new YA({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var uhe=E((UPr,A_t)=>{A_t.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var H8=E((qPr,phe)=>{"use strict";var y_t=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),dhe=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function j8(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var x_t=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function lhe(t){return t.length=0,!0}function b_t(t,e,r){if(t.length){let n=j8(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function E_t(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=b_t;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(a=!0),!o(s,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=lhe}else{s.push(u);continue}}return s.length&&(o===lhe?r.zone=s.join(""):a?n.push(s.join("")):n.push(j8(s))),r.address=n.join(""),r}function fhe(t){if(__t(t,":")<2)return{host:t,isIPV6:!1};let e=E_t(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function __t(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function S_t(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function v_t(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function I_t(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!dhe(r)){let n=fhe(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}phe.exports={nonSimpleDomain:x_t,recomposeAuthority:I_t,normalizeComponentEncoding:v_t,removeDotSegments:S_t,isIPv4:dhe,isUUID:y_t,normalizeIPv6:fhe,stringArrayToHexStripped:j8}});var yhe=E((jPr,Ahe)=>{"use strict";var{isUUID:C_t}=H8(),T_t=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,w_t=["http","https","ws","wss","urn","urn:uuid"];function R_t(t){return w_t.indexOf(t)!==-1}function Q8(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function mhe(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function hhe(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function N_t(t){return t.secure=Q8(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function O_t(t){if((t.port===(Q8(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function P_t(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(T_t);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=G8(s);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function k_t(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=G8(s);i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function D_t(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!C_t(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function B_t(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var ghe={scheme:"http",domainHost:!0,parse:mhe,serialize:hhe},L_t={scheme:"https",domainHost:ghe.domainHost,parse:mhe,serialize:hhe},QR={scheme:"ws",domainHost:!0,parse:N_t,serialize:O_t},M_t={scheme:"wss",domainHost:QR.domainHost,parse:QR.parse,serialize:QR.serialize},W_t={scheme:"urn",parse:P_t,serialize:k_t,skipNormalize:!0},$_t={scheme:"urn:uuid",parse:D_t,serialize:B_t,skipNormalize:!0},GR={http:ghe,https:L_t,ws:QR,wss:M_t,urn:W_t,"urn:uuid":$_t};Object.setPrototypeOf(GR,null);function G8(t){return t&&(GR[t]||GR[t.toLowerCase()])||void 0}Ahe.exports={wsIsSecure:Q8,SCHEMES:GR,isValidSchemeName:R_t,getSchemeHandler:G8}});var Ehe=E((HPr,VR)=>{"use strict";var{normalizeIPv6:F_t,removeDotSegments:v1,recomposeAuthority:U_t,normalizeComponentEncoding:KR,isIPv4:q_t,nonSimpleDomain:j_t}=H8(),{SCHEMES:H_t,getSchemeHandler:xhe}=yhe();function Q_t(t,e){return typeof t=="string"?t=qu(pd(t,e),e):typeof t=="object"&&(t=pd(qu(t,e),e)),t}function G_t(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=bhe(pd(t,n),pd(e,n),n,!0);return n.skipEscape=!0,qu(s,n)}function bhe(t,e,r,n){let s={};return n||(t=pd(qu(t,r),r),e=pd(qu(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=v1(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=v1(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=v1(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=v1(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function K_t(t,e,r){return typeof t=="string"?(t=unescape(t),t=qu(KR(pd(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=qu(KR(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=qu(KR(pd(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=qu(KR(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function qu(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=xhe(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=U_t(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=v1(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var V_t=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function pd(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(V_t);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(q_t(n.host)===!1){let c=F_t(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=xhe(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&j_t(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var K8={SCHEMES:H_t,normalize:Q_t,resolve:G_t,resolveComponent:bhe,equal:K_t,serialize:qu,parse:pd};VR.exports=K8;VR.exports.default=K8;VR.exports.fastUri=K8});var She=E(V8=>{"use strict";Object.defineProperty(V8,"__esModule",{value:!0});var _he=Ehe();_he.code='require("ajv/dist/runtime/uri").default';V8.default=_he});var Ohe=E(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});li.CodeGen=li.Name=li.nil=li.stringify=li.str=li._=li.KeywordCxt=void 0;var z_t=_1();Object.defineProperty(li,"KeywordCxt",{enumerable:!0,get:function(){return z_t.KeywordCxt}});var JA=Kt();Object.defineProperty(li,"_",{enumerable:!0,get:function(){return JA._}});Object.defineProperty(li,"str",{enumerable:!0,get:function(){return JA.str}});Object.defineProperty(li,"stringify",{enumerable:!0,get:function(){return JA.stringify}});Object.defineProperty(li,"nil",{enumerable:!0,get:function(){return JA.nil}});Object.defineProperty(li,"Name",{enumerable:!0,get:function(){return JA.Name}});Object.defineProperty(li,"CodeGen",{enumerable:!0,get:function(){return JA.CodeGen}});var Y_t=qR(),whe=S1(),J_t=v8(),I1=HR(),X_t=Kt(),C1=x1(),zR=y1(),Y8=Dr(),vhe=uhe(),Z_t=She(),Rhe=(t,e)=>new RegExp(t,e);Rhe.code="new RegExp";var eSt=["removeAdditional","useDefaults","coerceTypes"],tSt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),rSt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},nSt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Ihe=200;function sSt(t){var e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y,x,v,I,R,w,N;let P=t.strict,B=(e=t.code)===null||e===void 0?void 0:e.optimize,M=B===!0||B===void 0?1:B||0,D=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Rhe,L=(s=t.uriResolver)!==null&&s!==void 0?s:Z_t.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:P)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=t.strictNumbers)!==null&&o!==void 0?o:P)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:P)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:P)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=t.strictRequired)!==null&&p!==void 0?p:P)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:M,regExp:D}:{optimize:M,regExp:D},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:Ihe,loopEnum:(A=t.loopEnum)!==null&&A!==void 0?A:Ihe,meta:(g=t.meta)!==null&&g!==void 0?g:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(x=t.schemaId)!==null&&x!==void 0?x:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(I=t.validateSchema)!==null&&I!==void 0?I:!0,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(w=t.unicodeRegExp)!==null&&w!==void 0?w:!0,int32range:(N=t.int32range)!==null&&N!==void 0?N:!0,uriResolver:L}}var T1=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...sSt(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new X_t.ValueScope({scope:{},prefixes:tSt,es5:r,lines:n}),this.logger=lSt(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,J_t.getRules)(),Che.call(this,rSt,e,"NOT SUPPORTED"),Che.call(this,nSt,e,"DEPRECATED","warn"),this._metaOpts=cSt.call(this),e.formats&&aSt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&oSt.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),iSt.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=vhe;n==="id"&&(s={...vhe},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof whe.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,C1.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,e);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let r;for(;typeof(r=The.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new I1.SchemaEnv({schema:{},schemaId:n});if(r=I1.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=The.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,C1.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(fSt.call(this,n,r),!r)return(0,Y8.eachItem)(n,i=>z8.call(this,i)),this;mSt.call(this,r);let s={...r,type:(0,zR.getJSONTypes)(r.type),schemaType:(0,zR.getJSONTypes)(r.schemaType)};return(0,Y8.eachItem)(n,s.type.length===0?i=>z8.call(this,i,s):i=>s.type.forEach(a=>z8.call(this,i,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===e);s>=0&&n.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let i=s.split("/").slice(1),a=e;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=Nhe(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]))}}_addSchema(e,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,C1.normalizeId)(a||n);let u=C1.getSchemaRefs.call(this,e,n);return c=new I1.SchemaEnv({schema:e,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):I1.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{I1.compileSchema.call(this,e)}finally{this.opts=r}}};T1.ValidationError=Y_t.default;T1.MissingRefError=whe.default;li.default=T1;function Che(t,e,r,n="error"){for(let s in t){let i=s;i in e&&this.logger[n](`${r}: option ${s}. ${t[i]}`)}}function The(t){return t=(0,C1.normalizeId)(t),this.schemas[t]||this.refs[t]}function iSt(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function aSt(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function oSt(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function cSt(){let t={...this.opts};for(let e of eSt)delete t[e];return t}var uSt={log(){},warn(){},error(){}};function lSt(t){if(t===!1)return uSt;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var dSt=/^[a-z_$][a-z0-9_$:-]*$/i;function fSt(t,e){let{RULES:r}=this;if((0,Y8.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!dSt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function z8(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let o={keyword:t,definition:{...e,type:(0,zR.getJSONTypes)(e.type),schemaType:(0,zR.getJSONTypes)(e.schemaType)}};e.before?pSt.call(this,a,o,e.before):a.rules.push(o),i.all[t]=o,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function pSt(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function mSt(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Nhe(e)),t.validateSchema=this.compile(e,!0))}var hSt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Nhe(t){return{anyOf:[t,hSt]}}});var Phe=E(J8=>{"use strict";Object.defineProperty(J8,"__esModule",{value:!0});var gSt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};J8.default=gSt});var Lhe=E(Nm=>{"use strict";Object.defineProperty(Nm,"__esModule",{value:!0});Nm.callRef=Nm.getValidate=void 0;var ASt=S1(),khe=Go(),Ba=Kt(),XA=dd(),Dhe=HR(),YR=Dr(),ySt={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Dhe.resolveRef.call(c,u,s,r);if(l===void 0)throw new ASt.default(n.opts.uriResolver,s,r);if(l instanceof Dhe.SchemaEnv)return f(l);return p(l);function d(){if(i===u)return JR(t,a,i,i.$async);let m=e.scopeValue("root",{ref:u});return JR(t,(0,Ba._)`${m}.validate`,u,u.$async)}function f(m){let h=Bhe(t,m);JR(t,h,m,m.$async)}function p(m){let h=e.scopeValue("schema",o.code.source===!0?{ref:m,code:(0,Ba.stringify)(m)}:{ref:m}),A=e.name("valid"),g=t.subschema({schema:m,dataTypes:[],schemaPath:Ba.nil,topSchemaRef:h,errSchemaPath:r},A);t.mergeEvaluated(g),t.ok(A)}}};function Bhe(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Ba._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Nm.getValidate=Bhe;function JR(t,e,r,n){let{gen:s,it:i}=t,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?XA.default.this:Ba.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0,Ba._)`await ${(0,khe.callValidateCode)(t,e,u)}`),p(e),a||s.assign(m,!0)},h=>{s.if((0,Ba._)`!(${h} instanceof ${i.ValidationError})`,()=>s.throw(h)),f(h),a||s.assign(m,!1)}),t.ok(m)}function d(){t.result((0,khe.callValidateCode)(t,e,u),()=>p(e),()=>f(e))}function f(m){let h=(0,Ba._)`${m}.errors`;s.assign(XA.default.vErrors,(0,Ba._)`${XA.default.vErrors} === null ? ${h} : ${XA.default.vErrors}.concat(${h})`),s.assign(XA.default.errors,(0,Ba._)`${XA.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let A=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(i.props=YR.mergeEvaluated.props(s,A.props,i.props));else{let g=s.var("props",(0,Ba._)`${m}.evaluated.props`);i.props=YR.mergeEvaluated.props(s,g,i.props,Ba.Name)}if(i.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(i.items=YR.mergeEvaluated.items(s,A.items,i.items));else{let g=s.var("items",(0,Ba._)`${m}.evaluated.items`);i.items=YR.mergeEvaluated.items(s,g,i.items,Ba.Name)}}}Nm.callRef=JR;Nm.default=ySt});var Mhe=E(X8=>{"use strict";Object.defineProperty(X8,"__esModule",{value:!0});var xSt=Phe(),bSt=Lhe(),ESt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",xSt.default,bSt.default];X8.default=ESt});var Whe=E(Z8=>{"use strict";Object.defineProperty(Z8,"__esModule",{value:!0});var XR=Kt(),xp=XR.operators,ZR={maximum:{okStr:"<=",ok:xp.LTE,fail:xp.GT},minimum:{okStr:">=",ok:xp.GTE,fail:xp.LT},exclusiveMaximum:{okStr:"<",ok:xp.LT,fail:xp.GTE},exclusiveMinimum:{okStr:">",ok:xp.GT,fail:xp.LTE}},_St={message:({keyword:t,schemaCode:e})=>(0,XR.str)`must be ${ZR[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,XR._)`{comparison: ${ZR[t].okStr}, limit: ${e}}`},SSt={keyword:Object.keys(ZR),type:"number",schemaType:"number",$data:!0,error:_St,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,XR._)`${r} ${ZR[e].fail} ${n} || isNaN(${r})`)}};Z8.default=SSt});var $he=E(eW=>{"use strict";Object.defineProperty(eW,"__esModule",{value:!0});var w1=Kt(),vSt={message:({schemaCode:t})=>(0,w1.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,w1._)`{multipleOf: ${t}}`},ISt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:vSt,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,i=s.opts.multipleOfPrecision,a=e.let("res"),o=i?(0,w1._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,w1._)`${a} !== parseInt(${a})`;t.fail$data((0,w1._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};eW.default=ISt});var Uhe=E(tW=>{"use strict";Object.defineProperty(tW,"__esModule",{value:!0});function Fhe(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}tW.default=Fhe;Fhe.code='require("ajv/dist/runtime/ucs2length").default'});var qhe=E(rW=>{"use strict";Object.defineProperty(rW,"__esModule",{value:!0});var Om=Kt(),CSt=Dr(),TSt=Uhe(),wSt={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Om.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Om._)`{limit: ${t}}`},RSt={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:wSt,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,i=e==="maxLength"?Om.operators.GT:Om.operators.LT,a=s.opts.unicode===!1?(0,Om._)`${r}.length`:(0,Om._)`${(0,CSt.useFunc)(t.gen,TSt.default)}(${r})`;t.fail$data((0,Om._)`${a} ${i} ${n}`)}};rW.default=RSt});var jhe=E(nW=>{"use strict";Object.defineProperty(nW,"__esModule",{value:!0});var NSt=Go(),eN=Kt(),OSt={message:({schemaCode:t})=>(0,eN.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,eN._)`{pattern: ${t}}`},PSt={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:OSt,code(t){let{data:e,$data:r,schema:n,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"",o=r?(0,eN._)`(new RegExp(${s}, ${a}))`:(0,NSt.usePattern)(t,n);t.fail$data((0,eN._)`!${o}.test(${e})`)}};nW.default=PSt});var Hhe=E(sW=>{"use strict";Object.defineProperty(sW,"__esModule",{value:!0});var R1=Kt(),kSt={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,R1.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,R1._)`{limit: ${t}}`},DSt={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:kSt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?R1.operators.GT:R1.operators.LT;t.fail$data((0,R1._)`Object.keys(${r}).length ${s} ${n}`)}};sW.default=DSt});var Qhe=E(iW=>{"use strict";Object.defineProperty(iW,"__esModule",{value:!0});var N1=Go(),O1=Kt(),BSt=Dr(),LSt={message:({params:{missingProperty:t}})=>(0,O1.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,O1._)`{missingProperty: ${t}}`},MSt={keyword:"required",type:"object",schemaType:"array",$data:!0,error:LSt,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:i,it:a}=t,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let p=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let A=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${A}" (strictRequired)`;(0,BSt.checkStrictMode)(a,g,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(O1.nil,d);else for(let p of r)(0,N1.checkReportMissingProp)(t,p)}function l(){let p=e.let("missing");if(c||i){let m=e.let("valid",!0);t.block$data(m,()=>f(p,m)),t.ok(m)}else e.if((0,N1.checkMissingProp)(t,r,p)),(0,N1.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,N1.noPropertyInData)(e,s,p,o.ownProperties),()=>t.error())})}function f(p,m){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(m,(0,N1.propertyInData)(e,s,p,o.ownProperties)),e.if((0,O1.not)(m),()=>{t.error(),e.break()})},O1.nil)}}};iW.default=MSt});var Ghe=E(aW=>{"use strict";Object.defineProperty(aW,"__esModule",{value:!0});var P1=Kt(),WSt={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,P1.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,P1._)`{limit: ${t}}`},$St={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:WSt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?P1.operators.GT:P1.operators.LT;t.fail$data((0,P1._)`${r}.length ${s} ${n}`)}};aW.default=$St});var k1=E(oW=>{"use strict";Object.defineProperty(oW,"__esModule",{value:!0});var Khe=Ko();Khe.code='require("ajv/dist/runtime/equal").default';oW.default=Khe});var Vhe=E(uW=>{"use strict";Object.defineProperty(uW,"__esModule",{value:!0});var cW=y1(),di=Kt(),FSt=Dr(),USt=k1(),qSt={message:({params:{i:t,j:e}})=>(0,di.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,di._)`{i: ${t}, j: ${e}}`},jSt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:qSt,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=t;if(!n&&!s)return;let c=e.let("valid"),u=i.items?(0,cW.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,di._)`${a} === false`),t.ok(c);function l(){let m=e.let("i",(0,di._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,di._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function f(m,h){let A=e.name("item"),g=(0,cW.checkDataTypes)(u,A,o.opts.strictNumbers,cW.DataType.Wrong),b=e.const("indices",(0,di._)`{}`);e.for((0,di._)`;${m}--;`,()=>{e.let(A,(0,di._)`${r}[${m}]`),e.if(g,(0,di._)`continue`),u.length>1&&e.if((0,di._)`typeof ${A} == "string"`,(0,di._)`${A} += "_"`),e.if((0,di._)`typeof ${b}[${A}] == "number"`,()=>{e.assign(h,(0,di._)`${b}[${A}]`),t.error(),e.assign(c,!1).break()}).code((0,di._)`${b}[${A}] = ${m}`)})}function p(m,h){let A=(0,FSt.useFunc)(e,USt.default),g=e.name("outer");e.label(g).for((0,di._)`;${m}--;`,()=>e.for((0,di._)`${h} = ${m}; ${h}--;`,()=>e.if((0,di._)`${A}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(g)})))}}};uW.default=jSt});var zhe=E(dW=>{"use strict";Object.defineProperty(dW,"__esModule",{value:!0});var lW=Kt(),HSt=Dr(),QSt=k1(),GSt={message:"must be equal to constant",params:({schemaCode:t})=>(0,lW._)`{allowedValue: ${t}}`},KSt={keyword:"const",$data:!0,error:GSt,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,lW._)`!${(0,HSt.useFunc)(e,QSt.default)}(${r}, ${s})`):t.fail((0,lW._)`${i} !== ${r}`)}};dW.default=KSt});var Yhe=E(fW=>{"use strict";Object.defineProperty(fW,"__esModule",{value:!0});var D1=Kt(),VSt=Dr(),zSt=k1(),YSt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,D1._)`{allowedValues: ${t}}`},JSt={keyword:"enum",schemaType:"array",$data:!0,error:YSt,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:i,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,VSt.useFunc)(e,zSt.default)),l;if(o||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);l=(0,D1.or)(...s.map((m,h)=>f(p,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,p=>e.if((0,D1._)`${u()}(${r}, ${p})`,()=>e.assign(l,!0).break()))}function f(p,m){let h=s[m];return typeof h=="object"&&h!==null?(0,D1._)`${u()}(${r}, ${p}[${m}])`:(0,D1._)`${r} === ${h}`}}};fW.default=JSt});var Jhe=E(pW=>{"use strict";Object.defineProperty(pW,"__esModule",{value:!0});var XSt=Whe(),ZSt=$he(),evt=qhe(),tvt=jhe(),rvt=Hhe(),nvt=Qhe(),svt=Ghe(),ivt=Vhe(),avt=zhe(),ovt=Yhe(),cvt=[XSt.default,ZSt.default,evt.default,tvt.default,rvt.default,nvt.default,svt.default,ivt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},avt.default,ovt.default];pW.default=cvt});var hW=E(B1=>{"use strict";Object.defineProperty(B1,"__esModule",{value:!0});B1.validateAdditionalItems=void 0;var Pm=Kt(),mW=Dr(),uvt={message:({params:{len:t}})=>(0,Pm.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Pm._)`{limit: ${t}}`},lvt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:uvt,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,mW.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Xhe(t,n)}};function Xhe(t,e){let{gen:r,schema:n,data:s,keyword:i,it:a}=t;a.items=!0;let o=r.const("len",(0,Pm._)`${s}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Pm._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,mW.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,Pm._)`${o} <= ${e.length}`);r.if((0,Pm.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,o,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:mW.Type.Num},u),a.allErrors||r.if((0,Pm.not)(u),()=>r.break())})}}B1.validateAdditionalItems=Xhe;B1.default=lvt});var gW=E(L1=>{"use strict";Object.defineProperty(L1,"__esModule",{value:!0});L1.validateTuple=void 0;var Zhe=Kt(),tN=Dr(),dvt=Go(),fvt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return ege(t,"additionalItems",e);r.items=!0,!(0,tN.alwaysValidSchema)(r,e)&&t.ok((0,dvt.validateArray)(t))}};function ege(t,e,r=t.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=t;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=tN.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,Zhe._)`${i}.length`);r.forEach((d,f)=>{(0,tN.alwaysValidSchema)(o,d)||(n.if((0,Zhe._)`${u} > ${f}`,()=>t.subschema({keyword:a,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:p}=o,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let A=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,tN.checkStrictMode)(o,A,f.strictTuples)}}}L1.validateTuple=ege;L1.default=fvt});var tge=E(AW=>{"use strict";Object.defineProperty(AW,"__esModule",{value:!0});var pvt=gW(),mvt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,pvt.validateTuple)(t,"items")};AW.default=mvt});var nge=E(yW=>{"use strict";Object.defineProperty(yW,"__esModule",{value:!0});var rge=Kt(),hvt=Dr(),gvt=Go(),Avt=hW(),yvt={message:({params:{len:t}})=>(0,rge.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,rge._)`{limit: ${t}}`},xvt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:yvt,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=!0,!(0,hvt.alwaysValidSchema)(n,e)&&(s?(0,Avt.validateAdditionalItems)(t,s):t.ok((0,gvt.validateArray)(t)))}};yW.default=xvt});var sge=E(xW=>{"use strict";Object.defineProperty(xW,"__esModule",{value:!0});var zo=Kt(),rN=Dr(),bvt={message:({params:{min:t,max:e}})=>e===void 0?(0,zo.str)`must contain at least ${t} valid item(s)`:(0,zo.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,zo._)`{minContains: ${t}}`:(0,zo._)`{minContains: ${t}, maxContains: ${e}}`},Evt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:bvt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=e.const("len",(0,zo._)`${s}.length`);if(t.setParams({min:a,max:o}),o===void 0&&a===0){(0,rN.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,rN.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,rN.alwaysValidSchema)(i,r)){let h=(0,zo._)`${l} >= ${a}`;o!==void 0&&(h=(0,zo._)`${h} && ${l} <= ${o}`),t.pass(h);return}i.items=!0;let d=e.name("valid");o===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),o!==void 0&&e.if((0,zo._)`${s}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),A=e.let("count",0);p(h,()=>e.if(h,()=>m(A)))}function p(h,A){e.forRange("i",0,l,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:rN.Type.Num,compositeRule:!0},h),A()})}function m(h){e.code((0,zo._)`${h}++`),o===void 0?e.if((0,zo._)`${h} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,zo._)`${h} > ${o}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,zo._)`${h} >= ${a}`,()=>e.assign(d,!0)))}}};xW.default=Evt});var oge=E(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.validateSchemaDeps=ju.validatePropertyDeps=ju.error=void 0;var bW=Kt(),_vt=Dr(),M1=Go();ju.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,bW.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,bW._)`{property: ${t},
|
|
missingProperty: ${n},
|
|
depsCount: ${e},
|
|
deps: ${r}}`};var Svt={keyword:"dependencies",type:"object",schemaType:"object",error:ju.error,code(t){let[e,r]=vvt(t);ige(t,e),age(t,r)}};function vvt({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n]}return[e,r]}function ige(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let c=(0,M1.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,M1.checkReportMissingProp)(t,u)}):(r.if((0,bW._)`${c} && (${(0,M1.checkMissingProp)(t,o,i)})`),(0,M1.reportMissingProp)(t,i),r.else())}}ju.validatePropertyDeps=ige;function age(t,e=t.schema){let{gen:r,data:n,keyword:s,it:i}=t,a=r.name("valid");for(let o in e)(0,_vt.alwaysValidSchema)(i,e[o])||(r.if((0,M1.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:o},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}ju.validateSchemaDeps=age;ju.default=Svt});var uge=E(EW=>{"use strict";Object.defineProperty(EW,"__esModule",{value:!0});var cge=Kt(),Ivt=Dr(),Cvt={message:"property name must be valid",params:({params:t})=>(0,cge._)`{propertyName: ${t.propertyName}}`},Tvt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Cvt,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0,Ivt.alwaysValidSchema)(s,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,cge.not)(i),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(i)}};EW.default=Tvt});var SW=E(_W=>{"use strict";Object.defineProperty(_W,"__esModule",{value:!0});var nN=Go(),jc=Kt(),wvt=dd(),sN=Dr(),Rvt={message:"must NOT have additional properties",params:({params:t})=>(0,jc._)`{additionalProperty: ${t.additionalProperty}}`},Nvt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Rvt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,sN.alwaysValidSchema)(a,r))return;let u=(0,nN.allSchemaProperties)(n.properties),l=(0,nN.allSchemaProperties)(n.patternProperties);d(),t.ok((0,jc._)`${i} === ${wvt.default.errors}`);function d(){e.forIn("key",s,A=>{!u.length&&!l.length?m(A):e.if(f(A),()=>m(A))})}function f(A){let g;if(u.length>8){let b=(0,sN.schemaRefOrVal)(a,n.properties,"properties");g=(0,nN.isOwnProperty)(e,b,A)}else u.length?g=(0,jc.or)(...u.map(b=>(0,jc._)`${A} === ${b}`)):g=jc.nil;return l.length&&(g=(0,jc.or)(g,...l.map(b=>(0,jc._)`${(0,nN.usePattern)(t,b)}.test(${A})`))),(0,jc.not)(g)}function p(A){e.code((0,jc._)`delete ${s}[${A}]`)}function m(A){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(A);return}if(r===!1){t.setParams({additionalProperty:A}),t.error(),o||e.break();return}if(typeof r=="object"&&!(0,sN.alwaysValidSchema)(a,r)){let g=e.name("valid");c.removeAdditional==="failing"?(h(A,g,!1),e.if((0,jc.not)(g),()=>{t.reset(),p(A)})):(h(A,g),o||e.if((0,jc.not)(g),()=>e.break()))}}function h(A,g,b){let y={keyword:"additionalProperties",dataProp:A,dataPropType:sN.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(y,g)}}};_W.default=Nvt});var fge=E(IW=>{"use strict";Object.defineProperty(IW,"__esModule",{value:!0});var Ovt=_1(),lge=Go(),vW=Dr(),dge=SW(),Pvt={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&dge.default.code(new Ovt.KeywordCxt(i,dge.default,"additionalProperties"));let a=(0,lge.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=vW.mergeEvaluated.props(e,(0,vW.toHash)(a),i.props));let o=a.filter(d=>!(0,vW.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=e.name("valid");for(let d of o)u(d)?l(d):(e.if((0,lge.propertyInData)(e,s,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};IW.default=Pvt});var gge=E(CW=>{"use strict";Object.defineProperty(CW,"__esModule",{value:!0});var pge=Go(),iN=Kt(),mge=Dr(),hge=Dr(),kvt={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:i}=t,{opts:a}=i,o=(0,pge.allSchemaProperties)(r),c=o.filter(h=>(0,mge.alwaysValidSchema)(i,r[h]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof iN.Name)&&(i.props=(0,hge.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let h of o)u&&p(h),i.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function p(h){for(let A in u)new RegExp(h).test(A)&&(0,mge.checkStrictMode)(i,`property ${A} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,A=>{e.if((0,iN._)`${(0,pge.usePattern)(t,h)}.test(${A})`,()=>{let g=c.includes(h);g||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:A,dataPropType:hge.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,iN._)`${d}[${A}]`,!0):!g&&!i.allErrors&&e.if((0,iN.not)(l),()=>e.break())})})}}};CW.default=kvt});var Age=E(TW=>{"use strict";Object.defineProperty(TW,"__esModule",{value:!0});var Dvt=Dr(),Bvt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Dvt.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};TW.default=Bvt});var yge=E(wW=>{"use strict";Object.defineProperty(wW,"__esModule",{value:!0});var Lvt=Go(),Mvt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Lvt.validateUnion,error:{message:"must match a schema in anyOf"}};wW.default=Mvt});var xge=E(RW=>{"use strict";Object.defineProperty(RW,"__esModule",{value:!0});var aN=Kt(),Wvt=Dr(),$vt={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,aN._)`{passingSchemas: ${t.passing}}`},Fvt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:$vt,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),o=e.let("passing",null),c=e.name("_valid");t.setParams({passing:o}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,Wvt.alwaysValidSchema)(s,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,aN._)`${c} && ${a}`).assign(a,!1).assign(o,(0,aN._)`[${o}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(o,d),f&&t.mergeEvaluated(f,aN.Name)})})}}};RW.default=Fvt});var bge=E(NW=>{"use strict";Object.defineProperty(NW,"__esModule",{value:!0});var Uvt=Dr(),qvt={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((i,a)=>{if((0,Uvt.alwaysValidSchema)(n,i))return;let o=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(o)})}};NW.default=qvt});var Sge=E(OW=>{"use strict";Object.defineProperty(OW,"__esModule",{value:!0});var oN=Kt(),_ge=Dr(),jvt={message:({params:t})=>(0,oN.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,oN._)`{failingKeyword: ${t.ifClause}}`},Hvt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:jvt,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,_ge.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=Ege(n,"then"),i=Ege(n,"else");if(!s&&!i)return;let a=e.let("valid",!0),o=e.name("_valid");if(c(),t.reset(),s&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(o,u("then",l),u("else",l))}else s?e.if(o,u("then")):e.if((0,oN.not)(o),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},o);e.assign(a,o),t.mergeValidEvaluated(f,a),d?e.assign(d,(0,oN._)`${l}`):t.setParams({ifClause:l})}}}};function Ege(t,e){let r=t.schema[e];return r!==void 0&&!(0,_ge.alwaysValidSchema)(t,r)}OW.default=Hvt});var vge=E(PW=>{"use strict";Object.defineProperty(PW,"__esModule",{value:!0});var Qvt=Dr(),Gvt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,Qvt.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};PW.default=Gvt});var Ige=E(kW=>{"use strict";Object.defineProperty(kW,"__esModule",{value:!0});var Kvt=hW(),Vvt=tge(),zvt=gW(),Yvt=nge(),Jvt=sge(),Xvt=oge(),Zvt=uge(),eIt=SW(),tIt=fge(),rIt=gge(),nIt=Age(),sIt=yge(),iIt=xge(),aIt=bge(),oIt=Sge(),cIt=vge();function uIt(t=!1){let e=[nIt.default,sIt.default,iIt.default,aIt.default,oIt.default,cIt.default,Zvt.default,eIt.default,Xvt.default,tIt.default,rIt.default];return t?e.push(Vvt.default,Yvt.default):e.push(Kvt.default,zvt.default),e.push(Jvt.default),e}kW.default=uIt});var Cge=E(DW=>{"use strict";Object.defineProperty(DW,"__esModule",{value:!0});var cs=Kt(),lIt={message:({schemaCode:t})=>(0,cs.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,cs._)`{format: ${t}}`},dIt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:lIt,code(t,e){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,cs._)`${m}[${a}]`),A=r.let("fType"),g=r.let("format");r.if((0,cs._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(A,(0,cs._)`${h}.type || "string"`).assign(g,(0,cs._)`${h}.validate`),()=>r.assign(A,(0,cs._)`"string"`).assign(g,h)),t.fail$data((0,cs.or)(b(),y()));function b(){return c.strictSchema===!1?cs.nil:(0,cs._)`${a} && !${g}`}function y(){let x=l.$async?(0,cs._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,cs._)`${g}(${n})`,v=(0,cs._)`(typeof ${g} == "function" ? ${x} : ${g}.test(${n}))`;return(0,cs._)`${g} && ${g} !== true && ${A} === ${e} && !${v}`}}function p(){let m=d.formats[i];if(!m){b();return}if(m===!0)return;let[h,A,g]=y(m);h===e&&t.pass(x());function b(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function y(v){let I=v instanceof RegExp?(0,cs.regexpCode)(v):c.code.formats?(0,cs._)`${c.code.formats}${(0,cs.getProperty)(i)}`:void 0,R=r.scopeValue("formats",{key:i,ref:v,code:I});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,cs._)`${R}.validate`]:["string",v,R]}function x(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,cs._)`await ${g}(${n})`}return typeof A=="function"?(0,cs._)`${g}(${n})`:(0,cs._)`${g}.test(${n})`}}}};DW.default=dIt});var Tge=E(BW=>{"use strict";Object.defineProperty(BW,"__esModule",{value:!0});var fIt=Cge(),pIt=[fIt.default];BW.default=pIt});var wge=E(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});ZA.contentVocabulary=ZA.metadataVocabulary=void 0;ZA.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ZA.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Nge=E(LW=>{"use strict";Object.defineProperty(LW,"__esModule",{value:!0});var mIt=Mhe(),hIt=Jhe(),gIt=Ige(),AIt=Tge(),Rge=wge(),yIt=[mIt.default,hIt.default,(0,gIt.default)(),AIt.default,Rge.metadataVocabulary,Rge.contentVocabulary];LW.default=yIt});var Pge=E(cN=>{"use strict";Object.defineProperty(cN,"__esModule",{value:!0});cN.DiscrError=void 0;var Oge;(function(t){t.Tag="tag",t.Mapping="mapping"})(Oge||(cN.DiscrError=Oge={}))});var Dge=E(WW=>{"use strict";Object.defineProperty(WW,"__esModule",{value:!0});var ey=Kt(),MW=Pge(),kge=HR(),xIt=S1(),bIt=Dr(),EIt={message:({params:{discrError:t,tagName:e}})=>t===MW.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,ey._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},_It={keyword:"discriminator",type:"object",schemaType:"object",error:EIt,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,ey._)`${r}${(0,ey.getProperty)(o)}`);e.if((0,ey._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:MW.DiscrError.Tag,tag:u,tagName:o})),t.ok(c);function l(){let p=f();e.if(!1);for(let m in p)e.elseIf((0,ey._)`${u} === ${m}`),e.assign(c,d(p[m]));e.else(),t.error(!1,{discrError:MW.DiscrError.Mapping,tag:u,tagName:o}),e.endIf()}function d(p){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},m);return t.mergeEvaluated(h,ey.Name),m}function f(){var p;let m={},h=g(s),A=!0;for(let x=0;x<a.length;x++){let v=a[x];if(v?.$ref&&!(0,bIt.schemaHasRulesButRef)(v,i.self.RULES)){let R=v.$ref;if(v=kge.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,R),v instanceof kge.SchemaEnv&&(v=v.schema),v===void 0)throw new xIt.default(i.opts.uriResolver,i.baseId,R)}let I=(p=v?.properties)===null||p===void 0?void 0:p[o];if(typeof I!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);A=A&&(h||g(v)),b(I,x)}if(!A)throw new Error(`discriminator: "${o}" must be required`);return m;function g({required:x}){return Array.isArray(x)&&x.includes(o)}function b(x,v){if(x.const)y(x.const,v);else if(x.enum)for(let I of x.enum)y(I,v);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function y(x,v){if(typeof x!="string"||x in m)throw new Error(`discriminator: "${o}" values must be unique strings`);m[x]=v}}}};WW.default=_It});var Bge=E((Pkr,SIt)=>{SIt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var FW=E((Nn,$W)=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.MissingRefError=Nn.ValidationError=Nn.CodeGen=Nn.Name=Nn.nil=Nn.stringify=Nn.str=Nn._=Nn.KeywordCxt=Nn.Ajv=void 0;var vIt=Ohe(),IIt=Nge(),CIt=Dge(),Lge=Bge(),TIt=["/properties"],uN="http://json-schema.org/draft-07/schema",ty=class extends vIt.default{_addVocabularies(){super._addVocabularies(),IIt.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(CIt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Lge,TIt):Lge;this.addMetaSchema(e,uN,!1),this.refs["http://json-schema.org/schema"]=uN}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(uN)?uN:void 0)}};Nn.Ajv=ty;$W.exports=Nn=ty;$W.exports.Ajv=ty;Object.defineProperty(Nn,"__esModule",{value:!0});Nn.default=ty;var wIt=_1();Object.defineProperty(Nn,"KeywordCxt",{enumerable:!0,get:function(){return wIt.KeywordCxt}});var ry=Kt();Object.defineProperty(Nn,"_",{enumerable:!0,get:function(){return ry._}});Object.defineProperty(Nn,"str",{enumerable:!0,get:function(){return ry.str}});Object.defineProperty(Nn,"stringify",{enumerable:!0,get:function(){return ry.stringify}});Object.defineProperty(Nn,"nil",{enumerable:!0,get:function(){return ry.nil}});Object.defineProperty(Nn,"Name",{enumerable:!0,get:function(){return ry.Name}});Object.defineProperty(Nn,"CodeGen",{enumerable:!0,get:function(){return ry.CodeGen}});var RIt=qR();Object.defineProperty(Nn,"ValidationError",{enumerable:!0,get:function(){return RIt.default}});var NIt=S1();Object.defineProperty(Nn,"MissingRefError",{enumerable:!0,get:function(){return NIt.default}})});var Wge=E((kkr,Mge)=>{"use strict";var OIt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Mge.exports={HEX:OIt}});var Gge=E((Dkr,Qge)=>{"use strict";var{HEX:PIt}=Wge();function qge(t){if(Hge(t,".")<3)return{host:t,isIPV4:!1};let e=t.match(/^(\b[01]?\d{1,2}|\b2[0-4]\d|\b25[0-5])(\.([01]?\d{1,2}|2[0-4]\d|25[0-5])){3}$/u)||[],[r]=e;return r?{host:DIt(r,"."),isIPV4:!0}:{host:t,isIPV4:!1}}function UW(t){let e="",r=!0;for(let n of t){if(n!=="0"&&r===!0&&(r=!1),PIt[n]===void 0)return;r||(e+=n)}return e}function kIt(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=!1;function c(){if(s.length){if(i===!1){let u=UW(s.join(""));if(u!==void 0)n.push(u);else return r.error=!0,!1}s.length=0}return!0}for(let u=0;u<t.length;u++){let l=t[u];if(!(l==="["||l==="]"))if(l===":"){if(a===!0&&(o=!0),!c())break;if(e++,n.push(":"),e>7){r.error=!0;break}u-1>=0&&t[u-1]===":"&&(a=!0);continue}else if(l==="%"){if(!c())break;i=!0}else{s.push(l);continue}}return s.length&&(i?r.zone=s.join(""):o?n.push(s.join("")):n.push(UW(s.join("")))),r.address=n.join(""),r}function jge(t,e={}){if(Hge(t,":")<2)return{host:t,isIPV6:!1};let r=kIt(t);if(r.error)return{host:t,isIPV6:!1};{let n=r.address,s=r.address;return r.zone&&(n+="%"+r.zone,s+="%25"+r.zone),{host:n,escapedHost:s,isIPV6:!0}}}function DIt(t,e){let r="",n=!0,s=t.length;for(let i=0;i<s;i++){let a=t[i];a==="0"&&n?(i+1<=s&&t[i+1]===e||i+1===s)&&(r+=a,n=!1):(a===e?n=!0:n=!1,r+=a)}return r}function Hge(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}var $ge=/^\.\.?\//u,Fge=/^\/\.(?:\/|$)/u,Uge=/^\/\.\.(?:\/|$)/u,BIt=/^\/?(?:.|\n)*?(?=\/|$)/u;function LIt(t){let e=[];for(;t.length;)if(t.match($ge))t=t.replace($ge,"");else if(t.match(Fge))t=t.replace(Fge,"/");else if(t.match(Uge))t=t.replace(Uge,"/"),e.pop();else if(t==="."||t==="..")t="";else{let r=t.match(BIt);if(r){let n=r[0];t=t.slice(n.length),e.push(n)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function MIt(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function WIt(t,e){let r=[];if(t.userinfo!==void 0&&(r.push(t.userinfo),r.push("@")),t.host!==void 0){let n=unescape(t.host),s=qge(n);if(s.isIPV4)n=s.host;else{let i=jge(s.host,{isIPV4:!1});i.isIPV6===!0?n=`[${i.escapedHost}]`:n=t.host}r.push(n)}return(typeof t.port=="number"||typeof t.port=="string")&&(r.push(":"),r.push(String(t.port))),r.length?r.join(""):void 0}Qge.exports={recomposeAuthority:WIt,normalizeComponentEncoding:MIt,removeDotSegments:LIt,normalizeIPv4:qge,normalizeIPv6:jge,stringToHexStripped:UW}});var Xge=E((Bkr,Jge)=>{"use strict";var $It=/^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu,FIt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function Kge(t){return typeof t.secure=="boolean"?t.secure:String(t.scheme).toLowerCase()==="wss"}function Vge(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function zge(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function UIt(t){return t.secure=Kge(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function qIt(t){if((t.port===(Kge(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function jIt(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(FIt);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=qW[s];t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function HIt(t,e){let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=qW[s];i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function QIt(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!$It.test(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function GIt(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Yge={scheme:"http",domainHost:!0,parse:Vge,serialize:zge},KIt={scheme:"https",domainHost:Yge.domainHost,parse:Vge,serialize:zge},lN={scheme:"ws",domainHost:!0,parse:UIt,serialize:qIt},VIt={scheme:"wss",domainHost:lN.domainHost,parse:lN.parse,serialize:lN.serialize},zIt={scheme:"urn",parse:jIt,serialize:HIt,skipNormalize:!0},YIt={scheme:"urn:uuid",parse:QIt,serialize:GIt,skipNormalize:!0},qW={http:Yge,https:KIt,ws:lN,wss:VIt,urn:zIt,"urn:uuid":YIt};Jge.exports=qW});var HW=E((Lkr,fN)=>{"use strict";var{normalizeIPv6:JIt,normalizeIPv4:XIt,removeDotSegments:W1,recomposeAuthority:ZIt,normalizeComponentEncoding:dN}=Gge(),Zge=Xge();function eCt(t,e){return typeof t=="string"?t=Hu(md(t,e),e):typeof t=="object"&&(t=md(Hu(t,e),e)),t}function tCt(t,e,r){let n=Object.assign({scheme:"null"},r),s=eAe(md(t,n),md(e,n),n,!0);return Hu(s,{...n,skipEscape:!0})}function eAe(t,e,r,n){let s={};return n||(t=md(Hu(t,r),r),e=md(Hu(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=W1(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=W1(e.path||""),s.query=e.query):(e.path?(e.path.charAt(0)==="/"?s.path=W1(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=W1(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function rCt(t,e,r){return typeof t=="string"?(t=unescape(t),t=Hu(dN(md(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Hu(dN(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Hu(dN(md(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Hu(dN(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Hu(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=Zge[(n.scheme||r.scheme||"").toLowerCase()];i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&(s.push(r.scheme),s.push(":"));let a=ZIt(r,n);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path.charAt(0)!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=W1(o)),a===void 0&&(o=o.replace(/^\/\//u,"/%2F")),s.push(o)}return r.query!==void 0&&(s.push("?"),s.push(r.query)),r.fragment!==void 0&&(s.push("#"),s.push(r.fragment)),s.join("")}var nCt=Array.from({length:127},(t,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function sCt(t){let e=0;for(let r=0,n=t.length;r<n;++r)if(e=t.charCodeAt(r),e>126||nCt[e])return!0;return!1}var iCt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function md(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=t.indexOf("%")!==-1;r.reference==="suffix"&&(t=(r.scheme?r.scheme+":":"")+"//"+t);let i=t.match(iCt);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host){let o=XIt(n.host);o.isIPV4===!1?n.host=JIt(o.host,{isIPV4:!1}).host.toLowerCase():n.host=o.host}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=Zge[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&sCt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(s&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),s&&n.userinfo!==void 0&&(n.userinfo=unescape(n.userinfo)),s&&n.host!==void 0&&(n.host=unescape(n.host)),n.path!==void 0&&n.path.length&&(n.path=escape(unescape(n.path))),n.fragment!==void 0&&n.fragment.length&&(n.fragment=encodeURI(decodeURI(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var jW={normalize:eCt,resolve:tCt,resolveComponents:eAe,equal:rCt,serialize:Hu,parse:md};fN.exports=jW;fN.exports.default=jW;fN.exports.fastUri=jW});var pN=E(Gu=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});Gu.formatNames=Gu.fastFormats=Gu.fullFormats=void 0;function Qu(t,e){return{validate:t,compare:e}}Gu.fullFormats={date:Qu(sAe,VW),time:Qu(GW(!0),zW),"date-time":Qu(tAe(!0),aAe),"iso-time":Qu(GW(),iAe),"iso-date-time":Qu(tAe(),oAe),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:dCt,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:yCt,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:fCt,int32:{type:"number",validate:hCt},int64:{type:"number",validate:gCt},float:{type:"number",validate:nAe},double:{type:"number",validate:nAe},password:!0,binary:!0};Gu.fastFormats={...Gu.fullFormats,date:Qu(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,VW),time:Qu(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,zW),"date-time":Qu(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,aAe),"iso-time":Qu(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,iAe),"iso-date-time":Qu(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,oAe),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Gu.formatNames=Object.keys(Gu.fullFormats);function aCt(t){return t%4===0&&(t%100!==0||t%400===0)}var oCt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,cCt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function sAe(t){let e=oCt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3];return n>=1&&n<=12&&s>=1&&s<=(n===2&&aCt(r)?29:cCt[n])}function VW(t,e){if(t&&e)return t>e?1:t<e?-1:0}var QW=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function GW(t){return function(r){let n=QW.exec(r);if(!n)return!1;let s=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!o)return!1;if(s<=23&&i<=59&&a<60)return!0;let d=i-l*c,f=s-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function zW(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function iAe(t,e){if(!(t&&e))return;let r=QW.exec(t),n=QW.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var KW=/t|\s/i;function tAe(t){let e=GW(t);return function(n){let s=n.split(KW);return s.length===2&&sAe(s[0])&&e(s[1])}}function aAe(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function oAe(t,e){if(!(t&&e))return;let[r,n]=t.split(KW),[s,i]=e.split(KW),a=VW(r,s);if(a!==void 0)return a||zW(n,i)}var uCt=/\/|:/,lCt=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function dCt(t){return uCt.test(t)&&lCt.test(t)}var rAe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function fCt(t){return rAe.lastIndex=0,rAe.test(t)}var pCt=-(2**31),mCt=2**31-1;function hCt(t){return Number.isInteger(t)&&t<=mCt&&t>=pCt}function gCt(t){return Number.isInteger(t)}function nAe(){return!0}var ACt=/[^\\]\\Z/;function yCt(t){if(ACt.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var cAe=E(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.formatLimitDefinition=void 0;var xCt=FW(),Hc=Kt(),bp=Hc.operators,mN={formatMaximum:{okStr:"<=",ok:bp.LTE,fail:bp.GT},formatMinimum:{okStr:">=",ok:bp.GTE,fail:bp.LT},formatExclusiveMaximum:{okStr:"<",ok:bp.LT,fail:bp.GTE},formatExclusiveMinimum:{okStr:">",ok:bp.GT,fail:bp.LTE}},bCt={message:({keyword:t,schemaCode:e})=>(0,Hc.str)`should be ${mN[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Hc._)`{comparison: ${mN[t].okStr}, limit: ${e}}`};ny.formatLimitDefinition={keyword:Object.keys(mN),type:"string",schemaType:"string",$data:!0,error:bCt,code(t){let{gen:e,data:r,schemaCode:n,keyword:s,it:i}=t,{opts:a,self:o}=i;if(!a.validateFormats)return;let c=new xCt.KeywordCxt(i,o.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:o.formats,code:a.code.formats}),p=e.const("fmt",(0,Hc._)`${f}[${c.schemaCode}]`);t.fail$data((0,Hc.or)((0,Hc._)`typeof ${p} != "object"`,(0,Hc._)`${p} instanceof RegExp`,(0,Hc._)`typeof ${p}.compare != "function"`,d(p)))}function l(){let f=c.schema,p=o.formats[f];if(!p||p===!0)return;if(typeof p!="object"||p instanceof RegExp||typeof p.compare!="function")throw new Error(`"${s}": format "${f}" does not define "compare" function`);let m=e.scopeValue("formats",{key:f,ref:p,code:a.code.formats?(0,Hc._)`${a.code.formats}${(0,Hc.getProperty)(f)}`:void 0});t.fail$data(d(m))}function d(f){return(0,Hc._)`${f}.compare(${r}, ${n}) ${mN[s].fail} 0`}},dependencies:["format"]};var ECt=t=>(t.addKeyword(ny.formatLimitDefinition),t);ny.default=ECt});var fAe=E(($1,dAe)=>{"use strict";Object.defineProperty($1,"__esModule",{value:!0});var sy=pN(),_Ct=cAe(),YW=Kt(),uAe=new YW.Name("fullFormats"),SCt=new YW.Name("fastFormats"),JW=(t,e={keywords:!0})=>{if(Array.isArray(e))return lAe(t,e,sy.fullFormats,uAe),t;let[r,n]=e.mode==="fast"?[sy.fastFormats,SCt]:[sy.fullFormats,uAe],s=e.formats||sy.formatNames;return lAe(t,s,r,n),e.keywords&&(0,_Ct.default)(t),t};JW.get=(t,e="full")=>{let n=(e==="fast"?sy.fastFormats:sy.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function lAe(t,e,r,n){var s,i;(s=(i=t.opts.code).formats)!==null&&s!==void 0||(i.formats=(0,YW._)`require("ajv-formats/dist/formats").${n}`);for(let a of e)t.addFormat(a,r[a])}dAe.exports=$1=JW;Object.defineProperty($1,"__esModule",{value:!0});$1.default=JW});var ZW=E(($kr,pAe)=>{"use strict";var vCt=FW(),ICt=HW(),CCt=fAe(),TCt=wR()({proto:!0}),XW=class t{constructor(e){this.ajv=new vCt({...e,strictSchema:!1,validateSchema:!1,allowUnionTypes:!0,uriResolver:ICt}),CCt(this.ajv),this.ajv.addKeyword({keyword:"fjs_type",type:"object",errors:!1,validate:(r,n)=>n instanceof Date}),this._ajvSchemas={},this._ajvOptions=e||{}}addSchema(e,r){let n=e.$id||r;if(e.$id!==void 0&&e.$id[0]==="#"&&(n=r+e.$id),this.ajv.refs[n]===void 0&&this.ajv.schemas[n]===void 0){let s=TCt(e);this.convertSchemaToAjvFormat(s),this.ajv.addSchema(s,n),this._ajvSchemas[n]=e}}validate(e,r){return this.ajv.validate(e,r)}convertSchemaToAjvFormat(e){if(e!==null){e.type==="string"?(e.fjs_type="string",e.type=["string","object"]):Array.isArray(e.type)&&e.type.includes("string")&&!e.type.includes("object")&&(e.fjs_type="string",e.type.push("object"));for(let r in e)typeof e[r]=="object"&&this.convertSchemaToAjvFormat(e[r])}}getState(){return{ajvOptions:this._ajvOptions,ajvSchemas:this._ajvSchemas}}static restoreFromState(e){let r=new t(e.ajvOptions);for(let[n,s]of Object.entries(e.ajvSchemas))r.ajv.addSchema(s,n);return r}};pAe.exports=XW});var t$=E((Fkr,e$)=>{"use strict";function wCt(t,e,r,n){let s="";e.validatorSchemasIds.size>0?(s+=`const Validator = require('fast-json-stringify/lib/validator')
|
|
`,s+=`const validatorState = ${JSON.stringify(n.getState())}
|
|
`,s+=`const validator = Validator.restoreFromState(validatorState)
|
|
`):s+=`const validator = null
|
|
`;let{schema:i,...a}=r.getState();return`
|
|
'use strict'
|
|
|
|
const Serializer = require('fast-json-stringify/lib/serializer')
|
|
const serializerState = ${JSON.stringify(a)}
|
|
const serializer = Serializer.restoreFromState(serializerState)
|
|
|
|
${s}
|
|
|
|
module.exports = ${t.toString()}(validator, serializer)`}e$.exports=wCt;e$.exports.dependencies={Serializer:r8(),Validator:ZW()}});var hAe=E((qkr,mAe)=>{"use strict";var{dependencies:RCt}=t$(),{Serializer:NCt,Validator:Ukr}=RCt,OCt={mode:"standalone"},PCt=NCt.restoreFromState(OCt),kCt=null;mAe.exports=function(e,r){function n(i){let a=i&&typeof i.toJSON=="function"?i.toJSON():i;if(a===null)return"{}";let o=!1,c="{";return a.statusCode!==void 0&&(!o&&(o=!0)||(c+=","),c+='"statusCode":',c+=r.asNumber(a.statusCode)),a.code!==void 0&&(!o&&(o=!0)||(c+=","),c+='"code":',c+=r.asString(a.code)),a.error!==void 0&&(!o&&(o=!0)||(c+=","),c+='"error":',c+=r.asString(a.error)),a.message!==void 0&&(!o&&(o=!0)||(c+=","),c+='"message":',c+=r.asString(a.message)),c+"}"}return n}(kCt,PCt)});var F1=E((jkr,xAe)=>{"use strict";var gAe=require("node:http").STATUS_CODES,DCt=Z6(),{kReplyHeaders:km,kReplyNextErrorHandler:hN,kReplyIsRunningOnErrorHook:BCt,kReplyHasStatusCode:LCt,kRouteContext:yAe}=Gs(),{FST_ERR_REP_INVALID_PAYLOAD_TYPE:MCt,FST_ERR_FAILED_ERROR_SERIALIZATION:WCt}=Ci(),{getSchemaSerializer:$Ct}=c1(),r$=hAe(),FCt={func:qCt,toJSON(){return this.func.name.toString()+"()"}};function UCt(t,e,r){t[BCt]=!1;let n=t[yAe];if(t[hN]===!1){AAe(e,t,function(o,c){try{o.raw.writeHead(o.raw.statusCode,o[km])}catch(u){o.log.warn({req:o.request,res:o,err:u},u&&u.message),o.raw.writeHead(o.raw.statusCode)}o.raw.end(c)});return}let s=t[hN]||n.errorHandler;t[hN]=Object.getPrototypeOf(s),delete t[km]["content-type"],delete t[km]["content-length"];let i=s.func;if(!i){t[hN]=!1,AAe(e,t,r);return}let a=i(e,t.request,t);a!==void 0&&(a!==null&&typeof a.then=="function"?DCt(a,t):t.send(a))}function qCt(t,e,r){if(HCt(t,r),!r[LCt]||r.statusCode===200){let n=t.statusCode||t.status;r.code(n>=400?n:500)}r.statusCode<500?r.log.info({res:r,err:t},t&&t.message):r.log.error({req:e,res:r,err:t},t&&t.message),r.send(t)}function AAe(t,e,r){let n=e.raw,s=e.statusCode;e[km]["content-type"]=e[km]["content-type"]??"application/json; charset=utf-8";let i;try{let a=$Ct(e[yAe],s,e[km]["content-type"]);i=a===!1?r$({error:gAe[s+""],code:t.code,message:t.message,statusCode:s}):a(Object.create(t,{error:{value:gAe[s+""]},message:{value:t.message},statusCode:{value:s}}))}catch(a){e.log.error({err:a,statusCode:n.statusCode},"The serializer for the given status code failed"),e.code(500),i=r$(new WCt(a.message,t.message))}typeof i!="string"&&!Buffer.isBuffer(i)&&(i=r$(new MCt(typeof i))),e[km]["content-length"]=""+Buffer.byteLength(i),r(e,i)}function jCt(t=FCt,e){if(!e)return t;let r=Object.create(t);return r.func=e,r}function HCt(t,e){let r=e.raw,n=r.statusCode;n=n>=400?n:500,t!=null&&(t.headers!==void 0&&e.headers(t.headers),t.status>=400?n=t.status:t.statusCode>=400&&(n=t.statusCode)),r.statusCode=n}xAe.exports={buildErrorHandler:jCt,handleError:UCt}});var EN=E((Hkr,bN)=>{"use strict";var a$=require("node:stream").finished,QCt=require("node:stream").Readable,{kFourOhFourContext:bAe,kPublicRouteContext:EAe,kReplyErrorHandlerCalled:RAe,kReplyHijacked:U1,kReplyStartTime:q1,kReplyEndTime:c$,kReplySerializer:hd,kReplySerializerDefault:AN,kReplyIsError:yN,kReplyHeaders:bn,kReplyTrailers:Ks,kReplyHasStatusCode:u$,kReplyIsRunningOnErrorHook:l$,kReplyNextErrorHandler:GCt,kDisableRequestLogging:NAe,kSchemaResponse:xN,kReplyCacheSerializeFns:Ep,kSchemaController:n$,kOptions:KCt,kRouteContext:tr}=Gs(),{onSendHookRunner:OAe,onResponseHookRunner:VCt,preHandlerHookRunner:zCt,preSerializationHookRunner:YCt}=cp(),_Ae=n5()[Symbol.for("internals")],JCt=o1(),o$=JCt.now,{handleError:SAe}=F1(),{getSchemaSerializer:XCt}=c1(),s$={JSON:"application/json; charset=utf-8",PLAIN:"text/plain; charset=utf-8",OCTET:"application/octet-stream"},{FST_ERR_REP_INVALID_PAYLOAD_TYPE:ZCt,FST_ERR_REP_RESPONSE_BODY_CONSUMED:eTt,FST_ERR_REP_ALREADY_SENT:PAe,FST_ERR_REP_SENT_VALUE:tTt,FST_ERR_SEND_INSIDE_ONERR:rTt,FST_ERR_BAD_STATUS_CODE:nTt,FST_ERR_BAD_TRAILER_NAME:sTt,FST_ERR_BAD_TRAILER_VALUE:iTt,FST_ERR_MISSING_SERIALIZATION_FN:aTt,FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN:oTt}=Ci(),{FSTDEP010:cTt,FSTDEP013:uTt,FSTDEP019:lTt,FSTDEP020:dTt}=od(),kAe=Object.prototype.toString;function dn(t,e,r){this.raw=t,this[hd]=null,this[RAe]=!1,this[yN]=!1,this[l$]=!1,this.request=e,this[bn]={},this[Ks]=null,this[u$]=!1,this[q1]=void 0,this.log=r}dn.props=[];Object.defineProperties(dn.prototype,{[tr]:{get(){return this.request[tr]}},context:{get(){return lTt(),this.request[tr]}},elapsedTime:{get(){return this[q1]===void 0?0:(this[c$]||o$())-this[q1]}},server:{get(){return this.request[tr].server}},sent:{enumerable:!0,get(){return(this[U1]||this.raw.writableEnded)===!0},set(t){if(cTt(),t!==!0)throw new tTt;if(this.sent&&this[U1])throw new PAe(this.request.url,this.request.method);this[U1]=!0}},statusCode:{get(){return this.raw.statusCode},set(t){this.code(t)}},[EAe]:{get(){return this.request[EAe]}}});dn.prototype.hijack=function(){return this[U1]=!0,this};dn.prototype.send=function(t){if(this[l$]===!0)throw new rTt;if(this.sent)return this.log.warn({err:new PAe(this.request.url,this.request.method)}),this;if(t instanceof Error||this[yN]===!0)return this[yN]=!1,j1(this,t,Dm),this;if(t===void 0)return Dm(this,t),this;let e=this.getHeader("content-type"),r=e!==void 0;if(t!==null){if(typeof t.pipe=="function"||typeof t.getReader=="function"||kAe.call(t)==="[object Response]")return Dm(this,t),this;if(t?.buffer instanceof ArrayBuffer){r===!1&&(this[bn]["content-type"]=s$.OCTET);let n=Buffer.isBuffer(t)?t:Buffer.from(t.buffer,t.byteOffset,t.byteLength);return Dm(this,n),this}if(r===!1&&typeof t=="string")return this[bn]["content-type"]=s$.PLAIN,Dm(this,t),this}if(this[hd]!==null){if(typeof t!="string")return vAe(this,t),this;t=this[hd](t)}else if(r===!1||e.indexOf("json")>-1){if(r===!1)this[bn]["content-type"]=s$.JSON;else if(e.indexOf("charset")===-1){let n=e.trim();n.endsWith(";")?this[bn]["content-type"]=`${n} charset=utf-8`:this[bn]["content-type"]=`${n}; charset=utf-8`}if(typeof t!="string")return vAe(this,t),this}return Dm(this,t),this};dn.prototype.getHeader=function(t){t=t.toLowerCase();let e=this.raw,r=this[bn][t];return r===void 0&&e.hasHeader(t)&&(r=e.getHeader(t)),r};dn.prototype.getHeaders=function(){return{...this.raw.getHeaders(),...this[bn]}};dn.prototype.hasHeader=function(t){return t=t.toLowerCase(),this[bn][t]!==void 0||this.raw.hasHeader(t)};dn.prototype.removeHeader=function(t){return delete this[bn][t.toLowerCase()],this};dn.prototype.header=function(t,e=""){return t=t.toLowerCase(),this[bn][t]&&t==="set-cookie"?(typeof this[bn][t]=="string"&&(this[bn][t]=[this[bn][t]]),Array.isArray(e)?Array.prototype.push.apply(this[bn][t],e):this[bn][t].push(e)):this[bn][t]=e,this};dn.prototype.headers=function(t){let e=Object.keys(t);for(var r=0;r!==e.length;++r){let n=e[r];this.header(n,t[n])}return this};var fTt=new Set(["transfer-encoding","content-length","host","cache-control","max-forwards","te","authorization","set-cookie","content-encoding","content-type","content-range","trailer"]);dn.prototype.trailer=function(t,e){if(t=t.toLowerCase(),fTt.has(t))throw new sTt(t);if(typeof e!="function")throw new iTt(t,typeof e);return this[Ks]===null&&(this[Ks]={}),this[Ks][t]=e,this};dn.prototype.hasTrailer=function(t){return this[Ks]?.[t.toLowerCase()]!==void 0};dn.prototype.removeTrailer=function(t){return this[Ks]===null?this:(this[Ks][t.toLowerCase()]=void 0,this)};dn.prototype.code=function(t){let e=Number(t);if(isNaN(e)||e<100||e>599)throw new nTt(t||String(t));return this.raw.statusCode=e,this[u$]=!0,this};dn.prototype.status=dn.prototype.code;dn.prototype.getSerializationFunction=function(t,e){let r;return typeof t=="string"||typeof t=="number"?typeof e=="string"?r=this[tr][xN]?.[t]?.[e]:r=this[tr][xN]?.[t]:typeof t=="object"&&(r=this[tr][Ep]?.get(t)),r};dn.prototype.compileSerializationSchema=function(t,e=null,r=null){let{request:n}=this,{method:s,url:i}=n;if(this[tr][Ep]?.has(t))return this[tr][Ep].get(t);let o=(this[tr].serializerCompiler||this.server[n$].serializerCompiler||this.server[n$].setupSerializer(this.server[KCt])||this.server[n$].serializerCompiler)({schema:t,method:s,url:i,httpStatus:e,contentType:r});return this[tr][Ep]==null&&(this[tr][Ep]=new WeakMap),this[tr][Ep].set(t,o),o};dn.prototype.serializeInput=function(t,e,r,n){let s=r,i;if(r=typeof e=="string"||typeof e=="number"?e:r,n=r&&s!==r?s:n,r!=null){if(n!=null?i=this[tr][xN]?.[r]?.[n]:i=this[tr][xN]?.[r],i==null)throw n?new oTt(r,n):new aTt(r)}else this[tr][Ep]?.has(e)?i=this[tr][Ep].get(e):i=this.compileSerializationSchema(e,r,n);return i(t)};dn.prototype.serialize=function(t){return this[hd]!==null?this[hd](t):this[tr]&&this[tr][AN]?this[tr][AN](t,this.raw.statusCode):LAe(this[tr],t,this.raw.statusCode)};dn.prototype.serializer=function(t){return this[hd]=t,this};dn.prototype.type=function(t){return this[bn]["content-type"]=t,this};dn.prototype.redirect=function(t,e){return typeof t=="string"&&(e=t,t=this[u$]?this.raw.statusCode:302),this.header("location",e).code(t).send()};dn.prototype.callNotFound=function(){return yTt(this),this};dn.prototype.getResponseTime=function(){return dTt(),this.elapsedTime};dn.prototype.then=function(t,e){if(this.sent){t();return}a$(this.raw,r=>{r&&r.code!=="ERR_STREAM_PREMATURE_CLOSE"?e?e(r):this.log&&this.log.warn("unhandled rejection on reply.then"):t()})};function vAe(t,e){t[tr].preSerialization!==null?YCt(t[tr].preSerialization,t.request,t,e,IAe):IAe(null,t.request,t,e)}function IAe(t,e,r,n){if(t!=null){j1(r,t);return}try{r[hd]!==null?n=r[hd](n):r[tr]&&r[tr][AN]?n=r[tr][AN](n,r.raw.statusCode):n=LAe(r[tr],n,r.raw.statusCode,r[bn]["content-type"])}catch(s){pTt(s,r),j1(r,s);return}Dm(r,n)}function pTt(t,e){t.serialization=e[tr].config}function Dm(t,e){t[tr].onSend!==null?OAe(t[tr].onSend,t.request,t,e,mTt):DAe(t,e)}function mTt(t,e,r,n){t!=null?j1(r,t):DAe(r,n)}function i$(t,e){let r=t.raw;try{r.writeHead(e,t[bn])}catch(n){throw n.code==="ERR_HTTP_HEADERS_SENT"&&t.log.warn(`Reply was already sent, did you forget to "return reply" in the "${t.request.raw.url}" (${t.request.raw.method}) route?`),n}}function DAe(t,e){let r=t.raw,n=t.request;if(t[Ks]!==null){let a=Object.keys(t[Ks]),o="";for(let c of a)typeof t[Ks][c]=="function"&&(o+=" ",o+=c);t.header("Transfer-Encoding","chunked"),t.header("Trailer",o.trim())}let s=kAe.call(e)==="[object Response]";s&&typeof e.status=="number"&&t.code(e.status);let i=r.statusCode;if(e==null){i>=200&&i!==204&&i!==304&&n.method!=="HEAD"&&t[Ks]===null&&(t[bn]["content-length"]="0"),i$(t,i),gN(e,r,t);return}if(i>=100&&i<200||i===204){t.removeHeader("content-type"),t.removeHeader("content-length"),i$(t,i),gN(void 0,r,t),typeof e.resume=="function"&&(e.on("error",MAe),e.resume());return}if(typeof e.pipe=="function"){BAe(e,r,t);return}if(typeof e.getReader=="function"){TAe(e,r,t);return}if(s){if(typeof e.headers=="object"&&typeof e.headers.forEach=="function")for(let[a,o]of e.headers)t.header(a,o);if(e.body!=null){if(e.bodyUsed)throw new eTt;TAe(e.body,r,t)}return}if(typeof e!="string"&&!Buffer.isBuffer(e))throw new ZCt(typeof e);if(t[Ks]===null){let a=t[bn]["content-length"];(!a||n.raw.method!=="HEAD"&&Number(a)!==Buffer.byteLength(e))&&(t[bn]["content-length"]=""+Buffer.byteLength(e))}i$(t,i),r.write(e),gN(e,r,t)}function CAe(t,e,r){e.code==="ERR_STREAM_PREMATURE_CLOSE"?t[NAe]||t.info({res:r},"stream closed prematurely"):t.warn({err:e},"response terminated with an error with headers already sent")}function TAe(t,e,r){let n=QCt.fromWeb(t);BAe(n,e,r)}function BAe(t,e,r){let n=!0,s=!1;if(hTt(t,e,r),a$(t,{readable:!0,writable:!1},function(i){n=!1,i!=null&&(e.headersSent||r.request.raw.aborted===!0?(s||(s=!0,CAe(r.log,i,e)),e.destroy()):j1(r,i))}),a$(e,function(i){n&&(i!=null&&e.headersSent&&!s&&(s=!0,CAe(r.log,i,e)),typeof t.destroy=="function"?t.destroy():typeof t.close=="function"?t.close(MAe):typeof t.abort=="function"?t.abort():r.log.warn("stream payload does not end properly"))}),e.headersSent)r.log.warn("response will send, but you shouldn't use res.writeHead in stream mode");else for(let i in r[bn])e.setHeader(i,r[bn][i]);t.pipe(e)}function gN(t,e,r){if(r[Ks]===null){e.end(null,null,null);return}let n=Object.keys(r[Ks]),s={},i=0,a=!0;function o(){i===0&&(e.addTrailers(s),e.end(null,null,null))}for(let c of n){let u=function(d,f){i++,d?r.log.debug(d):s[c]=f,process.nextTick(o)};if(typeof r[Ks][c]!="function")continue;a=!1,i--;let l=r[Ks][c](r,t,u);typeof l=="object"&&typeof l.then=="function"?l.then(d=>u(null,d),u):l!=null&&(uTt(),u(null,l))}a&&e.end(null,null,null)}function hTt(t,e,r){r[Ks]!==null&&t.on("end",()=>gN(null,e,r))}function j1(t,e,r){t[tr].onError!==null&&!t[GCt]?(t[l$]=!0,OAe(t[tr].onError,t.request,t,e,()=>SAe(t,e,r))):SAe(t,e,r)}function gTt(t){t[q1]=o$();let e=r=>{t[c$]=o$(),t.raw.removeListener("finish",e),t.raw.removeListener("error",e);let n=t[tr];n&&n.onResponse!==null?VCt(n.onResponse,t.request,t,wAe):wAe(r,t.request,t)};t.raw.on("finish",e),t.raw.on("error",e)}function wAe(t,e,r){if(r.log[NAe])return;let n=r.elapsedTime;if(t!=null){r.log.error({res:r,err:t,responseTime:n},"request errored");return}r.log.info({res:r,responseTime:n},"request completed")}function ATt(t){let e=t.props.slice();function r(n,s,i){this.raw=n,this[yN]=!1,this[RAe]=!1,this[U1]=!1,this[hd]=null,this.request=s,this[bn]={},this[Ks]=null,this[q1]=void 0,this[c$]=void 0,this.log=i;for(var a,o=0;o<e.length;o++)a=e[o],this[a.key]=a.value}return Object.setPrototypeOf(r.prototype,t.prototype),Object.setPrototypeOf(r,t),r.parent=t,r.props=e,r}function yTt(t){if(t[tr][bAe]===null){t.log.warn("Trying to send a NotFound error inside a 404 handler. Sending basic 404 response."),t.code(404).send("404 Not Found");return}t.request[tr]=t[tr][bAe],t[tr].preHandler!==null?zCt(t[tr].preHandler,t.request,t,_Ae.preHandlerCallback):_Ae.preHandlerCallback(null,t.request,t)}function LAe(t,e,r,n){let s=XCt(t,r,n);return s?s(e):JSON.stringify(e)}function MAe(){}bN.exports=dn;bN.exports.buildReply=ATt;bN.exports.setupResponseListeners=gTt});var $Ae=E((Qkr,WAe)=>{"use strict";WAe.exports=xTt;function xTt(t){if(!t)throw new TypeError("argument req is required");var e=ETt(t.headers["x-forwarded-for"]||""),r=bTt(t),n=[r].concat(e);return n}function bTt(t){return t.socket?t.socket.remoteAddress:t.connection.remoteAddress}function ETt(t){for(var e=t.length,r=[],n=t.length,s=t.length-1;s>=0;s--)switch(t.charCodeAt(s)){case 32:n===e&&(n=e=s);break;case 44:n!==e&&r.push(t.substring(n,e)),n=e=s;break;default:n=s;break}return n!==e&&r.push(t.substring(n,e)),r}});var UAe=E((FAe,H1)=>{(function(){var t,e,r,n,s,i,a,o,c;e={},o=this,typeof H1<"u"&&H1!==null&&H1.exports?H1.exports=e:o.ipaddr=e,a=function(u,l,d,f){var p,m;if(u.length!==l.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(p=0;f>0;){if(m=d-f,m<0&&(m=0),u[p]>>m!==l[p]>>m)return!1;f-=d,p+=1}return!0},e.subnetMatch=function(u,l,d){var f,p,m,h,A;d==null&&(d="unicast");for(m in l)for(h=l[m],h[0]&&!(h[0]instanceof Array)&&(h=[h]),f=0,p=h.length;f<p;f++)if(A=h[f],u.kind()===A[0].kind()&&u.match.apply(u,A))return m;return d},e.IPv4=function(){function u(l){var d,f,p;if(l.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");for(d=0,f=l.length;d<f;d++)if(p=l[d],!(0<=p&&p<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=l}return u.prototype.kind=function(){return"ipv4"},u.prototype.toString=function(){return this.octets.join(".")},u.prototype.toNormalizedString=function(){return this.toString()},u.prototype.toByteArray=function(){return this.octets.slice(0)},u.prototype.match=function(l,d){var f;if(d===void 0&&(f=l,l=f[0],d=f[1]),l.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return a(this.octets,l.octets,8,d)},u.prototype.SpecialRanges={unspecified:[[new u([0,0,0,0]),8]],broadcast:[[new u([255,255,255,255]),32]],multicast:[[new u([224,0,0,0]),4]],linkLocal:[[new u([169,254,0,0]),16]],loopback:[[new u([127,0,0,0]),8]],carrierGradeNat:[[new u([100,64,0,0]),10]],private:[[new u([10,0,0,0]),8],[new u([172,16,0,0]),12],[new u([192,168,0,0]),16]],reserved:[[new u([192,0,0,0]),24],[new u([192,0,2,0]),24],[new u([192,88,99,0]),24],[new u([198,51,100,0]),24],[new u([203,0,113,0]),24],[new u([240,0,0,0]),4]]},u.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)},u.prototype.toIPv4MappedAddress=function(){return e.IPv6.parse("::ffff:"+this.toString())},u.prototype.prefixLengthFromSubnetMask=function(){var l,d,f,p,m,h,A;for(A={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},l=0,m=!1,d=f=3;f>=0;d=f+=-1)if(p=this.octets[d],p in A){if(h=A[p],m&&h!==0)return null;h!==8&&(m=!0),l+=h}else return null;return 32-l},u}(),r="(0?\\d+|0x[a-f0-9]+)",n={fourOctet:new RegExp("^"+r+"\\."+r+"\\."+r+"\\."+r+"$","i"),longValue:new RegExp("^"+r+"$","i")},e.IPv4.parser=function(u){var l,d,f,p,m;if(d=function(h){return h[0]==="0"&&h[1]!=="x"?parseInt(h,8):parseInt(h)},l=u.match(n.fourOctet))return function(){var h,A,g,b;for(g=l.slice(1,6),b=[],h=0,A=g.length;h<A;h++)f=g[h],b.push(d(f));return b}();if(l=u.match(n.longValue)){if(m=d(l[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){var h,A;for(A=[],p=h=0;h<=24;p=h+=8)A.push(m>>p&255);return A}().reverse()}else return null},e.IPv6=function(){function u(l,d){var f,p,m,h,A,g;if(l.length===16)for(this.parts=[],f=p=0;p<=14;f=p+=2)this.parts.push(l[f]<<8|l[f+1]);else if(l.length===8)this.parts=l;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=this.parts,m=0,h=g.length;m<h;m++)if(A=g[m],!(0<=A&&A<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");d&&(this.zoneId=d)}return u.prototype.kind=function(){return"ipv6"},u.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},u.prototype.toRFC5952String=function(){var l,d,f,p,m;for(p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),l=0,d=-1;f=p.exec(m);)f[0].length>d&&(l=f.index,d=f[0].length);return d<0?m:m.substring(0,l)+"::"+m.substring(l+d)},u.prototype.toByteArray=function(){var l,d,f,p,m;for(l=[],m=this.parts,d=0,f=m.length;d<f;d++)p=m[d],l.push(p>>8),l.push(p&255);return l},u.prototype.toNormalizedString=function(){var l,d,f;return l=function(){var p,m,h,A;for(h=this.parts,A=[],p=0,m=h.length;p<m;p++)d=h[p],A.push(d.toString(16));return A}.call(this).join(":"),f="",this.zoneId&&(f="%"+this.zoneId),l+f},u.prototype.toFixedLengthString=function(){var l,d,f;return l=function(){var p,m,h,A;for(h=this.parts,A=[],p=0,m=h.length;p<m;p++)d=h[p],A.push(d.toString(16).padStart(4,"0"));return A}.call(this).join(":"),f="",this.zoneId&&(f="%"+this.zoneId),l+f},u.prototype.match=function(l,d){var f;if(d===void 0&&(f=l,l=f[0],d=f[1]),l.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return a(this.parts,l.parts,16,d)},u.prototype.SpecialRanges={unspecified:[new u([0,0,0,0,0,0,0,0]),128],linkLocal:[new u([65152,0,0,0,0,0,0,0]),10],multicast:[new u([65280,0,0,0,0,0,0,0]),8],loopback:[new u([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new u([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new u([0,0,0,0,0,65535,0,0]),96],rfc6145:[new u([0,0,0,0,65535,0,0,0]),96],rfc6052:[new u([100,65435,0,0,0,0,0,0]),96],"6to4":[new u([8194,0,0,0,0,0,0,0]),16],teredo:[new u([8193,0,0,0,0,0,0,0]),32],reserved:[[new u([8193,3512,0,0,0,0,0,0]),32]]},u.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)},u.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},u.prototype.toIPv4Address=function(){var l,d,f;if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");return f=this.parts.slice(-2),l=f[0],d=f[1],new e.IPv4([l>>8,l&255,d>>8,d&255])},u.prototype.prefixLengthFromSubnetMask=function(){var l,d,f,p,m,h,A;for(A={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},l=0,m=!1,d=f=7;f>=0;d=f+=-1)if(p=this.parts[d],p in A){if(h=A[p],m&&h!==0)return null;h!==16&&(m=!0),l+=h}else return null;return 128-l},u}(),s="(?:[0-9a-f]+::?)+",c="%[0-9a-z]{1,}",i={zoneIndex:new RegExp(c,"i"),native:new RegExp("^(::)?("+s+")?([0-9a-f]+)?(::)?("+c+")?$","i"),transitional:new RegExp("^((?:"+s+")|(?:::)(?:"+s+")?)"+(r+"\\."+r+"\\."+r+"\\."+r)+("("+c+")?$"),"i")},t=function(u,l){var d,f,p,m,h,A;if(u.indexOf("::")!==u.lastIndexOf("::"))return null;for(A=(u.match(i.zoneIndex)||[])[0],A&&(A=A.substring(1),u=u.replace(/%.+$/,"")),d=0,f=-1;(f=u.indexOf(":",f+1))>=0;)d++;if(u.substr(0,2)==="::"&&d--,u.substr(-2,2)==="::"&&d--,d>l)return null;for(h=l-d,m=":";h--;)m+="0:";return u=u.replace("::",m),u[0]===":"&&(u=u.slice(1)),u[u.length-1]===":"&&(u=u.slice(0,-1)),l=function(){var g,b,y,x;for(y=u.split(":"),x=[],g=0,b=y.length;g<b;g++)p=y[g],x.push(parseInt(p,16));return x}(),{parts:l,zoneId:A}},e.IPv6.parser=function(u){var l,d,f,p,m,h,A;if(i.native.test(u))return t(u,8);if((p=u.match(i.transitional))&&(A=p[6]||"",l=t(p[1].slice(0,-1)+A,6),l.parts)){for(h=[parseInt(p[2]),parseInt(p[3]),parseInt(p[4]),parseInt(p[5])],d=0,f=h.length;d<f;d++)if(m=h[d],!(0<=m&&m<=255))return null;return l.parts.push(h[0]<<8|h[1]),l.parts.push(h[2]<<8|h[3]),{parts:l.parts,zoneId:l.zoneId}}return null},e.IPv4.isIPv4=e.IPv6.isIPv6=function(u){return this.parser(u)!==null},e.IPv4.isValid=function(u){var l;try{return new this(this.parser(u)),!0}catch(d){return l=d,!1}},e.IPv4.isValidFourPartDecimal=function(u){return!!(e.IPv4.isValid(u)&&u.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},e.IPv6.isValid=function(u){var l,d;if(typeof u=="string"&&u.indexOf(":")===-1)return!1;try{return l=this.parser(u),new this(l.parts,l.zoneId),!0}catch(f){return d=f,!1}},e.IPv4.parse=function(u){var l;if(l=this.parser(u),l===null)throw new Error("ipaddr: string is not formatted like ip address");return new this(l)},e.IPv6.parse=function(u){var l;if(l=this.parser(u),l.parts===null)throw new Error("ipaddr: string is not formatted like ip address");return new this(l.parts,l.zoneId)},e.IPv4.parseCIDR=function(u){var l,d,f;if((d=u.match(/^(.+)\/(\d+)$/))&&(l=parseInt(d[2]),l>=0&&l<=32))return f=[this.parse(d[1]),l],Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f;throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},e.IPv4.subnetMaskFromPrefixLength=function(u){var l,d,f;if(u=parseInt(u),u<0||u>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(f=[0,0,0,0],d=0,l=Math.floor(u/8);d<l;)f[d]=255,d++;return l<4&&(f[l]=Math.pow(2,u%8)-1<<8-u%8),new this(f)},e.IPv4.broadcastAddressFromCIDR=function(u){var l,d,f,p,m,h;try{for(l=this.parseCIDR(u),p=l[0].toByteArray(),h=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),m=[],f=0;f<4;)m.push(parseInt(p[f],10)|parseInt(h[f],10)^255),f++;return new this(m)}catch(A){throw d=A,new Error("ipaddr: the address does not have IPv4 CIDR format")}},e.IPv4.networkAddressFromCIDR=function(u){var l,d,f,p,m,h;try{for(l=this.parseCIDR(u),p=l[0].toByteArray(),h=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),m=[],f=0;f<4;)m.push(parseInt(p[f],10)&parseInt(h[f],10)),f++;return new this(m)}catch(A){throw d=A,new Error("ipaddr: the address does not have IPv4 CIDR format")}},e.IPv6.parseCIDR=function(u){var l,d,f;if((d=u.match(/^(.+)\/(\d+)$/))&&(l=parseInt(d[2]),l>=0&&l<=128))return f=[this.parse(d[1]),l],Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},e.isValid=function(u){return e.IPv6.isValid(u)||e.IPv4.isValid(u)},e.parse=function(u){if(e.IPv6.isValid(u))return e.IPv6.parse(u);if(e.IPv4.isValid(u))return e.IPv4.parse(u);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},e.parseCIDR=function(u){var l;try{return e.IPv6.parseCIDR(u)}catch(d){l=d;try{return e.IPv4.parseCIDR(u)}catch(f){throw l=f,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},e.fromByteArray=function(u){var l;if(l=u.length,l===4)return new e.IPv4(u);if(l===16)return new e.IPv6(u);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},e.process=function(u){var l;return l=this.parse(u),l.kind()==="ipv6"&&l.isIPv4MappedAddress()?l.toIPv4Address():l}}).call(FAe)});var GAe=E((Gkr,vN)=>{"use strict";vN.exports=wTt;vN.exports.all=HAe;vN.exports.compile=QAe;var _Tt=$Ae(),jAe=UAe(),STt=/^[0-9]+$/,_N=jAe.isValid,SN=jAe.parse,qAe={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function HAe(t,e){var r=_Tt(t);if(!e)return r;typeof e!="function"&&(e=QAe(e));for(var n=0;n<r.length-1;n++)e(r[n],n)||(r.length=n+1);return r}function QAe(t){if(!t)throw new TypeError("argument is required");var e;if(typeof t=="string")e=[t];else if(Array.isArray(t))e=t.slice();else throw new TypeError("unsupported trust argument");for(var r=0;r<e.length;r++)t=e[r],Object.prototype.hasOwnProperty.call(qAe,t)&&(t=qAe[t],e.splice.apply(e,[r,1].concat(t)),r+=t.length-1);return ITt(vTt(e))}function vTt(t){for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=CTt(t[r]);return e}function ITt(t){var e=t.length;return e===0?RTt:e===1?OTt(t[0]):NTt(t)}function CTt(t){var e=t.lastIndexOf("/"),r=e!==-1?t.substring(0,e):t;if(!_N(r))throw new TypeError("invalid IP address: "+r);var n=SN(r);e===-1&&n.kind()==="ipv6"&&n.isIPv4MappedAddress()&&(n=n.toIPv4Address());var s=n.kind()==="ipv6"?128:32,i=e!==-1?t.substring(e+1,t.length):null;if(i===null?i=s:STt.test(i)?i=parseInt(i,10):n.kind()==="ipv4"&&_N(i)?i=TTt(i):i=null,i<=0||i>s)throw new TypeError("invalid range on address: "+t);return[n,i]}function TTt(t){var e=SN(t),r=e.kind();return r==="ipv4"?e.prefixLengthFromSubnetMask():null}function wTt(t,e){if(!t)throw new TypeError("req argument is required");if(!e)throw new TypeError("trust argument is required");var r=HAe(t,e),n=r[r.length-1];return n}function RTt(){return!1}function NTt(t){return function(r){if(!_N(r))return!1;for(var n=SN(r),s,i=n.kind(),a=0;a<t.length;a++){var o=t[a],c=o[0],u=c.kind(),l=o[1],d=n;if(i!==u){if(u==="ipv4"&&!n.isIPv4MappedAddress())continue;s||(s=u==="ipv4"?n.toIPv4Address():n.toIPv4MappedAddress()),d=s}if(d.match(c,l))return!0}return!1}}function OTt(t){var e=t[0],r=e.kind(),n=r==="ipv4",s=t[1];return function(a){if(!_N(a))return!1;var o=SN(a),c=o.kind();if(c!==r){if(n&&!o.isIPv4MappedAddress())return!1;o=n?o.toIPv4Address():o.toIPv4MappedAddress()}return o.match(e,s)}}});var Q1=E((Kkr,KAe)=>{"use strict";var PTt="2.0.0",kTt=Number.MAX_SAFE_INTEGER||9007199254740991,DTt=16,BTt=250,LTt=["major","premajor","minor","preminor","patch","prepatch","prerelease"];KAe.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:DTt,MAX_SAFE_BUILD_LENGTH:BTt,MAX_SAFE_INTEGER:kTt,RELEASE_TYPES:LTt,SEMVER_SPEC_VERSION:PTt,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var G1=E((Vkr,VAe)=>{"use strict";var MTt=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};VAe.exports=MTt});var iy=E((Ku,zAe)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:d$,MAX_SAFE_BUILD_LENGTH:WTt,MAX_LENGTH:$Tt}=Q1(),FTt=G1();Ku=zAe.exports={};var UTt=Ku.re=[],qTt=Ku.safeRe=[],Ge=Ku.src=[],jTt=Ku.safeSrc=[],Ke=Ku.t={},HTt=0,f$="[a-zA-Z0-9-]",QTt=[["\\s",1],["\\d",$Tt],[f$,WTt]],GTt=t=>{for(let[e,r]of QTt)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},Lt=(t,e,r)=>{let n=GTt(e),s=HTt++;FTt(t,s,e),Ke[t]=s,Ge[s]=e,jTt[s]=n,UTt[s]=new RegExp(e,r?"g":void 0),qTt[s]=new RegExp(n,r?"g":void 0)};Lt("NUMERICIDENTIFIER","0|[1-9]\\d*");Lt("NUMERICIDENTIFIERLOOSE","\\d+");Lt("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${f$}*`);Lt("MAINVERSION",`(${Ge[Ke.NUMERICIDENTIFIER]})\\.(${Ge[Ke.NUMERICIDENTIFIER]})\\.(${Ge[Ke.NUMERICIDENTIFIER]})`);Lt("MAINVERSIONLOOSE",`(${Ge[Ke.NUMERICIDENTIFIERLOOSE]})\\.(${Ge[Ke.NUMERICIDENTIFIERLOOSE]})\\.(${Ge[Ke.NUMERICIDENTIFIERLOOSE]})`);Lt("PRERELEASEIDENTIFIER",`(?:${Ge[Ke.NONNUMERICIDENTIFIER]}|${Ge[Ke.NUMERICIDENTIFIER]})`);Lt("PRERELEASEIDENTIFIERLOOSE",`(?:${Ge[Ke.NONNUMERICIDENTIFIER]}|${Ge[Ke.NUMERICIDENTIFIERLOOSE]})`);Lt("PRERELEASE",`(?:-(${Ge[Ke.PRERELEASEIDENTIFIER]}(?:\\.${Ge[Ke.PRERELEASEIDENTIFIER]})*))`);Lt("PRERELEASELOOSE",`(?:-?(${Ge[Ke.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Ge[Ke.PRERELEASEIDENTIFIERLOOSE]})*))`);Lt("BUILDIDENTIFIER",`${f$}+`);Lt("BUILD",`(?:\\+(${Ge[Ke.BUILDIDENTIFIER]}(?:\\.${Ge[Ke.BUILDIDENTIFIER]})*))`);Lt("FULLPLAIN",`v?${Ge[Ke.MAINVERSION]}${Ge[Ke.PRERELEASE]}?${Ge[Ke.BUILD]}?`);Lt("FULL",`^${Ge[Ke.FULLPLAIN]}$`);Lt("LOOSEPLAIN",`[v=\\s]*${Ge[Ke.MAINVERSIONLOOSE]}${Ge[Ke.PRERELEASELOOSE]}?${Ge[Ke.BUILD]}?`);Lt("LOOSE",`^${Ge[Ke.LOOSEPLAIN]}$`);Lt("GTLT","((?:<|>)?=?)");Lt("XRANGEIDENTIFIERLOOSE",`${Ge[Ke.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Lt("XRANGEIDENTIFIER",`${Ge[Ke.NUMERICIDENTIFIER]}|x|X|\\*`);Lt("XRANGEPLAIN",`[v=\\s]*(${Ge[Ke.XRANGEIDENTIFIER]})(?:\\.(${Ge[Ke.XRANGEIDENTIFIER]})(?:\\.(${Ge[Ke.XRANGEIDENTIFIER]})(?:${Ge[Ke.PRERELEASE]})?${Ge[Ke.BUILD]}?)?)?`);Lt("XRANGEPLAINLOOSE",`[v=\\s]*(${Ge[Ke.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ge[Ke.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ge[Ke.XRANGEIDENTIFIERLOOSE]})(?:${Ge[Ke.PRERELEASELOOSE]})?${Ge[Ke.BUILD]}?)?)?`);Lt("XRANGE",`^${Ge[Ke.GTLT]}\\s*${Ge[Ke.XRANGEPLAIN]}$`);Lt("XRANGELOOSE",`^${Ge[Ke.GTLT]}\\s*${Ge[Ke.XRANGEPLAINLOOSE]}$`);Lt("COERCEPLAIN",`(^|[^\\d])(\\d{1,${d$}})(?:\\.(\\d{1,${d$}}))?(?:\\.(\\d{1,${d$}}))?`);Lt("COERCE",`${Ge[Ke.COERCEPLAIN]}(?:$|[^\\d])`);Lt("COERCEFULL",Ge[Ke.COERCEPLAIN]+`(?:${Ge[Ke.PRERELEASE]})?(?:${Ge[Ke.BUILD]})?(?:$|[^\\d])`);Lt("COERCERTL",Ge[Ke.COERCE],!0);Lt("COERCERTLFULL",Ge[Ke.COERCEFULL],!0);Lt("LONETILDE","(?:~>?)");Lt("TILDETRIM",`(\\s*)${Ge[Ke.LONETILDE]}\\s+`,!0);Ku.tildeTrimReplace="$1~";Lt("TILDE",`^${Ge[Ke.LONETILDE]}${Ge[Ke.XRANGEPLAIN]}$`);Lt("TILDELOOSE",`^${Ge[Ke.LONETILDE]}${Ge[Ke.XRANGEPLAINLOOSE]}$`);Lt("LONECARET","(?:\\^)");Lt("CARETTRIM",`(\\s*)${Ge[Ke.LONECARET]}\\s+`,!0);Ku.caretTrimReplace="$1^";Lt("CARET",`^${Ge[Ke.LONECARET]}${Ge[Ke.XRANGEPLAIN]}$`);Lt("CARETLOOSE",`^${Ge[Ke.LONECARET]}${Ge[Ke.XRANGEPLAINLOOSE]}$`);Lt("COMPARATORLOOSE",`^${Ge[Ke.GTLT]}\\s*(${Ge[Ke.LOOSEPLAIN]})$|^$`);Lt("COMPARATOR",`^${Ge[Ke.GTLT]}\\s*(${Ge[Ke.FULLPLAIN]})$|^$`);Lt("COMPARATORTRIM",`(\\s*)${Ge[Ke.GTLT]}\\s*(${Ge[Ke.LOOSEPLAIN]}|${Ge[Ke.XRANGEPLAIN]})`,!0);Ku.comparatorTrimReplace="$1$2$3";Lt("HYPHENRANGE",`^\\s*(${Ge[Ke.XRANGEPLAIN]})\\s+-\\s+(${Ge[Ke.XRANGEPLAIN]})\\s*$`);Lt("HYPHENRANGELOOSE",`^\\s*(${Ge[Ke.XRANGEPLAINLOOSE]})\\s+-\\s+(${Ge[Ke.XRANGEPLAINLOOSE]})\\s*$`);Lt("STAR","(<|>)?=?\\s*\\*");Lt("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Lt("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var IN=E((zkr,YAe)=>{"use strict";var KTt=Object.freeze({loose:!0}),VTt=Object.freeze({}),zTt=t=>t?typeof t!="object"?KTt:t:VTt;YAe.exports=zTt});var p$=E((Ykr,ZAe)=>{"use strict";var JAe=/^[0-9]+$/,XAe=(t,e)=>{if(typeof t=="number"&&typeof e=="number")return t===e?0:t<e?-1:1;let r=JAe.test(t),n=JAe.test(e);return r&&n&&(t=+t,e=+e),t===e?0:r&&!n?-1:n&&!r?1:t<e?-1:1},YTt=(t,e)=>XAe(e,t);ZAe.exports={compareIdentifiers:XAe,rcompareIdentifiers:YTt}});var Oi=E((Jkr,tye)=>{"use strict";var CN=G1(),{MAX_LENGTH:eye,MAX_SAFE_INTEGER:TN}=Q1(),{safeRe:wN,t:RN}=iy(),JTt=IN(),{compareIdentifiers:m$}=p$(),h$=class t{constructor(e,r){if(r=JTt(r),e instanceof t){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>eye)throw new TypeError(`version is longer than ${eye} characters`);CN("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=e.trim().match(r.loose?wN[RN.LOOSE]:wN[RN.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>TN||this.major<0)throw new TypeError("Invalid major version");if(this.minor>TN||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>TN||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&i<TN)return i}return s}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(CN("SemVer.compare",this.version,this.options,e),!(e instanceof t)){if(typeof e=="string"&&e===this.version)return 0;e=new t(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof t||(e=new t(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let n=this.prerelease[r],s=e.prerelease[r];if(CN("prerelease compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return m$(n,s)}while(++r)}compareBuild(e){e instanceof t||(e=new t(e,this.options));let r=0;do{let n=this.build[r],s=e.build[r];if(CN("build compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return m$(n,s)}while(++r)}inc(e,r,n){if(e.startsWith("pre")){if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let s=`-${r}`.match(this.options.loose?wN[RN.PRERELEASELOOSE]:wN[RN.PRERELEASE]);if(!s||s[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(r){let i=[r,s];n===!1&&(i=[r]),m$(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};tye.exports=h$});var Bm=E((Xkr,nye)=>{"use strict";var rye=Oi(),XTt=(t,e,r=!1)=>{if(t instanceof rye)return t;try{return new rye(t,e)}catch(n){if(!r)return null;throw n}};nye.exports=XTt});var iye=E((Zkr,sye)=>{"use strict";var ZTt=Bm(),ewt=(t,e)=>{let r=ZTt(t,e);return r?r.version:null};sye.exports=ewt});var oye=E((eDr,aye)=>{"use strict";var twt=Bm(),rwt=(t,e)=>{let r=twt(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};aye.exports=rwt});var lye=E((tDr,uye)=>{"use strict";var cye=Oi(),nwt=(t,e,r,n,s)=>{typeof r=="string"&&(s=n,n=r,r=void 0);try{return new cye(t instanceof cye?t.version:t,r).inc(e,n,s).version}catch{return null}};uye.exports=nwt});var pye=E((rDr,fye)=>{"use strict";var dye=Bm(),swt=(t,e)=>{let r=dye(t,null,!0),n=dye(e,null,!0),s=r.compare(n);if(s===0)return null;let i=s>0,a=i?r:n,o=i?n:r,c=!!a.prerelease.length;if(!!o.prerelease.length&&!c){if(!o.patch&&!o.minor)return"major";if(o.compareMain(a)===0)return o.minor&&!o.patch?"minor":"patch"}let l=c?"pre":"";return r.major!==n.major?l+"major":r.minor!==n.minor?l+"minor":r.patch!==n.patch?l+"patch":"prerelease"};fye.exports=swt});var hye=E((nDr,mye)=>{"use strict";var iwt=Oi(),awt=(t,e)=>new iwt(t,e).major;mye.exports=awt});var Aye=E((sDr,gye)=>{"use strict";var owt=Oi(),cwt=(t,e)=>new owt(t,e).minor;gye.exports=cwt});var xye=E((iDr,yye)=>{"use strict";var uwt=Oi(),lwt=(t,e)=>new uwt(t,e).patch;yye.exports=lwt});var Eye=E((aDr,bye)=>{"use strict";var dwt=Bm(),fwt=(t,e)=>{let r=dwt(t,e);return r&&r.prerelease.length?r.prerelease:null};bye.exports=fwt});var Yo=E((oDr,Sye)=>{"use strict";var _ye=Oi(),pwt=(t,e,r)=>new _ye(t,r).compare(new _ye(e,r));Sye.exports=pwt});var Iye=E((cDr,vye)=>{"use strict";var mwt=Yo(),hwt=(t,e,r)=>mwt(e,t,r);vye.exports=hwt});var Tye=E((uDr,Cye)=>{"use strict";var gwt=Yo(),Awt=(t,e)=>gwt(t,e,!0);Cye.exports=Awt});var NN=E((lDr,Rye)=>{"use strict";var wye=Oi(),ywt=(t,e,r)=>{let n=new wye(t,r),s=new wye(e,r);return n.compare(s)||n.compareBuild(s)};Rye.exports=ywt});var Oye=E((dDr,Nye)=>{"use strict";var xwt=NN(),bwt=(t,e)=>t.sort((r,n)=>xwt(r,n,e));Nye.exports=bwt});var kye=E((fDr,Pye)=>{"use strict";var Ewt=NN(),_wt=(t,e)=>t.sort((r,n)=>Ewt(n,r,e));Pye.exports=_wt});var K1=E((pDr,Dye)=>{"use strict";var Swt=Yo(),vwt=(t,e,r)=>Swt(t,e,r)>0;Dye.exports=vwt});var ON=E((mDr,Bye)=>{"use strict";var Iwt=Yo(),Cwt=(t,e,r)=>Iwt(t,e,r)<0;Bye.exports=Cwt});var g$=E((hDr,Lye)=>{"use strict";var Twt=Yo(),wwt=(t,e,r)=>Twt(t,e,r)===0;Lye.exports=wwt});var A$=E((gDr,Mye)=>{"use strict";var Rwt=Yo(),Nwt=(t,e,r)=>Rwt(t,e,r)!==0;Mye.exports=Nwt});var PN=E((ADr,Wye)=>{"use strict";var Owt=Yo(),Pwt=(t,e,r)=>Owt(t,e,r)>=0;Wye.exports=Pwt});var kN=E((yDr,$ye)=>{"use strict";var kwt=Yo(),Dwt=(t,e,r)=>kwt(t,e,r)<=0;$ye.exports=Dwt});var y$=E((xDr,Fye)=>{"use strict";var Bwt=g$(),Lwt=A$(),Mwt=K1(),Wwt=PN(),$wt=ON(),Fwt=kN(),Uwt=(t,e,r,n)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Bwt(t,r,n);case"!=":return Lwt(t,r,n);case">":return Mwt(t,r,n);case">=":return Wwt(t,r,n);case"<":return $wt(t,r,n);case"<=":return Fwt(t,r,n);default:throw new TypeError(`Invalid operator: ${e}`)}};Fye.exports=Uwt});var qye=E((bDr,Uye)=>{"use strict";var qwt=Oi(),jwt=Bm(),{safeRe:DN,t:BN}=iy(),Hwt=(t,e)=>{if(t instanceof qwt)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?DN[BN.COERCEFULL]:DN[BN.COERCE]);else{let c=e.includePrerelease?DN[BN.COERCERTLFULL]:DN[BN.COERCERTL],u;for(;(u=c.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||u.index+u[0].length!==r.index+r[0].length)&&(r=u),c.lastIndex=u.index+u[1].length+u[2].length;c.lastIndex=-1}if(r===null)return null;let n=r[2],s=r[3]||"0",i=r[4]||"0",a=e.includePrerelease&&r[5]?`-${r[5]}`:"",o=e.includePrerelease&&r[6]?`+${r[6]}`:"";return jwt(`${n}.${s}.${i}${a}${o}`,e)};Uye.exports=Hwt});var Hye=E((EDr,jye)=>{"use strict";var x$=class{constructor(){this.max=1e3,this.map=new Map}get(e){let r=this.map.get(e);if(r!==void 0)return this.map.delete(e),this.map.set(e,r),r}delete(e){return this.map.delete(e)}set(e,r){if(!this.delete(e)&&r!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,r)}return this}};jye.exports=x$});var Jo=E((_Dr,Vye)=>{"use strict";var Qwt=/\s+/g,b$=class t{constructor(e,r){if(r=Kwt(r),e instanceof t)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new t(e.raw,r);if(e instanceof E$)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().replace(Qwt," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(s=>!Gye(s[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&e2t(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let r=this.set[e];for(let n=0;n<r.length;n++)n>0&&(this.formatted+=" "),this.formatted+=r[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let n=((this.options.includePrerelease&&Xwt)|(this.options.loose&&Zwt))+":"+e,s=Qye.get(n);if(s)return s;let i=this.options.loose,a=i?ra[Pi.HYPHENRANGELOOSE]:ra[Pi.HYPHENRANGE];e=e.replace(a,l2t(this.options.includePrerelease)),On("hyphen replace",e),e=e.replace(ra[Pi.COMPARATORTRIM],zwt),On("comparator trim",e),e=e.replace(ra[Pi.TILDETRIM],Ywt),On("tilde trim",e),e=e.replace(ra[Pi.CARETTRIM],Jwt),On("caret trim",e);let o=e.split(" ").map(d=>t2t(d,this.options)).join(" ").split(/\s+/).map(d=>u2t(d,this.options));i&&(o=o.filter(d=>(On("loose invalid filter",d,this.options),!!d.match(ra[Pi.COMPARATORLOOSE])))),On("range list",o);let c=new Map,u=o.map(d=>new E$(d,this.options));for(let d of u){if(Gye(d))return[d];c.set(d.value,d)}c.size>1&&c.has("")&&c.delete("");let l=[...c.values()];return Qye.set(n,l),l}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(n=>Kye(n,r)&&e.set.some(s=>Kye(s,r)&&n.every(i=>s.every(a=>i.intersects(a,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Vwt(e,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(d2t(this.set[r],e,this.options))return!0;return!1}};Vye.exports=b$;var Gwt=Hye(),Qye=new Gwt,Kwt=IN(),E$=V1(),On=G1(),Vwt=Oi(),{safeRe:ra,t:Pi,comparatorTrimReplace:zwt,tildeTrimReplace:Ywt,caretTrimReplace:Jwt}=iy(),{FLAG_INCLUDE_PRERELEASE:Xwt,FLAG_LOOSE:Zwt}=Q1(),Gye=t=>t.value==="<0.0.0-0",e2t=t=>t.value==="",Kye=(t,e)=>{let r=!0,n=t.slice(),s=n.pop();for(;r&&n.length;)r=n.every(i=>s.intersects(i,e)),s=n.pop();return r},t2t=(t,e)=>(t=t.replace(ra[Pi.BUILD],""),On("comp",t,e),t=s2t(t,e),On("caret",t),t=r2t(t,e),On("tildes",t),t=a2t(t,e),On("xrange",t),t=c2t(t,e),On("stars",t),t),na=t=>!t||t.toLowerCase()==="x"||t==="*",r2t=(t,e)=>t.trim().split(/\s+/).map(r=>n2t(r,e)).join(" "),n2t=(t,e)=>{let r=e.loose?ra[Pi.TILDELOOSE]:ra[Pi.TILDE];return t.replace(r,(n,s,i,a,o)=>{On("tilde",t,n,s,i,a,o);let c;return na(s)?c="":na(i)?c=`>=${s}.0.0 <${+s+1}.0.0-0`:na(a)?c=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:o?(On("replaceTilde pr",o),c=`>=${s}.${i}.${a}-${o} <${s}.${+i+1}.0-0`):c=`>=${s}.${i}.${a} <${s}.${+i+1}.0-0`,On("tilde return",c),c})},s2t=(t,e)=>t.trim().split(/\s+/).map(r=>i2t(r,e)).join(" "),i2t=(t,e)=>{On("caret",t,e);let r=e.loose?ra[Pi.CARETLOOSE]:ra[Pi.CARET],n=e.includePrerelease?"-0":"";return t.replace(r,(s,i,a,o,c)=>{On("caret",t,s,i,a,o,c);let u;return na(i)?u="":na(a)?u=`>=${i}.0.0${n} <${+i+1}.0.0-0`:na(o)?i==="0"?u=`>=${i}.${a}.0${n} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.0${n} <${+i+1}.0.0-0`:c?(On("replaceCaret pr",c),i==="0"?a==="0"?u=`>=${i}.${a}.${o}-${c} <${i}.${a}.${+o+1}-0`:u=`>=${i}.${a}.${o}-${c} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.${o}-${c} <${+i+1}.0.0-0`):(On("no pr"),i==="0"?a==="0"?u=`>=${i}.${a}.${o}${n} <${i}.${a}.${+o+1}-0`:u=`>=${i}.${a}.${o}${n} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.${o} <${+i+1}.0.0-0`),On("caret return",u),u})},a2t=(t,e)=>(On("replaceXRanges",t,e),t.split(/\s+/).map(r=>o2t(r,e)).join(" ")),o2t=(t,e)=>{t=t.trim();let r=e.loose?ra[Pi.XRANGELOOSE]:ra[Pi.XRANGE];return t.replace(r,(n,s,i,a,o,c)=>{On("xRange",t,n,s,i,a,o,c);let u=na(i),l=u||na(a),d=l||na(o),f=d;return s==="="&&f&&(s=""),c=e.includePrerelease?"-0":"",u?s===">"||s==="<"?n="<0.0.0-0":n="*":s&&f?(l&&(a=0),o=0,s===">"?(s=">=",l?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):s==="<="&&(s="<",l?i=+i+1:a=+a+1),s==="<"&&(c="-0"),n=`${s+i}.${a}.${o}${c}`):l?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${a}.0${c} <${i}.${+a+1}.0-0`),On("xRange return",n),n})},c2t=(t,e)=>(On("replaceStars",t,e),t.trim().replace(ra[Pi.STAR],"")),u2t=(t,e)=>(On("replaceGTE0",t,e),t.trim().replace(ra[e.includePrerelease?Pi.GTE0PRE:Pi.GTE0],"")),l2t=t=>(e,r,n,s,i,a,o,c,u,l,d,f)=>(na(n)?r="":na(s)?r=`>=${n}.0.0${t?"-0":""}`:na(i)?r=`>=${n}.${s}.0${t?"-0":""}`:a?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,na(u)?c="":na(l)?c=`<${+u+1}.0.0-0`:na(d)?c=`<${u}.${+l+1}.0-0`:f?c=`<=${u}.${l}.${d}-${f}`:t?c=`<${u}.${l}.${+d+1}-0`:c=`<=${c}`,`${r} ${c}`.trim()),d2t=(t,e,r)=>{for(let n=0;n<t.length;n++)if(!t[n].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let n=0;n<t.length;n++)if(On(t[n].semver),t[n].semver!==E$.ANY&&t[n].semver.prerelease.length>0){let s=t[n].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var V1=E((SDr,exe)=>{"use strict";var z1=Symbol("SemVer ANY"),v$=class t{static get ANY(){return z1}constructor(e,r){if(r=zye(r),e instanceof t){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),S$("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===z1?this.value="":this.value=this.operator+this.semver.version,S$("comp",this)}parse(e){let r=this.options.loose?Yye[Jye.COMPARATORLOOSE]:Yye[Jye.COMPARATOR],n=e.match(r);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new Xye(n[2],this.options.loose):this.semver=z1}toString(){return this.value}test(e){if(S$("Comparator.test",e,this.options.loose),this.semver===z1||e===z1)return!0;if(typeof e=="string")try{e=new Xye(e,this.options)}catch{return!1}return _$(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Zye(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new Zye(this.value,r).test(e.semver):(r=zye(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||_$(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||_$(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};exe.exports=v$;var zye=IN(),{safeRe:Yye,t:Jye}=iy(),_$=y$(),S$=G1(),Xye=Oi(),Zye=Jo()});var Y1=E((vDr,txe)=>{"use strict";var f2t=Jo(),p2t=(t,e,r)=>{try{e=new f2t(e,r)}catch{return!1}return e.test(t)};txe.exports=p2t});var nxe=E((IDr,rxe)=>{"use strict";var m2t=Jo(),h2t=(t,e)=>new m2t(t,e).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));rxe.exports=h2t});var ixe=E((CDr,sxe)=>{"use strict";var g2t=Oi(),A2t=Jo(),y2t=(t,e,r)=>{let n=null,s=null,i=null;try{i=new A2t(e,r)}catch{return null}return t.forEach(a=>{i.test(a)&&(!n||s.compare(a)===-1)&&(n=a,s=new g2t(n,r))}),n};sxe.exports=y2t});var oxe=E((TDr,axe)=>{"use strict";var x2t=Oi(),b2t=Jo(),E2t=(t,e,r)=>{let n=null,s=null,i=null;try{i=new b2t(e,r)}catch{return null}return t.forEach(a=>{i.test(a)&&(!n||s.compare(a)===1)&&(n=a,s=new x2t(n,r))}),n};axe.exports=E2t});var lxe=E((wDr,uxe)=>{"use strict";var I$=Oi(),_2t=Jo(),cxe=K1(),S2t=(t,e)=>{t=new _2t(t,e);let r=new I$("0.0.0");if(t.test(r)||(r=new I$("0.0.0-0"),t.test(r)))return r;r=null;for(let n=0;n<t.set.length;++n){let s=t.set[n],i=null;s.forEach(a=>{let o=new I$(a.semver.version);switch(a.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!i||cxe(o,i))&&(i=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),i&&(!r||cxe(r,i))&&(r=i)}return r&&t.test(r)?r:null};uxe.exports=S2t});var fxe=E((RDr,dxe)=>{"use strict";var v2t=Jo(),I2t=(t,e)=>{try{return new v2t(t,e).range||"*"}catch{return null}};dxe.exports=I2t});var LN=E((NDr,gxe)=>{"use strict";var C2t=Oi(),hxe=V1(),{ANY:T2t}=hxe,w2t=Jo(),R2t=Y1(),pxe=K1(),mxe=ON(),N2t=kN(),O2t=PN(),P2t=(t,e,r,n)=>{t=new C2t(t,n),e=new w2t(e,n);let s,i,a,o,c;switch(r){case">":s=pxe,i=N2t,a=mxe,o=">",c=">=";break;case"<":s=mxe,i=O2t,a=pxe,o="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(R2t(t,e,n))return!1;for(let u=0;u<e.set.length;++u){let l=e.set[u],d=null,f=null;if(l.forEach(p=>{p.semver===T2t&&(p=new hxe(">=0.0.0")),d=d||p,f=f||p,s(p.semver,d.semver,n)?d=p:a(p.semver,f.semver,n)&&(f=p)}),d.operator===o||d.operator===c||(!f.operator||f.operator===o)&&i(t,f.semver))return!1;if(f.operator===c&&a(t,f.semver))return!1}return!0};gxe.exports=P2t});var yxe=E((ODr,Axe)=>{"use strict";var k2t=LN(),D2t=(t,e,r)=>k2t(t,e,">",r);Axe.exports=D2t});var bxe=E((PDr,xxe)=>{"use strict";var B2t=LN(),L2t=(t,e,r)=>B2t(t,e,"<",r);xxe.exports=L2t});var Sxe=E((kDr,_xe)=>{"use strict";var Exe=Jo(),M2t=(t,e,r)=>(t=new Exe(t,r),e=new Exe(e,r),t.intersects(e,r));_xe.exports=M2t});var Ixe=E((DDr,vxe)=>{"use strict";var W2t=Y1(),$2t=Yo();vxe.exports=(t,e,r)=>{let n=[],s=null,i=null,a=t.sort((l,d)=>$2t(l,d,r));for(let l of a)W2t(l,e,r)?(i=l,s||(s=l)):(i&&n.push([s,i]),i=null,s=null);s&&n.push([s,null]);let o=[];for(let[l,d]of n)l===d?o.push(l):!d&&l===a[0]?o.push("*"):d?l===a[0]?o.push(`<=${d}`):o.push(`${l} - ${d}`):o.push(`>=${l}`);let c=o.join(" || "),u=typeof e.raw=="string"?e.raw:String(e);return c.length<u.length?c:e}});var Oxe=E((BDr,Nxe)=>{"use strict";var Cxe=Jo(),T$=V1(),{ANY:C$}=T$,J1=Y1(),w$=Yo(),F2t=(t,e,r={})=>{if(t===e)return!0;t=new Cxe(t,r),e=new Cxe(e,r);let n=!1;e:for(let s of t.set){for(let i of e.set){let a=q2t(s,i,r);if(n=n||a!==null,a)continue e}if(n)return!1}return!0},U2t=[new T$(">=0.0.0-0")],Txe=[new T$(">=0.0.0")],q2t=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===C$){if(e.length===1&&e[0].semver===C$)return!0;r.includePrerelease?t=U2t:t=Txe}if(e.length===1&&e[0].semver===C$){if(r.includePrerelease)return!0;e=Txe}let n=new Set,s,i;for(let p of t)p.operator===">"||p.operator===">="?s=wxe(s,p,r):p.operator==="<"||p.operator==="<="?i=Rxe(i,p,r):n.add(p.semver);if(n.size>1)return null;let a;if(s&&i){if(a=w$(s.semver,i.semver,r),a>0)return null;if(a===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let p of n){if(s&&!J1(p,String(s),r)||i&&!J1(p,String(i),r))return null;for(let m of e)if(!J1(p,String(m),r))return!1;return!0}let o,c,u,l,d=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1,f=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1;d&&d.prerelease.length===1&&i.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let p of e){if(l=l||p.operator===">"||p.operator===">=",u=u||p.operator==="<"||p.operator==="<=",s){if(f&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===f.major&&p.semver.minor===f.minor&&p.semver.patch===f.patch&&(f=!1),p.operator===">"||p.operator===">="){if(o=wxe(s,p,r),o===p&&o!==s)return!1}else if(s.operator===">="&&!J1(s.semver,String(p),r))return!1}if(i){if(d&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===d.major&&p.semver.minor===d.minor&&p.semver.patch===d.patch&&(d=!1),p.operator==="<"||p.operator==="<="){if(c=Rxe(i,p,r),c===p&&c!==i)return!1}else if(i.operator==="<="&&!J1(i.semver,String(p),r))return!1}if(!p.operator&&(i||s)&&a!==0)return!1}return!(s&&u&&!i&&a!==0||i&&l&&!s&&a!==0||f||d)},wxe=(t,e,r)=>{if(!t)return e;let n=w$(t.semver,e.semver,r);return n>0?t:n<0||e.operator===">"&&t.operator===">="?e:t},Rxe=(t,e,r)=>{if(!t)return e;let n=w$(t.semver,e.semver,r);return n<0?t:n>0||e.operator==="<"&&t.operator==="<="?e:t};Nxe.exports=F2t});var N$=E((LDr,Dxe)=>{"use strict";var R$=iy(),Pxe=Q1(),j2t=Oi(),kxe=p$(),H2t=Bm(),Q2t=iye(),G2t=oye(),K2t=lye(),V2t=pye(),z2t=hye(),Y2t=Aye(),J2t=xye(),X2t=Eye(),Z2t=Yo(),eRt=Iye(),tRt=Tye(),rRt=NN(),nRt=Oye(),sRt=kye(),iRt=K1(),aRt=ON(),oRt=g$(),cRt=A$(),uRt=PN(),lRt=kN(),dRt=y$(),fRt=qye(),pRt=V1(),mRt=Jo(),hRt=Y1(),gRt=nxe(),ARt=ixe(),yRt=oxe(),xRt=lxe(),bRt=fxe(),ERt=LN(),_Rt=yxe(),SRt=bxe(),vRt=Sxe(),IRt=Ixe(),CRt=Oxe();Dxe.exports={parse:H2t,valid:Q2t,clean:G2t,inc:K2t,diff:V2t,major:z2t,minor:Y2t,patch:J2t,prerelease:X2t,compare:Z2t,rcompare:eRt,compareLoose:tRt,compareBuild:rRt,sort:nRt,rsort:sRt,gt:iRt,lt:aRt,eq:oRt,neq:cRt,gte:uRt,lte:lRt,cmp:dRt,coerce:fRt,Comparator:pRt,Range:mRt,satisfies:hRt,toComparators:gRt,maxSatisfying:ARt,minSatisfying:yRt,minVersion:xRt,validRange:bRt,outside:ERt,gtr:_Rt,ltr:SRt,intersects:vRt,simplifyRange:IRt,subset:CRt,SemVer:j2t,re:R$.re,src:R$.src,tokens:R$.t,SEMVER_SPEC_VERSION:Pxe.SEMVER_SPEC_VERSION,RELEASE_TYPES:Pxe.RELEASE_TYPES,compareIdentifiers:kxe.compareIdentifiers,rcompareIdentifiers:kxe.rcompareIdentifiers}});var WN=E((MDr,D$)=>{"use strict";var MN=GAe(),TRt=N$(),{FSTDEP005:wRt,FSTDEP012:RRt,FSTDEP015:NRt,FSTDEP016:ORt,FSTDEP017:PRt,FSTDEP018:kRt}=od(),{kHasBeenDecorated:DRt,kSchemaBody:BRt,kSchemaHeaders:LRt,kSchemaParams:MRt,kSchemaQuerystring:Bxe,kSchemaController:O$,kOptions:WRt,kRequestCacheValidateFns:_p,kRouteContext:us,kPublicRouteContext:Lxe,kRequestOriginalUrl:P$}=Gs(),{FST_ERR_REQ_INVALID_VALIDATION_INVOCATION:$Rt}=Ci(),Mxe={body:BRt,headers:LRt,params:MRt,querystring:Bxe,query:Bxe};function k$(t,e,r,n,s,i){this.id=t,this[us]=i,this.params=e,this.raw=r,this.query=n,this.log=s,this.body=void 0}k$.props=[];function FRt(t){if(typeof t=="function")return t;if(t===!0)return function(){return!0};if(typeof t=="number")return function(e,r){return r<t};if(typeof t=="string"){let e=t.split(",").map(r=>r.trim());return MN.compile(e)}return MN.compile(t)}function URt(t,e){return e?qRt(t,e):$xe(t)}function $xe(t){let e=t.props.slice();function r(n,s,i,a,o,c){this.id=n,this[us]=c,this.params=s,this.raw=i,this.query=a,this.log=o,this.body=void 0;for(var u,l=0;l<e.length;l++)u=e[l],this[u.key]=u.value}return Object.setPrototypeOf(r.prototype,t.prototype),Object.setPrototypeOf(r,t),r.props=e,r.parent=t,r}function Wxe(t){let e=t.lastIndexOf(",");return e===-1?t.trim():t.slice(e+1).trim()}function qRt(t,e){let r=$xe(t),n=FRt(e);return r[DRt]=!0,Object.defineProperties(r.prototype,{ip:{get(){return MN(this.raw,n)}},ips:{get(){return MN.all(this.raw,n)}},hostname:{get(){return this.ip!==void 0&&this.headers["x-forwarded-host"]?Wxe(this.headers["x-forwarded-host"]):this.headers.host||this.headers[":authority"]}},protocol:{get(){if(this.headers["x-forwarded-proto"])return Wxe(this.headers["x-forwarded-proto"]);if(this.socket)return this.socket.encrypted?"https":"http"}}}),r}Object.defineProperties(k$.prototype,{server:{get(){return this[us].server}},url:{get(){return this.raw.url}},originalUrl:{get(){return this[P$]||(this[P$]=this.raw.originalUrl||this.raw.url),this[P$]}},method:{get(){return this.raw.method}},context:{get(){return RRt(),this[us]}},routerPath:{get(){return PRt(),this[us].config?.url}},routeOptions:{get(){let t=this[us],e=t._parserOptions.limit,r=t.server.initialConfig.bodyLimit,n=t.server.hasConstraintStrategy("version")?this.raw.headers["accept-version"]:void 0,s={method:t.config?.method,url:t.config?.url,bodyLimit:e||r,attachValidation:t.attachValidation,logLevel:t.logLevel,exposeHeadRoute:t.exposeHeadRoute,prefixTrailingSlash:t.prefixTrailingSlash,handler:t.handler,version:n};return Object.defineProperties(s,{config:{get:()=>t.config},schema:{get:()=>t.schema}}),Object.freeze(s)}},routerMethod:{get(){return kRt(),this[us].config?.method}},routeConfig:{get(){return ORt(),this[us][Lxe]?.config}},routeSchema:{get(){return NRt(),this[us][Lxe].schema}},is404:{get(){return this[us].config?.url===void 0}},connection:{get(){return TRt.gte(process.versions.node,"13.0.0")&&wRt(),this.raw.connection}},socket:{get(){return this.raw.socket}},ip:{get(){if(this.socket)return this.socket.remoteAddress}},hostname:{get(){return this.raw.headers.host||this.raw.headers[":authority"]}},protocol:{get(){if(this.socket)return this.socket.encrypted?"https":"http"}},headers:{get(){return this.additionalHeaders?Object.assign({},this.raw.headers,this.additionalHeaders):this.raw.headers},set(t){this.additionalHeaders=t}},getValidationFunction:{value:function(t){if(typeof t=="string"){let e=Mxe[t];return this[us][e]}else if(typeof t=="object")return this[us][_p]?.get(t)}},compileValidationSchema:{value:function(t,e=null){let{method:r,url:n}=this;if(this[us][_p]?.has(t))return this[us][_p].get(t);let i=(this[us].validatorCompiler||this.server[O$].validatorCompiler||this.server[O$].setupValidator(this.server[WRt])||this.server[O$].validatorCompiler)({schema:t,method:r,url:n,httpPart:e});return this[us][_p]==null&&(this[us][_p]=new WeakMap),this[us][_p].set(t,i),i}},validateInput:{value:function(t,e,r){r=typeof e=="string"?e:r;let n=r!=null&&typeof r=="string"&&Mxe[r],s;if(n&&(s=this[us][n]),s==null&&(e==null||typeof e!="object"||Array.isArray(e)))throw new $Rt(r);return s==null&&(this[us][_p]?.has(e)?s=this[us][_p].get(e):s=this.compileValidationSchema(e,r)),s(t)}}});D$.exports=k$;D$.exports.buildRequest=URt});var $N=E((WDr,Fxe)=>{"use strict";var{kFourOhFourContext:jRt,kReplySerializerDefault:HRt,kSchemaErrorFormatter:QRt,kErrorHandler:GRt,kChildLoggerFactory:KRt,kOptions:VRt,kReply:zRt,kRequest:YRt,kBodyLimit:JRt,kLogLevel:XRt,kContentTypeParser:ZRt,kRouteByFastify:eNt,kRequestCacheValidateFns:tNt,kReplyCacheSerializeFns:rNt,kPublicRouteContext:nNt}=Gs();function sNt({schema:t,handler:e,config:r,requestIdLogLabel:n,childLoggerFactory:s,errorHandler:i,bodyLimit:a,logLevel:o,logSerializers:c,attachValidation:u,validatorCompiler:l,serializerCompiler:d,replySerializer:f,schemaErrorFormatter:p,exposeHeadRoute:m,prefixTrailingSlash:h,server:A,isFastify:g}){this.schema=t,this.handler=e,this.Reply=A[zRt],this.Request=A[YRt],this.contentTypeParser=A[ZRt],this.onRequest=null,this.onSend=null,this.onError=null,this.onTimeout=null,this.preHandler=null,this.onResponse=null,this.preSerialization=null,this.onRequestAbort=null,this.config=r,this.errorHandler=i||A[GRt],this.requestIdLogLabel=n||A[VRt].requestIdLogLabel,this.childLoggerFactory=s||A[KRt],this._middie=null,this._parserOptions={limit:a||A[JRt]},this.exposeHeadRoute=m,this.prefixTrailingSlash=h,this.logLevel=o||A[XRt],this.logSerializers=c,this[jRt]=null,this.attachValidation=u,this[HRt]=f,this.schemaErrorFormatter=p||A[QRt]||aNt,this[eNt]=g,this[tNt]=null,this[rNt]=null,this.validatorCompiler=l||null,this.serializerCompiler=d||null,this[nNt]=iNt(this),this.server=A}function iNt(t){return Object.create(null,{schema:{enumerable:!0,get(){return t.schema}},config:{enumerable:!0,get(){return t.config}}})}function aNt(t,e){let r="",n=", ";for(var s=0;s!==t.length;++s){let i=t[s];r+=e+(i.instancePath||"")+" "+i.message+n}return new Error(r.slice(0,-n.length))}Fxe.exports=sNt});var B$=E(($Dr,Uxe)=>{"use strict";Uxe.exports={supportedMethods:["DELETE","GET","HEAD","PATCH","POST","PUT","OPTIONS","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","TRACE","SEARCH"]}});var F$=E((FDr,Qxe)=>{"use strict";var{kReply:L$,kRequest:M$,kState:oNt,kHasBeenDecorated:cNt}=Gs(),{FST_ERR_DEC_ALREADY_PRESENT:qxe,FST_ERR_DEC_MISSING_DEPENDENCY:uNt,FST_ERR_DEC_AFTER_START:lNt,FST_ERR_DEC_DEPENDENCY_INVALID_TYPE:dNt}=Ci(),{FSTDEP006:fNt}=od();function pNt(t,e,r,n){if(Object.prototype.hasOwnProperty.call(t,e))throw new qxe(e);W$(t,e,n),r&&(typeof r.getter=="function"||typeof r.setter=="function")?Object.defineProperty(t,e,{get:r.getter,set:r.setter}):t[e]=r}function jxe(t,e,r,n){let s=t.prototype;if(Object.prototype.hasOwnProperty.call(s,e)||UN(t,e))throw new qxe(e);t[cNt]=!0,W$(t,e,n),r&&(typeof r.getter=="function"||typeof r.setter=="function")?Object.defineProperty(s,e,{get:r.getter,set:r.setter}):typeof r=="function"?s[e]=r:t.props.push({key:e,value:r})}function Hxe(t,e){typeof e=="object"&&e&&!(typeof e.getter=="function"||typeof e.setter=="function")&&fNt(t)}function mNt(t,e,r){return $$(this,t),pNt(this,t,e,r),this}function FN(t,e){return e?e in t||t.prototype&&e in t.prototype||UN(t,e):t in this}function UN(t,e){return t.props?t.props.find(({key:r})=>r===e):!1}function hNt(t){return t&&UN(this[M$],t)?!0:FN(this[M$].prototype,t)}function gNt(t){return t&&UN(this[L$],t)?!0:FN(this[L$].prototype,t)}function W$(t,e,r){if(r!=null){if(!Array.isArray(r))throw new dNt(e);for(var n=0;n!==r.length;++n)if(!FN(t,r[n]))throw new uNt(r[n])}}function ANt(t,e,r){return $$(this,t),Hxe(t,e),jxe(this[L$],t,e,r),this}function yNt(t,e,r){return $$(this,t),Hxe(t,e),jxe(this[M$],t,e,r),this}function $$(t,e){if(t[oNt].started)throw new lNt(e)}Qxe.exports={add:mNt,exist:FN,existRequest:hNt,existReply:gNt,dependencies:W$,decorateReply:ANt,decorateRequest:yNt}});var Kxe=E(Vu=>{"use strict";var U$=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=r}get size(){return this.items.size}clear(){this.items=new Map,this.first=null,this.last=null}delete(e){if(this.items.has(e)){let r=this.items.get(e);this.items.delete(e),r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(this.items.has(e))return this.items.get(e).expiry}get(e){if(this.items.has(e)){let r=this.items.get(e);if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return this.items.keys()}set(e,r){if(this.items.has(e)){let s=this.items.get(e);s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items.set(e,n),this.size===1?this.first=n:this.last.next=n,this.last=n}},q$=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=r}get size(){return this.items.size}bumpLru(e){if(this.last===e)return;let r=this.last,n=e.next,s=e.prev;this.first===e&&(this.first=n),e.next=null,e.prev=r,r.next=e,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=e}clear(){this.items=new Map,this.first=null,this.last=null}delete(e){if(this.items.has(e)){let r=this.items.get(e);this.items.delete(e),r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(this.items.has(e))return this.items.get(e).expiry}get(e){if(this.items.has(e)){let r=this.items.get(e);if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(r),r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return this.items.keys()}set(e,r){if(this.items.has(e)){let s=this.items.get(e);s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.last!==s&&this.bumpLru(s);return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items.set(e,n),this.size===1?this.first=n:this.last.next=n,this.last=n}},X1=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=r}bumpLru(e){if(this.last===e)return;let r=this.last,n=e.next,s=e.prev;this.first===e&&(this.first=n),e.next=null,e.prev=r,r.next=e,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=e}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];delete this.items[e],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(Object.prototype.hasOwnProperty.call(this.items,e))return this.items[e].expiry}get(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(r),r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return Object.keys(this.items)}set(e,r){if(Object.prototype.hasOwnProperty.call(this.items,e)){let s=this.items[e];s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.last!==s&&this.bumpLru(s);return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items[e]=n,++this.size===1?this.first=n:this.last.next=n,this.last=n}},qN=class{constructor(){this.records={}}initForCache(e,r){this.records[e]={[r]:{cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}}resetForCache(e){for(let r of Object.keys(this.records[e]))this.records[e][r]={cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}getStatistics(){return this.records}};function Gxe(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}var j$=class{constructor(e,r,n){this.cacheId=e,this.statisticTtlInHours=r,this.collectionStart=new Date,this.currentTimeStamp=Gxe(this.collectionStart),this.records=n||new qN,this.records.initForCache(this.cacheId,this.currentTimeStamp)}get currentRecord(){return this.records.records[this.cacheId][this.currentTimeStamp]||(this.records.records[this.cacheId][this.currentTimeStamp]={cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,sets:0,invalidateOne:0,invalidateAll:0}),this.records.records[this.cacheId][this.currentTimeStamp]}hoursPassed(){return(Date.now()-this.collectionStart)/1e3/60/60}addHit(){this.archiveIfNeeded(),this.currentRecord.hits++}addFalsyHit(){this.archiveIfNeeded(),this.currentRecord.falsyHits++}addEmptyHit(){this.archiveIfNeeded(),this.currentRecord.emptyHits++}addMiss(){this.archiveIfNeeded(),this.currentRecord.misses++}addEviction(){this.archiveIfNeeded(),this.currentRecord.evictions++}setCacheSize(e){this.archiveIfNeeded(),this.currentRecord.cacheSize=e}addExpiration(){this.archiveIfNeeded(),this.currentRecord.expirations++}addSet(){this.archiveIfNeeded(),this.currentRecord.sets++}addInvalidateOne(){this.archiveIfNeeded(),this.currentRecord.invalidateOne++}addInvalidateAll(){this.archiveIfNeeded(),this.currentRecord.invalidateAll++}getStatistics(){return this.records.getStatistics()}archiveIfNeeded(){this.hoursPassed()>=this.statisticTtlInHours&&(this.collectionStart=new Date,this.currentTimeStamp=Gxe(this.collectionStart),this.records.initForCache(this.cacheId,this.currentTimeStamp))}},jN=class extends X1{constructor(e,r,n,s,i){if(super(e||1e3,r||0),!n)throw new Error("Cache id is mandatory");this.hitStatistics=new j$(n,i!==void 0?i:24,s)}getStatistics(){return this.hitStatistics.getStatistics()}set(e,r){super.set(e,r),this.hitStatistics.addSet(),this.hitStatistics.setCacheSize(this.size)}evict(){super.evict(),this.hitStatistics.addEviction(),this.hitStatistics.setCacheSize(this.size)}delete(e,r=!1){super.delete(e),r||this.hitStatistics.addInvalidateOne(),this.hitStatistics.setCacheSize(this.size)}clear(){super.clear(),this.hitStatistics.addInvalidateAll(),this.hitStatistics.setCacheSize(this.size)}get(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e,!0),this.hitStatistics.addExpiration();return}return this.bumpLru(r),r.value||this.hitStatistics.addFalsyHit(),(r.value===void 0||r.value===null||r.value==="")&&this.hitStatistics.addEmptyHit(),this.hitStatistics.addHit(),r.value}this.hitStatistics.addMiss()}},HN=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=r}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];delete this.items[e],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(Object.prototype.hasOwnProperty.call(this.items,e))return this.items[e].expiry}get(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return Object.keys(this.items)}set(e,r){if(Object.prototype.hasOwnProperty.call(this.items,e)){let s=this.items[e];s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items[e]=n,++this.size===1?this.first=n:this.last.next=n,this.last=n}};Vu.Fifo=HN;Vu.FifoMap=U$;Vu.FifoObject=HN;Vu.HitStatisticsRecord=qN;Vu.Lru=X1;Vu.LruHitStatistics=jN;Vu.LruMap=q$;Vu.LruObject=X1;Vu.LruObjectHitStatistics=jN});var Jxe=E((qDr,Z1)=>{"use strict";var KN=function(){};KN.prototype=Object.create(null);var QN=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu,GN=/\\([\v\u0020-\u00ff])/gu,Vxe=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u,Lm={type:"",parameters:new KN};Object.freeze(Lm.parameters);Object.freeze(Lm);function zxe(t){if(typeof t!="string")throw new TypeError("argument header is required and must be a string");let e=t.indexOf(";"),r=e!==-1?t.slice(0,e).trim():t.trim();if(Vxe.test(r)===!1)throw new TypeError("invalid media type");let n={type:r.toLowerCase(),parameters:new KN};if(e===-1)return n;let s,i,a;for(QN.lastIndex=e;i=QN.exec(t);){if(i.index!==e)throw new TypeError("invalid parameter format");e+=i[0].length,s=i[1].toLowerCase(),a=i[2],a[0]==='"'&&(a=a.slice(1,a.length-1),GN.test(a)&&(a=a.replace(GN,"$1"))),n.parameters[s]=a}if(e!==t.length)throw new TypeError("invalid parameter format");return n}function Yxe(t){if(typeof t!="string")return Lm;let e=t.indexOf(";"),r=e!==-1?t.slice(0,e).trim():t.trim();if(Vxe.test(r)===!1)return Lm;let n={type:r.toLowerCase(),parameters:new KN};if(e===-1)return n;let s,i,a;for(QN.lastIndex=e;i=QN.exec(t);){if(i.index!==e)return Lm;e+=i[0].length,s=i[1].toLowerCase(),a=i[2],a[0]==='"'&&(a=a.slice(1,a.length-1),GN.test(a)&&(a=a.replace(GN,"$1"))),n.parameters[s]=a}return e!==t.length?Lm:n}Z1.exports.default={parse:zxe,safeParse:Yxe};Z1.exports.parse=zxe;Z1.exports.safeParse=Yxe;Z1.exports.defaultContentType=Lm});var rbe=E((jDr,ay)=>{"use strict";var xNt=typeof Buffer<"u",Xxe=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,Zxe=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function ebe(t,e,r){r==null&&e!==null&&typeof e=="object"&&(r=e,e=void 0),xNt&&Buffer.isBuffer(t)&&(t=t.toString()),t&&t.charCodeAt(0)===65279&&(t=t.slice(1));let n=JSON.parse(t,e);if(n===null||typeof n!="object")return n;let s=r&&r.protoAction||"error",i=r&&r.constructorAction||"error";if(s==="ignore"&&i==="ignore")return n;if(s!=="ignore"&&i!=="ignore"){if(Xxe.test(t)===!1&&Zxe.test(t)===!1)return n}else if(s!=="ignore"&&i==="ignore"){if(Xxe.test(t)===!1)return n}else if(Zxe.test(t)===!1)return n;return tbe(n,{protoAction:s,constructorAction:i,safe:r&&r.safe})}function tbe(t,{protoAction:e="error",constructorAction:r="error",safe:n}={}){let s=[t];for(;s.length;){let i=s;s=[];for(let a of i){if(e!=="ignore"&&Object.prototype.hasOwnProperty.call(a,"__proto__")){if(n===!0)return null;if(e==="error")throw new SyntaxError("Object contains forbidden prototype property");delete a.__proto__}if(r!=="ignore"&&Object.prototype.hasOwnProperty.call(a,"constructor")&&Object.prototype.hasOwnProperty.call(a.constructor,"prototype")){if(n===!0)return null;if(r==="error")throw new SyntaxError("Object contains forbidden prototype property");delete a.constructor}for(let o in a){let c=a[o];c&&typeof c=="object"&&s.push(c)}}}return t}function H$(t,e,r){let n=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return ebe(t,e,r)}finally{Error.stackTraceLimit=n}}function bNt(t,e){let r=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return ebe(t,e,{safe:!0})}catch{return null}finally{Error.stackTraceLimit=r}}ay.exports=H$;ay.exports.default=H$;ay.exports.parse=H$;ay.exports.safeParse=bNt;ay.exports.scan=tbe});var z$=E((HDr,t_)=>{"use strict";var{AsyncResource:ENt}=require("node:async_hooks"),{Fifo:sbe}=Kxe(),{safeParse:ibe,defaultContentType:_Nt}=Jxe(),SNt=rbe(),{kDefaultJsonParse:e_,kContentTypeParser:oy,kBodyLimit:vNt,kRequestPayloadStream:abe,kState:G$,kTestInternals:INt,kReplyIsError:obe,kRouteContext:CNt}=Gs(),{FST_ERR_CTP_INVALID_TYPE:cbe,FST_ERR_CTP_EMPTY_TYPE:TNt,FST_ERR_CTP_ALREADY_PRESENT:wNt,FST_ERR_CTP_INVALID_HANDLER:RNt,FST_ERR_CTP_INVALID_PARSE_TYPE:NNt,FST_ERR_CTP_BODY_TOO_LARGE:nbe,FST_ERR_CTP_INVALID_MEDIA_TYPE:ONt,FST_ERR_CTP_INVALID_CONTENT_LENGTH:PNt,FST_ERR_CTP_EMPTY_JSON_BODY:kNt,FST_ERR_CTP_INSTANCE_ALREADY_STARTED:K$}=Ci();function gd(t,e,r){this[e_]=lbe(e,r),this.customParsers=new Map,this.customParsers.set("application/json",new Q$(!0,!1,t,this[e_])),this.customParsers.set("text/plain",new Q$(!0,!1,t,V$)),this.parserList=[new VN("application/json"),new VN("text/plain")],this.parserRegExpList=[],this.cache=new sbe(100)}gd.prototype.add=function(t,e,r){let n=typeof t=="string";if(!n&&!(t instanceof RegExp))throw new cbe;if(n&&t.length===0)throw new TNt;if(typeof r!="function")throw new RNt;if(this.existingParser(t))throw new wNt(t);if(e.parseAs!==void 0&&e.parseAs!=="string"&&e.parseAs!=="buffer")throw new NNt(e.parseAs);let s=new Q$(e.parseAs==="string",e.parseAs==="buffer",e.bodyLimit,r);n&&t==="*"?this.customParsers.set("",s):(n?this.parserList.unshift(new VN(t)):(t.isEssence=t.source.indexOf(";")===-1,this.parserRegExpList.unshift(t)),this.customParsers.set(t.toString(),s))};gd.prototype.hasParser=function(t){return this.customParsers.has(typeof t=="string"?t:t.toString())};gd.prototype.existingParser=function(t){return t==="application/json"&&this.customParsers.has(t)?this.customParsers.get(t).fn!==this[e_]:t==="text/plain"&&this.customParsers.has(t)?this.customParsers.get(t).fn!==V$:this.hasParser(t)};gd.prototype.getParser=function(t){if(this.hasParser(t))return this.customParsers.get(t);let e=this.cache.get(t);if(e!==void 0)return e;let r=ibe(t);if(r===_Nt)return this.customParsers.get("");for(var n=0;n!==this.parserList.length;++n){let i=this.parserList[n];if($Nt(r,i)){let a=this.customParsers.get(i.name);return this.cache.set(t,a),a}}for(var s=0;s!==this.parserRegExpList.length;++s){let i=this.parserRegExpList[s];if(FNt(t,r.type,i)){let a=this.customParsers.get(i.toString());return this.cache.set(t,a),a}}return this.customParsers.get("")};gd.prototype.removeAll=function(){this.customParsers=new Map,this.parserRegExpList=[],this.parserList=[],this.cache=new sbe(100)};gd.prototype.remove=function(t){if(!(typeof t=="string"||t instanceof RegExp))throw new cbe;let e=this.customParsers.delete(t.toString()),r=typeof t=="string"?this.parserList:this.parserRegExpList,n=r.findIndex(s=>s.toString()===t.toString());return n>-1&&r.splice(n,1),e||n>-1};gd.prototype.run=function(t,e,r,n){let s=this.getParser(t);if(s===void 0){r.is404?e(r,n):n.send(new ONt(t||void 0));return}let i=new ENt("content-type-parser:run",r);if(s.asString===!0||s.asBuffer===!0)ube(r,n,n[CNt]._parserOptions,s,a);else{let o=s.fn(r,r[abe],a);o&&typeof o.then=="function"&&o.then(c=>a(null,c),a)}function a(o,c){i.runInAsyncScope(()=>{i.emitDestroy(),o?(n[obe]=!0,n.send(o)):(r.body=c,e(r,n))})}};function ube(t,e,r,n,s){let i=n.asString,a=r.limit===null?n.bodyLimit:r.limit,o=t.headers["content-length"]===void 0?NaN:Number(t.headers["content-length"]);if(o>a){e.header("connection","close"),e.send(new nbe);return}let c=0,u=i===!0?"":[],l=t[abe]||t.raw;i===!0&&l.setEncoding("utf8"),l.on("data",d),l.on("end",f),l.on("error",f),l.resume();function d(p){c+=p.length;let{receivedEncodedLength:m=0}=l;if(c>a||m>a){l.removeListener("data",d),l.removeListener("end",f),l.removeListener("error",f),e.send(new nbe);return}i===!0?u+=p:u.push(p)}function f(p){if(l.removeListener("data",d),l.removeListener("end",f),l.removeListener("error",f),p!==void 0){typeof p.statusCode=="number"&&p.statusCode>=400||(p.statusCode=400),e[obe]=!0,e.code(p.statusCode).send(p);return}if(i===!0&&(c=Buffer.byteLength(u)),!Number.isNaN(o)&&(l.receivedEncodedLength||c)!==o){e.header("connection","close"),e.send(new PNt);return}i===!1&&(u=Buffer.concat(u));let m=n.fn(t,u,s);m&&typeof m.then=="function"&&m.then(h=>s(null,h),s)}}function lbe(t,e){return r;function r(n,s,i){if(s===""||s==null||Buffer.isBuffer(s)&&s.length===0)return i(new kNt,void 0);let a;try{a=SNt.parse(s,{protoAction:t,constructorAction:e})}catch(o){return o.statusCode=400,i(o,void 0)}i(null,a)}}function V$(t,e,r){r(null,e)}function Q$(t,e,r,n){this.asString=t,this.asBuffer=e,this.bodyLimit=r,this.fn=n}function DNt(t){let e=new gd;return e[e_]=t[e_],e.customParsers=new Map(t.customParsers.entries()),e.parserList=t.parserList.slice(),e.parserRegExpList=t.parserRegExpList.slice(),e}function BNt(t,e,r){if(this[G$].started)throw new K$("addContentTypeParser");return typeof e=="function"&&(r=e,e={}),e||(e={}),e.bodyLimit||(e.bodyLimit=this[vNt]),Array.isArray(t)?t.forEach(n=>this[oy].add(n,e,r)):this[oy].add(t,e,r),this}function LNt(t){return this[oy].hasParser(t)}function MNt(t){if(this[G$].started)throw new K$("removeContentTypeParser");if(Array.isArray(t))for(let e of t)this[oy].remove(e);else this[oy].remove(t)}function WNt(){if(this[G$].started)throw new K$("removeAllContentTypeParsers");this[oy].removeAll()}function $Nt(t,e){if(e.isEssence)return t.type.indexOf(e)!==-1;if(t.type.indexOf(e.type)===-1)return!1;for(let r of e.parameterKeys)if(!(r in t.parameters)||t.parameters[r]!==e.parameters[r])return!1;return!0}function FNt(t,e,r){return r.isEssence?r.test(e):r.test(t)}function VN(t){this.name=t;let e=ibe(t);if(this.isEssence=t.indexOf(";")===-1,this.isEssence===!1&&e.type===""){let r=t.split(";",1)[0];this.type=r===""?t:r}else this.type=e.type;this.parameters=e.parameters,this.parameterKeys=Object.keys(e.parameters)}VN.prototype.toString=function(){return this.name};t_.exports=gd;t_.exports.helpers={buildContentTypeParser:DNt,addContentTypeParser:BNt,hasContentTypeParser:LNt,removeContentTypeParser:MNt,removeAllContentTypeParsers:WNt};t_.exports.defaultParsers={getDefaultJsonParser:lbe,defaultTextParser:V$};t_.exports[INt]={rawBody:ube}});var mbe=E((QDr,pbe)=>{"use strict";var dbe=Ko(),UNt=Symbol.for("json-schema-ref"),Y$=class{#e;#t;#r;#n;#a;constructor(e={}){this.#e={},this.#t={},this.#r=e.insertRefSymbol??!1,this.#n=e.allowEqualDuplicates??!0,this.#a=e.cloneSchemaWithoutRefs??!1}addSchema(e,r){e.$id!==void 0&&e.$id.charAt(0)!=="#"?r=e.$id:this.#l(e,r),this.#s(e,r)}getSchema(e,r="#"){let n=this.#e[e];if(n===void 0)throw new Error(`Cannot resolve ref "${e}${r}". Schema with id "${e}" is not found.`);return n.anchors[r]!==void 0?n.anchors[r]:fbe(n.schema,r)}hasSchema(e){return this.#e[e]!==void 0}getSchemaRefs(e){let r=this.#e[e];if(r===void 0)throw new Error(`Schema with id "${e}" is not found.`);return r.refs}getSchemaDependencies(e,r={}){let n=this.#e[e];for(let s of n.refs){let i=s.schemaId;r[i]===void 0&&(r[i]=this.getSchema(i),this.getSchemaDependencies(i,r))}return r}derefSchema(e){if(this.#t[e]!==void 0)return;let r=this.#e[e];if(r===void 0)throw new Error(`Schema with id "${e}" is not found.`);!this.#a&&r.refs.length===0&&(this.#t[e]={schema:r.schema,anchors:r.anchors});let n=[];this.#i(r.schema,e,n);let s=this.getSchemaDependencies(e);for(let i in s){let a=s[i];this.#i(a,i,n)}for(let i of n){let{refSchemaId:a,refJsonPointer:o}=this.#o(i.ref,i.sourceSchemaId),c=this.getDerefSchema(a,o);if(c===null)throw new Error(`Cannot resolve ref "${i.ref}". Ref "${o}" is not found in schema "${a}".`);i.targetSchema=c,i.targetSchemaId=a}for(let i of n)this.#c(i,n)}getDerefSchema(e,r="#"){let n=this.#t[e];return n===void 0&&(this.derefSchema(e),n=this.#t[e]),n.anchors[r]!==void 0?n.anchors[r]:fbe(n.schema,r)}#o(e,r){let n=e.indexOf("#");return n===-1?{refSchemaId:e,refJsonPointer:"#"}:n===0?{refSchemaId:r,refJsonPointer:e}:{refSchemaId:e.slice(0,n),refJsonPointer:e.slice(n)}}#s(e,r){let n=e.$id;n!==void 0&&typeof n=="string"&&(n.charAt(0)==="#"?this.#h(e,r,n):(this.#l(e,n),r=n));let s=e.$ref;if(s!==void 0&&typeof s=="string"){let{refSchemaId:i,refJsonPointer:a}=this.#o(s,r);this.#e[r].refs.push({schemaId:i,jsonPointer:a})}for(let i in e)typeof e[i]=="object"&&e[i]!==null&&this.#s(e[i],r)}#i(e,r,n=[]){let s=Array.isArray(e)?[...e]:{...e},i=s.$id;i!==void 0&&typeof i=="string"&&(i.charAt(0)==="#"?this.#d(s,r,i):(this.#p(s,i),r=i)),s.$ref!==void 0&&n.push({ref:s.$ref,sourceSchemaId:r,sourceSchema:s});for(let a in s){let o=s[a];typeof o=="object"&&o!==null&&(s[a]=this.#i(o,r,n))}return s}#c(e,r){let{sourceSchema:n,targetSchema:s}=e;if(n.$ref){if(this.#r&&(n[UNt]=n.$ref),delete n.$ref,s.$ref){let i=r.find(a=>a.sourceSchema===s);this.#c(i,r)}for(let i in s)if(i!=="$id"){if(n[i]!==void 0){if(dbe(n[i],s[i]))continue;throw new Error(`Cannot resolve ref "${e.ref}". Property "${i}" is already exist in schema "${e.sourceSchemaId}".`)}n[i]=s[i]}e.isResolved=!0}}#l(e,r){let n=this.#e[r];if(n!==void 0){if(this.#n&&dbe(e,n.schema))return;throw new Error(`There is already another schema with id "${r}".`)}this.#e[r]={schema:e,anchors:{},refs:[]}}#h(e,r,n){let{anchors:s}=this.#e[r];if(s[n]!==void 0)throw new Error(`There is already another anchor "${n}" in a schema "${r}".`);s[n]=e}#p(e,r){this.#t[r]===void 0&&(this.#t[r]={schema:e,anchors:{}})}#d(e,r,n){let{anchors:s}=this.#t[r];s[n]=e}};function fbe(t,e){let r=e.split("/"),n=t;for(let s of r)if(!(s===""||s==="#")){if(typeof n!="object"||n===null)return null;n=n[s]}return n??null}pbe.exports={RefResolver:Y$}});var gbe=E((GDr,hbe)=>{"use strict";var J$=class t{constructor(e,r,n="#"){this.schema=e,this.schemaId=r,this.jsonPointer=n}getPropertyLocation(e){return new t(this.schema[e],this.schemaId,this.jsonPointer+"/"+e)}getSchemaRef(){return this.schemaId+this.jsonPointer}};hbe.exports=J$});var Ebe=E((KDr,Z$)=>{"use strict";Z$.exports=De;Z$.exports.default=De;var qNt={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0},Abe={enum:["array","boolean","integer","null","number","object","string"]},ybe=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,jNt=pN().fullFormats.uri,xbe=pN().fullFormats.regex;function Xo(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0,o=a;return typeof t=="number"&&!(t%1)&&!isNaN(t)&&isFinite(t)?a===o&&typeof t=="number"&&isFinite(t)&&(t<0||isNaN(t))?(Xo.errors=[{instancePath:e,schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1):(Xo.errors=i,a===0):(Xo.errors=[{instancePath:e,schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1)}var X$={validate:De};function sa(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0;if(a===0)if(Array.isArray(t)){if(t.length<1)return sa.errors=[{instancePath:e,schemaPath:"#/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"}],!1;{var o=!0;let c=t.length;for(let u=0;u<c;u++){let l=a;X$.validate(t[u],{instancePath:e+"/"+u,parentData:t,parentDataProperty:u,rootData:s})||(i=i===null?X$.validate.errors:i.concat(X$.validate.errors),a=i.length);var o=l===a;if(!o)break}}}else return sa.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;return sa.errors=i,a===0}var bbe=k1().default;function De(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0;if(!(t&&typeof t=="object"&&!Array.isArray(t))&&typeof t!="boolean")return De.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:qNt.type},message:"must be object,boolean"}],!1;if(a===0&&t&&typeof t=="object"&&!Array.isArray(t)){if(t.$id!==void 0){let y=t.$id,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!ybe.test(y))return De.errors=[{instancePath:e+"/$id",schemaPath:"#/properties/%24id/format",keyword:"format",params:{format:"uri-reference"},message:'must match format "uri-reference"'}],!1}else return De.errors=[{instancePath:e+"/$id",schemaPath:"#/properties/%24id/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.$schema!==void 0){let y=t.$schema,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!jNt(y))return De.errors=[{instancePath:e+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'}],!1}else return De.errors=[{instancePath:e+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.$ref!==void 0){let y=t.$ref,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!ybe.test(y))return De.errors=[{instancePath:e+"/$ref",schemaPath:"#/properties/%24ref/format",keyword:"format",params:{format:"uri-reference"},message:'must match format "uri-reference"'}],!1}else return De.errors=[{instancePath:e+"/$ref",schemaPath:"#/properties/%24ref/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.$comment!==void 0){let y=a;if(typeof t.$comment!="string")return De.errors=[{instancePath:e+"/$comment",schemaPath:"#/properties/%24comment/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.title!==void 0){let y=a;if(typeof t.title!="string")return De.errors=[{instancePath:e+"/title",schemaPath:"#/properties/title/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.description!==void 0){let y=a;if(typeof t.description!="string")return De.errors=[{instancePath:e+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.readOnly!==void 0){let y=a;if(typeof t.readOnly!="boolean")return De.errors=[{instancePath:e+"/readOnly",schemaPath:"#/properties/readOnly/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;var o=y===a}else var o=!0;if(o){if(t.examples!==void 0){let y=a;if(a===y&&!Array.isArray(t.examples))return De.errors=[{instancePath:e+"/examples",schemaPath:"#/properties/examples/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=y===a}else var o=!0;if(o){if(t.multipleOf!==void 0){let y=t.multipleOf,x=a;if(a===x)if(typeof y=="number"&&isFinite(y)){if(y<=0||isNaN(y))return De.errors=[{instancePath:e+"/multipleOf",schemaPath:"#/properties/multipleOf/exclusiveMinimum",keyword:"exclusiveMinimum",params:{comparison:">",limit:0},message:"must be > 0"}],!1}else return De.errors=[{instancePath:e+"/multipleOf",schemaPath:"#/properties/multipleOf/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.maximum!==void 0){let y=t.maximum,x=a;if(!(typeof y=="number"&&isFinite(y)))return De.errors=[{instancePath:e+"/maximum",schemaPath:"#/properties/maximum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.exclusiveMaximum!==void 0){let y=t.exclusiveMaximum,x=a;if(!(typeof y=="number"&&isFinite(y)))return De.errors=[{instancePath:e+"/exclusiveMaximum",schemaPath:"#/properties/exclusiveMaximum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.minimum!==void 0){let y=t.minimum,x=a;if(!(typeof y=="number"&&isFinite(y)))return De.errors=[{instancePath:e+"/minimum",schemaPath:"#/properties/minimum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.exclusiveMinimum!==void 0){let y=t.exclusiveMinimum,x=a;if(!(typeof y=="number"&&isFinite(y)))return De.errors=[{instancePath:e+"/exclusiveMinimum",schemaPath:"#/properties/exclusiveMinimum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.maxLength!==void 0){let y=t.maxLength,x=a,v=a;if(!(typeof y=="number"&&!(y%1)&&!isNaN(y)&&isFinite(y)))return De.errors=[{instancePath:e+"/maxLength",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof y=="number"&&isFinite(y)&&(y<0||isNaN(y)))return De.errors=[{instancePath:e+"/maxLength",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=x===a}else var o=!0;if(o){if(t.minLength!==void 0){let y=a;Xo(t.minLength,{instancePath:e+"/minLength",parentData:t,parentDataProperty:"minLength",rootData:s})||(i=i===null?Xo.errors:i.concat(Xo.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.pattern!==void 0){let y=t.pattern,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!xbe(y))return De.errors=[{instancePath:e+"/pattern",schemaPath:"#/properties/pattern/format",keyword:"format",params:{format:"regex"},message:'must match format "regex"'}],!1}else return De.errors=[{instancePath:e+"/pattern",schemaPath:"#/properties/pattern/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.additionalItems!==void 0){let y=a;De(t.additionalItems,{instancePath:e+"/additionalItems",parentData:t,parentDataProperty:"additionalItems",rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.items!==void 0){let y=t.items,x=a,v=a,I=!1,R=a;De(y,{instancePath:e+"/items",parentData:t,parentDataProperty:"items",rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var c=R===a;if(I=I||c,!I){let N=a;sa(y,{instancePath:e+"/items",parentData:t,parentDataProperty:"items",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var c=N===a;I=I||c}if(I)a=v,i!==null&&(v?i.length=v:i=null);else{let N={instancePath:e+"/items",schemaPath:"#/properties/items/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[N]:i.push(N),a++,De.errors=i,!1}var o=x===a}else var o=!0;if(o){if(t.maxItems!==void 0){let y=t.maxItems,x=a,v=a;if(!(typeof y=="number"&&!(y%1)&&!isNaN(y)&&isFinite(y)))return De.errors=[{instancePath:e+"/maxItems",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof y=="number"&&isFinite(y)&&(y<0||isNaN(y)))return De.errors=[{instancePath:e+"/maxItems",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=x===a}else var o=!0;if(o){if(t.minItems!==void 0){let y=a;Xo(t.minItems,{instancePath:e+"/minItems",parentData:t,parentDataProperty:"minItems",rootData:s})||(i=i===null?Xo.errors:i.concat(Xo.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.uniqueItems!==void 0){let y=a;if(typeof t.uniqueItems!="boolean")return De.errors=[{instancePath:e+"/uniqueItems",schemaPath:"#/properties/uniqueItems/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;var o=y===a}else var o=!0;if(o){if(t.contains!==void 0){let y=a;De(t.contains,{instancePath:e+"/contains",parentData:t,parentDataProperty:"contains",rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.maxProperties!==void 0){let y=t.maxProperties,x=a,v=a;if(!(typeof y=="number"&&!(y%1)&&!isNaN(y)&&isFinite(y)))return De.errors=[{instancePath:e+"/maxProperties",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof y=="number"&&isFinite(y)&&(y<0||isNaN(y)))return De.errors=[{instancePath:e+"/maxProperties",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=x===a}else var o=!0;if(o){if(t.minProperties!==void 0){let y=a;Xo(t.minProperties,{instancePath:e+"/minProperties",parentData:t,parentDataProperty:"minProperties",rootData:s})||(i=i===null?Xo.errors:i.concat(Xo.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.required!==void 0){let y=t.required,x=a;if(a===a)if(Array.isArray(y)){var u=!0;let R=y.length;for(let w=0;w<R;w++){let N=a;if(typeof y[w]!="string")return De.errors=[{instancePath:e+"/required/"+w,schemaPath:"#/definitions/stringArray/items/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var u=N===a;if(!u)break}if(u){let w=y.length,N;if(w>1){let P={};for(;w--;){let B=y[w];if(typeof B=="string"){if(typeof P[B]=="number"){return N=P[B],De.errors=[{instancePath:e+"/required",schemaPath:"#/definitions/stringArray/uniqueItems",keyword:"uniqueItems",params:{i:w,j:N},message:"must NOT have duplicate items (items ## "+N+" and "+w+" are identical)"}],!1;break}P[B]=w}}}}}else return De.errors=[{instancePath:e+"/required",schemaPath:"#/definitions/stringArray/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=x===a}else var o=!0;if(o){if(t.additionalProperties!==void 0){let y=a;De(t.additionalProperties,{instancePath:e+"/additionalProperties",parentData:t,parentDataProperty:"additionalProperties",rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.definitions!==void 0){let y=t.definitions,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y))for(let I in y){let R=a;De(y[I],{instancePath:e+"/definitions/"+I.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:I,rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var l=R===a;if(!l)break}else return De.errors=[{instancePath:e+"/definitions",schemaPath:"#/properties/definitions/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.properties!==void 0){let y=t.properties,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y))for(let I in y){let R=a;De(y[I],{instancePath:e+"/properties/"+I.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:I,rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var d=R===a;if(!d)break}else return De.errors=[{instancePath:e+"/properties",schemaPath:"#/properties/properties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.patternProperties!==void 0){let y=t.patternProperties,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y)){for(let I in y){let R=a;if(a===R&&typeof I=="string"&&!xbe(I)){let w={instancePath:e+"/patternProperties",schemaPath:"#/properties/patternProperties/propertyNames/format",keyword:"format",params:{format:"regex"},message:'must match format "regex"',propertyName:I};i===null?i=[w]:i.push(w),a++}var f=R===a;if(!f){let w={instancePath:e+"/patternProperties",schemaPath:"#/properties/patternProperties/propertyNames",keyword:"propertyNames",params:{propertyName:I},message:"property name must be valid"};return i===null?i=[w]:i.push(w),a++,De.errors=i,!1;break}}if(f)for(let I in y){let R=a;De(y[I],{instancePath:e+"/patternProperties/"+I.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:I,rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var p=R===a;if(!p)break}}else return De.errors=[{instancePath:e+"/patternProperties",schemaPath:"#/properties/patternProperties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.dependencies!==void 0){let y=t.dependencies,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y))for(let I in y){let R=y[I],w=a,N=a,P=!1,B=a;De(R,{instancePath:e+"/dependencies/"+I.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:I,rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var m=B===a;if(P=P||m,!P){let M=a;if(a===a)if(Array.isArray(R)){var h=!0;let Z=R.length;for(let W=0;W<Z;W++){let F=a;if(typeof R[W]!="string"){let j={instancePath:e+"/dependencies/"+I.replace(/~/g,"~0").replace(/\//g,"~1")+"/"+W,schemaPath:"#/definitions/stringArray/items/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[j]:i.push(j),a++}var h=F===a;if(!h)break}if(h){let W=R.length,F;if(W>1){let K={};for(;W--;){let j=R[W];if(typeof j=="string"){if(typeof K[j]=="number"){F=K[j];let J={instancePath:e+"/dependencies/"+I.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/stringArray/uniqueItems",keyword:"uniqueItems",params:{i:W,j:F},message:"must NOT have duplicate items (items ## "+F+" and "+W+" are identical)"};i===null?i=[J]:i.push(J),a++;break}K[j]=W}}}}}else{let Z={instancePath:e+"/dependencies/"+I.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/stringArray/type",keyword:"type",params:{type:"array"},message:"must be array"};i===null?i=[Z]:i.push(Z),a++}var m=M===a;P=P||m}if(P)a=N,i!==null&&(N?i.length=N:i=null);else{let M={instancePath:e+"/dependencies/"+I.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/dependencies/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[M]:i.push(M),a++,De.errors=i,!1}var A=w===a;if(!A)break}else return De.errors=[{instancePath:e+"/dependencies",schemaPath:"#/properties/dependencies/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.propertyNames!==void 0){let y=a;De(t.propertyNames,{instancePath:e+"/propertyNames",parentData:t,parentDataProperty:"propertyNames",rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.enum!==void 0){let y=t.enum,x=a;if(a===x)if(Array.isArray(y)){if(y.length<1)return De.errors=[{instancePath:e+"/enum",schemaPath:"#/properties/enum/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"}],!1;{let I=y.length,R;if(I>1){e:for(;I--;)for(R=I;R--;)if(bbe(y[I],y[R])){return De.errors=[{instancePath:e+"/enum",schemaPath:"#/properties/enum/uniqueItems",keyword:"uniqueItems",params:{i:I,j:R},message:"must NOT have duplicate items (items ## "+R+" and "+I+" are identical)"}],!1;break e}}}}else return De.errors=[{instancePath:e+"/enum",schemaPath:"#/properties/enum/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=x===a}else var o=!0;if(o){if(t.type!==void 0){let y=t.type,x=a,v=a,I=!1,R=a;if(!(y==="array"||y==="boolean"||y==="integer"||y==="null"||y==="number"||y==="object"||y==="string")){let N={instancePath:e+"/type",schemaPath:"#/definitions/simpleTypes/enum",keyword:"enum",params:{allowedValues:Abe.enum},message:"must be equal to one of the allowed values"};i===null?i=[N]:i.push(N),a++}var g=R===a;if(I=I||g,!I){let N=a;if(a===N)if(Array.isArray(y))if(y.length<1){let B={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf/1/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};i===null?i=[B]:i.push(B),a++}else{var b=!0;let B=y.length;for(let M=0;M<B;M++){let D=y[M],L=a;if(!(D==="array"||D==="boolean"||D==="integer"||D==="null"||D==="number"||D==="object"||D==="string")){let W={instancePath:e+"/type/"+M,schemaPath:"#/definitions/simpleTypes/enum",keyword:"enum",params:{allowedValues:Abe.enum},message:"must be equal to one of the allowed values"};i===null?i=[W]:i.push(W),a++}var b=L===a;if(!b)break}if(b){let M=y.length,D;if(M>1){e:for(;M--;)for(D=M;D--;)if(bbe(y[M],y[D])){let L={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf/1/uniqueItems",keyword:"uniqueItems",params:{i:M,j:D},message:"must NOT have duplicate items (items ## "+D+" and "+M+" are identical)"};i===null?i=[L]:i.push(L),a++;break e}}}}else{let B={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf/1/type",keyword:"type",params:{type:"array"},message:"must be array"};i===null?i=[B]:i.push(B),a++}var g=N===a;I=I||g}if(I)a=v,i!==null&&(v?i.length=v:i=null);else{let N={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[N]:i.push(N),a++,De.errors=i,!1}var o=x===a}else var o=!0;if(o){if(t.format!==void 0){let y=a;if(typeof t.format!="string")return De.errors=[{instancePath:e+"/format",schemaPath:"#/properties/format/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.contentMediaType!==void 0){let y=a;if(typeof t.contentMediaType!="string")return De.errors=[{instancePath:e+"/contentMediaType",schemaPath:"#/properties/contentMediaType/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.contentEncoding!==void 0){let y=a;if(typeof t.contentEncoding!="string")return De.errors=[{instancePath:e+"/contentEncoding",schemaPath:"#/properties/contentEncoding/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.if!==void 0){let y=a;De(t.if,{instancePath:e+"/if",parentData:t,parentDataProperty:"if",rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.then!==void 0){let y=a;De(t.then,{instancePath:e+"/then",parentData:t,parentDataProperty:"then",rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.else!==void 0){let y=a;De(t.else,{instancePath:e+"/else",parentData:t,parentDataProperty:"else",rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.allOf!==void 0){let y=a;sa(t.allOf,{instancePath:e+"/allOf",parentData:t,parentDataProperty:"allOf",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.anyOf!==void 0){let y=a;sa(t.anyOf,{instancePath:e+"/anyOf",parentData:t,parentDataProperty:"anyOf",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.oneOf!==void 0){let y=a;sa(t.oneOf,{instancePath:e+"/oneOf",parentData:t,parentDataProperty:"oneOf",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var o=y===a}else var o=!0;if(o)if(t.not!==void 0){let y=a;De(t.not,{instancePath:e+"/not",parentData:t,parentDataProperty:"not",rootData:s})||(i=i===null?De.errors:i.concat(De.errors),a=i.length);var o=y===a}else var o=!0}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return De.errors=i,a===0}});var nF=E((VDr,_be)=>{"use strict";var eF=class extends Error{constructor(e,r){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Failed to merge "${e}" keyword schemas.`,this.schemas=r}},tF=class extends Error{constructor(e,r){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Resolver for "${e}" keyword not found.`,this.schemas=r}},rF=class extends Error{constructor(e){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Invalid "onConflict" option: "${e}".`}};_be.exports={MergeError:eF,ResolverNotFoundError:tF,InvalidOnConflictOptionError:rF}});var Ibe=E((zDr,vbe)=>{"use strict";var HNt=Ko(),{MergeError:sF}=nF();function Sbe(t){let e=t[0];for(let r=1;r<t.length;r++)e=e.filter(n=>t[r].includes(n));return e}function QNt(t,e,r){let n=Sbe(e);if(n.length===0)throw new sF(t,e);r[t]=n}function GNt(t,e,r){for(let s=0;s<e.length;s++)Array.isArray(e[s])||(e[s]=[e[s]]);let n=Sbe(e);if(n.length===0)throw new sF(t,e);n.length===1?r[t]=n[0]:r[t]=n}function KNt(t,e,r){let n=[];for(let s of e)for(let i of s)n.includes(i)||n.push(i);r[t]=n}function VNt(t,e,r){r[t]=Math.min(...e)}function zNt(t,e,r){r[t]=Math.max(...e)}function YNt(t,e,r){let n=(o,c)=>c?n(c,o%c):o,s=(o,c)=>o*c/n(o,c),i=1;for(let o of e)for(;o*i%1!==0;)i*=10;let a=e[0]*i;for(let o of e)a=s(a,o*i);r[t]=a/i}function JNt(t,e,r){let n=e[0];for(let s=1;s<e.length;s++)if(!HNt(e[s],n))throw new sF(t,e);r[t]=n}function XNt(){}function ZNt(t,e,r){for(let n of e)if(n===!1){r[t]=!1;return}r[t]=!0}function eOt(t,e,r){for(let n of e)if(n===!0){r[t]=!0;return}r[t]=!1}vbe.exports={arraysIntersection:QNt,hybridArraysIntersection:GNt,arraysUnion:KNt,minNumber:VNt,maxNumber:zNt,commonMultiple:YNt,allEqual:JNt,booleanAnd:ZNt,booleanOr:eOt,skip:XNt}});var Obe=E((YDr,Nbe)=>{"use strict";var tOt=Ko(),jn=Ibe(),JN=nF(),wbe={$id:jn.skip,type:jn.hybridArraysIntersection,enum:jn.arraysIntersection,minLength:jn.maxNumber,maxLength:jn.minNumber,minimum:jn.maxNumber,maximum:jn.minNumber,multipleOf:jn.commonMultiple,exclusiveMinimum:jn.maxNumber,exclusiveMaximum:jn.minNumber,minItems:jn.maxNumber,maxItems:jn.minNumber,maxProperties:jn.minNumber,minProperties:jn.maxNumber,const:jn.allEqual,default:jn.allEqual,format:jn.allEqual,required:jn.arraysUnion,properties:oOt,patternProperties:YN,additionalProperties:zN,items:sOt,additionalItems:iOt,definitions:YN,$defs:YN,nullable:jn.booleanAnd,oneOf:Cbe,anyOf:Cbe,allOf:jn.arraysUnion,not:zN,if:cOt,then:jn.skip,else:jn.skip,dependencies:Tbe,dependentRequired:Tbe,dependentSchemas:YN,propertyNames:zN,uniqueItems:jn.booleanOr,contains:zN};function zN(t,e,r,n,s){r[t]=Qc(e,s)}function rOt(t){let e=[[]];for(let r of t){let n=[];for(let s of e)for(let i of r)n.push([...s,i]);e=n}return e}function Cbe(t,e,r,n,s){if(e.length===1){r[t]=e[0];return}let i=rOt(e),a=[];for(let o of i)try{let c=Qc(o,s);c!==void 0&&a.push(c)}catch(c){if(c instanceof JN.MergeError)continue;throw c}r[t]=a}function nOt(t,e){let{items:r,additionalItems:n}=t;return Array.isArray(r)?e<r.length?r[e]:n:r!==void 0?r:n}function sOt(t,e,r,n,s){let i=0;for(let o of e)Array.isArray(o)&&(i=Math.max(i,o.length));if(i===0){r[t]=Qc(e,s);return}let a=[];for(let o=0;o<i;o++){let c=[];for(let u of n){let l=nOt(u,o);l!==void 0&&c.push(l)}a[o]=Qc(c,s)}r[t]=a}function iOt(t,e,r,n,s){let i=!1;for(let o of n)if(Array.isArray(o.items)){i=!0;break}if(!i){r[t]=Qc(e,s);return}let a=[];for(let o of n){let c=o.additionalItems;c===void 0&&!Array.isArray(o.items)&&(c=o.items),c!==void 0&&a.push(c)}r[t]=Qc(a,s)}function aOt(t,e){let{properties:r,patternProperties:n,additionalProperties:s}=t;if(r?.[e]!==void 0)return r[e];for(let i of Object.keys(n??{}))if(new RegExp(i).test(e))return n[i];return s}function oOt(t,e,r,n,s){let i={};for(let o of n){let c=o.properties??{};for(let u of Object.keys(c)){if(i[u]!==void 0)continue;let l=c[u];i[u]=[l];for(let d of n){if(o===d)continue;let f=aOt(d,u);f!==void 0&&i[u].push(f)}}}let a={};for(let o of Object.keys(i)){let c=i[o];a[o]=Qc(c,s)}r[t]=a}function YN(t,e,r,n,s){let i={};for(let o of e)for(let c of Object.keys(o))i[c]===void 0&&(i[c]=[]),i[c].push(o[c]);let a={};for(let o of Object.keys(i)){let c=i[o],u=Qc(c,s);a[o]=u}r[t]=a}function cOt(t,e,r,n,s){for(let i=0;i<n.length;i++){let a={if:n[i].if,then:n[i].then,else:n[i].else};if(a.if!==void 0){if(r.if===void 0){r.if=a.if,a.then!==void 0&&(r.then=a.then),a.else!==void 0&&(r.else=a.else);continue}r.then!==void 0&&(r.then=Qc([r.then,a],s)),r.else!==void 0&&(r.else=Qc([r.else,a],s))}}}function Tbe(t,e,r){let n={};for(let s of e)for(let i of Object.keys(s)){n[i]===void 0&&(n[i]=[]);let a=n[i];for(let o of s[i])a.includes(o)||a.push(o)}r[t]=n}function Qc(t,e){if(t.length===0)return{};if(t.length===1)return t[0];let r={},n={},s=!0;for(let i of t){if(i===!1)return!1;if(i!==!0){s=!1;for(let a of Object.keys(i))n[a]===void 0&&(n[a]=[]),n[a].push(i[a])}}if(s)return!0;for(let i of Object.keys(n)){let a=n[i];(e.resolvers[i]??e.defaultResolver)(i,a,r,t,e)}return r}function Rbe(t,e,r,n,s){let i=s.onConflict??"throw";if(e.length===1||i==="first"){r[t]=e[0];return}let a=!0;for(let o=1;o<e.length;o++)if(!tOt(e[o],e[0])){a=!1;break}if(a){r[t]=e[0];return}if(i==="throw")throw new JN.ResolverNotFoundError(t,e);if(i!=="skip")throw new JN.InvalidOnConflictOptionError(i)}function uOt(t,e={}){return e.defaultResolver===void 0&&(e.defaultResolver=Rbe),e.resolvers={...wbe,...e.resolvers},Qc(t,e)}Nbe.exports={mergeSchemas:uOt,keywordsResolvers:wbe,defaultResolver:Rbe,...JN}});var kbe=E((JDr,Pbe)=>{"use strict";var{mergeSchemas:lOt}=Obe();function dOt(t){return lOt(t,{onConflict:"skip"})}Pbe.exports=dOt});var qbe=E((XDr,cy)=>{"use strict";var{RefResolver:fOt}=mbe(),pOt=r8(),mOt=ZW(),Mm=gbe(),Dbe=Ebe(),hOt=kbe(),gOt=/'/g,XN=2e4,Lbe="default",AOt=["floor","ceil","round","trunc"],Mbe=["default","json-stringify"],r_=0;function iF(t,e){if(!Dbe(t)){e?e=`"${e}" `:e="";let r=Dbe.errors[0],n=new Error(`${e}schema is invalid: data${r.instancePath} ${r.message}`);throw n.errors=iF.errors,n}}function n_(t,e){let r=e.schema.$ref,n=r.indexOf("#");n===-1&&(n=r.length);let s=r.slice(0,n)||e.schemaId,i=r.slice(n)||"#",a=t.refResolver.getSchema(s,i);if(a===null)throw new Error(`Cannot find reference "${r}"`);let o=new Mm(a,s,i);return a.$ref!==void 0?n_(t,o):o}function ZN(t,e){let r=t.refResolver.getSchema(e,"#");return new Mm(r,e,"#")}function Bbe(t,e){return t.$id&&t.$id.charAt(0)!=="#"?t.$id:e}function aF(t,e){iF(t),e=e||{};let r={functions:[],functionsCounter:0,functionsNamesBySchema:new Map,options:e,refResolver:new fOt,rootSchemaId:t.$id||`__fjs_root_${r_++}`,validatorSchemasIds:new Set,mergedSchemasIds:new Map},n=Bbe(t,r.rootSchemaId);if(r.refResolver.hasSchema(n)||r.refResolver.addSchema(t,r.rootSchemaId),e.schema)for(let l in e.schema){let d=e.schema[l],f=Bbe(d,l);r.refResolver.hasSchema(f)||(iF(d,l),r.refResolver.addSchema(d,l))}if(e.rounding&&!AOt.includes(e.rounding))throw new Error(`Unsupported integer rounding method ${e.rounding}`);if(e.largeArrayMechanism)if(Mbe.includes(e.largeArrayMechanism))Lbe=e.largeArrayMechanism;else throw new Error(`Unsupported large array mechanism ${e.largeArrayMechanism}`);if(e.largeArraySize)if(typeof e.largeArraySize=="string"&&Number.isFinite(Number.parseInt(e.largeArraySize,10)))XN=Number.parseInt(e.largeArraySize,10);else if(typeof e.largeArraySize=="number"&&Number.isInteger(e.largeArraySize))XN=e.largeArraySize;else if(typeof e.largeArraySize=="bigint")XN=Number(e.largeArraySize);else throw new Error(`Unsupported large array size. Expected integer-like, got ${typeof e.largeArraySize} with value ${e.largeArraySize}`);let s=new Mm(t,r.rootSchemaId),i=bo(r,s,"input"),a=`
|
|
const JSON_STR_BEGIN_OBJECT = '{'
|
|
const JSON_STR_END_OBJECT = '}'
|
|
const JSON_STR_BEGIN_ARRAY = '['
|
|
const JSON_STR_END_ARRAY = ']'
|
|
const JSON_STR_COMMA = ','
|
|
const JSON_STR_COLONS = ':'
|
|
const JSON_STR_QUOTE = '"'
|
|
const JSON_STR_EMPTY_OBJECT = JSON_STR_BEGIN_OBJECT + JSON_STR_END_OBJECT
|
|
const JSON_STR_EMPTY_ARRAY = JSON_STR_BEGIN_ARRAY + JSON_STR_END_ARRAY
|
|
const JSON_STR_EMPTY_STRING = JSON_STR_QUOTE + JSON_STR_QUOTE
|
|
const JSON_STR_NULL = 'null'
|
|
`;i==="json += anonymous0(input)"?a+=`
|
|
${r.functions.join(`
|
|
`)}
|
|
const main = anonymous0
|
|
return main
|
|
`:a+=`
|
|
function main (input) {
|
|
let json = ''
|
|
${i}
|
|
return json
|
|
}
|
|
${r.functions.join(`
|
|
`)}
|
|
return main
|
|
`;let o=new pOt(e),c=new mOt(e.ajv);for(let l of r.validatorSchemasIds){let d=r.refResolver.getSchema(l);c.addSchema(d,l);let f=r.refResolver.getSchemaDependencies(l);for(let[p,m]of Object.entries(f))c.addSchema(m,p)}if(e.debugMode&&(e.mode="debug"),e.mode==="debug")return{validator:c,serializer:o,code:`validator
|
|
serializer
|
|
${a}`,ajv:c.ajv};let u=new Function("validator","serializer",a);return e.mode==="standalone"?t$()(u,r,o,c):u(c,o)}var yOt=["properties","required","additionalProperties","patternProperties","maxProperties","minProperties","dependencies"],xOt=["items","additionalItems","maxItems","minItems","uniqueItems","contains"],bOt=["maxLength","minLength","pattern"],EOt=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum"];function _Ot(t){for(var e of yOt)if(e in t)return"object";for(var e of xOt)if(e in t)return"array";for(var e of bOt)if(e in t)return"string";for(var e of EOt)if(e in t)return"number";return t.type}function SOt(t,e,r){let n=e.schema,s=Object.keys(n.properties||{}),i=`
|
|
const propertiesKeys = ${JSON.stringify(s)}
|
|
for (const [key, value] of Object.entries(obj)) {
|
|
if (
|
|
propertiesKeys.includes(key) ||
|
|
value === undefined ||
|
|
typeof value === 'function' ||
|
|
typeof value === 'symbol'
|
|
) continue
|
|
`,a=e.getPropertyLocation("patternProperties"),o=a.schema;if(o!==void 0)for(let l in o){let d=a.getPropertyLocation(l);i+=`
|
|
if (/${l.replace(/\\*\//g,"\\/")}/.test(key)) {
|
|
${r}
|
|
json += serializer.asString(key) + JSON_STR_COLONS
|
|
${bo(t,d,"value")}
|
|
continue
|
|
}
|
|
`}let u=e.getPropertyLocation("additionalProperties").schema;if(u!==void 0)if(u===!0)i+=`
|
|
${r}
|
|
json += serializer.asString(key) + JSON_STR_COLONS + JSON.stringify(value)
|
|
`;else{let l=e.getPropertyLocation("additionalProperties");i+=`
|
|
${r}
|
|
json += serializer.asString(key) + JSON_STR_COLONS
|
|
${bo(t,l,"value")}
|
|
`}return i+=`
|
|
}
|
|
`,i}function vOt(t,e){let r=e.schema,n=e.getPropertyLocation("properties"),s=r.required||[],i=Object.keys(r.properties||{}).sort((u,l)=>{let d=s.includes(u),f=s.includes(l);return d===f?0:d?-1:1}),a=s.includes(i[0]),o=`let value
|
|
`;for(let u of s)if(!i.includes(u)){let l=JSON.stringify(u);o+=`if (obj[${l}] === undefined) throw new Error('${l.replace(/'/g,"\\'")} is required!')
|
|
`}o+=`let json = JSON_STR_BEGIN_OBJECT
|
|
`;let c="";a||(o+=`let addComma = false
|
|
`,c="!addComma && (addComma = true) || (json += JSON_STR_COMMA)");for(let u of i){let l=n.getPropertyLocation(u);l.schema.$ref&&(l=n_(t,l));let d=JSON.stringify(u),f=l.schema.default,p=s.includes(u);o+=`
|
|
value = obj[${d}]
|
|
if (value !== undefined) {
|
|
${c}
|
|
json += ${JSON.stringify(d+":")}
|
|
${bo(t,l,"value")}
|
|
}`,f!==void 0?o+=` else {
|
|
${c}
|
|
json += ${JSON.stringify(d+":"+JSON.stringify(f))}
|
|
}
|
|
`:p?o+=` else {
|
|
throw new Error('${d.replace(/'/g,"\\'")} is required!')
|
|
}
|
|
`:o+=`
|
|
`,a&&(c="json += ','")}return(r.patternProperties||r.additionalProperties)&&(o+=SOt(t,e,c)),o+=`
|
|
return json + JSON_STR_END_OBJECT
|
|
`,o}function eO(t,e,r){for(let a=0;a<r.length;a++){let o=r[a];o.schema.$ref&&(r[a]=n_(t,o))}let n=[];for(let a of r){let o=Wbe(t,a.schema,a.schemaId);delete o.$id,n.push(o)}let s=hOt(n),i=new Mm(s,e);return t.refResolver.addSchema(s,e),i}function Wbe(t,e,r){let n=Array.isArray(e)?[]:{};e.$id!==void 0&&e.$id.charAt(0)!=="#"&&(r=e.$id);let s=t.mergedSchemasIds.get(e);s&&t.mergedSchemasIds.set(n,s);for(let i in e){let a=e[i];i==="$ref"&&typeof a=="string"&&a.charAt(0)==="#"&&(a=r+a),typeof a=="object"&&a!==null&&(a=Wbe(t,a,r)),n[i]=a}return n}function IOt(t){return`(${t} && typeof ${t}.toJSON === 'function')
|
|
? ${t}.toJSON()
|
|
: ${t}
|
|
`}function COt(t,e){let r=e.schema;if(t.functionsNamesBySchema.has(r))return t.functionsNamesBySchema.get(r);let n=Fbe(t);t.functionsNamesBySchema.set(r,n);let s=e.getSchemaRef();s.startsWith(t.rootSchemaId)&&(s=s.replace(t.rootSchemaId,""));let i=`
|
|
`,a=r.nullable===!0;return i+=`
|
|
// ${s}
|
|
function ${n} (input) {
|
|
const obj = ${IOt("input")}
|
|
${a?"":"if (obj === null) return JSON_STR_EMPTY_OBJECT"}
|
|
|
|
${vOt(t,e)}
|
|
}
|
|
`,t.functions.push(i),n}function TOt(t,e){let r=e.schema,n=e.getPropertyLocation("items");n.schema=n.schema||{},n.schema.$ref&&(n=n_(t,n));let s=n.schema;if(t.functionsNamesBySchema.has(r))return t.functionsNamesBySchema.get(r);let i=Fbe(t);t.functionsNamesBySchema.set(r,i);let a=e.getSchemaRef();a.startsWith(t.rootSchemaId)&&(a=a.replace(t.rootSchemaId,""));let o=`
|
|
function ${i} (obj) {
|
|
// ${a}
|
|
`,c=r.nullable===!0;if(o+=`
|
|
${c?"":"if (obj === null) return JSON_STR_EMPTY_ARRAY"}
|
|
if (!Array.isArray(obj)) {
|
|
throw new TypeError(\`The value of '${a}' does not match schema definition.\`)
|
|
}
|
|
const arrayLength = obj.length
|
|
`,!r.additionalItems&&Array.isArray(s)&&(o+=`
|
|
if (arrayLength > ${s.length}) {
|
|
throw new Error(\`Item at ${s.length} does not match schema definition.\`)
|
|
}
|
|
`),Lbe==="json-stringify"&&(o+=`if (arrayLength >= ${XN}) return JSON.stringify(obj)
|
|
`),o+=`
|
|
const arrayEnd = arrayLength - 1
|
|
let value
|
|
let json = ''
|
|
`,Array.isArray(s)){for(let u=0;u<s.length;u++){let l=s[u];o+=`value = obj[${u}]`;let d=bo(t,n.getPropertyLocation(u),"value");o+=`
|
|
if (${u} < arrayLength) {
|
|
if (${$be(l.type,`[${u}]`)}) {
|
|
${d}
|
|
if (${u} < arrayEnd) {
|
|
json += JSON_STR_COMMA
|
|
}
|
|
} else {
|
|
throw new Error(\`Item at ${u} does not match schema definition.\`)
|
|
}
|
|
}
|
|
`}r.additionalItems&&(o+=`
|
|
for (let i = ${s.length}; i < arrayLength; i++) {
|
|
json += JSON.stringify(obj[i])
|
|
if (i < arrayEnd) {
|
|
json += JSON_STR_COMMA
|
|
}
|
|
}`)}else{let u=bo(t,n,"obj[i]");o+=`
|
|
for (let i = 0; i < arrayLength; i++) {
|
|
${u}
|
|
if (i < arrayEnd) {
|
|
json += JSON_STR_COMMA
|
|
}
|
|
}`}return o+=`
|
|
return JSON_STR_BEGIN_ARRAY + json + JSON_STR_END_ARRAY
|
|
}`,t.functions.push(o),i}function $be(t,e){let r;switch(t){case"null":r="value === null";break;case"string":r=`typeof value === 'string' ||
|
|
value === null ||
|
|
value instanceof Date ||
|
|
value instanceof RegExp ||
|
|
(
|
|
typeof value === "object" &&
|
|
typeof value.toString === "function" &&
|
|
value.toString !== Object.prototype.toString
|
|
)`;break;case"integer":r="Number.isInteger(value)";break;case"number":r="Number.isFinite(value)";break;case"boolean":r="typeof value === 'boolean'";break;case"object":r="value && typeof value === 'object' && value.constructor === Object";break;case"array":r="Array.isArray(value)";break;default:Array.isArray(t)&&(r=`(${t.map(s=>$be(s,e)).join(" || ")})`)}return r}function Fbe(t){return"anonymous"+t.functionsCounter++}function wOt(t,e,r){let s=e.schema.type.sort(o=>o==="null"?-1:1),i="";s.forEach((o,c)=>{e.schema={...e.schema,type:o};let u=Ube(t,e,r),l=c===0?"if":"else if";switch(o){case"null":i+=`
|
|
${l} (${r} === null)
|
|
${u}
|
|
`;break;case"string":{i+=`
|
|
${l}(
|
|
typeof ${r} === "string" ||
|
|
${r} === null ||
|
|
${r} instanceof Date ||
|
|
${r} instanceof RegExp ||
|
|
(
|
|
typeof ${r} === "object" &&
|
|
typeof ${r}.toString === "function" &&
|
|
${r}.toString !== Object.prototype.toString
|
|
)
|
|
)
|
|
${u}
|
|
`;break}case"array":{i+=`
|
|
${l}(Array.isArray(${r}))
|
|
${u}
|
|
`;break}case"integer":{i+=`
|
|
${l}(Number.isInteger(${r}) || ${r} === null)
|
|
${u}
|
|
`;break}default:{i+=`
|
|
${l}(typeof ${r} === "${o}" || ${r} === null)
|
|
${u}
|
|
`;break}}});let a=e.getSchemaRef();return a.startsWith(t.rootSchemaId)&&(a=a.replace(t.rootSchemaId,"")),i+=`
|
|
else throw new TypeError(\`The value of '${a}' does not match schema definition.\`)
|
|
`,i}function Ube(t,e,r){let n=e.schema;switch(n.type){case"null":return"json += JSON_STR_NULL";case"string":return n.format==="date-time"?`json += serializer.asDateTime(${r})`:n.format==="date"?`json += serializer.asDate(${r})`:n.format==="time"?`json += serializer.asTime(${r})`:n.format==="unsafe"?`json += serializer.asUnsafeString(${r})`:`
|
|
if (typeof ${r} !== 'string') {
|
|
if (${r} === null) {
|
|
json += JSON_STR_EMPTY_STRING
|
|
} else if (${r} instanceof Date) {
|
|
json += JSON_STR_QUOTE + ${r}.toISOString() + JSON_STR_QUOTE
|
|
} else if (${r} instanceof RegExp) {
|
|
json += serializer.asString(${r}.source)
|
|
} else {
|
|
json += serializer.asString(${r}.toString())
|
|
}
|
|
} else {
|
|
json += serializer.asString(${r})
|
|
}
|
|
`;case"integer":return`json += serializer.asInteger(${r})`;case"number":return`json += serializer.asNumber(${r})`;case"boolean":return`json += serializer.asBoolean(${r})`;case"object":return`json += ${COt(t,e)}(${r})`;case"array":return`json += ${TOt(t,e)}(${r})`;case void 0:return`json += JSON.stringify(${r})`;default:throw new Error(`${n.type} unsupported`)}}function ROt(t,e){let r=t.schema,n=r.type,s=Array.isArray(n)&&n.includes("null"),i="";return s&&(i+=`
|
|
if (${e} === null) {
|
|
json += JSON_STR_NULL
|
|
} else {
|
|
`),i+=`json += '${JSON.stringify(r.const).replace(gOt,"\\'")}'`,s&&(i+=`
|
|
}
|
|
`),i}function NOt(t,e,r){let n=e.schema,s=t.mergedSchemasIds.get(n);if(s){let l=ZN(t,s);return bo(t,l,r)}s=`__fjs_merged_${r_++}`,t.mergedSchemasIds.set(n,s);let{allOf:i,...a}=e.schema,o=[new Mm(a,e.schemaId,e.jsonPointer)],c=e.getPropertyLocation("allOf");for(let l=0;l<i.length;l++)o.push(c.getPropertyLocation(l));let u=eO(t,s,o);return bo(t,u,r)}function OOt(t,e,r){t.validatorSchemasIds.add(e.schemaId);let s=e.schema.anyOf?"anyOf":"oneOf",{[s]:i,...a}=e.schema,o=new Mm(a,e.schemaId,e.jsonPointer),c=e.getPropertyLocation(s),u="";for(let d=0;d<i.length;d++){let f=c.getPropertyLocation(d),p=f.schema,m=t.mergedSchemasIds.get(p),h=null;m?h=ZN(t,m):(m=`__fjs_merged_${r_++}`,t.mergedSchemasIds.set(p,m),h=eO(t,m,[o,f]));let A=bo(t,h,r),g=f.getSchemaRef();u+=`
|
|
${d===0?"if":"else if"}(validator.validate("${g}", ${r}))
|
|
${A}
|
|
`}let l=e.getSchemaRef();return l.startsWith(t.rootSchemaId)&&(l=l.replace(t.rootSchemaId,"")),u+=`
|
|
else throw new TypeError(\`The value of '${l}' does not match schema definition.\`)
|
|
`,u}function POt(t,e,r){t.validatorSchemasIds.add(e.schemaId);let{if:n,then:s,else:i,...a}=e.schema,o=new Mm(a,e.schemaId,e.jsonPointer),u=e.getPropertyLocation("if").getSchemaRef(),l=e.getPropertyLocation("then"),d=t.mergedSchemasIds.get(s),f=null;if(d?f=ZN(t,d):(d=`__fjs_merged_${r_++}`,t.mergedSchemasIds.set(s,d),f=eO(t,d,[o,l])),!i)return`
|
|
if (validator.validate("${u}", ${r})) {
|
|
${bo(t,f,r)}
|
|
} else {
|
|
${bo(t,o,r)}
|
|
}
|
|
`;let p=e.getPropertyLocation("else"),m=t.mergedSchemasIds.get(i),h=null;return m?h=ZN(t,m):(m=`__fjs_merged_${r_++}`,t.mergedSchemasIds.set(i,m),h=eO(t,m,[o,p])),`
|
|
if (validator.validate("${u}", ${r})) {
|
|
${bo(t,f,r)}
|
|
} else {
|
|
${bo(t,h,r)}
|
|
}
|
|
`}function bo(t,e,r){let n=e.schema;if(typeof n=="boolean")return`json += JSON.stringify(${r})`;if(n.$ref&&(e=n_(t,e),n=e.schema),n.allOf)return NOt(t,e,r);if(n.anyOf||n.oneOf)return OOt(t,e,r);if(n.if&&n.then)return POt(t,e,r);if(n.type===void 0){let o=_Ot(n);o&&(n.type=o)}let s="",i=n.type,a=n.nullable===!0;return a&&(s+=`
|
|
if (${r} === null) {
|
|
json += JSON_STR_NULL
|
|
} else {
|
|
`),n.const!==void 0?s+=ROt(e,r):Array.isArray(i)?s+=wOt(t,e,r):s+=Ube(t,e,r),a&&(s+=`
|
|
}
|
|
`),s}cy.exports=aF;cy.exports.default=aF;cy.exports.build=aF;cy.exports.validLargeArrayMechanisms=Mbe;cy.exports.restore=function({code:t,validator:e,serializer:r}){return Function.apply(null,["validator","serializer",t]).apply(null,[e,r])}});var Hbe=E((ZDr,oF)=>{"use strict";var kOt=cF();function jbe(t={readMode:!0}){if(t.readMode===!0&&typeof t.restoreFunction!="function")throw new Error("You must provide a function for the restoreFunction-option when readMode ON");if(t.readMode!==!0&&typeof t.storeFunction!="function")throw new Error("You must provide a function for the storeFunction-option when readMode OFF");if(t.readMode===!0)return function(){return function(n){return t.restoreFunction(n)}};let e=kOt();return function(n,s={}){s.mode="standalone";let i=e(n,s);return function(a){let o=i(a);return t.storeFunction(a,o),new Function(o)}}}oF.exports=jbe;oF.exports.default=jbe});var cF=E((e3r,s_)=>{"use strict";var DOt=qbe();function uF(){return function(e,r){let n=Object.assign({},r,{schema:e});return BOt.bind(null,n)}}function BOt(t,{schema:e}){return t.schema&&e.$id&&t.schema[e.$id]&&(t.schema={...t.schema},delete t.schema[e.$id]),DOt(e,t)}s_.exports=uF;s_.exports.default=uF;s_.exports.SerializerSelector=uF;s_.exports.StandaloneSerializer=Hbe()});var uy=E(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.regexpCode=Br.getEsmExportName=Br.getProperty=Br.safeStringify=Br.stringify=Br.strConcat=Br.addCodeArg=Br.str=Br._=Br.nil=Br._Code=Br.Name=Br.IDENTIFIER=Br._CodeOrName=void 0;var i_=class{};Br._CodeOrName=i_;Br.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Wm=class extends i_{constructor(e){if(super(),!Br.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Br.Name=Wm;var Zo=class extends i_{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Wm&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Br._Code=Zo;Br.nil=new Zo("");function Qbe(t,...e){let r=[t[0]],n=0;for(;n<e.length;)dF(r,e[n]),r.push(t[++n]);return new Zo(r)}Br._=Qbe;var lF=new Zo("+");function Gbe(t,...e){let r=[a_(t[0])],n=0;for(;n<e.length;)r.push(lF),dF(r,e[n]),r.push(lF,a_(t[++n]));return LOt(r),new Zo(r)}Br.str=Gbe;function dF(t,e){e instanceof Zo?t.push(...e._items):e instanceof Wm?t.push(e):t.push($Ot(e))}Br.addCodeArg=dF;function LOt(t){let e=1;for(;e<t.length-1;){if(t[e]===lF){let r=MOt(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function MOt(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Wm||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Wm))return`"${t}${e.slice(1)}`}function WOt(t,e){return e.emptyStr()?t:t.emptyStr()?e:Gbe`${t}${e}`}Br.strConcat=WOt;function $Ot(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:a_(Array.isArray(t)?t.join(","):t)}function FOt(t){return new Zo(a_(t))}Br.stringify=FOt;function a_(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Br.safeStringify=a_;function UOt(t){return typeof t=="string"&&Br.IDENTIFIER.test(t)?new Zo(`.${t}`):Qbe`[${t}]`}Br.getProperty=UOt;function qOt(t){if(typeof t=="string"&&Br.IDENTIFIER.test(t))return new Zo(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}Br.getEsmExportName=qOt;function jOt(t){return new Zo(t.toString())}Br.regexpCode=jOt});var sO=E(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.ValueScope=Ma.ValueScopeName=Ma.Scope=Ma.varKinds=Ma.UsedValueState=void 0;var La=uy(),fF=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},tO;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(tO||(Ma.UsedValueState=tO={}));Ma.varKinds={const:new La.Name("const"),let:new La.Name("let"),var:new La.Name("var")};var rO=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof La.Name?e:this.name(e)}name(e){return new La.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Ma.Scope=rO;var nO=class extends La.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,La._)`.${new La.Name(r)}[${n}]`}};Ma.ValueScopeName=nO;var HOt=(0,La._)`\n`,pF=class extends rO{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?HOt:La.nil}}get(){return this._scope}name(e){return new nO(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,La._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let i=La.nil;for(let a in e){let o=e[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,tO.Started);let l=r(u);if(l){let d=this.opts.es5?Ma.varKinds.var:Ma.varKinds.const;i=(0,La._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,La._)`${i}${l}${this.opts._n}`;else throw new fF(u);c.set(u,tO.Completed)})}return i}};Ma.ValueScope=pF});var Et=E(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.or=Xt.and=Xt.not=Xt.CodeGen=Xt.operators=Xt.varKinds=Xt.ValueScopeName=Xt.ValueScope=Xt.Scope=Xt.Name=Xt.regexpCode=Xt.stringify=Xt.getProperty=Xt.nil=Xt.strConcat=Xt.str=Xt._=void 0;var Ar=uy(),Gc=sO(),Sp=uy();Object.defineProperty(Xt,"_",{enumerable:!0,get:function(){return Sp._}});Object.defineProperty(Xt,"str",{enumerable:!0,get:function(){return Sp.str}});Object.defineProperty(Xt,"strConcat",{enumerable:!0,get:function(){return Sp.strConcat}});Object.defineProperty(Xt,"nil",{enumerable:!0,get:function(){return Sp.nil}});Object.defineProperty(Xt,"getProperty",{enumerable:!0,get:function(){return Sp.getProperty}});Object.defineProperty(Xt,"stringify",{enumerable:!0,get:function(){return Sp.stringify}});Object.defineProperty(Xt,"regexpCode",{enumerable:!0,get:function(){return Sp.regexpCode}});Object.defineProperty(Xt,"Name",{enumerable:!0,get:function(){return Sp.Name}});var cO=sO();Object.defineProperty(Xt,"Scope",{enumerable:!0,get:function(){return cO.Scope}});Object.defineProperty(Xt,"ValueScope",{enumerable:!0,get:function(){return cO.ValueScope}});Object.defineProperty(Xt,"ValueScopeName",{enumerable:!0,get:function(){return cO.ValueScopeName}});Object.defineProperty(Xt,"varKinds",{enumerable:!0,get:function(){return cO.varKinds}});Xt.operators={GT:new Ar._Code(">"),GTE:new Ar._Code(">="),LT:new Ar._Code("<"),LTE:new Ar._Code("<="),EQ:new Ar._Code("==="),NEQ:new Ar._Code("!=="),NOT:new Ar._Code("!"),OR:new Ar._Code("||"),AND:new Ar._Code("&&"),ADD:new Ar._Code("+")};var Ad=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},mF=class extends Ad{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Gc.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=dy(this.rhs,e,r)),this}get names(){return this.rhs instanceof Ar._CodeOrName?this.rhs.names:{}}},iO=class extends Ad{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof Ar.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=dy(this.rhs,e,r),this}get names(){let e=this.lhs instanceof Ar.Name?{}:{...this.lhs.names};return oO(e,this.rhs)}},hF=class extends iO{constructor(e,r,n,s){super(e,n,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},gF=class extends Ad{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},AF=class extends Ad{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},yF=class extends Ad{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},xF=class extends Ad{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=dy(this.code,e,r),this}get names(){return this.code instanceof Ar._CodeOrName?this.code.names:{}}},o_=class extends Ad{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(e,r)||(QOt(e,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Um(e,r.names),{})}},yd=class extends o_{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},bF=class extends o_{},ly=class extends yd{};ly.kind="else";var $m=class t extends yd{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new ly(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Kbe(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=dy(this.condition,e,r),this}get names(){let e=super.names;return oO(e,this.condition),this.else&&Um(e,this.else.names),e}};$m.kind="if";var Fm=class extends yd{};Fm.kind="for";var EF=class extends Fm{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=dy(this.iteration,e,r),this}get names(){return Um(super.names,this.iteration.names)}},_F=class extends Fm{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s}render(e){let r=e.es5?Gc.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=oO(super.names,this.from);return oO(e,this.to)}},aO=class extends Fm{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=dy(this.iterable,e,r),this}get names(){return Um(super.names,this.iterable.names)}},c_=class extends yd{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};c_.kind="func";var u_=class extends o_{render(e){return"return "+super.render(e)}};u_.kind="return";var SF=class extends yd{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Um(e,this.catch.names),this.finally&&Um(e,this.finally.names),e}},l_=class extends yd{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};l_.kind="catch";var d_=class extends yd{render(e){return"finally"+super.render(e)}};d_.kind="finally";var vF=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
`:""},this._extScope=e,this._scope=new Gc.Scope({parent:e}),this._nodes=[new bF]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new mF(e,i,n)),i}const(e,r,n){return this._def(Gc.varKinds.const,e,r,n)}let(e,r,n){return this._def(Gc.varKinds.let,e,r,n)}var(e,r,n){return this._def(Gc.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new iO(e,r,n))}add(e,r){return this._leafNode(new hF(e,Xt.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==Ar.nil&&this._leafNode(new xF(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,Ar.addCodeArg)(r,s));return r.push("}"),new Ar._Code(r)}if(e,r,n){if(this._blockNode(new $m(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new $m(e))}else(){return this._elseNode(new ly)}endIf(){return this._endBlockNode($m,ly)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new EF(e),r)}forRange(e,r,n,s,i=this.opts.es5?Gc.varKinds.var:Gc.varKinds.let){let a=this._scope.toName(e);return this._for(new _F(i,a,r,n),()=>s(a))}forOf(e,r,n,s=Gc.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof Ar.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Ar._)`${a}.length`,o=>{this.var(i,(0,Ar._)`${a}[${o}]`),n(i)})}return this._for(new aO("of",s,i,r),()=>n(i))}forIn(e,r,n,s=this.opts.es5?Gc.varKinds.var:Gc.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Ar._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new aO("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Fm)}label(e){return this._leafNode(new gF(e))}break(e){return this._leafNode(new AF(e))}return(e){let r=new u_;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(u_)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new SF;if(this._blockNode(s),this.code(e),r){let i=this.name("e");this._currNode=s.catch=new l_(i),r(i)}return n&&(this._currNode=s.finally=new d_,this.code(n)),this._endBlockNode(l_,d_)}throw(e){return this._leafNode(new yF(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=Ar.nil,n,s){return this._blockNode(new c_(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(c_)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof $m))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Xt.CodeGen=vF;function Um(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function oO(t,e){return e instanceof Ar._CodeOrName?Um(t,e.names):t}function dy(t,e,r){if(t instanceof Ar.Name)return n(t);if(!s(t))return t;return new Ar._Code(t._items.reduce((i,a)=>(a instanceof Ar.Name&&(a=n(a)),a instanceof Ar._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function s(i){return i instanceof Ar._Code&&i._items.some(a=>a instanceof Ar.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function QOt(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Kbe(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,Ar._)`!${IF(t)}`}Xt.not=Kbe;var GOt=Vbe(Xt.operators.AND);function KOt(...t){return t.reduce(GOt)}Xt.and=KOt;var VOt=Vbe(Xt.operators.OR);function zOt(...t){return t.reduce(VOt)}Xt.or=zOt;function Vbe(t){return(e,r)=>e===Ar.nil?r:r===Ar.nil?e:(0,Ar._)`${IF(e)} ${t} ${IF(r)}`}function IF(t){return t instanceof Ar.Name?t:(0,Ar._)`(${t})`}});var Vt=E(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.checkStrictMode=rr.getErrorPath=rr.Type=rr.useFunc=rr.setEvaluated=rr.evaluatedPropsToName=rr.mergeEvaluated=rr.eachItem=rr.unescapeJsonPointer=rr.escapeJsonPointer=rr.escapeFragment=rr.unescapeFragment=rr.schemaRefOrVal=rr.schemaHasRulesButRef=rr.schemaHasRules=rr.checkUnknownRules=rr.alwaysValidSchema=rr.toHash=void 0;var fn=Et(),YOt=uy();function JOt(t){let e={};for(let r of t)e[r]=!0;return e}rr.toHash=JOt;function XOt(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Jbe(t,e),!Xbe(e,t.self.RULES.all))}rr.alwaysValidSchema=XOt;function Jbe(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let i in e)s[i]||tEe(t,`unknown keyword: "${i}"`)}rr.checkUnknownRules=Jbe;function Xbe(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}rr.schemaHasRules=Xbe;function ZOt(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}rr.schemaHasRulesButRef=ZOt;function ePt({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,fn._)`${r}`}return(0,fn._)`${t}${e}${(0,fn.getProperty)(n)}`}rr.schemaRefOrVal=ePt;function tPt(t){return Zbe(decodeURIComponent(t))}rr.unescapeFragment=tPt;function rPt(t){return encodeURIComponent(TF(t))}rr.escapeFragment=rPt;function TF(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}rr.escapeJsonPointer=TF;function Zbe(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}rr.unescapeJsonPointer=Zbe;function nPt(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}rr.eachItem=nPt;function zbe({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof fn.Name?(i instanceof fn.Name?t(s,i,a):e(s,i,a),a):i instanceof fn.Name?(e(s,a,i),i):r(i,a);return o===fn.Name&&!(c instanceof fn.Name)?n(s,c):c}}rr.mergeEvaluated={props:zbe({mergeNames:(t,e,r)=>t.if((0,fn._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,fn._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,fn._)`${r} || {}`).code((0,fn._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,fn._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,fn._)`${r} || {}`),wF(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:eEe}),items:zbe({mergeNames:(t,e,r)=>t.if((0,fn._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,fn._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,fn._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,fn._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function eEe(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,fn._)`{}`);return e!==void 0&&wF(t,r,e),r}rr.evaluatedPropsToName=eEe;function wF(t,e,r){Object.keys(r).forEach(n=>t.assign((0,fn._)`${e}${(0,fn.getProperty)(n)}`,!0))}rr.setEvaluated=wF;var Ybe={};function sPt(t,e){return t.scopeValue("func",{ref:e,code:Ybe[e.code]||(Ybe[e.code]=new YOt._Code(e.code))})}rr.useFunc=sPt;var CF;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(CF||(rr.Type=CF={}));function iPt(t,e,r){if(t instanceof fn.Name){let n=e===CF.Num;return r?n?(0,fn._)`"[" + ${t} + "]"`:(0,fn._)`"['" + ${t} + "']"`:n?(0,fn._)`"/" + ${t}`:(0,fn._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,fn.getProperty)(t).toString():"/"+TF(t)}rr.getErrorPath=iPt;function tEe(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}rr.checkStrictMode=tEe});var ec=E(RF=>{"use strict";Object.defineProperty(RF,"__esModule",{value:!0});var ki=Et(),aPt={data:new ki.Name("data"),valCxt:new ki.Name("valCxt"),instancePath:new ki.Name("instancePath"),parentData:new ki.Name("parentData"),parentDataProperty:new ki.Name("parentDataProperty"),rootData:new ki.Name("rootData"),dynamicAnchors:new ki.Name("dynamicAnchors"),vErrors:new ki.Name("vErrors"),errors:new ki.Name("errors"),this:new ki.Name("this"),self:new ki.Name("self"),scope:new ki.Name("scope"),json:new ki.Name("json"),jsonPos:new ki.Name("jsonPos"),jsonLen:new ki.Name("jsonLen"),jsonPart:new ki.Name("jsonPart")};RF.default=aPt});var f_=E(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.extendErrors=Di.resetErrorsCount=Di.reportExtraError=Di.reportError=Di.keyword$DataError=Di.keywordError=void 0;var vr=Et(),uO=Vt(),ia=ec();Di.keywordError={message:({keyword:t})=>(0,vr.str)`must pass "${t}" keyword validation`};Di.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,vr.str)`"${t}" keyword must be ${e} ($data)`:(0,vr.str)`"${t}" keyword is invalid ($data)`};function oPt(t,e=Di.keywordError,r,n){let{it:s}=t,{gen:i,compositeRule:a,allErrors:o}=s,c=sEe(t,e,r);n??(a||o)?rEe(i,c):nEe(s,(0,vr._)`[${c}]`)}Di.reportError=oPt;function cPt(t,e=Di.keywordError,r){let{it:n}=t,{gen:s,compositeRule:i,allErrors:a}=n,o=sEe(t,e,r);rEe(s,o),i||a||nEe(n,ia.default.vErrors)}Di.reportExtraError=cPt;function uPt(t,e){t.assign(ia.default.errors,e),t.if((0,vr._)`${ia.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,vr._)`${ia.default.vErrors}.length`,e),()=>t.assign(ia.default.vErrors,null)))}Di.resetErrorsCount=uPt;function lPt({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ia.default.errors,o=>{t.const(a,(0,vr._)`${ia.default.vErrors}[${o}]`),t.if((0,vr._)`${a}.instancePath === undefined`,()=>t.assign((0,vr._)`${a}.instancePath`,(0,vr.strConcat)(ia.default.instancePath,i.errorPath))),t.assign((0,vr._)`${a}.schemaPath`,(0,vr.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,vr._)`${a}.schema`,r),t.assign((0,vr._)`${a}.data`,n))})}Di.extendErrors=lPt;function rEe(t,e){let r=t.const("err",e);t.if((0,vr._)`${ia.default.vErrors} === null`,()=>t.assign(ia.default.vErrors,(0,vr._)`[${r}]`),(0,vr._)`${ia.default.vErrors}.push(${r})`),t.code((0,vr._)`${ia.default.errors}++`)}function nEe(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0,vr._)`new ${t.ValidationError}(${e})`):(r.assign((0,vr._)`${n}.errors`,e),r.return(!1))}var qm={keyword:new vr.Name("keyword"),schemaPath:new vr.Name("schemaPath"),params:new vr.Name("params"),propertyName:new vr.Name("propertyName"),message:new vr.Name("message"),schema:new vr.Name("schema"),parentSchema:new vr.Name("parentSchema")};function sEe(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,vr._)`{}`:dPt(t,e,r)}function dPt(t,e,r={}){let{gen:n,it:s}=t,i=[fPt(s,r),pPt(t,r)];return mPt(t,e,i),n.object(...i)}function fPt({errorPath:t},{instancePath:e}){let r=e?(0,vr.str)`${t}${(0,uO.getErrorPath)(e,uO.Type.Str)}`:t;return[ia.default.instancePath,(0,vr.strConcat)(ia.default.instancePath,r)]}function pPt({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0,vr.str)`${e}/${t}`;return r&&(s=(0,vr.str)`${s}${(0,uO.getErrorPath)(r,uO.Type.Str)}`),[qm.schemaPath,s]}function mPt(t,{params:e,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([qm.keyword,s],[qm.params,typeof e=="function"?e(t):e||(0,vr._)`{}`]),c.messages&&n.push([qm.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([qm.schema,a],[qm.parentSchema,(0,vr._)`${l}${d}`],[ia.default.data,i]),u&&n.push([qm.propertyName,u])}});var aEe=E(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.boolOrEmptySchema=fy.topBoolOrEmptySchema=void 0;var hPt=f_(),gPt=Et(),APt=ec(),yPt={message:"boolean schema is false"};function xPt(t){let{gen:e,schema:r,validateName:n}=t;r===!1?iEe(t,!1):typeof r=="object"&&r.$async===!0?e.return(APt.default.data):(e.assign((0,gPt._)`${n}.errors`,null),e.return(!0))}fy.topBoolOrEmptySchema=xPt;function bPt(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),iEe(t)):r.var(e,!0)}fy.boolOrEmptySchema=bPt;function iEe(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,hPt.reportError)(s,yPt,void 0,e)}});var NF=E(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.getRules=py.isJSONType=void 0;var EPt=["string","number","integer","boolean","null","object","array"],_Pt=new Set(EPt);function SPt(t){return typeof t=="string"&&_Pt.has(t)}py.isJSONType=SPt;function vPt(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}py.getRules=vPt});var OF=E(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.shouldUseRule=vp.shouldUseGroup=vp.schemaHasRulesForType=void 0;function IPt({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&oEe(t,n)}vp.schemaHasRulesForType=IPt;function oEe(t,e){return e.rules.some(r=>cEe(t,r))}vp.shouldUseGroup=oEe;function cEe(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}vp.shouldUseRule=cEe});var p_=E(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.reportTypeError=Bi.checkDataTypes=Bi.checkDataType=Bi.coerceAndCheckDataType=Bi.getJSONTypes=Bi.getSchemaTypes=Bi.DataType=void 0;var CPt=NF(),TPt=OF(),wPt=f_(),jt=Et(),uEe=Vt(),my;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(my||(Bi.DataType=my={}));function RPt(t){let e=lEe(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Bi.getSchemaTypes=RPt;function lEe(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(CPt.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Bi.getJSONTypes=lEe;function NPt(t,e){let{gen:r,data:n,opts:s}=t,i=OPt(e,s.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,TPt.schemaHasRulesForType)(t,e[0]));if(a){let o=kF(e,n,s.strictNumbers,my.Wrong);r.if(o,()=>{i.length?PPt(t,e,i):DF(t)})}return a}Bi.coerceAndCheckDataType=NPt;var dEe=new Set(["string","number","integer","boolean","null"]);function OPt(t,e){return e?t.filter(r=>dEe.has(r)||e==="array"&&r==="array"):[]}function PPt(t,e,r){let{gen:n,data:s,opts:i}=t,a=n.let("dataType",(0,jt._)`typeof ${s}`),o=n.let("coerced",(0,jt._)`undefined`);i.coerceTypes==="array"&&n.if((0,jt._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,jt._)`${s}[0]`).assign(a,(0,jt._)`typeof ${s}`).if(kF(e,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,jt._)`${o} !== undefined`);for(let u of r)(dEe.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),DF(t),n.endIf(),n.if((0,jt._)`${o} !== undefined`,()=>{n.assign(s,o),kPt(t,o)});function c(u){switch(u){case"string":n.elseIf((0,jt._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,jt._)`"" + ${s}`).elseIf((0,jt._)`${s} === null`).assign(o,(0,jt._)`""`);return;case"number":n.elseIf((0,jt._)`${a} == "boolean" || ${s} === null
|
|
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,jt._)`+${s}`);return;case"integer":n.elseIf((0,jt._)`${a} === "boolean" || ${s} === null
|
|
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,jt._)`+${s}`);return;case"boolean":n.elseIf((0,jt._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,jt._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,jt._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,jt._)`${a} === "string" || ${a} === "number"
|
|
|| ${a} === "boolean" || ${s} === null`).assign(o,(0,jt._)`[${s}]`)}}}function kPt({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,jt._)`${e} !== undefined`,()=>t.assign((0,jt._)`${e}[${r}]`,n))}function PF(t,e,r,n=my.Correct){let s=n===my.Correct?jt.operators.EQ:jt.operators.NEQ,i;switch(t){case"null":return(0,jt._)`${e} ${s} null`;case"array":i=(0,jt._)`Array.isArray(${e})`;break;case"object":i=(0,jt._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,jt._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,jt._)`typeof ${e} ${s} ${t}`}return n===my.Correct?i:(0,jt.not)(i);function a(o=jt.nil){return(0,jt.and)((0,jt._)`typeof ${e} == "number"`,o,r?(0,jt._)`isFinite(${e})`:jt.nil)}}Bi.checkDataType=PF;function kF(t,e,r,n){if(t.length===1)return PF(t[0],e,r,n);let s,i=(0,uEe.toHash)(t);if(i.array&&i.object){let a=(0,jt._)`typeof ${e} != "object"`;s=i.null?a:(0,jt._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else s=jt.nil;i.number&&delete i.integer;for(let a in i)s=(0,jt.and)(s,PF(a,e,r,n));return s}Bi.checkDataTypes=kF;var DPt={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,jt._)`{type: ${t}}`:(0,jt._)`{type: ${e}}`};function DF(t){let e=BPt(t);(0,wPt.reportError)(e,DPt)}Bi.reportTypeError=DF;function BPt(t){let{gen:e,data:r,schema:n}=t,s=(0,uEe.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var pEe=E(lO=>{"use strict";Object.defineProperty(lO,"__esModule",{value:!0});lO.assignDefaults=void 0;var hy=Et(),LPt=Vt();function MPt(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)fEe(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,i)=>fEe(t,i,s.default))}lO.assignDefaults=MPt;function fEe(t,e,r){let{gen:n,compositeRule:s,data:i,opts:a}=t;if(r===void 0)return;let o=(0,hy._)`${i}${(0,hy.getProperty)(e)}`;if(s){(0,LPt.checkStrictMode)(t,`default is ignored for: ${o}`);return}let c=(0,hy._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,hy._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,hy._)`${o} = ${(0,hy.stringify)(r)}`)}});var fi=E(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.validateUnion=en.validateArray=en.usePattern=en.callValidateCode=en.schemaProperties=en.allSchemaProperties=en.noPropertyInData=en.propertyInData=en.isOwnProperty=en.hasPropFunc=en.reportMissingProp=en.checkMissingProp=en.checkReportMissingProp=void 0;var Pn=Et(),BF=Vt(),Ip=ec(),WPt=Vt();function $Pt(t,e){let{gen:r,data:n,it:s}=t;r.if(MF(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Pn._)`${e}`},!0),t.error()})}en.checkReportMissingProp=$Pt;function FPt({gen:t,data:e,it:{opts:r}},n,s){return(0,Pn.or)(...n.map(i=>(0,Pn.and)(MF(t,e,i,r.ownProperties),(0,Pn._)`${s} = ${i}`)))}en.checkMissingProp=FPt;function UPt(t,e){t.setParams({missingProperty:e},!0),t.error()}en.reportMissingProp=UPt;function mEe(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Pn._)`Object.prototype.hasOwnProperty`})}en.hasPropFunc=mEe;function LF(t,e,r){return(0,Pn._)`${mEe(t)}.call(${e}, ${r})`}en.isOwnProperty=LF;function qPt(t,e,r,n){let s=(0,Pn._)`${e}${(0,Pn.getProperty)(r)} !== undefined`;return n?(0,Pn._)`${s} && ${LF(t,e,r)}`:s}en.propertyInData=qPt;function MF(t,e,r,n){let s=(0,Pn._)`${e}${(0,Pn.getProperty)(r)} === undefined`;return n?(0,Pn.or)(s,(0,Pn.not)(LF(t,e,r))):s}en.noPropertyInData=MF;function hEe(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}en.allSchemaProperties=hEe;function jPt(t,e){return hEe(e).filter(r=>!(0,BF.alwaysValidSchema)(t,e[r]))}en.schemaProperties=jPt;function HPt({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Pn._)`${t}, ${e}, ${n}${s}`:e,d=[[Ip.default.instancePath,(0,Pn.strConcat)(Ip.default.instancePath,i)],[Ip.default.parentData,a.parentData],[Ip.default.parentDataProperty,a.parentDataProperty],[Ip.default.rootData,Ip.default.rootData]];a.opts.dynamicRef&&d.push([Ip.default.dynamicAnchors,Ip.default.dynamicAnchors]);let f=(0,Pn._)`${l}, ${r.object(...d)}`;return c!==Pn.nil?(0,Pn._)`${o}.call(${c}, ${f})`:(0,Pn._)`${o}(${f})`}en.callValidateCode=HPt;var QPt=(0,Pn._)`new RegExp`;function GPt({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Pn._)`${s.code==="new RegExp"?QPt:(0,WPt.useFunc)(t,s)}(${r}, ${n})`})}en.usePattern=GPt;function KPt(t){let{gen:e,data:r,keyword:n,it:s}=t,i=e.name("valid");if(s.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(i,!0),a(()=>e.break()),i;function a(o){let c=e.const("len",(0,Pn._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:BF.Type.Num},i),e.if((0,Pn.not)(i),o)})}}en.validateArray=KPt;function VPt(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,BF.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);e.assign(a,(0,Pn._)`${a} || ${o}`),t.mergeValidEvaluated(l,o)||e.if((0,Pn.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}en.validateUnion=VPt});var yEe=E(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});zu.validateKeywordUsage=zu.validSchemaType=zu.funcKeywordCode=zu.macroKeywordCode=void 0;var aa=Et(),jm=ec(),zPt=fi(),YPt=f_();function JPt(t,e){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=t,o=e.macro.call(a.self,s,i,a),c=AEe(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");t.subschema({schema:o,schemaPath:aa.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}zu.macroKeywordCode=JPt;function XPt(t,e){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=t;ekt(c,e);let u=!o&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=AEe(n,s,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&gEe(t),A(()=>t.error());else{let g=e.async?p():m();e.modifying&&gEe(t),A(()=>ZPt(t,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,aa._)`await `),b=>n.assign(d,!1).if((0,aa._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(g,(0,aa._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,aa._)`${l}.errors`;return n.assign(g,null),h(aa.nil),g}function h(g=e.async?(0,aa._)`await `:aa.nil){let b=c.opts.passContext?jm.default.this:jm.default.self,y=!("compile"in e&&!o||e.schema===!1);n.assign(d,(0,aa._)`${g}${(0,zPt.callValidateCode)(t,l,b,y)}`,e.modifying)}function A(g){var b;n.if((0,aa.not)((b=e.valid)!==null&&b!==void 0?b:d),g)}}zu.funcKeywordCode=XPt;function gEe(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,aa._)`${n.parentData}[${n.parentDataProperty}]`))}function ZPt(t,e){let{gen:r}=t;r.if((0,aa._)`Array.isArray(${e})`,()=>{r.assign(jm.default.vErrors,(0,aa._)`${jm.default.vErrors} === null ? ${e} : ${jm.default.vErrors}.concat(${e})`).assign(jm.default.errors,(0,aa._)`${jm.default.vErrors}.length`),(0,YPt.extendErrors)(t)},()=>t.error())}function ekt({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function AEe(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,aa.stringify)(r)})}function tkt(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}zu.validSchemaType=tkt;function rkt({schema:t,opts:e,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(t,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}zu.validateKeywordUsage=rkt});var bEe=E(Cp=>{"use strict";Object.defineProperty(Cp,"__esModule",{value:!0});Cp.extendSubschemaMode=Cp.extendSubschemaData=Cp.getSubschema=void 0;var Yu=Et(),xEe=Vt();function nkt(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=t.schema[e];return r===void 0?{schema:o,schemaPath:(0,Yu._)`${t.schemaPath}${(0,Yu.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:o[r],schemaPath:(0,Yu._)`${t.schemaPath}${(0,Yu.getProperty)(e)}${(0,Yu.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,xEe.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Cp.getSubschema=nkt;function skt(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=o.let("data",(0,Yu._)`${e.data}${(0,Yu.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Yu.str)`${u}${(0,xEe.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Yu._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof Yu.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Cp.extendSubschemaData=skt;function ikt(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}Cp.extendSubschemaMode=ikt});var _Ee=E((h3r,EEe)=>{"use strict";var Tp=EEe.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};dO(e,n,s,t,"",t)};Tp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Tp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Tp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Tp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function dO(t,e,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in Tp.arrayKeywords)for(var f=0;f<d.length;f++)dO(t,e,r,d[f],s+"/"+l+"/"+f,i,s,l,n,f)}else if(l in Tp.propsKeywords){if(d&&typeof d=="object")for(var p in d)dO(t,e,r,d[p],s+"/"+l+"/"+akt(p),i,s,l,n,p)}else(l in Tp.keywords||t.allKeys&&!(l in Tp.skipKeywords))&&dO(t,e,r,d,s+"/"+l,i,s,l,n)}r(n,s,i,a,o,c,u)}}function akt(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var m_=E(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.getSchemaRefs=Wa.resolveUrl=Wa.normalizeId=Wa._getFullPath=Wa.getFullPath=Wa.inlineRef=void 0;var okt=Vt(),ckt=Ko(),ukt=_Ee(),lkt=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function dkt(t,e=!0){return typeof t=="boolean"?!0:e===!0?!WF(t):e?SEe(t)<=e:!1}Wa.inlineRef=dkt;var fkt=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function WF(t){for(let e in t){if(fkt.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(WF)||typeof r=="object"&&WF(r))return!0}return!1}function SEe(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!lkt.has(r)&&(typeof t[r]=="object"&&(0,okt.eachItem)(t[r],n=>e+=SEe(n)),e===1/0))return 1/0}return e}function vEe(t,e="",r){r!==!1&&(e=gy(e));let n=t.parse(e);return IEe(t,n)}Wa.getFullPath=vEe;function IEe(t,e){return t.serialize(e).split("#")[0]+"#"}Wa._getFullPath=IEe;var pkt=/#\/?$/;function gy(t){return t?t.replace(pkt,""):""}Wa.normalizeId=gy;function mkt(t,e,r){return r=gy(r),t.resolve(e,r)}Wa.resolveUrl=mkt;var hkt=/^[a-z_][-a-z0-9._]*$/i;function gkt(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=gy(t[r]||e),i={"":s},a=vEe(n,s,!1),o={},c=new Set;return ukt(t,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=a+f,A=i[m];typeof d[r]=="string"&&(A=g.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[f]=A;function g(y){let x=this.opts.uriResolver.resolve;if(y=gy(A?x(A,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==gy(h)&&(y[0]==="#"?(u(d,o[y],y),o[y]=d):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!hkt.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),o;function u(d,f,p){if(f!==void 0&&!ckt(d,f))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Wa.getSchemaRefs=gkt});var Ay=E(wp=>{"use strict";Object.defineProperty(wp,"__esModule",{value:!0});wp.getData=wp.KeywordCxt=wp.validateFunctionCode=void 0;var NEe=aEe(),CEe=p_(),FF=OF(),fO=p_(),Akt=pEe(),g_=yEe(),$F=bEe(),at=Et(),Rt=ec(),ykt=m_(),xd=Vt(),h_=f_();function xkt(t){if(kEe(t)&&(DEe(t),PEe(t))){_kt(t);return}OEe(t,()=>(0,NEe.topBoolOrEmptySchema)(t))}wp.validateFunctionCode=xkt;function OEe({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},i){s.code.es5?t.func(e,(0,at._)`${Rt.default.data}, ${Rt.default.valCxt}`,n.$async,()=>{t.code((0,at._)`"use strict"; ${TEe(r,s)}`),Ekt(t,s),t.code(i)}):t.func(e,(0,at._)`${Rt.default.data}, ${bkt(s)}`,n.$async,()=>t.code(TEe(r,s)).code(i))}function bkt(t){return(0,at._)`{${Rt.default.instancePath}="", ${Rt.default.parentData}, ${Rt.default.parentDataProperty}, ${Rt.default.rootData}=${Rt.default.data}${t.dynamicRef?(0,at._)`, ${Rt.default.dynamicAnchors}={}`:at.nil}}={}`}function Ekt(t,e){t.if(Rt.default.valCxt,()=>{t.var(Rt.default.instancePath,(0,at._)`${Rt.default.valCxt}.${Rt.default.instancePath}`),t.var(Rt.default.parentData,(0,at._)`${Rt.default.valCxt}.${Rt.default.parentData}`),t.var(Rt.default.parentDataProperty,(0,at._)`${Rt.default.valCxt}.${Rt.default.parentDataProperty}`),t.var(Rt.default.rootData,(0,at._)`${Rt.default.valCxt}.${Rt.default.rootData}`),e.dynamicRef&&t.var(Rt.default.dynamicAnchors,(0,at._)`${Rt.default.valCxt}.${Rt.default.dynamicAnchors}`)},()=>{t.var(Rt.default.instancePath,(0,at._)`""`),t.var(Rt.default.parentData,(0,at._)`undefined`),t.var(Rt.default.parentDataProperty,(0,at._)`undefined`),t.var(Rt.default.rootData,Rt.default.data),e.dynamicRef&&t.var(Rt.default.dynamicAnchors,(0,at._)`{}`)})}function _kt(t){let{schema:e,opts:r,gen:n}=t;OEe(t,()=>{r.$comment&&e.$comment&&LEe(t),Tkt(t),n.let(Rt.default.vErrors,null),n.let(Rt.default.errors,0),r.unevaluated&&Skt(t),BEe(t),Nkt(t)})}function Skt(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,at._)`${r}.evaluated`),e.if((0,at._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,at._)`${t.evaluated}.props`,(0,at._)`undefined`)),e.if((0,at._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,at._)`${t.evaluated}.items`,(0,at._)`undefined`))}function TEe(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,at._)`/*# sourceURL=${r} */`:at.nil}function vkt(t,e){if(kEe(t)&&(DEe(t),PEe(t))){Ikt(t,e);return}(0,NEe.boolOrEmptySchema)(t,e)}function PEe({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function kEe(t){return typeof t.schema!="boolean"}function Ikt(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&LEe(t),wkt(t),Rkt(t);let i=n.const("_errs",Rt.default.errors);BEe(t,i),n.var(e,(0,at._)`${i} === ${Rt.default.errors}`)}function DEe(t){(0,xd.checkUnknownRules)(t),Ckt(t)}function BEe(t,e){if(t.opts.jtd)return wEe(t,[],!1,e);let r=(0,CEe.getSchemaTypes)(t.schema),n=(0,CEe.coerceAndCheckDataType)(t,r);wEe(t,r,!n,e)}function Ckt(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,xd.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Tkt(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,xd.checkStrictMode)(t,"default is ignored in the schema root")}function wkt(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,ykt.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function Rkt(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function LEe({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)t.code((0,at._)`${Rt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,at.str)`${n}/$comment`,o=t.scopeValue("root",{ref:e.root});t.code((0,at._)`${Rt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function Nkt(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=t;r.$async?e.if((0,at._)`${Rt.default.errors} === 0`,()=>e.return(Rt.default.data),()=>e.throw((0,at._)`new ${s}(${Rt.default.vErrors})`)):(e.assign((0,at._)`${n}.errors`,Rt.default.vErrors),i.unevaluated&&Okt(t),e.return((0,at._)`${Rt.default.errors} === 0`))}function Okt({gen:t,evaluated:e,props:r,items:n}){r instanceof at.Name&&t.assign((0,at._)`${e}.props`,r),n instanceof at.Name&&t.assign((0,at._)`${e}.items`,n)}function wEe(t,e,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,xd.schemaHasRulesButRef)(i,l))){s.block(()=>WEe(t,"$ref",l.all.$ref.definition));return}c.jtd||Pkt(t,e),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,FF.shouldUseGroup)(i,f)&&(f.type?(s.if((0,fO.checkDataType)(f.type,a,c.strictNumbers)),REe(t,f),e.length===1&&e[0]===f.type&&r&&(s.else(),(0,fO.reportTypeError)(t)),s.endIf()):REe(t,f),o||s.if((0,at._)`${Rt.default.errors} === ${n||0}`))}}function REe(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0,Akt.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,FF.shouldUseRule)(n,i)&&WEe(t,i.keyword,i.definition,e.type)})}function Pkt(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(kkt(t,e),t.opts.allowUnionTypes||Dkt(t,e),Bkt(t,t.dataTypes))}function kkt(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{MEe(t.dataTypes,r)||UF(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),Mkt(t,e)}}function Dkt(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&UF(t,"use allowUnionTypes to allow union type keyword")}function Bkt(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,FF.shouldUseRule)(t.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>Lkt(e,a))&&UF(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function Lkt(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function MEe(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Mkt(t,e){let r=[];for(let n of t.dataTypes)MEe(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function UF(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,xd.checkStrictMode)(t,e,t.opts.strictTypes)}var pO=class{constructor(e,r,n){if((0,g_.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,xd.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",$Ee(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,g_.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Rt.default.errors))}result(e,r,n){this.failResult((0,at.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,at.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,at._)`${r} !== undefined && (${(0,at.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?h_.reportExtraError:h_.reportError)(this,this.def.error,r)}$dataError(){(0,h_.reportError)(this,this.def.$dataError||h_.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,h_.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=at.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=at.nil,r=at.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,at.or)((0,at._)`${s} === undefined`,r)),e!==at.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==at.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,at.or)(a(),o());function a(){if(n.length){if(!(r instanceof at.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,at._)`${(0,fO.checkDataTypes)(c,r,i.opts.strictNumbers,fO.DataType.Wrong)}`}return at.nil}function o(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,at._)`!${c}(${r})`}return at.nil}}subschema(e,r){let n=(0,$F.getSubschema)(this.it,e);(0,$F.extendSubschemaData)(n,this.it,e),(0,$F.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return vkt(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=xd.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=xd.mergeEvaluated.items(s,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,at.Name)),!0}};wp.KeywordCxt=pO;function WEe(t,e,r,n){let s=new pO(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0,g_.funcKeywordCode)(s,r):"macro"in r?(0,g_.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,g_.funcKeywordCode)(s,r)}var Wkt=/^\/(?:[^~]|~0|~1)*$/,$kt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function $Ee(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,i;if(t==="")return Rt.default.rootData;if(t[0]==="/"){if(!Wkt.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,i=Rt.default.rootData}else{let u=$kt.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,at._)`${i}${(0,at.getProperty)((0,xd.unescapeJsonPointer)(u))}`,a=(0,at._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}wp.getData=$Ee});var A_=E(jF=>{"use strict";Object.defineProperty(jF,"__esModule",{value:!0});var qF=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};jF.default=qF});var bd=E(GF=>{"use strict";Object.defineProperty(GF,"__esModule",{value:!0});var HF=m_(),QF=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,HF.resolveUrl)(e,r,n),this.missingSchema=(0,HF.normalizeId)((0,HF.getFullPath)(e,this.missingRef))}};GF.default=QF});var Qm=E(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.resolveSchema=tc.getCompilingSchema=tc.resolveRef=tc.compileSchema=tc.SchemaEnv=void 0;var Kc=Et(),Fkt=A_(),Hm=ec(),Vc=m_(),FEe=Vt(),Ukt=Ay(),yy=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Vc.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};tc.SchemaEnv=yy;function VF(t){let e=UEe.call(this,t);if(e)return e;let r=(0,Vc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Kc.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;t.$async&&(o=a.scopeValue("Error",{ref:Fkt.default,code:(0,Kc._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:Hm.default.data,parentData:Hm.default.parentData,parentDataProperty:Hm.default.parentDataProperty,dataNames:[Hm.default.data],dataPathArr:[Kc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Kc.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:o,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Kc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Kc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,Ukt.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(Hm.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${Hm.default.self}`,`${Hm.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=u;p.evaluated={props:m instanceof Kc.Name?void 0:m,items:h instanceof Kc.Name?void 0:h,dynamicProps:m instanceof Kc.Name,dynamicItems:h instanceof Kc.Name},p.source&&(p.source.evaluated=(0,Kc.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}tc.compileSchema=VF;function qkt(t,e,r){var n;r=(0,Vc.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let i=Qkt.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new yy({schema:a,schemaId:o,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=jkt.call(this,i)}tc.resolveRef=qkt;function jkt(t){return(0,Vc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:VF.call(this,t)}function UEe(t){for(let e of this._compilations)if(Hkt(e,t))return e}tc.getCompilingSchema=UEe;function Hkt(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function Qkt(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||mO.call(this,t,e)}function mO(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Vc._getFullPath)(this.opts.uriResolver,r),s=(0,Vc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return KF.call(this,r,t);let i=(0,Vc.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=mO.call(this,t,a);return typeof o?.schema!="object"?void 0:KF.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||VF.call(this,a),i===(0,Vc.normalizeId)(e)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Vc.resolveUrl)(this.opts.uriResolver,s,u)),new yy({schema:o,schemaId:c,root:t,baseId:s})}return KF.call(this,r,a)}}tc.resolveSchema=mO;var Gkt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function KF(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,FEe.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!Gkt.has(o)&&u&&(e=(0,Vc.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,FEe.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Vc.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=mO.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new yy({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var qEe=E((E3r,Kkt)=>{Kkt.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var YF=E((_3r,GEe)=>{"use strict";var Vkt=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),HEe=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function zF(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var zkt=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function jEe(t){return t.length=0,!0}function Ykt(t,e,r){if(t.length){let n=zF(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function Jkt(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=Ykt;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(a=!0),!o(s,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=jEe}else{s.push(u);continue}}return s.length&&(o===jEe?r.zone=s.join(""):a?n.push(s.join("")):n.push(zF(s))),r.address=n.join(""),r}function QEe(t){if(Xkt(t,":")<2)return{host:t,isIPV6:!1};let e=Jkt(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function Xkt(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function Zkt(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function eDt(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function tDt(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!HEe(r)){let n=QEe(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}GEe.exports={nonSimpleDomain:zkt,recomposeAuthority:tDt,normalizeComponentEncoding:eDt,removeDotSegments:Zkt,isIPv4:HEe,isUUID:Vkt,normalizeIPv6:QEe,stringArrayToHexStripped:zF}});var JEe=E((S3r,YEe)=>{"use strict";var{isUUID:rDt}=YF(),nDt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,sDt=["http","https","ws","wss","urn","urn:uuid"];function iDt(t){return sDt.indexOf(t)!==-1}function JF(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function KEe(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function VEe(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function aDt(t){return t.secure=JF(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function oDt(t){if((t.port===(JF(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function cDt(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(nDt);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=XF(s);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function uDt(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=XF(s);i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function lDt(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!rDt(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function dDt(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var zEe={scheme:"http",domainHost:!0,parse:KEe,serialize:VEe},fDt={scheme:"https",domainHost:zEe.domainHost,parse:KEe,serialize:VEe},hO={scheme:"ws",domainHost:!0,parse:aDt,serialize:oDt},pDt={scheme:"wss",domainHost:hO.domainHost,parse:hO.parse,serialize:hO.serialize},mDt={scheme:"urn",parse:cDt,serialize:uDt,skipNormalize:!0},hDt={scheme:"urn:uuid",parse:lDt,serialize:dDt,skipNormalize:!0},gO={http:zEe,https:fDt,ws:hO,wss:pDt,urn:mDt,"urn:uuid":hDt};Object.setPrototypeOf(gO,null);function XF(t){return t&&(gO[t]||gO[t.toLowerCase()])||void 0}YEe.exports={wsIsSecure:JF,SCHEMES:gO,isValidSchemeName:iDt,getSchemeHandler:XF}});var e1e=E((v3r,yO)=>{"use strict";var{normalizeIPv6:gDt,removeDotSegments:y_,recomposeAuthority:ADt,normalizeComponentEncoding:AO,isIPv4:yDt,nonSimpleDomain:xDt}=YF(),{SCHEMES:bDt,getSchemeHandler:XEe}=JEe();function EDt(t,e){return typeof t=="string"?t=Ju(Ed(t,e),e):typeof t=="object"&&(t=Ed(Ju(t,e),e)),t}function _Dt(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=ZEe(Ed(t,n),Ed(e,n),n,!0);return n.skipEscape=!0,Ju(s,n)}function ZEe(t,e,r,n){let s={};return n||(t=Ed(Ju(t,r),r),e=Ed(Ju(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=y_(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=y_(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=y_(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=y_(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function SDt(t,e,r){return typeof t=="string"?(t=unescape(t),t=Ju(AO(Ed(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Ju(AO(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Ju(AO(Ed(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Ju(AO(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Ju(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=XEe(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=ADt(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=y_(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var vDt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Ed(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(vDt);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(yDt(n.host)===!1){let c=gDt(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=XEe(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&xDt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var ZF={SCHEMES:bDt,normalize:EDt,resolve:_Dt,resolveComponent:ZEe,equal:SDt,serialize:Ju,parse:Ed};yO.exports=ZF;yO.exports.default=ZF;yO.exports.fastUri=ZF});var r1e=E(eU=>{"use strict";Object.defineProperty(eU,"__esModule",{value:!0});var t1e=e1e();t1e.code='require("ajv/dist/runtime/uri").default';eU.default=t1e});var nU=E(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.CodeGen=pi.Name=pi.nil=pi.stringify=pi.str=pi._=pi.KeywordCxt=void 0;var IDt=Ay();Object.defineProperty(pi,"KeywordCxt",{enumerable:!0,get:function(){return IDt.KeywordCxt}});var xy=Et();Object.defineProperty(pi,"_",{enumerable:!0,get:function(){return xy._}});Object.defineProperty(pi,"str",{enumerable:!0,get:function(){return xy.str}});Object.defineProperty(pi,"stringify",{enumerable:!0,get:function(){return xy.stringify}});Object.defineProperty(pi,"nil",{enumerable:!0,get:function(){return xy.nil}});Object.defineProperty(pi,"Name",{enumerable:!0,get:function(){return xy.Name}});Object.defineProperty(pi,"CodeGen",{enumerable:!0,get:function(){return xy.CodeGen}});var CDt=A_(),o1e=bd(),TDt=NF(),x_=Qm(),wDt=Et(),b_=m_(),xO=p_(),rU=Vt(),n1e=qEe(),RDt=r1e(),c1e=(t,e)=>new RegExp(t,e);c1e.code="new RegExp";var NDt=["removeAdditional","useDefaults","coerceTypes"],ODt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),PDt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},kDt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},s1e=200;function DDt(t){var e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y,x,v,I,R,w,N;let P=t.strict,B=(e=t.code)===null||e===void 0?void 0:e.optimize,M=B===!0||B===void 0?1:B||0,D=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:c1e,L=(s=t.uriResolver)!==null&&s!==void 0?s:RDt.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:P)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=t.strictNumbers)!==null&&o!==void 0?o:P)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:P)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:P)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=t.strictRequired)!==null&&p!==void 0?p:P)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:M,regExp:D}:{optimize:M,regExp:D},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:s1e,loopEnum:(A=t.loopEnum)!==null&&A!==void 0?A:s1e,meta:(g=t.meta)!==null&&g!==void 0?g:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(x=t.schemaId)!==null&&x!==void 0?x:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(I=t.validateSchema)!==null&&I!==void 0?I:!0,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(w=t.unicodeRegExp)!==null&&w!==void 0?w:!0,int32range:(N=t.int32range)!==null&&N!==void 0?N:!0,uriResolver:L}}var E_=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...DDt(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new wDt.ValueScope({scope:{},prefixes:ODt,es5:r,lines:n}),this.logger=FDt(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,TDt.getRules)(),i1e.call(this,PDt,e,"NOT SUPPORTED"),i1e.call(this,kDt,e,"DEPRECATED","warn"),this._metaOpts=WDt.call(this),e.formats&&LDt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&MDt.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),BDt.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=n1e;n==="id"&&(s={...n1e},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof o1e.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,b_.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,e);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let r;for(;typeof(r=a1e.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new x_.SchemaEnv({schema:{},schemaId:n});if(r=x_.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=a1e.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,b_.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(qDt.call(this,n,r),!r)return(0,rU.eachItem)(n,i=>tU.call(this,i)),this;HDt.call(this,r);let s={...r,type:(0,xO.getJSONTypes)(r.type),schemaType:(0,xO.getJSONTypes)(r.schemaType)};return(0,rU.eachItem)(n,s.type.length===0?i=>tU.call(this,i,s):i=>s.type.forEach(a=>tU.call(this,i,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===e);s>=0&&n.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let i=s.split("/").slice(1),a=e;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=u1e(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]))}}_addSchema(e,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,b_.normalizeId)(a||n);let u=b_.getSchemaRefs.call(this,e,n);return c=new x_.SchemaEnv({schema:e,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):x_.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{x_.compileSchema.call(this,e)}finally{this.opts=r}}};E_.ValidationError=CDt.default;E_.MissingRefError=o1e.default;pi.default=E_;function i1e(t,e,r,n="error"){for(let s in t){let i=s;i in e&&this.logger[n](`${r}: option ${s}. ${t[i]}`)}}function a1e(t){return t=(0,b_.normalizeId)(t),this.schemas[t]||this.refs[t]}function BDt(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function LDt(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function MDt(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function WDt(){let t={...this.opts};for(let e of NDt)delete t[e];return t}var $Dt={log(){},warn(){},error(){}};function FDt(t){if(t===!1)return $Dt;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var UDt=/^[a-z_$][a-z0-9_$:-]*$/i;function qDt(t,e){let{RULES:r}=this;if((0,rU.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!UDt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function tU(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let o={keyword:t,definition:{...e,type:(0,xO.getJSONTypes)(e.type),schemaType:(0,xO.getJSONTypes)(e.schemaType)}};e.before?jDt.call(this,a,o,e.before):a.rules.push(o),i.all[t]=o,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function jDt(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function HDt(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=u1e(e)),t.validateSchema=this.compile(e,!0))}var QDt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function u1e(t){return{anyOf:[t,QDt]}}});var l1e=E(sU=>{"use strict";Object.defineProperty(sU,"__esModule",{value:!0});var GDt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};sU.default=GDt});var iU=E(Gm=>{"use strict";Object.defineProperty(Gm,"__esModule",{value:!0});Gm.callRef=Gm.getValidate=void 0;var KDt=bd(),d1e=fi(),$a=Et(),by=ec(),f1e=Qm(),bO=Vt(),VDt={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=f1e.resolveRef.call(c,u,s,r);if(l===void 0)throw new KDt.default(n.opts.uriResolver,s,r);if(l instanceof f1e.SchemaEnv)return f(l);return p(l);function d(){if(i===u)return EO(t,a,i,i.$async);let m=e.scopeValue("root",{ref:u});return EO(t,(0,$a._)`${m}.validate`,u,u.$async)}function f(m){let h=p1e(t,m);EO(t,h,m,m.$async)}function p(m){let h=e.scopeValue("schema",o.code.source===!0?{ref:m,code:(0,$a.stringify)(m)}:{ref:m}),A=e.name("valid"),g=t.subschema({schema:m,dataTypes:[],schemaPath:$a.nil,topSchemaRef:h,errSchemaPath:r},A);t.mergeEvaluated(g),t.ok(A)}}};function p1e(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,$a._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Gm.getValidate=p1e;function EO(t,e,r,n){let{gen:s,it:i}=t,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?by.default.this:$a.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0,$a._)`await ${(0,d1e.callValidateCode)(t,e,u)}`),p(e),a||s.assign(m,!0)},h=>{s.if((0,$a._)`!(${h} instanceof ${i.ValidationError})`,()=>s.throw(h)),f(h),a||s.assign(m,!1)}),t.ok(m)}function d(){t.result((0,d1e.callValidateCode)(t,e,u),()=>p(e),()=>f(e))}function f(m){let h=(0,$a._)`${m}.errors`;s.assign(by.default.vErrors,(0,$a._)`${by.default.vErrors} === null ? ${h} : ${by.default.vErrors}.concat(${h})`),s.assign(by.default.errors,(0,$a._)`${by.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let A=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(i.props=bO.mergeEvaluated.props(s,A.props,i.props));else{let g=s.var("props",(0,$a._)`${m}.evaluated.props`);i.props=bO.mergeEvaluated.props(s,g,i.props,$a.Name)}if(i.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(i.items=bO.mergeEvaluated.items(s,A.items,i.items));else{let g=s.var("items",(0,$a._)`${m}.evaluated.items`);i.items=bO.mergeEvaluated.items(s,g,i.items,$a.Name)}}}Gm.callRef=EO;Gm.default=VDt});var m1e=E(aU=>{"use strict";Object.defineProperty(aU,"__esModule",{value:!0});var zDt=l1e(),YDt=iU(),JDt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",zDt.default,YDt.default];aU.default=JDt});var h1e=E(oU=>{"use strict";Object.defineProperty(oU,"__esModule",{value:!0});var _O=Et(),Rp=_O.operators,SO={maximum:{okStr:"<=",ok:Rp.LTE,fail:Rp.GT},minimum:{okStr:">=",ok:Rp.GTE,fail:Rp.LT},exclusiveMaximum:{okStr:"<",ok:Rp.LT,fail:Rp.GTE},exclusiveMinimum:{okStr:">",ok:Rp.GT,fail:Rp.LTE}},XDt={message:({keyword:t,schemaCode:e})=>(0,_O.str)`must be ${SO[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,_O._)`{comparison: ${SO[t].okStr}, limit: ${e}}`},ZDt={keyword:Object.keys(SO),type:"number",schemaType:"number",$data:!0,error:XDt,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,_O._)`${r} ${SO[e].fail} ${n} || isNaN(${r})`)}};oU.default=ZDt});var g1e=E(cU=>{"use strict";Object.defineProperty(cU,"__esModule",{value:!0});var __=Et(),e3t={message:({schemaCode:t})=>(0,__.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,__._)`{multipleOf: ${t}}`},t3t={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:e3t,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,i=s.opts.multipleOfPrecision,a=e.let("res"),o=i?(0,__._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,__._)`${a} !== parseInt(${a})`;t.fail$data((0,__._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};cU.default=t3t});var y1e=E(uU=>{"use strict";Object.defineProperty(uU,"__esModule",{value:!0});function A1e(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}uU.default=A1e;A1e.code='require("ajv/dist/runtime/ucs2length").default'});var x1e=E(lU=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});var Km=Et(),r3t=Vt(),n3t=y1e(),s3t={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Km.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Km._)`{limit: ${t}}`},i3t={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:s3t,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,i=e==="maxLength"?Km.operators.GT:Km.operators.LT,a=s.opts.unicode===!1?(0,Km._)`${r}.length`:(0,Km._)`${(0,r3t.useFunc)(t.gen,n3t.default)}(${r})`;t.fail$data((0,Km._)`${a} ${i} ${n}`)}};lU.default=i3t});var b1e=E(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var a3t=fi(),vO=Et(),o3t={message:({schemaCode:t})=>(0,vO.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,vO._)`{pattern: ${t}}`},c3t={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:o3t,code(t){let{data:e,$data:r,schema:n,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"",o=r?(0,vO._)`(new RegExp(${s}, ${a}))`:(0,a3t.usePattern)(t,n);t.fail$data((0,vO._)`!${o}.test(${e})`)}};dU.default=c3t});var E1e=E(fU=>{"use strict";Object.defineProperty(fU,"__esModule",{value:!0});var S_=Et(),u3t={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,S_.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,S_._)`{limit: ${t}}`},l3t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:u3t,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?S_.operators.GT:S_.operators.LT;t.fail$data((0,S_._)`Object.keys(${r}).length ${s} ${n}`)}};fU.default=l3t});var _1e=E(pU=>{"use strict";Object.defineProperty(pU,"__esModule",{value:!0});var v_=fi(),I_=Et(),d3t=Vt(),f3t={message:({params:{missingProperty:t}})=>(0,I_.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,I_._)`{missingProperty: ${t}}`},p3t={keyword:"required",type:"object",schemaType:"array",$data:!0,error:f3t,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:i,it:a}=t,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let p=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let A=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${A}" (strictRequired)`;(0,d3t.checkStrictMode)(a,g,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(I_.nil,d);else for(let p of r)(0,v_.checkReportMissingProp)(t,p)}function l(){let p=e.let("missing");if(c||i){let m=e.let("valid",!0);t.block$data(m,()=>f(p,m)),t.ok(m)}else e.if((0,v_.checkMissingProp)(t,r,p)),(0,v_.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,v_.noPropertyInData)(e,s,p,o.ownProperties),()=>t.error())})}function f(p,m){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(m,(0,v_.propertyInData)(e,s,p,o.ownProperties)),e.if((0,I_.not)(m),()=>{t.error(),e.break()})},I_.nil)}}};pU.default=p3t});var S1e=E(mU=>{"use strict";Object.defineProperty(mU,"__esModule",{value:!0});var C_=Et(),m3t={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,C_.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,C_._)`{limit: ${t}}`},h3t={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:m3t,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?C_.operators.GT:C_.operators.LT;t.fail$data((0,C_._)`${r}.length ${s} ${n}`)}};mU.default=h3t});var IO=E(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var v1e=Ko();v1e.code='require("ajv/dist/runtime/equal").default';hU.default=v1e});var I1e=E(AU=>{"use strict";Object.defineProperty(AU,"__esModule",{value:!0});var gU=p_(),mi=Et(),g3t=Vt(),A3t=IO(),y3t={message:({params:{i:t,j:e}})=>(0,mi.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,mi._)`{i: ${t}, j: ${e}}`},x3t={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:y3t,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=t;if(!n&&!s)return;let c=e.let("valid"),u=i.items?(0,gU.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,mi._)`${a} === false`),t.ok(c);function l(){let m=e.let("i",(0,mi._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,mi._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function f(m,h){let A=e.name("item"),g=(0,gU.checkDataTypes)(u,A,o.opts.strictNumbers,gU.DataType.Wrong),b=e.const("indices",(0,mi._)`{}`);e.for((0,mi._)`;${m}--;`,()=>{e.let(A,(0,mi._)`${r}[${m}]`),e.if(g,(0,mi._)`continue`),u.length>1&&e.if((0,mi._)`typeof ${A} == "string"`,(0,mi._)`${A} += "_"`),e.if((0,mi._)`typeof ${b}[${A}] == "number"`,()=>{e.assign(h,(0,mi._)`${b}[${A}]`),t.error(),e.assign(c,!1).break()}).code((0,mi._)`${b}[${A}] = ${m}`)})}function p(m,h){let A=(0,g3t.useFunc)(e,A3t.default),g=e.name("outer");e.label(g).for((0,mi._)`;${m}--;`,()=>e.for((0,mi._)`${h} = ${m}; ${h}--;`,()=>e.if((0,mi._)`${A}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(g)})))}}};AU.default=x3t});var C1e=E(xU=>{"use strict";Object.defineProperty(xU,"__esModule",{value:!0});var yU=Et(),b3t=Vt(),E3t=IO(),_3t={message:"must be equal to constant",params:({schemaCode:t})=>(0,yU._)`{allowedValue: ${t}}`},S3t={keyword:"const",$data:!0,error:_3t,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,yU._)`!${(0,b3t.useFunc)(e,E3t.default)}(${r}, ${s})`):t.fail((0,yU._)`${i} !== ${r}`)}};xU.default=S3t});var T1e=E(bU=>{"use strict";Object.defineProperty(bU,"__esModule",{value:!0});var T_=Et(),v3t=Vt(),I3t=IO(),C3t={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,T_._)`{allowedValues: ${t}}`},T3t={keyword:"enum",schemaType:"array",$data:!0,error:C3t,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:i,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,v3t.useFunc)(e,I3t.default)),l;if(o||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);l=(0,T_.or)(...s.map((m,h)=>f(p,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,p=>e.if((0,T_._)`${u()}(${r}, ${p})`,()=>e.assign(l,!0).break()))}function f(p,m){let h=s[m];return typeof h=="object"&&h!==null?(0,T_._)`${u()}(${r}, ${p}[${m}])`:(0,T_._)`${r} === ${h}`}}};bU.default=T3t});var w1e=E(EU=>{"use strict";Object.defineProperty(EU,"__esModule",{value:!0});var w3t=h1e(),R3t=g1e(),N3t=x1e(),O3t=b1e(),P3t=E1e(),k3t=_1e(),D3t=S1e(),B3t=I1e(),L3t=C1e(),M3t=T1e(),W3t=[w3t.default,R3t.default,N3t.default,O3t.default,P3t.default,k3t.default,D3t.default,B3t.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},L3t.default,M3t.default];EU.default=W3t});var SU=E(w_=>{"use strict";Object.defineProperty(w_,"__esModule",{value:!0});w_.validateAdditionalItems=void 0;var Vm=Et(),_U=Vt(),$3t={message:({params:{len:t}})=>(0,Vm.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Vm._)`{limit: ${t}}`},F3t={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:$3t,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,_U.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}R1e(t,n)}};function R1e(t,e){let{gen:r,schema:n,data:s,keyword:i,it:a}=t;a.items=!0;let o=r.const("len",(0,Vm._)`${s}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Vm._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,_U.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,Vm._)`${o} <= ${e.length}`);r.if((0,Vm.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,o,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:_U.Type.Num},u),a.allErrors||r.if((0,Vm.not)(u),()=>r.break())})}}w_.validateAdditionalItems=R1e;w_.default=F3t});var vU=E(R_=>{"use strict";Object.defineProperty(R_,"__esModule",{value:!0});R_.validateTuple=void 0;var N1e=Et(),CO=Vt(),U3t=fi(),q3t={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return O1e(t,"additionalItems",e);r.items=!0,!(0,CO.alwaysValidSchema)(r,e)&&t.ok((0,U3t.validateArray)(t))}};function O1e(t,e,r=t.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=t;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=CO.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,N1e._)`${i}.length`);r.forEach((d,f)=>{(0,CO.alwaysValidSchema)(o,d)||(n.if((0,N1e._)`${u} > ${f}`,()=>t.subschema({keyword:a,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:p}=o,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let A=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,CO.checkStrictMode)(o,A,f.strictTuples)}}}R_.validateTuple=O1e;R_.default=q3t});var P1e=E(IU=>{"use strict";Object.defineProperty(IU,"__esModule",{value:!0});var j3t=vU(),H3t={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,j3t.validateTuple)(t,"items")};IU.default=H3t});var D1e=E(CU=>{"use strict";Object.defineProperty(CU,"__esModule",{value:!0});var k1e=Et(),Q3t=Vt(),G3t=fi(),K3t=SU(),V3t={message:({params:{len:t}})=>(0,k1e.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,k1e._)`{limit: ${t}}`},z3t={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:V3t,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=!0,!(0,Q3t.alwaysValidSchema)(n,e)&&(s?(0,K3t.validateAdditionalItems)(t,s):t.ok((0,G3t.validateArray)(t)))}};CU.default=z3t});var B1e=E(TU=>{"use strict";Object.defineProperty(TU,"__esModule",{value:!0});var rc=Et(),TO=Vt(),Y3t={message:({params:{min:t,max:e}})=>e===void 0?(0,rc.str)`must contain at least ${t} valid item(s)`:(0,rc.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,rc._)`{minContains: ${t}}`:(0,rc._)`{minContains: ${t}, maxContains: ${e}}`},J3t={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Y3t,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=e.const("len",(0,rc._)`${s}.length`);if(t.setParams({min:a,max:o}),o===void 0&&a===0){(0,TO.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,TO.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,TO.alwaysValidSchema)(i,r)){let h=(0,rc._)`${l} >= ${a}`;o!==void 0&&(h=(0,rc._)`${h} && ${l} <= ${o}`),t.pass(h);return}i.items=!0;let d=e.name("valid");o===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),o!==void 0&&e.if((0,rc._)`${s}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),A=e.let("count",0);p(h,()=>e.if(h,()=>m(A)))}function p(h,A){e.forRange("i",0,l,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:TO.Type.Num,compositeRule:!0},h),A()})}function m(h){e.code((0,rc._)`${h}++`),o===void 0?e.if((0,rc._)`${h} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,rc._)`${h} > ${o}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,rc._)`${h} >= ${a}`,()=>e.assign(d,!0)))}}};TU.default=J3t});var W1e=E(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.validateSchemaDeps=Xu.validatePropertyDeps=Xu.error=void 0;var wU=Et(),X3t=Vt(),N_=fi();Xu.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,wU.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,wU._)`{property: ${t},
|
|
missingProperty: ${n},
|
|
depsCount: ${e},
|
|
deps: ${r}}`};var Z3t={keyword:"dependencies",type:"object",schemaType:"object",error:Xu.error,code(t){let[e,r]=eBt(t);L1e(t,e),M1e(t,r)}};function eBt({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n]}return[e,r]}function L1e(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let c=(0,N_.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,N_.checkReportMissingProp)(t,u)}):(r.if((0,wU._)`${c} && (${(0,N_.checkMissingProp)(t,o,i)})`),(0,N_.reportMissingProp)(t,i),r.else())}}Xu.validatePropertyDeps=L1e;function M1e(t,e=t.schema){let{gen:r,data:n,keyword:s,it:i}=t,a=r.name("valid");for(let o in e)(0,X3t.alwaysValidSchema)(i,e[o])||(r.if((0,N_.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:o},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}Xu.validateSchemaDeps=M1e;Xu.default=Z3t});var F1e=E(RU=>{"use strict";Object.defineProperty(RU,"__esModule",{value:!0});var $1e=Et(),tBt=Vt(),rBt={message:"property name must be valid",params:({params:t})=>(0,$1e._)`{propertyName: ${t.propertyName}}`},nBt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:rBt,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0,tBt.alwaysValidSchema)(s,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,$1e.not)(i),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(i)}};RU.default=nBt});var OU=E(NU=>{"use strict";Object.defineProperty(NU,"__esModule",{value:!0});var wO=fi(),zc=Et(),sBt=ec(),RO=Vt(),iBt={message:"must NOT have additional properties",params:({params:t})=>(0,zc._)`{additionalProperty: ${t.additionalProperty}}`},aBt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:iBt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,RO.alwaysValidSchema)(a,r))return;let u=(0,wO.allSchemaProperties)(n.properties),l=(0,wO.allSchemaProperties)(n.patternProperties);d(),t.ok((0,zc._)`${i} === ${sBt.default.errors}`);function d(){e.forIn("key",s,A=>{!u.length&&!l.length?m(A):e.if(f(A),()=>m(A))})}function f(A){let g;if(u.length>8){let b=(0,RO.schemaRefOrVal)(a,n.properties,"properties");g=(0,wO.isOwnProperty)(e,b,A)}else u.length?g=(0,zc.or)(...u.map(b=>(0,zc._)`${A} === ${b}`)):g=zc.nil;return l.length&&(g=(0,zc.or)(g,...l.map(b=>(0,zc._)`${(0,wO.usePattern)(t,b)}.test(${A})`))),(0,zc.not)(g)}function p(A){e.code((0,zc._)`delete ${s}[${A}]`)}function m(A){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(A);return}if(r===!1){t.setParams({additionalProperty:A}),t.error(),o||e.break();return}if(typeof r=="object"&&!(0,RO.alwaysValidSchema)(a,r)){let g=e.name("valid");c.removeAdditional==="failing"?(h(A,g,!1),e.if((0,zc.not)(g),()=>{t.reset(),p(A)})):(h(A,g),o||e.if((0,zc.not)(g),()=>e.break()))}}function h(A,g,b){let y={keyword:"additionalProperties",dataProp:A,dataPropType:RO.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(y,g)}}};NU.default=aBt});var j1e=E(kU=>{"use strict";Object.defineProperty(kU,"__esModule",{value:!0});var oBt=Ay(),U1e=fi(),PU=Vt(),q1e=OU(),cBt={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&q1e.default.code(new oBt.KeywordCxt(i,q1e.default,"additionalProperties"));let a=(0,U1e.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=PU.mergeEvaluated.props(e,(0,PU.toHash)(a),i.props));let o=a.filter(d=>!(0,PU.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=e.name("valid");for(let d of o)u(d)?l(d):(e.if((0,U1e.propertyInData)(e,s,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};kU.default=cBt});var K1e=E(DU=>{"use strict";Object.defineProperty(DU,"__esModule",{value:!0});var H1e=fi(),NO=Et(),Q1e=Vt(),G1e=Vt(),uBt={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:i}=t,{opts:a}=i,o=(0,H1e.allSchemaProperties)(r),c=o.filter(h=>(0,Q1e.alwaysValidSchema)(i,r[h]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof NO.Name)&&(i.props=(0,G1e.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let h of o)u&&p(h),i.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function p(h){for(let A in u)new RegExp(h).test(A)&&(0,Q1e.checkStrictMode)(i,`property ${A} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,A=>{e.if((0,NO._)`${(0,H1e.usePattern)(t,h)}.test(${A})`,()=>{let g=c.includes(h);g||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:A,dataPropType:G1e.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,NO._)`${d}[${A}]`,!0):!g&&!i.allErrors&&e.if((0,NO.not)(l),()=>e.break())})})}}};DU.default=uBt});var V1e=E(BU=>{"use strict";Object.defineProperty(BU,"__esModule",{value:!0});var lBt=Vt(),dBt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,lBt.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};BU.default=dBt});var z1e=E(LU=>{"use strict";Object.defineProperty(LU,"__esModule",{value:!0});var fBt=fi(),pBt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:fBt.validateUnion,error:{message:"must match a schema in anyOf"}};LU.default=pBt});var Y1e=E(MU=>{"use strict";Object.defineProperty(MU,"__esModule",{value:!0});var OO=Et(),mBt=Vt(),hBt={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,OO._)`{passingSchemas: ${t.passing}}`},gBt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:hBt,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),o=e.let("passing",null),c=e.name("_valid");t.setParams({passing:o}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,mBt.alwaysValidSchema)(s,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,OO._)`${c} && ${a}`).assign(a,!1).assign(o,(0,OO._)`[${o}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(o,d),f&&t.mergeEvaluated(f,OO.Name)})})}}};MU.default=gBt});var J1e=E(WU=>{"use strict";Object.defineProperty(WU,"__esModule",{value:!0});var ABt=Vt(),yBt={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((i,a)=>{if((0,ABt.alwaysValidSchema)(n,i))return;let o=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(o)})}};WU.default=yBt});var e_e=E($U=>{"use strict";Object.defineProperty($U,"__esModule",{value:!0});var PO=Et(),Z1e=Vt(),xBt={message:({params:t})=>(0,PO.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,PO._)`{failingKeyword: ${t.ifClause}}`},bBt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:xBt,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Z1e.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=X1e(n,"then"),i=X1e(n,"else");if(!s&&!i)return;let a=e.let("valid",!0),o=e.name("_valid");if(c(),t.reset(),s&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(o,u("then",l),u("else",l))}else s?e.if(o,u("then")):e.if((0,PO.not)(o),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},o);e.assign(a,o),t.mergeValidEvaluated(f,a),d?e.assign(d,(0,PO._)`${l}`):t.setParams({ifClause:l})}}}};function X1e(t,e){let r=t.schema[e];return r!==void 0&&!(0,Z1e.alwaysValidSchema)(t,r)}$U.default=bBt});var t_e=E(FU=>{"use strict";Object.defineProperty(FU,"__esModule",{value:!0});var EBt=Vt(),_Bt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,EBt.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};FU.default=_Bt});var r_e=E(UU=>{"use strict";Object.defineProperty(UU,"__esModule",{value:!0});var SBt=SU(),vBt=P1e(),IBt=vU(),CBt=D1e(),TBt=B1e(),wBt=W1e(),RBt=F1e(),NBt=OU(),OBt=j1e(),PBt=K1e(),kBt=V1e(),DBt=z1e(),BBt=Y1e(),LBt=J1e(),MBt=e_e(),WBt=t_e();function $Bt(t=!1){let e=[kBt.default,DBt.default,BBt.default,LBt.default,MBt.default,WBt.default,RBt.default,NBt.default,wBt.default,OBt.default,PBt.default];return t?e.push(vBt.default,CBt.default):e.push(SBt.default,IBt.default),e.push(TBt.default),e}UU.default=$Bt});var n_e=E(qU=>{"use strict";Object.defineProperty(qU,"__esModule",{value:!0});var ls=Et(),FBt={message:({schemaCode:t})=>(0,ls.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ls._)`{format: ${t}}`},UBt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:FBt,code(t,e){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ls._)`${m}[${a}]`),A=r.let("fType"),g=r.let("format");r.if((0,ls._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(A,(0,ls._)`${h}.type || "string"`).assign(g,(0,ls._)`${h}.validate`),()=>r.assign(A,(0,ls._)`"string"`).assign(g,h)),t.fail$data((0,ls.or)(b(),y()));function b(){return c.strictSchema===!1?ls.nil:(0,ls._)`${a} && !${g}`}function y(){let x=l.$async?(0,ls._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,ls._)`${g}(${n})`,v=(0,ls._)`(typeof ${g} == "function" ? ${x} : ${g}.test(${n}))`;return(0,ls._)`${g} && ${g} !== true && ${A} === ${e} && !${v}`}}function p(){let m=d.formats[i];if(!m){b();return}if(m===!0)return;let[h,A,g]=y(m);h===e&&t.pass(x());function b(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function y(v){let I=v instanceof RegExp?(0,ls.regexpCode)(v):c.code.formats?(0,ls._)`${c.code.formats}${(0,ls.getProperty)(i)}`:void 0,R=r.scopeValue("formats",{key:i,ref:v,code:I});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,ls._)`${R}.validate`]:["string",v,R]}function x(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ls._)`await ${g}(${n})`}return typeof A=="function"?(0,ls._)`${g}(${n})`:(0,ls._)`${g}.test(${n})`}}}};qU.default=UBt});var s_e=E(jU=>{"use strict";Object.defineProperty(jU,"__esModule",{value:!0});var qBt=n_e(),jBt=[qBt.default];jU.default=jBt});var i_e=E(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.contentVocabulary=Ey.metadataVocabulary=void 0;Ey.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ey.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var o_e=E(HU=>{"use strict";Object.defineProperty(HU,"__esModule",{value:!0});var HBt=m1e(),QBt=w1e(),GBt=r_e(),KBt=s_e(),a_e=i_e(),VBt=[HBt.default,QBt.default,(0,GBt.default)(),KBt.default,a_e.metadataVocabulary,a_e.contentVocabulary];HU.default=VBt});var QU=E(kO=>{"use strict";Object.defineProperty(kO,"__esModule",{value:!0});kO.DiscrError=void 0;var c_e;(function(t){t.Tag="tag",t.Mapping="mapping"})(c_e||(kO.DiscrError=c_e={}))});var l_e=E(KU=>{"use strict";Object.defineProperty(KU,"__esModule",{value:!0});var _y=Et(),GU=QU(),u_e=Qm(),zBt=bd(),YBt=Vt(),JBt={message:({params:{discrError:t,tagName:e}})=>t===GU.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,_y._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},XBt={keyword:"discriminator",type:"object",schemaType:"object",error:JBt,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,_y._)`${r}${(0,_y.getProperty)(o)}`);e.if((0,_y._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:GU.DiscrError.Tag,tag:u,tagName:o})),t.ok(c);function l(){let p=f();e.if(!1);for(let m in p)e.elseIf((0,_y._)`${u} === ${m}`),e.assign(c,d(p[m]));e.else(),t.error(!1,{discrError:GU.DiscrError.Mapping,tag:u,tagName:o}),e.endIf()}function d(p){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},m);return t.mergeEvaluated(h,_y.Name),m}function f(){var p;let m={},h=g(s),A=!0;for(let x=0;x<a.length;x++){let v=a[x];if(v?.$ref&&!(0,YBt.schemaHasRulesButRef)(v,i.self.RULES)){let R=v.$ref;if(v=u_e.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,R),v instanceof u_e.SchemaEnv&&(v=v.schema),v===void 0)throw new zBt.default(i.opts.uriResolver,i.baseId,R)}let I=(p=v?.properties)===null||p===void 0?void 0:p[o];if(typeof I!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);A=A&&(h||g(v)),b(I,x)}if(!A)throw new Error(`discriminator: "${o}" must be required`);return m;function g({required:x}){return Array.isArray(x)&&x.includes(o)}function b(x,v){if(x.const)y(x.const,v);else if(x.enum)for(let I of x.enum)y(I,v);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function y(x,v){if(typeof x!="string"||x in m)throw new Error(`discriminator: "${o}" values must be unique strings`);m[x]=v}}}};KU.default=XBt});var d_e=E((fBr,ZBt)=>{ZBt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var p_e=E((kn,VU)=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.MissingRefError=kn.ValidationError=kn.CodeGen=kn.Name=kn.nil=kn.stringify=kn.str=kn._=kn.KeywordCxt=kn.Ajv=void 0;var eLt=nU(),tLt=o_e(),rLt=l_e(),f_e=d_e(),nLt=["/properties"],DO="http://json-schema.org/draft-07/schema",Sy=class extends eLt.default{_addVocabularies(){super._addVocabularies(),tLt.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(rLt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(f_e,nLt):f_e;this.addMetaSchema(e,DO,!1),this.refs["http://json-schema.org/schema"]=DO}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(DO)?DO:void 0)}};kn.Ajv=Sy;VU.exports=kn=Sy;VU.exports.Ajv=Sy;Object.defineProperty(kn,"__esModule",{value:!0});kn.default=Sy;var sLt=Ay();Object.defineProperty(kn,"KeywordCxt",{enumerable:!0,get:function(){return sLt.KeywordCxt}});var vy=Et();Object.defineProperty(kn,"_",{enumerable:!0,get:function(){return vy._}});Object.defineProperty(kn,"str",{enumerable:!0,get:function(){return vy.str}});Object.defineProperty(kn,"stringify",{enumerable:!0,get:function(){return vy.stringify}});Object.defineProperty(kn,"nil",{enumerable:!0,get:function(){return vy.nil}});Object.defineProperty(kn,"Name",{enumerable:!0,get:function(){return vy.Name}});Object.defineProperty(kn,"CodeGen",{enumerable:!0,get:function(){return vy.CodeGen}});var iLt=A_();Object.defineProperty(kn,"ValidationError",{enumerable:!0,get:function(){return iLt.default}});var aLt=bd();Object.defineProperty(kn,"MissingRefError",{enumerable:!0,get:function(){return aLt.default}})});var _d=E(O_=>{"use strict";Object.defineProperty(O_,"__esModule",{value:!0});O_.checkMetadata=void 0;var oLt=Vt(),cLt={keyword:"metadata",schemaType:"object",code(t){m_e(t);let{gen:e,schema:r,it:n}=t;if((0,oLt.alwaysValidSchema)(n,r))return;let s=e.name("valid");t.subschema({keyword:"metadata",jtdMetadata:!0},s),t.ok(s)}};function m_e({it:t,keyword:e},r){if(t.jtdMetadata!==r)throw new Error(`JTD: "${e}" cannot be used in this schema location`)}O_.checkMetadata=m_e;O_.default=cLt});var BO=E(k_=>{"use strict";Object.defineProperty(k_,"__esModule",{value:!0});k_.hasRef=void 0;var h_e=Qm(),P_=Et(),uLt=bd(),g_e=ec(),A_e=iU(),lLt=_d(),dLt={keyword:"ref",schemaType:"string",code(t){(0,lLt.checkMetadata)(t);let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{schemaEnv:{root:a}}=i,o=e.name("valid");s.nullable?(e.var(o,(0,P_._)`${r} === null`),e.if((0,P_.not)(o),c)):(e.var(o,!1),c()),t.ok(o);function c(){var d;let f=(d=a.schema.definitions)===null||d===void 0?void 0:d[n];if(!f)throw new uLt.default(i.opts.uriResolver,"",n,`No definition ${n}`);zU(f)||!i.opts.inlineRefs?u(f):l(f)}function u(d){let f=h_e.compileSchema.call(i.self,new h_e.SchemaEnv({schema:d,root:a,schemaPath:`/definitions/${n}`})),p=(0,A_e.getValidate)(t,f),m=e.const("_errs",g_e.default.errors);(0,A_e.callRef)(t,p,f,f.$async),e.assign(o,(0,P_._)`${m} === ${g_e.default.errors}`)}function l(d){let f=e.scopeValue("schema",i.opts.code.source===!0?{ref:d,code:(0,P_.stringify)(d)}:{ref:d});t.subschema({schema:d,dataTypes:[],schemaPath:P_.nil,topSchemaRef:f,errSchemaPath:`/definitions/${n}`},o)}}};function zU(t){for(let e in t){let r;if(e==="ref"||typeof(r=t[e])=="object"&&zU(r))return!0}return!1}k_.hasRef=zU;k_.default=dLt});var JU=E(YU=>{"use strict";Object.defineProperty(YU,"__esModule",{value:!0});var fLt=/t|\s/i,pLt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,mLt=/^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:z|([+-]\d\d)(?::?(\d\d))?)$/i,hLt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function x_e(t,e){let r=t.split(fLt);return r.length===2&&y_e(r[0])&&gLt(r[1])||e&&r.length===1&&y_e(r[0])}YU.default=x_e;function y_e(t){let e=pLt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3];return n>=1&&n<=12&&s>=1&&(s<=hLt[n]||n===2&&s===29&&(r%100===0?r%400===0:r%4===0))}function gLt(t){let e=mLt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3],i=+(e[4]||0),a=+(e[5]||0);return r<=23&&n<=59&&s<=59||r-i===23&&n-a===59&&s===60}x_e.code='require("ajv/dist/runtime/timestamp").default'});var Iy=E(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});Np.typeErrorParams=Np.typeErrorMessage=Np.typeError=void 0;var ALt=Et();function yLt(t){return{message:e=>b_e(e,t),params:e=>E_e(e,t)}}Np.typeError=yLt;function b_e({parentSchema:t},e){return t?.nullable?`must be ${e} or null`:`must be ${e}`}Np.typeErrorMessage=b_e;function E_e({parentSchema:t},e){return(0,ALt._)`{type: ${e}, nullable: ${!!t?.nullable}}`}Np.typeErrorParams=E_e});var XU=E(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.intRange=void 0;var Eo=Et(),xLt=JU(),bLt=Vt(),ELt=_d(),__e=Iy();Cy.intRange={int8:[-128,127,3],uint8:[0,255,3],int16:[-32768,32767,5],uint16:[0,65535,5],int32:[-2147483648,2147483647,10],uint32:[0,4294967295,10]};var _Lt={message:t=>(0,__e.typeErrorMessage)(t,t.schema),params:t=>(0,__e.typeErrorParams)(t,t.schema)};function SLt(t){let{gen:e,data:r,it:n}=t,{timestamp:s,allowDate:i}=n.opts;if(s==="date")return(0,Eo._)`${r} instanceof Date `;let a=(0,bLt.useFunc)(e,xLt.default),o=i?(0,Eo._)`, true`:Eo.nil,c=(0,Eo._)`typeof ${r} == "string" && ${a}(${r}${o})`;return s==="string"?c:(0,Eo.or)((0,Eo._)`${r} instanceof Date`,c)}var vLt={keyword:"type",schemaType:"string",error:_Lt,code(t){(0,ELt.checkMetadata)(t);let{data:e,schema:r,parentSchema:n,it:s}=t,i;switch(r){case"boolean":case"string":i=(0,Eo._)`typeof ${e} == ${r}`;break;case"timestamp":{i=SLt(t);break}case"float32":case"float64":i=(0,Eo._)`typeof ${e} == "number"`;break;default:{let a=r;if(i=(0,Eo._)`typeof ${e} == "number" && isFinite(${e}) && !(${e} % 1)`,!s.opts.int32range&&(a==="int32"||a==="uint32"))a==="uint32"&&(i=(0,Eo._)`${i} && ${e} >= 0`);else{let[o,c]=Cy.intRange[a];i=(0,Eo._)`${i} && ${e} >= ${o} && ${e} <= ${c}`}}}t.pass(n.nullable?(0,Eo.or)((0,Eo._)`${e} === null`,i):i)}};Cy.default=vLt});var wy=E(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});Ty.checkNullableObject=Ty.checkNullable=void 0;var LO=Et();function S_e({gen:t,data:e,parentSchema:r},n=LO.nil){let s=t.name("valid");return r.nullable?(t.let(s,(0,LO._)`${e} === null`),n=(0,LO.not)(s)):t.let(s,!1),[s,n]}Ty.checkNullable=S_e;function ILt(t,e){let[r,n]=S_e(t,e);return[r,(0,LO._)`${n} && typeof ${t.data} == "object" && !Array.isArray(${t.data})`]}Ty.checkNullableObject=ILt});var v_e=E(ZU=>{"use strict";Object.defineProperty(ZU,"__esModule",{value:!0});var Op=Et(),CLt=_d(),TLt=wy(),wLt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Op._)`{allowedValues: ${t}}`},RLt={keyword:"enum",schemaType:"array",error:wLt,code(t){(0,CLt.checkMetadata)(t);let{gen:e,data:r,schema:n,schemaValue:s,parentSchema:i,it:a}=t;if(n.length===0)throw new Error("enum must have non-empty array");if(n.length!==new Set(n).size)throw new Error("enum items must be unique");let o,c=(0,Op._)`typeof ${r} == "string"`;if(n.length>=a.opts.loopEnum){let l;[o,l]=(0,TLt.checkNullable)(t,c),e.if(l,u)}else{if(!Array.isArray(n))throw new Error("ajv implementation error");o=(0,Op.and)(c,(0,Op.or)(...n.map(l=>(0,Op._)`${r} === ${l}`))),i.nullable&&(o=(0,Op.or)((0,Op._)`${r} === null`,o))}t.pass(o);function u(){e.forOf("v",s,l=>e.if((0,Op._)`${o} = ${r} === ${l}`,()=>e.break()))}}};ZU.default=RLt});var C_e=E(e7=>{"use strict";Object.defineProperty(e7,"__esModule",{value:!0});var NLt=Vt(),OLt=fi(),I_e=Et(),PLt=_d(),kLt=wy(),DLt=Iy(),BLt={keyword:"elements",schemaType:"object",error:(0,DLt.typeError)("array"),code(t){(0,PLt.checkMetadata)(t);let{gen:e,data:r,schema:n,it:s}=t;if((0,NLt.alwaysValidSchema)(s,n))return;let[i]=(0,kLt.checkNullable)(t);e.if((0,I_e.not)(i),()=>e.if((0,I_e._)`Array.isArray(${r})`,()=>e.assign(i,(0,OLt.validateArray)(t)),()=>t.error())),t.ok(i)}};e7.default=BLt});var r7=E(Pp=>{"use strict";Object.defineProperty(Pp,"__esModule",{value:!0});Pp.validateProperties=Pp.error=void 0;var t7=fi(),T_e=Vt(),Sd=Et(),LLt=_d(),MLt=wy(),w_e=Iy(),Ry;(function(t){t.Additional="additional",t.Missing="missing"})(Ry||(Ry={}));Pp.error={message:t=>{let{params:e}=t;return e.propError?e.propError===Ry.Additional?"must NOT have additional properties":`must have property '${e.missingProperty}'`:(0,w_e.typeErrorMessage)(t,"object")},params:t=>{let{params:e}=t;return e.propError?e.propError===Ry.Additional?(0,Sd._)`{error: ${e.propError}, additionalProperty: ${e.additionalProperty}}`:(0,Sd._)`{error: ${e.propError}, missingProperty: ${e.missingProperty}}`:(0,w_e.typeErrorParams)(t,"object")}};var WLt={keyword:"properties",schemaType:"object",error:Pp.error,code:R_e};function R_e(t){(0,LLt.checkMetadata)(t);let{gen:e,data:r,parentSchema:n,it:s}=t,{additionalProperties:i,nullable:a}=n;if(s.jtdDiscriminator&&a)throw new Error("JTD: nullable inside discriminator mapping");if(p())throw new Error("JTD: properties and optionalProperties have common members");let[o,c]=m("properties"),[u,l]=m("optionalProperties");if(c.length===0&&l.length===0&&i)return;let[d,f]=s.jtdDiscriminator===void 0?(0,MLt.checkNullableObject)(t,r):[e.let("valid",!1),!0];e.if(f,()=>e.assign(d,!0).block(()=>{h(c,"properties",!0),h(l,"optionalProperties"),i||g()})),t.pass(d);function p(){let y=n.properties,x=n.optionalProperties;if(!(y&&x))return!1;for(let v in y)if(Object.prototype.hasOwnProperty.call(x,v))return!0;return!1}function m(y){let x=n[y],v=x?(0,t7.allSchemaProperties)(x):[];if(s.jtdDiscriminator&&v.some(R=>R===s.jtdDiscriminator))throw new Error(`JTD: discriminator tag used in ${y}`);let I=v.filter(R=>!(0,T_e.alwaysValidSchema)(s,x[R]));return[v,I]}function h(y,x,v){let I=e.var("valid");for(let w of y)e.if((0,t7.propertyInData)(e,r,w,s.opts.ownProperties),()=>A(w,x,I),()=>R(w)),t.ok(I);function R(w){v?(e.assign(I,!1),t.error(!1,{propError:Ry.Missing,missingProperty:w},{schemaPath:w})):e.assign(I,!0)}}function A(y,x,v){t.subschema({keyword:x,schemaProp:y,dataProp:y},v)}function g(){e.forIn("key",r,y=>{let x=b(y,o,"properties",s.jtdDiscriminator),v=b(y,u,"optionalProperties"),I=x===!0?v:v===!0?x:(0,Sd.and)(x,v);e.if(I,()=>{s.opts.removeAdditional?e.code((0,Sd._)`delete ${r}[${y}]`):(t.error(!1,{propError:Ry.Additional,additionalProperty:y},{instancePath:y,parentSchema:!0}),s.opts.allErrors||e.break())})})}function b(y,x,v,I){let R;if(x.length>8){let w=(0,T_e.schemaRefOrVal)(s,n[v],v);R=(0,Sd.not)((0,t7.isOwnProperty)(e,w,y)),I!==void 0&&(R=(0,Sd.and)(R,(0,Sd._)`${y} !== ${I}`))}else if(x.length||I!==void 0){let w=I===void 0?x:[I].concat(x);R=(0,Sd.and)(...w.map(N=>(0,Sd._)`${y} !== ${N}`))}else R=!0;return R}}Pp.validateProperties=R_e;Pp.default=WLt});var O_e=E(n7=>{"use strict";Object.defineProperty(n7,"__esModule",{value:!0});var N_e=r7(),$Lt={keyword:"optionalProperties",schemaType:"object",error:N_e.error,code(t){t.parentSchema.properties||(0,N_e.validateProperties)(t)}};n7.default=$Lt});var k_e=E(s7=>{"use strict";Object.defineProperty(s7,"__esModule",{value:!0});var zm=Et(),FLt=_d(),ULt=wy(),P_e=Iy(),MO=QU(),qLt={message:t=>{let{schema:e,params:r}=t;return r.discrError?r.discrError===MO.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in mapping`:(0,P_e.typeErrorMessage)(t,"object")},params:t=>{let{schema:e,params:r}=t;return r.discrError?(0,zm._)`{error: ${r.discrError}, tag: ${e}, tagValue: ${r.tag}}`:(0,P_e.typeErrorParams)(t,"object")}},jLt={keyword:"discriminator",schemaType:"string",implements:["mapping"],error:qLt,code(t){(0,FLt.checkMetadata)(t);let{gen:e,data:r,schema:n,parentSchema:s}=t,[i,a]=(0,ULt.checkNullableObject)(t,r);e.if(a),o(),e.elseIf((0,zm.not)(i)),t.error(),e.endIf(),t.ok(i);function o(){let l=e.const("tag",(0,zm._)`${r}${(0,zm.getProperty)(n)}`);e.if((0,zm._)`${l} === undefined`),t.error(!1,{discrError:MO.DiscrError.Tag,tag:l}),e.elseIf((0,zm._)`typeof ${l} == "string"`),c(l),e.else(),t.error(!1,{discrError:MO.DiscrError.Tag,tag:l},{instancePath:n}),e.endIf()}function c(l){e.if(!1);for(let d in s.mapping)e.elseIf((0,zm._)`${l} === ${d}`),e.assign(i,u(d));e.else(),t.error(!1,{discrError:MO.DiscrError.Mapping,tag:l},{instancePath:n,schemaPath:"mapping",parentSchema:!0}),e.endIf()}function u(l){let d=e.name("valid");return t.subschema({keyword:"mapping",schemaProp:l,jtdDiscriminator:n},d),d}}};s7.default=jLt});var B_e=E(i7=>{"use strict";Object.defineProperty(i7,"__esModule",{value:!0});var D_e=Vt(),WO=Et(),HLt=_d(),QLt=wy(),GLt=Iy(),KLt={keyword:"values",schemaType:"object",error:(0,GLt.typeError)("object"),code(t){(0,HLt.checkMetadata)(t);let{gen:e,data:r,schema:n,it:s}=t,[i,a]=(0,QLt.checkNullableObject)(t,r);(0,D_e.alwaysValidSchema)(s,n)?e.if((0,WO.not)((0,WO.or)(a,i)),()=>t.error()):(e.if(a),e.assign(i,o()),e.elseIf((0,WO.not)(i)),t.error(),e.endIf()),t.ok(i);function o(){let c=e.name("valid");if(s.allErrors){let l=e.let("valid",!0);return u(()=>e.assign(l,!1)),l}return e.var(c,!0),u(()=>e.break()),c;function u(l){e.forIn("key",r,d=>{t.subschema({keyword:"values",dataProp:d,dataPropType:D_e.Type.Str},c),e.if((0,WO.not)(c),l)})}}}};i7.default=KLt});var L_e=E(a7=>{"use strict";Object.defineProperty(a7,"__esModule",{value:!0});var VLt=fi(),zLt={keyword:"union",schemaType:"array",trackErrors:!0,code:VLt.validateUnion,error:{message:"must match a schema in union"}};a7.default=zLt});var M_e=E(o7=>{"use strict";Object.defineProperty(o7,"__esModule",{value:!0});var YLt=BO(),JLt=XU(),XLt=v_e(),ZLt=C_e(),e4t=r7(),t4t=O_e(),r4t=k_e(),n4t=B_e(),s4t=L_e(),i4t=_d(),a4t=["definitions",YLt.default,JLt.default,XLt.default,ZLt.default,e4t.default,t4t.default,r4t.default,n4t.default,s4t.default,i4t.default,{keyword:"additionalProperties",schemaType:"boolean"},{keyword:"nullable",schemaType:"boolean"}];o7.default=a4t});var U_e=E(c7=>{"use strict";Object.defineProperty(c7,"__esModule",{value:!0});var vd=t=>{let e={nullable:{type:"boolean"},metadata:{optionalProperties:{union:{elements:{ref:"schema"}}},additionalProperties:!0}};return t&&(e.definitions={values:{ref:"schema"}}),e},o4t=t=>({optionalProperties:vd(t)}),c4t=t=>({properties:{ref:{type:"string"}},optionalProperties:vd(t)}),u4t=t=>({properties:{type:{enum:["boolean","timestamp","string","float32","float64","int8","uint8","int16","uint16","int32","uint32"]}},optionalProperties:vd(t)}),l4t=t=>({properties:{enum:{elements:{type:"string"}}},optionalProperties:vd(t)}),d4t=t=>({properties:{elements:{ref:"schema"}},optionalProperties:vd(t)}),$_e=t=>({properties:{properties:{values:{ref:"schema"}}},optionalProperties:{optionalProperties:{values:{ref:"schema"}},additionalProperties:{type:"boolean"},...vd(t)}}),F_e=t=>({properties:{optionalProperties:{values:{ref:"schema"}}},optionalProperties:{additionalProperties:{type:"boolean"},...vd(t)}}),f4t=t=>({properties:{discriminator:{type:"string"},mapping:{values:{metadata:{union:[$_e(!1),F_e(!1)]}}}},optionalProperties:vd(t)}),p4t=t=>({properties:{values:{ref:"schema"}},optionalProperties:vd(t)}),W_e=t=>({metadata:{union:[o4t,c4t,u4t,l4t,d4t,$_e,F_e,f4t,p4t].map(e=>e(t))}}),m4t={definitions:{schema:W_e(!1)},...W_e(!0)};c7.default=m4t});var u7=E($O=>{"use strict";Object.defineProperty($O,"__esModule",{value:!0});$O.jtdForms=void 0;$O.jtdForms=["elements","values","discriminator","properties","optionalProperties","enum","type","ref"]});var j_e=E(d7=>{"use strict";Object.defineProperty(d7,"__esModule",{value:!0});var l7=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,h4t={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function q_e(t){return l7.lastIndex=0,'"'+(l7.test(t)?t.replace(l7,e=>{let r=h4t[e];return typeof r=="string"?r:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}):t)+'"'}d7.default=q_e;q_e.code='require("ajv/dist/runtime/quote").default'});var z_e=E(p7=>{"use strict";Object.defineProperty(p7,"__esModule",{value:!0});var g4t=u7(),Q_e=Qm(),dr=Et(),A4t=bd(),En=ec(),y4t=fi(),x4t=BO(),b4t=Vt(),E4t=j_e(),_4t={elements:v4t,values:I4t,discriminator:C4t,properties:H_e,optionalProperties:H_e,enum:D_,type:T4t,ref:R4t};function G_e(t,e){let r=Q_e.getCompilingSchema.call(this,t);if(r)return r;let{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new dr.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o=a.scopeName("serialize"),c={self:this,gen:a,schema:t.schema,schemaEnv:t,definitions:e,data:En.default.data},u;try{this._compilations.add(t),t.serializeName=o,a.func(o,En.default.data,!1,()=>{a.let(En.default.json,(0,dr.str)``),B_(c),a.return(En.default.json)}),a.optimize(this.opts.code.optimize);let l=a.toString();u=`${a.scopeRefs(En.default.scope)}return ${l}`;let f=new Function(`${En.default.scope}`,u)(this.scope.get());this.scope.value(o,{ref:f}),t.serialize=f}catch(l){throw u&&this.logger.error("Error compiling serializer, function code:",u),delete t.serialize,delete t.serializeName,l}finally{this._compilations.delete(t)}return t}p7.default=G_e;function B_(t){let e;for(let r of g4t.jtdForms)if(r in t.schema){e=r;break}S4t(t,e?_4t[e]:O4t)}function S4t(t,e){let{gen:r,schema:n,data:s}=t;if(!n.nullable)return e(t);r.if((0,dr._)`${s} === undefined || ${s} === null`,()=>r.add(En.default.json,(0,dr._)`"null"`),()=>e(t))}function v4t(t){let{gen:e,schema:r,data:n}=t;e.add(En.default.json,(0,dr.str)`[`);let s=e.let("first",!0);e.forOf("el",n,i=>{f7(t,s),B_({...t,schema:r.elements,data:i})}),e.add(En.default.json,(0,dr.str)`]`)}function I4t(t){let{gen:e,schema:r,data:n}=t;e.add(En.default.json,(0,dr.str)`{`);let s=e.let("first",!0);e.forIn("key",n,i=>K_e(t,i,r.values,s)),e.add(En.default.json,(0,dr.str)`}`)}function K_e(t,e,r,n){let{gen:s,data:i}=t;f7(t,n),D_({...t,data:e}),s.add(En.default.json,(0,dr.str)`:`);let a=s.const("value",(0,dr._)`${i}${(0,dr.getProperty)(e)}`);B_({...t,schema:r,data:a})}function C4t(t){let{gen:e,schema:r,data:n}=t,{discriminator:s}=r;e.add(En.default.json,(0,dr.str)`{${JSON.stringify(s)}:`);let i=e.const("tag",(0,dr._)`${n}${(0,dr.getProperty)(s)}`);D_({...t,data:i}),e.if(!1);for(let a in r.mapping){e.elseIf((0,dr._)`${i} === ${a}`);let o=r.mapping[a];V_e({...t,schema:o},s)}e.endIf(),e.add(En.default.json,(0,dr.str)`}`)}function H_e(t){let{gen:e}=t;e.add(En.default.json,(0,dr.str)`{`),V_e(t),e.add(En.default.json,(0,dr.str)`}`)}function V_e(t,e){let{gen:r,schema:n,data:s}=t,{properties:i,optionalProperties:a}=n,o=f(i),c=f(a),u=p(o.concat(c)),l=!e,d;for(let g of o)l?l=!1:r.add(En.default.json,(0,dr.str)`,`),h(g,i[g],m(g));l&&(d=r.let("first",!0));for(let g of c){let b=m(g);r.if((0,dr.and)((0,dr._)`${b} !== undefined`,(0,y4t.isOwnProperty)(r,s,g)),()=>{f7(t,d),h(g,a[g],b)})}n.additionalProperties&&r.forIn("key",s,g=>r.if(A(g,u),()=>K_e(t,g,{},d)));function f(g){return g?Object.keys(g):[]}function p(g){if(e&&g.push(e),new Set(g).size!==g.length)throw new Error("JTD: properties/optionalProperties/disciminator overlap");return g}function m(g){return r.const("value",(0,dr._)`${s}${(0,dr.getProperty)(g)}`)}function h(g,b,y){r.add(En.default.json,(0,dr.str)`${JSON.stringify(g)}:`),B_({...t,schema:b,data:y})}function A(g,b){return b.length?(0,dr.and)(...b.map(y=>(0,dr._)`${g} !== ${y}`)):!0}}function T4t(t){let{gen:e,schema:r,data:n}=t;switch(r.type){case"boolean":e.add(En.default.json,(0,dr._)`${n} ? "true" : "false"`);break;case"string":D_(t);break;case"timestamp":e.if((0,dr._)`${n} instanceof Date`,()=>e.add(En.default.json,(0,dr._)`'"' + ${n}.toISOString() + '"'`),()=>D_(t));break;default:w4t(t)}}function D_({gen:t,data:e}){t.add(En.default.json,(0,dr._)`${(0,b4t.useFunc)(t,E4t.default)}(${e})`)}function w4t({gen:t,data:e}){t.add(En.default.json,(0,dr._)`"" + ${e}`)}function R4t(t){let{gen:e,self:r,data:n,definitions:s,schema:i,schemaEnv:a}=t,{ref:o}=i,c=s[o];if(!c)throw new A4t.default(r.opts.uriResolver,"",o,`No definition ${o}`);if(!(0,x4t.hasRef)(c))return B_({...t,schema:c});let{root:u}=a,l=G_e.call(r,new Q_e.SchemaEnv({schema:c,root:u}),s);e.add(En.default.json,(0,dr._)`${N4t(e,l)}(${n})`)}function N4t(t,e){return e.serialize?t.scopeValue("serialize",{ref:e.serialize}):(0,dr._)`${t.scopeValue("wrapper",{ref:e})}.serialize`}function O4t({gen:t,data:e}){t.add(En.default.json,(0,dr._)`JSON.stringify(${e})`)}function f7({gen:t},e){e?t.if(e,()=>t.assign(e,!1),()=>t.add(En.default.json,(0,dr.str)`,`)):t.add(En.default.json,(0,dr.str)`,`)}});var J_e=E(Dp=>{"use strict";Object.defineProperty(Dp,"__esModule",{value:!0});Dp.parseJsonString=Dp.parseJsonNumber=Dp.parseJson=void 0;var P4t=/position\s(\d+)(?: \(line \d+ column \d+\))?$/;function Id(t,e){let r;Id.message=void 0;let n;e&&(t=t.slice(e));try{return Id.position=e+t.length,JSON.parse(t)}catch(s){if(n=P4t.exec(s.message),!n){Id.message="unexpected end";return}r=+n[1];let i=t[r];t=t.slice(0,r),Id.position=e+r;try{return JSON.parse(t)}catch{Id.message=`unexpected token ${i}`;return}}}Dp.parseJson=Id;Id.message=void 0;Id.position=0;Id.code='require("ajv/dist/runtime/parseJson").parseJson';function Cd(t,e,r){let n="",s;if(Cd.message=void 0,t[e]==="-"&&(n+="-",e++),t[e]==="0")n+="0",e++;else if(!i(r)){a();return}if(r)return Cd.position=e,+n;if(t[e]==="."&&(n+=".",e++,!i())){a();return}if(s=t[e],(s==="e"||s==="E")&&(n+="e",e++,s=t[e],(s==="+"||s==="-")&&(n+=s,e++),!i())){a();return}return Cd.position=e,+n;function i(o){let c=!1;for(;s=t[e],s>="0"&&s<="9"&&(o===void 0||o-- >0);)c=!0,n+=s,e++;return c}function a(){Cd.position=e,Cd.message=e<t.length?`unexpected token ${t[e]}`:"unexpected end"}}Dp.parseJsonNumber=Cd;Cd.message=void 0;Cd.position=0;Cd.code='require("ajv/dist/runtime/parseJson").parseJsonNumber';var Y_e={b:"\b",f:"\f",n:`
|
|
`,r:"\r",t:" ",'"':'"',"/":"/","\\":"\\"},k4t=97,D4t=48;function kp(t,e){let r="",n;for(kp.message=void 0;n=t[e++],n!=='"';)if(n==="\\")if(n=t[e],n in Y_e)r+=Y_e[n],e++;else if(n==="u"){e++;let i=4,a=0;for(;i--;){if(a<<=4,n=t[e],n===void 0){s("unexpected end");return}if(n=n.toLowerCase(),n>="a"&&n<="f")a+=n.charCodeAt(0)-k4t+10;else if(n>="0"&&n<="9")a+=n.charCodeAt(0)-D4t;else{s(`unexpected token ${n}`);return}e++}r+=String.fromCharCode(a)}else{s(`unexpected token ${n}`);return}else if(n===void 0){s("unexpected end");return}else if(n.charCodeAt(0)>=32)r+=n;else{s(`unexpected token ${n}`);return}return kp.position=e,r;function s(i){kp.position=e,kp.message=i}}Dp.parseJsonString=kp;kp.message=void 0;kp.position=0;kp.code='require("ajv/dist/runtime/parseJson").parseJsonString'});var cSe=E(E7=>{"use strict";Object.defineProperty(E7,"__esModule",{value:!0});var B4t=u7(),tSe=Qm(),ut=Et(),L4t=bd(),or=ec(),M4t=fi(),W4t=BO(),$4t=XU(),g7=J_e(),rSe=Vt(),F4t=JU(),U4t={elements:Q4t,values:G4t,discriminator:V4t,properties:X_e,optionalProperties:X_e,enum:Y4t,type:z4t,ref:J4t};function nSe(t,e){let r=tSe.getCompilingSchema.call(this,t);if(r)return r;let{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new ut.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o=a.scopeName("parse"),c={self:this,gen:a,schema:t.schema,schemaEnv:t,definitions:e,data:or.default.data,parseName:o,char:a.name("c")},u;try{this._compilations.add(t),t.parseName=o,q4t(c),a.optimize(this.opts.code.optimize);let l=a.toString();u=`${a.scopeRefs(or.default.scope)}return ${l}`;let f=new Function(`${or.default.scope}`,u)(this.scope.get());this.scope.value(o,{ref:f}),t.parse=f}catch(l){throw u&&this.logger.error("Error compiling parser, function code:",u),delete t.parse,delete t.parseName,l}finally{this._compilations.delete(t)}return t}E7.default=nSe;var h7=(0,ut._)`undefined`;function q4t(t){let{gen:e,parseName:r,char:n}=t;e.func(r,(0,ut._)`${or.default.json}, ${or.default.jsonPos}, ${or.default.jsonPart}`,!1,()=>{e.let(or.default.data),e.let(n),e.assign((0,ut._)`${r}.message`,h7),e.assign((0,ut._)`${r}.position`,h7),e.assign(or.default.jsonPos,(0,ut._)`${or.default.jsonPos} || 0`),e.const(or.default.jsonLen,(0,ut._)`${or.default.json}.length`),FO(t),b7(t),e.if(or.default.jsonPart,()=>{e.assign((0,ut._)`${r}.position`,or.default.jsonPos),e.return(or.default.data)}),e.if((0,ut._)`${or.default.jsonPos} === ${or.default.jsonLen}`,()=>e.return(or.default.data)),Ny(t)})}function FO(t){let e;for(let r of B4t.jtdForms)if(r in t.schema){e=r;break}e?H4t(t,U4t[e]):y7(t)}var j4t=eSe(!0,eSe(!1,Ny));function H4t(t,e){let{gen:r,schema:n,data:s}=t;if(!n.nullable)return e(t);L_(t,"null",e,()=>r.assign(s,null))}function Q4t(t){let{gen:e,schema:r,data:n}=t;Zu(t,"[");let s=e.let("i",0);e.assign(n,(0,ut._)`[]`),A7(t,"]",()=>{let i=e.let("el");FO({...t,schema:r.elements,data:i}),e.assign((0,ut._)`${n}[${s}++]`,i)})}function G4t(t){let{gen:e,schema:r,data:n}=t;Zu(t,"{"),e.assign(n,(0,ut._)`{}`),A7(t,"}",()=>K4t(t,r.values))}function A7(t,e,r){sSe(t,e,r),Zu(t,e)}function sSe(t,e,r){let{gen:n}=t;n.for((0,ut._)`;${or.default.jsonPos}<${or.default.jsonLen} && ${UO(1)}!==${e};`,()=>{r(),L_(t,",",()=>n.break(),s)});function s(){L_(t,e,()=>{},Ny)}}function K4t(t,e){let{gen:r}=t,n=r.let("key");Ym({...t,data:n}),Zu(t,":"),aSe(t,n,e)}function V4t(t){let{gen:e,data:r,schema:n}=t,{discriminator:s,mapping:i}=n;Zu(t,"{"),e.assign(r,(0,ut._)`{}`);let a=e.const("pos",or.default.jsonPos),o=e.let("value"),c=e.let("tag");sSe(t,"}",()=>{let u=e.let("key");Ym({...t,data:u}),Zu(t,":"),e.if((0,ut._)`${u} === ${s}`,()=>{Ym({...t,data:c}),e.assign((0,ut._)`${r}[${u}]`,c),e.break()},()=>y7({...t,data:o}))}),e.assign(or.default.jsonPos,a),e.if((0,ut._)`${c} === undefined`),Td(t,(0,ut.str)`discriminator tag not found`);for(let u in i)e.elseIf((0,ut._)`${c} === ${u}`),iSe({...t,schema:i[u]},s);e.else(),Td(t,(0,ut.str)`discriminator value not in schema`),e.endIf()}function X_e(t){let{gen:e,data:r}=t;Zu(t,"{"),e.assign(r,(0,ut._)`{}`),iSe(t)}function iSe(t,e){let{gen:r,schema:n,data:s}=t,{properties:i,optionalProperties:a,additionalProperties:o}=n;if(A7(t,"}",()=>{let c=r.let("key");if(Ym({...t,data:c}),Zu(t,":"),r.if(!1),Z_e(t,c,i),Z_e(t,c,a),e){r.elseIf((0,ut._)`${c} === ${e}`);let u=r.let("tag");Ym({...t,data:u})}r.else(),o?y7({...t,data:(0,ut._)`${s}[${c}]`}):Td(t,(0,ut.str)`property ${c} not allowed`),r.endIf()}),i){let c=(0,M4t.hasPropFunc)(r),u=(0,ut.and)(...Object.keys(i).map(l=>(0,ut._)`${c}.call(${s}, ${l})`));r.if((0,ut.not)(u),()=>Td(t,(0,ut.str)`missing required properties`))}}function Z_e(t,e,r={}){let{gen:n}=t;for(let s in r)n.elseIf((0,ut._)`${e} === ${s}`),aSe(t,e,r[s])}function aSe(t,e,r){FO({...t,schema:r,data:(0,ut._)`${t.data}[${e}]`})}function z4t(t){let{gen:e,schema:r,data:n,self:s}=t;switch(r.type){case"boolean":j4t(t);break;case"string":Ym(t);break;case"timestamp":{Ym(t);let i=(0,rSe.useFunc)(e,F4t.default),{allowDate:a,parseDate:o}=s.opts,c=a?(0,ut._)`!${i}(${n}, true)`:(0,ut._)`!${i}(${n})`,u=o?(0,ut.or)(c,(0,ut._)`(${n} = new Date(${n}), false)`,(0,ut._)`isNaN(${n}.valueOf())`):c;e.if(u,()=>Td(t,(0,ut.str)`invalid timestamp`));break}case"float32":case"float64":m7(t);break;default:{let i=r.type;if(!s.opts.int32range&&(i==="int32"||i==="uint32"))m7(t,16),i==="uint32"&&e.if((0,ut._)`${n} < 0`,()=>Td(t,(0,ut.str)`integer out of range`));else{let[a,o,c]=$4t.intRange[i];m7(t,c),e.if((0,ut._)`${n} < ${a} || ${n} > ${o}`,()=>Td(t,(0,ut.str)`integer out of range`))}}}}function Ym(t){Zu(t,'"'),x7(t,g7.parseJsonString)}function Y4t(t){let{gen:e,data:r,schema:n}=t,s=n.enum;Zu(t,'"'),e.if(!1);for(let i of s){let a=JSON.stringify(i).slice(1);e.elseIf((0,ut._)`${UO(a.length)} === ${a}`),e.assign(r,(0,ut.str)`${i}`),e.add(or.default.jsonPos,a.length)}e.else(),Ny(t),e.endIf()}function m7(t,e){let{gen:r}=t;b7(t),r.if((0,ut._)`"-0123456789".indexOf(${UO(1)}) < 0`,()=>Ny(t),()=>x7(t,g7.parseJsonNumber,e))}function eSe(t,e){return r=>{let{gen:n,data:s}=r;L_(r,`${t}`,()=>e(r),()=>n.assign(s,t))}}function J4t(t){let{gen:e,self:r,definitions:n,schema:s,schemaEnv:i}=t,{ref:a}=s,o=n[a];if(!o)throw new L4t.default(r.opts.uriResolver,"",a,`No definition ${a}`);if(!(0,W4t.hasRef)(o))return FO({...t,schema:o});let{root:c}=i,u=nSe.call(r,new tSe.SchemaEnv({schema:o,root:c}),n);oSe(t,X4t(e,u),!0)}function X4t(t,e){return e.parse?t.scopeValue("parse",{ref:e.parse}):(0,ut._)`${t.scopeValue("wrapper",{ref:e})}.parse`}function y7(t){x7(t,g7.parseJson)}function x7(t,e,r){oSe(t,(0,rSe.useFunc)(t.gen,e),r)}function oSe(t,e,r){let{gen:n,data:s}=t;n.assign(s,(0,ut._)`${e}(${or.default.json}, ${or.default.jsonPos}${r?(0,ut._)`, ${r}`:ut.nil})`),n.assign(or.default.jsonPos,(0,ut._)`${e}.position`),n.if((0,ut._)`${s} === undefined`,()=>Td(t,(0,ut._)`${e}.message`))}function Zu(t,e){L_(t,e,Ny)}function L_(t,e,r,n){let{gen:s}=t,i=e.length;b7(t),s.if((0,ut._)`${UO(i)} === ${e}`,()=>{s.add(or.default.jsonPos,i),n?.(t)},()=>r(t))}function b7({gen:t,char:e}){t.code((0,ut._)`while((${e}=${or.default.json}[${or.default.jsonPos}],${e}===" "||${e}==="\\n"||${e}==="\\r"||${e}==="\\t"))${or.default.jsonPos}++;`)}function UO(t){return t===1?(0,ut._)`${or.default.json}[${or.default.jsonPos}]`:(0,ut._)`${or.default.json}.slice(${or.default.jsonPos}, ${or.default.jsonPos}+${t})`}function Ny(t){Td(t,(0,ut._)`"unexpected token " + ${or.default.json}[${or.default.jsonPos}]`)}function Td({gen:t,parseName:e},r){t.assign((0,ut._)`${e}.message`,r),t.assign((0,ut._)`${e}.position`,or.default.jsonPos),t.return(h7)}});var v7=E((Dn,S7)=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.MissingRefError=Dn.ValidationError=Dn.CodeGen=Dn.Name=Dn.nil=Dn.stringify=Dn.str=Dn._=Dn.KeywordCxt=Dn.Ajv=void 0;var Z4t=nU(),eMt=M_e(),tMt=U_e(),rMt=z_e(),nMt=cSe(),_7="JTD-meta-schema",Oy=class extends Z4t.default{constructor(e={}){super({...e,jtd:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(eMt.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema(),this.opts.meta&&this.addMetaSchema(tMt.default,_7,!1)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(_7)?_7:void 0)}compileSerializer(e){let r=this._addSchema(e);return r.serialize||this._compileSerializer(r)}compileParser(e){let r=this._addSchema(e);return r.parse||this._compileParser(r)}_compileSerializer(e){if(rMt.default.call(this,e,e.schema.definitions||{}),!e.serialize)throw new Error("ajv implementation error");return e.serialize}_compileParser(e){if(nMt.default.call(this,e,e.schema.definitions||{}),!e.parse)throw new Error("ajv implementation error");return e.parse}};Dn.Ajv=Oy;S7.exports=Dn=Oy;S7.exports.Ajv=Oy;Object.defineProperty(Dn,"__esModule",{value:!0});Dn.default=Oy;var sMt=Ay();Object.defineProperty(Dn,"KeywordCxt",{enumerable:!0,get:function(){return sMt.KeywordCxt}});var Py=Et();Object.defineProperty(Dn,"_",{enumerable:!0,get:function(){return Py._}});Object.defineProperty(Dn,"str",{enumerable:!0,get:function(){return Py.str}});Object.defineProperty(Dn,"stringify",{enumerable:!0,get:function(){return Py.stringify}});Object.defineProperty(Dn,"nil",{enumerable:!0,get:function(){return Py.nil}});Object.defineProperty(Dn,"Name",{enumerable:!0,get:function(){return Py.Name}});Object.defineProperty(Dn,"CodeGen",{enumerable:!0,get:function(){return Py.CodeGen}});var iMt=A_();Object.defineProperty(Dn,"ValidationError",{enumerable:!0,get:function(){return iMt.default}});var aMt=bd();Object.defineProperty(Dn,"MissingRefError",{enumerable:!0,get:function(){return aMt.default}})});var I7=E((kBr,uSe)=>{"use strict";var oMt=HW();uSe.exports=Object.freeze({coerceTypes:"array",useDefaults:!0,removeAdditional:!0,uriResolver:oMt,addUsedSchema:!1,allErrors:!1})});var hSe=E(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.formatNames=el.fastFormats=el.fullFormats=void 0;function ky(t,e){return{validate:t,compare:e}}el.fullFormats={date:ky(fSe,w7),time:ky(pSe,R7),"date-time":ky(dMt,mSe),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:mMt,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:EMt,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:hMt,int32:{type:"number",validate:yMt},int64:{type:"number",validate:xMt},float:{type:"number",validate:dSe},double:{type:"number",validate:dSe},password:!0,binary:!0};el.fastFormats={...el.fullFormats,date:ky(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,w7),time:ky(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,R7),"date-time":ky(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,mSe),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};el.formatNames=Object.keys(el.fullFormats);function cMt(t){return t%4===0&&(t%100!==0||t%400===0)}var uMt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,lMt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function fSe(t){let e=uMt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3];return n>=1&&n<=12&&s>=1&&s<=(n===2&&cMt(r)?29:lMt[n])}function w7(t,e){if(t&&e)return t>e?1:t<e?-1:0}var C7=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;function pSe(t,e){let r=C7.exec(t);if(!r)return!1;let n=+r[1],s=+r[2],i=+r[3],a=r[5];return(n<=23&&s<=59&&i<=59||n===23&&s===59&&i===60)&&(!e||a!=="")}function R7(t,e){if(!(t&&e))return;let r=C7.exec(t),n=C7.exec(e);if(r&&n)return t=r[1]+r[2]+r[3]+(r[4]||""),e=n[1]+n[2]+n[3]+(n[4]||""),t>e?1:t<e?-1:0}var T7=/t|\s/i;function dMt(t){let e=t.split(T7);return e.length===2&&fSe(e[0])&&pSe(e[1],!0)}function mSe(t,e){if(!(t&&e))return;let[r,n]=t.split(T7),[s,i]=e.split(T7),a=w7(r,s);if(a!==void 0)return a||R7(n,i)}var fMt=/\/|:/,pMt=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function mMt(t){return fMt.test(t)&&pMt.test(t)}var lSe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function hMt(t){return lSe.lastIndex=0,lSe.test(t)}var gMt=-(2**31),AMt=2**31-1;function yMt(t){return Number.isInteger(t)&&t<=AMt&&t>=gMt}function xMt(t){return Number.isInteger(t)}function dSe(){return!0}var bMt=/[^\\]\\Z/;function EMt(t){if(bMt.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var $_=E(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.regexpCode=Lr.getEsmExportName=Lr.getProperty=Lr.safeStringify=Lr.stringify=Lr.strConcat=Lr.addCodeArg=Lr.str=Lr._=Lr.nil=Lr._Code=Lr.Name=Lr.IDENTIFIER=Lr._CodeOrName=void 0;var M_=class{};Lr._CodeOrName=M_;Lr.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Jm=class extends M_{constructor(e){if(super(),!Lr.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Lr.Name=Jm;var nc=class extends M_{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Jm&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Lr._Code=nc;Lr.nil=new nc("");function gSe(t,...e){let r=[t[0]],n=0;for(;n<e.length;)O7(r,e[n]),r.push(t[++n]);return new nc(r)}Lr._=gSe;var N7=new nc("+");function ASe(t,...e){let r=[W_(t[0])],n=0;for(;n<e.length;)r.push(N7),O7(r,e[n]),r.push(N7,W_(t[++n]));return _Mt(r),new nc(r)}Lr.str=ASe;function O7(t,e){e instanceof nc?t.push(...e._items):e instanceof Jm?t.push(e):t.push(IMt(e))}Lr.addCodeArg=O7;function _Mt(t){let e=1;for(;e<t.length-1;){if(t[e]===N7){let r=SMt(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function SMt(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Jm||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Jm))return`"${t}${e.slice(1)}`}function vMt(t,e){return e.emptyStr()?t:t.emptyStr()?e:ASe`${t}${e}`}Lr.strConcat=vMt;function IMt(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:W_(Array.isArray(t)?t.join(","):t)}function CMt(t){return new nc(W_(t))}Lr.stringify=CMt;function W_(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Lr.safeStringify=W_;function TMt(t){return typeof t=="string"&&Lr.IDENTIFIER.test(t)?new nc(`.${t}`):gSe`[${t}]`}Lr.getProperty=TMt;function wMt(t){if(typeof t=="string"&&Lr.IDENTIFIER.test(t))return new nc(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}Lr.getEsmExportName=wMt;function RMt(t){return new nc(t.toString())}Lr.regexpCode=RMt});var D7=E(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.ValueScope=Ua.ValueScopeName=Ua.Scope=Ua.varKinds=Ua.UsedValueState=void 0;var Fa=$_(),P7=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},qO;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(qO||(Ua.UsedValueState=qO={}));Ua.varKinds={const:new Fa.Name("const"),let:new Fa.Name("let"),var:new Fa.Name("var")};var jO=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Fa.Name?e:this.name(e)}name(e){return new Fa.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Ua.Scope=jO;var HO=class extends Fa.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Fa._)`.${new Fa.Name(r)}[${n}]`}};Ua.ValueScopeName=HO;var NMt=(0,Fa._)`\n`,k7=class extends jO{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?NMt:Fa.nil}}get(){return this._scope}name(e){return new HO(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Fa._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let i=Fa.nil;for(let a in e){let o=e[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,qO.Started);let l=r(u);if(l){let d=this.opts.es5?Ua.varKinds.var:Ua.varKinds.const;i=(0,Fa._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,Fa._)`${i}${l}${this.opts._n}`;else throw new P7(u);c.set(u,qO.Completed)})}return i}};Ua.ValueScope=k7});var zt=E(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.or=Zt.and=Zt.not=Zt.CodeGen=Zt.operators=Zt.varKinds=Zt.ValueScopeName=Zt.ValueScope=Zt.Scope=Zt.Name=Zt.regexpCode=Zt.stringify=Zt.getProperty=Zt.nil=Zt.strConcat=Zt.str=Zt._=void 0;var yr=$_(),Yc=D7(),Bp=$_();Object.defineProperty(Zt,"_",{enumerable:!0,get:function(){return Bp._}});Object.defineProperty(Zt,"str",{enumerable:!0,get:function(){return Bp.str}});Object.defineProperty(Zt,"strConcat",{enumerable:!0,get:function(){return Bp.strConcat}});Object.defineProperty(Zt,"nil",{enumerable:!0,get:function(){return Bp.nil}});Object.defineProperty(Zt,"getProperty",{enumerable:!0,get:function(){return Bp.getProperty}});Object.defineProperty(Zt,"stringify",{enumerable:!0,get:function(){return Bp.stringify}});Object.defineProperty(Zt,"regexpCode",{enumerable:!0,get:function(){return Bp.regexpCode}});Object.defineProperty(Zt,"Name",{enumerable:!0,get:function(){return Bp.Name}});var VO=D7();Object.defineProperty(Zt,"Scope",{enumerable:!0,get:function(){return VO.Scope}});Object.defineProperty(Zt,"ValueScope",{enumerable:!0,get:function(){return VO.ValueScope}});Object.defineProperty(Zt,"ValueScopeName",{enumerable:!0,get:function(){return VO.ValueScopeName}});Object.defineProperty(Zt,"varKinds",{enumerable:!0,get:function(){return VO.varKinds}});Zt.operators={GT:new yr._Code(">"),GTE:new yr._Code(">="),LT:new yr._Code("<"),LTE:new yr._Code("<="),EQ:new yr._Code("==="),NEQ:new yr._Code("!=="),NOT:new yr._Code("!"),OR:new yr._Code("||"),AND:new yr._Code("&&"),ADD:new yr._Code("+")};var wd=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},B7=class extends wd{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Yc.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=By(this.rhs,e,r)),this}get names(){return this.rhs instanceof yr._CodeOrName?this.rhs.names:{}}},QO=class extends wd{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof yr.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=By(this.rhs,e,r),this}get names(){let e=this.lhs instanceof yr.Name?{}:{...this.lhs.names};return KO(e,this.rhs)}},L7=class extends QO{constructor(e,r,n,s){super(e,n,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},M7=class extends wd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},W7=class extends wd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},$7=class extends wd{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},F7=class extends wd{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=By(this.code,e,r),this}get names(){return this.code instanceof yr._CodeOrName?this.code.names:{}}},F_=class extends wd{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(e,r)||(OMt(e,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>eh(e,r.names),{})}},Rd=class extends F_{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},U7=class extends F_{},Dy=class extends Rd{};Dy.kind="else";var Xm=class t extends Rd{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Dy(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(ySe(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=By(this.condition,e,r),this}get names(){let e=super.names;return KO(e,this.condition),this.else&&eh(e,this.else.names),e}};Xm.kind="if";var Zm=class extends Rd{};Zm.kind="for";var q7=class extends Zm{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=By(this.iteration,e,r),this}get names(){return eh(super.names,this.iteration.names)}},j7=class extends Zm{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s}render(e){let r=e.es5?Yc.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=KO(super.names,this.from);return KO(e,this.to)}},GO=class extends Zm{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=By(this.iterable,e,r),this}get names(){return eh(super.names,this.iterable.names)}},U_=class extends Rd{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};U_.kind="func";var q_=class extends F_{render(e){return"return "+super.render(e)}};q_.kind="return";var H7=class extends Rd{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&eh(e,this.catch.names),this.finally&&eh(e,this.finally.names),e}},j_=class extends Rd{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};j_.kind="catch";var H_=class extends Rd{render(e){return"finally"+super.render(e)}};H_.kind="finally";var Q7=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
`:""},this._extScope=e,this._scope=new Yc.Scope({parent:e}),this._nodes=[new U7]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new B7(e,i,n)),i}const(e,r,n){return this._def(Yc.varKinds.const,e,r,n)}let(e,r,n){return this._def(Yc.varKinds.let,e,r,n)}var(e,r,n){return this._def(Yc.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new QO(e,r,n))}add(e,r){return this._leafNode(new L7(e,Zt.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==yr.nil&&this._leafNode(new F7(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,yr.addCodeArg)(r,s));return r.push("}"),new yr._Code(r)}if(e,r,n){if(this._blockNode(new Xm(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Xm(e))}else(){return this._elseNode(new Dy)}endIf(){return this._endBlockNode(Xm,Dy)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new q7(e),r)}forRange(e,r,n,s,i=this.opts.es5?Yc.varKinds.var:Yc.varKinds.let){let a=this._scope.toName(e);return this._for(new j7(i,a,r,n),()=>s(a))}forOf(e,r,n,s=Yc.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof yr.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,yr._)`${a}.length`,o=>{this.var(i,(0,yr._)`${a}[${o}]`),n(i)})}return this._for(new GO("of",s,i,r),()=>n(i))}forIn(e,r,n,s=this.opts.es5?Yc.varKinds.var:Yc.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,yr._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new GO("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Zm)}label(e){return this._leafNode(new M7(e))}break(e){return this._leafNode(new W7(e))}return(e){let r=new q_;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(q_)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new H7;if(this._blockNode(s),this.code(e),r){let i=this.name("e");this._currNode=s.catch=new j_(i),r(i)}return n&&(this._currNode=s.finally=new H_,this.code(n)),this._endBlockNode(j_,H_)}throw(e){return this._leafNode(new $7(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=yr.nil,n,s){return this._blockNode(new U_(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(U_)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Xm))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Zt.CodeGen=Q7;function eh(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function KO(t,e){return e instanceof yr._CodeOrName?eh(t,e.names):t}function By(t,e,r){if(t instanceof yr.Name)return n(t);if(!s(t))return t;return new yr._Code(t._items.reduce((i,a)=>(a instanceof yr.Name&&(a=n(a)),a instanceof yr._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function s(i){return i instanceof yr._Code&&i._items.some(a=>a instanceof yr.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function OMt(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function ySe(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,yr._)`!${G7(t)}`}Zt.not=ySe;var PMt=xSe(Zt.operators.AND);function kMt(...t){return t.reduce(PMt)}Zt.and=kMt;var DMt=xSe(Zt.operators.OR);function BMt(...t){return t.reduce(DMt)}Zt.or=BMt;function xSe(t){return(e,r)=>e===yr.nil?r:r===yr.nil?e:(0,yr._)`${G7(e)} ${t} ${G7(r)}`}function G7(t){return t instanceof yr.Name?t:(0,yr._)`(${t})`}});var Mr=E(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.checkStrictMode=nr.getErrorPath=nr.Type=nr.useFunc=nr.setEvaluated=nr.evaluatedPropsToName=nr.mergeEvaluated=nr.eachItem=nr.unescapeJsonPointer=nr.escapeJsonPointer=nr.escapeFragment=nr.unescapeFragment=nr.schemaRefOrVal=nr.schemaHasRulesButRef=nr.schemaHasRules=nr.checkUnknownRules=nr.alwaysValidSchema=nr.toHash=void 0;var pn=zt(),LMt=$_();function MMt(t){let e={};for(let r of t)e[r]=!0;return e}nr.toHash=MMt;function WMt(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(_Se(t,e),!SSe(e,t.self.RULES.all))}nr.alwaysValidSchema=WMt;function _Se(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let i in e)s[i]||CSe(t,`unknown keyword: "${i}"`)}nr.checkUnknownRules=_Se;function SSe(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}nr.schemaHasRules=SSe;function $Mt(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}nr.schemaHasRulesButRef=$Mt;function FMt({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,pn._)`${r}`}return(0,pn._)`${t}${e}${(0,pn.getProperty)(n)}`}nr.schemaRefOrVal=FMt;function UMt(t){return vSe(decodeURIComponent(t))}nr.unescapeFragment=UMt;function qMt(t){return encodeURIComponent(V7(t))}nr.escapeFragment=qMt;function V7(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}nr.escapeJsonPointer=V7;function vSe(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}nr.unescapeJsonPointer=vSe;function jMt(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}nr.eachItem=jMt;function bSe({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof pn.Name?(i instanceof pn.Name?t(s,i,a):e(s,i,a),a):i instanceof pn.Name?(e(s,a,i),i):r(i,a);return o===pn.Name&&!(c instanceof pn.Name)?n(s,c):c}}nr.mergeEvaluated={props:bSe({mergeNames:(t,e,r)=>t.if((0,pn._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,pn._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,pn._)`${r} || {}`).code((0,pn._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,pn._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,pn._)`${r} || {}`),z7(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:ISe}),items:bSe({mergeNames:(t,e,r)=>t.if((0,pn._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,pn._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,pn._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,pn._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function ISe(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,pn._)`{}`);return e!==void 0&&z7(t,r,e),r}nr.evaluatedPropsToName=ISe;function z7(t,e,r){Object.keys(r).forEach(n=>t.assign((0,pn._)`${e}${(0,pn.getProperty)(n)}`,!0))}nr.setEvaluated=z7;var ESe={};function HMt(t,e){return t.scopeValue("func",{ref:e,code:ESe[e.code]||(ESe[e.code]=new LMt._Code(e.code))})}nr.useFunc=HMt;var K7;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(K7||(nr.Type=K7={}));function QMt(t,e,r){if(t instanceof pn.Name){let n=e===K7.Num;return r?n?(0,pn._)`"[" + ${t} + "]"`:(0,pn._)`"['" + ${t} + "']"`:n?(0,pn._)`"/" + ${t}`:(0,pn._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,pn.getProperty)(t).toString():"/"+V7(t)}nr.getErrorPath=QMt;function CSe(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}nr.checkStrictMode=CSe});var Nd=E(Y7=>{"use strict";Object.defineProperty(Y7,"__esModule",{value:!0});var Li=zt(),GMt={data:new Li.Name("data"),valCxt:new Li.Name("valCxt"),instancePath:new Li.Name("instancePath"),parentData:new Li.Name("parentData"),parentDataProperty:new Li.Name("parentDataProperty"),rootData:new Li.Name("rootData"),dynamicAnchors:new Li.Name("dynamicAnchors"),vErrors:new Li.Name("vErrors"),errors:new Li.Name("errors"),this:new Li.Name("this"),self:new Li.Name("self"),scope:new Li.Name("scope"),json:new Li.Name("json"),jsonPos:new Li.Name("jsonPos"),jsonLen:new Li.Name("jsonLen"),jsonPart:new Li.Name("jsonPart")};Y7.default=GMt});var Q_=E(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.extendErrors=Mi.resetErrorsCount=Mi.reportExtraError=Mi.reportError=Mi.keyword$DataError=Mi.keywordError=void 0;var Ir=zt(),zO=Mr(),oa=Nd();Mi.keywordError={message:({keyword:t})=>(0,Ir.str)`must pass "${t}" keyword validation`};Mi.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Ir.str)`"${t}" keyword must be ${e} ($data)`:(0,Ir.str)`"${t}" keyword is invalid ($data)`};function KMt(t,e=Mi.keywordError,r,n){let{it:s}=t,{gen:i,compositeRule:a,allErrors:o}=s,c=RSe(t,e,r);n??(a||o)?TSe(i,c):wSe(s,(0,Ir._)`[${c}]`)}Mi.reportError=KMt;function VMt(t,e=Mi.keywordError,r){let{it:n}=t,{gen:s,compositeRule:i,allErrors:a}=n,o=RSe(t,e,r);TSe(s,o),i||a||wSe(n,oa.default.vErrors)}Mi.reportExtraError=VMt;function zMt(t,e){t.assign(oa.default.errors,e),t.if((0,Ir._)`${oa.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Ir._)`${oa.default.vErrors}.length`,e),()=>t.assign(oa.default.vErrors,null)))}Mi.resetErrorsCount=zMt;function YMt({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,oa.default.errors,o=>{t.const(a,(0,Ir._)`${oa.default.vErrors}[${o}]`),t.if((0,Ir._)`${a}.instancePath === undefined`,()=>t.assign((0,Ir._)`${a}.instancePath`,(0,Ir.strConcat)(oa.default.instancePath,i.errorPath))),t.assign((0,Ir._)`${a}.schemaPath`,(0,Ir.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,Ir._)`${a}.schema`,r),t.assign((0,Ir._)`${a}.data`,n))})}Mi.extendErrors=YMt;function TSe(t,e){let r=t.const("err",e);t.if((0,Ir._)`${oa.default.vErrors} === null`,()=>t.assign(oa.default.vErrors,(0,Ir._)`[${r}]`),(0,Ir._)`${oa.default.vErrors}.push(${r})`),t.code((0,Ir._)`${oa.default.errors}++`)}function wSe(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0,Ir._)`new ${t.ValidationError}(${e})`):(r.assign((0,Ir._)`${n}.errors`,e),r.return(!1))}var th={keyword:new Ir.Name("keyword"),schemaPath:new Ir.Name("schemaPath"),params:new Ir.Name("params"),propertyName:new Ir.Name("propertyName"),message:new Ir.Name("message"),schema:new Ir.Name("schema"),parentSchema:new Ir.Name("parentSchema")};function RSe(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Ir._)`{}`:JMt(t,e,r)}function JMt(t,e,r={}){let{gen:n,it:s}=t,i=[XMt(s,r),ZMt(t,r)];return e6t(t,e,i),n.object(...i)}function XMt({errorPath:t},{instancePath:e}){let r=e?(0,Ir.str)`${t}${(0,zO.getErrorPath)(e,zO.Type.Str)}`:t;return[oa.default.instancePath,(0,Ir.strConcat)(oa.default.instancePath,r)]}function ZMt({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0,Ir.str)`${e}/${t}`;return r&&(s=(0,Ir.str)`${s}${(0,zO.getErrorPath)(r,zO.Type.Str)}`),[th.schemaPath,s]}function e6t(t,{params:e,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([th.keyword,s],[th.params,typeof e=="function"?e(t):e||(0,Ir._)`{}`]),c.messages&&n.push([th.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([th.schema,a],[th.parentSchema,(0,Ir._)`${l}${d}`],[oa.default.data,i]),u&&n.push([th.propertyName,u])}});var OSe=E(Ly=>{"use strict";Object.defineProperty(Ly,"__esModule",{value:!0});Ly.boolOrEmptySchema=Ly.topBoolOrEmptySchema=void 0;var t6t=Q_(),r6t=zt(),n6t=Nd(),s6t={message:"boolean schema is false"};function i6t(t){let{gen:e,schema:r,validateName:n}=t;r===!1?NSe(t,!1):typeof r=="object"&&r.$async===!0?e.return(n6t.default.data):(e.assign((0,r6t._)`${n}.errors`,null),e.return(!0))}Ly.topBoolOrEmptySchema=i6t;function a6t(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),NSe(t)):r.var(e,!0)}Ly.boolOrEmptySchema=a6t;function NSe(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,t6t.reportError)(s,s6t,void 0,e)}});var J7=E(My=>{"use strict";Object.defineProperty(My,"__esModule",{value:!0});My.getRules=My.isJSONType=void 0;var o6t=["string","number","integer","boolean","null","object","array"],c6t=new Set(o6t);function u6t(t){return typeof t=="string"&&c6t.has(t)}My.isJSONType=u6t;function l6t(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}My.getRules=l6t});var X7=E(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.shouldUseRule=Lp.shouldUseGroup=Lp.schemaHasRulesForType=void 0;function d6t({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&PSe(t,n)}Lp.schemaHasRulesForType=d6t;function PSe(t,e){return e.rules.some(r=>kSe(t,r))}Lp.shouldUseGroup=PSe;function kSe(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Lp.shouldUseRule=kSe});var G_=E(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.reportTypeError=Wi.checkDataTypes=Wi.checkDataType=Wi.coerceAndCheckDataType=Wi.getJSONTypes=Wi.getSchemaTypes=Wi.DataType=void 0;var f6t=J7(),p6t=X7(),m6t=Q_(),Ht=zt(),DSe=Mr(),Wy;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Wy||(Wi.DataType=Wy={}));function h6t(t){let e=BSe(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Wi.getSchemaTypes=h6t;function BSe(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(f6t.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Wi.getJSONTypes=BSe;function g6t(t,e){let{gen:r,data:n,opts:s}=t,i=A6t(e,s.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,p6t.schemaHasRulesForType)(t,e[0]));if(a){let o=eq(e,n,s.strictNumbers,Wy.Wrong);r.if(o,()=>{i.length?y6t(t,e,i):tq(t)})}return a}Wi.coerceAndCheckDataType=g6t;var LSe=new Set(["string","number","integer","boolean","null"]);function A6t(t,e){return e?t.filter(r=>LSe.has(r)||e==="array"&&r==="array"):[]}function y6t(t,e,r){let{gen:n,data:s,opts:i}=t,a=n.let("dataType",(0,Ht._)`typeof ${s}`),o=n.let("coerced",(0,Ht._)`undefined`);i.coerceTypes==="array"&&n.if((0,Ht._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,Ht._)`${s}[0]`).assign(a,(0,Ht._)`typeof ${s}`).if(eq(e,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,Ht._)`${o} !== undefined`);for(let u of r)(LSe.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),tq(t),n.endIf(),n.if((0,Ht._)`${o} !== undefined`,()=>{n.assign(s,o),x6t(t,o)});function c(u){switch(u){case"string":n.elseIf((0,Ht._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,Ht._)`"" + ${s}`).elseIf((0,Ht._)`${s} === null`).assign(o,(0,Ht._)`""`);return;case"number":n.elseIf((0,Ht._)`${a} == "boolean" || ${s} === null
|
|
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,Ht._)`+${s}`);return;case"integer":n.elseIf((0,Ht._)`${a} === "boolean" || ${s} === null
|
|
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,Ht._)`+${s}`);return;case"boolean":n.elseIf((0,Ht._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,Ht._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,Ht._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,Ht._)`${a} === "string" || ${a} === "number"
|
|
|| ${a} === "boolean" || ${s} === null`).assign(o,(0,Ht._)`[${s}]`)}}}function x6t({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,Ht._)`${e} !== undefined`,()=>t.assign((0,Ht._)`${e}[${r}]`,n))}function Z7(t,e,r,n=Wy.Correct){let s=n===Wy.Correct?Ht.operators.EQ:Ht.operators.NEQ,i;switch(t){case"null":return(0,Ht._)`${e} ${s} null`;case"array":i=(0,Ht._)`Array.isArray(${e})`;break;case"object":i=(0,Ht._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,Ht._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,Ht._)`typeof ${e} ${s} ${t}`}return n===Wy.Correct?i:(0,Ht.not)(i);function a(o=Ht.nil){return(0,Ht.and)((0,Ht._)`typeof ${e} == "number"`,o,r?(0,Ht._)`isFinite(${e})`:Ht.nil)}}Wi.checkDataType=Z7;function eq(t,e,r,n){if(t.length===1)return Z7(t[0],e,r,n);let s,i=(0,DSe.toHash)(t);if(i.array&&i.object){let a=(0,Ht._)`typeof ${e} != "object"`;s=i.null?a:(0,Ht._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else s=Ht.nil;i.number&&delete i.integer;for(let a in i)s=(0,Ht.and)(s,Z7(a,e,r,n));return s}Wi.checkDataTypes=eq;var b6t={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,Ht._)`{type: ${t}}`:(0,Ht._)`{type: ${e}}`};function tq(t){let e=E6t(t);(0,m6t.reportError)(e,b6t)}Wi.reportTypeError=tq;function E6t(t){let{gen:e,data:r,schema:n}=t,s=(0,DSe.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var WSe=E(YO=>{"use strict";Object.defineProperty(YO,"__esModule",{value:!0});YO.assignDefaults=void 0;var $y=zt(),_6t=Mr();function S6t(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)MSe(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,i)=>MSe(t,i,s.default))}YO.assignDefaults=S6t;function MSe(t,e,r){let{gen:n,compositeRule:s,data:i,opts:a}=t;if(r===void 0)return;let o=(0,$y._)`${i}${(0,$y.getProperty)(e)}`;if(s){(0,_6t.checkStrictMode)(t,`default is ignored for: ${o}`);return}let c=(0,$y._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,$y._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,$y._)`${o} = ${(0,$y.stringify)(r)}`)}});var sc=E(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.validateUnion=tn.validateArray=tn.usePattern=tn.callValidateCode=tn.schemaProperties=tn.allSchemaProperties=tn.noPropertyInData=tn.propertyInData=tn.isOwnProperty=tn.hasPropFunc=tn.reportMissingProp=tn.checkMissingProp=tn.checkReportMissingProp=void 0;var Bn=zt(),rq=Mr(),Mp=Nd(),v6t=Mr();function I6t(t,e){let{gen:r,data:n,it:s}=t;r.if(sq(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Bn._)`${e}`},!0),t.error()})}tn.checkReportMissingProp=I6t;function C6t({gen:t,data:e,it:{opts:r}},n,s){return(0,Bn.or)(...n.map(i=>(0,Bn.and)(sq(t,e,i,r.ownProperties),(0,Bn._)`${s} = ${i}`)))}tn.checkMissingProp=C6t;function T6t(t,e){t.setParams({missingProperty:e},!0),t.error()}tn.reportMissingProp=T6t;function $Se(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Bn._)`Object.prototype.hasOwnProperty`})}tn.hasPropFunc=$Se;function nq(t,e,r){return(0,Bn._)`${$Se(t)}.call(${e}, ${r})`}tn.isOwnProperty=nq;function w6t(t,e,r,n){let s=(0,Bn._)`${e}${(0,Bn.getProperty)(r)} !== undefined`;return n?(0,Bn._)`${s} && ${nq(t,e,r)}`:s}tn.propertyInData=w6t;function sq(t,e,r,n){let s=(0,Bn._)`${e}${(0,Bn.getProperty)(r)} === undefined`;return n?(0,Bn.or)(s,(0,Bn.not)(nq(t,e,r))):s}tn.noPropertyInData=sq;function FSe(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}tn.allSchemaProperties=FSe;function R6t(t,e){return FSe(e).filter(r=>!(0,rq.alwaysValidSchema)(t,e[r]))}tn.schemaProperties=R6t;function N6t({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Bn._)`${t}, ${e}, ${n}${s}`:e,d=[[Mp.default.instancePath,(0,Bn.strConcat)(Mp.default.instancePath,i)],[Mp.default.parentData,a.parentData],[Mp.default.parentDataProperty,a.parentDataProperty],[Mp.default.rootData,Mp.default.rootData]];a.opts.dynamicRef&&d.push([Mp.default.dynamicAnchors,Mp.default.dynamicAnchors]);let f=(0,Bn._)`${l}, ${r.object(...d)}`;return c!==Bn.nil?(0,Bn._)`${o}.call(${c}, ${f})`:(0,Bn._)`${o}(${f})`}tn.callValidateCode=N6t;var O6t=(0,Bn._)`new RegExp`;function P6t({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Bn._)`${s.code==="new RegExp"?O6t:(0,v6t.useFunc)(t,s)}(${r}, ${n})`})}tn.usePattern=P6t;function k6t(t){let{gen:e,data:r,keyword:n,it:s}=t,i=e.name("valid");if(s.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(i,!0),a(()=>e.break()),i;function a(o){let c=e.const("len",(0,Bn._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:rq.Type.Num},i),e.if((0,Bn.not)(i),o)})}}tn.validateArray=k6t;function D6t(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,rq.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);e.assign(a,(0,Bn._)`${a} || ${o}`),t.mergeValidEvaluated(l,o)||e.if((0,Bn.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}tn.validateUnion=D6t});var jSe=E(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});tl.validateKeywordUsage=tl.validSchemaType=tl.funcKeywordCode=tl.macroKeywordCode=void 0;var ca=zt(),rh=Nd(),B6t=sc(),L6t=Q_();function M6t(t,e){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=t,o=e.macro.call(a.self,s,i,a),c=qSe(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");t.subschema({schema:o,schemaPath:ca.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}tl.macroKeywordCode=M6t;function W6t(t,e){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=t;F6t(c,e);let u=!o&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=qSe(n,s,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&USe(t),A(()=>t.error());else{let g=e.async?p():m();e.modifying&&USe(t),A(()=>$6t(t,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,ca._)`await `),b=>n.assign(d,!1).if((0,ca._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(g,(0,ca._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,ca._)`${l}.errors`;return n.assign(g,null),h(ca.nil),g}function h(g=e.async?(0,ca._)`await `:ca.nil){let b=c.opts.passContext?rh.default.this:rh.default.self,y=!("compile"in e&&!o||e.schema===!1);n.assign(d,(0,ca._)`${g}${(0,B6t.callValidateCode)(t,l,b,y)}`,e.modifying)}function A(g){var b;n.if((0,ca.not)((b=e.valid)!==null&&b!==void 0?b:d),g)}}tl.funcKeywordCode=W6t;function USe(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,ca._)`${n.parentData}[${n.parentDataProperty}]`))}function $6t(t,e){let{gen:r}=t;r.if((0,ca._)`Array.isArray(${e})`,()=>{r.assign(rh.default.vErrors,(0,ca._)`${rh.default.vErrors} === null ? ${e} : ${rh.default.vErrors}.concat(${e})`).assign(rh.default.errors,(0,ca._)`${rh.default.vErrors}.length`),(0,L6t.extendErrors)(t)},()=>t.error())}function F6t({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function qSe(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ca.stringify)(r)})}function U6t(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}tl.validSchemaType=U6t;function q6t({schema:t,opts:e,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(t,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}tl.validateKeywordUsage=q6t});var QSe=E(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});Wp.extendSubschemaMode=Wp.extendSubschemaData=Wp.getSubschema=void 0;var rl=zt(),HSe=Mr();function j6t(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=t.schema[e];return r===void 0?{schema:o,schemaPath:(0,rl._)`${t.schemaPath}${(0,rl.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:o[r],schemaPath:(0,rl._)`${t.schemaPath}${(0,rl.getProperty)(e)}${(0,rl.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,HSe.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Wp.getSubschema=j6t;function H6t(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=o.let("data",(0,rl._)`${e.data}${(0,rl.getProperty)(r)}`,!0);c(f),t.errorPath=(0,rl.str)`${u}${(0,HSe.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,rl._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof rl.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Wp.extendSubschemaData=H6t;function Q6t(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}Wp.extendSubschemaMode=Q6t});var KSe=E((zBr,GSe)=>{"use strict";var $p=GSe.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};JO(e,n,s,t,"",t)};$p.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};$p.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};$p.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};$p.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function JO(t,e,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in $p.arrayKeywords)for(var f=0;f<d.length;f++)JO(t,e,r,d[f],s+"/"+l+"/"+f,i,s,l,n,f)}else if(l in $p.propsKeywords){if(d&&typeof d=="object")for(var p in d)JO(t,e,r,d[p],s+"/"+l+"/"+G6t(p),i,s,l,n,p)}else(l in $p.keywords||t.allKeys&&!(l in $p.skipKeywords))&&JO(t,e,r,d,s+"/"+l,i,s,l,n)}r(n,s,i,a,o,c,u)}}function G6t(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var K_=E(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.getSchemaRefs=qa.resolveUrl=qa.normalizeId=qa._getFullPath=qa.getFullPath=qa.inlineRef=void 0;var K6t=Mr(),V6t=Ko(),z6t=KSe(),Y6t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function J6t(t,e=!0){return typeof t=="boolean"?!0:e===!0?!iq(t):e?VSe(t)<=e:!1}qa.inlineRef=J6t;var X6t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function iq(t){for(let e in t){if(X6t.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(iq)||typeof r=="object"&&iq(r))return!0}return!1}function VSe(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Y6t.has(r)&&(typeof t[r]=="object"&&(0,K6t.eachItem)(t[r],n=>e+=VSe(n)),e===1/0))return 1/0}return e}function zSe(t,e="",r){r!==!1&&(e=Fy(e));let n=t.parse(e);return YSe(t,n)}qa.getFullPath=zSe;function YSe(t,e){return t.serialize(e).split("#")[0]+"#"}qa._getFullPath=YSe;var Z6t=/#\/?$/;function Fy(t){return t?t.replace(Z6t,""):""}qa.normalizeId=Fy;function e5t(t,e,r){return r=Fy(r),t.resolve(e,r)}qa.resolveUrl=e5t;var t5t=/^[a-z_][-a-z0-9._]*$/i;function r5t(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=Fy(t[r]||e),i={"":s},a=zSe(n,s,!1),o={},c=new Set;return z6t(t,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=a+f,A=i[m];typeof d[r]=="string"&&(A=g.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[f]=A;function g(y){let x=this.opts.uriResolver.resolve;if(y=Fy(A?x(A,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==Fy(h)&&(y[0]==="#"?(u(d,o[y],y),o[y]=d):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!t5t.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),o;function u(d,f,p){if(f!==void 0&&!V6t(d,f))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}qa.getSchemaRefs=r5t});var Y_=E(Fp=>{"use strict";Object.defineProperty(Fp,"__esModule",{value:!0});Fp.getData=Fp.KeywordCxt=Fp.validateFunctionCode=void 0;var tve=OSe(),JSe=G_(),oq=X7(),XO=G_(),n5t=WSe(),z_=jSe(),aq=QSe(),ot=zt(),Nt=Nd(),s5t=K_(),Od=Mr(),V_=Q_();function i5t(t){if(sve(t)&&(ive(t),nve(t))){c5t(t);return}rve(t,()=>(0,tve.topBoolOrEmptySchema)(t))}Fp.validateFunctionCode=i5t;function rve({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},i){s.code.es5?t.func(e,(0,ot._)`${Nt.default.data}, ${Nt.default.valCxt}`,n.$async,()=>{t.code((0,ot._)`"use strict"; ${XSe(r,s)}`),o5t(t,s),t.code(i)}):t.func(e,(0,ot._)`${Nt.default.data}, ${a5t(s)}`,n.$async,()=>t.code(XSe(r,s)).code(i))}function a5t(t){return(0,ot._)`{${Nt.default.instancePath}="", ${Nt.default.parentData}, ${Nt.default.parentDataProperty}, ${Nt.default.rootData}=${Nt.default.data}${t.dynamicRef?(0,ot._)`, ${Nt.default.dynamicAnchors}={}`:ot.nil}}={}`}function o5t(t,e){t.if(Nt.default.valCxt,()=>{t.var(Nt.default.instancePath,(0,ot._)`${Nt.default.valCxt}.${Nt.default.instancePath}`),t.var(Nt.default.parentData,(0,ot._)`${Nt.default.valCxt}.${Nt.default.parentData}`),t.var(Nt.default.parentDataProperty,(0,ot._)`${Nt.default.valCxt}.${Nt.default.parentDataProperty}`),t.var(Nt.default.rootData,(0,ot._)`${Nt.default.valCxt}.${Nt.default.rootData}`),e.dynamicRef&&t.var(Nt.default.dynamicAnchors,(0,ot._)`${Nt.default.valCxt}.${Nt.default.dynamicAnchors}`)},()=>{t.var(Nt.default.instancePath,(0,ot._)`""`),t.var(Nt.default.parentData,(0,ot._)`undefined`),t.var(Nt.default.parentDataProperty,(0,ot._)`undefined`),t.var(Nt.default.rootData,Nt.default.data),e.dynamicRef&&t.var(Nt.default.dynamicAnchors,(0,ot._)`{}`)})}function c5t(t){let{schema:e,opts:r,gen:n}=t;rve(t,()=>{r.$comment&&e.$comment&&ove(t),p5t(t),n.let(Nt.default.vErrors,null),n.let(Nt.default.errors,0),r.unevaluated&&u5t(t),ave(t),g5t(t)})}function u5t(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,ot._)`${r}.evaluated`),e.if((0,ot._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,ot._)`${t.evaluated}.props`,(0,ot._)`undefined`)),e.if((0,ot._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,ot._)`${t.evaluated}.items`,(0,ot._)`undefined`))}function XSe(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,ot._)`/*# sourceURL=${r} */`:ot.nil}function l5t(t,e){if(sve(t)&&(ive(t),nve(t))){d5t(t,e);return}(0,tve.boolOrEmptySchema)(t,e)}function nve({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function sve(t){return typeof t.schema!="boolean"}function d5t(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&ove(t),m5t(t),h5t(t);let i=n.const("_errs",Nt.default.errors);ave(t,i),n.var(e,(0,ot._)`${i} === ${Nt.default.errors}`)}function ive(t){(0,Od.checkUnknownRules)(t),f5t(t)}function ave(t,e){if(t.opts.jtd)return ZSe(t,[],!1,e);let r=(0,JSe.getSchemaTypes)(t.schema),n=(0,JSe.coerceAndCheckDataType)(t,r);ZSe(t,r,!n,e)}function f5t(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Od.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function p5t(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Od.checkStrictMode)(t,"default is ignored in the schema root")}function m5t(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,s5t.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function h5t(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function ove({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)t.code((0,ot._)`${Nt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,ot.str)`${n}/$comment`,o=t.scopeValue("root",{ref:e.root});t.code((0,ot._)`${Nt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function g5t(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=t;r.$async?e.if((0,ot._)`${Nt.default.errors} === 0`,()=>e.return(Nt.default.data),()=>e.throw((0,ot._)`new ${s}(${Nt.default.vErrors})`)):(e.assign((0,ot._)`${n}.errors`,Nt.default.vErrors),i.unevaluated&&A5t(t),e.return((0,ot._)`${Nt.default.errors} === 0`))}function A5t({gen:t,evaluated:e,props:r,items:n}){r instanceof ot.Name&&t.assign((0,ot._)`${e}.props`,r),n instanceof ot.Name&&t.assign((0,ot._)`${e}.items`,n)}function ZSe(t,e,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,Od.schemaHasRulesButRef)(i,l))){s.block(()=>uve(t,"$ref",l.all.$ref.definition));return}c.jtd||y5t(t,e),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,oq.shouldUseGroup)(i,f)&&(f.type?(s.if((0,XO.checkDataType)(f.type,a,c.strictNumbers)),eve(t,f),e.length===1&&e[0]===f.type&&r&&(s.else(),(0,XO.reportTypeError)(t)),s.endIf()):eve(t,f),o||s.if((0,ot._)`${Nt.default.errors} === ${n||0}`))}}function eve(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0,n5t.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,oq.shouldUseRule)(n,i)&&uve(t,i.keyword,i.definition,e.type)})}function y5t(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(x5t(t,e),t.opts.allowUnionTypes||b5t(t,e),E5t(t,t.dataTypes))}function x5t(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{cve(t.dataTypes,r)||cq(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),S5t(t,e)}}function b5t(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&cq(t,"use allowUnionTypes to allow union type keyword")}function E5t(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,oq.shouldUseRule)(t.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>_5t(e,a))&&cq(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function _5t(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function cve(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function S5t(t,e){let r=[];for(let n of t.dataTypes)cve(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function cq(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Od.checkStrictMode)(t,e,t.opts.strictTypes)}var ZO=class{constructor(e,r,n){if((0,z_.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Od.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",lve(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,z_.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Nt.default.errors))}result(e,r,n){this.failResult((0,ot.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,ot.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,ot._)`${r} !== undefined && (${(0,ot.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?V_.reportExtraError:V_.reportError)(this,this.def.error,r)}$dataError(){(0,V_.reportError)(this,this.def.$dataError||V_.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,V_.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=ot.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=ot.nil,r=ot.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,ot.or)((0,ot._)`${s} === undefined`,r)),e!==ot.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==ot.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,ot.or)(a(),o());function a(){if(n.length){if(!(r instanceof ot.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,ot._)`${(0,XO.checkDataTypes)(c,r,i.opts.strictNumbers,XO.DataType.Wrong)}`}return ot.nil}function o(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,ot._)`!${c}(${r})`}return ot.nil}}subschema(e,r){let n=(0,aq.getSubschema)(this.it,e);(0,aq.extendSubschemaData)(n,this.it,e),(0,aq.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return l5t(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Od.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Od.mergeEvaluated.items(s,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,ot.Name)),!0}};Fp.KeywordCxt=ZO;function uve(t,e,r,n){let s=new ZO(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0,z_.funcKeywordCode)(s,r):"macro"in r?(0,z_.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,z_.funcKeywordCode)(s,r)}var v5t=/^\/(?:[^~]|~0|~1)*$/,I5t=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function lve(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,i;if(t==="")return Nt.default.rootData;if(t[0]==="/"){if(!v5t.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,i=Nt.default.rootData}else{let u=I5t.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,ot._)`${i}${(0,ot.getProperty)((0,Od.unescapeJsonPointer)(u))}`,a=(0,ot._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Fp.getData=lve});var eP=E(lq=>{"use strict";Object.defineProperty(lq,"__esModule",{value:!0});var uq=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};lq.default=uq});var J_=E(pq=>{"use strict";Object.defineProperty(pq,"__esModule",{value:!0});var dq=K_(),fq=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,dq.resolveUrl)(e,r,n),this.missingSchema=(0,dq.normalizeId)((0,dq.getFullPath)(e,this.missingRef))}};pq.default=fq});var rP=E(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.resolveSchema=ic.getCompilingSchema=ic.resolveRef=ic.compileSchema=ic.SchemaEnv=void 0;var Jc=zt(),C5t=eP(),nh=Nd(),Xc=K_(),dve=Mr(),T5t=Y_(),Uy=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Xc.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};ic.SchemaEnv=Uy;function hq(t){let e=fve.call(this,t);if(e)return e;let r=(0,Xc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Jc.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;t.$async&&(o=a.scopeValue("Error",{ref:C5t.default,code:(0,Jc._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:nh.default.data,parentData:nh.default.parentData,parentDataProperty:nh.default.parentDataProperty,dataNames:[nh.default.data],dataPathArr:[Jc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Jc.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:o,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Jc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Jc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,T5t.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(nh.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${nh.default.self}`,`${nh.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=u;p.evaluated={props:m instanceof Jc.Name?void 0:m,items:h instanceof Jc.Name?void 0:h,dynamicProps:m instanceof Jc.Name,dynamicItems:h instanceof Jc.Name},p.source&&(p.source.evaluated=(0,Jc.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}ic.compileSchema=hq;function w5t(t,e,r){var n;r=(0,Xc.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let i=O5t.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new Uy({schema:a,schemaId:o,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=R5t.call(this,i)}ic.resolveRef=w5t;function R5t(t){return(0,Xc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:hq.call(this,t)}function fve(t){for(let e of this._compilations)if(N5t(e,t))return e}ic.getCompilingSchema=fve;function N5t(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function O5t(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||tP.call(this,t,e)}function tP(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Xc._getFullPath)(this.opts.uriResolver,r),s=(0,Xc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return mq.call(this,r,t);let i=(0,Xc.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=tP.call(this,t,a);return typeof o?.schema!="object"?void 0:mq.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||hq.call(this,a),i===(0,Xc.normalizeId)(e)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Xc.resolveUrl)(this.opts.uriResolver,s,u)),new Uy({schema:o,schemaId:c,root:t,baseId:s})}return mq.call(this,r,a)}}ic.resolveSchema=tP;var P5t=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function mq(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,dve.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!P5t.has(o)&&u&&(e=(0,Xc.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,dve.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Xc.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=tP.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new Uy({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var pve=E((tLr,k5t)=>{k5t.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Aq=E((rLr,Ave)=>{"use strict";var D5t=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),hve=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function gq(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var B5t=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function mve(t){return t.length=0,!0}function L5t(t,e,r){if(t.length){let n=gq(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function M5t(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=L5t;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(a=!0),!o(s,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=mve}else{s.push(u);continue}}return s.length&&(o===mve?r.zone=s.join(""):a?n.push(s.join("")):n.push(gq(s))),r.address=n.join(""),r}function gve(t){if(W5t(t,":")<2)return{host:t,isIPV6:!1};let e=M5t(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function W5t(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function $5t(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function F5t(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function U5t(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!hve(r)){let n=gve(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Ave.exports={nonSimpleDomain:B5t,recomposeAuthority:U5t,normalizeComponentEncoding:F5t,removeDotSegments:$5t,isIPv4:hve,isUUID:D5t,normalizeIPv6:gve,stringArrayToHexStripped:gq}});var _ve=E((nLr,Eve)=>{"use strict";var{isUUID:q5t}=Aq(),j5t=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,H5t=["http","https","ws","wss","urn","urn:uuid"];function Q5t(t){return H5t.indexOf(t)!==-1}function yq(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function yve(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function xve(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function G5t(t){return t.secure=yq(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function K5t(t){if((t.port===(yq(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function V5t(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(j5t);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=xq(s);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function z5t(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=xq(s);i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function Y5t(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!q5t(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function J5t(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var bve={scheme:"http",domainHost:!0,parse:yve,serialize:xve},X5t={scheme:"https",domainHost:bve.domainHost,parse:yve,serialize:xve},nP={scheme:"ws",domainHost:!0,parse:G5t,serialize:K5t},Z5t={scheme:"wss",domainHost:nP.domainHost,parse:nP.parse,serialize:nP.serialize},e8t={scheme:"urn",parse:V5t,serialize:z5t,skipNormalize:!0},t8t={scheme:"urn:uuid",parse:Y5t,serialize:J5t,skipNormalize:!0},sP={http:bve,https:X5t,ws:nP,wss:Z5t,urn:e8t,"urn:uuid":t8t};Object.setPrototypeOf(sP,null);function xq(t){return t&&(sP[t]||sP[t.toLowerCase()])||void 0}Eve.exports={wsIsSecure:yq,SCHEMES:sP,isValidSchemeName:Q5t,getSchemeHandler:xq}});var Ive=E((sLr,aP)=>{"use strict";var{normalizeIPv6:r8t,removeDotSegments:X_,recomposeAuthority:n8t,normalizeComponentEncoding:iP,isIPv4:s8t,nonSimpleDomain:i8t}=Aq(),{SCHEMES:a8t,getSchemeHandler:Sve}=_ve();function o8t(t,e){return typeof t=="string"?t=nl(Pd(t,e),e):typeof t=="object"&&(t=Pd(nl(t,e),e)),t}function c8t(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=vve(Pd(t,n),Pd(e,n),n,!0);return n.skipEscape=!0,nl(s,n)}function vve(t,e,r,n){let s={};return n||(t=Pd(nl(t,r),r),e=Pd(nl(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=X_(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=X_(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=X_(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=X_(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function u8t(t,e,r){return typeof t=="string"?(t=unescape(t),t=nl(iP(Pd(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=nl(iP(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=nl(iP(Pd(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=nl(iP(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function nl(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=Sve(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=n8t(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=X_(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var l8t=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Pd(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(l8t);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(s8t(n.host)===!1){let c=r8t(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=Sve(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&i8t(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var bq={SCHEMES:a8t,normalize:o8t,resolve:c8t,resolveComponent:vve,equal:u8t,serialize:nl,parse:Pd};aP.exports=bq;aP.exports.default=bq;aP.exports.fastUri=bq});var Tve=E(Eq=>{"use strict";Object.defineProperty(Eq,"__esModule",{value:!0});var Cve=Ive();Cve.code='require("ajv/dist/runtime/uri").default';Eq.default=Cve});var Bve=E(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.CodeGen=hi.Name=hi.nil=hi.stringify=hi.str=hi._=hi.KeywordCxt=void 0;var d8t=Y_();Object.defineProperty(hi,"KeywordCxt",{enumerable:!0,get:function(){return d8t.KeywordCxt}});var qy=zt();Object.defineProperty(hi,"_",{enumerable:!0,get:function(){return qy._}});Object.defineProperty(hi,"str",{enumerable:!0,get:function(){return qy.str}});Object.defineProperty(hi,"stringify",{enumerable:!0,get:function(){return qy.stringify}});Object.defineProperty(hi,"nil",{enumerable:!0,get:function(){return qy.nil}});Object.defineProperty(hi,"Name",{enumerable:!0,get:function(){return qy.Name}});Object.defineProperty(hi,"CodeGen",{enumerable:!0,get:function(){return qy.CodeGen}});var f8t=eP(),Pve=J_(),p8t=J7(),Z_=rP(),m8t=zt(),eS=K_(),oP=G_(),Sq=Mr(),wve=pve(),h8t=Tve(),kve=(t,e)=>new RegExp(t,e);kve.code="new RegExp";var g8t=["removeAdditional","useDefaults","coerceTypes"],A8t=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),y8t={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},x8t={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Rve=200;function b8t(t){var e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y,x,v,I,R,w,N;let P=t.strict,B=(e=t.code)===null||e===void 0?void 0:e.optimize,M=B===!0||B===void 0?1:B||0,D=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:kve,L=(s=t.uriResolver)!==null&&s!==void 0?s:h8t.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:P)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=t.strictNumbers)!==null&&o!==void 0?o:P)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:P)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:P)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=t.strictRequired)!==null&&p!==void 0?p:P)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:M,regExp:D}:{optimize:M,regExp:D},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:Rve,loopEnum:(A=t.loopEnum)!==null&&A!==void 0?A:Rve,meta:(g=t.meta)!==null&&g!==void 0?g:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(x=t.schemaId)!==null&&x!==void 0?x:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(I=t.validateSchema)!==null&&I!==void 0?I:!0,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(w=t.unicodeRegExp)!==null&&w!==void 0?w:!0,int32range:(N=t.int32range)!==null&&N!==void 0?N:!0,uriResolver:L}}var tS=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...b8t(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new m8t.ValueScope({scope:{},prefixes:A8t,es5:r,lines:n}),this.logger=C8t(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,p8t.getRules)(),Nve.call(this,y8t,e,"NOT SUPPORTED"),Nve.call(this,x8t,e,"DEPRECATED","warn"),this._metaOpts=v8t.call(this),e.formats&&_8t.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&S8t.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),E8t.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=wve;n==="id"&&(s={...wve},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Pve.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,eS.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,e);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let r;for(;typeof(r=Ove.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new Z_.SchemaEnv({schema:{},schemaId:n});if(r=Z_.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Ove.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,eS.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(w8t.call(this,n,r),!r)return(0,Sq.eachItem)(n,i=>_q.call(this,i)),this;N8t.call(this,r);let s={...r,type:(0,oP.getJSONTypes)(r.type),schemaType:(0,oP.getJSONTypes)(r.schemaType)};return(0,Sq.eachItem)(n,s.type.length===0?i=>_q.call(this,i,s):i=>s.type.forEach(a=>_q.call(this,i,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===e);s>=0&&n.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let i=s.split("/").slice(1),a=e;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=Dve(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]))}}_addSchema(e,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,eS.normalizeId)(a||n);let u=eS.getSchemaRefs.call(this,e,n);return c=new Z_.SchemaEnv({schema:e,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Z_.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Z_.compileSchema.call(this,e)}finally{this.opts=r}}};tS.ValidationError=f8t.default;tS.MissingRefError=Pve.default;hi.default=tS;function Nve(t,e,r,n="error"){for(let s in t){let i=s;i in e&&this.logger[n](`${r}: option ${s}. ${t[i]}`)}}function Ove(t){return t=(0,eS.normalizeId)(t),this.schemas[t]||this.refs[t]}function E8t(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function _8t(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function S8t(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function v8t(){let t={...this.opts};for(let e of g8t)delete t[e];return t}var I8t={log(){},warn(){},error(){}};function C8t(t){if(t===!1)return I8t;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var T8t=/^[a-z_$][a-z0-9_$:-]*$/i;function w8t(t,e){let{RULES:r}=this;if((0,Sq.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!T8t.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function _q(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let o={keyword:t,definition:{...e,type:(0,oP.getJSONTypes)(e.type),schemaType:(0,oP.getJSONTypes)(e.schemaType)}};e.before?R8t.call(this,a,o,e.before):a.rules.push(o),i.all[t]=o,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function R8t(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function N8t(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Dve(e)),t.validateSchema=this.compile(e,!0))}var O8t={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Dve(t){return{anyOf:[t,O8t]}}});var Lve=E(vq=>{"use strict";Object.defineProperty(vq,"__esModule",{value:!0});var P8t={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};vq.default=P8t});var Fve=E(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.callRef=sh.getValidate=void 0;var k8t=J_(),Mve=sc(),ja=zt(),jy=Nd(),Wve=rP(),cP=Mr(),D8t={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Wve.resolveRef.call(c,u,s,r);if(l===void 0)throw new k8t.default(n.opts.uriResolver,s,r);if(l instanceof Wve.SchemaEnv)return f(l);return p(l);function d(){if(i===u)return uP(t,a,i,i.$async);let m=e.scopeValue("root",{ref:u});return uP(t,(0,ja._)`${m}.validate`,u,u.$async)}function f(m){let h=$ve(t,m);uP(t,h,m,m.$async)}function p(m){let h=e.scopeValue("schema",o.code.source===!0?{ref:m,code:(0,ja.stringify)(m)}:{ref:m}),A=e.name("valid"),g=t.subschema({schema:m,dataTypes:[],schemaPath:ja.nil,topSchemaRef:h,errSchemaPath:r},A);t.mergeEvaluated(g),t.ok(A)}}};function $ve(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,ja._)`${r.scopeValue("wrapper",{ref:e})}.validate`}sh.getValidate=$ve;function uP(t,e,r,n){let{gen:s,it:i}=t,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?jy.default.this:ja.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0,ja._)`await ${(0,Mve.callValidateCode)(t,e,u)}`),p(e),a||s.assign(m,!0)},h=>{s.if((0,ja._)`!(${h} instanceof ${i.ValidationError})`,()=>s.throw(h)),f(h),a||s.assign(m,!1)}),t.ok(m)}function d(){t.result((0,Mve.callValidateCode)(t,e,u),()=>p(e),()=>f(e))}function f(m){let h=(0,ja._)`${m}.errors`;s.assign(jy.default.vErrors,(0,ja._)`${jy.default.vErrors} === null ? ${h} : ${jy.default.vErrors}.concat(${h})`),s.assign(jy.default.errors,(0,ja._)`${jy.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let A=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(i.props=cP.mergeEvaluated.props(s,A.props,i.props));else{let g=s.var("props",(0,ja._)`${m}.evaluated.props`);i.props=cP.mergeEvaluated.props(s,g,i.props,ja.Name)}if(i.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(i.items=cP.mergeEvaluated.items(s,A.items,i.items));else{let g=s.var("items",(0,ja._)`${m}.evaluated.items`);i.items=cP.mergeEvaluated.items(s,g,i.items,ja.Name)}}}sh.callRef=uP;sh.default=D8t});var Uve=E(Iq=>{"use strict";Object.defineProperty(Iq,"__esModule",{value:!0});var B8t=Lve(),L8t=Fve(),M8t=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",B8t.default,L8t.default];Iq.default=M8t});var qve=E(Cq=>{"use strict";Object.defineProperty(Cq,"__esModule",{value:!0});var lP=zt(),Up=lP.operators,dP={maximum:{okStr:"<=",ok:Up.LTE,fail:Up.GT},minimum:{okStr:">=",ok:Up.GTE,fail:Up.LT},exclusiveMaximum:{okStr:"<",ok:Up.LT,fail:Up.GTE},exclusiveMinimum:{okStr:">",ok:Up.GT,fail:Up.LTE}},W8t={message:({keyword:t,schemaCode:e})=>(0,lP.str)`must be ${dP[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,lP._)`{comparison: ${dP[t].okStr}, limit: ${e}}`},$8t={keyword:Object.keys(dP),type:"number",schemaType:"number",$data:!0,error:W8t,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,lP._)`${r} ${dP[e].fail} ${n} || isNaN(${r})`)}};Cq.default=$8t});var jve=E(Tq=>{"use strict";Object.defineProperty(Tq,"__esModule",{value:!0});var rS=zt(),F8t={message:({schemaCode:t})=>(0,rS.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,rS._)`{multipleOf: ${t}}`},U8t={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:F8t,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,i=s.opts.multipleOfPrecision,a=e.let("res"),o=i?(0,rS._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,rS._)`${a} !== parseInt(${a})`;t.fail$data((0,rS._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};Tq.default=U8t});var Qve=E(wq=>{"use strict";Object.defineProperty(wq,"__esModule",{value:!0});function Hve(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}wq.default=Hve;Hve.code='require("ajv/dist/runtime/ucs2length").default'});var Gve=E(Rq=>{"use strict";Object.defineProperty(Rq,"__esModule",{value:!0});var ih=zt(),q8t=Mr(),j8t=Qve(),H8t={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,ih.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,ih._)`{limit: ${t}}`},Q8t={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:H8t,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,i=e==="maxLength"?ih.operators.GT:ih.operators.LT,a=s.opts.unicode===!1?(0,ih._)`${r}.length`:(0,ih._)`${(0,q8t.useFunc)(t.gen,j8t.default)}(${r})`;t.fail$data((0,ih._)`${a} ${i} ${n}`)}};Rq.default=Q8t});var Kve=E(Nq=>{"use strict";Object.defineProperty(Nq,"__esModule",{value:!0});var G8t=sc(),fP=zt(),K8t={message:({schemaCode:t})=>(0,fP.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,fP._)`{pattern: ${t}}`},V8t={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:K8t,code(t){let{data:e,$data:r,schema:n,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"",o=r?(0,fP._)`(new RegExp(${s}, ${a}))`:(0,G8t.usePattern)(t,n);t.fail$data((0,fP._)`!${o}.test(${e})`)}};Nq.default=V8t});var Vve=E(Oq=>{"use strict";Object.defineProperty(Oq,"__esModule",{value:!0});var nS=zt(),z8t={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,nS.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,nS._)`{limit: ${t}}`},Y8t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:z8t,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?nS.operators.GT:nS.operators.LT;t.fail$data((0,nS._)`Object.keys(${r}).length ${s} ${n}`)}};Oq.default=Y8t});var zve=E(Pq=>{"use strict";Object.defineProperty(Pq,"__esModule",{value:!0});var sS=sc(),iS=zt(),J8t=Mr(),X8t={message:({params:{missingProperty:t}})=>(0,iS.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,iS._)`{missingProperty: ${t}}`},Z8t={keyword:"required",type:"object",schemaType:"array",$data:!0,error:X8t,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:i,it:a}=t,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let p=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let A=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${A}" (strictRequired)`;(0,J8t.checkStrictMode)(a,g,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(iS.nil,d);else for(let p of r)(0,sS.checkReportMissingProp)(t,p)}function l(){let p=e.let("missing");if(c||i){let m=e.let("valid",!0);t.block$data(m,()=>f(p,m)),t.ok(m)}else e.if((0,sS.checkMissingProp)(t,r,p)),(0,sS.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,sS.noPropertyInData)(e,s,p,o.ownProperties),()=>t.error())})}function f(p,m){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(m,(0,sS.propertyInData)(e,s,p,o.ownProperties)),e.if((0,iS.not)(m),()=>{t.error(),e.break()})},iS.nil)}}};Pq.default=Z8t});var Yve=E(kq=>{"use strict";Object.defineProperty(kq,"__esModule",{value:!0});var aS=zt(),eWt={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,aS.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,aS._)`{limit: ${t}}`},tWt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:eWt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?aS.operators.GT:aS.operators.LT;t.fail$data((0,aS._)`${r}.length ${s} ${n}`)}};kq.default=tWt});var pP=E(Dq=>{"use strict";Object.defineProperty(Dq,"__esModule",{value:!0});var Jve=Ko();Jve.code='require("ajv/dist/runtime/equal").default';Dq.default=Jve});var Xve=E(Lq=>{"use strict";Object.defineProperty(Lq,"__esModule",{value:!0});var Bq=G_(),gi=zt(),rWt=Mr(),nWt=pP(),sWt={message:({params:{i:t,j:e}})=>(0,gi.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,gi._)`{i: ${t}, j: ${e}}`},iWt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:sWt,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=t;if(!n&&!s)return;let c=e.let("valid"),u=i.items?(0,Bq.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,gi._)`${a} === false`),t.ok(c);function l(){let m=e.let("i",(0,gi._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,gi._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function f(m,h){let A=e.name("item"),g=(0,Bq.checkDataTypes)(u,A,o.opts.strictNumbers,Bq.DataType.Wrong),b=e.const("indices",(0,gi._)`{}`);e.for((0,gi._)`;${m}--;`,()=>{e.let(A,(0,gi._)`${r}[${m}]`),e.if(g,(0,gi._)`continue`),u.length>1&&e.if((0,gi._)`typeof ${A} == "string"`,(0,gi._)`${A} += "_"`),e.if((0,gi._)`typeof ${b}[${A}] == "number"`,()=>{e.assign(h,(0,gi._)`${b}[${A}]`),t.error(),e.assign(c,!1).break()}).code((0,gi._)`${b}[${A}] = ${m}`)})}function p(m,h){let A=(0,rWt.useFunc)(e,nWt.default),g=e.name("outer");e.label(g).for((0,gi._)`;${m}--;`,()=>e.for((0,gi._)`${h} = ${m}; ${h}--;`,()=>e.if((0,gi._)`${A}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(g)})))}}};Lq.default=iWt});var Zve=E(Wq=>{"use strict";Object.defineProperty(Wq,"__esModule",{value:!0});var Mq=zt(),aWt=Mr(),oWt=pP(),cWt={message:"must be equal to constant",params:({schemaCode:t})=>(0,Mq._)`{allowedValue: ${t}}`},uWt={keyword:"const",$data:!0,error:cWt,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,Mq._)`!${(0,aWt.useFunc)(e,oWt.default)}(${r}, ${s})`):t.fail((0,Mq._)`${i} !== ${r}`)}};Wq.default=uWt});var eIe=E($q=>{"use strict";Object.defineProperty($q,"__esModule",{value:!0});var oS=zt(),lWt=Mr(),dWt=pP(),fWt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,oS._)`{allowedValues: ${t}}`},pWt={keyword:"enum",schemaType:"array",$data:!0,error:fWt,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:i,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,lWt.useFunc)(e,dWt.default)),l;if(o||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);l=(0,oS.or)(...s.map((m,h)=>f(p,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,p=>e.if((0,oS._)`${u()}(${r}, ${p})`,()=>e.assign(l,!0).break()))}function f(p,m){let h=s[m];return typeof h=="object"&&h!==null?(0,oS._)`${u()}(${r}, ${p}[${m}])`:(0,oS._)`${r} === ${h}`}}};$q.default=pWt});var tIe=E(Fq=>{"use strict";Object.defineProperty(Fq,"__esModule",{value:!0});var mWt=qve(),hWt=jve(),gWt=Gve(),AWt=Kve(),yWt=Vve(),xWt=zve(),bWt=Yve(),EWt=Xve(),_Wt=Zve(),SWt=eIe(),vWt=[mWt.default,hWt.default,gWt.default,AWt.default,yWt.default,xWt.default,bWt.default,EWt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},_Wt.default,SWt.default];Fq.default=vWt});var qq=E(cS=>{"use strict";Object.defineProperty(cS,"__esModule",{value:!0});cS.validateAdditionalItems=void 0;var ah=zt(),Uq=Mr(),IWt={message:({params:{len:t}})=>(0,ah.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ah._)`{limit: ${t}}`},CWt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:IWt,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Uq.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}rIe(t,n)}};function rIe(t,e){let{gen:r,schema:n,data:s,keyword:i,it:a}=t;a.items=!0;let o=r.const("len",(0,ah._)`${s}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,ah._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,Uq.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,ah._)`${o} <= ${e.length}`);r.if((0,ah.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,o,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:Uq.Type.Num},u),a.allErrors||r.if((0,ah.not)(u),()=>r.break())})}}cS.validateAdditionalItems=rIe;cS.default=CWt});var jq=E(uS=>{"use strict";Object.defineProperty(uS,"__esModule",{value:!0});uS.validateTuple=void 0;var nIe=zt(),mP=Mr(),TWt=sc(),wWt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return sIe(t,"additionalItems",e);r.items=!0,!(0,mP.alwaysValidSchema)(r,e)&&t.ok((0,TWt.validateArray)(t))}};function sIe(t,e,r=t.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=t;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=mP.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,nIe._)`${i}.length`);r.forEach((d,f)=>{(0,mP.alwaysValidSchema)(o,d)||(n.if((0,nIe._)`${u} > ${f}`,()=>t.subschema({keyword:a,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:p}=o,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let A=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,mP.checkStrictMode)(o,A,f.strictTuples)}}}uS.validateTuple=sIe;uS.default=wWt});var iIe=E(Hq=>{"use strict";Object.defineProperty(Hq,"__esModule",{value:!0});var RWt=jq(),NWt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,RWt.validateTuple)(t,"items")};Hq.default=NWt});var oIe=E(Qq=>{"use strict";Object.defineProperty(Qq,"__esModule",{value:!0});var aIe=zt(),OWt=Mr(),PWt=sc(),kWt=qq(),DWt={message:({params:{len:t}})=>(0,aIe.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,aIe._)`{limit: ${t}}`},BWt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:DWt,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=!0,!(0,OWt.alwaysValidSchema)(n,e)&&(s?(0,kWt.validateAdditionalItems)(t,s):t.ok((0,PWt.validateArray)(t)))}};Qq.default=BWt});var cIe=E(Gq=>{"use strict";Object.defineProperty(Gq,"__esModule",{value:!0});var ac=zt(),hP=Mr(),LWt={message:({params:{min:t,max:e}})=>e===void 0?(0,ac.str)`must contain at least ${t} valid item(s)`:(0,ac.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ac._)`{minContains: ${t}}`:(0,ac._)`{minContains: ${t}, maxContains: ${e}}`},MWt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:LWt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=e.const("len",(0,ac._)`${s}.length`);if(t.setParams({min:a,max:o}),o===void 0&&a===0){(0,hP.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,hP.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,hP.alwaysValidSchema)(i,r)){let h=(0,ac._)`${l} >= ${a}`;o!==void 0&&(h=(0,ac._)`${h} && ${l} <= ${o}`),t.pass(h);return}i.items=!0;let d=e.name("valid");o===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),o!==void 0&&e.if((0,ac._)`${s}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),A=e.let("count",0);p(h,()=>e.if(h,()=>m(A)))}function p(h,A){e.forRange("i",0,l,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:hP.Type.Num,compositeRule:!0},h),A()})}function m(h){e.code((0,ac._)`${h}++`),o===void 0?e.if((0,ac._)`${h} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,ac._)`${h} > ${o}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,ac._)`${h} >= ${a}`,()=>e.assign(d,!0)))}}};Gq.default=MWt});var dIe=E(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});sl.validateSchemaDeps=sl.validatePropertyDeps=sl.error=void 0;var Kq=zt(),WWt=Mr(),lS=sc();sl.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Kq.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Kq._)`{property: ${t},
|
|
missingProperty: ${n},
|
|
depsCount: ${e},
|
|
deps: ${r}}`};var $Wt={keyword:"dependencies",type:"object",schemaType:"object",error:sl.error,code(t){let[e,r]=FWt(t);uIe(t,e),lIe(t,r)}};function FWt({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n]}return[e,r]}function uIe(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let c=(0,lS.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,lS.checkReportMissingProp)(t,u)}):(r.if((0,Kq._)`${c} && (${(0,lS.checkMissingProp)(t,o,i)})`),(0,lS.reportMissingProp)(t,i),r.else())}}sl.validatePropertyDeps=uIe;function lIe(t,e=t.schema){let{gen:r,data:n,keyword:s,it:i}=t,a=r.name("valid");for(let o in e)(0,WWt.alwaysValidSchema)(i,e[o])||(r.if((0,lS.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:o},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}sl.validateSchemaDeps=lIe;sl.default=$Wt});var pIe=E(Vq=>{"use strict";Object.defineProperty(Vq,"__esModule",{value:!0});var fIe=zt(),UWt=Mr(),qWt={message:"property name must be valid",params:({params:t})=>(0,fIe._)`{propertyName: ${t.propertyName}}`},jWt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:qWt,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0,UWt.alwaysValidSchema)(s,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,fIe.not)(i),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(i)}};Vq.default=jWt});var Yq=E(zq=>{"use strict";Object.defineProperty(zq,"__esModule",{value:!0});var gP=sc(),Zc=zt(),HWt=Nd(),AP=Mr(),QWt={message:"must NOT have additional properties",params:({params:t})=>(0,Zc._)`{additionalProperty: ${t.additionalProperty}}`},GWt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:QWt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,AP.alwaysValidSchema)(a,r))return;let u=(0,gP.allSchemaProperties)(n.properties),l=(0,gP.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Zc._)`${i} === ${HWt.default.errors}`);function d(){e.forIn("key",s,A=>{!u.length&&!l.length?m(A):e.if(f(A),()=>m(A))})}function f(A){let g;if(u.length>8){let b=(0,AP.schemaRefOrVal)(a,n.properties,"properties");g=(0,gP.isOwnProperty)(e,b,A)}else u.length?g=(0,Zc.or)(...u.map(b=>(0,Zc._)`${A} === ${b}`)):g=Zc.nil;return l.length&&(g=(0,Zc.or)(g,...l.map(b=>(0,Zc._)`${(0,gP.usePattern)(t,b)}.test(${A})`))),(0,Zc.not)(g)}function p(A){e.code((0,Zc._)`delete ${s}[${A}]`)}function m(A){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(A);return}if(r===!1){t.setParams({additionalProperty:A}),t.error(),o||e.break();return}if(typeof r=="object"&&!(0,AP.alwaysValidSchema)(a,r)){let g=e.name("valid");c.removeAdditional==="failing"?(h(A,g,!1),e.if((0,Zc.not)(g),()=>{t.reset(),p(A)})):(h(A,g),o||e.if((0,Zc.not)(g),()=>e.break()))}}function h(A,g,b){let y={keyword:"additionalProperties",dataProp:A,dataPropType:AP.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(y,g)}}};zq.default=GWt});var gIe=E(Xq=>{"use strict";Object.defineProperty(Xq,"__esModule",{value:!0});var KWt=Y_(),mIe=sc(),Jq=Mr(),hIe=Yq(),VWt={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&hIe.default.code(new KWt.KeywordCxt(i,hIe.default,"additionalProperties"));let a=(0,mIe.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=Jq.mergeEvaluated.props(e,(0,Jq.toHash)(a),i.props));let o=a.filter(d=>!(0,Jq.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=e.name("valid");for(let d of o)u(d)?l(d):(e.if((0,mIe.propertyInData)(e,s,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Xq.default=VWt});var bIe=E(Zq=>{"use strict";Object.defineProperty(Zq,"__esModule",{value:!0});var AIe=sc(),yP=zt(),yIe=Mr(),xIe=Mr(),zWt={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:i}=t,{opts:a}=i,o=(0,AIe.allSchemaProperties)(r),c=o.filter(h=>(0,yIe.alwaysValidSchema)(i,r[h]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof yP.Name)&&(i.props=(0,xIe.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let h of o)u&&p(h),i.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function p(h){for(let A in u)new RegExp(h).test(A)&&(0,yIe.checkStrictMode)(i,`property ${A} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,A=>{e.if((0,yP._)`${(0,AIe.usePattern)(t,h)}.test(${A})`,()=>{let g=c.includes(h);g||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:A,dataPropType:xIe.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,yP._)`${d}[${A}]`,!0):!g&&!i.allErrors&&e.if((0,yP.not)(l),()=>e.break())})})}}};Zq.default=zWt});var EIe=E(e9=>{"use strict";Object.defineProperty(e9,"__esModule",{value:!0});var YWt=Mr(),JWt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,YWt.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};e9.default=JWt});var _Ie=E(t9=>{"use strict";Object.defineProperty(t9,"__esModule",{value:!0});var XWt=sc(),ZWt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:XWt.validateUnion,error:{message:"must match a schema in anyOf"}};t9.default=ZWt});var SIe=E(r9=>{"use strict";Object.defineProperty(r9,"__esModule",{value:!0});var xP=zt(),e$t=Mr(),t$t={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,xP._)`{passingSchemas: ${t.passing}}`},r$t={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:t$t,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),o=e.let("passing",null),c=e.name("_valid");t.setParams({passing:o}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,e$t.alwaysValidSchema)(s,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,xP._)`${c} && ${a}`).assign(a,!1).assign(o,(0,xP._)`[${o}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(o,d),f&&t.mergeEvaluated(f,xP.Name)})})}}};r9.default=r$t});var vIe=E(n9=>{"use strict";Object.defineProperty(n9,"__esModule",{value:!0});var n$t=Mr(),s$t={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((i,a)=>{if((0,n$t.alwaysValidSchema)(n,i))return;let o=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(o)})}};n9.default=s$t});var TIe=E(s9=>{"use strict";Object.defineProperty(s9,"__esModule",{value:!0});var bP=zt(),CIe=Mr(),i$t={message:({params:t})=>(0,bP.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,bP._)`{failingKeyword: ${t.ifClause}}`},a$t={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:i$t,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,CIe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=IIe(n,"then"),i=IIe(n,"else");if(!s&&!i)return;let a=e.let("valid",!0),o=e.name("_valid");if(c(),t.reset(),s&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(o,u("then",l),u("else",l))}else s?e.if(o,u("then")):e.if((0,bP.not)(o),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},o);e.assign(a,o),t.mergeValidEvaluated(f,a),d?e.assign(d,(0,bP._)`${l}`):t.setParams({ifClause:l})}}}};function IIe(t,e){let r=t.schema[e];return r!==void 0&&!(0,CIe.alwaysValidSchema)(t,r)}s9.default=a$t});var wIe=E(i9=>{"use strict";Object.defineProperty(i9,"__esModule",{value:!0});var o$t=Mr(),c$t={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,o$t.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};i9.default=c$t});var RIe=E(a9=>{"use strict";Object.defineProperty(a9,"__esModule",{value:!0});var u$t=qq(),l$t=iIe(),d$t=jq(),f$t=oIe(),p$t=cIe(),m$t=dIe(),h$t=pIe(),g$t=Yq(),A$t=gIe(),y$t=bIe(),x$t=EIe(),b$t=_Ie(),E$t=SIe(),_$t=vIe(),S$t=TIe(),v$t=wIe();function I$t(t=!1){let e=[x$t.default,b$t.default,E$t.default,_$t.default,S$t.default,v$t.default,h$t.default,g$t.default,m$t.default,A$t.default,y$t.default];return t?e.push(l$t.default,f$t.default):e.push(u$t.default,d$t.default),e.push(p$t.default),e}a9.default=I$t});var NIe=E(o9=>{"use strict";Object.defineProperty(o9,"__esModule",{value:!0});var ds=zt(),C$t={message:({schemaCode:t})=>(0,ds.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ds._)`{format: ${t}}`},T$t={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:C$t,code(t,e){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ds._)`${m}[${a}]`),A=r.let("fType"),g=r.let("format");r.if((0,ds._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(A,(0,ds._)`${h}.type || "string"`).assign(g,(0,ds._)`${h}.validate`),()=>r.assign(A,(0,ds._)`"string"`).assign(g,h)),t.fail$data((0,ds.or)(b(),y()));function b(){return c.strictSchema===!1?ds.nil:(0,ds._)`${a} && !${g}`}function y(){let x=l.$async?(0,ds._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,ds._)`${g}(${n})`,v=(0,ds._)`(typeof ${g} == "function" ? ${x} : ${g}.test(${n}))`;return(0,ds._)`${g} && ${g} !== true && ${A} === ${e} && !${v}`}}function p(){let m=d.formats[i];if(!m){b();return}if(m===!0)return;let[h,A,g]=y(m);h===e&&t.pass(x());function b(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function y(v){let I=v instanceof RegExp?(0,ds.regexpCode)(v):c.code.formats?(0,ds._)`${c.code.formats}${(0,ds.getProperty)(i)}`:void 0,R=r.scopeValue("formats",{key:i,ref:v,code:I});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,ds._)`${R}.validate`]:["string",v,R]}function x(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ds._)`await ${g}(${n})`}return typeof A=="function"?(0,ds._)`${g}(${n})`:(0,ds._)`${g}.test(${n})`}}}};o9.default=T$t});var OIe=E(c9=>{"use strict";Object.defineProperty(c9,"__esModule",{value:!0});var w$t=NIe(),R$t=[w$t.default];c9.default=R$t});var PIe=E(Hy=>{"use strict";Object.defineProperty(Hy,"__esModule",{value:!0});Hy.contentVocabulary=Hy.metadataVocabulary=void 0;Hy.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Hy.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var DIe=E(u9=>{"use strict";Object.defineProperty(u9,"__esModule",{value:!0});var N$t=Uve(),O$t=tIe(),P$t=RIe(),k$t=OIe(),kIe=PIe(),D$t=[N$t.default,O$t.default,(0,P$t.default)(),k$t.default,kIe.metadataVocabulary,kIe.contentVocabulary];u9.default=D$t});var LIe=E(EP=>{"use strict";Object.defineProperty(EP,"__esModule",{value:!0});EP.DiscrError=void 0;var BIe;(function(t){t.Tag="tag",t.Mapping="mapping"})(BIe||(EP.DiscrError=BIe={}))});var WIe=E(d9=>{"use strict";Object.defineProperty(d9,"__esModule",{value:!0});var Qy=zt(),l9=LIe(),MIe=rP(),B$t=J_(),L$t=Mr(),M$t={message:({params:{discrError:t,tagName:e}})=>t===l9.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Qy._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},W$t={keyword:"discriminator",type:"object",schemaType:"object",error:M$t,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,Qy._)`${r}${(0,Qy.getProperty)(o)}`);e.if((0,Qy._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:l9.DiscrError.Tag,tag:u,tagName:o})),t.ok(c);function l(){let p=f();e.if(!1);for(let m in p)e.elseIf((0,Qy._)`${u} === ${m}`),e.assign(c,d(p[m]));e.else(),t.error(!1,{discrError:l9.DiscrError.Mapping,tag:u,tagName:o}),e.endIf()}function d(p){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},m);return t.mergeEvaluated(h,Qy.Name),m}function f(){var p;let m={},h=g(s),A=!0;for(let x=0;x<a.length;x++){let v=a[x];if(v?.$ref&&!(0,L$t.schemaHasRulesButRef)(v,i.self.RULES)){let R=v.$ref;if(v=MIe.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,R),v instanceof MIe.SchemaEnv&&(v=v.schema),v===void 0)throw new B$t.default(i.opts.uriResolver,i.baseId,R)}let I=(p=v?.properties)===null||p===void 0?void 0:p[o];if(typeof I!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);A=A&&(h||g(v)),b(I,x)}if(!A)throw new Error(`discriminator: "${o}" must be required`);return m;function g({required:x}){return Array.isArray(x)&&x.includes(o)}function b(x,v){if(x.const)y(x.const,v);else if(x.enum)for(let I of x.enum)y(I,v);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function y(x,v){if(typeof x!="string"||x in m)throw new Error(`discriminator: "${o}" values must be unique strings`);m[x]=v}}}};d9.default=W$t});var $Ie=E((GLr,$$t)=>{$$t.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var UIe=E((Ln,f9)=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.MissingRefError=Ln.ValidationError=Ln.CodeGen=Ln.Name=Ln.nil=Ln.stringify=Ln.str=Ln._=Ln.KeywordCxt=Ln.Ajv=void 0;var F$t=Bve(),U$t=DIe(),q$t=WIe(),FIe=$Ie(),j$t=["/properties"],_P="http://json-schema.org/draft-07/schema",Gy=class extends F$t.default{_addVocabularies(){super._addVocabularies(),U$t.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(q$t.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(FIe,j$t):FIe;this.addMetaSchema(e,_P,!1),this.refs["http://json-schema.org/schema"]=_P}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(_P)?_P:void 0)}};Ln.Ajv=Gy;f9.exports=Ln=Gy;f9.exports.Ajv=Gy;Object.defineProperty(Ln,"__esModule",{value:!0});Ln.default=Gy;var H$t=Y_();Object.defineProperty(Ln,"KeywordCxt",{enumerable:!0,get:function(){return H$t.KeywordCxt}});var Ky=zt();Object.defineProperty(Ln,"_",{enumerable:!0,get:function(){return Ky._}});Object.defineProperty(Ln,"str",{enumerable:!0,get:function(){return Ky.str}});Object.defineProperty(Ln,"stringify",{enumerable:!0,get:function(){return Ky.stringify}});Object.defineProperty(Ln,"nil",{enumerable:!0,get:function(){return Ky.nil}});Object.defineProperty(Ln,"Name",{enumerable:!0,get:function(){return Ky.Name}});Object.defineProperty(Ln,"CodeGen",{enumerable:!0,get:function(){return Ky.CodeGen}});var Q$t=eP();Object.defineProperty(Ln,"ValidationError",{enumerable:!0,get:function(){return Q$t.default}});var G$t=J_();Object.defineProperty(Ln,"MissingRefError",{enumerable:!0,get:function(){return G$t.default}})});var qIe=E(Vy=>{"use strict";Object.defineProperty(Vy,"__esModule",{value:!0});Vy.formatLimitDefinition=void 0;var K$t=UIe(),eu=zt(),qp=eu.operators,SP={formatMaximum:{okStr:"<=",ok:qp.LTE,fail:qp.GT},formatMinimum:{okStr:">=",ok:qp.GTE,fail:qp.LT},formatExclusiveMaximum:{okStr:"<",ok:qp.LT,fail:qp.GTE},formatExclusiveMinimum:{okStr:">",ok:qp.GT,fail:qp.LTE}},V$t={message:({keyword:t,schemaCode:e})=>eu.str`should be ${SP[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>eu._`{comparison: ${SP[t].okStr}, limit: ${e}}`};Vy.formatLimitDefinition={keyword:Object.keys(SP),type:"string",schemaType:"string",$data:!0,error:V$t,code(t){let{gen:e,data:r,schemaCode:n,keyword:s,it:i}=t,{opts:a,self:o}=i;if(!a.validateFormats)return;let c=new K$t.KeywordCxt(i,o.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:o.formats,code:a.code.formats}),p=e.const("fmt",eu._`${f}[${c.schemaCode}]`);t.fail$data(eu.or(eu._`typeof ${p} != "object"`,eu._`${p} instanceof RegExp`,eu._`typeof ${p}.compare != "function"`,d(p)))}function l(){let f=c.schema,p=o.formats[f];if(!p||p===!0)return;if(typeof p!="object"||p instanceof RegExp||typeof p.compare!="function")throw new Error(`"${s}": format "${f}" does not define "compare" function`);let m=e.scopeValue("formats",{key:f,ref:p,code:a.code.formats?eu._`${a.code.formats}${eu.getProperty(f)}`:void 0});t.fail$data(d(m))}function d(f){return eu._`${f}.compare(${r}, ${n}) ${SP[s].fail} 0`}},dependencies:["format"]};var z$t=t=>(t.addKeyword(Vy.formatLimitDefinition),t);Vy.default=z$t});var GIe=E((dS,QIe)=>{"use strict";Object.defineProperty(dS,"__esModule",{value:!0});var zy=hSe(),Y$t=qIe(),p9=zt(),jIe=new p9.Name("fullFormats"),J$t=new p9.Name("fastFormats"),m9=(t,e={keywords:!0})=>{if(Array.isArray(e))return HIe(t,e,zy.fullFormats,jIe),t;let[r,n]=e.mode==="fast"?[zy.fastFormats,J$t]:[zy.fullFormats,jIe],s=e.formats||zy.formatNames;return HIe(t,s,r,n),e.keywords&&Y$t.default(t),t};m9.get=(t,e="full")=>{let n=(e==="fast"?zy.fastFormats:zy.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function HIe(t,e,r,n){var s,i;(s=(i=t.opts.code).formats)!==null&&s!==void 0||(i.formats=p9._`require("ajv-formats/dist/formats").${n}`);for(let a of e)t.addFormat(a,r[a])}QIe.exports=dS=m9;Object.defineProperty(dS,"__esModule",{value:!0});dS.default=m9});var zIe=E((VLr,VIe)=>{"use strict";var X$t=p_e().default,Z$t=v7(),KIe=I7(),h9=class{constructor(e,r){r.mode==="JTD"?this.ajv=new Z$t(Object.assign({},KIe,r.customOptions)):this.ajv=new X$t(Object.assign({},KIe,r.customOptions));let n=!0;if(r.plugins&&r.plugins.length>0)for(let i of r.plugins)Array.isArray(i)?(n=n&&i[0].name!=="formatsPlugin",i[0](this.ajv,i[1])):(n=n&&i.name!=="formatsPlugin",i(this.ajv));n&&GIe()(this.ajv),r.onCreate?.(this.ajv);let s=Object.values(e);for(let i of s)this.ajv.addSchema(i)}buildValidatorFunction({schema:e}){if(e.$id){let r=this.ajv.getSchema(e.$id);if(r)return r}return this.ajv.compile(e)}};VIe.exports=h9});var JIe=E((zLr,YIe)=>{"use strict";var eFt=v7(),tFt=I7(),g9=class{constructor(e,r){this.ajv=new eFt(Object.assign({},tFt,r))}buildSerializerFunction({schema:e}){return this.ajv.compileSerializer(e)}};YIe.exports=g9});var eCe=E((pS,ZIe)=>{"use strict";Object.defineProperty(pS,"__esModule",{value:!0});var fS=sO(),tu=uy();function XIe(t,e){if(!t.opts.code.source)throw new Error("moduleCode: ajv instance must have code.source option");let{_n:r}=t.scope.opts;return typeof e=="function"?s(e.source):e!==void 0?i(e,n):i(t.schemas,o=>o.meta?void 0:t.compile(o.schema));function n(o){let c=t.getSchema(o);if(!c)throw new Error(`moduleCode: no schema with id ${o}`);return c}function s(o){let c={},u=o?.validateName,l=a(c,o);return t.opts.code.esm?`"use strict";${r}export const validate = ${u};${r}export default ${u};${r}${l}`:`"use strict";${r}module.exports = ${u};${r}module.exports.default = ${u};${r}${l}`}function i(o,c){var u;let l={},d=(0,tu._)`"use strict";`;for(let f in o){let p=c(o[f]);if(p){let m=a(l,p.source),h=t.opts.code.esm?(0,tu._)`export const ${(0,tu.getEsmExportName)(f)}`:(0,tu._)`exports${(0,tu.getProperty)(f)}`;d=(0,tu._)`${d}${r}${h} = ${(u=p.source)===null||u===void 0?void 0:u.validateName};${r}${m}`}}return`${d}`}function a(o,c){if(!c)throw new Error('moduleCode: function does not have "source" property');if(f(c.validateName)===fS.UsedValueState.Completed)return tu.nil;p(c.validateName,fS.UsedValueState.Started);let u=t.scope.scopeCode(c.scopeValues,o,d),l=new tu._Code(`${u}${r}${c.validateCode}`);return c.evaluated?(0,tu._)`${l}${c.validateName}.evaluated = ${c.evaluated};${r}`:l;function d(m){var h;let A=(h=m.value)===null||h===void 0?void 0:h.ref;if(m.prefix==="validate"&&typeof A=="function")return a(o,A.source);if((m.prefix==="root"||m.prefix==="wrapper")&&typeof A=="object"){let{validate:g,validateName:b}=A;if(!b)throw new Error("ajv internal error");let y=t.opts.code.es5?fS.varKinds.var:fS.varKinds.const,x=(0,tu._)`${y} ${m} = {validate: ${b}};`;if(f(b)===fS.UsedValueState.Started)return x;let v=a(o,g?.source);return(0,tu._)`${x}${r}${v}`}}function f(m){var h;return(h=o[m.prefix])===null||h===void 0?void 0:h.get(m)}function p(m,h){let{prefix:A}=m;(o[A]=o[A]||new Map).set(m,h)}}}ZIe.exports=pS=XIe;Object.defineProperty(pS,"__esModule",{value:!0});pS.default=XIe});var nCe=E((YLr,rCe)=>{"use strict";var tCe=A9(),rFt=eCe().default;function nFt(t={readMode:!0}){if(t.readMode===!0&&!t.restoreFunction)throw new Error("You must provide a restoreFunction options when readMode ON");if(t.readMode!==!0&&!t.storeFunction)throw new Error("You must provide a storeFunction options when readMode OFF");if(t.readMode===!0)return function(){return function(n){return t.restoreFunction(n)}};let e=tCe();return function(n,s={}){(!s.customOptions||!s.customOptions.code)&&(s.customOptions=Object.assign({},s.customOptions,{code:{source:!0}}));let i=e(n,s);return function(a){let o=i(a),c=rFt(i[tCe.AjvReference].ajv,o);return t.storeFunction(a,c),o}}}rCe.exports=nFt});var A9=E((JLr,Yy)=>{"use strict";var iCe=Symbol.for("fastify.ajv-compiler.reference"),sFt=zIe(),iFt=JIe();function y9(t){let e=new Map,r=new Map;return t&&t.jtdSerializer===!0?function(s,i){let a=sCe({},i);if(r.has(a))return r.get(a);let o=new iFt(s,i),c=o.buildSerializerFunction.bind(o);return r.set(a,c),c}:function(s,i){let a=sCe(s,i.customOptions);if(e.has(a))return e.get(a);let o=new sFt(s,i),c=o.buildValidatorFunction.bind(o);return e.set(a,c),i.customOptions.code!==void 0&&(c[iCe]=o),c}}function sCe(t,e){let r=JSON.stringify(t),n=JSON.stringify(e);return`${r}${n}`}Yy.exports=y9;Yy.exports.default=y9;Yy.exports.AjvCompiler=y9;Yy.exports.AjvReference=iCe;Yy.exports.StandaloneValidator=nCe()});var x9=E((XLr,aCe)=>{"use strict";var{buildSchemas:aFt}=c1(),oFt=cF(),cFt=A9();function uFt(t,e){if(t)return new Jy(t,e);let r=Object.assign({buildValidator:null,buildSerializer:null},e?.compilersFactory);r.buildValidator||(r.buildValidator=cFt()),r.buildSerializer||(r.buildSerializer=oFt());let n={bucket:e&&e.bucket||aFt,compilersFactory:r,isCustomValidatorCompiler:typeof e?.compilersFactory?.buildValidator=="function",isCustomSerializerCompiler:typeof e?.compilersFactory?.buildValidator=="function"};return new Jy(void 0,n)}var Jy=class{constructor(e,r){this.opts=r||e?.opts,this.addedSchemas=!1,this.compilersFactory=this.opts.compilersFactory,e?(this.schemaBucket=this.opts.bucket(e.getSchemas()),this.validatorCompiler=e.getValidatorCompiler(),this.serializerCompiler=e.getSerializerCompiler(),this.isCustomValidatorCompiler=e.isCustomValidatorCompiler,this.isCustomSerializerCompiler=e.isCustomSerializerCompiler,this.parent=e):(this.schemaBucket=this.opts.bucket(),this.isCustomValidatorCompiler=this.opts.isCustomValidatorCompiler||!1,this.isCustomSerializerCompiler=this.opts.isCustomSerializerCompiler||!1)}add(e){return this.addedSchemas=!0,this.schemaBucket.add(e)}getSchema(e){return this.schemaBucket.getSchema(e)}getSchemas(){return this.schemaBucket.getSchemas()}setValidatorCompiler(e){this.compilersFactory=Object.assign({},this.compilersFactory,{buildValidator:()=>e}),this.validatorCompiler=e,this.isCustomValidatorCompiler=!0}setSerializerCompiler(e){this.compilersFactory=Object.assign({},this.compilersFactory,{buildSerializer:()=>e}),this.serializerCompiler=e,this.isCustomSerializerCompiler=!0}getValidatorCompiler(){return this.validatorCompiler||this.parent&&this.parent.getValidatorCompiler()}getSerializerCompiler(){return this.serializerCompiler||this.parent&&this.parent.getSerializerCompiler()}getSerializerBuilder(){return this.compilersFactory.buildSerializer||this.parent&&this.parent.getSerializerBuilder()}getValidatorBuilder(){return this.compilersFactory.buildValidator||this.parent&&this.parent.getValidatorBuilder()}setupValidator(e){this.validatorCompiler!==void 0&&!this.addedSchemas||(this.validatorCompiler=this.getValidatorBuilder()(this.schemaBucket.getSchemas(),e.ajv))}setupSerializer(e){this.serializerCompiler!==void 0&&!this.addedSchemas||(this.serializerCompiler=this.getSerializerBuilder()(this.schemaBucket.getSchemas(),e.serializerOpts))}};Jy.buildSchemaController=uFt;aCe.exports=Jy});var I9=E((ZLr,v9)=>{"use strict";var b9=N$(),_9=require("node:assert"),S9=Symbol.for("registered-plugin"),{kTestInternals:lFt}=Gs(),{exist:dFt,existReply:fFt,existRequest:pFt}=F$(),{FST_ERR_PLUGIN_VERSION_MISMATCH:mFt,FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE:hFt}=Ci(),{FSTWRN002:gFt}=od();function mS(t){return t[Symbol.for("plugin-meta")]}function oCe(t){let e=cCe(t);if(e)return e;let r=require.cache;if(r){let n=Object.keys(r);for(let s=0;s<n.length;s++){let i=n[s];if(r[i].exports===t)return i}}return t.name?t.name:null}function AFt(t){return t.toString().split(`
|
|
`).slice(0,2).map(e=>e.trim()).join(" -- ")}function cCe(t){return t[Symbol.for("fastify.display-name")]}function uCe(t){return!!t[Symbol.for("skip-override")]}function lCe(t){let e=mS(t);if(!e)return;let r=e.dependencies;r&&(_9(Array.isArray(r),"The dependencies should be an array of strings"),r.forEach(n=>{_9(this[S9].indexOf(n)>-1,`The dependency '${n}' of plugin '${e.name}' is not registered`)}))}function dCe(t){let e=mS(t);if(!e)return;let{decorators:r,name:n}=e;r&&(r.fastify&&E9(this,"Fastify",r.fastify,n),r.reply&&E9(this,"Reply",r.reply,n),r.request&&E9(this,"Request",r.request,n))}var yFt={Fastify:dFt,Request:pFt,Reply:fFt};function E9(t,e,r,n){_9(Array.isArray(r),"The decorators should be an array of strings"),r.forEach(s=>{let i=typeof n=="string"?` required by '${n}'`:"";if(!yFt[e].call(t,s))throw new hFt(s,i,e)})}function xFt(t){let e=mS(t);if(!e)return;let r=e.fastify,n=/-rc.+$/.test(this.version);if(!(n===!0&&b9.gt(this.version,b9.coerce(r))===!0)&&r&&b9.satisfies(this.version,r,{includePrerelease:n})===!1)throw new mFt(e.name,r,this.version)}function bFt(t){let e=mS(t);if(!e)return;let r=e.name;if(r)return this[S9].push(r),r}function EFt(t,e){t.constructor.name==="AsyncFunction"&&t.length===3&&gFt(e||"anonymous")}function _Ft(t){let e=bFt.call(this,t)||oCe(t);return EFt.call(this,t,e),xFt.call(this,t),dCe.call(this,t),lCe.call(this,t),uCe(t)}v9.exports={getPluginName:oCe,getFuncPreview:AFt,kRegisteredPlugins:S9,getDisplayName:cCe,registerPlugin:_Ft};v9.exports[lFt]={shouldSkipOverride:uCe,getMeta:mS,checkDecorators:dCe,checkDependencies:lCe}});var vP=E((e4r,fCe)=>{"use strict";function SFt(t,e){let r=e||IFt();return t?CFt(t,r):r}function vFt(t,e){return t.genReqId(e)}function IFt(){let e=0;return function(){return e=e+1&2147483647,`req-${e.toString(36)}`}}function CFt(t,e){return function(r){return r.headers[t]||e(r)}}fCe.exports={getGenReqId:vFt,reqIdGenFactory:SFt}});var gCe=E((t4r,hCe)=>{"use strict";var pCe=12,TFt=0,C9=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7];function wFt(t){var e=t.indexOf("%");if(e===-1)return t;for(var r=t.length,n="",s=0,i=0,a=e,o=pCe;e>-1&&e<r;){var c=mCe(t[e+1],4),u=mCe(t[e+2],0),l=c|u,d=C9[l];if(o=C9[256+o+d],i=i<<6|l&C9[364+d],o===pCe)n+=t.slice(s,a),n+=i<=65535?String.fromCharCode(i):String.fromCharCode(55232+(i>>10),56320+(i&1023)),i=0,s=e+3,e=a=t.indexOf("%",s);else{if(o===TFt)return null;if(e+=3,e<r&&t.charCodeAt(e)===37)continue;return null}}return n+t.slice(s)}var RFt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};function mCe(t,e){var r=RFt[t];return r===void 0?255:r<<e}hCe.exports=wFt});var ECe=E((r4r,bCe)=>{"use strict";var ACe=gCe(),yCe=/\+/g,xCe=function(){};xCe.prototype=Object.create(null);function NFt(t){let e=new xCe;if(typeof t!="string")return e;let r=t.length,n="",s="",i=-1,a=-1,o=!1,c=!1,u=!1,l=!1,d=!1,f=0;for(let p=0;p<r+1;p++)if(f=p!==r?t.charCodeAt(p):38,f===38){if(d=a>i,d||(a=p),n=t.slice(i+1,a),d||n.length>0){u&&(n=n.replace(yCe," ")),o&&(n=ACe(n)||n),d&&(s=t.slice(a+1,p),l&&(s=s.replace(yCe," ")),c&&(s=ACe(s)||s));let m=e[n];m===void 0?e[n]=s:m.pop?m.push(s):e[n]=[m,s]}s="",i=p,a=p,o=!1,c=!1,u=!1,l=!1}else f===61?a<=i?a=p:c=!0:f===43?a>i?l=!0:u=!0:f===37&&(a>i?c=!0:o=!0);return e}bCe.exports=NFt});var SCe=E((n4r,_Ce)=>{var il=Array.from({length:256},(t,e)=>"%"+((e<16?"0":"")+e.toString(16)).toUpperCase()),OFt=new Int8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0]);function PFt(t){let e=t.length;if(e===0)return"";let r="",n=0,s=0;e:for(;s<e;s++){let i=t.charCodeAt(s);for(;i<128;){if(OFt[i]!==1&&(n<s&&(r+=t.slice(n,s)),n=s+1,r+=il[i]),++s===e)break e;i=t.charCodeAt(s)}if(n<s&&(r+=t.slice(n,s)),i<2048){n=s+1,r+=il[192|i>>6]+il[128|i&63];continue}if(i<55296||i>=57344){n=s+1,r+=il[224|i>>12]+il[128|i>>6&63]+il[128|i&63];continue}if(++s,s>=e)throw new Error("URI malformed");let a=t.charCodeAt(s)&1023;n=s+1,i=65536+((i&1023)<<10|a),r+=il[240|i>>18]+il[128|i>>12&63]+il[128|i>>6&63]+il[128|i&63]}return n===0?t:n<e?r+t.slice(n):r}_Ce.exports={encodeString:PFt}});var CCe=E((s4r,ICe)=>{"use strict";var{encodeString:T9}=SCe();function vCe(t){let e=typeof t;return e==="string"?T9(t):e==="bigint"?t.toString():e==="boolean"?t?"true":"false":e==="number"&&Number.isFinite(t)?t<1e21?""+t:T9(""+t):""}function kFt(t){let e="";if(t===null||typeof t!="object")return e;let r="&",n=Object.keys(t),s=n.length,i=0;for(let a=0;a<s;a++){let o=n[a],c=t[o],u=T9(o)+"=";if(a&&(e+=r),Array.isArray(c)){i=c.length;for(let l=0;l<i;l++)l&&(e+=r),e+=u,e+=vCe(c[l])}else e+=u,e+=vCe(c)}return e}ICe.exports=kFt});var NCe=E((i4r,hS)=>{"use strict";var TCe=ECe(),wCe=CCe(),RCe={parse:TCe,stringify:wCe};hS.exports=RCe;hS.exports.default=RCe;hS.exports.parse=TCe;hS.exports.stringify=wCe});var PCe=E(OCe=>{"use strict";Object.defineProperty(OCe,"__esModule",{value:!0})});var kCe=E(gS=>{"use strict";Object.defineProperty(gS,"__esModule",{value:!0});gS.types=void 0;var DFt;(function(t){t[t.ROOT=0]="ROOT",t[t.GROUP=1]="GROUP",t[t.POSITION=2]="POSITION",t[t.SET=3]="SET",t[t.RANGE=4]="RANGE",t[t.REPETITION=5]="REPETITION",t[t.REFERENCE=6]="REFERENCE",t[t.CHAR=7]="CHAR"})(DFt=gS.types||(gS.types={}))});var BCe=E(DCe=>{"use strict";Object.defineProperty(DCe,"__esModule",{value:!0})});var Dd=E(kd=>{"use strict";var BFt=kd&&kd.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),w9=kd&&kd.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&BFt(e,t,r)};Object.defineProperty(kd,"__esModule",{value:!0});w9(PCe(),kd);w9(kCe(),kd);w9(BCe(),kd)});var IP=E($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.anyChar=$i.notWhitespace=$i.whitespace=$i.notInts=$i.ints=$i.notWords=$i.words=void 0;var Hr=Dd(),LCe=()=>[{type:Hr.types.RANGE,from:48,to:57}],MCe=()=>[{type:Hr.types.CHAR,value:95},{type:Hr.types.RANGE,from:97,to:122},{type:Hr.types.RANGE,from:65,to:90},{type:Hr.types.RANGE,from:48,to:57}],WCe=()=>[{type:Hr.types.CHAR,value:9},{type:Hr.types.CHAR,value:10},{type:Hr.types.CHAR,value:11},{type:Hr.types.CHAR,value:12},{type:Hr.types.CHAR,value:13},{type:Hr.types.CHAR,value:32},{type:Hr.types.CHAR,value:160},{type:Hr.types.CHAR,value:5760},{type:Hr.types.RANGE,from:8192,to:8202},{type:Hr.types.CHAR,value:8232},{type:Hr.types.CHAR,value:8233},{type:Hr.types.CHAR,value:8239},{type:Hr.types.CHAR,value:8287},{type:Hr.types.CHAR,value:12288},{type:Hr.types.CHAR,value:65279}],LFt=()=>[{type:Hr.types.CHAR,value:10},{type:Hr.types.CHAR,value:13},{type:Hr.types.CHAR,value:8232},{type:Hr.types.CHAR,value:8233}];$i.words=()=>({type:Hr.types.SET,set:MCe(),not:!1});$i.notWords=()=>({type:Hr.types.SET,set:MCe(),not:!0});$i.ints=()=>({type:Hr.types.SET,set:LCe(),not:!1});$i.notInts=()=>({type:Hr.types.SET,set:LCe(),not:!0});$i.whitespace=()=>({type:Hr.types.SET,set:WCe(),not:!1});$i.notWhitespace=()=>({type:Hr.types.SET,set:WCe(),not:!0});$i.anyChar=()=>({type:Hr.types.SET,set:LFt(),not:!0})});var FCe=E(oc=>{"use strict";var MFt=oc&&oc.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),WFt=oc&&oc.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),$Ft=oc&&oc.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&MFt(e,t,r);return WFt(e,t),e};Object.defineProperty(oc,"__esModule",{value:!0});oc.tokenizeClass=oc.strToChars=void 0;var $Ce=Dd(),Xy=$Ft(IP()),FFt="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?";oc.strToChars=t=>{let e=/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g;return t.replace(e,(r,n,s,i,a,o,c)=>{if(s)return r;let u=n?8:i?parseInt(i,16):a?parseInt(a,16):o?FFt.indexOf(o):{0:0,t:9,n:10,v:11,f:12,r:13}[c],l=String.fromCharCode(u);return/[[\]{}^$.|?*+()]/.test(l)?`\\${l}`:l})};oc.tokenizeClass=(t,e)=>{var r,n,s,i,a,o,c;let u=[],l,d,f=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(l=f.exec(t))!==null;){let p=(c=(o=(a=(i=(s=(n=(r=l[1]&&Xy.words())!==null&&r!==void 0?r:l[2]&&Xy.ints())!==null&&n!==void 0?n:l[3]&&Xy.whitespace())!==null&&s!==void 0?s:l[4]&&Xy.notWords())!==null&&i!==void 0?i:l[5]&&Xy.notInts())!==null&&a!==void 0?a:l[6]&&Xy.notWhitespace())!==null&&o!==void 0?o:l[7]&&{type:$Ce.types.RANGE,from:(l[8]||l[9]).charCodeAt(0),to:(d=l[10]).charCodeAt(d.length-1)})!==null&&c!==void 0?c:(d=l[16])&&{type:$Ce.types.CHAR,value:d.charCodeAt(0)};if(p)u.push(p);else return[u,f.lastIndex]}throw new SyntaxError(`Invalid regular expression: /${e}/: Unterminated character class`)}});var R9=E(al=>{"use strict";var UFt=al&&al.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),qFt=al&&al.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qCe=al&&al.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&UFt(e,t,r);return qFt(e,t),e};Object.defineProperty(al,"__esModule",{value:!0});al.tokenizer=void 0;var UCe=qCe(FCe()),Ai=Dd(),oh=qCe(IP());al.tokenizer=t=>{let e=0,r,n={type:Ai.types.ROOT,stack:[]},s=n,i=n.stack,a=[],o=[],c=0,u=d=>{throw new SyntaxError(`Invalid regular expression: /${t}/: Nothing to repeat at column ${d-1}`)},l=UCe.strToChars(t);for(;e<l.length;)switch(r=l[e++]){case"\\":if(e===l.length)throw new SyntaxError(`Invalid regular expression: /${t}/: \\ at end of pattern`);switch(r=l[e++]){case"b":i.push({type:Ai.types.POSITION,value:"b"});break;case"B":i.push({type:Ai.types.POSITION,value:"B"});break;case"w":i.push(oh.words());break;case"W":i.push(oh.notWords());break;case"d":i.push(oh.ints());break;case"D":i.push(oh.notInts());break;case"s":i.push(oh.whitespace());break;case"S":i.push(oh.notWhitespace());break;default:if(/\d/.test(r)){let d=r;for(;e<l.length&&/\d/.test(l[e]);)d+=l[e++];let f=parseInt(d,10),p={type:Ai.types.REFERENCE,value:f};i.push(p),o.push({reference:p,stack:i,index:i.length-1})}else i.push({type:Ai.types.CHAR,value:r.charCodeAt(0)})}break;case"^":i.push({type:Ai.types.POSITION,value:"^"});break;case"$":i.push({type:Ai.types.POSITION,value:"$"});break;case"[":{let d;l[e]==="^"?(d=!0,e++):d=!1;let f=UCe.tokenizeClass(l.slice(e),t);e+=f[1],i.push({type:Ai.types.SET,set:f[0],not:d});break}case".":i.push(oh.anyChar());break;case"(":{let d={type:Ai.types.GROUP,stack:[],remember:!0};if(l[e]==="?"){if(r=l[e+1],e+=2,r==="=")d.followedBy=!0;else if(r==="!")d.notFollowedBy=!0;else if(r!==":")throw new SyntaxError(`Invalid regular expression: /${t}/: Invalid group, character '${r}' after '?' at column ${e-1}`);d.remember=!1}else c+=1;i.push(d),a.push(s),s=d,i=d.stack;break}case")":if(a.length===0)throw new SyntaxError(`Invalid regular expression: /${t}/: Unmatched ) at column ${e-1}`);s=a.pop(),i=s.options?s.options[s.options.length-1]:s.stack;break;case"|":{s.options||(s.options=[s.stack],delete s.stack);let d=[];s.options.push(d),i=d;break}case"{":{let d=/^(\d+)(,(\d+)?)?\}/.exec(l.slice(e)),f,p;d!==null?(i.length===0&&u(e),f=parseInt(d[1],10),p=d[2]?d[3]?parseInt(d[3],10):1/0:f,e+=d[0].length,i.push({type:Ai.types.REPETITION,min:f,max:p,value:i.pop()})):i.push({type:Ai.types.CHAR,value:123});break}case"?":i.length===0&&u(e),i.push({type:Ai.types.REPETITION,min:0,max:1,value:i.pop()});break;case"+":i.length===0&&u(e),i.push({type:Ai.types.REPETITION,min:1,max:1/0,value:i.pop()});break;case"*":i.length===0&&u(e),i.push({type:Ai.types.REPETITION,min:0,max:1/0,value:i.pop()});break;default:i.push({type:Ai.types.CHAR,value:r.charCodeAt(0)})}if(a.length!==0)throw new SyntaxError(`Invalid regular expression: /${t}/: Unterminated group`);return jFt(o,c),n};function jFt(t,e){for(let r of t.reverse())if(e<r.reference.value){r.reference.type=Ai.types.CHAR;let n=r.reference.value.toString();if(r.reference.value=parseInt(n,8),!/^[0-7]+$/.test(n)){let s=0;for(;n[s]!=="8"&&n[s]!=="9";)s+=1;if(s===0?(r.reference.value=n.charCodeAt(0),s+=1):r.reference.value=parseInt(n.slice(0,s),8),n.length>s){let i=r.stack.splice(r.index+1);for(let a of n.slice(s))r.stack.push({type:Ai.types.CHAR,value:a.charCodeAt(0)});r.stack.push(...i)}}}}});var HCe=E(Fi=>{"use strict";var HFt=Fi&&Fi.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),QFt=Fi&&Fi.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),GFt=Fi&&Fi.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&HFt(e,t,r);return QFt(e,t),e};Object.defineProperty(Fi,"__esModule",{value:!0});Fi.NOTANYCHAR=Fi.WHITESPACE=Fi.WORDS=Fi.INTS=void 0;var CP=GFt(IP()),jCe=Dd();function TP(t){let e={},r=0;for(let n of t)n.type===jCe.types.CHAR&&(e[n.value]=!0),n.type===jCe.types.RANGE&&(e[`${n.from}-${n.to}`]=!0),r+=1;return{lookup:()=>Object.assign({},e),len:r}}Fi.INTS=TP(CP.ints().set);Fi.WORDS=TP(CP.words().set);Fi.WHITESPACE=TP(CP.whitespace().set);Fi.NOTANYCHAR=TP(CP.anyChar().set)});var GCe=E(cc=>{"use strict";var KFt=cc&&cc.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),VFt=cc&&cc.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),zFt=cc&&cc.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&KFt(e,t,r);return VFt(e,t),e};Object.defineProperty(cc,"__esModule",{value:!0});cc.writeSetTokens=cc.setChar=void 0;var OP=Dd(),wP=zFt(HCe());function NP(t){return t===94?"\\^":t===92?"\\\\":t===93?"\\]":t===45?"\\-":String.fromCharCode(t)}cc.setChar=NP;function RP(t,{lookup:e,len:r}){if(r!==t.length)return!1;let n=e();for(let s of t){if(s.type===OP.types.SET)return!1;let i=s.type===OP.types.CHAR?s.value:`${s.from}-${s.to}`;if(n[i])n[i]=!1;else return!1}return!0}function QCe(t,e=!1){if(RP(t.set,wP.INTS))return t.not?"\\D":"\\d";if(RP(t.set,wP.WORDS))return t.not?"\\W":"\\w";if(t.not&&RP(t.set,wP.NOTANYCHAR))return".";if(RP(t.set,wP.WHITESPACE))return t.not?"\\S":"\\s";let r="";for(let s=0;s<t.set.length;s++){let i=t.set[s];r+=YFt(i)}let n=`${t.not?"^":""}${r}`;return e?n:`[${n}]`}cc.writeSetTokens=QCe;function YFt(t){return t.type===OP.types.CHAR?NP(t.value):t.type===OP.types.RANGE?`${NP(t.from)}-${NP(t.to)}`:QCe(t,!0)}});var O9=E(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});Zy.reconstruct=void 0;var jp=Dd(),N9=GCe(),KCe=t=>t.map(Zy.reconstruct).join(""),VCe=t=>{if("options"in t)return t.options.map(KCe).join("|");if("stack"in t)return KCe(t.stack);throw new Error("options or stack must be Root or Group token")};Zy.reconstruct=t=>{switch(t.type){case jp.types.ROOT:return VCe(t);case jp.types.CHAR:{let e=String.fromCharCode(t.value);return(/[[\\{}$^.|?*+()]/.test(e)?"\\":"")+e}case jp.types.POSITION:return t.value==="^"||t.value==="$"?t.value:`\\${t.value}`;case jp.types.REFERENCE:return`\\${t.value}`;case jp.types.SET:return N9.writeSetTokens(t);case jp.types.GROUP:return`(${t.remember?"":t.followedBy?"?=":t.notFollowedBy?"?!":"?:"}${VCe(t)})`;case jp.types.REPETITION:{let{min:e,max:r}=t,n;return e===0&&r===1?n="?":e===1&&r===1/0?n="+":e===0&&r===1/0?n="*":r===1/0?n=`{${e},}`:e===r?n=`{${e}}`:n=`{${e},${r}}`,`${Zy.reconstruct(t.value)}${n}`}case jp.types.RANGE:return`${N9.setChar(t.from)}-${N9.setChar(t.to)}`;default:throw new Error(`Invalid token type ${t}`)}}});var JCe=E((uc,PP)=>{"use strict";var JFt=uc&&uc.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),P9=uc&&uc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&JFt(e,t,r)};Object.defineProperty(uc,"__esModule",{value:!0});uc.types=void 0;var zCe=Dd();Object.defineProperty(uc,"types",{enumerable:!0,get:function(){return zCe.types}});P9(R9(),uc);P9(O9(),uc);var YCe=R9(),XFt=O9();P9(Dd(),uc);uc.default=YCe.tokenizer;PP.exports=YCe.tokenizer;PP.exports.types=zCe.types;PP.exports.reconstruct=XFt.reconstruct});var ZCe=E((g4r,kP)=>{"use strict";var XCe=JCe(),ZFt=XCe.types;function k9(t,e){e||(e={});let r=e.limit===void 0?25:e.limit;eUt(t)?t=t.source:typeof t!="string"&&(t=String(t));try{t=XCe(t)}catch{return!1}let n=0;return function s(i,a){let o,c,u;if(i.type===ZFt.REPETITION&&(a++,n++,a>1||n>r))return!1;if(i.options){for(o=0,u=i.options.length;o<u;o++)if(c=s({stack:i.options[o]},a),!c)return!1}let l=i.stack||i.value&&i.value.stack;if(!l)return!0;for(o=0;o<l.length;o++)if(c=s(l[o],a),!c)return!1;return!0}(t,0)}function eUt(t){return{}.toString.call(t)==="[object RegExp]"}kP.exports=k9;kP.exports.default=k9;kP.exports.safeRegex=k9});var DP=E((A4r,eTe)=>{"use strict";eTe.exports={name:"__fmw_internal_strategy_merged_tree_http_method__",storage:function(){let t={};return{get:e=>t[e]||null,set:(e,r)=>{t[e]=r}}},deriveConstraint:t=>t.method,mustMatchWhenDerived:!0}});var oTe=E((y4r,aTe)=>{"use strict";var tTe=Ko(),rTe=DP(),nTe=Symbol("treeData");function sTe(t,e=""){let r="",n=Object.keys(t);for(let s=0;s<n.length;s++){let i=n[s],a=t[i],o=s===n.length-1,c=o?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ",u=o?" ":"\u2502 ",d=(a[nTe]||"").split(`
|
|
`).join(`
|
|
`+e+u);r+=e+c+i+d+`
|
|
`,r+=sTe(a,e+u)}return r}function tUt(t){let e=t.name||"";return e=e.replace("bound","").trim(),e=(e||"anonymous")+"()",e}function iTe(t){return Array.isArray(t)?t.map(e=>iTe(e)):typeof t=="symbol"?t.toString():typeof t=="function"?tUt(t):t}function rUt(t,e){if(!e.includeMeta)return{};let r=e.buildPrettyMeta(t),n={},s=e.includeMeta;Array.isArray(s)||(s=Reflect.ownKeys(r));for(let i of s){if(!Object.prototype.hasOwnProperty.call(r,i))continue;let a=i.toString(),o=r[i];if(o!=null){let c=JSON.stringify(iTe(o));n[a]=c}}return n}function nUt(t){let e="";for(let[r,n]of Object.entries(t))e+=`
|
|
\u2022 (${r}) ${n}`;return e}function sUt(t){let e={...t.opts.constraints},r=e[rTe.name];return delete e[rTe.name],{...t,method:r,opts:{constraints:e}}}function iUt(t){let e=` (${t.method})`,r=t.opts.constraints||{};return Object.keys(r).length!==0&&(e+=" "+JSON.stringify(r)),e+=nUt(t.metaData),e}function aUt(t){return t.reduce((e,r)=>{for(let n of e)if(tTe(r.opts.constraints,n.opts.constraints)&&tTe(r.metaData,n.metaData))return n.method+=", "+r.method,e;return e.push(r),e},[])}function oUt(t,e,r){let n=t.routes;return r.method===void 0&&(n=n.map(sUt)),n=n.map(s=>(s.metaData=rUt(s,r),s)),r.method===void 0&&(n=aUt(n)),n.map(iUt).join(`
|
|
${e}`)}function BP(t,e,r,n){if((t.isLeafNode||n.commonPrefix!==!1)&&(r=r||"(empty root node)",e=e[r]={},t.isLeafNode&&(e[nTe]=oUt(t,r,n)),r=""),t.staticChildren)for(let s of Object.values(t.staticChildren))BP(s,e,r+s.prefix,n);if(t.parametricChildren)for(let s of Object.values(t.parametricChildren)){let i=Array.from(s.nodePaths).join("|");BP(s,e,r+i,n)}t.wildcardChild&&BP(t.wildcardChild,e,"*",n)}function cUt(t,e){let r={};return BP(t,r,t.prefix,e),sTe(r)}aTe.exports={prettyPrintTree:cUt}});var uTe=E((x4r,cTe)=>{"use strict";var uUt=DP(),D9=class{constructor(){this.unconstrainedHandler=null,this.constraints=[],this.handlers=[],this.constrainedHandlerStores=null}getMatchingHandler(e){return e===void 0?this.unconstrainedHandler:this._getHandlerMatchingConstraints(e)}addHandler(e,r){let n=r.params,s=r.opts.constraints||{},i={params:n,constraints:s,handler:r.handler,store:r.store||null,_createParamsObject:this._compileCreateParamsObject(n)},a=Object.keys(s);a.length===0&&(this.unconstrainedHandler=i);for(let c of a)this.constraints.includes(c)||(c==="version"?this.constraints.unshift(c):this.constraints.push(c));let o=a.includes(uUt.name);if(!o&&this.handlers.length>=31)throw new Error("find-my-way supports a maximum of 31 route handlers per node when there are constraints, limit reached");this.handlers.push(i),this.handlers.sort((c,u)=>Object.keys(c.constraints).length-Object.keys(u.constraints).length),o||this._compileGetHandlerMatchingConstraints(e,s)}_compileCreateParamsObject(e){let r=[];for(let n=0;n<e.length;n++)r.push(`'${e[n]}': paramsArray[${n}]`);return new Function("paramsArray",`return {${r.join(",")}}`)}_getHandlerMatchingConstraints(){return null}_buildConstraintStore(e,r){for(let n=0;n<this.handlers.length;n++){let i=this.handlers[n].constraints[r];if(i!==void 0){let a=e.get(i)||0;a|=1<<n,e.set(i,a)}}}_constrainedIndexBitmask(e){let r=0;for(let n=0;n<this.handlers.length;n++)this.handlers[n].constraints[e]!==void 0&&(r|=1<<n);return~r}_compileGetHandlerMatchingConstraints(e){this.constrainedHandlerStores={};for(let n of this.constraints){let s=e.newStoreForConstraint(n);this.constrainedHandlerStores[n]=s,this._buildConstraintStore(s,n)}let r=[];r.push(`
|
|
let candidates = ${(1<<this.handlers.length)-1}
|
|
let mask, matches
|
|
`);for(let n of this.constraints){r.push(`
|
|
mask = ${this._constrainedIndexBitmask(n)}
|
|
value = derivedConstraints.${n}
|
|
`);let i=e.strategies[n].mustMatchWhenDerived?"matches":"(matches | mask)";r.push(`
|
|
if (value === undefined) {
|
|
candidates &= mask
|
|
} else {
|
|
matches = this.constrainedHandlerStores.${n}.get(value) || 0
|
|
candidates &= ${i}
|
|
}
|
|
if (candidates === 0) return null;
|
|
`)}for(let n in e.strategies)e.strategies[n].mustMatchWhenDerived&&!this.constraints.includes(n)&&r.push(`if (derivedConstraints.${n} !== undefined) return null`);r.push("return this.handlers[Math.floor(Math.log2(candidates))]"),this._getHandlerMatchingConstraints=new Function("derivedConstraints",r.join(`
|
|
`))}};cTe.exports=D9});var dTe=E((b4r,lTe)=>{"use strict";var lUt=uTe(),UP={STATIC:0,PARAMETRIC:1,WILDCARD:2},LP=class{constructor(){this.isLeafNode=!1,this.routes=null,this.handlerStorage=null}addRoute(e,r){this.routes===null&&(this.routes=[]),this.handlerStorage===null&&(this.handlerStorage=new lUt),this.isLeafNode=!0,this.routes.push(e),this.handlerStorage.addHandler(r,e)}},MP=class extends LP{constructor(){super(),this.staticChildren={}}findStaticMatchingChild(e,r){let n=this.staticChildren[e.charAt(r)];return n===void 0||!n.matchPrefix(e,r)?null:n}getStaticChild(e,r=0){if(e.length===r)return this;let n=this.findStaticMatchingChild(e,r);return n?n.getStaticChild(e,r+n.prefix.length):null}createStaticChild(e){if(e.length===0)return this;let r=this.staticChildren[e.charAt(0)];if(r){let s=1;for(;s<r.prefix.length;s++)if(e.charCodeAt(s)!==r.prefix.charCodeAt(s)){r=r.split(this,s);break}return r.createStaticChild(e.slice(s))}let n=e.charAt(0);return this.staticChildren[n]=new WP(e),this.staticChildren[n]}},WP=class t extends MP{constructor(e){super(),this.prefix=e,this.wildcardChild=null,this.parametricChildren=[],this.kind=UP.STATIC,this._compilePrefixMatch()}getParametricChild(e){let r=e&&e.source,n=this.parametricChildren.find(s=>(s.regex&&s.regex.source)===r);return n||null}createParametricChild(e,r,n){let s=this.getParametricChild(e);return s?(s.nodePaths.add(n),s):(s=new $P(e,r,n),this.parametricChildren.push(s),this.parametricChildren.sort((i,a)=>i.isRegex?a.isRegex?i.staticSuffix===null?1:a.staticSuffix===null?-1:a.staticSuffix.endsWith(i.staticSuffix)?1:i.staticSuffix.endsWith(a.staticSuffix)?-1:0:-1:1),s)}getWildcardChild(){return this.wildcardChild}createWildcardChild(){return this.wildcardChild=this.getWildcardChild()||new FP,this.wildcardChild}split(e,r){let n=this.prefix.slice(0,r),s=this.prefix.slice(r);this.prefix=s,this._compilePrefixMatch();let i=new t(n);return i.staticChildren[s.charAt(0)]=this,e.staticChildren[n.charAt(0)]=i,i}getNextNode(e,r,n,s){let i=this.findStaticMatchingChild(e,r),a=0;if(i===null){if(this.parametricChildren.length===0)return this.wildcardChild;i=this.parametricChildren[0],a=1}this.wildcardChild!==null&&n.push({paramsCount:s,brotherPathIndex:r,brotherNode:this.wildcardChild});for(let o=this.parametricChildren.length-1;o>=a;o--)n.push({paramsCount:s,brotherPathIndex:r,brotherNode:this.parametricChildren[o]});return i}_compilePrefixMatch(){if(this.prefix.length===1){this.matchPrefix=()=>!0;return}let e=[];for(let r=1;r<this.prefix.length;r++){let n=this.prefix.charCodeAt(r);e.push(`path.charCodeAt(i + ${r}) === ${n}`)}this.matchPrefix=new Function("path","i",`return ${e.join(" && ")}`)}},$P=class extends MP{constructor(e,r,n){super(),this.isRegex=!!e,this.regex=e||null,this.staticSuffix=r||null,this.kind=UP.PARAMETRIC,this.nodePaths=new Set([n])}getNextNode(e,r){return this.findStaticMatchingChild(e,r)}},FP=class extends LP{constructor(){super(),this.kind=UP.WILDCARD}getNextNode(){return null}};lTe.exports={StaticNode:WP,ParametricNode:$P,WildcardNode:FP,NODE_TYPES:UP}});var pTe=E((E4r,fTe)=>{"use strict";var dUt=require("node:assert");function AS(){if(!(this instanceof AS))return new AS;this.store={},this.maxMajor=0,this.maxMinors={},this.maxPatches={}}AS.prototype.set=function(t,e){if(typeof t!="string")throw new TypeError("Version should be a string");let[r,n,s]=t.split(".");if(isNaN(r))throw new TypeError("Major version must be a numeric value");return r=Number(r),n=Number(n)||0,s=Number(s)||0,r>=this.maxMajor&&(this.maxMajor=r,this.store.x=e,this.store["*"]=e,this.store["x.x"]=e,this.store["x.x.x"]=e),n>=(this.maxMinors[r]||0)&&(this.maxMinors[r]=n,this.store[`${r}.x`]=e,this.store[`${r}.x.x`]=e),s>=(this.maxPatches[`${r}.${n}`]||0)&&(this.maxPatches[`${r}.${n}`]=s,this.store[`${r}.${n}.x`]=e),this.store[`${r}.${n}.${s}`]=e,this};AS.prototype.get=function(t){return this.store[t]};fTe.exports={name:"version",mustMatchWhenDerived:!0,storage:AS,validate(t){dUt(typeof t=="string","Version should be a string")}}});var hTe=E((_4r,mTe)=>{"use strict";var fUt=require("node:assert");function pUt(){let t={},e=[];return{get:r=>{let n=t[r];if(n)return n;for(let s of e)if(s.host.test(r))return s.value},set:(r,n)=>{r instanceof RegExp?e.push({host:r,value:n}):t[r]=n}}}mTe.exports={name:"host",mustMatchWhenDerived:!1,storage:pUt,validate(t){fUt(typeof t=="string"||Object.prototype.toString.call(t)==="[object RegExp]","Host should be a string or a RegExp")}}});var ATe=E((S4r,gTe)=>{"use strict";var mUt=pTe(),hUt=hTe(),B9=require("node:assert"),L9=class{constructor(e){if(this.strategies={version:mUt,host:hUt},this.strategiesInUse=new Set,this.asyncStrategiesInUse=new Set,e)for(let r of Object.values(e))this.addConstraintStrategy(r)}isStrategyUsed(e){return this.strategiesInUse.has(e)||this.asyncStrategiesInUse.has(e)}hasConstraintStrategy(e){let r=this.strategies[e];return r!==void 0?r.isCustom||this.isStrategyUsed(e):!1}addConstraintStrategy(e){if(B9(typeof e.name=="string"&&e.name!=="","strategy.name is required."),B9(e.storage&&typeof e.storage=="function","strategy.storage function is required."),B9(e.deriveConstraint&&typeof e.deriveConstraint=="function","strategy.deriveConstraint function is required."),this.strategies[e.name]&&this.strategies[e.name].isCustom)throw new Error(`There already exists a custom constraint with the name ${e.name}.`);if(this.isStrategyUsed(e.name))throw new Error(`There already exists a route with ${e.name} constraint.`);e.isCustom=!0,e.isAsync=e.deriveConstraint.length===3,this.strategies[e.name]=e,e.mustMatchWhenDerived&&this.noteUsage({[e.name]:e})}deriveConstraints(e,r,n){let s=this.deriveSyncConstraints(e,r);if(n===void 0)return s;this.deriveAsyncConstraints(s,e,r,n)}deriveSyncConstraints(e,r){}noteUsage(e){if(e){let r=this.strategiesInUse.size;for(let n in e)this.strategies[n].isAsync?this.asyncStrategiesInUse.add(n):this.strategiesInUse.add(n);r!==this.strategiesInUse.size&&this._buildDeriveConstraints()}}newStoreForConstraint(e){if(!this.strategies[e])throw new Error(`No strategy registered for constraint key ${e}`);return this.strategies[e].storage()}validateConstraints(e){for(let r in e){let n=e[r];if(typeof n>"u")throw new Error("Can't pass an undefined constraint value, must pass null or no key at all");let s=this.strategies[r];if(!s)throw new Error(`No strategy registered for constraint key ${r}`);s.validate&&s.validate(n)}}deriveAsyncConstraints(e,r,n,s){let i=this.asyncStrategiesInUse.size;if(i===0){s(null,e);return}e=e||{};for(let a of this.asyncStrategiesInUse)this.strategies[a].deriveConstraint(r,n,(c,u)=>{if(c!==null){s(c);return}e[a]=u,--i===0&&s(null,e)})}_buildDeriveConstraints(){if(this.strategiesInUse.size===0)return;let e=["return {"];for(let r of this.strategiesInUse){let n=this.strategies[r];n.isCustom?e.push(` ${n.name}: this.strategies.${r}.deriveConstraint(req, ctx),`):r==="version"?e.push(" version: req.headers['accept-version'],"):e.push(" host: req.headers.host || req.headers[':authority'],")}e.push("}"),this.deriveSyncConstraints=new Function("req","ctx",e.join(`
|
|
`)).bind(this)}};gTe.exports=L9});var xTe=E((v4r,yTe)=>{"use strict";var gUt=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];yTe.exports=gUt});var _Te=E((I4r,ETe)=>{"use strict";function bTe(t,e){return t===50?e===53?"%":e===51?"#":e===52?"$":e===54?"&":e===66||e===98?"+":e===67||e===99?",":e===70||e===102?"/":null:t===51?e===65||e===97?":":e===66||e===98?";":e===68||e===100?"=":e===70||e===102?"?":null:t===52&&e===48?"@":null}function AUt(t,e){let r=!1,n=!1,s="";for(let a=1;a<t.length;a++){let o=t.charCodeAt(a);if(o===37){let c=t.charCodeAt(a+1),u=t.charCodeAt(a+2);bTe(c,u)===null?r=!0:(n=!0,c===50&&u===53&&(r=!0,t=t.slice(0,a+1)+"25"+t.slice(a+1),a+=2),a+=2)}else if(o===63||o===35||o===59&&e){s=t.slice(a+1),t=t.slice(0,a);break}}return{path:r?decodeURI(t):t,querystring:s,shouldDecodeParam:n}}function yUt(t){let e=t.indexOf("%");if(e===-1)return t;let r="",n=e;for(let s=e;s<t.length;s++)if(t.charCodeAt(s)===37){let i=t.charCodeAt(s+1),a=t.charCodeAt(s+2),o=bTe(i,a);r+=t.slice(n,s)+o,n=s+3}return t.slice(0,e)+r+t.slice(n)}ETe.exports={safeDecodeURI:AUt,safeDecodeURIComponent:yUt}});var U9=E((C4r,NTe)=>{"use strict";var fs=require("node:assert"),xUt=NCe(),qP=ZCe(),W9=Ko(),{prettyPrintTree:bUt}=oTe(),{StaticNode:STe,NODE_TYPES:vTe}=dTe(),EUt=ATe(),ex=xTe(),M9=DP(),{safeDecodeURI:_Ut,safeDecodeURIComponent:ITe}=_Te(),CTe=/^https?:\/\/.*?\//,ch=/(\/:[^/()]*?)\?(\/?)/;if(!qP(CTe))throw new Error("the FULL_PATH_REGEXP is not safe, update this module");if(!qP(ch))throw new Error("the OPTIONAL_PARAM_REGEXP is not safe, update this module");function Vn(t){if(!(this instanceof Vn))return new Vn(t);t=t||{},this._opts=t,t.defaultRoute?(fs(typeof t.defaultRoute=="function","The default route must be a function"),this.defaultRoute=t.defaultRoute):this.defaultRoute=null,t.onBadUrl?(fs(typeof t.onBadUrl=="function","The bad url handler must be a function"),this.onBadUrl=t.onBadUrl):this.onBadUrl=null,t.buildPrettyMeta?(fs(typeof t.buildPrettyMeta=="function","buildPrettyMeta must be a function"),this.buildPrettyMeta=t.buildPrettyMeta):this.buildPrettyMeta=SUt,t.querystringParser?(fs(typeof t.querystringParser=="function","querystringParser must be a function"),this.querystringParser=t.querystringParser):this.querystringParser=e=>e===""?{}:xUt.parse(e),this.caseSensitive=t.caseSensitive===void 0?!0:t.caseSensitive,this.ignoreTrailingSlash=t.ignoreTrailingSlash||!1,this.ignoreDuplicateSlashes=t.ignoreDuplicateSlashes||!1,this.maxParamLength=t.maxParamLength||100,this.allowUnsafeRegex=t.allowUnsafeRegex||!1,this.constrainer=new EUt(t.constraints),this.useSemicolonDelimiter=t.useSemicolonDelimiter||!1,this.routes=[],this.trees={}}Vn.prototype.on=function(e,r,n,s,i){typeof n=="function"&&(s!==void 0&&(i=s),s=n,n={}),fs(typeof r=="string","Path should be a string"),fs(r.length>0,"The path could not be empty"),fs(r[0]==="/"||r[0]==="*","The first character of a path should be `/` or `*`"),fs(typeof s=="function","Handler should be a function");let a=r.match(ch);if(a){fs(r.length===a.index+a[0].length,"Optional Parameter needs to be the last parameter of the path");let u=r.replace(ch,"$1$2"),l=r.replace(ch,"$2")||"/";this.on(e,u,n,s,i),this.on(e,l,n,s,i);return}let o=r;this.ignoreDuplicateSlashes&&(r=$9(r)),this.ignoreTrailingSlash&&(r=F9(r));let c=Array.isArray(e)?e:[e];for(let u of c)fs(typeof u=="string","Method should be a string"),fs(ex.includes(u),`Method '${u}' is not an http method.`),this._on(u,r,n,s,i,o)};Vn.prototype._on=function(e,r,n,s,i){let a={};n.constraints!==void 0&&(fs(typeof n.constraints=="object"&&n.constraints!==null,"Constraints should be an object"),Object.keys(n.constraints).length!==0&&(a=n.constraints)),this.constrainer.validateConstraints(a),this.constrainer.noteUsage(a),this.trees[e]===void 0&&(this.trees[e]=new STe("/"));let o=r;if(o==="*"&&this.trees[e].prefix.length!==0){let f=this.trees[e];this.trees[e]=new STe(""),this.trees[e].staticChildren["/"]=f}let c=this.trees[e],u=c.prefix.length,l=[];for(let f=0;f<=o.length;f++){if(o.charCodeAt(f)===58&&o.charCodeAt(f+1)===58){f++;continue}let p=o.charCodeAt(f)===58&&o.charCodeAt(f+1)!==58,m=o.charCodeAt(f)===42;if(p||m||f===o.length&&f!==u){let h=o.slice(u,f);this.caseSensitive||(h=h.toLowerCase()),h=h.split("::").join(":"),h=h.split("%").join("%25"),c=c.createStaticChild(h)}if(p){let h=!1,A=!0,g="",b=[],y=f+1;for(let x=y;;x++){let v=o.charCodeAt(x),I=v===40,R=v===45||v===46,w=v===47||x===o.length;if(I||R||w){let N=o.slice(y,x);if(l.push(N),h=h||I||R,I){let M=RTe(o,x),D=o.slice(x,M+1);this.allowUnsafeRegex||fs(qP(new RegExp(D)),`The regex '${D}' is not safe!`),b.push(wTe(D)),x=M+1,A=!0}else b.push(A?"(.*?)":`(${g}|(?:(?!${g}).)*)`),A=!1;let P=x;for(;x<o.length;x++){let M=o.charCodeAt(x);if(M===47)break;if(M===58)if(o.charCodeAt(x+1)===58)x++;else break}let B=o.slice(P,x);if(B&&(B=B.split("::").join(":"),B=B.split("%").join("%25"),b.push(g=TTe(B))),y=x+1,w||o.charCodeAt(x)===47||x===o.length){let M=h?"()"+B:B,D=o.slice(f,x);o=o.slice(0,f+1)+M+o.slice(x),f+=M.length;let L=h?new RegExp("^"+b.join("")+"$"):null;c=c.createParametricChild(L,B||null,D),u=f+1;break}}}}else if(m&&(l.push("*"),c=c.createWildcardChild(),u=f+1,f!==o.length-1))throw new Error("Wildcard must be the last character in the route")}this.caseSensitive||(o=o.toLowerCase()),o==="*"&&(o="/*");for(let f of this.routes){let p=f.opts.constraints||{};if(f.method===e&&f.pattern===o&&W9(p,a))throw new Error(`Method '${e}' already declared for route '${o}' with constraints '${JSON.stringify(a)}'`)}let d={method:e,path:r,pattern:o,params:l,opts:n,handler:s,store:i};this.routes.push(d),c.addRoute(d,this.constrainer)};Vn.prototype.hasRoute=function(e,r,n){return this.findRoute(e,r,n)!==null};Vn.prototype.findRoute=function(e,r,n={}){if(this.trees[e]===void 0)return null;let s=r,i=this.trees[e],a=i.prefix.length,o=[];for(let c=0;c<=s.length;c++){if(s.charCodeAt(c)===58&&s.charCodeAt(c+1)===58){c++;continue}let u=s.charCodeAt(c)===58&&s.charCodeAt(c+1)!==58,l=s.charCodeAt(c)===42;if(u||l||c===s.length&&c!==a){let d=s.slice(a,c);if(this.caseSensitive||(d=d.toLowerCase()),d=d.split("::").join(":"),d=d.split("%").join("%25"),i=i.getStaticChild(d),i===null)return null}if(u){let d=!1,f=!0,p="",m=[],h=c+1;for(let A=h;;A++){let g=s.charCodeAt(A),b=g===40,y=g===45||g===46,x=g===47||A===s.length;if(b||y||x){let v=s.slice(h,A);if(o.push(v),d=d||b||y,b){let w=RTe(s,A),N=s.slice(A,w+1);this.allowUnsafeRegex||fs(qP(new RegExp(N)),`The regex '${N}' is not safe!`),m.push(wTe(N)),A=w+1,f=!1}else m.push(f?"(.*?)":`(${p}|(?:(?!${p}).)*)`),f=!1;let I=A;for(;A<s.length;A++){let w=s.charCodeAt(A);if(w===47)break;if(w===58)if(s.charCodeAt(A+1)===58)A++;else break}let R=s.slice(I,A);if(R&&(R=R.split("::").join(":"),R=R.split("%").join("%25"),m.push(p=TTe(R))),h=A+1,x||s.charCodeAt(A)===47||A===s.length){let w=d?"()"+R:R,N=s.slice(c,A);s=s.slice(0,c+1)+w+s.slice(A),c+=w.length;let P=d?new RegExp("^"+m.join("")+"$"):null;if(i=i.getParametricChild(P,R||null,N),i===null)return null;a=c+1;break}}}}else if(l&&(o.push("*"),i=i.getWildcardChild(),a=c+1,c!==s.length-1))throw new Error("Wildcard must be the last character in the route")}this.caseSensitive||(s=s.toLowerCase());for(let c of this.routes){let u=c.opts.constraints||{};if(c.method===e&&c.pattern===s&&W9(u,n))return{handler:c.handler,store:c.store,params:c.params}}return null};Vn.prototype.hasConstraintStrategy=function(t){return this.constrainer.hasConstraintStrategy(t)};Vn.prototype.addConstraintStrategy=function(t){this.constrainer.addConstraintStrategy(t),this._rebuild(this.routes)};Vn.prototype.reset=function(){this.trees={},this.routes=[]};Vn.prototype.off=function(e,r,n){fs(typeof r=="string","Path should be a string"),fs(r.length>0,"The path could not be empty"),fs(r[0]==="/"||r[0]==="*","The first character of a path should be `/` or `*`"),fs(typeof n>"u"||typeof n=="object"&&!Array.isArray(n)&&n!==null,"Constraints should be an object or undefined.");let s=r.match(ch);if(s){fs(r.length===s.index+s[0].length,"Optional Parameter needs to be the last parameter of the path");let a=r.replace(ch,"$1$2"),o=r.replace(ch,"$2");this.off(e,a,n),this.off(e,o,n);return}this.ignoreDuplicateSlashes&&(r=$9(r)),this.ignoreTrailingSlash&&(r=F9(r));let i=Array.isArray(e)?e:[e];for(let a of i)this._off(a,r,n)};Vn.prototype._off=function(e,r,n){fs(typeof e=="string","Method should be a string"),fs(ex.includes(e),`Method '${e}' is not an http method.`);function s(c){return e!==c.method||r!==c.path}function i(c){return s(c)||!W9(n,c.opts.constraints||{})}let a=n?i:s,o=this.routes.filter(a);this._rebuild(o)};Vn.prototype.lookup=function(e,r,n,s){if(typeof n=="function"&&(s=n,n=void 0),s===void 0){let i=this.constrainer.deriveConstraints(e,n),a=this.find(e.method,e.url,i);return this.callHandler(a,e,r,n)}this.constrainer.deriveConstraints(e,n,(i,a)=>{if(i!==null){s(i);return}try{let o=this.find(e.method,e.url,a),c=this.callHandler(o,e,r,n);s(null,c)}catch(o){s(o)}})};Vn.prototype.callHandler=function(e,r,n,s){return e===null?this._defaultRoute(r,n,s):s===void 0?e.handler(r,n,e.params,e.store,e.searchParams):e.handler.call(s,r,n,e.params,e.store,e.searchParams)};Vn.prototype.find=function(e,r,n){let s=this.trees[e];if(s===void 0)return null;r.charCodeAt(0)!==47&&(r=r.replace(CTe,"/")),this.ignoreDuplicateSlashes&&(r=$9(r));let i,a,o;try{i=_Ut(r,this.useSemicolonDelimiter),r=i.path,a=i.querystring,o=i.shouldDecodeParam}catch{return this._onBadUrl(r)}this.ignoreTrailingSlash&&(r=F9(r));let c=r;this.caseSensitive===!1&&(r=r.toLowerCase());let u=this.maxParamLength,l=s.prefix.length,d=[],f=r.length,p=[];for(;;){if(l===f&&s.isLeafNode){let g=s.handlerStorage.getMatchingHandler(n);if(g!==null)return{handler:g.handler,store:g.store,params:g._createParamsObject(d),searchParams:this.querystringParser(a)}}let m=s.getNextNode(r,l,p,d.length);if(m===null){if(p.length===0)return null;let g=p.pop();l=g.brotherPathIndex,d.splice(g.paramsCount),m=g.brotherNode}if(s=m,s.kind===vTe.STATIC){l+=s.prefix.length;continue}if(s.kind===vTe.WILDCARD){let g=c.slice(l);o&&(g=ITe(g)),d.push(g),l=f;continue}let h=c.indexOf("/",l);h===-1&&(h=f);let A=c.slice(l,h);if(o&&(A=ITe(A)),s.isRegex){let g=s.regex.exec(A);if(g===null)continue;for(let b=1;b<g.length;b++){let y=g[b];if(y.length>u)return null;d.push(y)}}else{if(A.length>u)return null;d.push(A)}l=h}};Vn.prototype._rebuild=function(t){this.reset();for(let e of t){let{method:r,path:n,opts:s,handler:i,store:a}=e;this._on(r,n,s,i,a)}};Vn.prototype._defaultRoute=function(t,e,r){if(this.defaultRoute!==null)return r===void 0?this.defaultRoute(t,e):this.defaultRoute.call(r,t,e);e.statusCode=404,e.end()};Vn.prototype._onBadUrl=function(t){if(this.onBadUrl===null)return null;let e=this.onBadUrl;return{handler:(r,n,s)=>e(t,r,n),params:{},store:null}};Vn.prototype.prettyPrint=function(t={}){let e=t.method;t.buildPrettyMeta=this.buildPrettyMeta.bind(this);let r=null;if(e===void 0){let{version:n,host:s,...i}=this.constrainer.strategies;i[M9.name]=M9;let a=new Vn({...this._opts,constraints:i}),o=this.routes.map(c=>{let u={...c.opts.constraints,[M9.name]:c.method};return{...c,method:"MERGED",opts:{constraints:u}}});a._rebuild(o),r=a.trees.MERGED}else r=this.trees[e];return r==null?"(empty tree)":bUt(r,t)};for(let t in ex){if(!ex.hasOwnProperty(t))continue;let e=ex[t],r=e.toLowerCase();Vn.prototype[r]=function(n,s,i){return this.on(e,n,s,i)}}Vn.prototype.all=function(t,e,r){this.on(ex,t,e,r)};NTe.exports=Vn;function TTe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $9(t){return t.replace(/\/\/+/g,"/")}function F9(t){return t.length>1&&t.charCodeAt(t.length-1)===47?t.slice(0,-1):t}function wTe(t){return t.charCodeAt(1)===94&&(t=t.slice(0,1)+t.slice(2)),t.charCodeAt(t.length-2)===36&&(t=t.slice(0,t.length-2)+t.slice(t.length-1)),t}function RTe(t,e){let r=1;for(;e<t.length;){if(e++,t[e]==="\\"){e++;continue}if(t[e]===")"?r--:t[e]==="("&&r++,!r)return e}throw new TypeError('Invalid regexp expression in "'+t+'"')}function SUt(t){return t?t.store?Object.assign({},t.store):{}:{}}});var PTe=E((T4r,OTe)=>{"use strict";function q9(t,e,r,n){if(r===void 0)return e.header("content-length","0"),n(null,null);if(typeof r.resume=="function")return r.on("error",i=>{e.log.error({err:i},"Error on Stream found for HEAD route")}),r.resume(),n(null,null);let s=""+Buffer.byteLength(r);e.header("content-length",s),n(null,null)}function vUt(t){return t==null?q9:Array.isArray(t)?[...t,q9]:[t,q9]}OTe.exports={parseHeadOnSendHandlers:vUt}});var zTe=E((w4r,VTe)=>{"use strict";var IUt=U9(),CUt=$N(),kTe=n5(),{onRequestAbortHookRunner:TUt,lifecycleHooks:DTe,preParsingHookRunner:wUt,onTimeoutHookRunner:RUt,onRequestHookRunner:NUt}=cp(),{supportedMethods:OUt}=B$(),{normalizeSchema:PUt}=c1(),{parseHeadOnSendHandlers:kUt}=PTe(),{FSTDEP007:DUt,FSTDEP008:BUt,FSTDEP014:BTe}=od(),{compileSchemasForValidation:LUt,compileSchemasForSerialization:MUt}=X6(),{FST_ERR_SCH_VALIDATION_BUILD:WUt,FST_ERR_SCH_SERIALIZATION_BUILD:$Ut,FST_ERR_DEFAULT_ROUTE_INVALID_TYPE:FUt,FST_ERR_DUPLICATED_ROUTE:UUt,FST_ERR_INVALID_URL:qUt,FST_ERR_HOOK_INVALID_HANDLER:LTe,FST_ERR_ROUTE_OPTIONS_NOT_OBJ:jUt,FST_ERR_ROUTE_DUPLICATED_HANDLER:HUt,FST_ERR_ROUTE_HANDLER_NOT_FN:MTe,FST_ERR_ROUTE_MISSING_HANDLER:QUt,FST_ERR_ROUTE_METHOD_NOT_SUPPORTED:GUt,FST_ERR_ROUTE_METHOD_INVALID:KUt,FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED:VUt,FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT:zUt,FST_ERR_HOOK_INVALID_ASYNC_HANDLER:j9}=Ci(),{kRoutePrefix:YUt,kLogLevel:JUt,kLogSerializers:WTe,kHooks:$Te,kSchemaController:XUt,kOptions:FTe,kReplySerializerDefault:H9,kReplyIsError:ZUt,kRequestPayloadStream:e7t,kDisableRequestLogging:t7t,kSchemaErrorFormatter:r7t,kErrorHandler:UTe,kHasBeenDecorated:qTe,kRequestAcceptVersion:Q9,kRouteByFastify:G9,kRouteContext:jTe}=Gs(),{buildErrorHandler:n7t}=F1(),{createChildLogger:s7t}=o1(),{getGenReqId:i7t}=vP();function a7t(t){let e=IUt(t.config),r,n,s,i,a,o,c,u,l,d,f,p,m,h=!1;return{setup(w,N){r=N.avvio,n=N.fourOhFour,s=N.logger,i=N.hasLogger,a=N.setupResponseListeners,o=N.throwIfAlreadyStarted,p=N.validateHTTPVersion,f=w.exposeHeadRoutes,c=w.disableRequestLogging,u=w.ignoreTrailingSlash,l=w.ignoreDuplicateSlashes,d=Object.prototype.hasOwnProperty.call(w,"return503OnClosing")?w.return503OnClosing:!0,m=N.keepAliveConnections},routing:e.lookup.bind(e),route:I,hasRoute:x,prepareRoute:y,getDefaultRoute:function(){return BTe(),e.defaultRoute},setDefaultRoute:function(w){if(BTe(),typeof w!="function")throw new FUt;e.defaultRoute=w},routeHandler:R,closeRoutes:()=>{h=!0},printRoutes:e.prettyPrint.bind(e),addConstraintStrategy:A,hasConstraintStrategy:g,isAsyncConstraint:b,findRoute:v};function A(w){return o("Cannot add constraint strategy!"),e.addConstraintStrategy(w)}function g(w){return e.hasConstraintStrategy(w)}function b(){return e.constrainer.asyncStrategiesInUse.size>0}function y({method:w,url:N,options:P,handler:B,isFastify:M}){if(typeof N!="string")throw new qUt(typeof N);if(!B&&typeof P=="function")B=P,P={};else if(B&&typeof B=="function"){if(Object.prototype.toString.call(P)!=="[object Object]")throw new jUt(w,N);if(P.handler)throw typeof P.handler=="function"?new HUt(w,N):new MTe(w,N)}return P=Object.assign({},P,{method:w,url:N,path:N,handler:B||P&&P.handler}),I.call(this,{options:P,isFastify:M})}function x({options:w}){return v(w)!==null}function v(w){let N=e.find(w.method,w.url||"",w.constraints);return N?{handler:N.handler,params:N.params,searchParams:N.searchParams}:null}function I({options:w,isFastify:N}){let P={...w},{exposeHeadRoute:B}=P,D=B!=null?B:f,L=P.method==="GET"||Array.isArray(P.method)&&P.method.includes("GET"),Z=P.method==="HEAD"||Array.isArray(P.method)&&P.method.includes("HEAD"),W=D&&L?{...w}:null;o("Cannot add route!");let F=P.url||P.path||"";if(Array.isArray(P.method))for(var K=0;K<P.method.length;++K)P.method[K]=HTe(P.method[K]),QTe(P.method[K],F,P.schema);else P.method=HTe(P.method),QTe(P.method,F,P.schema);if(!P.handler)throw new QUt(P.method,F);if(P.errorHandler!==void 0&&typeof P.errorHandler!="function")throw new MTe(P.method,F);KTe(P.bodyLimit);let j=this[YUt];if(F==="/"&&j.length>0&&P.method!=="HEAD")switch(P.prefixTrailingSlash){case"slash":J.call(this,{path:F,isFastify:N});break;case"no-slash":J.call(this,{path:"",isFastify:N});break;case"both":default:J.call(this,{path:"",isFastify:N}),u!==!0&&(l!==!0||!j.endsWith("/"))&&J.call(this,{path:F,prefixing:!0,isFastify:N})}else F[0]==="/"&&j.endsWith("/")?J.call(this,{path:F.slice(1),isFastify:N}):J.call(this,{path:F,isFastify:N});return this;function J({path:se,prefixing:oe=!1,isFastify:ue=!1}){let Ie=j+se;if(P.url=Ie,P.path=Ie,P.routePath=se,P.prefix=j,P.logLevel=P.logLevel||this[JUt],(this[WTe]||P.logSerializers)&&(P.logSerializers=Object.assign(Object.create(this[WTe]),P.logSerializers)),P.attachValidation==null&&(P.attachValidation=!1),oe===!1)for(let G of this[$Te].onRoute)G.call(this,P);for(let G of DTe)if(P&&G in P){if(Array.isArray(P[G]))for(let V of P[G]){if(typeof V!="function")throw new LTe(G,Object.prototype.toString.call(V));if(G==="onSend"||G==="preSerialization"||G==="onError"||G==="preParsing"){if(V.constructor.name==="AsyncFunction"&&V.length===4)throw new j9}else if(G==="onRequestAbort"){if(V.constructor.name==="AsyncFunction"&&V.length!==1)throw new j9}else if(V.constructor.name==="AsyncFunction"&&V.length===3)throw new j9}else if(P[G]!==void 0&&typeof P[G]!="function")throw new LTe(G,Object.prototype.toString.call(P[G]))}let we=P.constraints||{},qe={...P.config,url:Ie,method:P.method},Fe=new CUt({schema:P.schema,handler:P.handler.bind(this),config:qe,errorHandler:P.errorHandler,childLoggerFactory:P.childLoggerFactory,bodyLimit:P.bodyLimit,logLevel:P.logLevel,logSerializers:P.logSerializers,attachValidation:P.attachValidation,schemaErrorFormatter:P.schemaErrorFormatter,replySerializer:this[H9],validatorCompiler:P.validatorCompiler,serializerCompiler:P.serializerCompiler,exposeHeadRoute:D,prefixTrailingSlash:P.prefixTrailingSlash||"both",server:this,isFastify:ue});P.version&&(BUt(),we.version=P.version);let _e=e.findRoute("HEAD",P.url,we),U=_e!==null;Z&&U&&!Fe[G9]&&_e.store[G9]&&e.off("HEAD",P.url,we);try{e.on(P.method,P.url,{constraints:we},R,Fe)}catch(G){if(!Fe[G9])throw G.message.includes(`Method '${P.method}' already declared for route '${P.url}'`)?new UUt(P.method,P.url):G}if(this.after((G,V)=>{Fe.errorHandler=P.errorHandler?n7t(this[UTe],P.errorHandler):this[UTe],Fe._parserOptions.limit=P.bodyLimit||null,Fe.logLevel=P.logLevel,Fe.logSerializers=P.logSerializers,Fe.attachValidation=P.attachValidation,Fe[H9]=this[H9],Fe.schemaErrorFormatter=P.schemaErrorFormatter||this[r7t]||Fe.schemaErrorFormatter,r.once("preReady",()=>{for(let q of DTe){let H=this[$Te][q].concat(P[q]||[]).map(ee=>ee.bind(this));Fe[q]=H.length?H:null}for(;!Fe.Request[qTe]&&Fe.Request.parent;)Fe.Request=Fe.Request.parent;for(;!Fe.Reply[qTe]&&Fe.Reply.parent;)Fe.Reply=Fe.Reply.parent;if(n.setContext(this,Fe),P.schema){Fe.schema=PUt(Fe.schema,this.initialConfig);let q=this[XUt];!P.validatorCompiler&&(P.schema.body||P.schema.headers||P.schema.querystring||P.schema.params)&&q.setupValidator(this[FTe]);try{let H=typeof P?.validatorCompiler=="function"||q.isCustomValidatorCompiler;LUt(Fe,P.validatorCompiler||q.validatorCompiler,H)}catch(H){throw new WUt(P.method,Ie,H.message)}P.schema.response&&!P.serializerCompiler&&q.setupSerializer(this[FTe]);try{MUt(Fe,P.serializerCompiler||q.serializerCompiler)}catch(H){throw new $Ut(P.method,Ie,H.message)}}}),V(G)}),D&&L&&!Z&&!U){let G=kUt(W.onSend);y.call(this,{method:"HEAD",url:se,options:{...W,onSend:G},isFastify:!0})}else U&&B&&DUt()}}function R(w,N,P,B,M){let D=i7t(B.server,w),L={level:B.logLevel};B.logSerializers&&(L.serializers=B.logSerializers);let Z=s7t(B,s,w,D,L);if(Z[t7t]=c,!p(w.httpVersion)){Z.info({res:{statusCode:505}},"request aborted - invalid HTTP version");let j='{"error":"HTTP Version Not Supported","message":"HTTP Version Not Supported","statusCode":505}',J={"Content-Type":"application/json","Content-Length":j.length};N.writeHead(505,J),N.end(j);return}if(h===!0&&(w.httpVersionMajor!==2&&N.setHeader("Connection","close"),d)){let j={"Content-Type":"application/json","Content-Length":"80"};N.writeHead(503,j),N.end('{"error":"Service Unavailable","message":"Service Unavailable","statusCode":503}'),Z.info({res:{statusCode:503}},"request aborted - refusing to accept new requests as server is closing");return}String.prototype.toLowerCase.call(w.headers.connection||"")==="keep-alive"&&m.has(w.socket)===!1&&(m.add(w.socket),w.socket.on("close",u7t.bind({keepAliveConnections:m,socket:w.socket}))),w.headers[Q9]!==void 0&&(w.headers["accept-version"]=w.headers[Q9],w.headers[Q9]=void 0);let F=new B.Request(D,P,w,M,Z,B),K=new B.Reply(N,F,Z);c===!1&&Z.info({req:F},"incoming request"),(i===!0||B.onResponse!==null)&&a(K),B.onRequest!==null?NUt(B.onRequest,F,K,GTe):GTe(null,F,K),B.onRequestAbort!==null&&w.on("close",()=>{w.aborted&&TUt(B.onRequestAbort,F,o7t.bind(null,K))}),B.onTimeout!==null&&(F.raw.socket._meta||F.raw.socket.on("timeout",c7t),F.raw.socket._meta={context:B,request:F,reply:K})}}function o7t(t,e){e&&t.log.error({err:e},"onRequestAborted hook failed")}function c7t(){let{context:t,request:e,reply:r}=this._meta;RUt(t.onTimeout,e,r,l7t)}function HTe(t){if(typeof t!="string")throw new KUt;if(t=t.toUpperCase(),OUt.indexOf(t)===-1)throw new GUt(t);return t}function QTe(t,e,r){if((t==="GET"||t==="HEAD")&&r&&r.body)throw new VUt(t,e)}function KTe(t){if(t!==void 0&&(!Number.isInteger(t)||t<=0))throw new zUt(t)}function GTe(t,e,r){if(r.sent!==!0){if(t!=null){r[ZUt]=!0,r.send(t);return}e[e7t]=e.raw,e[jTe].preParsing!==null?wUt(e[jTe].preParsing,e,r,kTe):kTe(null,e,r)}}function u7t(){this.keepAliveConnections.delete(this.socket)}function l7t(){}VTe.exports={buildRouting:a7t,validateBodyLimitOption:KTe}});var rwe=E((R4r,twe)=>{"use strict";var d7t=U9(),YTe=EN(),JTe=WN(),f7t=$N(),{kRoutePrefix:p7t,kCanSetNotFoundHandler:yS,kFourOhFourLevelInstance:xS,kFourOhFourContext:ol,kHooks:m7t,kErrorHandler:XTe}=Gs(),{lifecycleHooks:h7t}=cp(),{buildErrorHandler:g7t}=F1(),{FST_ERR_NOT_FOUND:A7t}=Ci(),{createChildLogger:ZTe}=o1(),{getGenReqId:ewe}=vP();function y7t(t){let{logger:e}=t,r=d7t({onBadUrl:a(),defaultRoute:l}),n=null;return{router:r,setNotFoundHandler:c,setContext:o,arrange404:s};function s(d){d[xS]=d,d[yS]=!0,r.onBadUrl=r.onBadUrl.bind(d),r.defaultRoute=r.defaultRoute.bind(d)}function i(d,f){let{url:p,method:m}=d.raw,h=`Route ${m}:${p} not found`;d.log.info(h),f.code(404).send({message:h,error:"Not Found",statusCode:404})}function a(){return function(f,p,m){let h=this[xS][ol],A=ewe(h.server,p),g=ZTe(h,e,p,A),b=new JTe(A,null,p,null,g,h),y=new YTe(m,b,g);n(b,y)}}function o(d,f){let p=Object.assign({},d[ol]);p.onSend=f.onSend,f[ol]=p}function c(d,f,p,m){this[yS]===void 0&&(this[yS]=!0),this[ol]===void 0&&(this[ol]=null);let h=this,A=this[p7t]||"/";if(this[yS]===!1)throw new Error(`Not found handler already set for Fastify instance with prefix: '${A}'`);typeof d=="object"&&(d.preHandler&&(Array.isArray(d.preHandler)?d.preHandler=d.preHandler.map(g=>g.bind(h)):d.preHandler=d.preHandler.bind(h)),d.preValidation&&(Array.isArray(d.preValidation)?d.preValidation=d.preValidation.map(g=>g.bind(h)):d.preValidation=d.preValidation.bind(h))),typeof d=="function"&&(f=d,d=void 0),d=d||{},f?(this[xS][yS]=!1,f=f.bind(this),n=f):(f=i,n=i),this.after((g,b)=>{u.call(this,A,d,f,p,m),b(g)})}function u(d,f,p,m,h){let A=new f7t({schema:f.schema,handler:p,config:f.config||{},server:this});if(m.once("preReady",()=>{let g=this[ol];for(let b of h7t){let y=this[m7t][b].concat(f[b]||[]).map(x=>x.bind(this));g[b]=y.length?y:null}g.errorHandler=f.errorHandler?g7t(this[XTe],f.errorHandler):this[XTe]}),this[ol]!==null&&d==="/"){Object.assign(this[ol],A);return}this[xS][ol]=A,r.all(d+(d.endsWith("/")?"*":"/*"),h,A),r.all(d,h,A)}function l(d,f){let p=this[xS][ol],m=ewe(p.server,d),h=ZTe(p,e,d,m);h.info({req:d},"incoming request");let A=new JTe(m,null,d,null,h,p),g=new YTe(f,A,h);A.log.warn("the default handler for 404 did not catch this, this is likely a fastify bug, please report it"),A.log.warn(r.prettyPrint()),g.code(404).send(new A7t)}}twe.exports=y7t});var swe=E((N4r,jP)=>{"use strict";jP.exports=Wr;jP.exports.default=Wr;var nwe={type:"object",additionalProperties:!1,properties:{connectionTimeout:{type:"integer",default:0},keepAliveTimeout:{type:"integer",default:72e3},forceCloseConnections:{oneOf:[{type:"string",pattern:"idle"},{type:"boolean"}]},maxRequestsPerSocket:{type:"integer",default:0,nullable:!0},requestTimeout:{type:"integer",default:0},bodyLimit:{type:"integer",default:1048576},caseSensitive:{type:"boolean",default:!0},allowUnsafeRegex:{type:"boolean",default:!1},http2:{type:"boolean"},https:{if:{not:{oneOf:[{type:"boolean"},{type:"null"},{type:"object",additionalProperties:!1,required:["allowHTTP1"],properties:{allowHTTP1:{type:"boolean"}}}]}},then:{setDefaultValue:!0}},ignoreTrailingSlash:{type:"boolean",default:!1},ignoreDuplicateSlashes:{type:"boolean",default:!1},disableRequestLogging:{type:"boolean",default:!1},jsonShorthand:{type:"boolean",default:!0},maxParamLength:{type:"integer",default:100},onProtoPoisoning:{type:"string",default:"error"},onConstructorPoisoning:{type:"string",default:"error"},pluginTimeout:{type:"integer",default:1e4},requestIdHeader:{anyOf:[{enum:[!1]},{type:"string"}],default:"request-id"},requestIdLogLabel:{type:"string",default:"reqId"},http2SessionTimeout:{type:"integer",default:72e3},exposeHeadRoutes:{type:"boolean",default:!0},useSemicolonDelimiter:{type:"boolean",default:!0},versioning:{type:"object",additionalProperties:!0,required:["storage","deriveVersion"],properties:{storage:{},deriveVersion:{}}},constraints:{type:"object",additionalProperties:{type:"object",required:["name","storage","validate","deriveConstraint"],additionalProperties:!0,properties:{name:{type:"string"},storage:{},validate:{},deriveConstraint:{}}}}}},x7t=Object.prototype.hasOwnProperty,b7t=new RegExp("idle","u");function Wr(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0;if(a===0)if(t&&typeof t=="object"&&!Array.isArray(t)){t.connectionTimeout===void 0&&(t.connectionTimeout=0),t.keepAliveTimeout===void 0&&(t.keepAliveTimeout=72e3),t.maxRequestsPerSocket===void 0&&(t.maxRequestsPerSocket=0),t.requestTimeout===void 0&&(t.requestTimeout=0),t.bodyLimit===void 0&&(t.bodyLimit=1048576),t.caseSensitive===void 0&&(t.caseSensitive=!0),t.allowUnsafeRegex===void 0&&(t.allowUnsafeRegex=!1),t.ignoreTrailingSlash===void 0&&(t.ignoreTrailingSlash=!1),t.ignoreDuplicateSlashes===void 0&&(t.ignoreDuplicateSlashes=!1),t.disableRequestLogging===void 0&&(t.disableRequestLogging=!1),t.jsonShorthand===void 0&&(t.jsonShorthand=!0),t.maxParamLength===void 0&&(t.maxParamLength=100),t.onProtoPoisoning===void 0&&(t.onProtoPoisoning="error"),t.onConstructorPoisoning===void 0&&(t.onConstructorPoisoning="error"),t.pluginTimeout===void 0&&(t.pluginTimeout=1e4),t.requestIdHeader===void 0&&(t.requestIdHeader="request-id"),t.requestIdLogLabel===void 0&&(t.requestIdLogLabel="reqId"),t.http2SessionTimeout===void 0&&(t.http2SessionTimeout=72e3),t.exposeHeadRoutes===void 0&&(t.exposeHeadRoutes=!0),t.useSemicolonDelimiter===void 0&&(t.useSemicolonDelimiter=!0);let m=a;for(let h in t)x7t.call(nwe.properties,h)||delete t[h];if(m===a){let h=t.connectionTimeout,A=a;if(!(typeof h=="number"&&!(h%1)&&!isNaN(h)&&isFinite(h))){let g=typeof h,b;if(b===void 0)if(g==="boolean"||h===null||g==="string"&&h&&h==+h&&!(h%1))b=+h;else return Wr.errors=[{instancePath:e+"/connectionTimeout",schemaPath:"#/properties/connectionTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;b!==void 0&&(h=b,t!==void 0&&(t.connectionTimeout=b))}var o=A===a;if(o){let g=t.keepAliveTimeout,b=a;if(!(typeof g=="number"&&!(g%1)&&!isNaN(g)&&isFinite(g))){let x=typeof g,v;if(v===void 0)if(x==="boolean"||g===null||x==="string"&&g&&g==+g&&!(g%1))v=+g;else return Wr.errors=[{instancePath:e+"/keepAliveTimeout",schemaPath:"#/properties/keepAliveTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;v!==void 0&&(g=v,t!==void 0&&(t.keepAliveTimeout=v))}var o=b===a;if(o){if(t.forceCloseConnections!==void 0){let x=t.forceCloseConnections,v=a,I=a,R=!1,w=null,N=a;if(typeof x!="string"){let M=typeof x,D;if(D===void 0)if(M=="number"||M=="boolean")D=""+x;else if(x===null)D="";else{let L={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[L]:i.push(L),a++}D!==void 0&&(x=D,t!==void 0&&(t.forceCloseConnections=D))}if(a===N&&typeof x=="string"&&!b7t.test(x)){let M={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/0/pattern",keyword:"pattern",params:{pattern:"idle"},message:'must match pattern "idle"'};i===null?i=[M]:i.push(M),a++}var c=N===a;c&&(R=!0,w=0);let P=a;if(typeof x!="boolean"){let M;if(M===void 0)if(x==="false"||x===0||x===null)M=!1;else if(x==="true"||x===1)M=!0;else{let D={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/1/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};i===null?i=[D]:i.push(D),a++}M!==void 0&&(x=M,t!==void 0&&(t.forceCloseConnections=M))}var c=P===a;if(c&&R?(R=!1,w=[w,1]):c&&(R=!0,w=1),R)a=I,i!==null&&(I?i.length=I:i=null);else{let M={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf",keyword:"oneOf",params:{passingSchemas:w},message:"must match exactly one schema in oneOf"};return i===null?i=[M]:i.push(M),a++,Wr.errors=i,!1}var o=v===a}else var o=!0;if(o){let x=t.maxRequestsPerSocket,v=a;if(!(typeof x=="number"&&!(x%1)&&!isNaN(x)&&isFinite(x))&&x!==null){let R=typeof x,w;if(w===void 0)if(R==="boolean"||x===null||R==="string"&&x&&x==+x&&!(x%1))w=+x;else if(x===""||x===0||x===!1)w=null;else return Wr.errors=[{instancePath:e+"/maxRequestsPerSocket",schemaPath:"#/properties/maxRequestsPerSocket/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.maxRequestsPerSocket=w))}var o=v===a;if(o){let R=t.requestTimeout,w=a;if(!(typeof R=="number"&&!(R%1)&&!isNaN(R)&&isFinite(R))){let P=typeof R,B;if(B===void 0)if(P==="boolean"||R===null||P==="string"&&R&&R==+R&&!(R%1))B=+R;else return Wr.errors=[{instancePath:e+"/requestTimeout",schemaPath:"#/properties/requestTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;B!==void 0&&(R=B,t!==void 0&&(t.requestTimeout=B))}var o=w===a;if(o){let P=t.bodyLimit,B=a;if(!(typeof P=="number"&&!(P%1)&&!isNaN(P)&&isFinite(P))){let D=typeof P,L;if(L===void 0)if(D==="boolean"||P===null||D==="string"&&P&&P==+P&&!(P%1))L=+P;else return Wr.errors=[{instancePath:e+"/bodyLimit",schemaPath:"#/properties/bodyLimit/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;L!==void 0&&(P=L,t!==void 0&&(t.bodyLimit=L))}var o=B===a;if(o){let D=t.caseSensitive,L=a;if(typeof D!="boolean"){let W;if(W===void 0)if(D==="false"||D===0||D===null)W=!1;else if(D==="true"||D===1)W=!0;else return Wr.errors=[{instancePath:e+"/caseSensitive",schemaPath:"#/properties/caseSensitive/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;W!==void 0&&(D=W,t!==void 0&&(t.caseSensitive=W))}var o=L===a;if(o){let W=t.allowUnsafeRegex,F=a;if(typeof W!="boolean"){let j;if(j===void 0)if(W==="false"||W===0||W===null)j=!1;else if(W==="true"||W===1)j=!0;else return Wr.errors=[{instancePath:e+"/allowUnsafeRegex",schemaPath:"#/properties/allowUnsafeRegex/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;j!==void 0&&(W=j,t!==void 0&&(t.allowUnsafeRegex=j))}var o=F===a;if(o){if(t.http2!==void 0){let j=t.http2,J=a;if(typeof j!="boolean"){let oe;if(oe===void 0)if(j==="false"||j===0||j===null)oe=!1;else if(j==="true"||j===1)oe=!0;else return Wr.errors=[{instancePath:e+"/http2",schemaPath:"#/properties/http2/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;oe!==void 0&&(j=oe,t!==void 0&&(t.http2=oe))}var o=J===a}else var o=!0;if(o){if(t.https!==void 0){let j=t.https,J=a,se=a,oe=!0,ue=a,Ie=a,we=a,qe=a,Fe=!1,_e=null,U=a;if(typeof j!="boolean"){let q;if(q===void 0)if(j==="false"||j===0||j===null)q=!1;else if(j==="true"||j===1)q=!0;else{let H={};i===null?i=[H]:i.push(H),a++}q!==void 0&&(j=q,t!==void 0&&(t.https=q))}var u=U===a;u&&(Fe=!0,_e=0);let G=a;if(j!==null){let q;if(q===void 0)if(j===""||j===0||j===!1)q=null;else{let H={};i===null?i=[H]:i.push(H),a++}q!==void 0&&(j=q,t!==void 0&&(t.https=q))}var u=G===a;if(u&&Fe)Fe=!1,_e=[_e,1];else{u&&(Fe=!0,_e=1);let q=a;if(a===q)if(j&&typeof j=="object"&&!Array.isArray(j)){let ee;if(j.allowHTTP1===void 0&&(ee="allowHTTP1")){let ne={};i===null?i=[ne]:i.push(ne),a++}else{let ne=a;for(let re in j)re!=="allowHTTP1"&&delete j[re];if(ne===a&&j.allowHTTP1!==void 0){let re=j.allowHTTP1;if(typeof re!="boolean"){let X;if(X===void 0)if(re==="false"||re===0||re===null)X=!1;else if(re==="true"||re===1)X=!0;else{let ie={};i===null?i=[ie]:i.push(ie),a++}X!==void 0&&(re=X,j!==void 0&&(j.allowHTTP1=X))}}}}else{let ee={};i===null?i=[ee]:i.push(ee),a++}var u=q===a;u&&Fe?(Fe=!1,_e=[_e,2]):u&&(Fe=!0,_e=2)}if(Fe)a=qe,i!==null&&(qe?i.length=qe:i=null);else{let q={};i===null?i=[q]:i.push(q),a++}var l=we===a;if(l){let q={};i===null?i=[q]:i.push(q),a++}else a=Ie,i!==null&&(Ie?i.length=Ie:i=null);var d=ue===a;if(a=se,i!==null&&(se?i.length=se:i=null),d){let q=a;t.https=!0;var d=q===a;oe=d}if(!oe){let q={instancePath:e+"/https",schemaPath:"#/properties/https/if",keyword:"if",params:{failingKeyword:"then"},message:'must match "then" schema'};return i===null?i=[q]:i.push(q),a++,Wr.errors=i,!1}var o=J===a}else var o=!0;if(o){let j=t.ignoreTrailingSlash,J=a;if(typeof j!="boolean"){let oe;if(oe===void 0)if(j==="false"||j===0||j===null)oe=!1;else if(j==="true"||j===1)oe=!0;else return Wr.errors=[{instancePath:e+"/ignoreTrailingSlash",schemaPath:"#/properties/ignoreTrailingSlash/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;oe!==void 0&&(j=oe,t!==void 0&&(t.ignoreTrailingSlash=oe))}var o=J===a;if(o){let oe=t.ignoreDuplicateSlashes,ue=a;if(typeof oe!="boolean"){let we;if(we===void 0)if(oe==="false"||oe===0||oe===null)we=!1;else if(oe==="true"||oe===1)we=!0;else return Wr.errors=[{instancePath:e+"/ignoreDuplicateSlashes",schemaPath:"#/properties/ignoreDuplicateSlashes/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;we!==void 0&&(oe=we,t!==void 0&&(t.ignoreDuplicateSlashes=we))}var o=ue===a;if(o){let we=t.disableRequestLogging,qe=a;if(typeof we!="boolean"){let _e;if(_e===void 0)if(we==="false"||we===0||we===null)_e=!1;else if(we==="true"||we===1)_e=!0;else return Wr.errors=[{instancePath:e+"/disableRequestLogging",schemaPath:"#/properties/disableRequestLogging/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;_e!==void 0&&(we=_e,t!==void 0&&(t.disableRequestLogging=_e))}var o=qe===a;if(o){let _e=t.jsonShorthand,U=a;if(typeof _e!="boolean"){let V;if(V===void 0)if(_e==="false"||_e===0||_e===null)V=!1;else if(_e==="true"||_e===1)V=!0;else return Wr.errors=[{instancePath:e+"/jsonShorthand",schemaPath:"#/properties/jsonShorthand/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;V!==void 0&&(_e=V,t!==void 0&&(t.jsonShorthand=V))}var o=U===a;if(o){let V=t.maxParamLength,q=a;if(!(typeof V=="number"&&!(V%1)&&!isNaN(V)&&isFinite(V))){let ee=typeof V,ne;if(ne===void 0)if(ee==="boolean"||V===null||ee==="string"&&V&&V==+V&&!(V%1))ne=+V;else return Wr.errors=[{instancePath:e+"/maxParamLength",schemaPath:"#/properties/maxParamLength/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;ne!==void 0&&(V=ne,t!==void 0&&(t.maxParamLength=ne))}var o=q===a;if(o){let ee=t.onProtoPoisoning,ne=a;if(typeof ee!="string"){let X=typeof ee,ie;if(ie===void 0)if(X=="number"||X=="boolean")ie=""+ee;else if(ee===null)ie="";else return Wr.errors=[{instancePath:e+"/onProtoPoisoning",schemaPath:"#/properties/onProtoPoisoning/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;ie!==void 0&&(ee=ie,t!==void 0&&(t.onProtoPoisoning=ie))}var o=ne===a;if(o){let X=t.onConstructorPoisoning,ie=a;if(typeof X!="string"){let fe=typeof X,Ne;if(Ne===void 0)if(fe=="number"||fe=="boolean")Ne=""+X;else if(X===null)Ne="";else return Wr.errors=[{instancePath:e+"/onConstructorPoisoning",schemaPath:"#/properties/onConstructorPoisoning/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;Ne!==void 0&&(X=Ne,t!==void 0&&(t.onConstructorPoisoning=Ne))}var o=ie===a;if(o){let fe=t.pluginTimeout,Ne=a;if(!(typeof fe=="number"&&!(fe%1)&&!isNaN(fe)&&isFinite(fe))){let Ue=typeof fe,ze;if(ze===void 0)if(Ue==="boolean"||fe===null||Ue==="string"&&fe&&fe==+fe&&!(fe%1))ze=+fe;else return Wr.errors=[{instancePath:e+"/pluginTimeout",schemaPath:"#/properties/pluginTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;ze!==void 0&&(fe=ze,t!==void 0&&(t.pluginTimeout=ze))}var o=Ne===a;if(o){let Ue=t.requestIdHeader,ze=a,Ye=a,Ze=!1,nt=a;if(Ue!==!1){let tt={instancePath:e+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/0/enum",keyword:"enum",params:{allowedValues:nwe.properties.requestIdHeader.anyOf[0].enum},message:"must be equal to one of the allowed values"};i===null?i=[tt]:i.push(tt),a++}var f=nt===a;if(Ze=Ze||f,!Ze){let tt=a;if(typeof Ue!="string"){let lt=typeof Ue,ke;if(ke===void 0)if(lt=="number"||lt=="boolean")ke=""+Ue;else if(Ue===null)ke="";else{let Je={instancePath:e+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[Je]:i.push(Je),a++}ke!==void 0&&(Ue=ke,t!==void 0&&(t.requestIdHeader=ke))}var f=tt===a;Ze=Ze||f}if(Ze)a=Ye,i!==null&&(Ye?i.length=Ye:i=null);else{let tt={instancePath:e+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[tt]:i.push(tt),a++,Wr.errors=i,!1}var o=ze===a;if(o){let tt=t.requestIdLogLabel,Pt=a;if(typeof tt!="string"){let ke=typeof tt,Je;if(Je===void 0)if(ke=="number"||ke=="boolean")Je=""+tt;else if(tt===null)Je="";else return Wr.errors=[{instancePath:e+"/requestIdLogLabel",schemaPath:"#/properties/requestIdLogLabel/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;Je!==void 0&&(tt=Je,t!==void 0&&(t.requestIdLogLabel=Je))}var o=Pt===a;if(o){let ke=t.http2SessionTimeout,Je=a;if(!(typeof ke=="number"&&!(ke%1)&&!isNaN(ke)&&isFinite(ke))){let rt=typeof ke,bt;if(bt===void 0)if(rt==="boolean"||ke===null||rt==="string"&&ke&&ke==+ke&&!(ke%1))bt=+ke;else return Wr.errors=[{instancePath:e+"/http2SessionTimeout",schemaPath:"#/properties/http2SessionTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;bt!==void 0&&(ke=bt,t!==void 0&&(t.http2SessionTimeout=bt))}var o=Je===a;if(o){let rt=t.exposeHeadRoutes,bt=a;if(typeof rt!="boolean"){let vt;if(vt===void 0)if(rt==="false"||rt===0||rt===null)vt=!1;else if(rt==="true"||rt===1)vt=!0;else return Wr.errors=[{instancePath:e+"/exposeHeadRoutes",schemaPath:"#/properties/exposeHeadRoutes/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;vt!==void 0&&(rt=vt,t!==void 0&&(t.exposeHeadRoutes=vt))}var o=bt===a;if(o){let vt=t.useSemicolonDelimiter,_r=a;if(typeof vt!="boolean"){let Pr;if(Pr===void 0)if(vt==="false"||vt===0||vt===null)Pr=!1;else if(vt==="true"||vt===1)Pr=!0;else return Wr.errors=[{instancePath:e+"/useSemicolonDelimiter",schemaPath:"#/properties/useSemicolonDelimiter/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;Pr!==void 0&&(vt=Pr,t!==void 0&&(t.useSemicolonDelimiter=Pr))}var o=_r===a;if(o){if(t.versioning!==void 0){let Pr=t.versioning,js=a;if(a===js)if(Pr&&typeof Pr=="object"&&!Array.isArray(Pr)){let ys;if(Pr.storage===void 0&&(ys="storage")||Pr.deriveVersion===void 0&&(ys="deriveVersion"))return Wr.errors=[{instancePath:e+"/versioning",schemaPath:"#/properties/versioning/required",keyword:"required",params:{missingProperty:ys},message:"must have required property '"+ys+"'"}],!1}else return Wr.errors=[{instancePath:e+"/versioning",schemaPath:"#/properties/versioning/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=js===a}else var o=!0;if(o)if(t.constraints!==void 0){let Pr=t.constraints,js=a;if(a===js)if(Pr&&typeof Pr=="object"&&!Array.isArray(Pr))for(let ys in Pr){let Qs=Pr[ys],Bu=a;if(a===Bu)if(Qs&&typeof Qs=="object"&&!Array.isArray(Qs)){let Ao;if(Qs.name===void 0&&(Ao="name")||Qs.storage===void 0&&(Ao="storage")||Qs.validate===void 0&&(Ao="validate")||Qs.deriveConstraint===void 0&&(Ao="deriveConstraint"))return Wr.errors=[{instancePath:e+"/constraints/"+ys.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/constraints/additionalProperties/required",keyword:"required",params:{missingProperty:Ao},message:"must have required property '"+Ao+"'"}],!1;if(Qs.name!==void 0){let Dc=Qs.name;if(typeof Dc!="string"){let Ta=typeof Dc,yn;if(yn===void 0)if(Ta=="number"||Ta=="boolean")yn=""+Dc;else if(Dc===null)yn="";else return Wr.errors=[{instancePath:e+"/constraints/"+ys.replace(/~/g,"~0").replace(/\//g,"~1")+"/name",schemaPath:"#/properties/constraints/additionalProperties/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;yn!==void 0&&(Dc=yn,Qs!==void 0&&(Qs.name=yn))}}}else return Wr.errors=[{instancePath:e+"/constraints/"+ys.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/constraints/additionalProperties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var p=Bu===a;if(!p)break}else return Wr.errors=[{instancePath:e+"/constraints",schemaPath:"#/properties/constraints/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=js===a}else var o=!0}}}}}}}}}}}}}}}}}}}}}}}}}else return Wr.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;return Wr.errors=i,a===0}jP.exports.defaultInitOptions={connectionTimeout:0,keepAliveTimeout:72e3,maxRequestsPerSocket:0,requestTimeout:0,bodyLimit:1048576,caseSensitive:!0,allowUnsafeRegex:!1,disableRequestLogging:!1,jsonShorthand:!0,ignoreTrailingSlash:!1,ignoreDuplicateSlashes:!1,maxParamLength:100,onProtoPoisoning:"error",onConstructorPoisoning:"error",pluginTimeout:1e4,requestIdHeader:"request-id",requestIdLogLabel:"reqId",http2SessionTimeout:72e3,exposeHeadRoutes:!0,useSemicolonDelimiter:!0}});var iwe=E((O4r,QP)=>{"use strict";var HP=swe(),E7t=wR()({circles:!0,proto:!1}),{FST_ERR_INIT_OPTS_INVALID:_7t}=Ci();function S7t(t){let e=E7t(t);if(!HP(e)){let r=new _7t(JSON.stringify(HP.errors.map(n=>n.message)));throw r.errors=HP.errors,r}return K9(e)}function K9(t){let e=Object.getOwnPropertyNames(t);for(let r of e){let n=t[r];ArrayBuffer.isView(n)&&!(n instanceof DataView)||(t[r]=n&&typeof n=="object"?K9(n):n)}return Object.freeze(t)}QP.exports=S7t;QP.exports.defaultInitOptions=HP.defaultInitOptions;QP.exports.utils={deepFreezeObject:K9}});var mwe=E((P4r,pwe)=>{"use strict";var{kAvvioBoot:v7t,kChildren:awe,kRoutePrefix:owe,kLogLevel:cwe,kLogSerializers:V9,kHooks:z9,kSchemaController:tx,kContentTypeParser:uwe,kReply:lwe,kRequest:dwe,kFourOhFour:I7t,kPluginNameChain:fwe}=Gs(),C7t=EN(),T7t=WN(),w7t=x9(),R7t=z$(),{buildHooks:N7t}=cp(),bS=I9();pwe.exports=function(e,r,n){let s=bS.registerPlugin.call(e,r),i=bS.getPluginName(r)||bS.getFuncPreview(r);if(s)return e[fwe].push(i),e;let a=Object.create(e);e[awe].push(a),a.ready=e[v7t].bind(a),a[awe]=[],a[lwe]=C7t.buildReply(a[lwe]),a[dwe]=T7t.buildRequest(a[dwe]),a[uwe]=R7t.helpers.buildContentTypeParser(a[uwe]),a[z9]=N7t(a[z9]),a[owe]=O7t(a[owe],n.prefix),a[cwe]=n.logLevel||a[cwe],a[tx]=w7t.buildSchemaController(e[tx]),a.getSchema=a[tx].getSchema.bind(a[tx]),a.getSchemas=a[tx].getSchemas.bind(a[tx]),a[bS.kRegisteredPlugins]=Object.create(a[bS.kRegisteredPlugins]),a[fwe]=[i],(a[V9]||n.logSerializers)&&(a[V9]=Object.assign(Object.create(a[V9]),n.logSerializers)),n.prefix&&a[I7t].arrange404(a);for(let o of a[z9].onRegister)o.call(this,a,n);return a};function O7t(t,e){return e?(t.endsWith("/")&&e[0]==="/"?e=e.slice(1):e[0]!=="/"&&(e="/"+e),t+e):t}});var gwe=E((k4r,hwe)=>{"use strict";hwe.exports=function(){return{[Symbol.iterator]:function*(){},add(){},delete(){},has(){return!0}}}});var xwe=E(Y9=>{"use strict";Y9.parse=W7t;Y9.serialize=$7t;var P7t=Object.prototype.toString,k7t=Object.prototype.hasOwnProperty,D7t=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,B7t=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,L7t=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,M7t=/^[\u0020-\u003A\u003D-\u007E]*$/;function W7t(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");var r={},n=t.length;if(n<2)return r;var s=e&&e.decode||F7t,i=0,a=0,o=0;do{if(a=t.indexOf("=",i),a===-1)break;if(o=t.indexOf(";",i),o===-1)o=n;else if(a>o){i=t.lastIndexOf(";",a-1)+1;continue}var c=Awe(t,i,a),u=ywe(t,a,c),l=t.slice(c,u);if(!k7t.call(r,l)){var d=Awe(t,a+1,o),f=ywe(t,o,d);t.charCodeAt(d)===34&&t.charCodeAt(f-1)===34&&(d++,f--);var p=t.slice(d,f);r[l]=q7t(p,s)}i=o+1}while(i<n);return r}function Awe(t,e,r){do{var n=t.charCodeAt(e);if(n!==32&&n!==9)return e}while(++e<r);return r}function ywe(t,e,r){for(;e>r;){var n=t.charCodeAt(--e);if(n!==32&&n!==9)return e+1}return r}function $7t(t,e,r){var n=r&&r.encode||encodeURIComponent;if(typeof n!="function")throw new TypeError("option encode is invalid");if(!D7t.test(t))throw new TypeError("argument name is invalid");var s=n(e);if(!B7t.test(s))throw new TypeError("argument val is invalid");var i=t+"="+s;if(!r)return i;if(r.maxAge!=null){var a=Math.floor(r.maxAge);if(!isFinite(a))throw new TypeError("option maxAge is invalid");i+="; Max-Age="+a}if(r.domain){if(!L7t.test(r.domain))throw new TypeError("option domain is invalid");i+="; Domain="+r.domain}if(r.path){if(!M7t.test(r.path))throw new TypeError("option path is invalid");i+="; Path="+r.path}if(r.expires){var o=r.expires;if(!U7t(o)||isNaN(o.valueOf()))throw new TypeError("option expires is invalid");i+="; Expires="+o.toUTCString()}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.partitioned&&(i+="; Partitioned"),r.priority){var c=typeof r.priority=="string"?r.priority.toLowerCase():r.priority;switch(c){case"low":i+="; Priority=Low";break;case"medium":i+="; Priority=Medium";break;case"high":i+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(r.sameSite){var u=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(u){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return i}function F7t(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}function U7t(t){return P7t.call(t)==="[object Date]"}function q7t(t,e){try{return e(t)}catch{return t}}});var _we=E((B4r,Ewe)=>{"use strict";var{URL:bwe}=require("node:url"),J9="http://localhost";Ewe.exports=function(e,r){(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]")&&e.startsWith("//")&&(e=J9+e);let n=typeof e=="object"?Object.assign(new bwe(J9),e):new bwe(e,J9);if(typeof r=="string"){r=new URLSearchParams(r);for(let s of r.keys()){n.searchParams.delete(s);for(let i of r.getAll(s))n.searchParams.append(s,i)}}else{let s=Object.assign({},e.query,r);for(let i in s){let a=s[i];if(Array.isArray(a)){n.searchParams.delete(i);for(let o of a)n.searchParams.append(i,o)}else n.searchParams.set(i,a)}}return n}});var Swe=E((L4r,X9)=>{"use strict";var{randomUUID:j7t}=require("node:crypto"),{Readable:H7t}=require("node:stream"),rx;function Q7t(t){return t&&typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&t[Symbol.toStringTag]==="FormData"}function G7t(t){rx=rx??new TextEncoder;let e=`----formdata-${j7t()}`,r=`--${e}\r
|
|
Content-Disposition: form-data`;let n=c=>c.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),s=c=>c.replace(/\r?\n|\r/g,`\r
|
|
`),i=new Uint8Array([13,10]);async function*a(){for(let[c,u]of t)if(typeof u=="string")yield rx.encode(`${r}; name="${n(s(c))}"\r
|
|
\r
|
|
`),yield rx.encode(`${s(u)}\r
|
|
`);else{let l=`${r}; name="${n(s(c))}"`;u.name&&(l+=`; filename="${n(u.name)}"`),l+=`\r
|
|
Content-Type: ${u.type||"application/octet-stream"}\r
|
|
\r
|
|
`,yield rx.encode(l),u.stream?yield*u.stream():yield u,yield i}yield rx.encode(`--${e}--`)}return{stream:H7t.from(a()),contentType:`multipart/form-data; boundary=${e}`}}X9.exports.isFormDataLike=Q7t;X9.exports.formDataToStream=G7t});var Cwe=E((M4r,GP)=>{"use strict";var{Readable:vwe,addAbortSignal:K7t}=require("node:stream"),ej=require("node:util"),V7t=xwe(),z7t=require("node:assert"),{createDeprecation:Y7t}=G6(),J7t=_we(),{isFormDataLike:X7t,formDataToStream:Z7t}=Swe(),{EventEmitter:eqt}=require("node:events"),tqt=Y7t({name:"FastifyDeprecationLightMyRequest",code:"FST_LIGHTMYREQUEST_DEP01",message:'You are accessing "request.connection", use "request.socket" instead.'});function rqt(t){return t.port?t.host:t.hostname+(t.protocol==="https:"?":443":":80")}var Z9=class extends eqt{constructor(e){super(),this.remoteAddress=e}};function Iwe(t){return new e(this);function e(r){cl.call(r,{...t,Request:void 0}),Object.assign(this,r);for(let n of Object.keys(cl.prototype))this.constructor.prototype[n]=cl.prototype[n];return ej.inherits(this.constructor,t.Request),this}}function cl(t){vwe.call(this,{autoDestroy:!1});let e=J7t(t.url||t.path,t.query);this.url=e.pathname+e.search,this.aborted=!1,this.httpVersionMajor=1,this.httpVersionMinor=1,this.httpVersion="1.1",this.method=t.method?t.method.toUpperCase():"GET",this.headers={},this.rawHeaders=[];let r=t.headers||{};for(let a in r){let o=a.toLowerCase();if((o==="user-agent"||o==="content-type")&&r[a]===void 0){this.headers[o]=void 0;continue}let c=r[a];z7t(c!==void 0,'invalid value "undefined" for header '+a),this.headers[o]=""+c}if("user-agent"in this.headers||(this.headers["user-agent"]="lightMyRequest"),this.headers.host=this.headers.host||t.authority||rqt(e),t.cookies){let{cookies:a}=t,o=Object.keys(a).map(c=>V7t.serialize(c,a[c]));this.headers.cookie&&o.unshift(this.headers.cookie),this.headers.cookie=o.join("; ")}this.socket=new Z9(t.remoteAddress||"127.0.0.1"),Object.defineProperty(this,"connection",{get(){return tqt(),this.socket},configurable:!0});let n=t.payload||t.body||null,s=n&&typeof n.resume=="function";if(X7t(n)){let a=Z7t(n);n=a.stream,s=!0,this.headers["content-type"]=a.contentType}n&&typeof n!="string"&&!s&&!Buffer.isBuffer(n)&&(n=JSON.stringify(n),"content-type"in this.headers||(this.headers["content-type"]="application/json")),n&&!s&&!Object.prototype.hasOwnProperty.call(this.headers,"content-length")&&(this.headers["content-length"]=(Buffer.isBuffer(n)?n.length:Buffer.byteLength(n)).toString());for(let a of Object.keys(this.headers))this.rawHeaders.push(a,this.headers[a]);this._lightMyRequest={payload:n,isDone:!1,simulate:t.simulate||{}};let i=t.signal;return i&&K7t(i,this),this}ej.inherits(cl,vwe);ej.inherits(Iwe,cl);cl.prototype.prepare=function(t){let e=this._lightMyRequest.payload;if(!e||typeof e.resume!="function")return t();let r=[];e.on("data",n=>r.push(Buffer.from(n))),e.on("end",()=>{let n=Buffer.concat(r);return this.headers["content-length"]=this.headers["content-length"]||""+n.length,this._lightMyRequest.payload=n,t()}),e.resume()};cl.prototype._read=function(t){setImmediate(()=>{if(this._lightMyRequest.isDone){this._lightMyRequest.simulate.end!==!1&&this.push(null);return}this._lightMyRequest.isDone=!0,this._lightMyRequest.payload&&(this._lightMyRequest.simulate.split?(this.push(this._lightMyRequest.payload.slice(0,1)),this.push(this._lightMyRequest.payload.slice(1))):this.push(this._lightMyRequest.payload)),this._lightMyRequest.simulate.error&&this.emit("error",new Error("Simulated")),this._lightMyRequest.simulate.close&&this.emit("close"),this._lightMyRequest.simulate.end!==!1&&this.push(null)})};cl.prototype.destroy=function(t){this.destroyed||this._lightMyRequest.isDone||(this.destroyed=!0,t&&(this._error=!0,process.nextTick(()=>this.emit("error",t))),process.nextTick(()=>this.emit("close")))};GP.exports=cl;GP.exports.Request=cl;GP.exports.CustomRequest=Iwe});var wwe=E((W4r,ES)=>{"use strict";var KP={decodeValues:!0,map:!1,silent:!1};function tj(t){return typeof t!="string"||t in{}}function rj(){return Object.create(null)}function nj(t){return typeof t=="string"&&!!t.trim()}function sj(t,e){var r=t.split(";").filter(nj),n=r.shift(),s=nqt(n),i=s.name,a=s.value;if(e=e?Object.assign({},KP,e):KP,tj(i))return null;try{a=e.decodeValues?decodeURIComponent(a):a}catch(c){console.error("set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",c)}var o=rj();return o.name=i,o.value=a,r.forEach(function(c){var u=c.split("="),l=u.shift().trimLeft().toLowerCase();if(!tj(l)){var d=u.join("=");if(l==="expires")o.expires=new Date(d);else if(l==="max-age"){var f=parseInt(d,10);Number.isNaN(f)||(o.maxAge=f)}else l==="secure"?o.secure=!0:l==="httponly"?o.httpOnly=!0:l==="samesite"?o.sameSite=d:l==="partitioned"?o.partitioned=!0:l&&(o[l]=d)}}),o}function nqt(t){var e="",r="",n=t.split("=");return n.length>1?(e=n.shift(),r=n.join("=")):r=t,{name:e,value:r}}function Twe(t,e){if(e=e?Object.assign({},KP,e):KP,!t)return e.map?rj():[];if(t.headers)if(typeof t.headers.getSetCookie=="function")t=t.headers.getSetCookie();else if(t.headers["set-cookie"])t=t.headers["set-cookie"];else{var r=t.headers[Object.keys(t.headers).find(function(s){return s.toLowerCase()==="set-cookie"})];!r&&t.headers.cookie&&!e.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),t=r}if(Array.isArray(t)||(t=[t]),e.map){var n=rj();return t.filter(nj).reduce(function(s,i){var a=sj(i,e);return a&&!tj(a.name)&&(s[a.name]=a),s},n)}else return t.filter(nj).map(function(s){return sj(s,e)}).filter(Boolean)}function sqt(t){if(Array.isArray(t))return t;if(typeof t!="string")return[];var e=[],r=0,n,s,i,a,o;function c(){for(;r<t.length&&/\s/.test(t.charAt(r));)r+=1;return r<t.length}function u(){return s=t.charAt(r),s!=="="&&s!==";"&&s!==","}for(;r<t.length;){for(n=r,o=!1;c();)if(s=t.charAt(r),s===","){for(i=r,r+=1,c(),a=r;r<t.length&&u();)r+=1;r<t.length&&t.charAt(r)==="="?(o=!0,r=a,e.push(t.substring(n,i)),n=r):r=i+1}else r+=1;(!o||r>=t.length)&&e.push(t.substring(n,t.length))}return e}ES.exports=Twe;ES.exports.parse=Twe;ES.exports.parseString=sj;ES.exports.splitCookiesString=sqt});var Owe=E(($4r,Nwe)=>{"use strict";var _S=require("node:http"),{Writable:iqt,Readable:aqt}=require("node:stream"),oqt=require("node:util"),cqt=wwe();function Hp(t,e,r){_S.ServerResponse.call(this,t),this._lightMyRequest={headers:null,trailers:{},payloadChunks:[]},this.setHeader("foo","bar"),this.removeHeader("foo"),this.assignSocket(lqt()),this._promiseCallback=typeof r=="function";let n=!1,s=a=>{if(n=!0,this._promiseCallback)return process.nextTick(()=>e(a));process.nextTick(()=>e(null,a))},i=a=>{if(!n){if(n=!0,this._promiseCallback)return process.nextTick(()=>r(a));process.nextTick(()=>e(a,null))}};this.once("finish",()=>{let a=uqt(this);a.raw.req=t,s(a)}),this.connection.once("error",i),this.once("error",i),this.once("close",i)}oqt.inherits(Hp,_S.ServerResponse);Hp.prototype.setTimeout=function(t,e){return this.timeoutHandle=setTimeout(()=>{this.emit("timeout")},t),this.on("timeout",e),this};Hp.prototype.writeHead=function(){let t=_S.ServerResponse.prototype.writeHead.apply(this,arguments);return Rwe(this),t};Hp.prototype.write=function(t,e,r){return this.timeoutHandle&&clearTimeout(this.timeoutHandle),_S.ServerResponse.prototype.write.call(this,t,e,r),this._lightMyRequest.payloadChunks.push(Buffer.from(t,e)),!0};Hp.prototype.end=function(t,e,r){t&&this.write(t,e),_S.ServerResponse.prototype.end.call(this,r),this.emit("finish"),this.destroy()};Hp.prototype.destroy=function(t){this.destroyed||(this.destroyed=!0,t&&process.nextTick(()=>this.emit("error",t)),process.nextTick(()=>this.emit("close")))};Hp.prototype.addTrailers=function(t){for(let e in t)this._lightMyRequest.trailers[e.toLowerCase().trim()]=t[e].toString().trim()};function uqt(t){t._lightMyRequest.headers===null&&Rwe(t),dqt(t);let e={raw:{res:t},headers:t._lightMyRequest.headers,statusCode:t.statusCode,statusMessage:t.statusMessage,trailers:{},get cookies(){return cqt.parse(this)}},r=Buffer.concat(t._lightMyRequest.payloadChunks);return e.rawPayload=r,e.payload=r.toString(),e.body=e.payload,e.trailers=t._lightMyRequest.trailers,e.json=function(){return JSON.parse(e.payload)},e.stream=function(){return aqt.from(t._lightMyRequest.payloadChunks)},e}function lqt(){return new iqt({write(t,e,r){setImmediate(r)}})}function dqt(t){let e=t._lightMyRequest.headers;for(let r of Object.keys(e)){let n=e[r];Array.isArray(n)?e[r]=n.map(s=>""+s):e[r]=""+n}}function Rwe(t){t._lightMyRequest.headers=Object.assign({},t.getHeaders()),["Date","Connection","Transfer-Encoding"].forEach(e=>{let r=new RegExp("\\r\\n"+e+": ([^\\r]*)\\r\\n"),n=t._header.match(r);n&&(t._lightMyRequest.headers[e.toLowerCase()]=n[1])})}Nwe.exports=Hp});var Pwe=E((F4r,ij)=>{"use strict";ij.exports=xs;ij.exports.default=xs;var fqt={type:"object",properties:{url:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:!0,required:["pathname"]}]},path:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:!0,required:["pathname"]}]},cookies:{type:"object",additionalProperties:!0},headers:{type:"object",additionalProperties:!0},query:{anyOf:[{type:"object",additionalProperties:!0},{type:"string"}]},simulate:{type:"object",properties:{end:{type:"boolean"},split:{type:"boolean"},error:{type:"boolean"},close:{type:"boolean"}}},authority:{type:"string"},remoteAddress:{type:"string"},method:{type:"string",enum:["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE","acl","bind","checkout","connect","copy","delete","get","head","link","lock","m-search","merge","mkactivity","mkcalendar","mkcol","move","notify","options","patch","post","propfind","proppatch","purge","put","rebind","report","search","source","subscribe","trace","unbind","unlink","unlock","unsubscribe"]},validate:{type:"boolean"}},additionalProperties:!0,oneOf:[{required:["url"]},{required:["path"]}]};function xs(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0,o=a,c=!1,u=null,l=a;if(t&&typeof t=="object"&&!Array.isArray(t)){let x;if(t.url===void 0&&(x="url")){let v={instancePath:e,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty:x},message:"must have required property '"+x+"'"};i===null?i=[v]:i.push(v),a++}}var f=l===a;f&&(c=!0,u=0);let d=a;if(t&&typeof t=="object"&&!Array.isArray(t)){let x;if(t.path===void 0&&(x="path")){let v={instancePath:e,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty:x},message:"must have required property '"+x+"'"};i===null?i=[v]:i.push(v),a++}}var f=d===a;if(f&&c?(c=!1,u=[u,1]):f&&(c=!0,u=1),c)a=o,i!==null&&(o?i.length=o:i=null);else{let x={instancePath:e,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas:u},message:"must match exactly one schema in oneOf"};return i===null?i=[x]:i.push(x),a++,xs.errors=i,!1}if(a===0)if(t&&typeof t=="object"&&!Array.isArray(t)){if(t.url!==void 0){let x=t.url,v=a,I=a,R=!1,w=null,N=a;if(typeof x!="string"){let B=typeof x,M;if(M===void 0)if(B=="number"||B=="boolean")M=""+x;else if(x===null)M="";else{let D={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[D]:i.push(D),a++}M!==void 0&&(x=M,t!==void 0&&(t.url=M))}var m=N===a;m&&(R=!0,w=0);let P=a;if(a===P)if(x&&typeof x=="object"&&!Array.isArray(x)){let B;if(x.pathname===void 0&&(B="pathname")){let M={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf/1/required",keyword:"required",params:{missingProperty:B},message:"must have required property '"+B+"'"};i===null?i=[M]:i.push(M),a++}else{if(x.protocol!==void 0){let M=x.protocol,D=a;if(typeof M!="string"){let L=typeof M,Z;if(Z===void 0)if(L=="number"||L=="boolean")Z=""+M;else if(M===null)Z="";else{let W={instancePath:e+"/url/protocol",schemaPath:"#/properties/url/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[W]:i.push(W),a++}Z!==void 0&&(M=Z,x!==void 0&&(x.protocol=Z))}var p=D===a}else var p=!0;if(p){if(x.hostname!==void 0){let M=x.hostname,D=a;if(typeof M!="string"){let Z=typeof M,W;if(W===void 0)if(Z=="number"||Z=="boolean")W=""+M;else if(M===null)W="";else{let F={instancePath:e+"/url/hostname",schemaPath:"#/properties/url/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[F]:i.push(F),a++}W!==void 0&&(M=W,x!==void 0&&(x.hostname=W))}var p=D===a}else var p=!0;if(p)if(x.pathname!==void 0){let M=x.pathname,D=a;if(typeof M!="string"){let Z=typeof M,W;if(W===void 0)if(Z=="number"||Z=="boolean")W=""+M;else if(M===null)W="";else{let F={instancePath:e+"/url/pathname",schemaPath:"#/properties/url/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[F]:i.push(F),a++}W!==void 0&&(M=W,x!==void 0&&(x.pathname=W))}var p=D===a}else var p=!0}}}else{let B={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[B]:i.push(B),a++}var m=P===a;if(m&&R?(R=!1,w=[w,1]):m&&(R=!0,w=1),R)a=I,i!==null&&(I?i.length=I:i=null);else{let B={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf",keyword:"oneOf",params:{passingSchemas:w},message:"must match exactly one schema in oneOf"};return i===null?i=[B]:i.push(B),a++,xs.errors=i,!1}var h=v===a}else var h=!0;if(h){if(t.path!==void 0){let x=t.path,v=a,I=a,R=!1,w=null,N=a;if(typeof x!="string"){let M=typeof x,D;if(D===void 0)if(M=="number"||M=="boolean")D=""+x;else if(x===null)D="";else{let L={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[L]:i.push(L),a++}D!==void 0&&(x=D,t!==void 0&&(t.path=D))}var g=N===a;g&&(R=!0,w=0);let P=a;if(a===P)if(x&&typeof x=="object"&&!Array.isArray(x)){let M;if(x.pathname===void 0&&(M="pathname")){let D={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf/1/required",keyword:"required",params:{missingProperty:M},message:"must have required property '"+M+"'"};i===null?i=[D]:i.push(D),a++}else{if(x.protocol!==void 0){let D=x.protocol,L=a;if(typeof D!="string"){let Z=typeof D,W;if(W===void 0)if(Z=="number"||Z=="boolean")W=""+D;else if(D===null)W="";else{let F={instancePath:e+"/path/protocol",schemaPath:"#/properties/path/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[F]:i.push(F),a++}W!==void 0&&(D=W,x!==void 0&&(x.protocol=W))}var A=L===a}else var A=!0;if(A){if(x.hostname!==void 0){let D=x.hostname,L=a;if(typeof D!="string"){let W=typeof D,F;if(F===void 0)if(W=="number"||W=="boolean")F=""+D;else if(D===null)F="";else{let K={instancePath:e+"/path/hostname",schemaPath:"#/properties/path/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[K]:i.push(K),a++}F!==void 0&&(D=F,x!==void 0&&(x.hostname=F))}var A=L===a}else var A=!0;if(A)if(x.pathname!==void 0){let D=x.pathname,L=a;if(typeof D!="string"){let W=typeof D,F;if(F===void 0)if(W=="number"||W=="boolean")F=""+D;else if(D===null)F="";else{let K={instancePath:e+"/path/pathname",schemaPath:"#/properties/path/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[K]:i.push(K),a++}F!==void 0&&(D=F,x!==void 0&&(x.pathname=F))}var A=L===a}else var A=!0}}}else{let M={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[M]:i.push(M),a++}var g=P===a;if(g&&R?(R=!1,w=[w,1]):g&&(R=!0,w=1),R)a=I,i!==null&&(I?i.length=I:i=null);else{let M={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf",keyword:"oneOf",params:{passingSchemas:w},message:"must match exactly one schema in oneOf"};return i===null?i=[M]:i.push(M),a++,xs.errors=i,!1}var h=v===a}else var h=!0;if(h){if(t.cookies!==void 0){let x=t.cookies,v=a;if(a===v&&!(x&&typeof x=="object"&&!Array.isArray(x)))return xs.errors=[{instancePath:e+"/cookies",schemaPath:"#/properties/cookies/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=v===a}else var h=!0;if(h){if(t.headers!==void 0){let x=t.headers,v=a;if(a===v&&!(x&&typeof x=="object"&&!Array.isArray(x)))return xs.errors=[{instancePath:e+"/headers",schemaPath:"#/properties/headers/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=v===a}else var h=!0;if(h){if(t.query!==void 0){let x=t.query,v=a,I=a,R=!1,w=a;if(a===w&&!(x&&typeof x=="object"&&!Array.isArray(x))){let P={instancePath:e+"/query",schemaPath:"#/properties/query/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[P]:i.push(P),a++}var b=w===a;if(R=R||b,!R){let P=a;if(typeof x!="string"){let M=typeof x,D;if(D===void 0)if(M=="number"||M=="boolean")D=""+x;else if(x===null)D="";else{let L={instancePath:e+"/query",schemaPath:"#/properties/query/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[L]:i.push(L),a++}D!==void 0&&(x=D,t!==void 0&&(t.query=D))}var b=P===a;R=R||b}if(R)a=I,i!==null&&(I?i.length=I:i=null);else{let P={instancePath:e+"/query",schemaPath:"#/properties/query/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[P]:i.push(P),a++,xs.errors=i,!1}var h=v===a}else var h=!0;if(h){if(t.simulate!==void 0){let x=t.simulate,v=a;if(a===v)if(x&&typeof x=="object"&&!Array.isArray(x)){if(x.end!==void 0){let R=x.end,w=a;if(typeof R!="boolean"){let N;if(N===void 0)if(R==="false"||R===0||R===null)N=!1;else if(R==="true"||R===1)N=!0;else return xs.errors=[{instancePath:e+"/simulate/end",schemaPath:"#/properties/simulate/properties/end/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;N!==void 0&&(R=N,x!==void 0&&(x.end=N))}var y=w===a}else var y=!0;if(y){if(x.split!==void 0){let R=x.split,w=a;if(typeof R!="boolean"){let P;if(P===void 0)if(R==="false"||R===0||R===null)P=!1;else if(R==="true"||R===1)P=!0;else return xs.errors=[{instancePath:e+"/simulate/split",schemaPath:"#/properties/simulate/properties/split/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;P!==void 0&&(R=P,x!==void 0&&(x.split=P))}var y=w===a}else var y=!0;if(y){if(x.error!==void 0){let R=x.error,w=a;if(typeof R!="boolean"){let P;if(P===void 0)if(R==="false"||R===0||R===null)P=!1;else if(R==="true"||R===1)P=!0;else return xs.errors=[{instancePath:e+"/simulate/error",schemaPath:"#/properties/simulate/properties/error/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;P!==void 0&&(R=P,x!==void 0&&(x.error=P))}var y=w===a}else var y=!0;if(y)if(x.close!==void 0){let R=x.close,w=a;if(typeof R!="boolean"){let P;if(P===void 0)if(R==="false"||R===0||R===null)P=!1;else if(R==="true"||R===1)P=!0;else return xs.errors=[{instancePath:e+"/simulate/close",schemaPath:"#/properties/simulate/properties/close/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;P!==void 0&&(R=P,x!==void 0&&(x.close=P))}var y=w===a}else var y=!0}}}else return xs.errors=[{instancePath:e+"/simulate",schemaPath:"#/properties/simulate/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=v===a}else var h=!0;if(h){if(t.authority!==void 0){let x=t.authority,v=a;if(typeof x!="string"){let R=typeof x,w;if(w===void 0)if(R=="number"||R=="boolean")w=""+x;else if(x===null)w="";else return xs.errors=[{instancePath:e+"/authority",schemaPath:"#/properties/authority/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.authority=w))}var h=v===a}else var h=!0;if(h){if(t.remoteAddress!==void 0){let x=t.remoteAddress,v=a;if(typeof x!="string"){let R=typeof x,w;if(w===void 0)if(R=="number"||R=="boolean")w=""+x;else if(x===null)w="";else return xs.errors=[{instancePath:e+"/remoteAddress",schemaPath:"#/properties/remoteAddress/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.remoteAddress=w))}var h=v===a}else var h=!0;if(h){if(t.method!==void 0){let x=t.method,v=a;if(typeof x!="string"){let R=typeof x,w;if(w===void 0)if(R=="number"||R=="boolean")w=""+x;else if(x===null)w="";else return xs.errors=[{instancePath:e+"/method",schemaPath:"#/properties/method/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.method=w))}if(!(x==="ACL"||x==="BIND"||x==="CHECKOUT"||x==="CONNECT"||x==="COPY"||x==="DELETE"||x==="GET"||x==="HEAD"||x==="LINK"||x==="LOCK"||x==="M-SEARCH"||x==="MERGE"||x==="MKACTIVITY"||x==="MKCALENDAR"||x==="MKCOL"||x==="MOVE"||x==="NOTIFY"||x==="OPTIONS"||x==="PATCH"||x==="POST"||x==="PROPFIND"||x==="PROPPATCH"||x==="PURGE"||x==="PUT"||x==="REBIND"||x==="REPORT"||x==="SEARCH"||x==="SOURCE"||x==="SUBSCRIBE"||x==="TRACE"||x==="UNBIND"||x==="UNLINK"||x==="UNLOCK"||x==="UNSUBSCRIBE"||x==="acl"||x==="bind"||x==="checkout"||x==="connect"||x==="copy"||x==="delete"||x==="get"||x==="head"||x==="link"||x==="lock"||x==="m-search"||x==="merge"||x==="mkactivity"||x==="mkcalendar"||x==="mkcol"||x==="move"||x==="notify"||x==="options"||x==="patch"||x==="post"||x==="propfind"||x==="proppatch"||x==="purge"||x==="put"||x==="rebind"||x==="report"||x==="search"||x==="source"||x==="subscribe"||x==="trace"||x==="unbind"||x==="unlink"||x==="unlock"||x==="unsubscribe"))return xs.errors=[{instancePath:e+"/method",schemaPath:"#/properties/method/enum",keyword:"enum",params:{allowedValues:fqt.properties.method.enum},message:"must be equal to one of the allowed values"}],!1;var h=v===a}else var h=!0;if(h)if(t.validate!==void 0){let x=t.validate,v=a;if(typeof x!="boolean"){let R;if(R===void 0)if(x==="false"||x===0||x===null)R=!1;else if(x==="true"||x===1)R=!0;else return xs.errors=[{instancePath:e+"/validate",schemaPath:"#/properties/validate/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;R!==void 0&&(x=R,t!==void 0&&(t.validate=R))}var h=v===a}else var h=!0}}}}}}}}}else return xs.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;return xs.errors=i,a===0}});var Bwe=E((U4r,vS)=>{"use strict";var pqt=require("node:assert"),aj=Cwe(),VP=Owe(),YP="The dispatch function has already been invoked",kwe=Pwe();function oj(t,e,r){return r===void 0?new SS(t,e):zP(t,e,r)}function Dwe(t,e,r,n){return r.once("error",function(s){this.destroyed&&n.destroy(s)}),r.once("close",function(){this.destroyed&&!this._error&&n.destroy()}),r.prepare(()=>t.call(e,r,n))}function zP(t,e,r){if(e=typeof e=="string"?{url:e}:e,e.validate!==!1&&(pqt(typeof t=="function","dispatchFunc should be a function"),!kwe(e)))throw new Error(kwe.errors.map(a=>a.message));let n=e.server||{},s=e.Request?aj.CustomRequest:aj;if(t.request&&t.request.app===t&&(Object.setPrototypeOf(Object.getPrototypeOf(t.request),s.prototype),Object.setPrototypeOf(Object.getPrototypeOf(t.response),VP.prototype)),typeof r=="function"){let i=new s(e),a=new VP(i,r);return Dwe(t,n,i,a)}else return new Promise((i,a)=>{let o=new s(e),c=new VP(o,i,a);Dwe(t,n,o,c)})}function SS(t,e){typeof e=="string"?this.option={url:e}:this.option=Object.assign({},e),this.dispatch=t,this._hasInvoked=!1,this._promise=null,this.option.autoStart!==!1&&process.nextTick(()=>{this._hasInvoked||this.end()})}var mqt=["delete","get","head","options","patch","post","put","trace"];mqt.forEach(t=>{SS.prototype[t]=function(e){if(this._hasInvoked===!0||this._promise)throw new Error(YP);return this.option.url=e,this.option.method=t.toUpperCase(),this}});var hqt=["body","cookies","headers","payload","query"];hqt.forEach(t=>{SS.prototype[t]=function(e){if(this._hasInvoked===!0||this._promise)throw new Error(YP);return this.option[t]=e,this}});SS.prototype.end=function(t){if(this._hasInvoked===!0||this._promise)throw new Error(YP);if(this._hasInvoked=!0,typeof t=="function")zP(this.dispatch,this.option,t);else return this._promise=zP(this.dispatch,this.option),this._promise};Object.getOwnPropertyNames(Promise.prototype).forEach(t=>{t!=="constructor"&&(SS.prototype[t]=function(...e){if(!this._promise){if(this._hasInvoked===!0)throw new Error(YP);this._hasInvoked=!0,this._promise=zP(this.dispatch,this.option)}return this._promise[t](...e)})});function gqt(t){return t instanceof aj||t instanceof VP||t&&t.constructor&&t.constructor.name==="_CustomLMRRequest"}vS.exports=oj;vS.exports.default=oj;vS.exports.inject=oj;vS.exports.isInjection=gqt});var Ywe=E((q4r,ek)=>{"use strict";var Aqt="4.26.0",yqt=ffe(),cj=require("node:http"),IS,{kAvvioBoot:CS,kChildren:uj,kServerBindings:Lwe,kBodyLimit:xqt,kRoutePrefix:Mwe,kLogLevel:bqt,kLogSerializers:Eqt,kHooks:lj,kSchemaController:Qp,kRequestAcceptVersion:_qt,kReplySerializerDefault:Wwe,kContentTypeParser:Sqt,kReply:vqt,kRequest:Iqt,kFourOhFour:Cqt,kState:ps,kOptions:dj,kPluginNameChain:TS,kSchemaErrorFormatter:fj,kErrorHandler:JP,kKeepAliveConnections:pj,kChildLoggerFactory:mj,kGenReqId:hj}=Gs(),{createServer:Tqt,compileValidateHTTPVersion:wqt}=Bfe(),wS=EN(),XP=WN(),Rqt=$N(),{supportedMethods:Nqt}=B$(),nx=F$(),uh=z$(),$we=x9(),{Hooks:Oqt,hookRunnerApplication:Fwe,supportedHooks:gj}=cp(),{createLogger:Pqt,createChildLogger:Uwe,defaultChildLoggerFactory:kqt}=o1(),qwe=I9(),{getGenReqId:jwe,reqIdGenFactory:Hwe}=vP(),{buildRouting:Dqt,validateBodyLimitOption:Bqt}=zTe(),Lqt=rwe(),zwe=iwe(),Mqt=mwe(),{FSTDEP009:Wqt}=od(),$qt=gwe(),{appendStackTrace:Fqt,AVVIO_ERRORS_MAP:Qwe,...lh}=Ci(),{defaultInitOptions:Ha}=zwe,{FST_ERR_ASYNC_CONSTRAINT:Uqt,FST_ERR_BAD_URL:qqt,FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE:jqt,FST_ERR_OPTIONS_NOT_OBJ:Hqt,FST_ERR_QSP_NOT_FN:Qqt,FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN:Gqt,FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ:Kqt,FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR:Vqt,FST_ERR_VERSION_CONSTRAINT_NOT_STR:zqt,FST_ERR_INSTANCE_ALREADY_LISTENING:Yqt,FST_ERR_REOPENED_CLOSE_SERVER:Jqt,FST_ERR_ROUTE_REWRITE_NOT_STR:Xqt,FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN:Gwe}=lh,{buildErrorHandler:Kwe}=F1();function Zqt(t){let e={};return["errorHandler","logLevel","logSerializers"].concat(gj).forEach(n=>{e[n]=t.store[n]}),Object.assign({},e)}function ZP(t){if(t=t||{},typeof t!="object")throw new Hqt;if(t.querystringParser&&typeof t.querystringParser!="function")throw new Qqt(typeof t.querystringParser);if(t.schemaController&&t.schemaController.bucket&&typeof t.schemaController.bucket!="function")throw new Gqt(typeof t.schemaController.bucket);Bqt(t.bodyLimit);let e=t.requestIdHeader===!1?!1:(t.requestIdHeader||Ha.requestIdHeader).toLowerCase(),r=Hwe(e,t.genReqId),n=t.requestIdLogLabel||"reqId",s=t.bodyLimit||Ha.bodyLimit,i=t.disableRequestLogging||!1,a=Object.assign({customOptions:{},plugins:[]},t.ajv),o=t.frameworkErrors;if(!a.customOptions||Object.prototype.toString.call(a.customOptions)!=="[object Object]")throw new Kqt(typeof a.customOptions);if(!a.plugins||!Array.isArray(a.plugins))throw new Vqt(typeof a.plugins);let{logger:c,hasLogger:u}=Pqt(t);t.connectionTimeout=t.connectionTimeout||Ha.connectionTimeout,t.keepAliveTimeout=t.keepAliveTimeout||Ha.keepAliveTimeout,t.maxRequestsPerSocket=t.maxRequestsPerSocket||Ha.maxRequestsPerSocket,t.requestTimeout=t.requestTimeout||Ha.requestTimeout,t.logger=c,t.requestIdHeader=e,t.requestIdLogLabel=n,t.disableRequestLogging=i,t.ajv=a,t.clientErrorHandler=t.clientErrorHandler||F;let l=zwe(t);t.exposeHeadRoutes=l.exposeHeadRoutes;let d=t.constraints;t.versioning&&(Wqt(),d={...d,version:{name:"version",mustMatchWhenDerived:!0,storage:t.versioning.storage,deriveConstraint:t.versioning.deriveVersion,validate(q){if(typeof q!="string")throw new zqt}}});let f=Dqt({config:{defaultRoute:K,onBadUrl:j,constraints:d,ignoreTrailingSlash:t.ignoreTrailingSlash||Ha.ignoreTrailingSlash,ignoreDuplicateSlashes:t.ignoreDuplicateSlashes||Ha.ignoreDuplicateSlashes,maxParamLength:t.maxParamLength||Ha.maxParamLength,caseSensitive:t.caseSensitive,allowUnsafeRegex:t.allowUnsafeRegex||Ha.allowUnsafeRegex,buildPrettyMeta:Zqt,querystringParser:t.querystringParser,useSemicolonDelimiter:t.useSemicolonDelimiter??Ha.useSemicolonDelimiter}}),p=Lqt(t),m=G(f,t);t.http2SessionTimeout=l.http2SessionTimeout;let{server:h,listen:A}=Tqt(t,m),g=typeof h.closeAllConnections=="function",b=typeof h.closeIdleConnections=="function",y=t.forceCloseConnections;if(y==="idle"&&!b)throw new jqt;typeof y!="boolean"&&(y=b?"idle":!1);let x=!g&&y===!0?new Set:$qt(),v=wS.setupResponseListeners,I=$we.buildSchemaController(null,t.schemaController),R={[ps]:{listening:!1,closing:!1,started:!1,ready:!1,booting:!1,readyPromise:null},[pj]:x,[dj]:t,[uj]:[],[Lwe]:[],[xqt]:s,[Mwe]:"",[bqt]:"",[Eqt]:null,[lj]:new Oqt,[Qp]:I,[fj]:null,[JP]:Kwe(),[mj]:kqt,[Wwe]:null,[Sqt]:new uh(s,t.onProtoPoisoning||Ha.onProtoPoisoning,t.onConstructorPoisoning||Ha.onConstructorPoisoning),[vqt]:wS.buildReply(wS),[Iqt]:XP.buildRequest(XP,t.trustProxy),[Cqt]:p,[qwe.kRegisteredPlugins]:[],[TS]:["fastify"],[CS]:null,[hj]:r,routing:m,getDefaultRoute:f.getDefaultRoute.bind(f),setDefaultRoute:f.setDefaultRoute.bind(f),delete:function(H,ee,ne){return f.prepareRoute.call(this,{method:"DELETE",url:H,options:ee,handler:ne})},get:function(H,ee,ne){return f.prepareRoute.call(this,{method:"GET",url:H,options:ee,handler:ne})},head:function(H,ee,ne){return f.prepareRoute.call(this,{method:"HEAD",url:H,options:ee,handler:ne})},patch:function(H,ee,ne){return f.prepareRoute.call(this,{method:"PATCH",url:H,options:ee,handler:ne})},post:function(H,ee,ne){return f.prepareRoute.call(this,{method:"POST",url:H,options:ee,handler:ne})},put:function(H,ee,ne){return f.prepareRoute.call(this,{method:"PUT",url:H,options:ee,handler:ne})},options:function(H,ee,ne){return f.prepareRoute.call(this,{method:"OPTIONS",url:H,options:ee,handler:ne})},all:function(H,ee,ne){return f.prepareRoute.call(this,{method:Nqt,url:H,options:ee,handler:ne})},route:function(H){return f.route.call(this,{options:H})},hasRoute:function(H){return f.hasRoute.call(this,{options:H})},findRoute:function(H){return f.findRoute(H)},log:c,withTypeProvider:L,addHook:Z,addSchema:W,getSchema:I.getSchema.bind(I),getSchemas:I.getSchemas.bind(I),setValidatorCompiler:oe,setSerializerCompiler:Ie,setSchemaController:we,setReplySerializer:qe,setSchemaErrorFormatter:ue,setGenReqId:V,addContentTypeParser:uh.helpers.addContentTypeParser,hasContentTypeParser:uh.helpers.hasContentTypeParser,getDefaultJsonParser:uh.defaultParsers.getDefaultJsonParser,defaultTextParser:uh.defaultParsers.defaultTextParser,removeContentTypeParser:uh.helpers.removeContentTypeParser,removeAllContentTypeParsers:uh.helpers.removeAllContentTypeParsers,register:null,after:null,ready:null,onClose:null,close:null,printPlugins:null,hasPlugin:function(q){return this[qwe.kRegisteredPlugins].includes(q)||this[TS].includes(q)},listen:A,server:h,addresses:function(){let q=this[Lwe].map(H=>H.address());return q.push(this.server.address()),q.filter(H=>H)},decorate:nx.add,hasDecorator:nx.exist,decorateReply:nx.decorateReply,decorateRequest:nx.decorateRequest,hasRequestDecorator:nx.existRequest,hasReplyDecorator:nx.existReply,inject:M,printRoutes:U,setNotFoundHandler:se,setErrorHandler:Fe,setChildLoggerFactory:_e,initialConfig:l,addConstraintStrategy:f.addConstraintStrategy.bind(f),hasConstraintStrategy:f.hasConstraintStrategy.bind(f)};Object.defineProperties(R,{listeningOrigin:{get(){let q=this.addresses().slice(-1).pop();if(typeof q=="string")return q;let H=q.family==="IPv6"?`[${q.address}]`:q.address;return`${this[dj].https?"https":"http"}://${H}:${q.port}`}},pluginName:{configurable:!0,get(){return this[TS].length>1?this[TS].join(" -> "):this[TS][0]}},prefix:{configurable:!0,get(){return this[Mwe]}},validatorCompiler:{configurable:!0,get(){return this[Qp].getValidatorCompiler()}},serializerCompiler:{configurable:!0,get(){return this[Qp].getSerializerCompiler()}},childLoggerFactory:{configurable:!0,get(){return this[mj]}},version:{configurable:!0,get(){return Aqt}},errorHandler:{configurable:!0,get(){return this[JP].func}},genReqId:{configurable:!0,get(){return this[hj]}}}),t.schemaErrorFormatter&&(Vwe(t.schemaErrorFormatter),R[fj]=t.schemaErrorFormatter.bind(R));let w=Number(t.pluginTimeout),N=yqt(R,{autostart:!1,timeout:isNaN(w)===!1?w:Ha.pluginTimeout,expose:{use:"register"}});N.override=Mqt,N.on("start",()=>R[ps].started=!0),R[CS]=R.ready,R.ready=D,R.printPlugins=N.prettyPrint.bind(N),N.once("preReady",()=>{R.onClose((q,H)=>{R[ps].closing=!0,f.closeRoutes(),Fwe("preClose",R[CS],R,function(){if(R[ps].listening){if(y==="idle")q.server.closeIdleConnections();else if(g&&y)q.server.closeAllConnections();else if(y===!0)for(let ee of R[pj])ee.destroy(),R[pj].delete(ee)}!t.serverFactory||R[ps].listening?q.server.close(function(ee){ee&&ee.code!=="ERR_SERVER_NOT_RUNNING"?H(null):H()}):process.nextTick(H,null)})})});let P=new Rqt({server:R,config:{}});R.setNotFoundHandler(),p.arrange404(R),f.setup(t,{avvio:N,fourOhFour:p,logger:c,hasLogger:u,setupResponseListeners:v,throwIfAlreadyStarted:B,validateHTTPVersion:wqt(t),keepAliveConnections:x}),h.on("clientError",t.clientErrorHandler.bind(R));try{let H=require("node:diagnostics_channel").channel("fastify.initialization");H.hasSubscribers&&H.publish({fastify:R})}catch{}return"asyncDispose"in Symbol&&(R[Symbol.asyncDispose]=function(){return R.close()}),R;function B(q){if(R[ps].started)throw new Yqt(q)}function M(q,H){if(IS===void 0&&(IS=Bwe()),R[ps].started){if(R[ps].closing){let ee=new Jqt;if(H){H(ee);return}else return Promise.reject(ee)}return IS(m,q,H)}if(H)this.ready(ee=>{ee?H(ee,null):IS(m,q,H)});else return IS((ee,ne)=>{this.ready(function(re){if(re){ne.emit("error",re);return}m(ee,ne)})},q)}function D(q){if(this[ps].readyPromise!==null){if(q!=null){this[ps].readyPromise.then(()=>q(null,R),q);return}return this[ps].readyPromise}let H,ee;if(process.nextTick(ne),this[ps].readyPromise=new Promise(function(X,ie){H=X,ee=ie}),q)this[ps].readyPromise.then(()=>q(null,R),q);else return this[ps].readyPromise;function ne(){R[CS]((X,ie)=>{X||R[ps].started||R[ps].ready||R[ps].booting?re(X):(R[ps].booting=!0,Fwe("onReady",R[CS],R,re)),ie()})}function re(X){if(X=X!=null&&Qwe[X.code]!=null?Fqt(X,new Qwe[X.code](X.message)):X,X)return ee(X);H(R),R[ps].booting=!1,R[ps].ready=!0,R[ps].promise=null}}function L(){return this}function Z(q,H){if(B('Cannot call "addHook"!'),H==null)throw new lh.FST_ERR_HOOK_INVALID_HANDLER(q,H);if(q==="onSend"||q==="preSerialization"||q==="onError"||q==="preParsing"){if(H.constructor.name==="AsyncFunction"&&H.length===4)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(q==="onReady"||q==="onListen"){if(H.constructor.name==="AsyncFunction"&&H.length!==0)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(q==="onRequestAbort"){if(H.constructor.name==="AsyncFunction"&&H.length!==1)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(H.constructor.name==="AsyncFunction"&&H.length===3)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER;return q==="onClose"?this.onClose(H):q==="onReady"||q==="onListen"||q==="onRoute"?this[lj].add(q,H):this.after((ne,re)=>{ee.call(this,q,H),re(ne)}),this;function ee(ne,re){this[lj].add(ne,re),this[uj].forEach(X=>ee.call(X,ne,re))}}function W(q){return B('Cannot call "addSchema"!'),this[Qp].add(q),this[uj].forEach(H=>H.addSchema(q)),this}function F(q,H){if(q.code==="ECONNRESET"||H.destroyed)return;let ee,ne,re,X;q.code==="ERR_HTTP_REQUEST_TIMEOUT"?(ne="408",re=cj.STATUS_CODES[ne],ee=`{"error":"${re}","message":"Client Timeout","statusCode":408}`,X="timeout"):q.code==="HPE_HEADER_OVERFLOW"?(ne="431",re=cj.STATUS_CODES[ne],ee=`{"error":"${re}","message":"Exceeded maximum allowed HTTP header size","statusCode":431}`,X="header_overflow"):(ne="400",re=cj.STATUS_CODES[ne],ee=`{"error":"${re}","message":"Client Error","statusCode":400}`,X="error"),this.log.trace({err:q},`client ${X}`),H.writable&&H.write(`HTTP/1.1 ${ne} ${re}\r
|
|
Content-Length: ${ee.length}\r
|
|
Content-Type: application/json\r
|
|
\r
|
|
${ee}`),H.destroy(q)}function K(q,H){q.headers["accept-version"]!==void 0&&(q.headers[_qt]=q.headers["accept-version"],q.headers["accept-version"]=void 0),p.router.lookup(q,H)}function j(q,H,ee){if(o){let re=jwe(P.server,H),X=Uwe(P,c,H,re),ie=new XP(re,null,H,null,X,P),ce=new wS(ee,ie,X);return i===!1&&X.info({req:ie},"incoming request"),o(new qqt(q),ie,ce)}let ne=`{"error":"Bad Request","code":"FST_ERR_BAD_URL","message":"'${q}' is not a valid url component","statusCode":400}`;ee.writeHead(400,{"Content-Type":"application/json","Content-Length":ne.length}),ee.end(ne)}function J(q,H,ee){if(q!==!1)return function(re){if(re){if(o){let ie=jwe(P.server,H),ce=Uwe(P,c,H,ie),fe=new XP(ie,null,H,null,ce,P),Ne=new wS(ee,fe,ce);return i===!1&&ce.info({req:fe},"incoming request"),o(new Uqt,fe,Ne)}let X='{"error":"Internal Server Error","message":"Unexpected error from async constraint","statusCode":500}';ee.writeHead(500,{"Content-Type":"application/json","Content-Length":X.length}),ee.end(X)}}}function se(q,H){return B('Cannot call "setNotFoundHandler"!'),p.setNotFoundHandler.call(this,q,H,N,f.routeHandler),this}function oe(q){return B('Cannot call "setValidatorCompiler"!'),this[Qp].setValidatorCompiler(q),this}function ue(q){return B('Cannot call "setSchemaErrorFormatter"!'),Vwe(q),this[fj]=q.bind(this),this}function Ie(q){return B('Cannot call "setSerializerCompiler"!'),this[Qp].setSerializerCompiler(q),this}function we(q){B('Cannot call "setSchemaController"!');let H=this[Qp],ee=$we.buildSchemaController(H,Object.assign({},H.opts,q));return this[Qp]=ee,this.getSchema=ee.getSchema.bind(ee),this.getSchemas=ee.getSchemas.bind(ee),this}function qe(q){return B('Cannot call "setReplySerializer"!'),this[Wwe]=q,this}function Fe(q){return B('Cannot call "setErrorHandler"!'),this[JP]=Kwe(this[JP],q.bind(this)),this}function _e(q){return B('Cannot call "setChildLoggerFactory"!'),this[mj]=q,this}function U(q={}){return q.includeMeta=q.includeHooks?q.includeMeta?gj.concat(q.includeMeta):gj:q.includeMeta,f.printRoutes(q)}function G(q,{rewriteUrl:H,logger:ee}){let ne;return function(X,ie){if(ne===void 0&&(ne=q.isAsyncConstraint()),H){X.originalUrl=X.url;let ce=H.call(R,X);if(typeof ce=="string")X.url=ce;else{let fe=new Xqt(X.url,typeof ce);X.destroy(fe)}}q.routing(X,ie,J(ne,X,ie))}}function V(q){return B('Cannot call "setGenReqId"!'),this[hj]=Hwe(this[dj].requestIdHeader,q),this}}ZP.errorCodes=lh;function Vwe(t){if(typeof t!="function")throw new Gwe(typeof t);if(t.constructor.name==="AsyncFunction")throw new Gwe("AsyncFunction")}ek.exports=ZP;ek.exports.fastify=ZP;ek.exports.default=ZP});var l2e=E((V4r,u2e)=>{var c2e=require("stream").Stream,D9t=require("util");u2e.exports=ru;function ru(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}D9t.inherits(ru,c2e);ru.create=function(t,e){var r=new this;e=e||{};for(var n in e)r[n]=e[n];r.source=t;var s=t.emit;return t.emit=function(){return r._handleEmit(arguments),s.apply(t,arguments)},t.on("error",function(){}),r.pauseStream&&t.pause(),r};Object.defineProperty(ru.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});ru.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};ru.prototype.resume=function(){this._released||this.release(),this.source.resume()};ru.prototype.pause=function(){this.source.pause()};ru.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(t){this.emit.apply(this,t)}.bind(this)),this._bufferedEvents=[]};ru.prototype.pipe=function(){var t=c2e.prototype.pipe.apply(this,arguments);return this.resume(),t};ru.prototype._handleEmit=function(t){if(this._released){this.emit.apply(this,t);return}t[0]==="data"&&(this.dataSize+=t[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(t)};ru.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(t))}}});var m2e=E((z4r,p2e)=>{var B9t=require("util"),f2e=require("stream").Stream,d2e=l2e();p2e.exports=zn;function zn(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}B9t.inherits(zn,f2e);zn.create=function(t){var e=new this;t=t||{};for(var r in t)e[r]=t[r];return e};zn.isStreamLike=function(t){return typeof t!="function"&&typeof t!="string"&&typeof t!="boolean"&&typeof t!="number"&&!Buffer.isBuffer(t)};zn.prototype.append=function(t){var e=zn.isStreamLike(t);if(e){if(!(t instanceof d2e)){var r=d2e.create(t,{maxDataSize:1/0,pauseStream:this.pauseStreams});t.on("data",this._checkDataSize.bind(this)),t=r}this._handleErrors(t),this.pauseStreams&&t.pause()}return this._streams.push(t),this};zn.prototype.pipe=function(t,e){return f2e.prototype.pipe.call(this,t,e),this.resume(),t};zn.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};zn.prototype._realGetNext=function(){var t=this._streams.shift();if(typeof t>"u"){this.end();return}if(typeof t!="function"){this._pipeNext(t);return}var e=t;e(function(r){var n=zn.isStreamLike(r);n&&(r.on("data",this._checkDataSize.bind(this)),this._handleErrors(r)),this._pipeNext(r)}.bind(this))};zn.prototype._pipeNext=function(t){this._currentStream=t;var e=zn.isStreamLike(t);if(e){t.on("end",this._getNext.bind(this)),t.pipe(this,{end:!1});return}var r=t;this.write(r),this._getNext()};zn.prototype._handleErrors=function(t){var e=this;t.on("error",function(r){e._emitError(r)})};zn.prototype.write=function(t){this.emit("data",t)};zn.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};zn.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};zn.prototype.end=function(){this._reset(),this.emit("end")};zn.prototype.destroy=function(){this._reset(),this.emit("close")};zn.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};zn.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(t))}};zn.prototype._updateDataSize=function(){this.dataSize=0;var t=this;this._streams.forEach(function(e){e.dataSize&&(t.dataSize+=e.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};zn.prototype._emitError=function(t){this._reset(),this.emit("error",t)}});var h2e=E((Y4r,L9t)=>{L9t.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var A2e=E((J4r,g2e)=>{g2e.exports=h2e()});var b2e=E(Qa=>{"use strict";var ik=A2e(),M9t=require("path").extname,y2e=/^\s*([^;\s]*)(?:;|\s|$)/,W9t=/^text\//i;Qa.charset=x2e;Qa.charsets={lookup:x2e};Qa.contentType=$9t;Qa.extension=F9t;Qa.extensions=Object.create(null);Qa.lookup=U9t;Qa.types=Object.create(null);q9t(Qa.extensions,Qa.types);function x2e(t){if(!t||typeof t!="string")return!1;var e=y2e.exec(t),r=e&&ik[e[1].toLowerCase()];return r&&r.charset?r.charset:e&&W9t.test(e[1])?"UTF-8":!1}function $9t(t){if(!t||typeof t!="string")return!1;var e=t.indexOf("/")===-1?Qa.lookup(t):t;if(!e)return!1;if(e.indexOf("charset")===-1){var r=Qa.charset(e);r&&(e+="; charset="+r.toLowerCase())}return e}function F9t(t){if(!t||typeof t!="string")return!1;var e=y2e.exec(t),r=e&&Qa.extensions[e[1].toLowerCase()];return!r||!r.length?!1:r[0]}function U9t(t){if(!t||typeof t!="string")return!1;var e=M9t("x."+t).toLowerCase().substr(1);return e&&Qa.types[e]||!1}function q9t(t,e){var r=["nginx","apache",void 0,"iana"];Object.keys(ik).forEach(function(s){var i=ik[s],a=i.extensions;if(!(!a||!a.length)){t[s]=a;for(var o=0;o<a.length;o++){var c=a[o];if(e[c]){var u=r.indexOf(ik[e[c]].source),l=r.indexOf(i.source);if(e[c]!=="application/octet-stream"&&(u>l||u===l&&e[c].substr(0,12)==="application/"))continue}e[c]=s}}})}});var _2e=E((Z4r,E2e)=>{E2e.exports=j9t;function j9t(t){var e=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;e?e(t):setTimeout(t,0)}});var bj=E((eMr,v2e)=>{var S2e=_2e();v2e.exports=H9t;function H9t(t){var e=!1;return S2e(function(){e=!0}),function(n,s){e?t(n,s):S2e(function(){t(n,s)})}}});var Ej=E((tMr,I2e)=>{I2e.exports=Q9t;function Q9t(t){Object.keys(t.jobs).forEach(G9t.bind(t)),t.jobs={}}function G9t(t){typeof this.jobs[t]=="function"&&this.jobs[t]()}});var _j=E((rMr,T2e)=>{var C2e=bj(),K9t=Ej();T2e.exports=V9t;function V9t(t,e,r,n){var s=r.keyedList?r.keyedList[r.index]:r.index;r.jobs[s]=z9t(e,s,t[s],function(i,a){s in r.jobs&&(delete r.jobs[s],i?K9t(r):r.results[s]=a,n(i,r.results))})}function z9t(t,e,r,n){var s;return t.length==2?s=t(r,C2e(n)):s=t(r,e,C2e(n)),s}});var Sj=E((nMr,w2e)=>{w2e.exports=Y9t;function Y9t(t,e){var r=!Array.isArray(t),n={index:0,keyedList:r||e?Object.keys(t):null,jobs:{},results:r?{}:[],size:r?Object.keys(t).length:t.length};return e&&n.keyedList.sort(r?e:function(s,i){return e(t[s],t[i])}),n}});var vj=E((sMr,R2e)=>{var J9t=Ej(),X9t=bj();R2e.exports=Z9t;function Z9t(t){Object.keys(this.jobs).length&&(this.index=this.size,J9t(this),X9t(t)(null,this.results))}});var O2e=E((iMr,N2e)=>{var ejt=_j(),tjt=Sj(),rjt=vj();N2e.exports=njt;function njt(t,e,r){for(var n=tjt(t);n.index<(n.keyedList||t).length;)ejt(t,e,n,function(s,i){if(s){r(s,i);return}if(Object.keys(n.jobs).length===0){r(null,n.results);return}}),n.index++;return rjt.bind(n,r)}});var Ij=E((aMr,ak)=>{var P2e=_j(),sjt=Sj(),ijt=vj();ak.exports=ajt;ak.exports.ascending=k2e;ak.exports.descending=ojt;function ajt(t,e,r,n){var s=sjt(t,r);return P2e(t,e,s,function i(a,o){if(a){n(a,o);return}if(s.index++,s.index<(s.keyedList||t).length){P2e(t,e,s,i);return}n(null,s.results)}),ijt.bind(s,n)}function k2e(t,e){return t<e?-1:t>e?1:0}function ojt(t,e){return-1*k2e(t,e)}});var B2e=E((oMr,D2e)=>{var cjt=Ij();D2e.exports=ujt;function ujt(t,e,r){return cjt(t,e,null,r)}});var M2e=E((cMr,L2e)=>{L2e.exports={parallel:O2e(),serial:B2e(),serialOrdered:Ij()}});var Cj=E((uMr,W2e)=>{"use strict";W2e.exports=Object});var F2e=E((lMr,$2e)=>{"use strict";$2e.exports=Error});var q2e=E((dMr,U2e)=>{"use strict";U2e.exports=EvalError});var H2e=E((fMr,j2e)=>{"use strict";j2e.exports=RangeError});var G2e=E((pMr,Q2e)=>{"use strict";Q2e.exports=ReferenceError});var V2e=E((mMr,K2e)=>{"use strict";K2e.exports=SyntaxError});var Gp=E((hMr,z2e)=>{"use strict";z2e.exports=TypeError});var J2e=E((gMr,Y2e)=>{"use strict";Y2e.exports=URIError});var Z2e=E((AMr,X2e)=>{"use strict";X2e.exports=Math.abs});var tRe=E((yMr,eRe)=>{"use strict";eRe.exports=Math.floor});var nRe=E((xMr,rRe)=>{"use strict";rRe.exports=Math.max});var iRe=E((bMr,sRe)=>{"use strict";sRe.exports=Math.min});var oRe=E((EMr,aRe)=>{"use strict";aRe.exports=Math.pow});var uRe=E((_Mr,cRe)=>{"use strict";cRe.exports=Math.round});var dRe=E((SMr,lRe)=>{"use strict";lRe.exports=Number.isNaN||function(e){return e!==e}});var pRe=E((vMr,fRe)=>{"use strict";var ljt=dRe();fRe.exports=function(e){return ljt(e)||e===0?e:e<0?-1:1}});var hRe=E((IMr,mRe)=>{"use strict";mRe.exports=Object.getOwnPropertyDescriptor});var Tj=E((CMr,gRe)=>{"use strict";var ok=hRe();if(ok)try{ok([],"length")}catch{ok=null}gRe.exports=ok});var yRe=E((TMr,ARe)=>{"use strict";var ck=Object.defineProperty||!1;if(ck)try{ck({},"a",{value:1})}catch{ck=!1}ARe.exports=ck});var wj=E((wMr,xRe)=>{"use strict";xRe.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var s=42;e[r]=s;for(var i in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,r);if(o.value!==s||o.enumerable!==!0)return!1}return!0}});var _Re=E((RMr,ERe)=>{"use strict";var bRe=typeof Symbol<"u"&&Symbol,djt=wj();ERe.exports=function(){return typeof bRe!="function"||typeof Symbol!="function"||typeof bRe("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:djt()}});var Rj=E((NMr,SRe)=>{"use strict";SRe.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var Nj=E((OMr,vRe)=>{"use strict";var fjt=Cj();vRe.exports=fjt.getPrototypeOf||null});var TRe=E((PMr,CRe)=>{"use strict";var pjt="Function.prototype.bind called on incompatible ",mjt=Object.prototype.toString,hjt=Math.max,gjt="[object Function]",IRe=function(e,r){for(var n=[],s=0;s<e.length;s+=1)n[s]=e[s];for(var i=0;i<r.length;i+=1)n[i+e.length]=r[i];return n},Ajt=function(e,r){for(var n=[],s=r||0,i=0;s<e.length;s+=1,i+=1)n[i]=e[s];return n},yjt=function(t,e){for(var r="",n=0;n<t.length;n+=1)r+=t[n],n+1<t.length&&(r+=e);return r};CRe.exports=function(e){var r=this;if(typeof r!="function"||mjt.apply(r)!==gjt)throw new TypeError(pjt+r);for(var n=Ajt(arguments,1),s,i=function(){if(this instanceof s){var l=r.apply(this,IRe(n,arguments));return Object(l)===l?l:this}return r.apply(e,IRe(n,arguments))},a=hjt(0,r.length-n.length),o=[],c=0;c<a;c++)o[c]="$"+c;if(s=Function("binder","return function ("+yjt(o,",")+"){ return binder.apply(this,arguments); }")(i),r.prototype){var u=function(){};u.prototype=r.prototype,s.prototype=new u,u.prototype=null}return s}});var PS=E((kMr,wRe)=>{"use strict";var xjt=TRe();wRe.exports=Function.prototype.bind||xjt});var uk=E((DMr,RRe)=>{"use strict";RRe.exports=Function.prototype.call});var Oj=E((BMr,NRe)=>{"use strict";NRe.exports=Function.prototype.apply});var PRe=E((LMr,ORe)=>{"use strict";ORe.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var DRe=E((MMr,kRe)=>{"use strict";var bjt=PS(),Ejt=Oj(),_jt=uk(),Sjt=PRe();kRe.exports=Sjt||bjt.call(_jt,Ejt)});var Pj=E((WMr,BRe)=>{"use strict";var vjt=PS(),Ijt=Gp(),Cjt=uk(),Tjt=DRe();BRe.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new Ijt("a function is required");return Tjt(vjt,Cjt,e)}});var URe=E(($Mr,FRe)=>{"use strict";var wjt=Pj(),LRe=Tj(),WRe;try{WRe=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var kj=!!WRe&&LRe&&LRe(Object.prototype,"__proto__"),$Re=Object,MRe=$Re.getPrototypeOf;FRe.exports=kj&&typeof kj.get=="function"?wjt([kj.get]):typeof MRe=="function"?function(e){return MRe(e==null?e:$Re(e))}:!1});var GRe=E((FMr,QRe)=>{"use strict";var qRe=Rj(),jRe=Nj(),HRe=URe();QRe.exports=qRe?function(e){return qRe(e)}:jRe?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return jRe(e)}:HRe?function(e){return HRe(e)}:null});var lk=E((UMr,KRe)=>{"use strict";var Rjt=Function.prototype.call,Njt=Object.prototype.hasOwnProperty,Ojt=PS();KRe.exports=Ojt.call(Rjt,Njt)});var LS=E((qMr,ZRe)=>{"use strict";var cr,Pjt=Cj(),kjt=F2e(),Djt=q2e(),Bjt=H2e(),Ljt=G2e(),ux=V2e(),cx=Gp(),Mjt=J2e(),Wjt=Z2e(),$jt=tRe(),Fjt=nRe(),Ujt=iRe(),qjt=oRe(),jjt=uRe(),Hjt=pRe(),JRe=Function,Dj=function(t){try{return JRe('"use strict"; return ('+t+").constructor;")()}catch{}},kS=Tj(),Qjt=yRe(),Bj=function(){throw new cx},Gjt=kS?function(){try{return arguments.callee,Bj}catch{try{return kS(arguments,"callee").get}catch{return Bj}}}():Bj,ax=_Re()(),Vs=GRe(),Kjt=Nj(),Vjt=Rj(),XRe=Oj(),DS=uk(),ox={},zjt=typeof Uint8Array>"u"||!Vs?cr:Vs(Uint8Array),dh={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?cr:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?cr:ArrayBuffer,"%ArrayIteratorPrototype%":ax&&Vs?Vs([][Symbol.iterator]()):cr,"%AsyncFromSyncIteratorPrototype%":cr,"%AsyncFunction%":ox,"%AsyncGenerator%":ox,"%AsyncGeneratorFunction%":ox,"%AsyncIteratorPrototype%":ox,"%Atomics%":typeof Atomics>"u"?cr:Atomics,"%BigInt%":typeof BigInt>"u"?cr:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?cr:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?cr:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?cr:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":kjt,"%eval%":eval,"%EvalError%":Djt,"%Float16Array%":typeof Float16Array>"u"?cr:Float16Array,"%Float32Array%":typeof Float32Array>"u"?cr:Float32Array,"%Float64Array%":typeof Float64Array>"u"?cr:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?cr:FinalizationRegistry,"%Function%":JRe,"%GeneratorFunction%":ox,"%Int8Array%":typeof Int8Array>"u"?cr:Int8Array,"%Int16Array%":typeof Int16Array>"u"?cr:Int16Array,"%Int32Array%":typeof Int32Array>"u"?cr:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ax&&Vs?Vs(Vs([][Symbol.iterator]())):cr,"%JSON%":typeof JSON=="object"?JSON:cr,"%Map%":typeof Map>"u"?cr:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ax||!Vs?cr:Vs(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Pjt,"%Object.getOwnPropertyDescriptor%":kS,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?cr:Promise,"%Proxy%":typeof Proxy>"u"?cr:Proxy,"%RangeError%":Bjt,"%ReferenceError%":Ljt,"%Reflect%":typeof Reflect>"u"?cr:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?cr:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ax||!Vs?cr:Vs(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?cr:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ax&&Vs?Vs(""[Symbol.iterator]()):cr,"%Symbol%":ax?Symbol:cr,"%SyntaxError%":ux,"%ThrowTypeError%":Gjt,"%TypedArray%":zjt,"%TypeError%":cx,"%Uint8Array%":typeof Uint8Array>"u"?cr:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?cr:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?cr:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?cr:Uint32Array,"%URIError%":Mjt,"%WeakMap%":typeof WeakMap>"u"?cr:WeakMap,"%WeakRef%":typeof WeakRef>"u"?cr:WeakRef,"%WeakSet%":typeof WeakSet>"u"?cr:WeakSet,"%Function.prototype.call%":DS,"%Function.prototype.apply%":XRe,"%Object.defineProperty%":Qjt,"%Object.getPrototypeOf%":Kjt,"%Math.abs%":Wjt,"%Math.floor%":$jt,"%Math.max%":Fjt,"%Math.min%":Ujt,"%Math.pow%":qjt,"%Math.round%":jjt,"%Math.sign%":Hjt,"%Reflect.getPrototypeOf%":Vjt};if(Vs)try{null.error}catch(t){VRe=Vs(Vs(t)),dh["%Error.prototype%"]=VRe}var VRe,Yjt=function t(e){var r;if(e==="%AsyncFunction%")r=Dj("async function () {}");else if(e==="%GeneratorFunction%")r=Dj("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=Dj("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var s=t("%AsyncGenerator%");s&&Vs&&(r=Vs(s.prototype))}return dh[e]=r,r},zRe={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},BS=PS(),dk=lk(),Jjt=BS.call(DS,Array.prototype.concat),Xjt=BS.call(XRe,Array.prototype.splice),YRe=BS.call(DS,String.prototype.replace),fk=BS.call(DS,String.prototype.slice),Zjt=BS.call(DS,RegExp.prototype.exec),eHt=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,tHt=/\\(\\)?/g,rHt=function(e){var r=fk(e,0,1),n=fk(e,-1);if(r==="%"&&n!=="%")throw new ux("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new ux("invalid intrinsic syntax, expected opening `%`");var s=[];return YRe(e,eHt,function(i,a,o,c){s[s.length]=o?YRe(c,tHt,"$1"):a||i}),s},nHt=function(e,r){var n=e,s;if(dk(zRe,n)&&(s=zRe[n],n="%"+s[0]+"%"),dk(dh,n)){var i=dh[n];if(i===ox&&(i=Yjt(n)),typeof i>"u"&&!r)throw new cx("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:s,name:n,value:i}}throw new ux("intrinsic "+e+" does not exist!")};ZRe.exports=function(e,r){if(typeof e!="string"||e.length===0)throw new cx("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new cx('"allowMissing" argument must be a boolean');if(Zjt(/^%?[^%]*%?$/,e)===null)throw new ux("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=rHt(e),s=n.length>0?n[0]:"",i=nHt("%"+s+"%",r),a=i.name,o=i.value,c=!1,u=i.alias;u&&(s=u[0],Xjt(n,Jjt([0,1],u)));for(var l=1,d=!0;l<n.length;l+=1){var f=n[l],p=fk(f,0,1),m=fk(f,-1);if((p==='"'||p==="'"||p==="`"||m==='"'||m==="'"||m==="`")&&p!==m)throw new ux("property names with quotes must have matching quotes");if((f==="constructor"||!d)&&(c=!0),s+="."+f,a="%"+s+"%",dk(dh,a))o=dh[a];else if(o!=null){if(!(f in o)){if(!r)throw new cx("base intrinsic for "+e+" exists, but the property is not available.");return}if(kS&&l+1>=n.length){var h=kS(o,f);d=!!h,d&&"get"in h&&!("originalValue"in h.get)?o=h.get:o=o[f]}else d=dk(o,f),o=o[f];d&&!c&&(dh[a]=o)}}return o}});var tNe=E((jMr,eNe)=>{"use strict";var sHt=wj();eNe.exports=function(){return sHt()&&!!Symbol.toStringTag}});var sNe=E((HMr,nNe)=>{"use strict";var iHt=LS(),rNe=iHt("%Object.defineProperty%",!0),aHt=tNe()(),oHt=lk(),cHt=Gp(),pk=aHt?Symbol.toStringTag:null;nNe.exports=function(e,r){var n=arguments.length>2&&!!arguments[2]&&arguments[2].force,s=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof n<"u"&&typeof n!="boolean"||typeof s<"u"&&typeof s!="boolean")throw new cHt("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");pk&&(n||!oHt(e,pk))&&(rNe?rNe(e,pk,{configurable:!s,enumerable:!1,value:r,writable:!1}):e[pk]=r)}});var aNe=E((QMr,iNe)=>{"use strict";iNe.exports=function(t,e){return Object.keys(e).forEach(function(r){t[r]=t[r]||e[r]}),t}});var cNe=E((GMr,oNe)=>{"use strict";var $j=m2e(),uHt=require("util"),Lj=require("path"),lHt=require("http"),dHt=require("https"),fHt=require("url").parse,pHt=require("fs"),mHt=require("stream").Stream,hHt=require("crypto"),Mj=b2e(),gHt=M2e(),AHt=sNe(),Kp=lk(),Wj=aNe();function Cr(t){if(!(this instanceof Cr))return new Cr(t);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],$j.call(this),t=t||{};for(var e in t)this[e]=t[e]}uHt.inherits(Cr,$j);Cr.LINE_BREAK=`\r
|
|
`;Cr.DEFAULT_CONTENT_TYPE="application/octet-stream";Cr.prototype.append=function(t,e,r){r=r||{},typeof r=="string"&&(r={filename:r});var n=$j.prototype.append.bind(this);if((typeof e=="number"||e==null)&&(e=String(e)),Array.isArray(e)){this._error(new Error("Arrays are not supported."));return}var s=this._multiPartHeader(t,e,r),i=this._multiPartFooter();n(s),n(e),n(i),this._trackLength(s,e,r)};Cr.prototype._trackLength=function(t,e,r){var n=0;r.knownLength!=null?n+=Number(r.knownLength):Buffer.isBuffer(e)?n=e.length:typeof e=="string"&&(n=Buffer.byteLength(e)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(t)+Cr.LINE_BREAK.length,!(!e||!e.path&&!(e.readable&&Kp(e,"httpVersion"))&&!(e instanceof mHt))&&(r.knownLength||this._valuesToMeasure.push(e))};Cr.prototype._lengthRetriever=function(t,e){Kp(t,"fd")?t.end!=null&&t.end!=1/0&&t.start!=null?e(null,t.end+1-(t.start?t.start:0)):pHt.stat(t.path,function(r,n){if(r){e(r);return}var s=n.size-(t.start?t.start:0);e(null,s)}):Kp(t,"httpVersion")?e(null,Number(t.headers["content-length"])):Kp(t,"httpModule")?(t.on("response",function(r){t.pause(),e(null,Number(r.headers["content-length"]))}),t.resume()):e("Unknown stream")};Cr.prototype._multiPartHeader=function(t,e,r){if(typeof r.header=="string")return r.header;var n=this._getContentDisposition(e,r),s=this._getContentType(e,r),i="",a={"Content-Disposition":["form-data",'name="'+t+'"'].concat(n||[]),"Content-Type":[].concat(s||[])};typeof r.header=="object"&&Wj(a,r.header);var o;for(var c in a)if(Kp(a,c)){if(o=a[c],o==null)continue;Array.isArray(o)||(o=[o]),o.length&&(i+=c+": "+o.join("; ")+Cr.LINE_BREAK)}return"--"+this.getBoundary()+Cr.LINE_BREAK+i+Cr.LINE_BREAK};Cr.prototype._getContentDisposition=function(t,e){var r;if(typeof e.filepath=="string"?r=Lj.normalize(e.filepath).replace(/\\/g,"/"):e.filename||t&&(t.name||t.path)?r=Lj.basename(e.filename||t&&(t.name||t.path)):t&&t.readable&&Kp(t,"httpVersion")&&(r=Lj.basename(t.client._httpMessage.path||"")),r)return'filename="'+r+'"'};Cr.prototype._getContentType=function(t,e){var r=e.contentType;return!r&&t&&t.name&&(r=Mj.lookup(t.name)),!r&&t&&t.path&&(r=Mj.lookup(t.path)),!r&&t&&t.readable&&Kp(t,"httpVersion")&&(r=t.headers["content-type"]),!r&&(e.filepath||e.filename)&&(r=Mj.lookup(e.filepath||e.filename)),!r&&t&&typeof t=="object"&&(r=Cr.DEFAULT_CONTENT_TYPE),r};Cr.prototype._multiPartFooter=function(){return function(t){var e=Cr.LINE_BREAK,r=this._streams.length===0;r&&(e+=this._lastBoundary()),t(e)}.bind(this)};Cr.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+Cr.LINE_BREAK};Cr.prototype.getHeaders=function(t){var e,r={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(e in t)Kp(t,e)&&(r[e.toLowerCase()]=t[e]);return r};Cr.prototype.setBoundary=function(t){if(typeof t!="string")throw new TypeError("FormData boundary must be a string");this._boundary=t};Cr.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};Cr.prototype.getBuffer=function(){for(var t=new Buffer.alloc(0),e=this.getBoundary(),r=0,n=this._streams.length;r<n;r++)typeof this._streams[r]!="function"&&(Buffer.isBuffer(this._streams[r])?t=Buffer.concat([t,this._streams[r]]):t=Buffer.concat([t,Buffer.from(this._streams[r])]),(typeof this._streams[r]!="string"||this._streams[r].substring(2,e.length+2)!==e)&&(t=Buffer.concat([t,Buffer.from(Cr.LINE_BREAK)])));return Buffer.concat([t,Buffer.from(this._lastBoundary())])};Cr.prototype._generateBoundary=function(){this._boundary="--------------------------"+hHt.randomBytes(12).toString("hex")};Cr.prototype.getLengthSync=function(){var t=this._overheadLength+this._valueLength;return this._streams.length&&(t+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),t};Cr.prototype.hasKnownLength=function(){var t=!0;return this._valuesToMeasure.length&&(t=!1),t};Cr.prototype.getLength=function(t){var e=this._overheadLength+this._valueLength;if(this._streams.length&&(e+=this._lastBoundary().length),!this._valuesToMeasure.length){process.nextTick(t.bind(this,null,e));return}gHt.parallel(this._valuesToMeasure,this._lengthRetriever,function(r,n){if(r){t(r);return}n.forEach(function(s){e+=s}),t(null,e)})};Cr.prototype.submit=function(t,e){var r,n,s={method:"post"};return typeof t=="string"?(t=fHt(t),n=Wj({port:t.port,path:t.pathname,host:t.hostname,protocol:t.protocol},s)):(n=Wj(t,s),n.port||(n.port=n.protocol==="https:"?443:80)),n.headers=this.getHeaders(t.headers),n.protocol==="https:"?r=dHt.request(n):r=lHt.request(n),this.getLength(function(i,a){if(i&&i!=="Unknown stream"){this._error(i);return}if(a&&r.setHeader("Content-Length",a),this.pipe(r),e){var o,c=function(u,l){return r.removeListener("error",c),r.removeListener("response",o),e.call(this,u,l)};o=c.bind(this,null),r.on("error",c),r.on("response",o)}}.bind(this)),r};Cr.prototype._error=function(t){this.error||(this.error=t,this.pause(),this.emit("error",t))};Cr.prototype.toString=function(){return"[object FormData]"};AHt(Cr.prototype,"FormData");oNe.exports=Cr});var vNe=E(SNe=>{"use strict";var kHt=require("url").parse,DHt={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},BHt=String.prototype.endsWith||function(t){return t.length<=this.length&&this.indexOf(t,this.length-t.length)!==-1};function LHt(t){var e=typeof t=="string"?kHt(t):t||{},r=e.protocol,n=e.host,s=e.port;if(typeof n!="string"||!n||typeof r!="string"||(r=r.split(":",1)[0],n=n.replace(/:\d*$/,""),s=parseInt(s)||DHt[r]||0,!MHt(n,s)))return"";var i=px("npm_config_"+r+"_proxy")||px(r+"_proxy")||px("npm_config_proxy")||px("all_proxy");return i&&i.indexOf("://")===-1&&(i=r+"://"+i),i}function MHt(t,e){var r=(px("npm_config_no_proxy")||px("no_proxy")).toLowerCase();return r?r==="*"?!1:r.split(/[,\s]/).every(function(n){if(!n)return!0;var s=n.match(/^(.+):(\d+)$/),i=s?s[1]:n,a=s?parseInt(s[2]):0;return a&&a!==e?!0:/^[.*]/.test(i)?(i.charAt(0)==="*"&&(i=i.slice(1)),!BHt.call(t,i)):t!==i}):!0}function px(t){return process.env[t.toLowerCase()]||process.env[t.toUpperCase()]||""}SNe.getProxyForUrl=LHt});var CNe=E((K6r,INe)=>{var mx=1e3,hx=mx*60,gx=hx*60,mh=gx*24,WHt=mh*7,$Ht=mh*365.25;INe.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return FHt(t);if(r==="number"&&isFinite(t))return e.long?qHt(t):UHt(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function FHt(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*$Ht;case"weeks":case"week":case"w":return r*WHt;case"days":case"day":case"d":return r*mh;case"hours":case"hour":case"hrs":case"hr":case"h":return r*gx;case"minutes":case"minute":case"mins":case"min":case"m":return r*hx;case"seconds":case"second":case"secs":case"sec":case"s":return r*mx;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function UHt(t){var e=Math.abs(t);return e>=mh?Math.round(t/mh)+"d":e>=gx?Math.round(t/gx)+"h":e>=hx?Math.round(t/hx)+"m":e>=mx?Math.round(t/mx)+"s":t+"ms"}function qHt(t){var e=Math.abs(t);return e>=mh?Ak(t,e,mh,"day"):e>=gx?Ak(t,e,gx,"hour"):e>=hx?Ak(t,e,hx,"minute"):e>=mx?Ak(t,e,mx,"second"):t+" ms"}function Ak(t,e,r,n){var s=e>=r*1.5;return Math.round(t/r)+" "+n+(s?"s":"")}});var zj=E((V6r,TNe)=>{function jHt(t){r.debug=r,r.default=r,r.coerce=c,r.disable=a,r.enable=s,r.enabled=o,r.humanize=CNe(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let d=0;for(let f=0;f<l.length;f++)d=(d<<5)-d+l.charCodeAt(f),d|=0;return r.colors[Math.abs(d)%r.colors.length]}r.selectColor=e;function r(l){let d,f=null,p,m;function h(...A){if(!h.enabled)return;let g=h,b=Number(new Date),y=b-(d||b);g.diff=y,g.prev=d,g.curr=b,d=b,A[0]=r.coerce(A[0]),typeof A[0]!="string"&&A.unshift("%O");let x=0;A[0]=A[0].replace(/%([a-zA-Z%])/g,(I,R)=>{if(I==="%%")return"%";x++;let w=r.formatters[R];if(typeof w=="function"){let N=A[x];I=w.call(g,N),A.splice(x,1),x--}return I}),r.formatArgs.call(g,A),(g.log||r.log).apply(g,A)}return h.namespace=l,h.useColors=r.useColors(),h.color=r.selectColor(l),h.extend=n,h.destroy=r.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(p!==r.namespaces&&(p=r.namespaces,m=r.enabled(l)),m),set:A=>{f=A}}),typeof r.init=="function"&&r.init(h),h}function n(l,d){let f=r(this.namespace+(typeof d>"u"?":":d)+l);return f.log=this.log,f}function s(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let d=(typeof l=="string"?l:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of d)f[0]==="-"?r.skips.push(f.slice(1)):r.names.push(f)}function i(l,d){let f=0,p=0,m=-1,h=0;for(;f<l.length;)if(p<d.length&&(d[p]===l[f]||d[p]==="*"))d[p]==="*"?(m=p,h=f,p++):(f++,p++);else if(m!==-1)p=m+1,h++,f=h;else return!1;for(;p<d.length&&d[p]==="*";)p++;return p===d.length}function a(){let l=[...r.names,...r.skips.map(d=>"-"+d)].join(",");return r.enable(""),l}function o(l){for(let d of r.skips)if(i(l,d))return!1;for(let d of r.names)if(i(l,d))return!0;return!1}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}TNe.exports=jHt});var wNe=E((Ga,yk)=>{Ga.formatArgs=QHt;Ga.save=GHt;Ga.load=KHt;Ga.useColors=HHt;Ga.storage=VHt();Ga.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ga.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function HHt(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function QHt(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+yk.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(r++,s==="%c"&&(n=r))}),t.splice(n,0,e)}Ga.log=console.debug||console.log||(()=>{});function GHt(t){try{t?Ga.storage.setItem("debug",t):Ga.storage.removeItem("debug")}catch{}}function KHt(){let t;try{t=Ga.storage.getItem("debug")||Ga.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function VHt(){try{return localStorage}catch{}}yk.exports=zj()(Ga);var{formatters:zHt}=yk.exports;zHt.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var NNe=E((z6r,RNe)=>{"use strict";RNe.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),s=e.indexOf("--");return n!==-1&&(s===-1||n<s)}});var kNe=E((Y6r,PNe)=>{"use strict";var YHt=require("os"),ONe=require("tty"),dc=NNe(),{env:zs}=process,Yp;dc("no-color")||dc("no-colors")||dc("color=false")||dc("color=never")?Yp=0:(dc("color")||dc("colors")||dc("color=true")||dc("color=always"))&&(Yp=1);"FORCE_COLOR"in zs&&(zs.FORCE_COLOR==="true"?Yp=1:zs.FORCE_COLOR==="false"?Yp=0:Yp=zs.FORCE_COLOR.length===0?1:Math.min(parseInt(zs.FORCE_COLOR,10),3));function Yj(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Jj(t,e){if(Yp===0)return 0;if(dc("color=16m")||dc("color=full")||dc("color=truecolor"))return 3;if(dc("color=256"))return 2;if(t&&!e&&Yp===void 0)return 0;let r=Yp||0;if(zs.TERM==="dumb")return r;if(process.platform==="win32"){let n=YHt.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in zs)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in zs)||zs.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in zs)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(zs.TEAMCITY_VERSION)?1:0;if(zs.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in zs){let n=parseInt((zs.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(zs.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(zs.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(zs.TERM)||"COLORTERM"in zs?1:r}function JHt(t){let e=Jj(t,t&&t.isTTY);return Yj(e)}PNe.exports={supportsColor:JHt,stdout:Yj(Jj(!0,ONe.isatty(1))),stderr:Yj(Jj(!0,ONe.isatty(2)))}});var BNe=E((Ys,bk)=>{var XHt=require("tty"),xk=require("util");Ys.init=iQt;Ys.log=rQt;Ys.formatArgs=eQt;Ys.save=nQt;Ys.load=sQt;Ys.useColors=ZHt;Ys.destroy=xk.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ys.colors=[6,2,3,4,5,1];try{let t=kNe();t&&(t.stderr||t).level>=2&&(Ys.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ys.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function ZHt(){return"colors"in Ys.inspectOpts?!!Ys.inspectOpts.colors:XHt.isatty(process.stderr.fd)}function eQt(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${e} \x1B[0m`;t[0]=i+t[0].split(`
|
|
`).join(`
|
|
`+i),t.push(s+"m+"+bk.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=tQt()+e+" "+t[0]}function tQt(){return Ys.inspectOpts.hideDate?"":new Date().toISOString()+" "}function rQt(...t){return process.stderr.write(xk.formatWithOptions(Ys.inspectOpts,...t)+`
|
|
`)}function nQt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function sQt(){return process.env.DEBUG}function iQt(t){t.inspectOpts={};let e=Object.keys(Ys.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ys.inspectOpts[e[r]]}bk.exports=zj()(Ys);var{formatters:DNe}=bk.exports;DNe.o=function(t){return this.inspectOpts.colors=this.useColors,xk.inspect(t,this.inspectOpts).split(`
|
|
`).map(e=>e.trim()).join(" ")};DNe.O=function(t){return this.inspectOpts.colors=this.useColors,xk.inspect(t,this.inspectOpts)}});var LNe=E((J6r,Xj)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Xj.exports=wNe():Xj.exports=BNe()});var WNe=E((X6r,MNe)=>{var FS;MNe.exports=function(){if(!FS){try{FS=LNe()("follow-redirects")}catch{}typeof FS!="function"&&(FS=function(){})}FS.apply(null,arguments)}});var jNe=E((Z6r,lH)=>{var qS=require("url"),US=qS.URL,aQt=require("http"),oQt=require("https"),nH=require("stream").Writable,sH=require("assert"),$Ne=WNe();(function(){var e=typeof process<"u",r=typeof window<"u"&&typeof document<"u",n=gh(Error.captureStackTrace);!e&&(r||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var iH=!1;try{sH(new US(""))}catch(t){iH=t.code==="ERR_INVALID_URL"}var cQt=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],aH=["abort","aborted","connect","error","socket","timeout"],oH=Object.create(null);aH.forEach(function(t){oH[t]=function(e,r,n){this._redirectable.emit(t,e,r,n)}});var eH=jS("ERR_INVALID_URL","Invalid URL",TypeError),tH=jS("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),uQt=jS("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",tH),lQt=jS("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),dQt=jS("ERR_STREAM_WRITE_AFTER_END","write after end"),fQt=nH.prototype.destroy||UNe;function Ka(t,e){nH.call(this),this._sanitizeOptions(t),this._options=t,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var r=this;this._onNativeResponse=function(n){try{r._processResponse(n)}catch(s){r.emit("error",s instanceof tH?s:new tH({cause:s}))}},this._performRequest()}Ka.prototype=Object.create(nH.prototype);Ka.prototype.abort=function(){uH(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Ka.prototype.destroy=function(t){return uH(this._currentRequest,t),fQt.call(this,t),this};Ka.prototype.write=function(t,e,r){if(this._ending)throw new dQt;if(!hh(t)&&!hQt(t))throw new TypeError("data should be a string, Buffer or Uint8Array");if(gh(e)&&(r=e,e=null),t.length===0){r&&r();return}this._requestBodyLength+t.length<=this._options.maxBodyLength?(this._requestBodyLength+=t.length,this._requestBodyBuffers.push({data:t,encoding:e}),this._currentRequest.write(t,e,r)):(this.emit("error",new lQt),this.abort())};Ka.prototype.end=function(t,e,r){if(gh(t)?(r=t,t=e=null):gh(e)&&(r=e,e=null),!t)this._ended=this._ending=!0,this._currentRequest.end(null,null,r);else{var n=this,s=this._currentRequest;this.write(t,e,function(){n._ended=!0,s.end(null,null,r)}),this._ending=!0}};Ka.prototype.setHeader=function(t,e){this._options.headers[t]=e,this._currentRequest.setHeader(t,e)};Ka.prototype.removeHeader=function(t){delete this._options.headers[t],this._currentRequest.removeHeader(t)};Ka.prototype.setTimeout=function(t,e){var r=this;function n(a){a.setTimeout(t),a.removeListener("timeout",a.destroy),a.addListener("timeout",a.destroy)}function s(a){r._timeout&&clearTimeout(r._timeout),r._timeout=setTimeout(function(){r.emit("timeout"),i()},t),n(a)}function i(){r._timeout&&(clearTimeout(r._timeout),r._timeout=null),r.removeListener("abort",i),r.removeListener("error",i),r.removeListener("response",i),r.removeListener("close",i),e&&r.removeListener("timeout",e),r.socket||r._currentRequest.removeListener("socket",s)}return e&&this.on("timeout",e),this.socket?s(this.socket):this._currentRequest.once("socket",s),this.on("socket",n),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(t){Ka.prototype[t]=function(e,r){return this._currentRequest[t](e,r)}});["aborted","connection","socket"].forEach(function(t){Object.defineProperty(Ka.prototype,t,{get:function(){return this._currentRequest[t]}})});Ka.prototype._sanitizeOptions=function(t){if(t.headers||(t.headers={}),t.host&&(t.hostname||(t.hostname=t.host),delete t.host),!t.pathname&&t.path){var e=t.path.indexOf("?");e<0?t.pathname=t.path:(t.pathname=t.path.substring(0,e),t.search=t.path.substring(e))}};Ka.prototype._performRequest=function(){var t=this._options.protocol,e=this._options.nativeProtocols[t];if(!e)throw new TypeError("Unsupported protocol "+t);if(this._options.agents){var r=t.slice(0,-1);this._options.agent=this._options.agents[r]}var n=this._currentRequest=e.request(this._options,this._onNativeResponse);n._redirectable=this;for(var s of aH)n.on(s,oH[s]);if(this._currentUrl=/^\//.test(this._options.path)?qS.format(this._options):this._options.path,this._isRedirect){var i=0,a=this,o=this._requestBodyBuffers;(function c(u){if(n===a._currentRequest)if(u)a.emit("error",u);else if(i<o.length){var l=o[i++];n.finished||n.write(l.data,l.encoding,c)}else a._ended&&n.end()})()}};Ka.prototype._processResponse=function(t){var e=t.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:t.headers,statusCode:e});var r=t.headers.location;if(!r||this._options.followRedirects===!1||e<300||e>=400){t.responseUrl=this._currentUrl,t.redirects=this._redirects,this.emit("response",t),this._requestBodyBuffers=[];return}if(uH(this._currentRequest),t.destroy(),++this._redirectCount>this._options.maxRedirects)throw new uQt;var n,s=this._options.beforeRedirect;s&&(n=Object.assign({Host:t.req.getHeader("host")},this._options.headers));var i=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],Zj(/^content-/i,this._options.headers));var a=Zj(/^host$/i,this._options.headers),o=cH(this._currentUrl),c=a||o.host,u=/^\w+:/.test(r)?this._currentUrl:qS.format(Object.assign(o,{host:c})),l=pQt(r,u);if($Ne("redirecting to",l.href),this._isRedirect=!0,rH(l,this._options),(l.protocol!==o.protocol&&l.protocol!=="https:"||l.host!==c&&!mQt(l.host,c))&&Zj(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),gh(s)){var d={headers:t.headers,statusCode:e},f={url:u,method:i,headers:n};s(this._options,d,f),this._sanitizeOptions(this._options)}this._performRequest()};function FNe(t){var e={maxRedirects:21,maxBodyLength:10485760},r={};return Object.keys(t).forEach(function(n){var s=n+":",i=r[s]=t[n],a=e[n]=Object.create(i);function o(u,l,d){return gQt(u)?u=rH(u):hh(u)?u=rH(cH(u)):(d=l,l=qNe(u),u={protocol:s}),gh(l)&&(d=l,l=null),l=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},u,l),l.nativeProtocols=r,!hh(l.host)&&!hh(l.hostname)&&(l.hostname="::1"),sH.equal(l.protocol,s,"protocol mismatch"),$Ne("options",l),new Ka(l,d)}function c(u,l,d){var f=a.request(u,l,d);return f.end(),f}Object.defineProperties(a,{request:{value:o,configurable:!0,enumerable:!0,writable:!0},get:{value:c,configurable:!0,enumerable:!0,writable:!0}})}),e}function UNe(){}function cH(t){var e;if(iH)e=new US(t);else if(e=qNe(qS.parse(t)),!hh(e.protocol))throw new eH({input:t});return e}function pQt(t,e){return iH?new US(t,e):cH(qS.resolve(e,t))}function qNe(t){if(/^\[/.test(t.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(t.hostname))throw new eH({input:t.href||t});if(/^\[/.test(t.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(t.host))throw new eH({input:t.href||t});return t}function rH(t,e){var r=e||{};for(var n of cQt)r[n]=t[n];return r.hostname.startsWith("[")&&(r.hostname=r.hostname.slice(1,-1)),r.port!==""&&(r.port=Number(r.port)),r.path=r.search?r.pathname+r.search:r.pathname,r}function Zj(t,e){var r;for(var n in e)t.test(n)&&(r=e[n],delete e[n]);return r===null||typeof r>"u"?void 0:String(r).trim()}function jS(t,e,r){function n(s){gh(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,s||{}),this.code=t,this.message=this.cause?e+": "+this.cause.message:e}return n.prototype=new(r||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+t+"]",enumerable:!1}}),n}function uH(t,e){for(var r of aH)t.removeListener(r,oH[r]);t.on("error",UNe),t.destroy(e)}function mQt(t,e){sH(hh(t)&&hh(e));var r=t.length-e.length-1;return r>0&&t[r]==="."&&t.endsWith(e)}function hh(t){return typeof t=="string"||t instanceof String}function gh(t){return typeof t=="function"}function hQt(t){return typeof t=="object"&&"length"in t}function gQt(t){return US&&t instanceof US}lH.exports=FNe({http:aQt,https:oQt});lH.exports.wrap=FNe});var Gk=E(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});dl.AttributeAction=dl.IgnoreCaseMode=dl.SelectorType=void 0;var WGt;(function(t){t.Attribute="attribute",t.Pseudo="pseudo",t.PseudoElement="pseudo-element",t.Tag="tag",t.Universal="universal",t.Adjacent="adjacent",t.Child="child",t.Descendant="descendant",t.Parent="parent",t.Sibling="sibling",t.ColumnCombinator="column-combinator"})(WGt=dl.SelectorType||(dl.SelectorType={}));dl.IgnoreCaseMode={Unknown:null,QuirksMode:"quirks",IgnoreCase:!0,CaseSensitive:!1};var $Gt;(function(t){t.Any="any",t.Element="element",t.End="end",t.Equals="equals",t.Exists="exists",t.Hyphen="hyphen",t.Not="not",t.Start="start"})($Gt=dl.AttributeAction||(dl.AttributeAction={}))});var hPe=E(Ix=>{"use strict";Object.defineProperty(Ix,"__esModule",{value:!0});Ix.parse=Ix.isTraversal=void 0;var Qr=Gk(),dPe=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,FGt=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,UGt=new Map([[126,Qr.AttributeAction.Element],[94,Qr.AttributeAction.Start],[36,Qr.AttributeAction.End],[42,Qr.AttributeAction.Any],[33,Qr.AttributeAction.Not],[124,Qr.AttributeAction.Hyphen]]),qGt=new Set(["has","not","matches","is","where","host","host-context"]);function pPe(t){switch(t.type){case Qr.SelectorType.Adjacent:case Qr.SelectorType.Child:case Qr.SelectorType.Descendant:case Qr.SelectorType.Parent:case Qr.SelectorType.Sibling:case Qr.SelectorType.ColumnCombinator:return!0;default:return!1}}Ix.isTraversal=pPe;var jGt=new Set(["contains","icontains"]);function HGt(t,e,r){var n=parseInt(e,16)-65536;return n!==n||r?e:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,n&1023|56320)}function sv(t){return t.replace(FGt,HGt)}function qH(t){return t===39||t===34}function fPe(t){return t===32||t===9||t===10||t===12||t===13}function QGt(t){var e=[],r=mPe(e,"".concat(t),0);if(r<t.length)throw new Error("Unmatched selector: ".concat(t.slice(r)));return e}Ix.parse=QGt;function mPe(t,e,r){var n=[];function s(D){var L=e.slice(r+D).match(dPe);if(!L)throw new Error("Expected name, found ".concat(e.slice(r)));var Z=L[0];return r+=D+Z.length,sv(Z)}function i(D){for(r+=D;r<e.length&&fPe(e.charCodeAt(r));)r++}function a(){r+=1;for(var D=r,L=1;L>0&&r<e.length;r++)e.charCodeAt(r)===40&&!o(r)?L++:e.charCodeAt(r)===41&&!o(r)&&L--;if(L)throw new Error("Parenthesis not matched");return sv(e.slice(D,r-1))}function o(D){for(var L=0;e.charCodeAt(--D)===92;)L++;return(L&1)===1}function c(){if(n.length>0&&pPe(n[n.length-1]))throw new Error("Did not expect successive traversals.")}function u(D){if(n.length>0&&n[n.length-1].type===Qr.SelectorType.Descendant){n[n.length-1].type=D;return}c(),n.push({type:D})}function l(D,L){n.push({type:Qr.SelectorType.Attribute,name:D,action:L,value:s(1),namespace:null,ignoreCase:"quirks"})}function d(){if(n.length&&n[n.length-1].type===Qr.SelectorType.Descendant&&n.pop(),n.length===0)throw new Error("Empty sub-selector");t.push(n)}if(i(0),e.length===r)return r;e:for(;r<e.length;){var f=e.charCodeAt(r);switch(f){case 32:case 9:case 10:case 12:case 13:{(n.length===0||n[0].type!==Qr.SelectorType.Descendant)&&(c(),n.push({type:Qr.SelectorType.Descendant})),i(1);break}case 62:{u(Qr.SelectorType.Child),i(1);break}case 60:{u(Qr.SelectorType.Parent),i(1);break}case 126:{u(Qr.SelectorType.Sibling),i(1);break}case 43:{u(Qr.SelectorType.Adjacent),i(1);break}case 46:{l("class",Qr.AttributeAction.Element);break}case 35:{l("id",Qr.AttributeAction.Equals);break}case 91:{i(1);var p=void 0,m=null;e.charCodeAt(r)===124?p=s(1):e.startsWith("*|",r)?(m="*",p=s(2)):(p=s(0),e.charCodeAt(r)===124&&e.charCodeAt(r+1)!==61&&(m=p,p=s(1))),i(0);var h=Qr.AttributeAction.Exists,A=UGt.get(e.charCodeAt(r));if(A){if(h=A,e.charCodeAt(r+1)!==61)throw new Error("Expected `=`");i(2)}else e.charCodeAt(r)===61&&(h=Qr.AttributeAction.Equals,i(1));var g="",b=null;if(h!=="exists"){if(qH(e.charCodeAt(r))){for(var y=e.charCodeAt(r),x=r+1;x<e.length&&(e.charCodeAt(x)!==y||o(x));)x+=1;if(e.charCodeAt(x)!==y)throw new Error("Attribute value didn't end");g=sv(e.slice(r+1,x)),r=x+1}else{for(var v=r;r<e.length&&(!fPe(e.charCodeAt(r))&&e.charCodeAt(r)!==93||o(r));)r+=1;g=sv(e.slice(v,r))}i(0);var I=e.charCodeAt(r)|32;I===115?(b=!1,i(1)):I===105&&(b=!0,i(1))}if(e.charCodeAt(r)!==93)throw new Error("Attribute selector didn't terminate");r+=1;var R={type:Qr.SelectorType.Attribute,name:p,action:h,value:g,namespace:m,ignoreCase:b};n.push(R);break}case 58:{if(e.charCodeAt(r+1)===58){n.push({type:Qr.SelectorType.PseudoElement,name:s(2).toLowerCase(),data:e.charCodeAt(r)===40?a():null});continue}var w=s(1).toLowerCase(),N=null;if(e.charCodeAt(r)===40)if(qGt.has(w)){if(qH(e.charCodeAt(r+1)))throw new Error("Pseudo-selector ".concat(w," cannot be quoted"));if(N=[],r=mPe(N,e,r+1),e.charCodeAt(r)!==41)throw new Error("Missing closing parenthesis in :".concat(w," (").concat(e,")"));r+=1}else{if(N=a(),jGt.has(w)){var P=N.charCodeAt(0);P===N.charCodeAt(N.length-1)&&qH(P)&&(N=N.slice(1,-1))}N=sv(N)}n.push({type:Qr.SelectorType.Pseudo,name:w,data:N});break}case 44:{d(),n=[],i(1);break}default:{if(e.startsWith("/*",r)){var B=e.indexOf("*/",r+2);if(B<0)throw new Error("Comment was not terminated");r=B+2,n.length===0&&i(0);break}var m=null,M=void 0;if(f===42)r+=1,M="*";else if(f===124){if(M="",e.charCodeAt(r+1)===124){u(Qr.SelectorType.ColumnCombinator),i(2);break}}else if(dPe.test(e.slice(r)))M=s(0);else break e;e.charCodeAt(r)===124&&e.charCodeAt(r+1)!==124&&(m=M,e.charCodeAt(r+1)===42?(M="*",r+=2):M=s(1)),n.push(M==="*"?{type:Qr.SelectorType.Universal,namespace:m}:{type:Qr.SelectorType.Tag,name:M,namespace:m})}}}return d(),r}});var _Pe=E(Tx=>{"use strict";var Kk=Tx&&Tx.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var n=0,s=e.length,i;n<s;n++)(i||!(n in e))&&(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))};Object.defineProperty(Tx,"__esModule",{value:!0});Tx.stringify=void 0;var Yn=Gk(),yPe=["\\",'"'],xPe=Kk(Kk([],yPe,!0),["(",")"],!1),GGt=new Set(yPe.map(function(t){return t.charCodeAt(0)})),gPe=new Set(xPe.map(function(t){return t.charCodeAt(0)})),Cx=new Set(Kk(Kk([],xPe,!0),["~","^","$","*","+","!","|",":","[","]"," ","."],!1).map(function(t){return t.charCodeAt(0)}));function bPe(t){return t.map(function(e){return e.map(KGt).join("")}).join(", ")}Tx.stringify=bPe;function KGt(t,e,r){switch(t.type){case Yn.SelectorType.Child:return e===0?"> ":" > ";case Yn.SelectorType.Parent:return e===0?"< ":" < ";case Yn.SelectorType.Sibling:return e===0?"~ ":" ~ ";case Yn.SelectorType.Adjacent:return e===0?"+ ":" + ";case Yn.SelectorType.Descendant:return" ";case Yn.SelectorType.ColumnCombinator:return e===0?"|| ":" || ";case Yn.SelectorType.Universal:return t.namespace==="*"&&e+1<r.length&&"name"in r[e+1]?"":"".concat(EPe(t.namespace),"*");case Yn.SelectorType.Tag:return APe(t);case Yn.SelectorType.PseudoElement:return"::".concat(Ud(t.name,Cx)).concat(t.data===null?"":"(".concat(Ud(t.data,gPe),")"));case Yn.SelectorType.Pseudo:return":".concat(Ud(t.name,Cx)).concat(t.data===null?"":"(".concat(typeof t.data=="string"?Ud(t.data,gPe):bPe(t.data),")"));case Yn.SelectorType.Attribute:{if(t.name==="id"&&t.action===Yn.AttributeAction.Equals&&t.ignoreCase==="quirks"&&!t.namespace)return"#".concat(Ud(t.value,Cx));if(t.name==="class"&&t.action===Yn.AttributeAction.Element&&t.ignoreCase==="quirks"&&!t.namespace)return".".concat(Ud(t.value,Cx));var n=APe(t);return t.action===Yn.AttributeAction.Exists?"[".concat(n,"]"):"[".concat(n).concat(VGt(t.action),'="').concat(Ud(t.value,GGt),'"').concat(t.ignoreCase===null?"":t.ignoreCase?" i":" s","]")}}}function VGt(t){switch(t){case Yn.AttributeAction.Equals:return"";case Yn.AttributeAction.Element:return"~";case Yn.AttributeAction.Start:return"^";case Yn.AttributeAction.End:return"$";case Yn.AttributeAction.Any:return"*";case Yn.AttributeAction.Not:return"!";case Yn.AttributeAction.Hyphen:return"|";case Yn.AttributeAction.Exists:throw new Error("Shouldn't be here")}}function APe(t){return"".concat(EPe(t.namespace)).concat(Ud(t.name,Cx))}function EPe(t){return t!==null?"".concat(t==="*"?"*":Ud(t,Cx),"|"):""}function Ud(t,e){for(var r=0,n="",s=0;s<t.length;s++)e.has(t.charCodeAt(s))&&(n+="".concat(t.slice(r,s),"\\").concat(t.charAt(s)),r=s+1);return n.length>0?n+t.slice(r):t}});var wx=E(vo=>{"use strict";var zGt=vo&&vo.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),YGt=vo&&vo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&zGt(e,t,r)};Object.defineProperty(vo,"__esModule",{value:!0});vo.stringify=vo.parse=vo.isTraversal=void 0;YGt(Gk(),vo);var SPe=hPe();Object.defineProperty(vo,"isTraversal",{enumerable:!0,get:function(){return SPe.isTraversal}});Object.defineProperty(vo,"parse",{enumerable:!0,get:function(){return SPe.parse}});var JGt=_Pe();Object.defineProperty(vo,"stringify",{enumerable:!0,get:function(){return JGt.stringify}})});var n0=E((W$r,vPe)=>{vPe.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}});var vv=E((NQ,OQ)=>{(function(t,e){typeof NQ=="object"&&typeof OQ<"u"?OQ.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(NQ,function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",s="second",i="minute",a="hour",o="day",c="week",u="month",l="quarter",d="year",f="date",p="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,A={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(M){var D=["th","st","nd","rd"],L=M%100;return"["+M+(D[(L-20)%10]||D[L]||D[0])+"]"}},g=function(M,D,L){var Z=String(M);return!Z||Z.length>=D?M:""+Array(D+1-Z.length).join(L)+M},b={s:g,z:function(M){var D=-M.utcOffset(),L=Math.abs(D),Z=Math.floor(L/60),W=L%60;return(D<=0?"+":"-")+g(Z,2,"0")+":"+g(W,2,"0")},m:function M(D,L){if(D.date()<L.date())return-M(L,D);var Z=12*(L.year()-D.year())+(L.month()-D.month()),W=D.clone().add(Z,u),F=L-W<0,K=D.clone().add(Z+(F?-1:1),u);return+(-(Z+(L-W)/(F?W-K:K-W))||0)},a:function(M){return M<0?Math.ceil(M)||0:Math.floor(M)},p:function(M){return{M:u,y:d,w:c,d:o,D:f,h:a,m:i,s,ms:n,Q:l}[M]||String(M||"").toLowerCase().replace(/s$/,"")},u:function(M){return M===void 0}},y="en",x={};x[y]=A;var v="$isDayjsObject",I=function(M){return M instanceof P||!(!M||!M[v])},R=function M(D,L,Z){var W;if(!D)return y;if(typeof D=="string"){var F=D.toLowerCase();x[F]&&(W=F),L&&(x[F]=L,W=F);var K=D.split("-");if(!W&&K.length>1)return M(K[0])}else{var j=D.name;x[j]=D,W=j}return!Z&&W&&(y=W),W||!Z&&y},w=function(M,D){if(I(M))return M.clone();var L=typeof D=="object"?D:{};return L.date=M,L.args=arguments,new P(L)},N=b;N.l=R,N.i=I,N.w=function(M,D){return w(M,{locale:D.$L,utc:D.$u,x:D.$x,$offset:D.$offset})};var P=function(){function M(L){this.$L=R(L.locale,null,!0),this.parse(L),this.$x=this.$x||L.x||{},this[v]=!0}var D=M.prototype;return D.parse=function(L){this.$d=function(Z){var W=Z.date,F=Z.utc;if(W===null)return new Date(NaN);if(N.u(W))return new Date;if(W instanceof Date)return new Date(W);if(typeof W=="string"&&!/Z$/i.test(W)){var K=W.match(m);if(K){var j=K[2]-1||0,J=(K[7]||"0").substring(0,3);return F?new Date(Date.UTC(K[1],j,K[3]||1,K[4]||0,K[5]||0,K[6]||0,J)):new Date(K[1],j,K[3]||1,K[4]||0,K[5]||0,K[6]||0,J)}}return new Date(W)}(L),this.init()},D.init=function(){var L=this.$d;this.$y=L.getFullYear(),this.$M=L.getMonth(),this.$D=L.getDate(),this.$W=L.getDay(),this.$H=L.getHours(),this.$m=L.getMinutes(),this.$s=L.getSeconds(),this.$ms=L.getMilliseconds()},D.$utils=function(){return N},D.isValid=function(){return this.$d.toString()!==p},D.isSame=function(L,Z){var W=w(L);return this.startOf(Z)<=W&&W<=this.endOf(Z)},D.isAfter=function(L,Z){return w(L)<this.startOf(Z)},D.isBefore=function(L,Z){return this.endOf(Z)<w(L)},D.$g=function(L,Z,W){return N.u(L)?this[Z]:this.set(W,L)},D.unix=function(){return Math.floor(this.valueOf()/1e3)},D.valueOf=function(){return this.$d.getTime()},D.startOf=function(L,Z){var W=this,F=!!N.u(Z)||Z,K=N.p(L),j=function(Fe,_e){var U=N.w(W.$u?Date.UTC(W.$y,_e,Fe):new Date(W.$y,_e,Fe),W);return F?U:U.endOf(o)},J=function(Fe,_e){return N.w(W.toDate()[Fe].apply(W.toDate("s"),(F?[0,0,0,0]:[23,59,59,999]).slice(_e)),W)},se=this.$W,oe=this.$M,ue=this.$D,Ie="set"+(this.$u?"UTC":"");switch(K){case d:return F?j(1,0):j(31,11);case u:return F?j(1,oe):j(0,oe+1);case c:var we=this.$locale().weekStart||0,qe=(se<we?se+7:se)-we;return j(F?ue-qe:ue+(6-qe),oe);case o:case f:return J(Ie+"Hours",0);case a:return J(Ie+"Minutes",1);case i:return J(Ie+"Seconds",2);case s:return J(Ie+"Milliseconds",3);default:return this.clone()}},D.endOf=function(L){return this.startOf(L,!1)},D.$set=function(L,Z){var W,F=N.p(L),K="set"+(this.$u?"UTC":""),j=(W={},W[o]=K+"Date",W[f]=K+"Date",W[u]=K+"Month",W[d]=K+"FullYear",W[a]=K+"Hours",W[i]=K+"Minutes",W[s]=K+"Seconds",W[n]=K+"Milliseconds",W)[F],J=F===o?this.$D+(Z-this.$W):Z;if(F===u||F===d){var se=this.clone().set(f,1);se.$d[j](J),se.init(),this.$d=se.set(f,Math.min(this.$D,se.daysInMonth())).$d}else j&&this.$d[j](J);return this.init(),this},D.set=function(L,Z){return this.clone().$set(L,Z)},D.get=function(L){return this[N.p(L)]()},D.add=function(L,Z){var W,F=this;L=Number(L);var K=N.p(Z),j=function(oe){var ue=w(F);return N.w(ue.date(ue.date()+Math.round(oe*L)),F)};if(K===u)return this.set(u,this.$M+L);if(K===d)return this.set(d,this.$y+L);if(K===o)return j(1);if(K===c)return j(7);var J=(W={},W[i]=e,W[a]=r,W[s]=t,W)[K]||1,se=this.$d.getTime()+L*J;return N.w(se,this)},D.subtract=function(L,Z){return this.add(-1*L,Z)},D.format=function(L){var Z=this,W=this.$locale();if(!this.isValid())return W.invalidDate||p;var F=L||"YYYY-MM-DDTHH:mm:ssZ",K=N.z(this),j=this.$H,J=this.$m,se=this.$M,oe=W.weekdays,ue=W.months,Ie=W.meridiem,we=function(_e,U,G,V){return _e&&(_e[U]||_e(Z,F))||G[U].slice(0,V)},qe=function(_e){return N.s(j%12||12,_e,"0")},Fe=Ie||function(_e,U,G){var V=_e<12?"AM":"PM";return G?V.toLowerCase():V};return F.replace(h,function(_e,U){return U||function(G){switch(G){case"YY":return String(Z.$y).slice(-2);case"YYYY":return N.s(Z.$y,4,"0");case"M":return se+1;case"MM":return N.s(se+1,2,"0");case"MMM":return we(W.monthsShort,se,ue,3);case"MMMM":return we(ue,se);case"D":return Z.$D;case"DD":return N.s(Z.$D,2,"0");case"d":return String(Z.$W);case"dd":return we(W.weekdaysMin,Z.$W,oe,2);case"ddd":return we(W.weekdaysShort,Z.$W,oe,3);case"dddd":return oe[Z.$W];case"H":return String(j);case"HH":return N.s(j,2,"0");case"h":return qe(1);case"hh":return qe(2);case"a":return Fe(j,J,!0);case"A":return Fe(j,J,!1);case"m":return String(J);case"mm":return N.s(J,2,"0");case"s":return String(Z.$s);case"ss":return N.s(Z.$s,2,"0");case"SSS":return N.s(Z.$ms,3,"0");case"Z":return K}return null}(_e)||K.replace(":","")})},D.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},D.diff=function(L,Z,W){var F,K=this,j=N.p(Z),J=w(L),se=(J.utcOffset()-this.utcOffset())*e,oe=this-J,ue=function(){return N.m(K,J)};switch(j){case d:F=ue()/12;break;case u:F=ue();break;case l:F=ue()/3;break;case c:F=(oe-se)/6048e5;break;case o:F=(oe-se)/864e5;break;case a:F=oe/r;break;case i:F=oe/e;break;case s:F=oe/t;break;default:F=oe}return W?F:N.a(F)},D.daysInMonth=function(){return this.endOf(u).$D},D.$locale=function(){return x[this.$L]},D.locale=function(L,Z){if(!L)return this.$L;var W=this.clone(),F=R(L,Z,!0);return F&&(W.$L=F),W},D.clone=function(){return N.w(this.$d,this)},D.toDate=function(){return new Date(this.valueOf())},D.toJSON=function(){return this.isValid()?this.toISOString():null},D.toISOString=function(){return this.$d.toISOString()},D.toString=function(){return this.$d.toUTCString()},M}(),B=P.prototype;return w.prototype=B,[["$ms",n],["$s",s],["$m",i],["$H",a],["$W",o],["$M",u],["$y",d],["$D",f]].forEach(function(M){B[M[1]]=function(D){return this.$g(D,M[0],M[1])}}),w.extend=function(M,D){return M.$i||(M(D,P,w),M.$i=!0),w},w.locale=R,w.isDayjs=I,w.unix=function(M){return w(1e3*M)},w.en=x[y],w.Ls=x,w.p={},w})});var fr=E((ID,aDe)=>{(function(t,e){typeof ID=="object"?aDe.exports=ID=e():typeof define=="function"&&define.amd?define([],e):t.CryptoJS=e()})(ID,function(){var t=t||function(e,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof require=="function")try{n=require("crypto")}catch{}var s=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function g(){}return function(b){var y;return g.prototype=b,y=new g,g.prototype=null,y}}(),a={},o=a.lib={},c=o.Base=function(){return{extend:function(g){var b=i(this);return g&&b.mixIn(g),(!b.hasOwnProperty("init")||this.init===b.init)&&(b.init=function(){b.$super.init.apply(this,arguments)}),b.init.prototype=b,b.$super=this,b},create:function(){var g=this.extend();return g.init.apply(g,arguments),g},init:function(){},mixIn:function(g){for(var b in g)g.hasOwnProperty(b)&&(this[b]=g[b]);g.hasOwnProperty("toString")&&(this.toString=g.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),u=o.WordArray=c.extend({init:function(g,b){g=this.words=g||[],b!=r?this.sigBytes=b:this.sigBytes=g.length*4},toString:function(g){return(g||d).stringify(this)},concat:function(g){var b=this.words,y=g.words,x=this.sigBytes,v=g.sigBytes;if(this.clamp(),x%4)for(var I=0;I<v;I++){var R=y[I>>>2]>>>24-I%4*8&255;b[x+I>>>2]|=R<<24-(x+I)%4*8}else for(var w=0;w<v;w+=4)b[x+w>>>2]=y[w>>>2];return this.sigBytes+=v,this},clamp:function(){var g=this.words,b=this.sigBytes;g[b>>>2]&=4294967295<<32-b%4*8,g.length=e.ceil(b/4)},clone:function(){var g=c.clone.call(this);return g.words=this.words.slice(0),g},random:function(g){for(var b=[],y=0;y<g;y+=4)b.push(s());return new u.init(b,g)}}),l=a.enc={},d=l.Hex={stringify:function(g){for(var b=g.words,y=g.sigBytes,x=[],v=0;v<y;v++){var I=b[v>>>2]>>>24-v%4*8&255;x.push((I>>>4).toString(16)),x.push((I&15).toString(16))}return x.join("")},parse:function(g){for(var b=g.length,y=[],x=0;x<b;x+=2)y[x>>>3]|=parseInt(g.substr(x,2),16)<<24-x%8*4;return new u.init(y,b/2)}},f=l.Latin1={stringify:function(g){for(var b=g.words,y=g.sigBytes,x=[],v=0;v<y;v++){var I=b[v>>>2]>>>24-v%4*8&255;x.push(String.fromCharCode(I))}return x.join("")},parse:function(g){for(var b=g.length,y=[],x=0;x<b;x++)y[x>>>2]|=(g.charCodeAt(x)&255)<<24-x%4*8;return new u.init(y,b)}},p=l.Utf8={stringify:function(g){try{return decodeURIComponent(escape(f.stringify(g)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(g){return f.parse(unescape(encodeURIComponent(g)))}},m=o.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(g){typeof g=="string"&&(g=p.parse(g)),this._data.concat(g),this._nDataBytes+=g.sigBytes},_process:function(g){var b,y=this._data,x=y.words,v=y.sigBytes,I=this.blockSize,R=I*4,w=v/R;g?w=e.ceil(w):w=e.max((w|0)-this._minBufferSize,0);var N=w*I,P=e.min(N*4,v);if(N){for(var B=0;B<N;B+=I)this._doProcessBlock(x,B);b=x.splice(0,N),y.sigBytes-=P}return new u.init(b,P)},clone:function(){var g=c.clone.call(this);return g._data=this._data.clone(),g},_minBufferSize:0}),h=o.Hasher=m.extend({cfg:c.extend(),init:function(g){this.cfg=this.cfg.extend(g),this.reset()},reset:function(){m.reset.call(this),this._doReset()},update:function(g){return this._append(g),this._process(),this},finalize:function(g){g&&this._append(g);var b=this._doFinalize();return b},blockSize:512/32,_createHelper:function(g){return function(b,y){return new g.init(y).finalize(b)}},_createHmacHelper:function(g){return function(b,y){return new A.HMAC.init(g,y).finalize(b)}}}),A=a.algo={};return a}(Math);return t})});var Iv=E((CD,oDe)=>{(function(t,e){typeof CD=="object"?oDe.exports=CD=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(CD,function(t){return function(e){var r=t,n=r.lib,s=n.Base,i=n.WordArray,a=r.x64={},o=a.Word=s.extend({init:function(u,l){this.high=u,this.low=l}}),c=a.WordArray=s.extend({init:function(u,l){u=this.words=u||[],l!=e?this.sigBytes=l:this.sigBytes=u.length*8},toX32:function(){for(var u=this.words,l=u.length,d=[],f=0;f<l;f++){var p=u[f];d.push(p.high),d.push(p.low)}return i.create(d,this.sigBytes)},clone:function(){for(var u=s.clone.call(this),l=u.words=this.words.slice(0),d=l.length,f=0;f<d;f++)l[f]=l[f].clone();return u}})}(),t})});var uDe=E((TD,cDe)=>{(function(t,e){typeof TD=="object"?cDe.exports=TD=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(TD,function(t){return function(){if(typeof ArrayBuffer=="function"){var e=t,r=e.lib,n=r.WordArray,s=n.init,i=n.init=function(a){if(a instanceof ArrayBuffer&&(a=new Uint8Array(a)),(a instanceof Int8Array||typeof Uint8ClampedArray<"u"&&a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array)&&(a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)),a instanceof Uint8Array){for(var o=a.byteLength,c=[],u=0;u<o;u++)c[u>>>2]|=a[u]<<24-u%4*8;s.call(this,c,o)}else s.apply(this,arguments)};i.prototype=n}}(),t.lib.WordArray})});var dDe=E((wD,lDe)=>{(function(t,e){typeof wD=="object"?lDe.exports=wD=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(wD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,i=s.Utf16=s.Utf16BE={stringify:function(o){for(var c=o.words,u=o.sigBytes,l=[],d=0;d<u;d+=2){var f=c[d>>>2]>>>16-d%4*8&65535;l.push(String.fromCharCode(f))}return l.join("")},parse:function(o){for(var c=o.length,u=[],l=0;l<c;l++)u[l>>>1]|=o.charCodeAt(l)<<16-l%2*16;return n.create(u,c*2)}};s.Utf16LE={stringify:function(o){for(var c=o.words,u=o.sigBytes,l=[],d=0;d<u;d+=2){var f=a(c[d>>>2]>>>16-d%4*8&65535);l.push(String.fromCharCode(f))}return l.join("")},parse:function(o){for(var c=o.length,u=[],l=0;l<c;l++)u[l>>>1]|=a(o.charCodeAt(l)<<16-l%2*16);return n.create(u,c*2)}};function a(o){return o<<8&4278255360|o>>>8&16711935}}(),t.enc.Utf16})});var d0=E((RD,fDe)=>{(function(t,e){typeof RD=="object"?fDe.exports=RD=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(RD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,i=s.Base64={stringify:function(o){var c=o.words,u=o.sigBytes,l=this._map;o.clamp();for(var d=[],f=0;f<u;f+=3)for(var p=c[f>>>2]>>>24-f%4*8&255,m=c[f+1>>>2]>>>24-(f+1)%4*8&255,h=c[f+2>>>2]>>>24-(f+2)%4*8&255,A=p<<16|m<<8|h,g=0;g<4&&f+g*.75<u;g++)d.push(l.charAt(A>>>6*(3-g)&63));var b=l.charAt(64);if(b)for(;d.length%4;)d.push(b);return d.join("")},parse:function(o){var c=o.length,u=this._map,l=this._reverseMap;if(!l){l=this._reverseMap=[];for(var d=0;d<u.length;d++)l[u.charCodeAt(d)]=d}var f=u.charAt(64);if(f){var p=o.indexOf(f);p!==-1&&(c=p)}return a(o,c,l)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function a(o,c,u){for(var l=[],d=0,f=0;f<c;f++)if(f%4){var p=u[o.charCodeAt(f-1)]<<f%4*2,m=u[o.charCodeAt(f)]>>>6-f%4*2,h=p|m;l[d>>>2]|=h<<24-d%4*8,d++}return n.create(l,d)}}(),t.enc.Base64})});var mDe=E((ND,pDe)=>{(function(t,e){typeof ND=="object"?pDe.exports=ND=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ND,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,i=s.Base64url={stringify:function(o,c){c===void 0&&(c=!0);var u=o.words,l=o.sigBytes,d=c?this._safe_map:this._map;o.clamp();for(var f=[],p=0;p<l;p+=3)for(var m=u[p>>>2]>>>24-p%4*8&255,h=u[p+1>>>2]>>>24-(p+1)%4*8&255,A=u[p+2>>>2]>>>24-(p+2)%4*8&255,g=m<<16|h<<8|A,b=0;b<4&&p+b*.75<l;b++)f.push(d.charAt(g>>>6*(3-b)&63));var y=d.charAt(64);if(y)for(;f.length%4;)f.push(y);return f.join("")},parse:function(o,c){c===void 0&&(c=!0);var u=o.length,l=c?this._safe_map:this._map,d=this._reverseMap;if(!d){d=this._reverseMap=[];for(var f=0;f<l.length;f++)d[l.charCodeAt(f)]=f}var p=l.charAt(64);if(p){var m=o.indexOf(p);m!==-1&&(u=m)}return a(o,u,d)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function a(o,c,u){for(var l=[],d=0,f=0;f<c;f++)if(f%4){var p=u[o.charCodeAt(f-1)]<<f%4*2,m=u[o.charCodeAt(f)]>>>6-f%4*2,h=p|m;l[d>>>2]|=h<<24-d%4*8,d++}return n.create(l,d)}}(),t.enc.Base64url})});var f0=E((OD,hDe)=>{(function(t,e){typeof OD=="object"?hDe.exports=OD=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(OD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=[];(function(){for(var p=0;p<64;p++)o[p]=e.abs(e.sin(p+1))*4294967296|0})();var c=a.MD5=i.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,m){for(var h=0;h<16;h++){var A=m+h,g=p[A];p[A]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360}var b=this._hash.words,y=p[m+0],x=p[m+1],v=p[m+2],I=p[m+3],R=p[m+4],w=p[m+5],N=p[m+6],P=p[m+7],B=p[m+8],M=p[m+9],D=p[m+10],L=p[m+11],Z=p[m+12],W=p[m+13],F=p[m+14],K=p[m+15],j=b[0],J=b[1],se=b[2],oe=b[3];j=u(j,J,se,oe,y,7,o[0]),oe=u(oe,j,J,se,x,12,o[1]),se=u(se,oe,j,J,v,17,o[2]),J=u(J,se,oe,j,I,22,o[3]),j=u(j,J,se,oe,R,7,o[4]),oe=u(oe,j,J,se,w,12,o[5]),se=u(se,oe,j,J,N,17,o[6]),J=u(J,se,oe,j,P,22,o[7]),j=u(j,J,se,oe,B,7,o[8]),oe=u(oe,j,J,se,M,12,o[9]),se=u(se,oe,j,J,D,17,o[10]),J=u(J,se,oe,j,L,22,o[11]),j=u(j,J,se,oe,Z,7,o[12]),oe=u(oe,j,J,se,W,12,o[13]),se=u(se,oe,j,J,F,17,o[14]),J=u(J,se,oe,j,K,22,o[15]),j=l(j,J,se,oe,x,5,o[16]),oe=l(oe,j,J,se,N,9,o[17]),se=l(se,oe,j,J,L,14,o[18]),J=l(J,se,oe,j,y,20,o[19]),j=l(j,J,se,oe,w,5,o[20]),oe=l(oe,j,J,se,D,9,o[21]),se=l(se,oe,j,J,K,14,o[22]),J=l(J,se,oe,j,R,20,o[23]),j=l(j,J,se,oe,M,5,o[24]),oe=l(oe,j,J,se,F,9,o[25]),se=l(se,oe,j,J,I,14,o[26]),J=l(J,se,oe,j,B,20,o[27]),j=l(j,J,se,oe,W,5,o[28]),oe=l(oe,j,J,se,v,9,o[29]),se=l(se,oe,j,J,P,14,o[30]),J=l(J,se,oe,j,Z,20,o[31]),j=d(j,J,se,oe,w,4,o[32]),oe=d(oe,j,J,se,B,11,o[33]),se=d(se,oe,j,J,L,16,o[34]),J=d(J,se,oe,j,F,23,o[35]),j=d(j,J,se,oe,x,4,o[36]),oe=d(oe,j,J,se,R,11,o[37]),se=d(se,oe,j,J,P,16,o[38]),J=d(J,se,oe,j,D,23,o[39]),j=d(j,J,se,oe,W,4,o[40]),oe=d(oe,j,J,se,y,11,o[41]),se=d(se,oe,j,J,I,16,o[42]),J=d(J,se,oe,j,N,23,o[43]),j=d(j,J,se,oe,M,4,o[44]),oe=d(oe,j,J,se,Z,11,o[45]),se=d(se,oe,j,J,K,16,o[46]),J=d(J,se,oe,j,v,23,o[47]),j=f(j,J,se,oe,y,6,o[48]),oe=f(oe,j,J,se,P,10,o[49]),se=f(se,oe,j,J,F,15,o[50]),J=f(J,se,oe,j,w,21,o[51]),j=f(j,J,se,oe,Z,6,o[52]),oe=f(oe,j,J,se,I,10,o[53]),se=f(se,oe,j,J,D,15,o[54]),J=f(J,se,oe,j,x,21,o[55]),j=f(j,J,se,oe,B,6,o[56]),oe=f(oe,j,J,se,K,10,o[57]),se=f(se,oe,j,J,N,15,o[58]),J=f(J,se,oe,j,W,21,o[59]),j=f(j,J,se,oe,R,6,o[60]),oe=f(oe,j,J,se,L,10,o[61]),se=f(se,oe,j,J,v,15,o[62]),J=f(J,se,oe,j,M,21,o[63]),b[0]=b[0]+j|0,b[1]=b[1]+J|0,b[2]=b[2]+se|0,b[3]=b[3]+oe|0},_doFinalize:function(){var p=this._data,m=p.words,h=this._nDataBytes*8,A=p.sigBytes*8;m[A>>>5]|=128<<24-A%32;var g=e.floor(h/4294967296),b=h;m[(A+64>>>9<<4)+15]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,m[(A+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,p.sigBytes=(m.length+1)*4,this._process();for(var y=this._hash,x=y.words,v=0;v<4;v++){var I=x[v];x[v]=(I<<8|I>>>24)&16711935|(I<<24|I>>>8)&4278255360}return y},clone:function(){var p=i.clone.call(this);return p._hash=this._hash.clone(),p}});function u(p,m,h,A,g,b,y){var x=p+(m&h|~m&A)+g+y;return(x<<b|x>>>32-b)+m}function l(p,m,h,A,g,b,y){var x=p+(m&A|h&~A)+g+y;return(x<<b|x>>>32-b)+m}function d(p,m,h,A,g,b,y){var x=p+(m^h^A)+g+y;return(x<<b|x>>>32-b)+m}function f(p,m,h,A,g,b,y){var x=p+(h^(m|~A))+g+y;return(x<<b|x>>>32-b)+m}r.MD5=i._createHelper(c),r.HmacMD5=i._createHmacHelper(c)}(Math),t.MD5})});var PQ=E((PD,gDe)=>{(function(t,e){typeof PD=="object"?gDe.exports=PD=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(PD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=r.Hasher,i=e.algo,a=[],o=i.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(c,u){for(var l=this._hash.words,d=l[0],f=l[1],p=l[2],m=l[3],h=l[4],A=0;A<80;A++){if(A<16)a[A]=c[u+A]|0;else{var g=a[A-3]^a[A-8]^a[A-14]^a[A-16];a[A]=g<<1|g>>>31}var b=(d<<5|d>>>27)+h+a[A];A<20?b+=(f&p|~f&m)+1518500249:A<40?b+=(f^p^m)+1859775393:A<60?b+=(f&p|f&m|p&m)-1894007588:b+=(f^p^m)-899497514,h=m,m=p,p=f<<30|f>>>2,f=d,d=b}l[0]=l[0]+d|0,l[1]=l[1]+f|0,l[2]=l[2]+p|0,l[3]=l[3]+m|0,l[4]=l[4]+h|0},_doFinalize:function(){var c=this._data,u=c.words,l=this._nDataBytes*8,d=c.sigBytes*8;return u[d>>>5]|=128<<24-d%32,u[(d+64>>>9<<4)+14]=Math.floor(l/4294967296),u[(d+64>>>9<<4)+15]=l,c.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var c=s.clone.call(this);return c._hash=this._hash.clone(),c}});e.SHA1=s._createHelper(o),e.HmacSHA1=s._createHmacHelper(o)}(),t.SHA1})});var DD=E((kD,ADe)=>{(function(t,e){typeof kD=="object"?ADe.exports=kD=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(kD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=[],c=[];(function(){function d(h){for(var A=e.sqrt(h),g=2;g<=A;g++)if(!(h%g))return!1;return!0}function f(h){return(h-(h|0))*4294967296|0}for(var p=2,m=0;m<64;)d(p)&&(m<8&&(o[m]=f(e.pow(p,1/2))),c[m]=f(e.pow(p,1/3)),m++),p++})();var u=[],l=a.SHA256=i.extend({_doReset:function(){this._hash=new s.init(o.slice(0))},_doProcessBlock:function(d,f){for(var p=this._hash.words,m=p[0],h=p[1],A=p[2],g=p[3],b=p[4],y=p[5],x=p[6],v=p[7],I=0;I<64;I++){if(I<16)u[I]=d[f+I]|0;else{var R=u[I-15],w=(R<<25|R>>>7)^(R<<14|R>>>18)^R>>>3,N=u[I-2],P=(N<<15|N>>>17)^(N<<13|N>>>19)^N>>>10;u[I]=w+u[I-7]+P+u[I-16]}var B=b&y^~b&x,M=m&h^m&A^h&A,D=(m<<30|m>>>2)^(m<<19|m>>>13)^(m<<10|m>>>22),L=(b<<26|b>>>6)^(b<<21|b>>>11)^(b<<7|b>>>25),Z=v+L+B+c[I]+u[I],W=D+M;v=x,x=y,y=b,b=g+Z|0,g=A,A=h,h=m,m=Z+W|0}p[0]=p[0]+m|0,p[1]=p[1]+h|0,p[2]=p[2]+A|0,p[3]=p[3]+g|0,p[4]=p[4]+b|0,p[5]=p[5]+y|0,p[6]=p[6]+x|0,p[7]=p[7]+v|0},_doFinalize:function(){var d=this._data,f=d.words,p=this._nDataBytes*8,m=d.sigBytes*8;return f[m>>>5]|=128<<24-m%32,f[(m+64>>>9<<4)+14]=e.floor(p/4294967296),f[(m+64>>>9<<4)+15]=p,d.sigBytes=f.length*4,this._process(),this._hash},clone:function(){var d=i.clone.call(this);return d._hash=this._hash.clone(),d}});r.SHA256=i._createHelper(l),r.HmacSHA256=i._createHmacHelper(l)}(Math),t.SHA256})});var xDe=E((BD,yDe)=>{(function(t,e,r){typeof BD=="object"?yDe.exports=BD=e(fr(),DD()):typeof define=="function"&&define.amd?define(["./core","./sha256"],e):e(t.CryptoJS)})(BD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.algo,i=s.SHA256,a=s.SHA224=i.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var o=i._doFinalize.call(this);return o.sigBytes-=4,o}});e.SHA224=i._createHelper(a),e.HmacSHA224=i._createHmacHelper(a)}(),t.SHA224})});var kQ=E((LD,bDe)=>{(function(t,e,r){typeof LD=="object"?bDe.exports=LD=e(fr(),Iv()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(LD,function(t){return function(){var e=t,r=e.lib,n=r.Hasher,s=e.x64,i=s.Word,a=s.WordArray,o=e.algo;function c(){return i.create.apply(i,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];(function(){for(var f=0;f<80;f++)l[f]=c()})();var d=o.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(f,p){for(var m=this._hash.words,h=m[0],A=m[1],g=m[2],b=m[3],y=m[4],x=m[5],v=m[6],I=m[7],R=h.high,w=h.low,N=A.high,P=A.low,B=g.high,M=g.low,D=b.high,L=b.low,Z=y.high,W=y.low,F=x.high,K=x.low,j=v.high,J=v.low,se=I.high,oe=I.low,ue=R,Ie=w,we=N,qe=P,Fe=B,_e=M,U=D,G=L,V=Z,q=W,H=F,ee=K,ne=j,re=J,X=se,ie=oe,ce=0;ce<80;ce++){var fe,Ne,Pe=l[ce];if(ce<16)Ne=Pe.high=f[p+ce*2]|0,fe=Pe.low=f[p+ce*2+1]|0;else{var Ue=l[ce-15],ze=Ue.high,Ye=Ue.low,Ze=(ze>>>1|Ye<<31)^(ze>>>8|Ye<<24)^ze>>>7,nt=(Ye>>>1|ze<<31)^(Ye>>>8|ze<<24)^(Ye>>>7|ze<<25),ct=l[ce-2],tt=ct.high,Pt=ct.low,lt=(tt>>>19|Pt<<13)^(tt<<3|Pt>>>29)^tt>>>6,ke=(Pt>>>19|tt<<13)^(Pt<<3|tt>>>29)^(Pt>>>6|tt<<26),Je=l[ce-7],ft=Je.high,rt=Je.low,bt=l[ce-16],An=bt.high,vt=bt.low;fe=nt+rt,Ne=Ze+ft+(fe>>>0<nt>>>0?1:0),fe=fe+ke,Ne=Ne+lt+(fe>>>0<ke>>>0?1:0),fe=fe+vt,Ne=Ne+An+(fe>>>0<vt>>>0?1:0),Pe.high=Ne,Pe.low=fe}var _r=V&H^~V&ne,qs=q&ee^~q&re,Pr=ue&we^ue&Fe^we&Fe,js=Ie&qe^Ie&_e^qe&_e,Hs=(ue>>>28|Ie<<4)^(ue<<30|Ie>>>2)^(ue<<25|Ie>>>7),ys=(Ie>>>28|ue<<4)^(Ie<<30|ue>>>2)^(Ie<<25|ue>>>7),Qs=(V>>>14|q<<18)^(V>>>18|q<<14)^(V<<23|q>>>9),Bu=(q>>>14|V<<18)^(q>>>18|V<<14)^(q<<23|V>>>9),Ao=u[ce],Dc=Ao.high,Ta=Ao.low,yn=ie+Bu,wa=X+Qs+(yn>>>0<ie>>>0?1:0),yn=yn+qs,wa=wa+_r+(yn>>>0<qs>>>0?1:0),yn=yn+Ta,wa=wa+Dc+(yn>>>0<Ta>>>0?1:0),yn=yn+fe,wa=wa+Ne+(yn>>>0<fe>>>0?1:0),td=ys+js,yo=Hs+Pr+(td>>>0<ys>>>0?1:0);X=ne,ie=re,ne=H,re=ee,H=V,ee=q,q=G+yn|0,V=U+wa+(q>>>0<G>>>0?1:0)|0,U=Fe,G=_e,Fe=we,_e=qe,we=ue,qe=Ie,Ie=yn+td|0,ue=wa+yo+(Ie>>>0<yn>>>0?1:0)|0}w=h.low=w+Ie,h.high=R+ue+(w>>>0<Ie>>>0?1:0),P=A.low=P+qe,A.high=N+we+(P>>>0<qe>>>0?1:0),M=g.low=M+_e,g.high=B+Fe+(M>>>0<_e>>>0?1:0),L=b.low=L+G,b.high=D+U+(L>>>0<G>>>0?1:0),W=y.low=W+q,y.high=Z+V+(W>>>0<q>>>0?1:0),K=x.low=K+ee,x.high=F+H+(K>>>0<ee>>>0?1:0),J=v.low=J+re,v.high=j+ne+(J>>>0<re>>>0?1:0),oe=I.low=oe+ie,I.high=se+X+(oe>>>0<ie>>>0?1:0)},_doFinalize:function(){var f=this._data,p=f.words,m=this._nDataBytes*8,h=f.sigBytes*8;p[h>>>5]|=128<<24-h%32,p[(h+128>>>10<<5)+30]=Math.floor(m/4294967296),p[(h+128>>>10<<5)+31]=m,f.sigBytes=p.length*4,this._process();var A=this._hash.toX32();return A},clone:function(){var f=n.clone.call(this);return f._hash=this._hash.clone(),f},blockSize:1024/32});e.SHA512=n._createHelper(d),e.HmacSHA512=n._createHmacHelper(d)}(),t.SHA512})});var _De=E((MD,EDe)=>{(function(t,e,r){typeof MD=="object"?EDe.exports=MD=e(fr(),Iv(),kQ()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./sha512"],e):e(t.CryptoJS)})(MD,function(t){return function(){var e=t,r=e.x64,n=r.Word,s=r.WordArray,i=e.algo,a=i.SHA512,o=i.SHA384=a.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var c=a._doFinalize.call(this);return c.sigBytes-=16,c}});e.SHA384=a._createHelper(o),e.HmacSHA384=a._createHmacHelper(o)}(),t.SHA384})});var vDe=E((WD,SDe)=>{(function(t,e,r){typeof WD=="object"?SDe.exports=WD=e(fr(),Iv()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(WD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.x64,o=a.Word,c=r.algo,u=[],l=[],d=[];(function(){for(var m=1,h=0,A=0;A<24;A++){u[m+5*h]=(A+1)*(A+2)/2%64;var g=h%5,b=(2*m+3*h)%5;m=g,h=b}for(var m=0;m<5;m++)for(var h=0;h<5;h++)l[m+5*h]=h+(2*m+3*h)%5*5;for(var y=1,x=0;x<24;x++){for(var v=0,I=0,R=0;R<7;R++){if(y&1){var w=(1<<R)-1;w<32?I^=1<<w:v^=1<<w-32}y&128?y=y<<1^113:y<<=1}d[x]=o.create(v,I)}})();var f=[];(function(){for(var m=0;m<25;m++)f[m]=o.create()})();var p=c.SHA3=i.extend({cfg:i.cfg.extend({outputLength:512}),_doReset:function(){for(var m=this._state=[],h=0;h<25;h++)m[h]=new o.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(m,h){for(var A=this._state,g=this.blockSize/2,b=0;b<g;b++){var y=m[h+2*b],x=m[h+2*b+1];y=(y<<8|y>>>24)&16711935|(y<<24|y>>>8)&4278255360,x=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360;var v=A[b];v.high^=x,v.low^=y}for(var I=0;I<24;I++){for(var R=0;R<5;R++){for(var w=0,N=0,P=0;P<5;P++){var v=A[R+5*P];w^=v.high,N^=v.low}var B=f[R];B.high=w,B.low=N}for(var R=0;R<5;R++)for(var M=f[(R+4)%5],D=f[(R+1)%5],L=D.high,Z=D.low,w=M.high^(L<<1|Z>>>31),N=M.low^(Z<<1|L>>>31),P=0;P<5;P++){var v=A[R+5*P];v.high^=w,v.low^=N}for(var W=1;W<25;W++){var w,N,v=A[W],F=v.high,K=v.low,j=u[W];j<32?(w=F<<j|K>>>32-j,N=K<<j|F>>>32-j):(w=K<<j-32|F>>>64-j,N=F<<j-32|K>>>64-j);var J=f[l[W]];J.high=w,J.low=N}var se=f[0],oe=A[0];se.high=oe.high,se.low=oe.low;for(var R=0;R<5;R++)for(var P=0;P<5;P++){var W=R+5*P,v=A[W],ue=f[W],Ie=f[(R+1)%5+5*P],we=f[(R+2)%5+5*P];v.high=ue.high^~Ie.high&we.high,v.low=ue.low^~Ie.low&we.low}var v=A[0],qe=d[I];v.high^=qe.high,v.low^=qe.low}},_doFinalize:function(){var m=this._data,h=m.words,A=this._nDataBytes*8,g=m.sigBytes*8,b=this.blockSize*32;h[g>>>5]|=1<<24-g%32,h[(e.ceil((g+1)/b)*b>>>5)-1]|=128,m.sigBytes=h.length*4,this._process();for(var y=this._state,x=this.cfg.outputLength/8,v=x/8,I=[],R=0;R<v;R++){var w=y[R],N=w.high,P=w.low;N=(N<<8|N>>>24)&16711935|(N<<24|N>>>8)&4278255360,P=(P<<8|P>>>24)&16711935|(P<<24|P>>>8)&4278255360,I.push(P),I.push(N)}return new s.init(I,x)},clone:function(){for(var m=i.clone.call(this),h=m._state=this._state.slice(0),A=0;A<25;A++)h[A]=h[A].clone();return m}});r.SHA3=i._createHelper(p),r.HmacSHA3=i._createHmacHelper(p)}(Math),t.SHA3})});var CDe=E(($D,IDe)=>{(function(t,e){typeof $D=="object"?IDe.exports=$D=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})($D,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),u=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),l=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),d=s.create([0,1518500249,1859775393,2400959708,2840853838]),f=s.create([1352829926,1548603684,1836072691,2053994217,0]),p=a.RIPEMD160=i.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(x,v){for(var I=0;I<16;I++){var R=v+I,w=x[R];x[R]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360}var N=this._hash.words,P=d.words,B=f.words,M=o.words,D=c.words,L=u.words,Z=l.words,W,F,K,j,J,se,oe,ue,Ie,we;se=W=N[0],oe=F=N[1],ue=K=N[2],Ie=j=N[3],we=J=N[4];for(var qe,I=0;I<80;I+=1)qe=W+x[v+M[I]]|0,I<16?qe+=m(F,K,j)+P[0]:I<32?qe+=h(F,K,j)+P[1]:I<48?qe+=A(F,K,j)+P[2]:I<64?qe+=g(F,K,j)+P[3]:qe+=b(F,K,j)+P[4],qe=qe|0,qe=y(qe,L[I]),qe=qe+J|0,W=J,J=j,j=y(K,10),K=F,F=qe,qe=se+x[v+D[I]]|0,I<16?qe+=b(oe,ue,Ie)+B[0]:I<32?qe+=g(oe,ue,Ie)+B[1]:I<48?qe+=A(oe,ue,Ie)+B[2]:I<64?qe+=h(oe,ue,Ie)+B[3]:qe+=m(oe,ue,Ie)+B[4],qe=qe|0,qe=y(qe,Z[I]),qe=qe+we|0,se=we,we=Ie,Ie=y(ue,10),ue=oe,oe=qe;qe=N[1]+K+Ie|0,N[1]=N[2]+j+we|0,N[2]=N[3]+J+se|0,N[3]=N[4]+W+oe|0,N[4]=N[0]+F+ue|0,N[0]=qe},_doFinalize:function(){var x=this._data,v=x.words,I=this._nDataBytes*8,R=x.sigBytes*8;v[R>>>5]|=128<<24-R%32,v[(R+64>>>9<<4)+14]=(I<<8|I>>>24)&16711935|(I<<24|I>>>8)&4278255360,x.sigBytes=(v.length+1)*4,this._process();for(var w=this._hash,N=w.words,P=0;P<5;P++){var B=N[P];N[P]=(B<<8|B>>>24)&16711935|(B<<24|B>>>8)&4278255360}return w},clone:function(){var x=i.clone.call(this);return x._hash=this._hash.clone(),x}});function m(x,v,I){return x^v^I}function h(x,v,I){return x&v|~x&I}function A(x,v,I){return(x|~v)^I}function g(x,v,I){return x&I|v&~I}function b(x,v,I){return x^(v|~I)}function y(x,v){return x<<v|x>>>32-v}r.RIPEMD160=i._createHelper(p),r.HmacRIPEMD160=i._createHmacHelper(p)}(Math),t.RIPEMD160})});var UD=E((FD,TDe)=>{(function(t,e){typeof FD=="object"?TDe.exports=FD=e(fr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(FD,function(t){(function(){var e=t,r=e.lib,n=r.Base,s=e.enc,i=s.Utf8,a=e.algo,o=a.HMAC=n.extend({init:function(c,u){c=this._hasher=new c.init,typeof u=="string"&&(u=i.parse(u));var l=c.blockSize,d=l*4;u.sigBytes>d&&(u=c.finalize(u)),u.clamp();for(var f=this._oKey=u.clone(),p=this._iKey=u.clone(),m=f.words,h=p.words,A=0;A<l;A++)m[A]^=1549556828,h[A]^=909522486;f.sigBytes=p.sigBytes=d,this.reset()},reset:function(){var c=this._hasher;c.reset(),c.update(this._iKey)},update:function(c){return this._hasher.update(c),this},finalize:function(c){var u=this._hasher,l=u.finalize(c);u.reset();var d=u.finalize(this._oKey.clone().concat(l));return d}})})()})});var RDe=E((qD,wDe)=>{(function(t,e,r){typeof qD=="object"?wDe.exports=qD=e(fr(),DD(),UD()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(qD,function(t){return function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,i=e.algo,a=i.SHA256,o=i.HMAC,c=i.PBKDF2=n.extend({cfg:n.extend({keySize:128/32,hasher:a,iterations:25e4}),init:function(u){this.cfg=this.cfg.extend(u)},compute:function(u,l){for(var d=this.cfg,f=o.create(d.hasher,u),p=s.create(),m=s.create([1]),h=p.words,A=m.words,g=d.keySize,b=d.iterations;h.length<g;){var y=f.update(l).finalize(m);f.reset();for(var x=y.words,v=x.length,I=y,R=1;R<b;R++){I=f.finalize(I),f.reset();for(var w=I.words,N=0;N<v;N++)x[N]^=w[N]}p.concat(y),A[0]++}return p.sigBytes=g*4,p}});e.PBKDF2=function(u,l,d){return c.create(d).compute(u,l)}}(),t.PBKDF2})});var Gd=E((jD,NDe)=>{(function(t,e,r){typeof jD=="object"?NDe.exports=jD=e(fr(),PQ(),UD()):typeof define=="function"&&define.amd?define(["./core","./sha1","./hmac"],e):e(t.CryptoJS)})(jD,function(t){return function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,i=e.algo,a=i.MD5,o=i.EvpKDF=n.extend({cfg:n.extend({keySize:128/32,hasher:a,iterations:1}),init:function(c){this.cfg=this.cfg.extend(c)},compute:function(c,u){for(var l,d=this.cfg,f=d.hasher.create(),p=s.create(),m=p.words,h=d.keySize,A=d.iterations;m.length<h;){l&&f.update(l),l=f.update(c).finalize(u),f.reset();for(var g=1;g<A;g++)l=f.finalize(l),f.reset();p.concat(l)}return p.sigBytes=h*4,p}});e.EvpKDF=function(c,u,l){return o.create(l).compute(c,u)}}(),t.EvpKDF})});var Os=E((HD,ODe)=>{(function(t,e,r){typeof HD=="object"?ODe.exports=HD=e(fr(),Gd()):typeof define=="function"&&define.amd?define(["./core","./evpkdf"],e):e(t.CryptoJS)})(HD,function(t){t.lib.Cipher||function(e){var r=t,n=r.lib,s=n.Base,i=n.WordArray,a=n.BufferedBlockAlgorithm,o=r.enc,c=o.Utf8,u=o.Base64,l=r.algo,d=l.EvpKDF,f=n.Cipher=a.extend({cfg:s.extend(),createEncryptor:function(B,M){return this.create(this._ENC_XFORM_MODE,B,M)},createDecryptor:function(B,M){return this.create(this._DEC_XFORM_MODE,B,M)},init:function(B,M,D){this.cfg=this.cfg.extend(D),this._xformMode=B,this._key=M,this.reset()},reset:function(){a.reset.call(this),this._doReset()},process:function(B){return this._append(B),this._process()},finalize:function(B){B&&this._append(B);var M=this._doFinalize();return M},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function B(M){return typeof M=="string"?P:R}return function(M){return{encrypt:function(D,L,Z){return B(L).encrypt(M,D,L,Z)},decrypt:function(D,L,Z){return B(L).decrypt(M,D,L,Z)}}}}()}),p=n.StreamCipher=f.extend({_doFinalize:function(){var B=this._process(!0);return B},blockSize:1}),m=r.mode={},h=n.BlockCipherMode=s.extend({createEncryptor:function(B,M){return this.Encryptor.create(B,M)},createDecryptor:function(B,M){return this.Decryptor.create(B,M)},init:function(B,M){this._cipher=B,this._iv=M}}),A=m.CBC=function(){var B=h.extend();B.Encryptor=B.extend({processBlock:function(D,L){var Z=this._cipher,W=Z.blockSize;M.call(this,D,L,W),Z.encryptBlock(D,L),this._prevBlock=D.slice(L,L+W)}}),B.Decryptor=B.extend({processBlock:function(D,L){var Z=this._cipher,W=Z.blockSize,F=D.slice(L,L+W);Z.decryptBlock(D,L),M.call(this,D,L,W),this._prevBlock=F}});function M(D,L,Z){var W,F=this._iv;F?(W=F,this._iv=e):W=this._prevBlock;for(var K=0;K<Z;K++)D[L+K]^=W[K]}return B}(),g=r.pad={},b=g.Pkcs7={pad:function(B,M){for(var D=M*4,L=D-B.sigBytes%D,Z=L<<24|L<<16|L<<8|L,W=[],F=0;F<L;F+=4)W.push(Z);var K=i.create(W,L);B.concat(K)},unpad:function(B){var M=B.words[B.sigBytes-1>>>2]&255;B.sigBytes-=M}},y=n.BlockCipher=f.extend({cfg:f.cfg.extend({mode:A,padding:b}),reset:function(){var B;f.reset.call(this);var M=this.cfg,D=M.iv,L=M.mode;this._xformMode==this._ENC_XFORM_MODE?B=L.createEncryptor:(B=L.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==B?this._mode.init(this,D&&D.words):(this._mode=B.call(L,this,D&&D.words),this._mode.__creator=B)},_doProcessBlock:function(B,M){this._mode.processBlock(B,M)},_doFinalize:function(){var B,M=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(M.pad(this._data,this.blockSize),B=this._process(!0)):(B=this._process(!0),M.unpad(B)),B},blockSize:128/32}),x=n.CipherParams=s.extend({init:function(B){this.mixIn(B)},toString:function(B){return(B||this.formatter).stringify(this)}}),v=r.format={},I=v.OpenSSL={stringify:function(B){var M,D=B.ciphertext,L=B.salt;return L?M=i.create([1398893684,1701076831]).concat(L).concat(D):M=D,M.toString(u)},parse:function(B){var M,D=u.parse(B),L=D.words;return L[0]==1398893684&&L[1]==1701076831&&(M=i.create(L.slice(2,4)),L.splice(0,4),D.sigBytes-=16),x.create({ciphertext:D,salt:M})}},R=n.SerializableCipher=s.extend({cfg:s.extend({format:I}),encrypt:function(B,M,D,L){L=this.cfg.extend(L);var Z=B.createEncryptor(D,L),W=Z.finalize(M),F=Z.cfg;return x.create({ciphertext:W,key:D,iv:F.iv,algorithm:B,mode:F.mode,padding:F.padding,blockSize:B.blockSize,formatter:L.format})},decrypt:function(B,M,D,L){L=this.cfg.extend(L),M=this._parse(M,L.format);var Z=B.createDecryptor(D,L).finalize(M.ciphertext);return Z},_parse:function(B,M){return typeof B=="string"?M.parse(B,this):B}}),w=r.kdf={},N=w.OpenSSL={execute:function(B,M,D,L,Z){if(L||(L=i.random(64/8)),Z)var W=d.create({keySize:M+D,hasher:Z}).compute(B,L);else var W=d.create({keySize:M+D}).compute(B,L);var F=i.create(W.words.slice(M),D*4);return W.sigBytes=M*4,x.create({key:W,iv:F,salt:L})}},P=n.PasswordBasedCipher=R.extend({cfg:R.cfg.extend({kdf:N}),encrypt:function(B,M,D,L){L=this.cfg.extend(L);var Z=L.kdf.execute(D,B.keySize,B.ivSize,L.salt,L.hasher);L.iv=Z.iv;var W=R.encrypt.call(this,B,M,Z.key,L);return W.mixIn(Z),W},decrypt:function(B,M,D,L){L=this.cfg.extend(L),M=this._parse(M,L.format);var Z=L.kdf.execute(D,B.keySize,B.ivSize,M.salt,L.hasher);L.iv=Z.iv;var W=R.decrypt.call(this,B,M,Z.key,L);return W}})}()})});var kDe=E((QD,PDe)=>{(function(t,e,r){typeof QD=="object"?PDe.exports=QD=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(QD,function(t){return t.mode.CFB=function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize;r.call(this,n,s,a,i),this._prevBlock=n.slice(s,s+a)}}),e.Decryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=n.slice(s,s+a);r.call(this,n,s,a,i),this._prevBlock=o}});function r(n,s,i,a){var o,c=this._iv;c?(o=c.slice(0),this._iv=void 0):o=this._prevBlock,a.encryptBlock(o,0);for(var u=0;u<i;u++)n[s+u]^=o[u]}return e}(),t.mode.CFB})});var BDe=E((GD,DDe)=>{(function(t,e,r){typeof GD=="object"?DDe.exports=GD=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(GD,function(t){return t.mode.CTR=function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=this._iv,c=this._counter;o&&(c=this._counter=o.slice(0),this._iv=void 0);var u=c.slice(0);i.encryptBlock(u,0),c[a-1]=c[a-1]+1|0;for(var l=0;l<a;l++)n[s+l]^=u[l]}});return e.Decryptor=r,e}(),t.mode.CTR})});var MDe=E((KD,LDe)=>{(function(t,e,r){typeof KD=="object"?LDe.exports=KD=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(KD,function(t){return t.mode.CTRGladman=function(){var e=t.lib.BlockCipherMode.extend();function r(i){if((i>>24&255)===255){var a=i>>16&255,o=i>>8&255,c=i&255;a===255?(a=0,o===255?(o=0,c===255?c=0:++c):++o):++a,i=0,i+=a<<16,i+=o<<8,i+=c}else i+=1<<24;return i}function n(i){return(i[0]=r(i[0]))===0&&(i[1]=r(i[1])),i}var s=e.Encryptor=e.extend({processBlock:function(i,a){var o=this._cipher,c=o.blockSize,u=this._iv,l=this._counter;u&&(l=this._counter=u.slice(0),this._iv=void 0),n(l);var d=l.slice(0);o.encryptBlock(d,0);for(var f=0;f<c;f++)i[a+f]^=d[f]}});return e.Decryptor=s,e}(),t.mode.CTRGladman})});var $De=E((VD,WDe)=>{(function(t,e,r){typeof VD=="object"?WDe.exports=VD=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(VD,function(t){return t.mode.OFB=function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=this._iv,c=this._keystream;o&&(c=this._keystream=o.slice(0),this._iv=void 0),i.encryptBlock(c,0);for(var u=0;u<a;u++)n[s+u]^=c[u]}});return e.Decryptor=r,e}(),t.mode.OFB})});var UDe=E((zD,FDe)=>{(function(t,e,r){typeof zD=="object"?FDe.exports=zD=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(zD,function(t){return t.mode.ECB=function(){var e=t.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(r,n){this._cipher.encryptBlock(r,n)}}),e.Decryptor=e.extend({processBlock:function(r,n){this._cipher.decryptBlock(r,n)}}),e}(),t.mode.ECB})});var jDe=E((YD,qDe)=>{(function(t,e,r){typeof YD=="object"?qDe.exports=YD=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(YD,function(t){return t.pad.AnsiX923={pad:function(e,r){var n=e.sigBytes,s=r*4,i=s-n%s,a=n+i-1;e.clamp(),e.words[a>>>2]|=i<<24-a%4*8,e.sigBytes+=i},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Ansix923})});var QDe=E((JD,HDe)=>{(function(t,e,r){typeof JD=="object"?HDe.exports=JD=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(JD,function(t){return t.pad.Iso10126={pad:function(e,r){var n=r*4,s=n-e.sigBytes%n;e.concat(t.lib.WordArray.random(s-1)).concat(t.lib.WordArray.create([s<<24],1))},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Iso10126})});var KDe=E((XD,GDe)=>{(function(t,e,r){typeof XD=="object"?GDe.exports=XD=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(XD,function(t){return t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971})});var zDe=E((ZD,VDe)=>{(function(t,e,r){typeof ZD=="object"?VDe.exports=ZD=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(ZD,function(t){return t.pad.ZeroPadding={pad:function(e,r){var n=r*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var r=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(r[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},t.pad.ZeroPadding})});var JDe=E((e3,YDe)=>{(function(t,e,r){typeof e3=="object"?YDe.exports=e3=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(e3,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})});var ZDe=E((t3,XDe)=>{(function(t,e,r){typeof t3=="object"?XDe.exports=t3=e(fr(),Os()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(t3,function(t){return function(e){var r=t,n=r.lib,s=n.CipherParams,i=r.enc,a=i.Hex,o=r.format,c=o.Hex={stringify:function(u){return u.ciphertext.toString(a)},parse:function(u){var l=a.parse(u);return s.create({ciphertext:l})}}}(),t.format.Hex})});var t3e=E((r3,e3e)=>{(function(t,e,r){typeof r3=="object"?e3e.exports=r3=e(fr(),d0(),f0(),Gd(),Os()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(r3,function(t){return function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo,i=[],a=[],o=[],c=[],u=[],l=[],d=[],f=[],p=[],m=[];(function(){for(var g=[],b=0;b<256;b++)b<128?g[b]=b<<1:g[b]=b<<1^283;for(var y=0,x=0,b=0;b<256;b++){var v=x^x<<1^x<<2^x<<3^x<<4;v=v>>>8^v&255^99,i[y]=v,a[v]=y;var I=g[y],R=g[I],w=g[R],N=g[v]*257^v*16843008;o[y]=N<<24|N>>>8,c[y]=N<<16|N>>>16,u[y]=N<<8|N>>>24,l[y]=N;var N=w*16843009^R*65537^I*257^y*16843008;d[v]=N<<24|N>>>8,f[v]=N<<16|N>>>16,p[v]=N<<8|N>>>24,m[v]=N,y?(y=I^g[g[g[w^I]]],x^=g[g[x]]):y=x=1}})();var h=[0,1,2,4,8,16,32,64,128,27,54],A=s.AES=n.extend({_doReset:function(){var g;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var b=this._keyPriorReset=this._key,y=b.words,x=b.sigBytes/4,v=this._nRounds=x+6,I=(v+1)*4,R=this._keySchedule=[],w=0;w<I;w++)w<x?R[w]=y[w]:(g=R[w-1],w%x?x>6&&w%x==4&&(g=i[g>>>24]<<24|i[g>>>16&255]<<16|i[g>>>8&255]<<8|i[g&255]):(g=g<<8|g>>>24,g=i[g>>>24]<<24|i[g>>>16&255]<<16|i[g>>>8&255]<<8|i[g&255],g^=h[w/x|0]<<24),R[w]=R[w-x]^g);for(var N=this._invKeySchedule=[],P=0;P<I;P++){var w=I-P;if(P%4)var g=R[w];else var g=R[w-4];P<4||w<=4?N[P]=g:N[P]=d[i[g>>>24]]^f[i[g>>>16&255]]^p[i[g>>>8&255]]^m[i[g&255]]}}},encryptBlock:function(g,b){this._doCryptBlock(g,b,this._keySchedule,o,c,u,l,i)},decryptBlock:function(g,b){var y=g[b+1];g[b+1]=g[b+3],g[b+3]=y,this._doCryptBlock(g,b,this._invKeySchedule,d,f,p,m,a);var y=g[b+1];g[b+1]=g[b+3],g[b+3]=y},_doCryptBlock:function(g,b,y,x,v,I,R,w){for(var N=this._nRounds,P=g[b]^y[0],B=g[b+1]^y[1],M=g[b+2]^y[2],D=g[b+3]^y[3],L=4,Z=1;Z<N;Z++){var W=x[P>>>24]^v[B>>>16&255]^I[M>>>8&255]^R[D&255]^y[L++],F=x[B>>>24]^v[M>>>16&255]^I[D>>>8&255]^R[P&255]^y[L++],K=x[M>>>24]^v[D>>>16&255]^I[P>>>8&255]^R[B&255]^y[L++],j=x[D>>>24]^v[P>>>16&255]^I[B>>>8&255]^R[M&255]^y[L++];P=W,B=F,M=K,D=j}var W=(w[P>>>24]<<24|w[B>>>16&255]<<16|w[M>>>8&255]<<8|w[D&255])^y[L++],F=(w[B>>>24]<<24|w[M>>>16&255]<<16|w[D>>>8&255]<<8|w[P&255])^y[L++],K=(w[M>>>24]<<24|w[D>>>16&255]<<16|w[P>>>8&255]<<8|w[B&255])^y[L++],j=(w[D>>>24]<<24|w[P>>>16&255]<<16|w[B>>>8&255]<<8|w[M&255])^y[L++];g[b]=W,g[b+1]=F,g[b+2]=K,g[b+3]=j},keySize:256/32});e.AES=n._createHelper(A)}(),t.AES})});var n3e=E((n3,r3e)=>{(function(t,e,r){typeof n3=="object"?r3e.exports=n3=e(fr(),d0(),f0(),Gd(),Os()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(n3,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=r.BlockCipher,i=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],u=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=i.DES=s.extend({_doReset:function(){for(var h=this._key,A=h.words,g=[],b=0;b<56;b++){var y=a[b]-1;g[b]=A[y>>>5]>>>31-y%32&1}for(var x=this._subKeys=[],v=0;v<16;v++){for(var I=x[v]=[],R=c[v],b=0;b<24;b++)I[b/6|0]|=g[(o[b]-1+R)%28]<<31-b%6,I[4+(b/6|0)]|=g[28+(o[b+24]-1+R)%28]<<31-b%6;I[0]=I[0]<<1|I[0]>>>31;for(var b=1;b<7;b++)I[b]=I[b]>>>(b-1)*4+3;I[7]=I[7]<<5|I[7]>>>27}for(var w=this._invSubKeys=[],b=0;b<16;b++)w[b]=x[15-b]},encryptBlock:function(h,A){this._doCryptBlock(h,A,this._subKeys)},decryptBlock:function(h,A){this._doCryptBlock(h,A,this._invSubKeys)},_doCryptBlock:function(h,A,g){this._lBlock=h[A],this._rBlock=h[A+1],f.call(this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var b=0;b<16;b++){for(var y=g[b],x=this._lBlock,v=this._rBlock,I=0,R=0;R<8;R++)I|=u[R][((v^y[R])&l[R])>>>0];this._lBlock=v,this._rBlock=x^I}var w=this._lBlock;this._lBlock=this._rBlock,this._rBlock=w,f.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),h[A]=this._lBlock,h[A+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(h,A){var g=(this._lBlock>>>h^this._rBlock)&A;this._rBlock^=g,this._lBlock^=g<<h}function p(h,A){var g=(this._rBlock>>>h^this._lBlock)&A;this._lBlock^=g,this._rBlock^=g<<h}e.DES=s._createHelper(d);var m=i.TripleDES=s.extend({_doReset:function(){var h=this._key,A=h.words;if(A.length!==2&&A.length!==4&&A.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var g=A.slice(0,2),b=A.length<4?A.slice(0,2):A.slice(2,4),y=A.length<6?A.slice(0,2):A.slice(4,6);this._des1=d.createEncryptor(n.create(g)),this._des2=d.createEncryptor(n.create(b)),this._des3=d.createEncryptor(n.create(y))},encryptBlock:function(h,A){this._des1.encryptBlock(h,A),this._des2.decryptBlock(h,A),this._des3.encryptBlock(h,A)},decryptBlock:function(h,A){this._des3.decryptBlock(h,A),this._des2.encryptBlock(h,A),this._des1.decryptBlock(h,A)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=s._createHelper(m)}(),t.TripleDES})});var i3e=E((s3,s3e)=>{(function(t,e,r){typeof s3=="object"?s3e.exports=s3=e(fr(),d0(),f0(),Gd(),Os()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(s3,function(t){return function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,i=s.RC4=n.extend({_doReset:function(){for(var c=this._key,u=c.words,l=c.sigBytes,d=this._S=[],f=0;f<256;f++)d[f]=f;for(var f=0,p=0;f<256;f++){var m=f%l,h=u[m>>>2]>>>24-m%4*8&255;p=(p+d[f]+h)%256;var A=d[f];d[f]=d[p],d[p]=A}this._i=this._j=0},_doProcessBlock:function(c,u){c[u]^=a.call(this)},keySize:256/32,ivSize:0});function a(){for(var c=this._S,u=this._i,l=this._j,d=0,f=0;f<4;f++){u=(u+1)%256,l=(l+c[u])%256;var p=c[u];c[u]=c[l],c[l]=p,d|=c[(c[u]+c[l])%256]<<24-f*8}return this._i=u,this._j=l,d}e.RC4=n._createHelper(i);var o=s.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var c=this.cfg.drop;c>0;c--)a.call(this)}});e.RC4Drop=n._createHelper(o)}(),t.RC4})});var o3e=E((i3,a3e)=>{(function(t,e,r){typeof i3=="object"?a3e.exports=i3=e(fr(),d0(),f0(),Gd(),Os()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(i3,function(t){return function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,i=[],a=[],o=[],c=s.Rabbit=n.extend({_doReset:function(){for(var l=this._key.words,d=this.cfg.iv,f=0;f<4;f++)l[f]=(l[f]<<8|l[f]>>>24)&16711935|(l[f]<<24|l[f]>>>8)&4278255360;var p=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],m=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var f=0;f<4;f++)u.call(this);for(var f=0;f<8;f++)m[f]^=p[f+4&7];if(d){var h=d.words,A=h[0],g=h[1],b=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360,y=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,x=b>>>16|y&4294901760,v=y<<16|b&65535;m[0]^=b,m[1]^=x,m[2]^=y,m[3]^=v,m[4]^=b,m[5]^=x,m[6]^=y,m[7]^=v;for(var f=0;f<4;f++)u.call(this)}},_doProcessBlock:function(l,d){var f=this._X;u.call(this),i[0]=f[0]^f[5]>>>16^f[3]<<16,i[1]=f[2]^f[7]>>>16^f[5]<<16,i[2]=f[4]^f[1]>>>16^f[7]<<16,i[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)i[p]=(i[p]<<8|i[p]>>>24)&16711935|(i[p]<<24|i[p]>>>8)&4278255360,l[d+p]^=i[p]},blockSize:128/32,ivSize:64/32});function u(){for(var l=this._X,d=this._C,f=0;f<8;f++)a[f]=d[f];d[0]=d[0]+1295307597+this._b|0,d[1]=d[1]+3545052371+(d[0]>>>0<a[0]>>>0?1:0)|0,d[2]=d[2]+886263092+(d[1]>>>0<a[1]>>>0?1:0)|0,d[3]=d[3]+1295307597+(d[2]>>>0<a[2]>>>0?1:0)|0,d[4]=d[4]+3545052371+(d[3]>>>0<a[3]>>>0?1:0)|0,d[5]=d[5]+886263092+(d[4]>>>0<a[4]>>>0?1:0)|0,d[6]=d[6]+1295307597+(d[5]>>>0<a[5]>>>0?1:0)|0,d[7]=d[7]+3545052371+(d[6]>>>0<a[6]>>>0?1:0)|0,this._b=d[7]>>>0<a[7]>>>0?1:0;for(var f=0;f<8;f++){var p=l[f]+d[f],m=p&65535,h=p>>>16,A=((m*m>>>17)+m*h>>>15)+h*h,g=((p&4294901760)*p|0)+((p&65535)*p|0);o[f]=A^g}l[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,l[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,l[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,l[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,l[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,l[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,l[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,l[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=n._createHelper(c)}(),t.Rabbit})});var u3e=E((a3,c3e)=>{(function(t,e,r){typeof a3=="object"?c3e.exports=a3=e(fr(),d0(),f0(),Gd(),Os()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(a3,function(t){return function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,i=[],a=[],o=[],c=s.RabbitLegacy=n.extend({_doReset:function(){var l=this._key.words,d=this.cfg.iv,f=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],p=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var m=0;m<4;m++)u.call(this);for(var m=0;m<8;m++)p[m]^=f[m+4&7];if(d){var h=d.words,A=h[0],g=h[1],b=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360,y=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,x=b>>>16|y&4294901760,v=y<<16|b&65535;p[0]^=b,p[1]^=x,p[2]^=y,p[3]^=v,p[4]^=b,p[5]^=x,p[6]^=y,p[7]^=v;for(var m=0;m<4;m++)u.call(this)}},_doProcessBlock:function(l,d){var f=this._X;u.call(this),i[0]=f[0]^f[5]>>>16^f[3]<<16,i[1]=f[2]^f[7]>>>16^f[5]<<16,i[2]=f[4]^f[1]>>>16^f[7]<<16,i[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)i[p]=(i[p]<<8|i[p]>>>24)&16711935|(i[p]<<24|i[p]>>>8)&4278255360,l[d+p]^=i[p]},blockSize:128/32,ivSize:64/32});function u(){for(var l=this._X,d=this._C,f=0;f<8;f++)a[f]=d[f];d[0]=d[0]+1295307597+this._b|0,d[1]=d[1]+3545052371+(d[0]>>>0<a[0]>>>0?1:0)|0,d[2]=d[2]+886263092+(d[1]>>>0<a[1]>>>0?1:0)|0,d[3]=d[3]+1295307597+(d[2]>>>0<a[2]>>>0?1:0)|0,d[4]=d[4]+3545052371+(d[3]>>>0<a[3]>>>0?1:0)|0,d[5]=d[5]+886263092+(d[4]>>>0<a[4]>>>0?1:0)|0,d[6]=d[6]+1295307597+(d[5]>>>0<a[5]>>>0?1:0)|0,d[7]=d[7]+3545052371+(d[6]>>>0<a[6]>>>0?1:0)|0,this._b=d[7]>>>0<a[7]>>>0?1:0;for(var f=0;f<8;f++){var p=l[f]+d[f],m=p&65535,h=p>>>16,A=((m*m>>>17)+m*h>>>15)+h*h,g=((p&4294901760)*p|0)+((p&65535)*p|0);o[f]=A^g}l[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,l[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,l[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,l[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,l[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,l[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,l[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,l[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=n._createHelper(c)}(),t.RabbitLegacy})});var d3e=E((o3,l3e)=>{(function(t,e,r){typeof o3=="object"?l3e.exports=o3=e(fr(),d0(),f0(),Gd(),Os()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(o3,function(t){return function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo;let i=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(m,h){let A=h>>24&255,g=h>>16&255,b=h>>8&255,y=h&255,x=m.sbox[0][A]+m.sbox[1][g];return x=x^m.sbox[2][b],x=x+m.sbox[3][y],x}function l(m,h,A){let g=h,b=A,y;for(let x=0;x<i;++x)g=g^m.pbox[x],b=u(m,g)^b,y=g,g=b,b=y;return y=g,g=b,b=y,b=b^m.pbox[i],g=g^m.pbox[i+1],{left:g,right:b}}function d(m,h,A){let g=h,b=A,y;for(let x=i+1;x>1;--x)g=g^m.pbox[x],b=u(m,g)^b,y=g,g=b,b=y;return y=g,g=b,b=y,b=b^m.pbox[1],g=g^m.pbox[0],{left:g,right:b}}function f(m,h,A){for(let v=0;v<4;v++){m.sbox[v]=[];for(let I=0;I<256;I++)m.sbox[v][I]=o[v][I]}let g=0;for(let v=0;v<i+2;v++)m.pbox[v]=a[v]^h[g],g++,g>=A&&(g=0);let b=0,y=0,x=0;for(let v=0;v<i+2;v+=2)x=l(m,b,y),b=x.left,y=x.right,m.pbox[v]=b,m.pbox[v+1]=y;for(let v=0;v<4;v++)for(let I=0;I<256;I+=2)x=l(m,b,y),b=x.left,y=x.right,m.sbox[v][I]=b,m.sbox[v][I+1]=y;return!0}var p=s.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var m=this._keyPriorReset=this._key,h=m.words,A=m.sigBytes/4;f(c,h,A)}},encryptBlock:function(m,h){var A=l(c,m[h],m[h+1]);m[h]=A.left,m[h+1]=A.right},decryptBlock:function(m,h){var A=d(c,m[h],m[h+1]);m[h]=A.left,m[h+1]=A.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=n._createHelper(p)}(),t.Blowfish})});var Jn=E((c3,f3e)=>{(function(t,e,r){typeof c3=="object"?f3e.exports=c3=e(fr(),Iv(),uDe(),dDe(),d0(),mDe(),f0(),PQ(),DD(),xDe(),kQ(),_De(),vDe(),CDe(),UD(),RDe(),Gd(),Os(),kDe(),BDe(),MDe(),$De(),UDe(),jDe(),QDe(),KDe(),zDe(),JDe(),ZDe(),t3e(),n3e(),i3e(),o3e(),u3e(),d3e()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./lib-typedarrays","./enc-utf16","./enc-base64","./enc-base64url","./md5","./sha1","./sha256","./sha224","./sha512","./sha384","./sha3","./ripemd160","./hmac","./pbkdf2","./evpkdf","./cipher-core","./mode-cfb","./mode-ctr","./mode-ctr-gladman","./mode-ofb","./mode-ecb","./pad-ansix923","./pad-iso10126","./pad-iso97971","./pad-zeropadding","./pad-nopadding","./format-hex","./aes","./tripledes","./rc4","./rabbit","./rabbit-legacy","./blowfish"],e):t.CryptoJS=e(t.CryptoJS)})(c3,function(t){return t})});var wv=E(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.getOptions=sr.setOptions=sr.hasOwnProp=sr.formatDate=sr.camelify=sr.splitByCommaWithPreservingQuotes=sr.trim=sr.splitAt=sr.tryCatch=sr.byteSequenceToHex=sr.hexToByteSequence=sr.toNumber=sr.INVALIDPLAYLIST=sr.CONDITIONALPARAMCHECK=sr.PARAMCHECK=sr.CONDITIONALASSERT=sr.ASSERT=sr.THROW=void 0;var Tv={};function Nh(t){if(!Tv.strictMode){Tv.silent||console.error(t.message);return}throw t}sr.THROW=Nh;function lJt(t,...e){for(let[r,n]of e.entries())n||Nh(new Error(`${t} : Failed at [${r}]`))}sr.ASSERT=lJt;function dJt(...t){for(let[e,[r,n]]of t.entries())r&&(n||Nh(new Error(`Conditional Assert : Failed at [${e}]`)))}sr.CONDITIONALASSERT=dJt;function fJt(...t){for(let[e,r]of t.entries())r===void 0&&Nh(new Error(`Param Check : Failed at [${e}]`))}sr.PARAMCHECK=fJt;function pJt(...t){for(let[e,[r,n]]of t.entries())r&&n===void 0&&Nh(new Error(`Conditional Param Check : Failed at [${e}]`))}sr.CONDITIONALPARAMCHECK=pJt;function mJt(t){Nh(new Error(`Invalid Playlist : ${t}`))}sr.INVALIDPLAYLIST=mJt;function g3e(t,e=10){if(typeof t=="number")return t;let r=e===10?Number.parseFloat(t):Number.parseInt(t,e);return Number.isNaN(r)?0:r}sr.toNumber=g3e;function hJt(t){(t.startsWith("0x")||t.startsWith("0X"))&&(t=t.slice(2));let e=[];for(let r=0;r<t.length;r+=2)e.push(g3e(t.slice(r,r+2),16));return Buffer.from(e)}sr.hexToByteSequence=hJt;function gJt(t,e=0,r=t.length){r<=e&&Nh(new Error(`end must be larger than start : start=${e}, end=${r}`));let n=[];for(let s=e;s<r;s++)n.push(`0${(t[s]&255).toString(16).toUpperCase()}`.slice(-2));return`0x${n.join("")}`}sr.byteSequenceToHex=gJt;function AJt(t,e){try{return t()}catch(r){return e(r)}}sr.tryCatch=AJt;function yJt(t,e,r=0){let n=-1;for(let s=0,i=0;s<t.length;s++)if(t[s]===e){if(i++===r)return[t.slice(0,s),t.slice(s+1)];n=s}return n!==-1?[t.slice(0,n),t.slice(n+1)]:[t]}sr.splitAt=yJt;function xJt(t,e=" "){return!t||(t=t.trim(),e===" ")||(t.startsWith(e)&&(t=t.slice(1)),t.endsWith(e)&&(t=t.slice(0,-1))),t}sr.trim=xJt;function bJt(t){let e=[],r=!0,n=0,s=[];for(let i=0;i<t.length;i++){let a=t[i];if(r&&a===","){e.push(t.slice(n,i).trim()),n=i+1;continue}(a==='"'||a==="'")&&(r?(s.push(a),r=!1):a===s.at(-1)?(s.pop(),r=!0):s.push(a))}return e.push(t.slice(n).trim()),e}sr.splitByCommaWithPreservingQuotes=bJt;function EJt(t){let e=[],r=!1;for(let n of t){if(n==="-"||n==="_"){r=!0;continue}if(r){e.push(n.toUpperCase()),r=!1;continue}e.push(n.toLowerCase())}return e.join("")}sr.camelify=EJt;function _Jt(t){let e=t.getUTCFullYear(),r=("0"+(t.getUTCMonth()+1)).slice(-2),n=("0"+t.getUTCDate()).slice(-2),s=("0"+t.getUTCHours()).slice(-2),i=("0"+t.getUTCMinutes()).slice(-2),a=("0"+t.getUTCSeconds()).slice(-2),o=("00"+t.getUTCMilliseconds()).slice(-3);return`${e}-${r}-${n}T${s}:${i}:${a}.${o}Z`}sr.formatDate=_Jt;function SJt(t,e){return Object.hasOwnProperty.call(t,e)}sr.hasOwnProp=SJt;function vJt(t={}){Tv=Object.assign(Tv,t)}sr.setOptions=vJt;function IJt(){return Object.assign({},Tv)}sr.getOptions=IJt});var VQ=E(pr=>{"use strict";var CJt=pr&&pr.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),TJt=pr&&pr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),wJt=pr&&pr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&CJt(e,t,r);return TJt(e,t),e};Object.defineProperty(pr,"__esModule",{value:!0});pr.RenditionReport=pr.PrefetchSegment=pr.PartialSegment=pr.Segment=pr.MediaPlaylist=pr.MasterPlaylist=pr.Playlist=pr.SpliceInfo=pr.DateRange=pr.MediaInitializationSection=pr.Key=pr.SessionData=pr.Variant=pr.Rendition=void 0;var Es=wJt(wv()),BQ=class{constructor({type:e,uri:r,groupId:n,language:s,assocLanguage:i,name:a,isDefault:o,autoselect:c,forced:u,instreamId:l,characteristics:d,channels:f}){Es.PARAMCHECK(e,n,a),Es.CONDITIONALASSERT([e==="SUBTITLES",r],[e==="CLOSED-CAPTIONS",l],[e==="CLOSED-CAPTIONS",!r],[u,e==="SUBTITLES"]),this.type=e,this.uri=r,this.groupId=n,this.language=s,this.assocLanguage=i,this.name=a,this.isDefault=o,this.autoselect=c,this.forced=u,this.instreamId=l,this.characteristics=d,this.channels=f}};pr.Rendition=BQ;var LQ=class{constructor({uri:e,isIFrameOnly:r=!1,bandwidth:n,averageBandwidth:s,score:i,codecs:a,resolution:o,frameRate:c,hdcpLevel:u,allowedCpc:l,videoRange:d,stableVariantId:f,programId:p,audio:m=[],video:h=[],subtitles:A=[],closedCaptions:g=[],currentRenditions:b={audio:0,video:0,subtitles:0,closedCaptions:0}}){Es.PARAMCHECK(e,n),this.uri=e,this.isIFrameOnly=r,this.bandwidth=n,this.averageBandwidth=s,this.score=i,this.codecs=a,this.resolution=o,this.frameRate=c,this.hdcpLevel=u,this.allowedCpc=l,this.videoRange=d,this.stableVariantId=f,this.programId=p,this.audio=m,this.video=h,this.subtitles=A,this.closedCaptions=g,this.currentRenditions=b}};pr.Variant=LQ;var MQ=class{constructor({id:e,value:r,uri:n,language:s}){Es.PARAMCHECK(e,r||n),Es.ASSERT("SessionData cannot have both value and uri, shoud be either.",!(r&&n)),this.id=e,this.value=r,this.uri=n,this.language=s}};pr.SessionData=MQ;var WQ=class{constructor({method:e,uri:r,iv:n,format:s,formatVersion:i}){Es.PARAMCHECK(e),Es.CONDITIONALPARAMCHECK([e!=="NONE",r]),Es.CONDITIONALASSERT([e==="NONE",!(r||n||s||i)]),this.method=e,this.uri=r,this.iv=n,this.format=s,this.formatVersion=i}};pr.Key=WQ;var $Q=class{constructor({hint:e=!1,uri:r,mimeType:n,byterange:s}){Es.PARAMCHECK(r),this.hint=e,this.uri=r,this.mimeType=n,this.byterange=s}};pr.MediaInitializationSection=$Q;var FQ=class{constructor({id:e,classId:r,start:n,end:s,duration:i,plannedDuration:a,endOnNext:o,attributes:c={}}){Es.PARAMCHECK(e),Es.CONDITIONALPARAMCHECK([o===!0,r]),Es.CONDITIONALASSERT([s,n],[s,n<=s],[i,i>=0],[a,a>=0]),this.id=e,this.classId=r,this.start=n,this.end=s,this.duration=i,this.plannedDuration=a,this.endOnNext=o,this.attributes=c}};pr.DateRange=FQ;var UQ=class{constructor({type:e,duration:r,tagName:n,value:s}){Es.PARAMCHECK(e),Es.CONDITIONALPARAMCHECK([e==="OUT",r]),Es.CONDITIONALPARAMCHECK([e==="RAW",n]),this.type=e,this.duration=r,this.tagName=n,this.value=s}};pr.SpliceInfo=UQ;var $x=class{constructor(e){Es.PARAMCHECK(e),this.type=e}},Rv=class extends $x{constructor({isMasterPlaylist:e,uri:r,version:n,independentSegments:s=!1,start:i,source:a}){super("playlist"),Es.PARAMCHECK(e),this.isMasterPlaylist=e,this.uri=r,this.version=n,this.independentSegments=s,this.start=i,this.source=a}};pr.Playlist=Rv;var qQ=class extends Rv{constructor(e={}){super({...e,isMasterPlaylist:!0});let{variants:r=[],currentVariant:n,sessionDataList:s=[],sessionKeyList:i=[]}=e;this.variants=r,this.currentVariant=n,this.sessionDataList=s,this.sessionKeyList=i}};pr.MasterPlaylist=qQ;var jQ=class extends Rv{constructor(e={}){super({...e,isMasterPlaylist:!1});let{targetDuration:r,mediaSequenceBase:n=0,discontinuitySequenceBase:s=0,endlist:i=!1,playlistType:a,isIFrame:o,segments:c=[],prefetchSegments:u=[],lowLatencyCompatibility:l,partTargetDuration:d,renditionReports:f=[],skip:p=0,hash:m}=e;this.targetDuration=r,this.mediaSequenceBase=n,this.discontinuitySequenceBase=s,this.endlist=i,this.playlistType=a,this.isIFrame=o,this.segments=c,this.prefetchSegments=u,this.lowLatencyCompatibility=l,this.partTargetDuration=d,this.renditionReports=f,this.skip=p,this.hash=m}};pr.MediaPlaylist=jQ;var HQ=class extends $x{constructor({uri:e,mimeType:r,data:n,duration:s,title:i,byterange:a,discontinuity:o,mediaSequenceNumber:c=0,discontinuitySequence:u=0,key:l,map:d,programDateTime:f,dateRange:p,markers:m=[],parts:h=[]}){super("segment"),this.uri=e,this.mimeType=r,this.data=n,this.duration=s,this.title=i,this.byterange=a,this.discontinuity=o,this.mediaSequenceNumber=c,this.discontinuitySequence=u,this.key=l,this.map=d,this.programDateTime=f,this.dateRange=p,this.markers=m,this.parts=h}};pr.Segment=HQ;var QQ=class extends $x{constructor({hint:e=!1,uri:r,duration:n,independent:s,byterange:i,gap:a}){super("part"),Es.PARAMCHECK(r),this.hint=e,this.uri=r,this.duration=n,this.independent=s,this.duration=n,this.byterange=i,this.gap=a}};pr.PartialSegment=QQ;var GQ=class extends $x{constructor({uri:e,discontinuity:r,mediaSequenceNumber:n=0,discontinuitySequence:s=0,key:i}){super("prefetch"),Es.PARAMCHECK(e),this.uri=e,this.discontinuity=r,this.mediaSequenceNumber=n,this.discontinuitySequence=s,this.key=i}};pr.PrefetchSegment=GQ;var KQ=class{constructor({uri:e,lastMSN:r,lastPart:n}){Es.PARAMCHECK(e),this.uri=e,this.lastMSN=r,this.lastPart=n}};pr.RenditionReport=KQ});var v3e=E(Kd=>{"use strict";var RJt=Kd&&Kd.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),NJt=Kd&&Kd.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),OJt=Kd&&Kd.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&RJt(e,t,r);return NJt(e,t),e};Object.defineProperty(Kd,"__esModule",{value:!0});var We=OJt(wv()),ti=VQ();function _3e(t){return We.trim(t,'"')}function PJt(t){switch(t){case"EXTM3U":case"EXT-X-VERSION":return"Basic";case"EXTINF":case"EXT-X-BYTERANGE":case"EXT-X-DISCONTINUITY":case"EXT-X-PREFETCH-DISCONTINUITY":case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-PROGRAM-DATE-TIME":case"EXT-X-DATERANGE":case"EXT-X-CUE-OUT":case"EXT-X-CUE-IN":case"EXT-X-CUE-OUT-CONT":case"EXT-X-CUE":case"EXT-OATCLS-SCTE35":case"EXT-X-ASSET":case"EXT-X-SCTE35":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":return"Segment";case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":case"EXT-X-ENDLIST":case"EXT-X-PLAYLIST-TYPE":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PREFETCH":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return"MediaPlaylist";case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":return"MasterPlaylist";case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-START":return"MediaorMasterPlaylist";default:return"Unknown"}}function kJt(t){let e=We.splitAt(t,",");return{duration:We.toNumber(e[0]),title:decodeURIComponent(escape(e[1]))}}function S3e(t){let e=We.splitAt(t,"@");return{length:We.toNumber(e[0]),offset:e[1]?We.toNumber(e[1]):-1}}function DJt(t){let e=We.splitAt(t,"x");return{width:We.toNumber(e[0]),height:We.toNumber(e[1])}}function BJt(t){let e="ALLOWED-CPC: Each entry must consit of KEYFORMAT and Content Protection Configuration",r=t.split(",");r.length===0&&We.INVALIDPLAYLIST(e);let n=[];for(let s of r){let[i,a]=We.splitAt(s,":");if(!i||!a){We.INVALIDPLAYLIST(e);continue}n.push({format:i,cpcList:a.split("/")})}return n}function LJt(t){let e=We.hexToByteSequence(t);return e.length!==16&&We.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),e}function MJt(t){return t.startsWith('"')?_3e(t):t.startsWith("0x")||t.startsWith("0X")?We.hexToByteSequence(t):We.toNumber(t)}function zQ(t,e){e.IV&&t.compatibleVersion<2&&(t.compatibleVersion=2),(e.KEYFORMAT||e.KEYFORMATVERSIONS)&&t.compatibleVersion<5&&(t.compatibleVersion=5)}function A3e(t){let e={};for(let r of We.splitByCommaWithPreservingQuotes(t)){let[n,s]=We.splitAt(r,"="),i=_3e(s);switch(n){case"URI":e[n]=i;break;case"START-DATE":case"END-DATE":e[n]=new Date(i);break;case"IV":e[n]=LJt(i);break;case"BYTERANGE":e[n]=S3e(i);break;case"RESOLUTION":e[n]=DJt(i);break;case"ALLOWED-CPC":e[n]=BJt(i);break;case"END-ON-NEXT":case"DEFAULT":case"AUTOSELECT":case"FORCED":case"PRECISE":case"CAN-BLOCK-RELOAD":case"INDEPENDENT":case"GAP":e[n]=i==="YES";break;case"DURATION":case"PLANNED-DURATION":case"BANDWIDTH":case"AVERAGE-BANDWIDTH":case"FRAME-RATE":case"TIME-OFFSET":case"CAN-SKIP-UNTIL":case"HOLD-BACK":case"PART-HOLD-BACK":case"PART-TARGET":case"BYTERANGE-START":case"BYTERANGE-LENGTH":case"LAST-MSN":case"LAST-PART":case"SKIPPED-SEGMENTS":case"SCORE":case"PROGRAM-ID":e[n]=We.toNumber(i);break;default:n.startsWith("SCTE35-")?e[n]=We.hexToByteSequence(i):n.startsWith("X-")?e[n]=MJt(s):(n==="VIDEO-RANGE"&&i!=="SDR"&&i!=="HLG"&&i!=="PQ"&&We.INVALIDPLAYLIST(`VIDEO-RANGE: unknown value "${i}"`),e[n]=i)}}return e}function WJt(t,e){switch(t){case"EXTM3U":case"EXT-X-DISCONTINUITY":case"EXT-X-ENDLIST":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-CUE-IN":return[null,null];case"EXT-X-VERSION":case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":return[We.toNumber(e),null];case"EXT-X-CUE-OUT":return Number.isNaN(Number(e))?[null,A3e(e)]:[We.toNumber(e),null];case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-DATERANGE":case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":case"EXT-X-START":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return[null,A3e(e)];case"EXTINF":return[kJt(e),null];case"EXT-X-BYTERANGE":return[S3e(e),null];case"EXT-X-PROGRAM-DATE-TIME":return[new Date(e),null];case"EXT-X-PLAYLIST-TYPE":return[e,null];default:return[e,null]}}function y3e(){We.INVALIDPLAYLIST("The file contains both media and master playlist tags.")}function $Jt(t){let e=t.indexOf(":");return e===-1?[t.slice(1).trim(),null]:[t.slice(1,e).trim(),t.slice(e+1).trim()]}function FJt({attributes:t}){return new ti.Rendition({type:t.TYPE,uri:t.URI,groupId:t["GROUP-ID"],language:t.LANGUAGE,assocLanguage:t["ASSOC-LANGUAGE"],name:t.NAME,isDefault:t.DEFAULT,autoselect:t.AUTOSELECT,forced:t.FORCED,instreamId:t["INSTREAM-ID"],characteristics:t.CHARACTERISTICS,channels:t.CHANNELS})}function UJt(t,e){let r=!1;for(let n of t){if(n.name===e.name)return"All EXT-X-MEDIA tags in the same Group MUST have different NAME attributes.";n.isDefault&&(r=!0)}return r&&e.isDefault?"EXT-X-MEDIA A Group MUST NOT have more than one member with a DEFAULT attribute of YES.":""}function qJt(t,e,r){let n=FJt(e),s=t[We.camelify(r)],i=UJt(s,n);i&&We.INVALIDPLAYLIST(i),s.push(n),n.isDefault&&(t.currentRenditions[We.camelify(r)]=s.length-1)}function jJt(t,e,r){for(let n of["AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS"])n==="CLOSED-CAPTIONS"&&t[n]==="NONE"?(r.isClosedCaptionsNone=!0,e.closedCaptions=[]):t[n]&&!e[We.camelify(n)].some(s=>s.groupId===t[n])&&We.INVALIDPLAYLIST(`${n} attribute MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag whose TYPE attribute is ${n}.`)}function x3e(t,e,r,n,s){let i=new ti.Variant({uri:r,bandwidth:e.BANDWIDTH,averageBandwidth:e["AVERAGE-BANDWIDTH"],score:e.SCORE,codecs:e.CODECS,resolution:e.RESOLUTION,frameRate:e["FRAME-RATE"],hdcpLevel:e["HDCP-LEVEL"],allowedCpc:e["ALLOWED-CPC"],videoRange:e["VIDEO-RANGE"],stableVariantId:e["STABLE-VARIANT-ID"],programId:e["PROGRAM-ID"]});for(let a of t)if(a.name==="EXT-X-MEDIA"){let o=a.attributes,c=o.TYPE;if((!c||!o["GROUP-ID"])&&We.INVALIDPLAYLIST("EXT-X-MEDIA TYPE attribute is REQUIRED."),e[c]===o["GROUP-ID"]&&(qJt(i,a,c),c==="CLOSED-CAPTIONS")){for(let{instreamId:u}of i.closedCaptions)if(u&&u.startsWith("SERVICE")&&s.compatibleVersion<7){s.compatibleVersion=7;break}}}return jJt(e,i,s),i.isIFrameOnly=n,i}function HJt(t,e){if(t.method!==e.method||t.uri!==e.uri)return!1;if(t.iv){if(!e.iv||t.iv.length!==e.iv.length)return!1;for(let r=0;r<t.iv.length;r++)if(t.iv[r]!==e.iv[r])return!1}else if(e.iv)return!1;return!(t.format!==e.format||t.formatVersion!==e.formatVersion)}function QJt(t,e){let r=new ti.MasterPlaylist,n=!1;for(let[s,{name:i,value:a,attributes:o}]of t.entries())if(i==="EXT-X-VERSION")r.version=a;else if(i==="EXT-X-STREAM-INF"){let c=t[s+1];(typeof c!="string"||c.startsWith("#EXT"))&&We.INVALIDPLAYLIST("EXT-X-STREAM-INF must be followed by a URI line");let u=x3e(t,o,c,!1,e);u&&(typeof u.score=="number"&&(n=!0,u.score<0&&We.INVALIDPLAYLIST("SCORE attribute on EXT-X-STREAM-INF must be positive decimal-floating-point number.")),r.variants.push(u))}else if(i==="EXT-X-I-FRAME-STREAM-INF"){let c=x3e(t,o,o.URI,!0,e);c&&r.variants.push(c)}else if(i==="EXT-X-SESSION-DATA"){let c=new ti.SessionData({id:o["DATA-ID"],value:o.VALUE,uri:o.URI,language:o.LANGUAGE});r.sessionDataList.some(u=>u.id===c.id&&u.language===c.language)&&We.INVALIDPLAYLIST("A Playlist MUST NOT contain more than one EXT-X-SESSION-DATA tag with the same DATA-ID attribute and the same LANGUAGE attribute."),r.sessionDataList.push(c)}else if(i==="EXT-X-SESSION-KEY"){o.METHOD==="NONE"&&We.INVALIDPLAYLIST("EXT-X-SESSION-KEY: The value of the METHOD attribute MUST NOT be NONE");let c=new ti.Key({method:o.METHOD,uri:o.URI,iv:o.IV,format:o.KEYFORMAT,formatVersion:o.KEYFORMATVERSIONS});r.sessionKeyList.some(u=>HJt(u,c))&&We.INVALIDPLAYLIST("A Master Playlist MUST NOT contain more than one EXT-X-SESSION-KEY tag with the same METHOD, URI, IV, KEYFORMAT, and KEYFORMATVERSIONS attribute values."),zQ(e,o),r.sessionKeyList.push(c)}else i==="EXT-X-INDEPENDENT-SEGMENTS"?(r.independentSegments&&We.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),r.independentSegments=!0):i==="EXT-X-START"&&(r.start&&We.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof o["TIME-OFFSET"]!="number"&&We.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),r.start={offset:o["TIME-OFFSET"],precise:o.PRECISE||!1});if(n)for(let s of r.variants)typeof s.score!="number"&&We.INVALIDPLAYLIST("If any Variant Stream contains the SCORE attribute, then all Variant Streams in the Master Playlist SHOULD have a SCORE attribute");if(e.isClosedCaptionsNone)for(let s of r.variants)s.closedCaptions.length>0&&We.INVALIDPLAYLIST("If there is a variant with CLOSED-CAPTIONS attribute of NONE, all EXT-X-STREAM-INF tags MUST have this attribute with a value of NONE");return r}function b3e(t,e,r,n,s,i,a){let o=new ti.Segment({uri:e,mediaSequenceNumber:s,discontinuitySequence:i}),c=!1,u=!1;for(let l=r;l<=n;l++){let{name:d,value:f,attributes:p}=t[l];if(d==="EXTINF")!Number.isInteger(f.duration)&&a.compatibleVersion<3&&(a.compatibleVersion=3),Math.round(f.duration)>a.targetDuration&&We.INVALIDPLAYLIST("EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration"),o.duration=f.duration,o.title=f.title;else if(d==="EXT-X-BYTERANGE")a.compatibleVersion<4&&(a.compatibleVersion=4),o.byterange=f;else if(d==="EXT-X-DISCONTINUITY")o.parts.length>0&&We.INVALIDPLAYLIST("EXT-X-DISCONTINUITY must appear before the first EXT-X-PART tag of the Parent Segment."),o.discontinuity=!0;else if(d==="EXT-X-KEY")o.parts.length>0&&We.INVALIDPLAYLIST("EXT-X-KEY must appear before the first EXT-X-PART tag of the Parent Segment."),zQ(a,p),o.key=new ti.Key({method:p.METHOD,uri:p.URI,iv:p.IV,format:p.KEYFORMAT,formatVersion:p.KEYFORMATVERSIONS});else if(d==="EXT-X-MAP")o.parts.length>0&&We.INVALIDPLAYLIST("EXT-X-MAP must appear before the first EXT-X-PART tag of the Parent Segment."),a.compatibleVersion<5&&(a.compatibleVersion=5),a.hasMap=!0,o.map=new ti.MediaInitializationSection({uri:p.URI,byterange:p.BYTERANGE});else if(d==="EXT-X-PROGRAM-DATE-TIME")o.programDateTime=f;else if(d==="EXT-X-DATERANGE"){let m={};for(let h of Object.keys(p))(h.startsWith("SCTE35-")||h.startsWith("X-"))&&(m[h]=p[h]);o.dateRange=new ti.DateRange({id:p.ID,classId:p.CLASS,start:p["START-DATE"],end:p["END-DATE"],duration:p.DURATION,plannedDuration:p["PLANNED-DURATION"],endOnNext:p["END-ON-NEXT"],attributes:m})}else if(d==="EXT-X-CUE-OUT")o.markers.push(new ti.SpliceInfo({type:"OUT",duration:p&&p.DURATION||f}));else if(d==="EXT-X-CUE-IN")o.markers.push(new ti.SpliceInfo({type:"IN"}));else if(d==="EXT-X-CUE-OUT-CONT"||d==="EXT-X-CUE"||d==="EXT-OATCLS-SCTE35"||d==="EXT-X-ASSET"||d==="EXT-X-SCTE35")o.markers.push(new ti.SpliceInfo({type:"RAW",tagName:d,value:f}));else if(d==="EXT-X-PRELOAD-HINT"&&!p.TYPE)We.INVALIDPLAYLIST("EXT-X-PRELOAD-HINT: TYPE attribute is mandatory");else if(d==="EXT-X-PRELOAD-HINT"&&p.TYPE==="PART"&&u)We.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist.");else if((d==="EXT-X-PART"||d==="EXT-X-PRELOAD-HINT")&&!p.URI)We.INVALIDPLAYLIST("EXT-X-PART / EXT-X-PRELOAD-HINT: URI attribute is mandatory");else if(d==="EXT-X-PRELOAD-HINT"&&p.TYPE==="MAP")c&&We.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist."),c=!0,a.hasMap=!0,o.map=new ti.MediaInitializationSection({hint:!0,uri:p.URI,byterange:{length:p["BYTERANGE-LENGTH"],offset:p["BYTERANGE-START"]||0}});else if(d==="EXT-X-PART"||d==="EXT-X-PRELOAD-HINT"&&p.TYPE==="PART"){d==="EXT-X-PART"&&!p.DURATION&&We.INVALIDPLAYLIST("EXT-X-PART: DURATION attribute is mandatory"),d==="EXT-X-PRELOAD-HINT"&&(u=!0);let m=new ti.PartialSegment({hint:d==="EXT-X-PRELOAD-HINT",uri:p.URI,byterange:d==="EXT-X-PART"?p.BYTERANGE:{length:p["BYTERANGE-LENGTH"],offset:p["BYTERANGE-START"]||0},duration:p.DURATION,independent:p.INDEPENDENT,gap:p.GAP});o.parts.push(m)}}return o}function GJt(t,e,r,n,s,i,a){let o=new ti.PrefetchSegment({uri:e,mediaSequenceNumber:s,discontinuitySequence:i});for(let c=r;c<=n;c++){let{name:u,attributes:l}=t[c];u==="EXTINF"?We.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXTINF tag."):u==="EXT-X-DISCONTINUITY"?We.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXT-X-DISCONTINUITY tag."):u==="EXT-X-PREFETCH-DISCONTINUITY"?o.discontinuity=!0:u==="EXT-X-KEY"?(zQ(a,l),o.key=new ti.Key({method:l.METHOD,uri:l.URI,iv:l.IV,format:l.KEYFORMAT,formatVersion:l.KEYFORMATVERSIONS})):u==="EXT-X-MAP"&&We.INVALIDPLAYLIST("Prefetch segments must not be advertised with an EXT-X-MAP tag.")}return o}function KJt(t,e){let r=new ti.MediaPlaylist,n=-1,s=0,i=!1,a=!1,o=0,c=null,u=null,l=!1;for(let[d,f]of t.entries()){let{name:p,value:m,attributes:h,category:A}=f;if(A==="Segment"){n===-1&&(n=d),p==="EXT-X-DISCONTINUITY"&&(i=!0);continue}if(p==="EXT-X-VERSION")r.version===void 0?r.version=m:We.INVALIDPLAYLIST("A Playlist file MUST NOT contain more than one EXT-X-VERSION tag.");else if(p==="EXT-X-TARGETDURATION")r.targetDuration=e.targetDuration=m;else if(p==="EXT-X-MEDIA-SEQUENCE")r.segments.length>0&&We.INVALIDPLAYLIST("The EXT-X-MEDIA-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),r.mediaSequenceBase=s=m;else if(p==="EXT-X-DISCONTINUITY-SEQUENCE")r.segments.length>0&&We.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),i&&We.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before any EXT-X-DISCONTINUITY tag."),r.discontinuitySequenceBase=o=m;else if(p==="EXT-X-ENDLIST")r.endlist=!0;else if(p==="EXT-X-PLAYLIST-TYPE")r.playlistType=m;else if(p==="EXT-X-I-FRAMES-ONLY")e.compatibleVersion<4&&(e.compatibleVersion=4),r.isIFrame=!0;else if(p==="EXT-X-INDEPENDENT-SEGMENTS")r.independentSegments&&We.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),r.independentSegments=!0;else if(p==="EXT-X-START")r.start&&We.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof h["TIME-OFFSET"]!="number"&&We.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),r.start={offset:h["TIME-OFFSET"],precise:h.PRECISE||!1};else if(p==="EXT-X-SERVER-CONTROL")h["CAN-BLOCK-RELOAD"]||We.INVALIDPLAYLIST("EXT-X-SERVER-CONTROL: CAN-BLOCK-RELOAD=YES is mandatory for Low-Latency HLS"),r.lowLatencyCompatibility={canBlockReload:h["CAN-BLOCK-RELOAD"],canSkipUntil:h["CAN-SKIP-UNTIL"],holdBack:h["HOLD-BACK"],partHoldBack:h["PART-HOLD-BACK"]};else if(p==="EXT-X-PART-INF")h["PART-TARGET"]||We.INVALIDPLAYLIST("EXT-X-PART-INF: PART-TARGET attribute is mandatory"),r.partTargetDuration=h["PART-TARGET"];else if(p==="EXT-X-RENDITION-REPORT")h.URI||We.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI attribute is mandatory"),h.URI.search(/^[a-z]+:/)===0&&We.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI must be relative to the playlist uri"),r.renditionReports.push(new ti.RenditionReport({uri:h.URI,lastMSN:h["LAST-MSN"],lastPart:h["LAST-PART"]}));else if(p==="EXT-X-SKIP")h["SKIPPED-SEGMENTS"]||We.INVALIDPLAYLIST("EXT-X-SKIP: SKIPPED-SEGMENTS attribute is mandatory"),e.compatibleVersion<9&&(e.compatibleVersion=9),r.skip=h["SKIPPED-SEGMENTS"],s+=r.skip;else if(p==="EXT-X-PREFETCH"){let g=GJt(t,m,n===-1?d:n,d-1,s++,o,e);g&&(g.discontinuity&&(g.discontinuitySequence++,o=g.discontinuitySequence),g.key?c=g.key:g.key=c,r.prefetchSegments.push(g)),a=!0,n=-1}else if(typeof f=="string"){n===-1&&We.INVALIDPLAYLIST("A URI line is not preceded by any segment tags"),r.targetDuration||We.INVALIDPLAYLIST("The EXT-X-TARGETDURATION tag is REQUIRED"),a&&We.INVALIDPLAYLIST("These segments must appear after all complete segments.");let g=b3e(t,f,n,d-1,s++,o,e);g&&([o,c,u]=E3e(r,g,o,c,u),!l&&g.parts.length>0&&(l=!0)),n=-1}}if(n!==-1){let d=b3e(t,"",n,t.length-1,s++,o,e);if(d){let{parts:f}=d;f.length>0&&!r.endlist&&!f.at(-1)?.hint&&We.INVALIDPLAYLIST("If the Playlist contains EXT-X-PART tags and does not contain an EXT-X-ENDLIST tag, the Playlist must contain an EXT-X-PRELOAD-HINT tag with a TYPE=PART attribute"),E3e(r,d,c,u),!l&&d.parts.length>0&&(l=!0)}}return VJt(r.segments),r.lowLatencyCompatibility&&zJt(r,l),r}function E3e(t,e,r,n,s){let{discontinuity:i,key:a,map:o,byterange:c,uri:u}=e;if(i&&(e.discontinuitySequence=r+1),a||(e.key=n),o||(e.map=s),c&&c.offset===-1){let{segments:l}=t;if(l.length>0){let d=l.at(-1);d.byterange&&d.uri===u?c.offset=d.byterange.offset+d.byterange.length:We.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST be a sub-range of the same media resource")}else We.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST appear in the Playlist file")}return t.segments.push(e),[e.discontinuitySequence,e.key,e.map]}function VJt(t){let e=new Map,r=new Map,n=!1,s=!1;for(let i=t.length-1;i>=0;i--){let{programDateTime:a,dateRange:o}=t[i];if(a&&(s=!0),o&&o.start){n=!0,o.endOnNext&&(o.end||o.duration)&&We.INVALIDPLAYLIST("An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST NOT contain DURATION or END-DATE attributes.");let c=o.start.getTime(),u=o.duration||0;o.end&&o.duration&&c+u*1e3!==o.end.getTime()&&We.INVALIDPLAYLIST("END-DATE MUST be equal to the value of the START-DATE attribute plus the value of the DURATION"),o.endOnNext&&(o.end=e.get(o.classId)),e.set(o.classId,o.start);let l=o.end?o.end.getTime():o.start.getTime()+(o.duration||0)*1e3,d=r.get(o.classId);if(d){for(let f of d)(f.start<=c&&f.end>c||f.start>=c&&f.start<l)&&We.INVALIDPLAYLIST("DATERANGE tags with the same CLASS should not overlap");d.push({start:c,end:l})}else o.classId&&r.set(o.classId,[{start:c,end:l}])}}n&&!s&&We.INVALIDPLAYLIST("If a Playlist contains an EXT-X-DATERANGE tag, it MUST also contain at least one EXT-X-PROGRAM-DATE-TIME tag.")}function zJt({lowLatencyCompatibility:t,targetDuration:e,partTargetDuration:r,segments:n,renditionReports:s},i){let{canSkipUntil:a,holdBack:o,partHoldBack:c}=t;if(a<e*6&&We.INVALIDPLAYLIST("The Skip Boundary must be at least six times the EXT-X-TARGETDURATION."),o<e*3&&We.INVALIDPLAYLIST("HOLD-BACK must be at least three times the EXT-X-TARGETDURATION."),i){r===void 0&&We.INVALIDPLAYLIST("EXT-X-PART-INF is required if a Playlist contains one or more EXT-X-PART tags"),c===void 0&&We.INVALIDPLAYLIST("EXT-X-PART: PART-HOLD-BACK attribute is mandatory"),c<r&&We.INVALIDPLAYLIST("PART-HOLD-BACK must be at least PART-TARGET");for(let[u,{parts:l}]of n.entries()){l.length>0&&u<n.length-3&&We.INVALIDPLAYLIST("Remove EXT-X-PART tags from the Playlist after they are greater than three target durations from the end of the Playlist.");for(let[d,{duration:f}]of l.entries())f!==void 0&&(f>r&&We.INVALIDPLAYLIST("PART-TARGET is the maximum duration of any Partial Segment"),d<l.length-1&&f<r*.85&&We.INVALIDPLAYLIST("All Partial Segments except the last part of a segment must have a duration of at least 85% of PART-TARGET"))}}for(let u of s){let l=n.at(-1);(u.lastMSN===null||u.lastMSN===void 0)&&(u.lastMSN=l.mediaSequenceNumber),(u.lastPart===null||u.lastPart===void 0)&&l.parts.length>0&&(u.lastPart=l.parts.length-1)}}function YJt(t,e){if(t==="Segment"||t==="MediaPlaylist"){if(e.isMasterPlaylist===void 0){e.isMasterPlaylist=!1;return}e.isMasterPlaylist&&y3e();return}if(t==="MasterPlaylist"){if(e.isMasterPlaylist===void 0){e.isMasterPlaylist=!0;return}e.isMasterPlaylist===!1&&y3e()}}function JJt(t,e){let[r,n]=$Jt(t),s=PJt(r);if(YJt(s,e),s==="Unknown")return null;s==="MediaPlaylist"&&r!=="EXT-X-RENDITION-REPORT"&&r!=="EXT-X-PREFETCH"&&(e.hash[r]&&We.INVALIDPLAYLIST("There MUST NOT be more than one Media Playlist tag of each type in any Media Playlist"),e.hash[r]=!0);let[i,a]=WJt(r,n);return{name:r,category:s,value:i,attributes:a}}function XJt(t,e){let r=[];for(let n of t.split(`
|
|
`)){let s=Buffer.from(n.trim()).toString();if(s){if(s.startsWith("#")){if(s.startsWith("#EXT")){let i=JJt(s,e);i&&r.push(i)}continue}r.push(s)}}return(r.length===0||r[0].name!=="EXTM3U")&&We.INVALIDPLAYLIST("The EXTM3U tag MUST be the first line."),r}function ZJt(t,e){let r;return e.isMasterPlaylist?r=QJt(t,e):(r=KJt(t,e),!r.isIFrame&&e.hasMap&&e.compatibleVersion<6&&(e.compatibleVersion=6)),e.compatibleVersion>1&&(!r.version||r.version<e.compatibleVersion)&&We.INVALIDPLAYLIST(`EXT-X-VERSION needs to be ${e.compatibleVersion} or higher.`),r}function eXt(t){let e={version:void 0,isMasterPlaylist:void 0,hasMap:!1,targetDuration:0,compatibleVersion:1,isClosedCaptionsNone:!1,hash:{}},r=XJt(t,e),n=ZJt(r,e);return n.source=t,n}Kd.default=eXt});var C3e=E(Vd=>{"use strict";var tXt=Vd&&Vd.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),rXt=Vd&&Vd.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),nXt=Vd&&Vd.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&tXt(e,t,r);return rXt(e,t),e};Object.defineProperty(Vd,"__esModule",{value:!0});var uu=nXt(wv()),sXt=["#EXTINF","#EXT-X-BYTERANGE","#EXT-X-DISCONTINUITY","#EXT-X-STREAM-INF","#EXT-X-CUE-OUT","#EXT-X-CUE-IN","#EXT-X-KEY","#EXT-X-MAP"],iXt=["#EXT-X-MEDIA"],YQ=class extends Array{constructor(e){super(),this.baseUri=e}push(...e){for(let r of e){if(!r.startsWith("#")){super.push(r);continue}if(sXt.some(n=>r.startsWith(n))){super.push(r);continue}if(this.includes(r)){if(iXt.some(n=>r.startsWith(n)))continue;uu.INVALIDPLAYLIST(`Redundant item (${r})`)}super.push(r)}return this.length}};function JQ(t,e){let r=1e3;e&&(r=10**e);let n=Math.round(t*r)/r;return e?n.toFixed(e):n}function aXt(t){let e=t.toString(10),r=e.indexOf(".");return r===-1?0:e.length-r-1}function oXt(t,e){for(let r of e.sessionDataList)t.push(cXt(r));for(let r of e.sessionKeyList)t.push(I3e(r,!0));for(let r of e.variants)uXt(t,r)}function cXt(t){let e=[`DATA-ID="${t.id}"`];return t.language&&e.push(`LANGUAGE="${t.language}"`),t.value?e.push(`VALUE="${t.value}"`):t.uri&&e.push(`URI="${t.uri}"`),`#EXT-X-SESSION-DATA:${e.join(",")}`}function I3e(t,e){let r=e?"#EXT-X-SESSION-KEY":"#EXT-X-KEY",n=[`METHOD=${t.method}`];return t.uri&&n.push(`URI="${t.uri}"`),t.iv&&(t.iv.length!==16&&uu.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),n.push(`IV=${uu.byteSequenceToHex(t.iv)}`)),t.format&&n.push(`KEYFORMAT="${t.format}"`),t.formatVersion&&n.push(`KEYFORMATVERSIONS="${t.formatVersion}"`),`${r}:${n.join(",")}`}function uXt(t,e){let r=e.isIFrameOnly?"#EXT-X-I-FRAME-STREAM-INF":"#EXT-X-STREAM-INF",n=[`BANDWIDTH=${e.bandwidth}`];if(e.averageBandwidth&&n.push(`AVERAGE-BANDWIDTH=${e.averageBandwidth}`),e.isIFrameOnly&&n.push(`URI="${e.uri}"`),e.codecs&&n.push(`CODECS="${e.codecs}"`),e.resolution&&n.push(`RESOLUTION=${e.resolution.width}x${e.resolution.height}`),e.frameRate&&n.push(`FRAME-RATE=${JQ(e.frameRate,3)}`),e.hdcpLevel&&n.push(`HDCP-LEVEL=${e.hdcpLevel}`),e.audio.length>0){n.push(`AUDIO="${e.audio[0].groupId}"`);for(let s of e.audio)t.push(u3(s))}if(e.video.length>0){n.push(`VIDEO="${e.video[0].groupId}"`);for(let s of e.video)t.push(u3(s))}if(e.subtitles.length>0){n.push(`SUBTITLES="${e.subtitles[0].groupId}"`);for(let s of e.subtitles)t.push(u3(s))}if(uu.getOptions().allowClosedCaptionsNone&&e.closedCaptions.length===0)n.push("CLOSED-CAPTIONS=NONE");else if(e.closedCaptions.length>0){n.push(`CLOSED-CAPTIONS="${e.closedCaptions[0].groupId}"`);for(let s of e.closedCaptions)t.push(u3(s))}if(e.score&&n.push(`SCORE=${e.score}`),e.allowedCpc){let s=[];for(let{format:i,cpcList:a}of e.allowedCpc)s.push(`${i}:${a.join("/")}`);n.push(`ALLOWED-CPC="${s.join(",")}"`)}e.videoRange&&n.push(`VIDEO-RANGE=${e.videoRange}`),e.stableVariantId&&n.push(`STABLE-VARIANT-ID="${e.stableVariantId}"`),e.programId&&n.push(`PROGRAM-ID=${e.programId}`),t.push(`${r}:${n.join(",")}`),e.isIFrameOnly||t.push(`${e.uri}`)}function u3(t){let e=[`TYPE=${t.type}`,`GROUP-ID="${t.groupId}"`,`NAME="${t.name}"`];return t.isDefault!==void 0&&e.push(`DEFAULT=${t.isDefault?"YES":"NO"}`),t.autoselect!==void 0&&e.push(`AUTOSELECT=${t.autoselect?"YES":"NO"}`),t.forced!==void 0&&e.push(`FORCED=${t.forced?"YES":"NO"}`),t.language&&e.push(`LANGUAGE="${t.language}"`),t.assocLanguage&&e.push(`ASSOC-LANGUAGE="${t.assocLanguage}"`),t.instreamId&&e.push(`INSTREAM-ID="${t.instreamId}"`),t.characteristics&&e.push(`CHARACTERISTICS="${t.characteristics}"`),t.channels&&e.push(`CHANNELS="${t.channels}"`),t.uri&&e.push(`URI="${t.uri}"`),`#EXT-X-MEDIA:${e.join(",")}`}function lXt(t,e){let r="",n="",s=!1;if(e.targetDuration&&t.push(`#EXT-X-TARGETDURATION:${e.targetDuration}`),e.lowLatencyCompatibility){let{canBlockReload:i,canSkipUntil:a,holdBack:o,partHoldBack:c}=e.lowLatencyCompatibility,u=[];u.push(`CAN-BLOCK-RELOAD=${i?"YES":"NO"}`),a!==void 0&&u.push(`CAN-SKIP-UNTIL=${a}`),o!==void 0&&u.push(`HOLD-BACK=${o}`),c!==void 0&&u.push(`PART-HOLD-BACK=${c}`),t.push(`#EXT-X-SERVER-CONTROL:${u.join(",")}`)}e.partTargetDuration&&t.push(`#EXT-X-PART-INF:PART-TARGET=${e.partTargetDuration}`),e.mediaSequenceBase&&t.push(`#EXT-X-MEDIA-SEQUENCE:${e.mediaSequenceBase}`),e.discontinuitySequenceBase&&t.push(`#EXT-X-DISCONTINUITY-SEQUENCE:${e.discontinuitySequenceBase}`),e.playlistType&&t.push(`#EXT-X-PLAYLIST-TYPE:${e.playlistType}`),e.isIFrame&&t.push("#EXT-X-I-FRAMES-ONLY"),e.skip>0&&t.push(`#EXT-X-SKIP:SKIPPED-SEGMENTS=${e.skip}`);for(let i of e.segments){let a="";[r,n,a]=dXt(t,i,r,n,e.version),a==="OUT"?s=!0:a==="IN"&&s&&(s=!1)}e.playlistType==="VOD"&&s&&t.push("#EXT-X-CUE-IN"),e.prefetchSegments.length>2&&uu.INVALIDPLAYLIST("The server must deliver no more than two prefetch segments");for(let i of e.prefetchSegments)i.discontinuity&&t.push("#EXT-X-PREFETCH-DISCONTINUITY"),t.push(`#EXT-X-PREFETCH:${i.uri}`);e.endlist&&t.push("#EXT-X-ENDLIST");for(let i of e.renditionReports){let a=[];a.push(`URI="${i.uri}"`,`LAST-MSN=${i.lastMSN}`),i.lastPart!==void 0&&a.push(`LAST-PART=${i.lastPart}`),t.push(`#EXT-X-RENDITION-REPORT:${a.join(",")}`)}}function dXt(t,e,r,n,s=1){let i=!1,a="";if(e.discontinuity&&t.push("#EXT-X-DISCONTINUITY"),e.key){let c=I3e(e.key);c!==r&&(t.push(c),r=c)}if(e.map){let c=fXt(e.map);c!==n&&(t.push(c),n=c)}if(e.programDateTime&&t.push(`#EXT-X-PROGRAM-DATE-TIME:${uu.formatDate(e.programDateTime)}`),e.dateRange&&t.push(pXt(e.dateRange)),e.markers.length>0&&(a=mXt(t,e.markers)),e.parts.length>0&&(i=hXt(t,e.parts)),i)return[r,n];let o=s<3?Math.round(e.duration):JQ(e.duration,aXt(e.duration));return t.push(`#EXTINF:${o},${unescape(encodeURIComponent(e.title||""))}`),e.byterange&&t.push(`#EXT-X-BYTERANGE:${XQ(e.byterange)}`),Array.prototype.push.call(t,`${e.uri}`),[r,n,a]}function fXt(t){let e=[`URI="${t.uri}"`];return t.byterange&&e.push(`BYTERANGE="${XQ(t.byterange)}"`),`#EXT-X-MAP:${e.join(",")}`}function XQ({offset:t,length:e}){return`${e}@${t}`}function pXt(t){let e=[`ID="${t.id}"`];t.start&&e.push(`START-DATE="${uu.formatDate(t.start)}"`),t.end&&e.push(`END-DATE="${uu.formatDate(t.end)}"`),t.duration&&e.push(`DURATION=${t.duration}`),t.plannedDuration&&e.push(`PLANNED-DURATION=${t.plannedDuration}`),t.classId&&e.push(`CLASS="${t.classId}"`),t.endOnNext&&e.push("END-ON-NEXT=YES");for(let r of Object.keys(t.attributes))r.startsWith("X-")?typeof t.attributes[r]=="number"?e.push(`${r}=${t.attributes[r]}`):e.push(`${r}="${t.attributes[r]}"`):r.startsWith("SCTE35-")&&e.push(`${r}=${uu.byteSequenceToHex(t.attributes[r])}`);return`#EXT-X-DATERANGE:${e.join(",")}`}function mXt(t,e){let r="";for(let n of e)if(n.type==="OUT")r="OUT",t.push(`#EXT-X-CUE-OUT:DURATION=${n.duration}`);else if(n.type==="IN")r="IN",t.push("#EXT-X-CUE-IN");else if(n.type==="RAW"){let s=n.value?`:${n.value}`:"";t.push(`#${n.tagName}${s}`)}return r}function hXt(t,e){let r=!1;for(let n of e)if(n.hint){let s=[];if(s.push("TYPE=PART",`URI="${n.uri}"`),n.byterange){let{offset:i,length:a}=n.byterange;s.push(`BYTERANGE-START=${i}`),a&&s.push(`BYTERANGE-LENGTH=${a}`)}t.push(`#EXT-X-PRELOAD-HINT:${s.join(",")}`),r=!0}else{let s=[];s.push(`DURATION=${n.duration}`,`URI="${n.uri}"`),n.byterange&&s.push(`BYTERANGE=${XQ(n.byterange)}`),n.independent&&s.push("INDEPENDENT=YES"),n.gap&&s.push("GAP=YES"),t.push(`#EXT-X-PART:${s.join(",")}`)}return r}function gXt(t){uu.PARAMCHECK(t),uu.ASSERT("Not a playlist",t.type==="playlist");let e=new YQ(t.uri);return e.push("#EXTM3U"),t.version&&e.push(`#EXT-X-VERSION:${t.version}`),t.independentSegments&&e.push("#EXT-X-INDEPENDENT-SEGMENTS"),t.start&&e.push(`#EXT-X-START:TIME-OFFSET=${JQ(t.start.offset)}${t.start.precise?",PRECISE=YES":""}`),t.isMasterPlaylist?oXt(e,t):lXt(e,t),e.join(`
|
|
`)}Vd.default=gXt});var R3e=E(_s=>{"use strict";var AXt=_s&&_s.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),yXt=_s&&_s.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),xXt=_s&&_s.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&AXt(e,t,r);return yXt(e,t),e},T3e=_s&&_s.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_s,"__esModule",{value:!0});_s.setOptions=_s.getOptions=_s.types=_s.stringify=_s.parse=void 0;var w3e=wv();Object.defineProperty(_s,"getOptions",{enumerable:!0,get:function(){return w3e.getOptions}});Object.defineProperty(_s,"setOptions",{enumerable:!0,get:function(){return w3e.setOptions}});var bXt=T3e(v3e());_s.parse=bXt.default;var EXt=T3e(C3e());_s.stringify=EXt.default;var _Xt=xXt(VQ());_s.types=_Xt});var fG=E((M7r,ABe)=>{ABe.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}});var g0=E(Lh=>{var pG,tZt=[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];Lh.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return e*4+17};Lh.getSymbolTotalCodewords=function(e){return tZt[e]};Lh.getBCHDigit=function(t){let e=0;for(;t!==0;)e++,t>>>=1;return e};Lh.setToSJISFunction=function(e){if(typeof e!="function")throw new Error('"toSJISFunc" is not a valid function.');pG=e};Lh.isKanjiModeEnabled=function(){return typeof pG<"u"};Lh.toSJIS=function(e){return pG(e)}});var S3=E(xc=>{xc.L={bit:1};xc.M={bit:0};xc.Q={bit:3};xc.H={bit:2};function rZt(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return xc.L;case"m":case"medium":return xc.M;case"q":case"quartile":return xc.Q;case"h":case"high":return xc.H;default:throw new Error("Unknown EC Level: "+t)}}xc.isValid=function(e){return e&&typeof e.bit<"u"&&e.bit>=0&&e.bit<4};xc.from=function(e,r){if(xc.isValid(e))return e;try{return rZt(e)}catch{return r}}});var bBe=E((F7r,xBe)=>{function yBe(){this.buffer=[],this.length=0}yBe.prototype={get:function(t){let e=Math.floor(t/8);return(this.buffer[e]>>>7-t%8&1)===1},put:function(t,e){for(let r=0;r<e;r++)this.putBit((t>>>e-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){let e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};xBe.exports=yBe});var _Be=E((U7r,EBe)=>{function Dv(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}Dv.prototype.set=function(t,e,r,n){let s=t*this.size+e;this.data[s]=r,n&&(this.reservedBit[s]=!0)};Dv.prototype.get=function(t,e){return this.data[t*this.size+e]};Dv.prototype.xor=function(t,e,r){this.data[t*this.size+e]^=r};Dv.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]};EBe.exports=Dv});var SBe=E(v3=>{var nZt=g0().getSymbolSize;v3.getRowColCoords=function(e){if(e===1)return[];let r=Math.floor(e/7)+2,n=nZt(e),s=n===145?26:Math.ceil((n-13)/(2*r-2))*2,i=[n-7];for(let a=1;a<r-1;a++)i[a]=i[a-1]-s;return i.push(6),i.reverse()};v3.getPositions=function(e){let r=[],n=v3.getRowColCoords(e),s=n.length;for(let i=0;i<s;i++)for(let a=0;a<s;a++)i===0&&a===0||i===0&&a===s-1||i===s-1&&a===0||r.push([n[i],n[a]]);return r}});var CBe=E(IBe=>{var sZt=g0().getSymbolSize,vBe=7;IBe.getPositions=function(e){let r=sZt(e);return[[0,0],[r-vBe,0],[0,r-vBe]]}});var TBe=E(Sn=>{Sn.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var Mh={N1:3,N2:3,N3:40,N4:10};Sn.isValid=function(e){return e!=null&&e!==""&&!isNaN(e)&&e>=0&&e<=7};Sn.from=function(e){return Sn.isValid(e)?parseInt(e,10):void 0};Sn.getPenaltyN1=function(e){let r=e.size,n=0,s=0,i=0,a=null,o=null;for(let c=0;c<r;c++){s=i=0,a=o=null;for(let u=0;u<r;u++){let l=e.get(c,u);l===a?s++:(s>=5&&(n+=Mh.N1+(s-5)),a=l,s=1),l=e.get(u,c),l===o?i++:(i>=5&&(n+=Mh.N1+(i-5)),o=l,i=1)}s>=5&&(n+=Mh.N1+(s-5)),i>=5&&(n+=Mh.N1+(i-5))}return n};Sn.getPenaltyN2=function(e){let r=e.size,n=0;for(let s=0;s<r-1;s++)for(let i=0;i<r-1;i++){let a=e.get(s,i)+e.get(s,i+1)+e.get(s+1,i)+e.get(s+1,i+1);(a===4||a===0)&&n++}return n*Mh.N2};Sn.getPenaltyN3=function(e){let r=e.size,n=0,s=0,i=0;for(let a=0;a<r;a++){s=i=0;for(let o=0;o<r;o++)s=s<<1&2047|e.get(a,o),o>=10&&(s===1488||s===93)&&n++,i=i<<1&2047|e.get(o,a),o>=10&&(i===1488||i===93)&&n++}return n*Mh.N3};Sn.getPenaltyN4=function(e){let r=0,n=e.data.length;for(let i=0;i<n;i++)r+=e.data[i];return Math.abs(Math.ceil(r*100/n/5)-10)*Mh.N4};function iZt(t,e,r){switch(t){case Sn.Patterns.PATTERN000:return(e+r)%2===0;case Sn.Patterns.PATTERN001:return e%2===0;case Sn.Patterns.PATTERN010:return r%3===0;case Sn.Patterns.PATTERN011:return(e+r)%3===0;case Sn.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2===0;case Sn.Patterns.PATTERN101:return e*r%2+e*r%3===0;case Sn.Patterns.PATTERN110:return(e*r%2+e*r%3)%2===0;case Sn.Patterns.PATTERN111:return(e*r%3+(e+r)%2)%2===0;default:throw new Error("bad maskPattern:"+t)}}Sn.applyMask=function(e,r){let n=r.size;for(let s=0;s<n;s++)for(let i=0;i<n;i++)r.isReserved(i,s)||r.xor(i,s,iZt(e,i,s))};Sn.getBestMask=function(e,r){let n=Object.keys(Sn.Patterns).length,s=0,i=1/0;for(let a=0;a<n;a++){r(a),Sn.applyMask(a,e);let o=Sn.getPenaltyN1(e)+Sn.getPenaltyN2(e)+Sn.getPenaltyN3(e)+Sn.getPenaltyN4(e);Sn.applyMask(a,e),o<i&&(i=o,s=a)}return s}});var hG=E(mG=>{var A0=S3(),I3=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],C3=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];mG.getBlocksCount=function(e,r){switch(r){case A0.L:return I3[(e-1)*4+0];case A0.M:return I3[(e-1)*4+1];case A0.Q:return I3[(e-1)*4+2];case A0.H:return I3[(e-1)*4+3];default:return}};mG.getTotalCodewordsCount=function(e,r){switch(r){case A0.L:return C3[(e-1)*4+0];case A0.M:return C3[(e-1)*4+1];case A0.Q:return C3[(e-1)*4+2];case A0.H:return C3[(e-1)*4+3];default:return}}});var wBe=E(w3=>{var Bv=new Uint8Array(512),T3=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)Bv[r]=e,T3[e]=r,e<<=1,e&256&&(e^=285);for(let r=255;r<512;r++)Bv[r]=Bv[r-255]})();w3.log=function(e){if(e<1)throw new Error("log("+e+")");return T3[e]};w3.exp=function(e){return Bv[e]};w3.mul=function(e,r){return e===0||r===0?0:Bv[T3[e]+T3[r]]}});var RBe=E(Lv=>{var gG=wBe();Lv.mul=function(e,r){let n=new Uint8Array(e.length+r.length-1);for(let s=0;s<e.length;s++)for(let i=0;i<r.length;i++)n[s+i]^=gG.mul(e[s],r[i]);return n};Lv.mod=function(e,r){let n=new Uint8Array(e);for(;n.length-r.length>=0;){let s=n[0];for(let a=0;a<r.length;a++)n[a]^=gG.mul(r[a],s);let i=0;for(;i<n.length&&n[i]===0;)i++;n=n.slice(i)}return n};Lv.generateECPolynomial=function(e){let r=new Uint8Array([1]);for(let n=0;n<e;n++)r=Lv.mul(r,new Uint8Array([1,gG.exp(n)]));return r}});var PBe=E((V7r,OBe)=>{var NBe=RBe();function AG(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}AG.prototype.initialize=function(e){this.degree=e,this.genPoly=NBe.generateECPolynomial(this.degree)};AG.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");let r=new Uint8Array(e.length+this.degree);r.set(e);let n=NBe.mod(r,this.genPoly),s=this.degree-n.length;if(s>0){let i=new Uint8Array(this.degree);return i.set(n,s),i}return n};OBe.exports=AG});var yG=E(kBe=>{kBe.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}});var xG=E(Yd=>{var DBe="[0-9]+",aZt="[A-Z $%*+\\-./:]+",Mv="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Mv=Mv.replace(/u/g,"\\u");var oZt="(?:(?![A-Z0-9 $%*+\\-./:]|"+Mv+`)(?:.|[\r
|
|
]))+`;Yd.KANJI=new RegExp(Mv,"g");Yd.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");Yd.BYTE=new RegExp(oZt,"g");Yd.NUMERIC=new RegExp(DBe,"g");Yd.ALPHANUMERIC=new RegExp(aZt,"g");var cZt=new RegExp("^"+Mv+"$"),uZt=new RegExp("^"+DBe+"$"),lZt=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");Yd.testKanji=function(e){return cZt.test(e)};Yd.testNumeric=function(e){return uZt.test(e)};Yd.testAlphanumeric=function(e){return lZt.test(e)}});var y0=E(vs=>{var dZt=yG(),bG=xG();vs.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]};vs.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]};vs.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]};vs.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]};vs.MIXED={bit:-1};vs.getCharCountIndicator=function(e,r){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!dZt.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?e.ccBits[0]:r<27?e.ccBits[1]:e.ccBits[2]};vs.getBestModeForData=function(e){return bG.testNumeric(e)?vs.NUMERIC:bG.testAlphanumeric(e)?vs.ALPHANUMERIC:bG.testKanji(e)?vs.KANJI:vs.BYTE};vs.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")};vs.isValid=function(e){return e&&e.bit&&e.ccBits};function fZt(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return vs.NUMERIC;case"alphanumeric":return vs.ALPHANUMERIC;case"kanji":return vs.KANJI;case"byte":return vs.BYTE;default:throw new Error("Unknown mode: "+t)}}vs.from=function(e,r){if(vs.isValid(e))return e;try{return fZt(e)}catch{return r}}});var $Be=E(Wh=>{var R3=g0(),pZt=hG(),BBe=S3(),x0=y0(),EG=yG(),MBe=7973,LBe=R3.getBCHDigit(MBe);function mZt(t,e,r){for(let n=1;n<=40;n++)if(e<=Wh.getCapacity(n,r,t))return n}function WBe(t,e){return x0.getCharCountIndicator(t,e)+4}function hZt(t,e){let r=0;return t.forEach(function(n){let s=WBe(n.mode,e);r+=s+n.getBitsLength()}),r}function gZt(t,e){for(let r=1;r<=40;r++)if(hZt(t,r)<=Wh.getCapacity(r,e,x0.MIXED))return r}Wh.from=function(e,r){return EG.isValid(e)?parseInt(e,10):r};Wh.getCapacity=function(e,r,n){if(!EG.isValid(e))throw new Error("Invalid QR Code version");typeof n>"u"&&(n=x0.BYTE);let s=R3.getSymbolTotalCodewords(e),i=pZt.getTotalCodewordsCount(e,r),a=(s-i)*8;if(n===x0.MIXED)return a;let o=a-WBe(n,e);switch(n){case x0.NUMERIC:return Math.floor(o/10*3);case x0.ALPHANUMERIC:return Math.floor(o/11*2);case x0.KANJI:return Math.floor(o/13);case x0.BYTE:default:return Math.floor(o/8)}};Wh.getBestVersionForData=function(e,r){let n,s=BBe.from(r,BBe.M);if(Array.isArray(e)){if(e.length>1)return gZt(e,s);if(e.length===0)return 1;n=e[0]}else n=e;return mZt(n.mode,n.getLength(),s)};Wh.getEncodedBits=function(e){if(!EG.isValid(e)||e<7)throw new Error("Invalid QR Code version");let r=e<<12;for(;R3.getBCHDigit(r)-LBe>=0;)r^=MBe<<R3.getBCHDigit(r)-LBe;return e<<12|r}});var jBe=E(qBe=>{var _G=g0(),UBe=1335,AZt=21522,FBe=_G.getBCHDigit(UBe);qBe.getEncodedBits=function(e,r){let n=e.bit<<3|r,s=n<<10;for(;_G.getBCHDigit(s)-FBe>=0;)s^=UBe<<_G.getBCHDigit(s)-FBe;return(n<<10|s)^AZt}});var QBe=E((eqr,HBe)=>{var yZt=y0();function jx(t){this.mode=yZt.NUMERIC,this.data=t.toString()}jx.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)};jx.prototype.getLength=function(){return this.data.length};jx.prototype.getBitsLength=function(){return jx.getBitsLength(this.data.length)};jx.prototype.write=function(e){let r,n,s;for(r=0;r+3<=this.data.length;r+=3)n=this.data.substr(r,3),s=parseInt(n,10),e.put(s,10);let i=this.data.length-r;i>0&&(n=this.data.substr(r),s=parseInt(n,10),e.put(s,i*3+1))};HBe.exports=jx});var KBe=E((tqr,GBe)=>{var xZt=y0(),SG=["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 Hx(t){this.mode=xZt.ALPHANUMERIC,this.data=t}Hx.getBitsLength=function(e){return 11*Math.floor(e/2)+6*(e%2)};Hx.prototype.getLength=function(){return this.data.length};Hx.prototype.getBitsLength=function(){return Hx.getBitsLength(this.data.length)};Hx.prototype.write=function(e){let r;for(r=0;r+2<=this.data.length;r+=2){let n=SG.indexOf(this.data[r])*45;n+=SG.indexOf(this.data[r+1]),e.put(n,11)}this.data.length%2&&e.put(SG.indexOf(this.data[r]),6)};GBe.exports=Hx});var zBe=E((rqr,VBe)=>{var bZt=y0();function Qx(t){this.mode=bZt.BYTE,typeof t=="string"?this.data=new TextEncoder().encode(t):this.data=new Uint8Array(t)}Qx.getBitsLength=function(e){return e*8};Qx.prototype.getLength=function(){return this.data.length};Qx.prototype.getBitsLength=function(){return Qx.getBitsLength(this.data.length)};Qx.prototype.write=function(t){for(let e=0,r=this.data.length;e<r;e++)t.put(this.data[e],8)};VBe.exports=Qx});var JBe=E((nqr,YBe)=>{var EZt=y0(),_Zt=g0();function Gx(t){this.mode=EZt.KANJI,this.data=t}Gx.getBitsLength=function(e){return e*13};Gx.prototype.getLength=function(){return this.data.length};Gx.prototype.getBitsLength=function(){return Gx.getBitsLength(this.data.length)};Gx.prototype.write=function(t){let e;for(e=0;e<this.data.length;e++){let r=_Zt.toSJIS(this.data[e]);if(r>=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[e]+`
|
|
Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),t.put(r,13)}};YBe.exports=Gx});var XBe=E((sqr,vG)=>{"use strict";var Wv={single_source_shortest_paths:function(t,e,r){var n={},s={};s[e]=0;var i=Wv.PriorityQueue.make();i.push(e,0);for(var a,o,c,u,l,d,f,p,m;!i.empty();){a=i.pop(),o=a.value,u=a.cost,l=t[o]||{};for(c in l)l.hasOwnProperty(c)&&(d=l[c],f=u+d,p=s[c],m=typeof s[c]>"u",(m||p>f)&&(s[c]=f,i.push(c,f),n[c]=o))}if(typeof r<"u"&&typeof s[r]>"u"){var h=["Could not find a path from ",e," to ",r,"."].join("");throw new Error(h)}return n},extract_shortest_path_from_predecessor_list:function(t,e){for(var r=[],n=e,s;n;)r.push(n),s=t[n],n=t[n];return r.reverse(),r},find_path:function(t,e,r){var n=Wv.single_source_shortest_paths(t,e,r);return Wv.extract_shortest_path_from_predecessor_list(n,r)},PriorityQueue:{make:function(t){var e=Wv.PriorityQueue,r={},n;t=t||{};for(n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return r.queue=[],r.sorter=t.sorter||e.default_sorter,r},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var r={value:t,cost:e};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof vG<"u"&&(vG.exports=Wv)});var aLe=E(Kx=>{var Vr=y0(),tLe=QBe(),rLe=KBe(),nLe=zBe(),sLe=JBe(),$v=xG(),N3=g0(),SZt=XBe();function ZBe(t){return unescape(encodeURIComponent(t)).length}function Fv(t,e,r){let n=[],s;for(;(s=t.exec(r))!==null;)n.push({data:s[0],index:s.index,mode:e,length:s[0].length});return n}function iLe(t){let e=Fv($v.NUMERIC,Vr.NUMERIC,t),r=Fv($v.ALPHANUMERIC,Vr.ALPHANUMERIC,t),n,s;return N3.isKanjiModeEnabled()?(n=Fv($v.BYTE,Vr.BYTE,t),s=Fv($v.KANJI,Vr.KANJI,t)):(n=Fv($v.BYTE_KANJI,Vr.BYTE,t),s=[]),e.concat(r,n,s).sort(function(a,o){return a.index-o.index}).map(function(a){return{data:a.data,mode:a.mode,length:a.length}})}function IG(t,e){switch(e){case Vr.NUMERIC:return tLe.getBitsLength(t);case Vr.ALPHANUMERIC:return rLe.getBitsLength(t);case Vr.KANJI:return sLe.getBitsLength(t);case Vr.BYTE:return nLe.getBitsLength(t)}}function vZt(t){return t.reduce(function(e,r){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===r.mode?(e[e.length-1].data+=r.data,e):(e.push(r),e)},[])}function IZt(t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];switch(n.mode){case Vr.NUMERIC:e.push([n,{data:n.data,mode:Vr.ALPHANUMERIC,length:n.length},{data:n.data,mode:Vr.BYTE,length:n.length}]);break;case Vr.ALPHANUMERIC:e.push([n,{data:n.data,mode:Vr.BYTE,length:n.length}]);break;case Vr.KANJI:e.push([n,{data:n.data,mode:Vr.BYTE,length:ZBe(n.data)}]);break;case Vr.BYTE:e.push([{data:n.data,mode:Vr.BYTE,length:ZBe(n.data)}])}}return e}function CZt(t,e){let r={},n={start:{}},s=["start"];for(let i=0;i<t.length;i++){let a=t[i],o=[];for(let c=0;c<a.length;c++){let u=a[c],l=""+i+c;o.push(l),r[l]={node:u,lastCount:0},n[l]={};for(let d=0;d<s.length;d++){let f=s[d];r[f]&&r[f].node.mode===u.mode?(n[f][l]=IG(r[f].lastCount+u.length,u.mode)-IG(r[f].lastCount,u.mode),r[f].lastCount+=u.length):(r[f]&&(r[f].lastCount=u.length),n[f][l]=IG(u.length,u.mode)+4+Vr.getCharCountIndicator(u.mode,e))}}s=o}for(let i=0;i<s.length;i++)n[s[i]].end=0;return{map:n,table:r}}function eLe(t,e){let r,n=Vr.getBestModeForData(t);if(r=Vr.from(e,n),r!==Vr.BYTE&&r.bit<n.bit)throw new Error('"'+t+'" cannot be encoded with mode '+Vr.toString(r)+`.
|
|
Suggested mode is: `+Vr.toString(n));switch(r===Vr.KANJI&&!N3.isKanjiModeEnabled()&&(r=Vr.BYTE),r){case Vr.NUMERIC:return new tLe(t);case Vr.ALPHANUMERIC:return new rLe(t);case Vr.KANJI:return new sLe(t);case Vr.BYTE:return new nLe(t)}}Kx.fromArray=function(e){return e.reduce(function(r,n){return typeof n=="string"?r.push(eLe(n,null)):n.data&&r.push(eLe(n.data,n.mode)),r},[])};Kx.fromString=function(e,r){let n=iLe(e,N3.isKanjiModeEnabled()),s=IZt(n),i=CZt(s,r),a=SZt.find_path(i.map,"start","end"),o=[];for(let c=1;c<a.length-1;c++)o.push(i.table[a[c]].node);return Kx.fromArray(vZt(o))};Kx.rawSplit=function(e){return Kx.fromArray(iLe(e,N3.isKanjiModeEnabled()))}});var OG=E(oLe=>{var P3=g0(),CG=S3(),TZt=bBe(),wZt=_Be(),RZt=SBe(),NZt=CBe(),RG=TBe(),NG=hG(),OZt=PBe(),O3=$Be(),PZt=jBe(),kZt=y0(),TG=aLe();function DZt(t,e){let r=t.size,n=NZt.getPositions(e);for(let s=0;s<n.length;s++){let i=n[s][0],a=n[s][1];for(let o=-1;o<=7;o++)if(!(i+o<=-1||r<=i+o))for(let c=-1;c<=7;c++)a+c<=-1||r<=a+c||(o>=0&&o<=6&&(c===0||c===6)||c>=0&&c<=6&&(o===0||o===6)||o>=2&&o<=4&&c>=2&&c<=4?t.set(i+o,a+c,!0,!0):t.set(i+o,a+c,!1,!0))}}function BZt(t){let e=t.size;for(let r=8;r<e-8;r++){let n=r%2===0;t.set(r,6,n,!0),t.set(6,r,n,!0)}}function LZt(t,e){let r=RZt.getPositions(e);for(let n=0;n<r.length;n++){let s=r[n][0],i=r[n][1];for(let a=-2;a<=2;a++)for(let o=-2;o<=2;o++)a===-2||a===2||o===-2||o===2||a===0&&o===0?t.set(s+a,i+o,!0,!0):t.set(s+a,i+o,!1,!0)}}function MZt(t,e){let r=t.size,n=O3.getEncodedBits(e),s,i,a;for(let o=0;o<18;o++)s=Math.floor(o/3),i=o%3+r-8-3,a=(n>>o&1)===1,t.set(s,i,a,!0),t.set(i,s,a,!0)}function wG(t,e,r){let n=t.size,s=PZt.getEncodedBits(e,r),i,a;for(i=0;i<15;i++)a=(s>>i&1)===1,i<6?t.set(i,8,a,!0):i<8?t.set(i+1,8,a,!0):t.set(n-15+i,8,a,!0),i<8?t.set(8,n-i-1,a,!0):i<9?t.set(8,15-i-1+1,a,!0):t.set(8,15-i-1,a,!0);t.set(n-8,8,1,!0)}function WZt(t,e){let r=t.size,n=-1,s=r-1,i=7,a=0;for(let o=r-1;o>0;o-=2)for(o===6&&o--;;){for(let c=0;c<2;c++)if(!t.isReserved(s,o-c)){let u=!1;a<e.length&&(u=(e[a]>>>i&1)===1),t.set(s,o-c,u),i--,i===-1&&(a++,i=7)}if(s+=n,s<0||r<=s){s-=n,n=-n;break}}}function $Zt(t,e,r){let n=new TZt;r.forEach(function(c){n.put(c.mode.bit,4),n.put(c.getLength(),kZt.getCharCountIndicator(c.mode,t)),c.write(n)});let s=P3.getSymbolTotalCodewords(t),i=NG.getTotalCodewordsCount(t,e),a=(s-i)*8;for(n.getLengthInBits()+4<=a&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);let o=(a-n.getLengthInBits())/8;for(let c=0;c<o;c++)n.put(c%2?17:236,8);return FZt(n,t,e)}function FZt(t,e,r){let n=P3.getSymbolTotalCodewords(e),s=NG.getTotalCodewordsCount(e,r),i=n-s,a=NG.getBlocksCount(e,r),o=n%a,c=a-o,u=Math.floor(n/a),l=Math.floor(i/a),d=l+1,f=u-l,p=new OZt(f),m=0,h=new Array(a),A=new Array(a),g=0,b=new Uint8Array(t.buffer);for(let R=0;R<a;R++){let w=R<c?l:d;h[R]=b.slice(m,m+w),A[R]=p.encode(h[R]),m+=w,g=Math.max(g,w)}let y=new Uint8Array(n),x=0,v,I;for(v=0;v<g;v++)for(I=0;I<a;I++)v<h[I].length&&(y[x++]=h[I][v]);for(v=0;v<f;v++)for(I=0;I<a;I++)y[x++]=A[I][v];return y}function UZt(t,e,r,n){let s;if(Array.isArray(t))s=TG.fromArray(t);else if(typeof t=="string"){let u=e;if(!u){let l=TG.rawSplit(t);u=O3.getBestVersionForData(l,r)}s=TG.fromString(t,u||40)}else throw new Error("Invalid data");let i=O3.getBestVersionForData(s,r);if(!i)throw new Error("The amount of data is too big to be stored in a QR Code");if(!e)e=i;else if(e<i)throw new Error(`
|
|
The chosen QR Code version cannot contain this amount of data.
|
|
Minimum version required to store current data is: `+i+`.
|
|
`);let a=$Zt(e,r,s),o=P3.getSymbolSize(e),c=new wZt(o);return DZt(c,e),BZt(c),LZt(c,e),wG(c,r,0),e>=7&&MZt(c,e),WZt(c,a),isNaN(n)&&(n=RG.getBestMask(c,wG.bind(null,c,r))),RG.applyMask(n,c),wG(c,r,n),{modules:c,version:e,errorCorrectionLevel:r,maskPattern:n,segments:s}}oLe.create=function(e,r){if(typeof e>"u"||e==="")throw new Error("No input text");let n=CG.M,s,i;return typeof r<"u"&&(n=CG.from(r.errorCorrectionLevel,CG.M),s=O3.from(r.version),i=RG.from(r.maskPattern),r.toSJISFunc&&P3.setToSJISFunction(r.toSJISFunc)),UZt(e,s,n,i)}});var PG=E((oqr,uLe)=>{"use strict";var qZt=require("util"),cLe=require("stream"),fu=uLe.exports=function(){cLe.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};qZt.inherits(fu,cLe);fu.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))};fu.prototype.write=function(t,e){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let r;return Buffer.isBuffer(t)?r=t:r=Buffer.from(t,e||this._encoding),this._buffers.push(r),this._buffered+=r.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused};fu.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))};fu.prototype.destroySoon=fu.prototype.end;fu.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()};fu.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))};fu.prototype._processReadAllowingLess=function(t){this._reads.shift();let e=this._buffers[0];e.length>t.length?(this._buffered-=t.length,this._buffers[0]=e.slice(t.length),t.func.call(this,e.slice(0,t.length))):(this._buffered-=e.length,this._buffers.shift(),t.func.call(this,e))};fu.prototype._processRead=function(t){this._reads.shift();let e=0,r=0,n=Buffer.alloc(t.length);for(;e<t.length;){let s=this._buffers[r++],i=Math.min(s.length,t.length-e);s.copy(n,e,0,i),e+=i,i!==s.length&&(this._buffers[--r]=s.slice(i))}r>0&&this._buffers.splice(0,r),this._buffered-=t.length,t.func.call(this,n)};fu.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let t=this._reads[0];if(t.allowLess)this._processReadAllowingLess(t);else if(this._buffered>=t.length)this._processRead(t);else break}this._buffers&&!this.writable&&this._end()}catch(t){this.emit("error",t)}}});var DG=E(kG=>{"use strict";var b0=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];kG.getImagePasses=function(t,e){let r=[],n=t%8,s=e%8,i=(t-n)/8,a=(e-s)/8;for(let o=0;o<b0.length;o++){let c=b0[o],u=i*c.x.length,l=a*c.y.length;for(let d=0;d<c.x.length&&c.x[d]<n;d++)u++;for(let d=0;d<c.y.length&&c.y[d]<s;d++)l++;u>0&&l>0&&r.push({width:u,height:l,index:o})}return r};kG.getInterlaceIterator=function(t){return function(e,r,n){let s=e%b0[n].x.length,i=(e-s)/b0[n].x.length*8+b0[n].x[s],a=r%b0[n].y.length,o=(r-a)/b0[n].y.length*8+b0[n].y[a];return i*4+o*t*4}}});var BG=E((uqr,lLe)=>{"use strict";lLe.exports=function(e,r,n){let s=e+r-n,i=Math.abs(s-e),a=Math.abs(s-r),o=Math.abs(s-n);return i<=a&&i<=o?e:a<=o?r:n}});var LG=E((lqr,fLe)=>{"use strict";var jZt=DG(),HZt=BG();function dLe(t,e,r){let n=t*e;return r!==8&&(n=Math.ceil(n/(8/r))),n}var Vx=fLe.exports=function(t,e){let r=t.width,n=t.height,s=t.interlace,i=t.bpp,a=t.depth;if(this.read=e.read,this.write=e.write,this.complete=e.complete,this._imageIndex=0,this._images=[],s){let o=jZt.getImagePasses(r,n);for(let c=0;c<o.length;c++)this._images.push({byteWidth:dLe(o[c].width,i,a),height:o[c].height,lineIndex:0})}else this._images.push({byteWidth:dLe(r,i,a),height:n,lineIndex:0});a===8?this._xComparison=i:a===16?this._xComparison=i*2:this._xComparison=1};Vx.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))};Vx.prototype._unFilterType1=function(t,e,r){let n=this._xComparison,s=n-1;for(let i=0;i<r;i++){let a=t[1+i],o=i>s?e[i-n]:0;e[i]=a+o}};Vx.prototype._unFilterType2=function(t,e,r){let n=this._lastLine;for(let s=0;s<r;s++){let i=t[1+s],a=n?n[s]:0;e[s]=i+a}};Vx.prototype._unFilterType3=function(t,e,r){let n=this._xComparison,s=n-1,i=this._lastLine;for(let a=0;a<r;a++){let o=t[1+a],c=i?i[a]:0,u=a>s?e[a-n]:0,l=Math.floor((u+c)/2);e[a]=o+l}};Vx.prototype._unFilterType4=function(t,e,r){let n=this._xComparison,s=n-1,i=this._lastLine;for(let a=0;a<r;a++){let o=t[1+a],c=i?i[a]:0,u=a>s?e[a-n]:0,l=a>s&&i?i[a-n]:0,d=HZt(u,c,l);e[a]=o+d}};Vx.prototype._reverseFilterLine=function(t){let e=t[0],r,n=this._images[this._imageIndex],s=n.byteWidth;if(e===0)r=t.slice(1,s+1);else switch(r=Buffer.alloc(s),e){case 1:this._unFilterType1(t,r,s);break;case 2:this._unFilterType2(t,r,s);break;case 3:this._unFilterType3(t,r,s);break;case 4:this._unFilterType4(t,r,s);break;default:throw new Error("Unrecognised filter type - "+e)}this.write(r),n.lineIndex++,n.lineIndex>=n.height?(this._lastLine=null,this._imageIndex++,n=this._images[this._imageIndex]):this._lastLine=r,n?this.read(n.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}});var hLe=E((dqr,mLe)=>{"use strict";var QZt=require("util"),pLe=PG(),GZt=LG(),KZt=mLe.exports=function(t){pLe.call(this);let e=[],r=this;this._filter=new GZt(t,{read:this.read.bind(this),write:function(n){e.push(n)},complete:function(){r.emit("complete",Buffer.concat(e))}}),this._filter.start()};QZt.inherits(KZt,pLe)});var zx=E((fqr,gLe)=>{"use strict";gLe.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}});var $G=E((pqr,ALe)=>{"use strict";var MG=[];(function(){for(let t=0;t<256;t++){let e=t;for(let r=0;r<8;r++)e&1?e=3988292384^e>>>1:e=e>>>1;MG[t]=e}})();var WG=ALe.exports=function(){this._crc=-1};WG.prototype.write=function(t){for(let e=0;e<t.length;e++)this._crc=MG[(this._crc^t[e])&255]^this._crc>>>8;return!0};WG.prototype.crc32=function(){return this._crc^-1};WG.crc32=function(t){let e=-1;for(let r=0;r<t.length;r++)e=MG[(e^t[r])&255]^e>>>8;return e^-1}});var FG=E((mqr,yLe)=>{"use strict";var ks=zx(),VZt=$G(),ri=yLe.exports=function(t,e){this._options=t,t.checkCRC=t.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[ks.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[ks.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[ks.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[ks.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[ks.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[ks.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.finished=e.finished,this.simpleTransparency=e.simpleTransparency,this.headersFinished=e.headersFinished||function(){}};ri.prototype.start=function(){this.read(ks.PNG_SIGNATURE.length,this._parseSignature.bind(this))};ri.prototype._parseSignature=function(t){let e=ks.PNG_SIGNATURE;for(let r=0;r<e.length;r++)if(t[r]!==e[r]){this.error(new Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))};ri.prototype._parseChunkBegin=function(t){let e=t.readUInt32BE(0),r=t.readUInt32BE(4),n="";for(let i=4;i<8;i++)n+=String.fromCharCode(t[i]);let s=!!(t[4]&32);if(!this._hasIHDR&&r!==ks.TYPE_IHDR){this.error(new Error("Expected IHDR on beggining"));return}if(this._crc=new VZt,this._crc.write(Buffer.from(n)),this._chunks[r])return this._chunks[r](e);if(!s){this.error(new Error("Unsupported critical chunk type "+n));return}this.read(e+4,this._skipChunk.bind(this))};ri.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))};ri.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))};ri.prototype._parseChunkEnd=function(t){let e=t.readInt32BE(0),r=this._crc.crc32();if(this._options.checkCRC&&r!==e){this.error(new Error("Crc error - "+e+" - "+r));return}this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))};ri.prototype._handleIHDR=function(t){this.read(t,this._parseIHDR.bind(this))};ri.prototype._parseIHDR=function(t){this._crc.write(t);let e=t.readUInt32BE(0),r=t.readUInt32BE(4),n=t[8],s=t[9],i=t[10],a=t[11],o=t[12];if(n!==8&&n!==4&&n!==2&&n!==1&&n!==16){this.error(new Error("Unsupported bit depth "+n));return}if(!(s in ks.COLORTYPE_TO_BPP_MAP)){this.error(new Error("Unsupported color type"));return}if(i!==0){this.error(new Error("Unsupported compression method"));return}if(a!==0){this.error(new Error("Unsupported filter method"));return}if(o!==0&&o!==1){this.error(new Error("Unsupported interlace method"));return}this._colorType=s;let c=ks.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:e,height:r,depth:n,interlace:!!o,palette:!!(s&ks.COLORTYPE_PALETTE),color:!!(s&ks.COLORTYPE_COLOR),alpha:!!(s&ks.COLORTYPE_ALPHA),bpp:c,colorType:s}),this._handleChunkEnd()};ri.prototype._handlePLTE=function(t){this.read(t,this._parsePLTE.bind(this))};ri.prototype._parsePLTE=function(t){this._crc.write(t);let e=Math.floor(t.length/3);for(let r=0;r<e;r++)this._palette.push([t[r*3],t[r*3+1],t[r*3+2],255]);this.palette(this._palette),this._handleChunkEnd()};ri.prototype._handleTRNS=function(t){this.simpleTransparency(),this.read(t,this._parseTRNS.bind(this))};ri.prototype._parseTRNS=function(t){if(this._crc.write(t),this._colorType===ks.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(new Error("Transparency chunk must be after palette"));return}if(t.length>this._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let e=0;e<t.length;e++)this._palette[e][3]=t[e];this.palette(this._palette)}this._colorType===ks.COLORTYPE_GRAYSCALE&&this.transColor([t.readUInt16BE(0)]),this._colorType===ks.COLORTYPE_COLOR&&this.transColor([t.readUInt16BE(0),t.readUInt16BE(2),t.readUInt16BE(4)]),this._handleChunkEnd()};ri.prototype._handleGAMA=function(t){this.read(t,this._parseGAMA.bind(this))};ri.prototype._parseGAMA=function(t){this._crc.write(t),this.gamma(t.readUInt32BE(0)/ks.GAMMA_DIVISION),this._handleChunkEnd()};ri.prototype._handleIDAT=function(t){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-t,this._parseIDAT.bind(this,t))};ri.prototype._parseIDAT=function(t,e){if(this._crc.write(e),this._colorType===ks.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw new Error("Expected palette not found");this.inflateData(e);let r=t-e.length;r>0?this._handleIDAT(r):this._handleChunkEnd()};ri.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))};ri.prototype._parseIEND=function(t){this._crc.write(t),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}});var UG=E(bLe=>{"use strict";var xLe=DG(),zZt=[function(){},function(t,e,r,n){if(n===e.length)throw new Error("Ran out of data");let s=e[n];t[r]=s,t[r+1]=s,t[r+2]=s,t[r+3]=255},function(t,e,r,n){if(n+1>=e.length)throw new Error("Ran out of data");let s=e[n];t[r]=s,t[r+1]=s,t[r+2]=s,t[r+3]=e[n+1]},function(t,e,r,n){if(n+2>=e.length)throw new Error("Ran out of data");t[r]=e[n],t[r+1]=e[n+1],t[r+2]=e[n+2],t[r+3]=255},function(t,e,r,n){if(n+3>=e.length)throw new Error("Ran out of data");t[r]=e[n],t[r+1]=e[n+1],t[r+2]=e[n+2],t[r+3]=e[n+3]}],YZt=[function(){},function(t,e,r,n){let s=e[0];t[r]=s,t[r+1]=s,t[r+2]=s,t[r+3]=n},function(t,e,r){let n=e[0];t[r]=n,t[r+1]=n,t[r+2]=n,t[r+3]=e[1]},function(t,e,r,n){t[r]=e[0],t[r+1]=e[1],t[r+2]=e[2],t[r+3]=n},function(t,e,r){t[r]=e[0],t[r+1]=e[1],t[r+2]=e[2],t[r+3]=e[3]}];function JZt(t,e){let r=[],n=0;function s(){if(n===t.length)throw new Error("Ran out of data");let i=t[n];n++;let a,o,c,u,l,d,f,p;switch(e){default:throw new Error("unrecognised depth");case 16:f=t[n],n++,r.push((i<<8)+f);break;case 4:f=i&15,p=i>>4,r.push(p,f);break;case 2:l=i&3,d=i>>2&3,f=i>>4&3,p=i>>6&3,r.push(p,f,d,l);break;case 1:a=i&1,o=i>>1&1,c=i>>2&1,u=i>>3&1,l=i>>4&1,d=i>>5&1,f=i>>6&1,p=i>>7&1,r.push(p,f,d,l,u,c,o,a);break}}return{get:function(i){for(;r.length<i;)s();let a=r.slice(0,i);return r=r.slice(i),a},resetAfterLine:function(){r.length=0},end:function(){if(n!==t.length)throw new Error("extra data found")}}}function XZt(t,e,r,n,s,i){let a=t.width,o=t.height,c=t.index;for(let u=0;u<o;u++)for(let l=0;l<a;l++){let d=r(l,u,c);zZt[n](e,s,d,i),i+=n}return i}function ZZt(t,e,r,n,s,i){let a=t.width,o=t.height,c=t.index;for(let u=0;u<o;u++){for(let l=0;l<a;l++){let d=s.get(n),f=r(l,u,c);YZt[n](e,d,f,i)}s.resetAfterLine()}}bLe.dataToBitMap=function(t,e){let r=e.width,n=e.height,s=e.depth,i=e.bpp,a=e.interlace,o;s!==8&&(o=JZt(t,s));let c;s<=8?c=Buffer.alloc(r*n*4):c=new Uint16Array(r*n*4);let u=Math.pow(2,s)-1,l=0,d,f;if(a)d=xLe.getImagePasses(r,n),f=xLe.getInterlaceIterator(r,n);else{let p=0;f=function(){let m=p;return p+=4,m},d=[{width:r,height:n}]}for(let p=0;p<d.length;p++)s===8?l=XZt(d[p],c,f,i,t,l):ZZt(d[p],c,f,i,o,u);if(s===8){if(l!==t.length)throw new Error("extra data found")}else o.end();return c}});var qG=E((gqr,ELe)=>{"use strict";function eer(t,e,r,n,s){let i=0;for(let a=0;a<n;a++)for(let o=0;o<r;o++){let c=s[t[i]];if(!c)throw new Error("index "+t[i]+" not in palette");for(let u=0;u<4;u++)e[i+u]=c[u];i+=4}}function ter(t,e,r,n,s){let i=0;for(let a=0;a<n;a++)for(let o=0;o<r;o++){let c=!1;if(s.length===1?s[0]===t[i]&&(c=!0):s[0]===t[i]&&s[1]===t[i+1]&&s[2]===t[i+2]&&(c=!0),c)for(let u=0;u<4;u++)e[i+u]=0;i+=4}}function rer(t,e,r,n,s){let i=255,a=Math.pow(2,s)-1,o=0;for(let c=0;c<n;c++)for(let u=0;u<r;u++){for(let l=0;l<4;l++)e[o+l]=Math.floor(t[o+l]*i/a+.5);o+=4}}ELe.exports=function(t,e){let r=e.depth,n=e.width,s=e.height,i=e.colorType,a=e.transColor,o=e.palette,c=t;return i===3?eer(t,c,n,s,o):(a&&ter(t,c,n,s,a),r!==8&&(r===16&&(c=Buffer.alloc(n*s*4)),rer(t,c,n,s,r))),c}});var vLe=E((Aqr,SLe)=>{"use strict";var ner=require("util"),jG=require("zlib"),_Le=PG(),ser=hLe(),ier=FG(),aer=UG(),oer=qG(),yl=SLe.exports=function(t){_Le.call(this),this._parser=new ier(t,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=t,this.writable=!0,this._parser.start()};ner.inherits(yl,_Le);yl.prototype._handleError=function(t){this.emit("error",t),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0};yl.prototype._inflateData=function(t){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=jG.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let r=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,n=Math.max(r,jG.Z_MIN_CHUNK);this._inflate=jG.createInflate({chunkSize:n});let s=r,i=this.emit.bind(this,"error");this._inflate.on("error",function(o){s&&i(o)}),this._filter.on("complete",this._complete.bind(this));let a=this._filter.write.bind(this._filter);this._inflate.on("data",function(o){s&&(o.length>s&&(o=o.slice(0,s)),s-=o.length,a(o))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(t)};yl.prototype._handleMetaData=function(t){this._metaData=t,this._bitmapInfo=Object.create(t),this._filter=new ser(this._bitmapInfo)};yl.prototype._handleTransColor=function(t){this._bitmapInfo.transColor=t};yl.prototype._handlePalette=function(t){this._bitmapInfo.palette=t};yl.prototype._simpleTransparency=function(){this._metaData.alpha=!0};yl.prototype._headersFinished=function(){this.emit("metadata",this._metaData)};yl.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))};yl.prototype._complete=function(t){if(this.errord)return;let e;try{let r=aer.dataToBitMap(t,this._bitmapInfo);e=oer(r,this._bitmapInfo),r=null}catch(r){this._handleError(r);return}this.emit("parsed",e)}});var CLe=E((yqr,ILe)=>{"use strict";var bc=zx();ILe.exports=function(t,e,r,n){let s=[bc.COLORTYPE_COLOR_ALPHA,bc.COLORTYPE_ALPHA].indexOf(n.colorType)!==-1;if(n.colorType===n.inputColorType){let m=function(){let h=new ArrayBuffer(2);return new DataView(h).setInt16(0,256,!0),new Int16Array(h)[0]!==256}();if(n.bitDepth===8||n.bitDepth===16&&m)return t}let i=n.bitDepth!==16?t:new Uint16Array(t.buffer),a=255,o=bc.COLORTYPE_TO_BPP_MAP[n.inputColorType];o===4&&!n.inputHasAlpha&&(o=3);let c=bc.COLORTYPE_TO_BPP_MAP[n.colorType];n.bitDepth===16&&(a=65535,c*=2);let u=Buffer.alloc(e*r*c),l=0,d=0,f=n.bgColor||{};f.red===void 0&&(f.red=a),f.green===void 0&&(f.green=a),f.blue===void 0&&(f.blue=a);function p(){let m,h,A,g=a;switch(n.inputColorType){case bc.COLORTYPE_COLOR_ALPHA:g=i[l+3],m=i[l],h=i[l+1],A=i[l+2];break;case bc.COLORTYPE_COLOR:m=i[l],h=i[l+1],A=i[l+2];break;case bc.COLORTYPE_ALPHA:g=i[l+1],m=i[l],h=m,A=m;break;case bc.COLORTYPE_GRAYSCALE:m=i[l],h=m,A=m;break;default:throw new Error("input color type:"+n.inputColorType+" is not supported at present")}return n.inputHasAlpha&&(s||(g/=a,m=Math.min(Math.max(Math.round((1-g)*f.red+g*m),0),a),h=Math.min(Math.max(Math.round((1-g)*f.green+g*h),0),a),A=Math.min(Math.max(Math.round((1-g)*f.blue+g*A),0),a))),{red:m,green:h,blue:A,alpha:g}}for(let m=0;m<r;m++)for(let h=0;h<e;h++){let A=p(i,l);switch(n.colorType){case bc.COLORTYPE_COLOR_ALPHA:case bc.COLORTYPE_COLOR:n.bitDepth===8?(u[d]=A.red,u[d+1]=A.green,u[d+2]=A.blue,s&&(u[d+3]=A.alpha)):(u.writeUInt16BE(A.red,d),u.writeUInt16BE(A.green,d+2),u.writeUInt16BE(A.blue,d+4),s&&u.writeUInt16BE(A.alpha,d+6));break;case bc.COLORTYPE_ALPHA:case bc.COLORTYPE_GRAYSCALE:{let g=(A.red+A.green+A.blue)/3;n.bitDepth===8?(u[d]=g,s&&(u[d+1]=A.alpha)):(u.writeUInt16BE(g,d),s&&u.writeUInt16BE(A.alpha,d+2));break}default:throw new Error("unrecognised color Type "+n.colorType)}l+=o,d+=c}return u}});var RLe=E((xqr,wLe)=>{"use strict";var TLe=BG();function cer(t,e,r,n,s){for(let i=0;i<r;i++)n[s+i]=t[e+i]}function uer(t,e,r){let n=0,s=e+r;for(let i=e;i<s;i++)n+=Math.abs(t[i]);return n}function ler(t,e,r,n,s,i){for(let a=0;a<r;a++){let o=a>=i?t[e+a-i]:0,c=t[e+a]-o;n[s+a]=c}}function der(t,e,r,n){let s=0;for(let i=0;i<r;i++){let a=i>=n?t[e+i-n]:0,o=t[e+i]-a;s+=Math.abs(o)}return s}function fer(t,e,r,n,s){for(let i=0;i<r;i++){let a=e>0?t[e+i-r]:0,o=t[e+i]-a;n[s+i]=o}}function per(t,e,r){let n=0,s=e+r;for(let i=e;i<s;i++){let a=e>0?t[i-r]:0,o=t[i]-a;n+=Math.abs(o)}return n}function mer(t,e,r,n,s,i){for(let a=0;a<r;a++){let o=a>=i?t[e+a-i]:0,c=e>0?t[e+a-r]:0,u=t[e+a]-(o+c>>1);n[s+a]=u}}function her(t,e,r,n){let s=0;for(let i=0;i<r;i++){let a=i>=n?t[e+i-n]:0,o=e>0?t[e+i-r]:0,c=t[e+i]-(a+o>>1);s+=Math.abs(c)}return s}function ger(t,e,r,n,s,i){for(let a=0;a<r;a++){let o=a>=i?t[e+a-i]:0,c=e>0?t[e+a-r]:0,u=e>0&&a>=i?t[e+a-(r+i)]:0,l=t[e+a]-TLe(o,c,u);n[s+a]=l}}function Aer(t,e,r,n){let s=0;for(let i=0;i<r;i++){let a=i>=n?t[e+i-n]:0,o=e>0?t[e+i-r]:0,c=e>0&&i>=n?t[e+i-(r+n)]:0,u=t[e+i]-TLe(a,o,c);s+=Math.abs(u)}return s}var yer={0:cer,1:ler,2:fer,3:mer,4:ger},xer={0:uer,1:der,2:per,3:her,4:Aer};wLe.exports=function(t,e,r,n,s){let i;if(!("filterType"in n)||n.filterType===-1)i=[0,1,2,3,4];else if(typeof n.filterType=="number")i=[n.filterType];else throw new Error("unrecognised filter types");n.bitDepth===16&&(s*=2);let a=e*s,o=0,c=0,u=Buffer.alloc((a+1)*r),l=i[0];for(let d=0;d<r;d++){if(i.length>1){let f=1/0;for(let p=0;p<i.length;p++){let m=xer[i[p]](t,c,a,s);m<f&&(l=i[p],f=m)}}u[o]=l,o++,yer[l](t,c,a,u,o,s),o+=a,c+=a}return u}});var HG=E((bqr,NLe)=>{"use strict";var Qi=zx(),ber=$G(),Eer=CLe(),_er=RLe(),Ser=require("zlib"),E0=NLe.exports=function(t){if(this._options=t,t.deflateChunkSize=t.deflateChunkSize||32*1024,t.deflateLevel=t.deflateLevel!=null?t.deflateLevel:9,t.deflateStrategy=t.deflateStrategy!=null?t.deflateStrategy:3,t.inputHasAlpha=t.inputHasAlpha!=null?t.inputHasAlpha:!0,t.deflateFactory=t.deflateFactory||Ser.createDeflate,t.bitDepth=t.bitDepth||8,t.colorType=typeof t.colorType=="number"?t.colorType:Qi.COLORTYPE_COLOR_ALPHA,t.inputColorType=typeof t.inputColorType=="number"?t.inputColorType:Qi.COLORTYPE_COLOR_ALPHA,[Qi.COLORTYPE_GRAYSCALE,Qi.COLORTYPE_COLOR,Qi.COLORTYPE_COLOR_ALPHA,Qi.COLORTYPE_ALPHA].indexOf(t.colorType)===-1)throw new Error("option color type:"+t.colorType+" is not supported at present");if([Qi.COLORTYPE_GRAYSCALE,Qi.COLORTYPE_COLOR,Qi.COLORTYPE_COLOR_ALPHA,Qi.COLORTYPE_ALPHA].indexOf(t.inputColorType)===-1)throw new Error("option input color type:"+t.inputColorType+" is not supported at present");if(t.bitDepth!==8&&t.bitDepth!==16)throw new Error("option bit depth:"+t.bitDepth+" is not supported at present")};E0.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}};E0.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())};E0.prototype.filterData=function(t,e,r){let n=Eer(t,e,r,this._options),s=Qi.COLORTYPE_TO_BPP_MAP[this._options.colorType];return _er(n,e,r,this._options,s)};E0.prototype._packChunk=function(t,e){let r=e?e.length:0,n=Buffer.alloc(r+12);return n.writeUInt32BE(r,0),n.writeUInt32BE(t,4),e&&e.copy(n,8),n.writeInt32BE(ber.crc32(n.slice(4,n.length-4)),n.length-4),n};E0.prototype.packGAMA=function(t){let e=Buffer.alloc(4);return e.writeUInt32BE(Math.floor(t*Qi.GAMMA_DIVISION),0),this._packChunk(Qi.TYPE_gAMA,e)};E0.prototype.packIHDR=function(t,e){let r=Buffer.alloc(13);return r.writeUInt32BE(t,0),r.writeUInt32BE(e,4),r[8]=this._options.bitDepth,r[9]=this._options.colorType,r[10]=0,r[11]=0,r[12]=0,this._packChunk(Qi.TYPE_IHDR,r)};E0.prototype.packIDAT=function(t){return this._packChunk(Qi.TYPE_IDAT,t)};E0.prototype.packIEND=function(){return this._packChunk(Qi.TYPE_IEND,null)}});var DLe=E((Eqr,kLe)=>{"use strict";var ver=require("util"),OLe=require("stream"),Ier=zx(),Cer=HG(),PLe=kLe.exports=function(t){OLe.call(this);let e=t||{};this._packer=new Cer(e),this._deflate=this._packer.createDeflate(),this.readable=!0};ver.inherits(PLe,OLe);PLe.prototype.pack=function(t,e,r,n){this.emit("data",Buffer.from(Ier.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,r)),n&&this.emit("data",this._packer.packGAMA(n));let s=this._packer.filterData(t,e,r);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(i){this.emit("data",this._packer.packIDAT(i))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(s)}});var FLe=E((Uv,$Le)=>{"use strict";var BLe=require("assert").ok,Yx=require("zlib"),Ter=require("util"),LLe=require("buffer").kMaxLength;function $h(t){if(!(this instanceof $h))return new $h(t);t&&t.chunkSize<Yx.Z_MIN_CHUNK&&(t.chunkSize=Yx.Z_MIN_CHUNK),Yx.Inflate.call(this,t),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,t&&t.maxLength!=null&&(this._maxLength=t.maxLength)}function wer(t){return new $h(t)}function MLe(t,e){e&&process.nextTick(e),t._handle&&(t._handle.close(),t._handle=null)}$h.prototype._processChunk=function(t,e,r){if(typeof r=="function")return Yx.Inflate._processChunk.call(this,t,e,r);let n=this,s=t&&t.length,i=this._chunkSize-this._offset,a=this._maxLength,o=0,c=[],u=0,l;this.on("error",function(m){l=m});function d(m,h){if(n._hadError)return;let A=i-h;if(BLe(A>=0,"have should not go down"),A>0){let g=n._buffer.slice(n._offset,n._offset+A);if(n._offset+=A,g.length>a&&(g=g.slice(0,a)),c.push(g),u+=g.length,a-=g.length,a===0)return!1}return(h===0||n._offset>=n._chunkSize)&&(i=n._chunkSize,n._offset=0,n._buffer=Buffer.allocUnsafe(n._chunkSize)),h===0?(o+=s-m,s=m,!0):!1}BLe(this._handle,"zlib binding closed");let f;do f=this._handle.writeSync(e,t,o,s,this._buffer,this._offset,i),f=f||this._writeState;while(!this._hadError&&d(f[0],f[1]));if(this._hadError)throw l;if(u>=LLe)throw MLe(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+LLe.toString(16)+" bytes");let p=Buffer.concat(c,u);return MLe(this),p};Ter.inherits($h,Yx.Inflate);function Rer(t,e){if(typeof e=="string"&&(e=Buffer.from(e)),!(e instanceof Buffer))throw new TypeError("Not a string or buffer");let r=t._finishFlushFlag;return r==null&&(r=Yx.Z_FINISH),t._processChunk(e,r)}function WLe(t,e){return Rer(new $h(e),t)}$Le.exports=Uv=WLe;Uv.Inflate=$h;Uv.createInflate=wer;Uv.inflateSync=WLe});var QG=E((_qr,qLe)=>{"use strict";var ULe=qLe.exports=function(t){this._buffer=t,this._reads=[]};ULe.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e})};ULe.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let t=this._reads[0];if(this._buffer.length&&(this._buffer.length>=t.length||t.allowLess)){this._reads.shift();let e=this._buffer;this._buffer=e.slice(t.length),t.func.call(this,e.slice(0,t.length))}else break}if(this._reads.length>0)return new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)return new Error("unrecognised content at end of stream")}});var HLe=E(jLe=>{"use strict";var Ner=QG(),Oer=LG();jLe.process=function(t,e){let r=[],n=new Ner(t);return new Oer(e,{read:n.read.bind(n),write:function(i){r.push(i)},complete:function(){}}).start(),n.process(),Buffer.concat(r)}});var VLe=E((vqr,KLe)=>{"use strict";var QLe=!0,GLe=require("zlib"),Per=FLe();GLe.deflateSync||(QLe=!1);var ker=QG(),Der=HLe(),Ber=FG(),Ler=UG(),Mer=qG();KLe.exports=function(t,e){if(!QLe)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let r;function n(x){r=x}let s;function i(x){s=x}function a(x){s.transColor=x}function o(x){s.palette=x}function c(){s.alpha=!0}let u;function l(x){u=x}let d=[];function f(x){d.push(x)}let p=new ker(t);if(new Ber(e,{read:p.read.bind(p),error:n,metadata:i,gamma:l,palette:o,transColor:a,inflateData:f,simpleTransparency:c}).start(),p.process(),r)throw r;let h=Buffer.concat(d);d.length=0;let A;if(s.interlace)A=GLe.inflateSync(h);else{let v=((s.width*s.bpp*s.depth+7>>3)+1)*s.height;A=Per(h,{chunkSize:v,maxLength:v})}if(h=null,!A||!A.length)throw new Error("bad png - invalid inflate data response");let g=Der.process(A,s);h=null;let b=Ler.dataToBitMap(g,s);g=null;let y=Mer(b,s);return s.data=y,s.gamma=u||0,s}});var XLe=E((Iqr,JLe)=>{"use strict";var zLe=!0,YLe=require("zlib");YLe.deflateSync||(zLe=!1);var Wer=zx(),$er=HG();JLe.exports=function(t,e){if(!zLe)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let r=e||{},n=new $er(r),s=[];s.push(Buffer.from(Wer.PNG_SIGNATURE)),s.push(n.packIHDR(t.width,t.height)),t.gamma&&s.push(n.packGAMA(t.gamma));let i=n.filterData(t.data,t.width,t.height),a=YLe.deflateSync(i,n.getDeflateOptions());if(i=null,!a||!a.length)throw new Error("bad png - invalid compressed data response");return s.push(n.packIDAT(a)),s.push(n.packIEND()),Buffer.concat(s)}});var ZLe=E(GG=>{"use strict";var Fer=VLe(),Uer=XLe();GG.read=function(t,e){return Fer(t,e||{})};GG.write=function(t,e){return Uer(t,e)}});var r4e=E(t4e=>{"use strict";var qer=require("util"),e4e=require("stream"),jer=vLe(),Her=DLe(),Qer=ZLe(),da=t4e.PNG=function(t){e4e.call(this),t=t||{},this.width=t.width|0,this.height=t.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new jer(t),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(e){this.data=e,this.emit("parsed",e)}.bind(this)),this._packer=new Her(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};qer.inherits(da,e4e);da.sync=Qer;da.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)};da.prototype.parse=function(t,e){if(e){let r,n;r=function(s){this.removeListener("error",n),this.data=s,e(null,this)}.bind(this),n=function(s){this.removeListener("parsed",r),e(s,null)}.bind(this),this.once("parsed",r),this.once("error",n)}return this.end(t),this};da.prototype.write=function(t){return this._parser.write(t),!0};da.prototype.end=function(t){this._parser.end(t)};da.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.emit("metadata",t)};da.prototype._gamma=function(t){this.gamma=t};da.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")};da.bitblt=function(t,e,r,n,s,i,a,o){if(r|=0,n|=0,s|=0,i|=0,a|=0,o|=0,r>t.width||n>t.height||r+s>t.width||n+i>t.height)throw new Error("bitblt reading outside image");if(a>e.width||o>e.height||a+s>e.width||o+i>e.height)throw new Error("bitblt writing outside image");for(let c=0;c<i;c++)t.data.copy(e.data,(o+c)*e.width+a<<2,(n+c)*t.width+r<<2,(n+c)*t.width+r+s<<2)};da.prototype.bitblt=function(t,e,r,n,s,i,a){return da.bitblt(this,t,e,r,n,s,i,a),this};da.adjustGamma=function(t){if(t.gamma){for(let e=0;e<t.height;e++)for(let r=0;r<t.width;r++){let n=t.width*e+r<<2;for(let s=0;s<3;s++){let i=t.data[n+s]/255;i=Math.pow(i,1/2.2/t.gamma),t.data[n+s]=Math.round(i*255)}}t.gamma=0}};da.prototype.adjustGamma=function(){da.adjustGamma(this)}});var qv=E(Fh=>{function n4e(t){if(typeof t=="number"&&(t=t.toString()),typeof t!="string")throw new Error("Color should be defined as hex string");let e=t.slice().replace("#","").split("");if(e.length<3||e.length===5||e.length>8)throw new Error("Invalid hex color: "+t);(e.length===3||e.length===4)&&(e=Array.prototype.concat.apply([],e.map(function(n){return[n,n]}))),e.length===6&&e.push("F","F");let r=parseInt(e.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:r&255,hex:"#"+e.slice(0,6).join("")}}Fh.getOptions=function(e){e||(e={}),e.color||(e.color={});let r=typeof e.margin>"u"||e.margin===null||e.margin<0?4:e.margin,n=e.width&&e.width>=21?e.width:void 0,s=e.scale||4;return{width:n,scale:n?4:s,margin:r,color:{dark:n4e(e.color.dark||"#000000ff"),light:n4e(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}};Fh.getScale=function(e,r){return r.width&&r.width>=e+r.margin*2?r.width/(e+r.margin*2):r.scale};Fh.getImageWidth=function(e,r){let n=Fh.getScale(e,r);return Math.floor((e+r.margin*2)*n)};Fh.qrToImageData=function(e,r,n){let s=r.modules.size,i=r.modules.data,a=Fh.getScale(s,n),o=Math.floor((s+n.margin*2)*a),c=n.margin*a,u=[n.color.light,n.color.dark];for(let l=0;l<o;l++)for(let d=0;d<o;d++){let f=(l*o+d)*4,p=n.color.light;if(l>=c&&d>=c&&l<o-c&&d<o-c){let m=Math.floor((l-c)/a),h=Math.floor((d-c)/a);p=u[i[m*s+h]?1:0]}e[f++]=p.r,e[f++]=p.g,e[f++]=p.b,e[f]=p.a}}});var s4e=E(xl=>{var Ger=require("fs"),Ker=r4e().PNG,KG=qv();xl.render=function(e,r){let n=KG.getOptions(r),s=n.rendererOpts,i=KG.getImageWidth(e.modules.size,n);s.width=i,s.height=i;let a=new Ker(s);return KG.qrToImageData(a.data,e,n),a};xl.renderToDataURL=function(e,r,n){typeof n>"u"&&(n=r,r=void 0),xl.renderToBuffer(e,r,function(s,i){s&&n(s);let a="data:image/png;base64,";a+=i.toString("base64"),n(null,a)})};xl.renderToBuffer=function(e,r,n){typeof n>"u"&&(n=r,r=void 0);let s=xl.render(e,r),i=[];s.on("error",n),s.on("data",function(a){i.push(a)}),s.on("end",function(){n(null,Buffer.concat(i))}),s.pack()};xl.renderToFile=function(e,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=!1,a=(...c)=>{i||(i=!0,s.apply(null,c))},o=Ger.createWriteStream(e);o.on("error",a),o.on("close",a),xl.renderToFileStream(o,r,n)};xl.renderToFileStream=function(e,r,n){xl.render(r,n).pack().pipe(e)}});var i4e=E(k3=>{var Ver=qv(),zer={WW:" ",WB:"\u2584",BB:"\u2588",BW:"\u2580"},Yer={BB:" ",BW:"\u2584",WW:"\u2588",WB:"\u2580"};function Jer(t,e,r){return t&&e?r.BB:t&&!e?r.BW:!t&&e?r.WB:r.WW}k3.render=function(t,e,r){let n=Ver.getOptions(e),s=zer;(n.color.dark.hex==="#ffffff"||n.color.light.hex==="#000000")&&(s=Yer);let i=t.modules.size,a=t.modules.data,o="",c=Array(i+n.margin*2+1).join(s.WW);c=Array(n.margin/2+1).join(c+`
|
|
`);let u=Array(n.margin+1).join(s.WW);o+=c;for(let l=0;l<i;l+=2){o+=u;for(let d=0;d<i;d++){let f=a[l*i+d],p=a[(l+1)*i+d];o+=Jer(f,p,s)}o+=u+`
|
|
`}return o+=c.slice(0,-1),typeof r=="function"&&r(null,o),o};k3.renderToFile=function(e,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=require("fs"),a=k3.render(r,n);i.writeFile(e,a,s)}});var o4e=E(a4e=>{a4e.render=function(t,e,r){let n=t.modules.size,s=t.modules.data,i="\x1B[40m \x1B[0m",a="\x1B[47m \x1B[0m",o="",c=Array(n+3).join(a),u=Array(2).join(a);o+=c+`
|
|
`;for(let l=0;l<n;++l){o+=a;for(let d=0;d<n;d++)o+=s[l*n+d]?i:a;o+=u+`
|
|
`}return o+=c+`
|
|
`,typeof r=="function"&&r(null,o),o}});var d4e=E(l4e=>{var Xer="\x1B[47m",Zer="\x1B[40m",VG="\x1B[37m",zG="\x1B[30m",Uh="\x1B[0m",etr=Xer+zG,ttr=Zer+VG,rtr=function(t,e,r){return{"00":Uh+" "+t,"01":Uh+e+"\u2584"+t,"02":Uh+r+"\u2584"+t,10:Uh+e+"\u2580"+t,11:" ",12:"\u2584",20:Uh+r+"\u2580"+t,21:"\u2580",22:"\u2588"}},c4e=function(t,e,r,n){let s=e+1;if(r>=s||n>=s||n<-1||r<-1)return"0";if(r>=e||n>=e||n<0||r<0)return"1";let i=n*e+r;return t[i]?"2":"1"},u4e=function(t,e,r,n){return c4e(t,e,r,n)+c4e(t,e,r,n+1)};l4e.render=function(t,e,r){let n=t.modules.size,s=t.modules.data,i=!!(e&&e.inverse),a=e&&e.inverse?ttr:etr,u=rtr(a,i?zG:VG,i?VG:zG),l=Uh+`
|
|
`+a,d=a;for(let f=-1;f<n+1;f+=2){for(let p=-1;p<n;p++)d+=u[u4e(s,n,p,f)];d+=u[u4e(s,n,n,f)]+l}return d+=Uh,typeof r=="function"&&r(null,d),d}});var p4e=E(f4e=>{var ntr=o4e(),str=d4e();f4e.render=function(t,e,r){return e&&e.small?str.render(t,e,r):ntr.render(t,e,r)}});var JG=E(h4e=>{var itr=qv();function m4e(t,e){let r=t.a/255,n=e+'="'+t.hex+'"';return r<1?n+" "+e+'-opacity="'+r.toFixed(2).slice(1)+'"':n}function YG(t,e,r){let n=t+e;return typeof r<"u"&&(n+=" "+r),n}function atr(t,e,r){let n="",s=0,i=!1,a=0;for(let o=0;o<t.length;o++){let c=Math.floor(o%e),u=Math.floor(o/e);!c&&!i&&(i=!0),t[o]?(a++,o>0&&c>0&&t[o-1]||(n+=i?YG("M",c+r,.5+u+r):YG("m",s,0),s=0,i=!1),c+1<e&&t[o+1]||(n+=YG("h",a),a=0)):s++}return n}h4e.render=function(e,r,n){let s=itr.getOptions(r),i=e.modules.size,a=e.modules.data,o=i+s.margin*2,c=s.color.light.a?"<path "+m4e(s.color.light,"fill")+' d="M0 0h'+o+"v"+o+'H0z"/>':"",u="<path "+m4e(s.color.dark,"stroke")+' d="'+atr(a,i,s.margin)+'"/>',l='viewBox="0 0 '+o+" "+o+'"',f='<svg xmlns="http://www.w3.org/2000/svg" '+(s.width?'width="'+s.width+'" height="'+s.width+'" ':"")+l+' shape-rendering="crispEdges">'+c+u+`</svg>
|
|
`;return typeof n=="function"&&n(null,f),f}});var g4e=E(D3=>{var otr=JG();D3.render=otr.render;D3.renderToFile=function(e,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=require("fs"),o='<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'+D3.render(r,n);i.writeFile(e,o,s)}});var A4e=E(B3=>{var XG=qv();function ctr(t,e,r){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=r,e.width=r,e.style.height=r+"px",e.style.width=r+"px"}function utr(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}B3.render=function(e,r,n){let s=n,i=r;typeof s>"u"&&(!r||!r.getContext)&&(s=r,r=void 0),r||(i=utr()),s=XG.getOptions(s);let a=XG.getImageWidth(e.modules.size,s),o=i.getContext("2d"),c=o.createImageData(a,a);return XG.qrToImageData(c.data,e,s),ctr(o,i,a),o.putImageData(c,0,0),i};B3.renderToDataURL=function(e,r,n){let s=n;typeof s>"u"&&(!r||!r.getContext)&&(s=r,r=void 0),s||(s={});let i=B3.render(e,r,s),a=s.type||"image/png",o=s.rendererOpts||{};return i.toDataURL(a,o.quality)}});var x4e=E(jv=>{var ltr=fG(),ZG=OG(),y4e=A4e(),dtr=JG();function eK(t,e,r,n,s){let i=[].slice.call(arguments,1),a=i.length,o=typeof i[a-1]=="function";if(!o&&!ltr())throw new Error("Callback required as last argument");if(o){if(a<2)throw new Error("Too few arguments provided");a===2?(s=r,r=e,e=n=void 0):a===3&&(e.getContext&&typeof s>"u"?(s=n,n=void 0):(s=n,n=r,r=e,e=void 0))}else{if(a<1)throw new Error("Too few arguments provided");return a===1?(r=e,e=n=void 0):a===2&&!e.getContext&&(n=r,r=e,e=void 0),new Promise(function(c,u){try{let l=ZG.create(r,n);c(t(l,e,n))}catch(l){u(l)}})}try{let c=ZG.create(r,n);s(null,t(c,e,n))}catch(c){s(c)}}jv.create=ZG.create;jv.toCanvas=eK.bind(null,y4e.render);jv.toDataURL=eK.bind(null,y4e.renderToDataURL);jv.toString=eK.bind(null,function(t,e,r){return dtr.render(t,r)})});var S4e=E(_0=>{var b4e=fG(),tK=OG(),ftr=s4e(),E4e=i4e(),ptr=p4e(),_4e=g4e();function Hv(t,e,r){if(typeof t>"u")throw new Error("String required as first argument");if(typeof r>"u"&&(r=e,e={}),typeof r!="function")if(b4e())e=r||{},r=null;else throw new Error("Callback required as last argument");return{opts:e,cb:r}}function mtr(t){return t.slice((t.lastIndexOf(".")-1>>>0)+2).toLowerCase()}function L3(t){switch(t){case"svg":return _4e;case"txt":case"utf8":return E4e;case"png":case"image/png":default:return ftr}}function htr(t){switch(t){case"svg":return _4e;case"terminal":return ptr;case"utf8":default:return E4e}}function Qv(t,e,r){if(!r.cb)return new Promise(function(n,s){try{let i=tK.create(e,r.opts);return t(i,r.opts,function(a,o){return a?s(a):n(o)})}catch(i){s(i)}});try{let n=tK.create(e,r.opts);return t(n,r.opts,r.cb)}catch(n){r.cb(n)}}_0.create=tK.create;_0.toCanvas=x4e().toCanvas;_0.toString=function(e,r,n){let s=Hv(e,r,n),i=s.opts?s.opts.type:void 0,a=htr(i);return Qv(a.render,e,s)};_0.toDataURL=function(e,r,n){let s=Hv(e,r,n),i=L3(s.opts.type);return Qv(i.renderToDataURL,e,s)};_0.toBuffer=function(e,r,n){let s=Hv(e,r,n),i=L3(s.opts.type);return Qv(i.renderToBuffer,e,s)};_0.toFile=function(e,r,n,s){if(typeof e!="string"||!(typeof r=="string"||typeof r=="object"))throw new Error("Invalid argument");if(arguments.length<3&&!b4e())throw new Error("Too few arguments provided");let i=Hv(r,n,s),a=i.opts.type||mtr(e),c=L3(a).renderToFile.bind(null,e);return Qv(c,r,i)};_0.toFileStream=function(e,r,n){if(arguments.length<2)throw new Error("Too few arguments provided");let s=Hv(r,n,e.emit.bind(e,"error")),a=L3("png").renderToFileStream.bind(null,e);Qv(a,r,s)}});var S0=E(($qr,v4e)=>{v4e.exports=S4e()});var U4e=E((Yqr,F4e)=>{F4e.exports=require("util").inspect});var Zv=E((Jqr,oMe)=>{var yK=typeof Map=="function"&&Map.prototype,uK=Object.getOwnPropertyDescriptor&&yK?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,j3=yK&&uK&&typeof uK.get=="function"?uK.get:null,q4e=yK&&Map.prototype.forEach,xK=typeof Set=="function"&&Set.prototype,lK=Object.getOwnPropertyDescriptor&&xK?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,H3=xK&&lK&&typeof lK.get=="function"?lK.get:null,j4e=xK&&Set.prototype.forEach,Itr=typeof WeakMap=="function"&&WeakMap.prototype,Yv=Itr?WeakMap.prototype.has:null,Ctr=typeof WeakSet=="function"&&WeakSet.prototype,Jv=Ctr?WeakSet.prototype.has:null,Ttr=typeof WeakRef=="function"&&WeakRef.prototype,H4e=Ttr?WeakRef.prototype.deref:null,wtr=Boolean.prototype.valueOf,Rtr=Object.prototype.toString,Ntr=Function.prototype.toString,Otr=String.prototype.match,bK=String.prototype.slice,I0=String.prototype.replace,Ptr=String.prototype.toUpperCase,Q4e=String.prototype.toLowerCase,eMe=RegExp.prototype.test,G4e=Array.prototype.concat,_l=Array.prototype.join,ktr=Array.prototype.slice,K4e=Math.floor,pK=typeof BigInt=="function"?BigInt.prototype.valueOf:null,dK=Object.getOwnPropertySymbols,mK=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Jx=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Xv=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Jx||!0)?Symbol.toStringTag:null,tMe=Object.prototype.propertyIsEnumerable,V4e=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function z4e(t,e){if(t===1/0||t===-1/0||t!==t||t&&t>-1e3&&t<1e3||eMe.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof t=="number"){var n=t<0?-K4e(-t):K4e(t);if(n!==t){var s=String(n),i=bK.call(e,s.length+1);return I0.call(s,r,"$&_")+"."+I0.call(I0.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return I0.call(e,r,"$&_")}var hK=U4e(),Y4e=hK.custom,J4e=sMe(Y4e)?Y4e:null,rMe={__proto__:null,double:'"',single:"'"},Dtr={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};oMe.exports=function t(e,r,n,s){var i=r||{};if(ef(i,"quoteStyle")&&!ef(rMe,i.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(ef(i,"maxStringLength")&&(typeof i.maxStringLength=="number"?i.maxStringLength<0&&i.maxStringLength!==1/0:i.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var a=ef(i,"customInspect")?i.customInspect:!0;if(typeof a!="boolean"&&a!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(ef(i,"indent")&&i.indent!==null&&i.indent!==" "&&!(parseInt(i.indent,10)===i.indent&&i.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(ef(i,"numericSeparator")&&typeof i.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var o=i.numericSeparator;if(typeof e>"u")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return aMe(e,i);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var c=String(e);return o?z4e(e,c):c}if(typeof e=="bigint"){var u=String(e)+"n";return o?z4e(e,u):u}var l=typeof i.depth>"u"?5:i.depth;if(typeof n>"u"&&(n=0),n>=l&&l>0&&typeof e=="object")return gK(e)?"[Array]":"[Object]";var d=Xtr(i,n);if(typeof s>"u")s=[];else if(iMe(s,e)>=0)return"[Circular]";function f(D,L,Z){if(L&&(s=ktr.call(s),s.push(L)),Z){var W={depth:i.depth};return ef(i,"quoteStyle")&&(W.quoteStyle=i.quoteStyle),t(D,W,n+1,s)}return t(D,i,n+1,s)}if(typeof e=="function"&&!X4e(e)){var p=jtr(e),m=q3(e,f);return"[Function"+(p?": "+p:" (anonymous)")+"]"+(m.length>0?" { "+_l.call(m,", ")+" }":"")}if(sMe(e)){var h=Jx?I0.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):mK.call(e);return typeof e=="object"&&!Jx?zv(h):h}if(ztr(e)){for(var A="<"+Q4e.call(String(e.nodeName)),g=e.attributes||[],b=0;b<g.length;b++)A+=" "+g[b].name+"="+nMe(Btr(g[b].value),"double",i);return A+=">",e.childNodes&&e.childNodes.length&&(A+="..."),A+="</"+Q4e.call(String(e.nodeName))+">",A}if(gK(e)){if(e.length===0)return"[]";var y=q3(e,f);return d&&!Jtr(y)?"["+AK(y,d)+"]":"[ "+_l.call(y,", ")+" ]"}if(Mtr(e)){var x=q3(e,f);return!("cause"in Error.prototype)&&"cause"in e&&!tMe.call(e,"cause")?"{ ["+String(e)+"] "+_l.call(G4e.call("[cause]: "+f(e.cause),x),", ")+" }":x.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+_l.call(x,", ")+" }"}if(typeof e=="object"&&a){if(J4e&&typeof e[J4e]=="function"&&hK)return hK(e,{depth:l-n});if(a!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(Htr(e)){var v=[];return q4e&&q4e.call(e,function(D,L){v.push(f(L,e,!0)+" => "+f(D,e))}),Z4e("Map",j3.call(e),v,d)}if(Ktr(e)){var I=[];return j4e&&j4e.call(e,function(D){I.push(f(D,e))}),Z4e("Set",H3.call(e),I,d)}if(Qtr(e))return fK("WeakMap");if(Vtr(e))return fK("WeakSet");if(Gtr(e))return fK("WeakRef");if($tr(e))return zv(f(Number(e)));if(Utr(e))return zv(f(pK.call(e)));if(Ftr(e))return zv(wtr.call(e));if(Wtr(e))return zv(f(String(e)));if(typeof window<"u"&&e===window)return"{ [object Window] }";if(typeof globalThis<"u"&&e===globalThis||typeof global<"u"&&e===global)return"{ [object globalThis] }";if(!Ltr(e)&&!X4e(e)){var R=q3(e,f),w=V4e?V4e(e)===Object.prototype:e instanceof Object||e.constructor===Object,N=e instanceof Object?"":"null prototype",P=!w&&Xv&&Object(e)===e&&Xv in e?bK.call(C0(e),8,-1):N?"Object":"",B=w||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",M=B+(P||N?"["+_l.call(G4e.call([],P||[],N||[]),": ")+"] ":"");return R.length===0?M+"{}":d?M+"{"+AK(R,d)+"}":M+"{ "+_l.call(R,", ")+" }"}return String(e)};function nMe(t,e,r){var n=r.quoteStyle||e,s=rMe[n];return s+t+s}function Btr(t){return I0.call(String(t),/"/g,""")}function jh(t){return!Xv||!(typeof t=="object"&&(Xv in t||typeof t[Xv]<"u"))}function gK(t){return C0(t)==="[object Array]"&&jh(t)}function Ltr(t){return C0(t)==="[object Date]"&&jh(t)}function X4e(t){return C0(t)==="[object RegExp]"&&jh(t)}function Mtr(t){return C0(t)==="[object Error]"&&jh(t)}function Wtr(t){return C0(t)==="[object String]"&&jh(t)}function $tr(t){return C0(t)==="[object Number]"&&jh(t)}function Ftr(t){return C0(t)==="[object Boolean]"&&jh(t)}function sMe(t){if(Jx)return t&&typeof t=="object"&&t instanceof Symbol;if(typeof t=="symbol")return!0;if(!t||typeof t!="object"||!mK)return!1;try{return mK.call(t),!0}catch{}return!1}function Utr(t){if(!t||typeof t!="object"||!pK)return!1;try{return pK.call(t),!0}catch{}return!1}var qtr=Object.prototype.hasOwnProperty||function(t){return t in this};function ef(t,e){return qtr.call(t,e)}function C0(t){return Rtr.call(t)}function jtr(t){if(t.name)return t.name;var e=Otr.call(Ntr.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function iMe(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}function Htr(t){if(!j3||!t||typeof t!="object")return!1;try{j3.call(t);try{H3.call(t)}catch{return!0}return t instanceof Map}catch{}return!1}function Qtr(t){if(!Yv||!t||typeof t!="object")return!1;try{Yv.call(t,Yv);try{Jv.call(t,Jv)}catch{return!0}return t instanceof WeakMap}catch{}return!1}function Gtr(t){if(!H4e||!t||typeof t!="object")return!1;try{return H4e.call(t),!0}catch{}return!1}function Ktr(t){if(!H3||!t||typeof t!="object")return!1;try{H3.call(t);try{j3.call(t)}catch{return!0}return t instanceof Set}catch{}return!1}function Vtr(t){if(!Jv||!t||typeof t!="object")return!1;try{Jv.call(t,Jv);try{Yv.call(t,Yv)}catch{return!0}return t instanceof WeakSet}catch{}return!1}function ztr(t){return!t||typeof t!="object"?!1:typeof HTMLElement<"u"&&t instanceof HTMLElement?!0:typeof t.nodeName=="string"&&typeof t.getAttribute=="function"}function aMe(t,e){if(t.length>e.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return aMe(bK.call(t,0,e.maxStringLength),e)+n}var s=Dtr[e.quoteStyle||"single"];s.lastIndex=0;var i=I0.call(I0.call(t,s,"\\$1"),/[\x00-\x1f]/g,Ytr);return nMe(i,"single",e)}function Ytr(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+Ptr.call(e.toString(16))}function zv(t){return"Object("+t+")"}function fK(t){return t+" { ? }"}function Z4e(t,e,r,n){var s=n?AK(r,n):_l.call(r,", ");return t+" ("+e+") {"+s+"}"}function Jtr(t){for(var e=0;e<t.length;e++)if(iMe(t[e],`
|
|
`)>=0)return!1;return!0}function Xtr(t,e){var r;if(t.indent===" ")r=" ";else if(typeof t.indent=="number"&&t.indent>0)r=_l.call(Array(t.indent+1)," ");else return null;return{base:r,prev:_l.call(Array(e+1),r)}}function AK(t,e){if(t.length===0)return"";var r=`
|
|
`+e.prev+e.base;return r+_l.call(t,","+r)+`
|
|
`+e.prev}function q3(t,e){var r=gK(t),n=[];if(r){n.length=t.length;for(var s=0;s<t.length;s++)n[s]=ef(t,s)?e(t[s],t):""}var i=typeof dK=="function"?dK(t):[],a;if(Jx){a={};for(var o=0;o<i.length;o++)a["$"+i[o]]=i[o]}for(var c in t)ef(t,c)&&(r&&String(Number(c))===c&&c<t.length||Jx&&a["$"+c]instanceof Symbol||(eMe.call(/[^\w$]/,c)?n.push(e(c,t)+": "+e(t[c],t)):n.push(c+": "+e(t[c],t))));if(typeof dK=="function")for(var u=0;u<i.length;u++)tMe.call(t,i[u])&&n.push("["+e(i[u])+"]: "+e(t[i[u]],t));return n}});var uMe=E((Xqr,cMe)=>{"use strict";var Ztr=Zv(),err=Gp(),Q3=function(t,e,r){for(var n=t,s;(s=n.next)!=null;n=s)if(s.key===e)return n.next=s.next,r||(s.next=t.next,t.next=s),s},trr=function(t,e){if(t){var r=Q3(t,e);return r&&r.value}},rrr=function(t,e,r){var n=Q3(t,e);n?n.value=r:t.next={key:e,next:t.next,value:r}},nrr=function(t,e){return t?!!Q3(t,e):!1},srr=function(t,e){if(t)return Q3(t,e,!0)};cMe.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new err("Side channel does not contain "+Ztr(n))},delete:function(n){var s=e&&e.next,i=srr(e,n);return i&&s&&s===i&&(e=void 0),!!i},get:function(n){return trr(e,n)},has:function(n){return nrr(e,n)},set:function(n,s){e||(e={next:void 0}),rrr(e,n,s)}};return r}});var EK=E((Zqr,fMe)=>{"use strict";var lMe=LS(),dMe=Pj(),irr=dMe([lMe("%String.prototype.indexOf%")]);fMe.exports=function(e,r){var n=lMe(e,!!r);return typeof n=="function"&&irr(e,".prototype.")>-1?dMe([n]):n}});var _K=E((e9r,mMe)=>{"use strict";var arr=LS(),eI=EK(),orr=Zv(),crr=Gp(),pMe=arr("%Map%",!0),urr=eI("Map.prototype.get",!0),lrr=eI("Map.prototype.set",!0),drr=eI("Map.prototype.has",!0),frr=eI("Map.prototype.delete",!0),prr=eI("Map.prototype.size",!0);mMe.exports=!!pMe&&function(){var e,r={assert:function(n){if(!r.has(n))throw new crr("Side channel does not contain "+orr(n))},delete:function(n){if(e){var s=frr(e,n);return prr(e)===0&&(e=void 0),s}return!1},get:function(n){if(e)return urr(e,n)},has:function(n){return e?drr(e,n):!1},set:function(n,s){e||(e=new pMe),lrr(e,n,s)}};return r}});var gMe=E((t9r,hMe)=>{"use strict";var mrr=LS(),K3=EK(),hrr=Zv(),G3=_K(),grr=Gp(),Xx=mrr("%WeakMap%",!0),Arr=K3("WeakMap.prototype.get",!0),yrr=K3("WeakMap.prototype.set",!0),xrr=K3("WeakMap.prototype.has",!0),brr=K3("WeakMap.prototype.delete",!0);hMe.exports=Xx?function(){var e,r,n={assert:function(s){if(!n.has(s))throw new grr("Side channel does not contain "+hrr(s))},delete:function(s){if(Xx&&s&&(typeof s=="object"||typeof s=="function")){if(e)return brr(e,s)}else if(G3&&r)return r.delete(s);return!1},get:function(s){return Xx&&s&&(typeof s=="object"||typeof s=="function")&&e?Arr(e,s):r&&r.get(s)},has:function(s){return Xx&&s&&(typeof s=="object"||typeof s=="function")&&e?xrr(e,s):!!r&&r.has(s)},set:function(s,i){Xx&&s&&(typeof s=="object"||typeof s=="function")?(e||(e=new Xx),yrr(e,s,i)):G3&&(r||(r=G3()),r.set(s,i))}};return n}:G3});var yMe=E((r9r,AMe)=>{"use strict";var Err=Gp(),_rr=Zv(),Srr=uMe(),vrr=_K(),Irr=gMe(),Crr=Irr||vrr||Srr;AMe.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new Err("Side channel does not contain "+_rr(n))},delete:function(n){return!!e&&e.delete(n)},get:function(n){return e&&e.get(n)},has:function(n){return!!e&&e.has(n)},set:function(n,s){e||(e=Crr()),e.set(n,s)}};return r}});var V3=E((n9r,xMe)=>{"use strict";var Trr=String.prototype.replace,wrr=/%20/g,SK={RFC1738:"RFC1738",RFC3986:"RFC3986"};xMe.exports={default:SK.RFC3986,formatters:{RFC1738:function(t){return Trr.call(t,wrr,"+")},RFC3986:function(t){return String(t)}},RFC1738:SK.RFC1738,RFC3986:SK.RFC3986}});var CK=E((s9r,EMe)=>{"use strict";var Rrr=V3(),vK=Object.prototype.hasOwnProperty,Hh=Array.isArray,Sl=function(){for(var t=[],e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t}(),Nrr=function(e){for(;e.length>1;){var r=e.pop(),n=r.obj[r.prop];if(Hh(n)){for(var s=[],i=0;i<n.length;++i)typeof n[i]<"u"&&s.push(n[i]);r.obj[r.prop]=s}}},bMe=function(e,r){for(var n=r&&r.plainObjects?{__proto__:null}:{},s=0;s<e.length;++s)typeof e[s]<"u"&&(n[s]=e[s]);return n},Orr=function t(e,r,n){if(!r)return e;if(typeof r!="object"&&typeof r!="function"){if(Hh(e))e.push(r);else if(e&&typeof e=="object")(n&&(n.plainObjects||n.allowPrototypes)||!vK.call(Object.prototype,r))&&(e[r]=!0);else return[e,r];return e}if(!e||typeof e!="object")return[e].concat(r);var s=e;return Hh(e)&&!Hh(r)&&(s=bMe(e,n)),Hh(e)&&Hh(r)?(r.forEach(function(i,a){if(vK.call(e,a)){var o=e[a];o&&typeof o=="object"&&i&&typeof i=="object"?e[a]=t(o,i,n):e.push(i)}else e[a]=i}),e):Object.keys(r).reduce(function(i,a){var o=r[a];return vK.call(i,a)?i[a]=t(i[a],o,n):i[a]=o,i},s)},Prr=function(e,r){return Object.keys(r).reduce(function(n,s){return n[s]=r[s],n},e)},krr=function(t,e,r){var n=t.replace(/\+/g," ");if(r==="iso-8859-1")return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch{return n}},IK=1024,Drr=function(e,r,n,s,i){if(e.length===0)return e;var a=e;if(typeof e=="symbol"?a=Symbol.prototype.toString.call(e):typeof e!="string"&&(a=String(e)),n==="iso-8859-1")return escape(a).replace(/%u[0-9a-f]{4}/gi,function(p){return"%26%23"+parseInt(p.slice(2),16)+"%3B"});for(var o="",c=0;c<a.length;c+=IK){for(var u=a.length>=IK?a.slice(c,c+IK):a,l=[],d=0;d<u.length;++d){var f=u.charCodeAt(d);if(f===45||f===46||f===95||f===126||f>=48&&f<=57||f>=65&&f<=90||f>=97&&f<=122||i===Rrr.RFC1738&&(f===40||f===41)){l[l.length]=u.charAt(d);continue}if(f<128){l[l.length]=Sl[f];continue}if(f<2048){l[l.length]=Sl[192|f>>6]+Sl[128|f&63];continue}if(f<55296||f>=57344){l[l.length]=Sl[224|f>>12]+Sl[128|f>>6&63]+Sl[128|f&63];continue}d+=1,f=65536+((f&1023)<<10|u.charCodeAt(d)&1023),l[l.length]=Sl[240|f>>18]+Sl[128|f>>12&63]+Sl[128|f>>6&63]+Sl[128|f&63]}o+=l.join("")}return o},Brr=function(e){for(var r=[{obj:{o:e},prop:"o"}],n=[],s=0;s<r.length;++s)for(var i=r[s],a=i.obj[i.prop],o=Object.keys(a),c=0;c<o.length;++c){var u=o[c],l=a[u];typeof l=="object"&&l!==null&&n.indexOf(l)===-1&&(r.push({obj:a,prop:u}),n.push(l))}return Nrr(r),e},Lrr=function(e){return Object.prototype.toString.call(e)==="[object RegExp]"},Mrr=function(e){return!e||typeof e!="object"?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},Wrr=function(e,r){return[].concat(e,r)},$rr=function(e,r){if(Hh(e)){for(var n=[],s=0;s<e.length;s+=1)n.push(r(e[s]));return n}return r(e)};EMe.exports={arrayToObject:bMe,assign:Prr,combine:Wrr,compact:Brr,decode:krr,encode:Drr,isBuffer:Mrr,isRegExp:Lrr,maybeMap:$rr,merge:Orr}});var TMe=E((i9r,CMe)=>{"use strict";var SMe=yMe(),z3=CK(),tI=V3(),Frr=Object.prototype.hasOwnProperty,vMe={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,r){return e+"["+r+"]"},repeat:function(e){return e}},vl=Array.isArray,Urr=Array.prototype.push,IMe=function(t,e){Urr.apply(t,vl(e)?e:[e])},qrr=Date.prototype.toISOString,_Me=tI.default,Ds={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:z3.encode,encodeValuesOnly:!1,filter:void 0,format:_Me,formatter:tI.formatters[_Me],indices:!1,serializeDate:function(e){return qrr.call(e)},skipNulls:!1,strictNullHandling:!1},jrr=function(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="symbol"||typeof e=="bigint"},TK={},Hrr=function t(e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b){for(var y=e,x=b,v=0,I=!1;(x=x.get(TK))!==void 0&&!I;){var R=x.get(e);if(v+=1,typeof R<"u"){if(R===v)throw new RangeError("Cyclic object value");I=!0}typeof x.get(TK)>"u"&&(v=0)}if(typeof l=="function"?y=l(r,y):y instanceof Date?y=p(y):n==="comma"&&vl(y)&&(y=z3.maybeMap(y,function(J){return J instanceof Date?p(J):J})),y===null){if(a)return u&&!A?u(r,Ds.encoder,g,"key",m):r;y=""}if(jrr(y)||z3.isBuffer(y)){if(u){var w=A?r:u(r,Ds.encoder,g,"key",m);return[h(w)+"="+h(u(y,Ds.encoder,g,"value",m))]}return[h(r)+"="+h(String(y))]}var N=[];if(typeof y>"u")return N;var P;if(n==="comma"&&vl(y))A&&u&&(y=z3.maybeMap(y,u)),P=[{value:y.length>0?y.join(",")||null:void 0}];else if(vl(l))P=l;else{var B=Object.keys(y);P=d?B.sort(d):B}var M=c?String(r).replace(/\./g,"%2E"):String(r),D=s&&vl(y)&&y.length===1?M+"[]":M;if(i&&vl(y)&&y.length===0)return D+"[]";for(var L=0;L<P.length;++L){var Z=P[L],W=typeof Z=="object"&&Z&&typeof Z.value<"u"?Z.value:y[Z];if(!(o&&W===null)){var F=f&&c?String(Z).replace(/\./g,"%2E"):String(Z),K=vl(y)?typeof n=="function"?n(D,F):D:D+(f?"."+F:"["+F+"]");b.set(e,v);var j=SMe();j.set(TK,b),IMe(N,t(W,K,n,s,i,a,o,c,n==="comma"&&A&&vl(y)?null:u,l,d,f,p,m,h,A,g,j))}}return N},Qrr=function(e){if(!e)return Ds;if(typeof e.allowEmptyArrays<"u"&&typeof e.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.encodeDotInKeys<"u"&&typeof e.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&typeof e.encoder<"u"&&typeof e.encoder!="function")throw new TypeError("Encoder has to be a function.");var r=e.charset||Ds.charset;if(typeof e.charset<"u"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=tI.default;if(typeof e.format<"u"){if(!Frr.call(tI.formatters,e.format))throw new TypeError("Unknown format option provided.");n=e.format}var s=tI.formatters[n],i=Ds.filter;(typeof e.filter=="function"||vl(e.filter))&&(i=e.filter);var a;if(e.arrayFormat in vMe?a=e.arrayFormat:"indices"in e?a=e.indices?"indices":"repeat":a=Ds.arrayFormat,"commaRoundTrip"in e&&typeof e.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var o=typeof e.allowDots>"u"?e.encodeDotInKeys===!0?!0:Ds.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix=="boolean"?e.addQueryPrefix:Ds.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:Ds.allowEmptyArrays,arrayFormat:a,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:Ds.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?Ds.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:Ds.encode,encodeDotInKeys:typeof e.encodeDotInKeys=="boolean"?e.encodeDotInKeys:Ds.encodeDotInKeys,encoder:typeof e.encoder=="function"?e.encoder:Ds.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:Ds.encodeValuesOnly,filter:i,format:n,formatter:s,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:Ds.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:Ds.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:Ds.strictNullHandling}};CMe.exports=function(t,e){var r=t,n=Qrr(e),s,i;typeof n.filter=="function"?(i=n.filter,r=i("",r)):vl(n.filter)&&(i=n.filter,s=i);var a=[];if(typeof r!="object"||r===null)return"";var o=vMe[n.arrayFormat],c=o==="comma"&&n.commaRoundTrip;s||(s=Object.keys(r)),n.sort&&s.sort(n.sort);for(var u=SMe(),l=0;l<s.length;++l){var d=s[l],f=r[d];n.skipNulls&&f===null||IMe(a,Hrr(f,d,o,c,n.allowEmptyArrays,n.strictNullHandling,n.skipNulls,n.encodeDotInKeys,n.encode?n.encoder:null,n.filter,n.sort,n.allowDots,n.serializeDate,n.format,n.formatter,n.encodeValuesOnly,n.charset,u))}var p=a.join(n.delimiter),m=n.addQueryPrefix===!0?"?":"";return n.charsetSentinel&&(n.charset==="iso-8859-1"?m+="utf8=%26%2310003%3B&":m+="utf8=%E2%9C%93&"),p.length>0?m+p:""}});var OMe=E((a9r,NMe)=>{"use strict";var Qh=CK(),wK=Object.prototype.hasOwnProperty,wMe=Array.isArray,Zn={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:Qh.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},Grr=function(t){return t.replace(/&#(\d+);/g,function(e,r){return String.fromCharCode(parseInt(r,10))})},RMe=function(t,e,r){if(t&&typeof t=="string"&&e.comma&&t.indexOf(",")>-1)return t.split(",");if(e.throwOnLimitExceeded&&r>=e.arrayLimit)throw new RangeError("Array limit exceeded. Only "+e.arrayLimit+" element"+(e.arrayLimit===1?"":"s")+" allowed in an array.");return t},Krr="utf8=%26%2310003%3B",Vrr="utf8=%E2%9C%93",zrr=function(e,r){var n={__proto__:null},s=r.ignoreQueryPrefix?e.replace(/^\?/,""):e;s=s.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var i=r.parameterLimit===1/0?void 0:r.parameterLimit,a=s.split(r.delimiter,r.throwOnLimitExceeded?i+1:i);if(r.throwOnLimitExceeded&&a.length>i)throw new RangeError("Parameter limit exceeded. Only "+i+" parameter"+(i===1?"":"s")+" allowed.");var o=-1,c,u=r.charset;if(r.charsetSentinel)for(c=0;c<a.length;++c)a[c].indexOf("utf8=")===0&&(a[c]===Vrr?u="utf-8":a[c]===Krr&&(u="iso-8859-1"),o=c,c=a.length);for(c=0;c<a.length;++c)if(c!==o){var l=a[c],d=l.indexOf("]="),f=d===-1?l.indexOf("="):d+1,p,m;f===-1?(p=r.decoder(l,Zn.decoder,u,"key"),m=r.strictNullHandling?null:""):(p=r.decoder(l.slice(0,f),Zn.decoder,u,"key"),m=Qh.maybeMap(RMe(l.slice(f+1),r,wMe(n[p])?n[p].length:0),function(A){return r.decoder(A,Zn.decoder,u,"value")})),m&&r.interpretNumericEntities&&u==="iso-8859-1"&&(m=Grr(String(m))),l.indexOf("[]=")>-1&&(m=wMe(m)?[m]:m);var h=wK.call(n,p);h&&r.duplicates==="combine"?n[p]=Qh.combine(n[p],m):(!h||r.duplicates==="last")&&(n[p]=m)}return n},Yrr=function(t,e,r,n){var s=0;if(t.length>0&&t[t.length-1]==="[]"){var i=t.slice(0,-1).join("");s=Array.isArray(e)&&e[i]?e[i].length:0}for(var a=n?e:RMe(e,r,s),o=t.length-1;o>=0;--o){var c,u=t[o];if(u==="[]"&&r.parseArrays)c=r.allowEmptyArrays&&(a===""||r.strictNullHandling&&a===null)?[]:Qh.combine([],a);else{c=r.plainObjects?{__proto__:null}:{};var l=u.charAt(0)==="["&&u.charAt(u.length-1)==="]"?u.slice(1,-1):u,d=r.decodeDotInKeys?l.replace(/%2E/g,"."):l,f=parseInt(d,10);!r.parseArrays&&d===""?c={0:a}:!isNaN(f)&&u!==d&&String(f)===d&&f>=0&&r.parseArrays&&f<=r.arrayLimit?(c=[],c[f]=a):d!=="__proto__"&&(c[d]=a)}a=c}return a},Jrr=function(e,r,n,s){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/,o=/(\[[^[\]]*])/g,c=n.depth>0&&a.exec(i),u=c?i.slice(0,c.index):i,l=[];if(u){if(!n.plainObjects&&wK.call(Object.prototype,u)&&!n.allowPrototypes)return;l.push(u)}for(var d=0;n.depth>0&&(c=o.exec(i))!==null&&d<n.depth;){if(d+=1,!n.plainObjects&&wK.call(Object.prototype,c[1].slice(1,-1))&&!n.allowPrototypes)return;l.push(c[1])}if(c){if(n.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+n.depth+" and strictDepth is true");l.push("["+i.slice(c.index)+"]")}return Yrr(l,r,n,s)}},Xrr=function(e){if(!e)return Zn;if(typeof e.allowEmptyArrays<"u"&&typeof e.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.decodeDotInKeys<"u"&&typeof e.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(e.decoder!==null&&typeof e.decoder<"u"&&typeof e.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof e.charset<"u"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");if(typeof e.throwOnLimitExceeded<"u"&&typeof e.throwOnLimitExceeded!="boolean")throw new TypeError("`throwOnLimitExceeded` option must be a boolean");var r=typeof e.charset>"u"?Zn.charset:e.charset,n=typeof e.duplicates>"u"?Zn.duplicates:e.duplicates;if(n!=="combine"&&n!=="first"&&n!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var s=typeof e.allowDots>"u"?e.decodeDotInKeys===!0?!0:Zn.allowDots:!!e.allowDots;return{allowDots:s,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:Zn.allowEmptyArrays,allowPrototypes:typeof e.allowPrototypes=="boolean"?e.allowPrototypes:Zn.allowPrototypes,allowSparse:typeof e.allowSparse=="boolean"?e.allowSparse:Zn.allowSparse,arrayLimit:typeof e.arrayLimit=="number"?e.arrayLimit:Zn.arrayLimit,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:Zn.charsetSentinel,comma:typeof e.comma=="boolean"?e.comma:Zn.comma,decodeDotInKeys:typeof e.decodeDotInKeys=="boolean"?e.decodeDotInKeys:Zn.decodeDotInKeys,decoder:typeof e.decoder=="function"?e.decoder:Zn.decoder,delimiter:typeof e.delimiter=="string"||Qh.isRegExp(e.delimiter)?e.delimiter:Zn.delimiter,depth:typeof e.depth=="number"||e.depth===!1?+e.depth:Zn.depth,duplicates:n,ignoreQueryPrefix:e.ignoreQueryPrefix===!0,interpretNumericEntities:typeof e.interpretNumericEntities=="boolean"?e.interpretNumericEntities:Zn.interpretNumericEntities,parameterLimit:typeof e.parameterLimit=="number"?e.parameterLimit:Zn.parameterLimit,parseArrays:e.parseArrays!==!1,plainObjects:typeof e.plainObjects=="boolean"?e.plainObjects:Zn.plainObjects,strictDepth:typeof e.strictDepth=="boolean"?!!e.strictDepth:Zn.strictDepth,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:Zn.strictNullHandling,throwOnLimitExceeded:typeof e.throwOnLimitExceeded=="boolean"?e.throwOnLimitExceeded:!1}};NMe.exports=function(t,e){var r=Xrr(e);if(t===""||t===null||typeof t>"u")return r.plainObjects?{__proto__:null}:{};for(var n=typeof t=="string"?zrr(t,r):t,s=r.plainObjects?{__proto__:null}:{},i=Object.keys(n),a=0;a<i.length;++a){var o=i[a],c=Jrr(o,n[o],r,typeof t=="string");s=Qh.merge(s,c,r)}return r.allowSparse===!0?s:Qh.compact(s)}});var rI=E((o9r,PMe)=>{"use strict";var Zrr=TMe(),enr=OMe(),tnr=V3();PMe.exports={formats:tnr,parse:enr,stringify:Zrr}});var RK=E((kMe,Y3)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,s=Math.floor,i="[BigNumber Error] ",a=i+"Number primitive has more than 15 significant digits: ",o=1e14,c=14,u=9007199254740991,l=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],d=1e7,f=1e9;function p(v){var I,R,w,N=ue.prototype={constructor:ue,toString:null,valueOf:null},P=new ue(1),B=20,M=4,D=-7,L=21,Z=-1e7,W=1e7,F=!1,K=1,j=0,J={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},se="0123456789abcdefghijklmnopqrstuvwxyz",oe=!0;function ue(U,G){var V,q,H,ee,ne,re,X,ie,ce=this;if(!(ce instanceof ue))return new ue(U,G);if(G==null){if(U&&U._isBigNumber===!0){ce.s=U.s,!U.c||U.e>W?ce.c=ce.e=null:U.e<Z?ce.c=[ce.e=0]:(ce.e=U.e,ce.c=U.c.slice());return}if((re=typeof U=="number")&&U*0==0){if(ce.s=1/U<0?(U=-U,-1):1,U===~~U){for(ee=0,ne=U;ne>=10;ne/=10,ee++);ee>W?ce.c=ce.e=null:(ce.e=ee,ce.c=[U]);return}ie=String(U)}else{if(!r.test(ie=String(U)))return w(ce,ie,re);ce.s=ie.charCodeAt(0)==45?(ie=ie.slice(1),-1):1}(ee=ie.indexOf("."))>-1&&(ie=ie.replace(".","")),(ne=ie.search(/e/i))>0?(ee<0&&(ee=ne),ee+=+ie.slice(ne+1),ie=ie.substring(0,ne)):ee<0&&(ee=ie.length)}else{if(g(G,2,se.length,"Base"),G==10&&oe)return ce=new ue(U),Fe(ce,B+ce.e+1,M);if(ie=String(U),re=typeof U=="number"){if(U*0!=0)return w(ce,ie,re,G);if(ce.s=1/U<0?(ie=ie.slice(1),-1):1,ue.DEBUG&&ie.replace(/^0\.0*|\./,"").length>15)throw Error(a+U)}else ce.s=ie.charCodeAt(0)===45?(ie=ie.slice(1),-1):1;for(V=se.slice(0,G),ee=ne=0,X=ie.length;ne<X;ne++)if(V.indexOf(q=ie.charAt(ne))<0){if(q=="."){if(ne>ee){ee=X;continue}}else if(!H&&(ie==ie.toUpperCase()&&(ie=ie.toLowerCase())||ie==ie.toLowerCase()&&(ie=ie.toUpperCase()))){H=!0,ne=-1,ee=0;continue}return w(ce,String(U),re,G)}re=!1,ie=R(ie,G,10,ce.s),(ee=ie.indexOf("."))>-1?ie=ie.replace(".",""):ee=ie.length}for(ne=0;ie.charCodeAt(ne)===48;ne++);for(X=ie.length;ie.charCodeAt(--X)===48;);if(ie=ie.slice(ne,++X)){if(X-=ne,re&&ue.DEBUG&&X>15&&(U>u||U!==s(U)))throw Error(a+ce.s*U);if((ee=ee-ne-1)>W)ce.c=ce.e=null;else if(ee<Z)ce.c=[ce.e=0];else{if(ce.e=ee,ce.c=[],ne=(ee+1)%c,ee<0&&(ne+=c),ne<X){for(ne&&ce.c.push(+ie.slice(0,ne)),X-=c;ne<X;)ce.c.push(+ie.slice(ne,ne+=c));ne=c-(ie=ie.slice(ne)).length}else ne-=X;for(;ne--;ie+="0");ce.c.push(+ie)}}else ce.c=[ce.e=0]}ue.clone=p,ue.ROUND_UP=0,ue.ROUND_DOWN=1,ue.ROUND_CEIL=2,ue.ROUND_FLOOR=3,ue.ROUND_HALF_UP=4,ue.ROUND_HALF_DOWN=5,ue.ROUND_HALF_EVEN=6,ue.ROUND_HALF_CEIL=7,ue.ROUND_HALF_FLOOR=8,ue.EUCLID=9,ue.config=ue.set=function(U){var G,V;if(U!=null)if(typeof U=="object"){if(U.hasOwnProperty(G="DECIMAL_PLACES")&&(V=U[G],g(V,0,f,G),B=V),U.hasOwnProperty(G="ROUNDING_MODE")&&(V=U[G],g(V,0,8,G),M=V),U.hasOwnProperty(G="EXPONENTIAL_AT")&&(V=U[G],V&&V.pop?(g(V[0],-f,0,G),g(V[1],0,f,G),D=V[0],L=V[1]):(g(V,-f,f,G),D=-(L=V<0?-V:V))),U.hasOwnProperty(G="RANGE"))if(V=U[G],V&&V.pop)g(V[0],-f,-1,G),g(V[1],1,f,G),Z=V[0],W=V[1];else if(g(V,-f,f,G),V)Z=-(W=V<0?-V:V);else throw Error(i+G+" cannot be zero: "+V);if(U.hasOwnProperty(G="CRYPTO"))if(V=U[G],V===!!V)if(V)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))F=V;else throw F=!V,Error(i+"crypto unavailable");else F=V;else throw Error(i+G+" not true or false: "+V);if(U.hasOwnProperty(G="MODULO_MODE")&&(V=U[G],g(V,0,9,G),K=V),U.hasOwnProperty(G="POW_PRECISION")&&(V=U[G],g(V,0,f,G),j=V),U.hasOwnProperty(G="FORMAT"))if(V=U[G],typeof V=="object")J=V;else throw Error(i+G+" not an object: "+V);if(U.hasOwnProperty(G="ALPHABET"))if(V=U[G],typeof V=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(V))oe=V.slice(0,10)=="0123456789",se=V;else throw Error(i+G+" invalid: "+V)}else throw Error(i+"Object expected: "+U);return{DECIMAL_PLACES:B,ROUNDING_MODE:M,EXPONENTIAL_AT:[D,L],RANGE:[Z,W],CRYPTO:F,MODULO_MODE:K,POW_PRECISION:j,FORMAT:J,ALPHABET:se}},ue.isBigNumber=function(U){if(!U||U._isBigNumber!==!0)return!1;if(!ue.DEBUG)return!0;var G,V,q=U.c,H=U.e,ee=U.s;e:if({}.toString.call(q)=="[object Array]"){if((ee===1||ee===-1)&&H>=-f&&H<=f&&H===s(H)){if(q[0]===0){if(H===0&&q.length===1)return!0;break e}if(G=(H+1)%c,G<1&&(G+=c),String(q[0]).length==G){for(G=0;G<q.length;G++)if(V=q[G],V<0||V>=o||V!==s(V))break e;if(V!==0)return!0}}}else if(q===null&&H===null&&(ee===null||ee===1||ee===-1))return!0;throw Error(i+"Invalid BigNumber: "+U)},ue.maximum=ue.max=function(){return we(arguments,-1)},ue.minimum=ue.min=function(){return we(arguments,1)},ue.random=function(){var U=9007199254740992,G=Math.random()*U&2097151?function(){return s(Math.random()*U)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(V){var q,H,ee,ne,re,X=0,ie=[],ce=new ue(P);if(V==null?V=B:g(V,0,f),ne=n(V/c),F)if(crypto.getRandomValues){for(q=crypto.getRandomValues(new Uint32Array(ne*=2));X<ne;)re=q[X]*131072+(q[X+1]>>>11),re>=9e15?(H=crypto.getRandomValues(new Uint32Array(2)),q[X]=H[0],q[X+1]=H[1]):(ie.push(re%1e14),X+=2);X=ne/2}else if(crypto.randomBytes){for(q=crypto.randomBytes(ne*=7);X<ne;)re=(q[X]&31)*281474976710656+q[X+1]*1099511627776+q[X+2]*4294967296+q[X+3]*16777216+(q[X+4]<<16)+(q[X+5]<<8)+q[X+6],re>=9e15?crypto.randomBytes(7).copy(q,X):(ie.push(re%1e14),X+=7);X=ne/7}else throw F=!1,Error(i+"crypto unavailable");if(!F)for(;X<ne;)re=G(),re<9e15&&(ie[X++]=re%1e14);for(ne=ie[--X],V%=c,ne&&V&&(re=l[c-V],ie[X]=s(ne/re)*re);ie[X]===0;ie.pop(),X--);if(X<0)ie=[ee=0];else{for(ee=-1;ie[0]===0;ie.splice(0,1),ee-=c);for(X=1,re=ie[0];re>=10;re/=10,X++);X<c&&(ee-=c-X)}return ce.e=ee,ce.c=ie,ce}}(),ue.sum=function(){for(var U=1,G=arguments,V=new ue(G[0]);U<G.length;)V=V.plus(G[U++]);return V},R=function(){var U="0123456789";function G(V,q,H,ee){for(var ne,re=[0],X,ie=0,ce=V.length;ie<ce;){for(X=re.length;X--;re[X]*=q);for(re[0]+=ee.indexOf(V.charAt(ie++)),ne=0;ne<re.length;ne++)re[ne]>H-1&&(re[ne+1]==null&&(re[ne+1]=0),re[ne+1]+=re[ne]/H|0,re[ne]%=H)}return re.reverse()}return function(V,q,H,ee,ne){var re,X,ie,ce,fe,Ne,Pe,Ue,ze=V.indexOf("."),Ye=B,Ze=M;for(ze>=0&&(ce=j,j=0,V=V.replace(".",""),Ue=new ue(q),Ne=Ue.pow(V.length-ze),j=ce,Ue.c=G(x(h(Ne.c),Ne.e,"0"),10,H,U),Ue.e=Ue.c.length),Pe=G(V,q,H,ne?(re=se,U):(re=U,se)),ie=ce=Pe.length;Pe[--ce]==0;Pe.pop());if(!Pe[0])return re.charAt(0);if(ze<0?--ie:(Ne.c=Pe,Ne.e=ie,Ne.s=ee,Ne=I(Ne,Ue,Ye,Ze,H),Pe=Ne.c,fe=Ne.r,ie=Ne.e),X=ie+Ye+1,ze=Pe[X],ce=H/2,fe=fe||X<0||Pe[X+1]!=null,fe=Ze<4?(ze!=null||fe)&&(Ze==0||Ze==(Ne.s<0?3:2)):ze>ce||ze==ce&&(Ze==4||fe||Ze==6&&Pe[X-1]&1||Ze==(Ne.s<0?8:7)),X<1||!Pe[0])V=fe?x(re.charAt(1),-Ye,re.charAt(0)):re.charAt(0);else{if(Pe.length=X,fe)for(--H;++Pe[--X]>H;)Pe[X]=0,X||(++ie,Pe=[1].concat(Pe));for(ce=Pe.length;!Pe[--ce];);for(ze=0,V="";ze<=ce;V+=re.charAt(Pe[ze++]));V=x(V,ie,re.charAt(0))}return V}}(),I=function(){function U(q,H,ee){var ne,re,X,ie,ce=0,fe=q.length,Ne=H%d,Pe=H/d|0;for(q=q.slice();fe--;)X=q[fe]%d,ie=q[fe]/d|0,ne=Pe*X+ie*Ne,re=Ne*X+ne%d*d+ce,ce=(re/ee|0)+(ne/d|0)+Pe*ie,q[fe]=re%ee;return ce&&(q=[ce].concat(q)),q}function G(q,H,ee,ne){var re,X;if(ee!=ne)X=ee>ne?1:-1;else for(re=X=0;re<ee;re++)if(q[re]!=H[re]){X=q[re]>H[re]?1:-1;break}return X}function V(q,H,ee,ne){for(var re=0;ee--;)q[ee]-=re,re=q[ee]<H[ee]?1:0,q[ee]=re*ne+q[ee]-H[ee];for(;!q[0]&&q.length>1;q.splice(0,1));}return function(q,H,ee,ne,re){var X,ie,ce,fe,Ne,Pe,Ue,ze,Ye,Ze,nt,ct,tt,Pt,lt,ke,Je,ft=q.s==H.s?1:-1,rt=q.c,bt=H.c;if(!rt||!rt[0]||!bt||!bt[0])return new ue(!q.s||!H.s||(rt?bt&&rt[0]==bt[0]:!bt)?NaN:rt&&rt[0]==0||!bt?ft*0:ft/0);for(ze=new ue(ft),Ye=ze.c=[],ie=q.e-H.e,ft=ee+ie+1,re||(re=o,ie=m(q.e/c)-m(H.e/c),ft=ft/c|0),ce=0;bt[ce]==(rt[ce]||0);ce++);if(bt[ce]>(rt[ce]||0)&&ie--,ft<0)Ye.push(1),fe=!0;else{for(Pt=rt.length,ke=bt.length,ce=0,ft+=2,Ne=s(re/(bt[0]+1)),Ne>1&&(bt=U(bt,Ne,re),rt=U(rt,Ne,re),ke=bt.length,Pt=rt.length),tt=ke,Ze=rt.slice(0,ke),nt=Ze.length;nt<ke;Ze[nt++]=0);Je=bt.slice(),Je=[0].concat(Je),lt=bt[0],bt[1]>=re/2&<++;do{if(Ne=0,X=G(bt,Ze,ke,nt),X<0){if(ct=Ze[0],ke!=nt&&(ct=ct*re+(Ze[1]||0)),Ne=s(ct/lt),Ne>1)for(Ne>=re&&(Ne=re-1),Pe=U(bt,Ne,re),Ue=Pe.length,nt=Ze.length;G(Pe,Ze,Ue,nt)==1;)Ne--,V(Pe,ke<Ue?Je:bt,Ue,re),Ue=Pe.length,X=1;else Ne==0&&(X=Ne=1),Pe=bt.slice(),Ue=Pe.length;if(Ue<nt&&(Pe=[0].concat(Pe)),V(Ze,Pe,nt,re),nt=Ze.length,X==-1)for(;G(bt,Ze,ke,nt)<1;)Ne++,V(Ze,ke<nt?Je:bt,nt,re),nt=Ze.length}else X===0&&(Ne++,Ze=[0]);Ye[ce++]=Ne,Ze[0]?Ze[nt++]=rt[tt]||0:(Ze=[rt[tt]],nt=1)}while((tt++<Pt||Ze[0]!=null)&&ft--);fe=Ze[0]!=null,Ye[0]||Ye.splice(0,1)}if(re==o){for(ce=1,ft=Ye[0];ft>=10;ft/=10,ce++);Fe(ze,ee+(ze.e=ce+ie*c-1)+1,ne,fe)}else ze.e=ie,ze.r=+fe;return ze}}();function Ie(U,G,V,q){var H,ee,ne,re,X;if(V==null?V=M:g(V,0,8),!U.c)return U.toString();if(H=U.c[0],ne=U.e,G==null)X=h(U.c),X=q==1||q==2&&(ne<=D||ne>=L)?y(X,ne):x(X,ne,"0");else if(U=Fe(new ue(U),G,V),ee=U.e,X=h(U.c),re=X.length,q==1||q==2&&(G<=ee||ee<=D)){for(;re<G;X+="0",re++);X=y(X,ee)}else if(G-=ne+(q===2&&ee>ne),X=x(X,ee,"0"),ee+1>re){if(--G>0)for(X+=".";G--;X+="0");}else if(G+=ee-re,G>0)for(ee+1==re&&(X+=".");G--;X+="0");return U.s<0&&H?"-"+X:X}function we(U,G){for(var V,q,H=1,ee=new ue(U[0]);H<U.length;H++)q=new ue(U[H]),(!q.s||(V=A(ee,q))===G||V===0&&ee.s===G)&&(ee=q);return ee}function qe(U,G,V){for(var q=1,H=G.length;!G[--H];G.pop());for(H=G[0];H>=10;H/=10,q++);return(V=q+V*c-1)>W?U.c=U.e=null:V<Z?U.c=[U.e=0]:(U.e=V,U.c=G),U}w=function(){var U=/^(-?)0([xbo])(?=\w[\w.]*$)/i,G=/^([^.]+)\.$/,V=/^\.([^.]+)$/,q=/^-?(Infinity|NaN)$/,H=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(ee,ne,re,X){var ie,ce=re?ne:ne.replace(H,"");if(q.test(ce))ee.s=isNaN(ce)?null:ce<0?-1:1;else{if(!re&&(ce=ce.replace(U,function(fe,Ne,Pe){return ie=(Pe=Pe.toLowerCase())=="x"?16:Pe=="b"?2:8,!X||X==ie?Ne:fe}),X&&(ie=X,ce=ce.replace(G,"$1").replace(V,"0.$1")),ne!=ce))return new ue(ce,ie);if(ue.DEBUG)throw Error(i+"Not a"+(X?" base "+X:"")+" number: "+ne);ee.s=null}ee.c=ee.e=null}}();function Fe(U,G,V,q){var H,ee,ne,re,X,ie,ce,fe=U.c,Ne=l;if(fe){e:{for(H=1,re=fe[0];re>=10;re/=10,H++);if(ee=G-H,ee<0)ee+=c,ne=G,X=fe[ie=0],ce=s(X/Ne[H-ne-1]%10);else if(ie=n((ee+1)/c),ie>=fe.length)if(q){for(;fe.length<=ie;fe.push(0));X=ce=0,H=1,ee%=c,ne=ee-c+1}else break e;else{for(X=re=fe[ie],H=1;re>=10;re/=10,H++);ee%=c,ne=ee-c+H,ce=ne<0?0:s(X/Ne[H-ne-1]%10)}if(q=q||G<0||fe[ie+1]!=null||(ne<0?X:X%Ne[H-ne-1]),q=V<4?(ce||q)&&(V==0||V==(U.s<0?3:2)):ce>5||ce==5&&(V==4||q||V==6&&(ee>0?ne>0?X/Ne[H-ne]:0:fe[ie-1])%10&1||V==(U.s<0?8:7)),G<1||!fe[0])return fe.length=0,q?(G-=U.e+1,fe[0]=Ne[(c-G%c)%c],U.e=-G||0):fe[0]=U.e=0,U;if(ee==0?(fe.length=ie,re=1,ie--):(fe.length=ie+1,re=Ne[c-ee],fe[ie]=ne>0?s(X/Ne[H-ne]%Ne[ne])*re:0),q)for(;;)if(ie==0){for(ee=1,ne=fe[0];ne>=10;ne/=10,ee++);for(ne=fe[0]+=re,re=1;ne>=10;ne/=10,re++);ee!=re&&(U.e++,fe[0]==o&&(fe[0]=1));break}else{if(fe[ie]+=re,fe[ie]!=o)break;fe[ie--]=0,re=1}for(ee=fe.length;fe[--ee]===0;fe.pop());}U.e>W?U.c=U.e=null:U.e<Z&&(U.c=[U.e=0])}return U}function _e(U){var G,V=U.e;return V===null?U.toString():(G=h(U.c),G=V<=D||V>=L?y(G,V):x(G,V,"0"),U.s<0?"-"+G:G)}return N.absoluteValue=N.abs=function(){var U=new ue(this);return U.s<0&&(U.s=1),U},N.comparedTo=function(U,G){return A(this,new ue(U,G))},N.decimalPlaces=N.dp=function(U,G){var V,q,H,ee=this;if(U!=null)return g(U,0,f),G==null?G=M:g(G,0,8),Fe(new ue(ee),U+ee.e+1,G);if(!(V=ee.c))return null;if(q=((H=V.length-1)-m(this.e/c))*c,H=V[H])for(;H%10==0;H/=10,q--);return q<0&&(q=0),q},N.dividedBy=N.div=function(U,G){return I(this,new ue(U,G),B,M)},N.dividedToIntegerBy=N.idiv=function(U,G){return I(this,new ue(U,G),0,1)},N.exponentiatedBy=N.pow=function(U,G){var V,q,H,ee,ne,re,X,ie,ce,fe=this;if(U=new ue(U),U.c&&!U.isInteger())throw Error(i+"Exponent not an integer: "+_e(U));if(G!=null&&(G=new ue(G)),re=U.e>14,!fe.c||!fe.c[0]||fe.c[0]==1&&!fe.e&&fe.c.length==1||!U.c||!U.c[0])return ce=new ue(Math.pow(+_e(fe),re?U.s*(2-b(U)):+_e(U))),G?ce.mod(G):ce;if(X=U.s<0,G){if(G.c?!G.c[0]:!G.s)return new ue(NaN);q=!X&&fe.isInteger()&&G.isInteger(),q&&(fe=fe.mod(G))}else{if(U.e>9&&(fe.e>0||fe.e<-1||(fe.e==0?fe.c[0]>1||re&&fe.c[1]>=24e7:fe.c[0]<8e13||re&&fe.c[0]<=9999975e7)))return ee=fe.s<0&&b(U)?-0:0,fe.e>-1&&(ee=1/ee),new ue(X?1/ee:ee);j&&(ee=n(j/c+2))}for(re?(V=new ue(.5),X&&(U.s=1),ie=b(U)):(H=Math.abs(+_e(U)),ie=H%2),ce=new ue(P);;){if(ie){if(ce=ce.times(fe),!ce.c)break;ee?ce.c.length>ee&&(ce.c.length=ee):q&&(ce=ce.mod(G))}if(H){if(H=s(H/2),H===0)break;ie=H%2}else if(U=U.times(V),Fe(U,U.e+1,1),U.e>14)ie=b(U);else{if(H=+_e(U),H===0)break;ie=H%2}fe=fe.times(fe),ee?fe.c&&fe.c.length>ee&&(fe.c.length=ee):q&&(fe=fe.mod(G))}return q?ce:(X&&(ce=P.div(ce)),G?ce.mod(G):ee?Fe(ce,j,M,ne):ce)},N.integerValue=function(U){var G=new ue(this);return U==null?U=M:g(U,0,8),Fe(G,G.e+1,U)},N.isEqualTo=N.eq=function(U,G){return A(this,new ue(U,G))===0},N.isFinite=function(){return!!this.c},N.isGreaterThan=N.gt=function(U,G){return A(this,new ue(U,G))>0},N.isGreaterThanOrEqualTo=N.gte=function(U,G){return(G=A(this,new ue(U,G)))===1||G===0},N.isInteger=function(){return!!this.c&&m(this.e/c)>this.c.length-2},N.isLessThan=N.lt=function(U,G){return A(this,new ue(U,G))<0},N.isLessThanOrEqualTo=N.lte=function(U,G){return(G=A(this,new ue(U,G)))===-1||G===0},N.isNaN=function(){return!this.s},N.isNegative=function(){return this.s<0},N.isPositive=function(){return this.s>0},N.isZero=function(){return!!this.c&&this.c[0]==0},N.minus=function(U,G){var V,q,H,ee,ne=this,re=ne.s;if(U=new ue(U,G),G=U.s,!re||!G)return new ue(NaN);if(re!=G)return U.s=-G,ne.plus(U);var X=ne.e/c,ie=U.e/c,ce=ne.c,fe=U.c;if(!X||!ie){if(!ce||!fe)return ce?(U.s=-G,U):new ue(fe?ne:NaN);if(!ce[0]||!fe[0])return fe[0]?(U.s=-G,U):new ue(ce[0]?ne:M==3?-0:0)}if(X=m(X),ie=m(ie),ce=ce.slice(),re=X-ie){for((ee=re<0)?(re=-re,H=ce):(ie=X,H=fe),H.reverse(),G=re;G--;H.push(0));H.reverse()}else for(q=(ee=(re=ce.length)<(G=fe.length))?re:G,re=G=0;G<q;G++)if(ce[G]!=fe[G]){ee=ce[G]<fe[G];break}if(ee&&(H=ce,ce=fe,fe=H,U.s=-U.s),G=(q=fe.length)-(V=ce.length),G>0)for(;G--;ce[V++]=0);for(G=o-1;q>re;){if(ce[--q]<fe[q]){for(V=q;V&&!ce[--V];ce[V]=G);--ce[V],ce[q]+=o}ce[q]-=fe[q]}for(;ce[0]==0;ce.splice(0,1),--ie);return ce[0]?qe(U,ce,ie):(U.s=M==3?-1:1,U.c=[U.e=0],U)},N.modulo=N.mod=function(U,G){var V,q,H=this;return U=new ue(U,G),!H.c||!U.s||U.c&&!U.c[0]?new ue(NaN):!U.c||H.c&&!H.c[0]?new ue(H):(K==9?(q=U.s,U.s=1,V=I(H,U,0,3),U.s=q,V.s*=q):V=I(H,U,0,K),U=H.minus(V.times(U)),!U.c[0]&&K==1&&(U.s=H.s),U)},N.multipliedBy=N.times=function(U,G){var V,q,H,ee,ne,re,X,ie,ce,fe,Ne,Pe,Ue,ze,Ye,Ze=this,nt=Ze.c,ct=(U=new ue(U,G)).c;if(!nt||!ct||!nt[0]||!ct[0])return!Ze.s||!U.s||nt&&!nt[0]&&!ct||ct&&!ct[0]&&!nt?U.c=U.e=U.s=null:(U.s*=Ze.s,!nt||!ct?U.c=U.e=null:(U.c=[0],U.e=0)),U;for(q=m(Ze.e/c)+m(U.e/c),U.s*=Ze.s,X=nt.length,fe=ct.length,X<fe&&(Ue=nt,nt=ct,ct=Ue,H=X,X=fe,fe=H),H=X+fe,Ue=[];H--;Ue.push(0));for(ze=o,Ye=d,H=fe;--H>=0;){for(V=0,Ne=ct[H]%Ye,Pe=ct[H]/Ye|0,ne=X,ee=H+ne;ee>H;)ie=nt[--ne]%Ye,ce=nt[ne]/Ye|0,re=Pe*ie+ce*Ne,ie=Ne*ie+re%Ye*Ye+Ue[ee]+V,V=(ie/ze|0)+(re/Ye|0)+Pe*ce,Ue[ee--]=ie%ze;Ue[ee]=V}return V?++q:Ue.splice(0,1),qe(U,Ue,q)},N.negated=function(){var U=new ue(this);return U.s=-U.s||null,U},N.plus=function(U,G){var V,q=this,H=q.s;if(U=new ue(U,G),G=U.s,!H||!G)return new ue(NaN);if(H!=G)return U.s=-G,q.minus(U);var ee=q.e/c,ne=U.e/c,re=q.c,X=U.c;if(!ee||!ne){if(!re||!X)return new ue(H/0);if(!re[0]||!X[0])return X[0]?U:new ue(re[0]?q:H*0)}if(ee=m(ee),ne=m(ne),re=re.slice(),H=ee-ne){for(H>0?(ne=ee,V=X):(H=-H,V=re),V.reverse();H--;V.push(0));V.reverse()}for(H=re.length,G=X.length,H-G<0&&(V=X,X=re,re=V,G=H),H=0;G;)H=(re[--G]=re[G]+X[G]+H)/o|0,re[G]=o===re[G]?0:re[G]%o;return H&&(re=[H].concat(re),++ne),qe(U,re,ne)},N.precision=N.sd=function(U,G){var V,q,H,ee=this;if(U!=null&&U!==!!U)return g(U,1,f),G==null?G=M:g(G,0,8),Fe(new ue(ee),U,G);if(!(V=ee.c))return null;if(H=V.length-1,q=H*c+1,H=V[H]){for(;H%10==0;H/=10,q--);for(H=V[0];H>=10;H/=10,q++);}return U&&ee.e+1>q&&(q=ee.e+1),q},N.shiftedBy=function(U){return g(U,-u,u),this.times("1e"+U)},N.squareRoot=N.sqrt=function(){var U,G,V,q,H,ee=this,ne=ee.c,re=ee.s,X=ee.e,ie=B+4,ce=new ue("0.5");if(re!==1||!ne||!ne[0])return new ue(!re||re<0&&(!ne||ne[0])?NaN:ne?ee:1/0);if(re=Math.sqrt(+_e(ee)),re==0||re==1/0?(G=h(ne),(G.length+X)%2==0&&(G+="0"),re=Math.sqrt(+G),X=m((X+1)/2)-(X<0||X%2),re==1/0?G="5e"+X:(G=re.toExponential(),G=G.slice(0,G.indexOf("e")+1)+X),V=new ue(G)):V=new ue(re+""),V.c[0]){for(X=V.e,re=X+ie,re<3&&(re=0);;)if(H=V,V=ce.times(H.plus(I(ee,H,ie,1))),h(H.c).slice(0,re)===(G=h(V.c)).slice(0,re))if(V.e<X&&--re,G=G.slice(re-3,re+1),G=="9999"||!q&&G=="4999"){if(!q&&(Fe(H,H.e+B+2,0),H.times(H).eq(ee))){V=H;break}ie+=4,re+=4,q=1}else{(!+G||!+G.slice(1)&&G.charAt(0)=="5")&&(Fe(V,V.e+B+2,1),U=!V.times(V).eq(ee));break}}return Fe(V,V.e+B+1,M,U)},N.toExponential=function(U,G){return U!=null&&(g(U,0,f),U++),Ie(this,U,G,1)},N.toFixed=function(U,G){return U!=null&&(g(U,0,f),U=U+this.e+1),Ie(this,U,G)},N.toFormat=function(U,G,V){var q,H=this;if(V==null)U!=null&&G&&typeof G=="object"?(V=G,G=null):U&&typeof U=="object"?(V=U,U=G=null):V=J;else if(typeof V!="object")throw Error(i+"Argument not an object: "+V);if(q=H.toFixed(U,G),H.c){var ee,ne=q.split("."),re=+V.groupSize,X=+V.secondaryGroupSize,ie=V.groupSeparator||"",ce=ne[0],fe=ne[1],Ne=H.s<0,Pe=Ne?ce.slice(1):ce,Ue=Pe.length;if(X&&(ee=re,re=X,X=ee,Ue-=ee),re>0&&Ue>0){for(ee=Ue%re||re,ce=Pe.substr(0,ee);ee<Ue;ee+=re)ce+=ie+Pe.substr(ee,re);X>0&&(ce+=ie+Pe.slice(ee)),Ne&&(ce="-"+ce)}q=fe?ce+(V.decimalSeparator||"")+((X=+V.fractionGroupSize)?fe.replace(new RegExp("\\d{"+X+"}\\B","g"),"$&"+(V.fractionGroupSeparator||"")):fe):ce}return(V.prefix||"")+q+(V.suffix||"")},N.toFraction=function(U){var G,V,q,H,ee,ne,re,X,ie,ce,fe,Ne,Pe=this,Ue=Pe.c;if(U!=null&&(re=new ue(U),!re.isInteger()&&(re.c||re.s!==1)||re.lt(P)))throw Error(i+"Argument "+(re.isInteger()?"out of range: ":"not an integer: ")+_e(re));if(!Ue)return new ue(Pe);for(G=new ue(P),ie=V=new ue(P),q=X=new ue(P),Ne=h(Ue),ee=G.e=Ne.length-Pe.e-1,G.c[0]=l[(ne=ee%c)<0?c+ne:ne],U=!U||re.comparedTo(G)>0?ee>0?G:ie:re,ne=W,W=1/0,re=new ue(Ne),X.c[0]=0;ce=I(re,G,0,1),H=V.plus(ce.times(q)),H.comparedTo(U)!=1;)V=q,q=H,ie=X.plus(ce.times(H=ie)),X=H,G=re.minus(ce.times(H=G)),re=H;return H=I(U.minus(V),q,0,1),X=X.plus(H.times(ie)),V=V.plus(H.times(q)),X.s=ie.s=Pe.s,ee=ee*2,fe=I(ie,q,ee,M).minus(Pe).abs().comparedTo(I(X,V,ee,M).minus(Pe).abs())<1?[ie,q]:[X,V],W=ne,fe},N.toNumber=function(){return+_e(this)},N.toPrecision=function(U,G){return U!=null&&g(U,1,f),Ie(this,U,G,2)},N.toString=function(U){var G,V=this,q=V.s,H=V.e;return H===null?q?(G="Infinity",q<0&&(G="-"+G)):G="NaN":(U==null?G=H<=D||H>=L?y(h(V.c),H):x(h(V.c),H,"0"):U===10&&oe?(V=Fe(new ue(V),B+H+1,M),G=x(h(V.c),V.e,"0")):(g(U,2,se.length,"Base"),G=R(x(h(V.c),H,"0"),10,U,q,!0)),q<0&&V.c[0]&&(G="-"+G)),G},N.valueOf=N.toJSON=function(){return _e(this)},N._isBigNumber=!0,v!=null&&ue.set(v),ue}function m(v){var I=v|0;return v>0||v===I?I:I-1}function h(v){for(var I,R,w=1,N=v.length,P=v[0]+"";w<N;){for(I=v[w++]+"",R=c-I.length;R--;I="0"+I);P+=I}for(N=P.length;P.charCodeAt(--N)===48;);return P.slice(0,N+1||1)}function A(v,I){var R,w,N=v.c,P=I.c,B=v.s,M=I.s,D=v.e,L=I.e;if(!B||!M)return null;if(R=N&&!N[0],w=P&&!P[0],R||w)return R?w?0:-M:B;if(B!=M)return B;if(R=B<0,w=D==L,!N||!P)return w?0:!N^R?1:-1;if(!w)return D>L^R?1:-1;for(M=(D=N.length)<(L=P.length)?D:L,B=0;B<M;B++)if(N[B]!=P[B])return N[B]>P[B]^R?1:-1;return D==L?0:D>L^R?1:-1}function g(v,I,R,w){if(v<I||v>R||v!==s(v))throw Error(i+(w||"Argument")+(typeof v=="number"?v<I||v>R?" out of range: ":" not an integer: ":" not a primitive number: ")+String(v))}function b(v){var I=v.c.length-1;return m(v.e/c)==I&&v.c[I]%2!=0}function y(v,I){return(v.length>1?v.charAt(0)+"."+v.slice(1):v)+(I<0?"e":"e+")+I}function x(v,I,R){var w,N;if(I<0){for(N=R+".";++I;N+=R);v=N+v}else if(w=v.length,++I>w){for(N=R,I-=w;--I;N+=R);v+=N}else I<w&&(v=v.slice(0,I)+"."+v.slice(I));return v}e=p(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Y3<"u"&&Y3.exports?Y3.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(kMe)});var MMe=E((c9r,LMe)=>{var DMe=RK(),BMe=LMe.exports;(function(){"use strict";function t(u){return u<10?"0"+u:u}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,s,i={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function o(u){return r.lastIndex=0,r.test(u)?'"'+u.replace(r,function(l){var d=i[l];return typeof d=="string"?d:"\\u"+("0000"+l.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+u+'"'}function c(u,l){var d,f,p,m,h=n,A,g=l[u],b=g!=null&&(g instanceof DMe||DMe.isBigNumber(g));switch(g&&typeof g=="object"&&typeof g.toJSON=="function"&&(g=g.toJSON(u)),typeof a=="function"&&(g=a.call(l,u,g)),typeof g){case"string":return b?g:o(g);case"number":return isFinite(g)?String(g):"null";case"boolean":case"null":case"bigint":return String(g);case"object":if(!g)return"null";if(n+=s,A=[],Object.prototype.toString.apply(g)==="[object Array]"){for(m=g.length,d=0;d<m;d+=1)A[d]=c(d,g)||"null";return p=A.length===0?"[]":n?`[
|
|
`+n+A.join(`,
|
|
`+n)+`
|
|
`+h+"]":"["+A.join(",")+"]",n=h,p}if(a&&typeof a=="object")for(m=a.length,d=0;d<m;d+=1)typeof a[d]=="string"&&(f=a[d],p=c(f,g),p&&A.push(o(f)+(n?": ":":")+p));else Object.keys(g).forEach(function(y){var x=c(y,g);x&&A.push(o(y)+(n?": ":":")+x)});return p=A.length===0?"{}":n?`{
|
|
`+n+A.join(`,
|
|
`+n)+`
|
|
`+h+"}":"{"+A.join(",")+"}",n=h,p}}typeof BMe.stringify!="function"&&(BMe.stringify=function(u,l,d){var f;if(n="",s="",typeof d=="number")for(f=0;f<d;f+=1)s+=" ";else typeof d=="string"&&(s=d);if(a=l,l&&typeof l!="function"&&(typeof l!="object"||typeof l.length!="number"))throw new Error("JSON.stringify");return c("",{"":u})})})()});var $Me=E((u9r,WMe)=>{var J3=null,rnr=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,nnr=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,snr=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var r,n,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
`,r:"\r",t:" "},i,a=function(h){throw{name:"SyntaxError",message:h,at:r,text:i}},o=function(h){return h&&h!==n&&a("Expected '"+h+"' instead of '"+n+"'"),n=i.charAt(r),r+=1,n},c=function(){var h,A="";for(n==="-"&&(A="-",o("-"));n>="0"&&n<="9";)A+=n,o();if(n===".")for(A+=".";o()&&n>="0"&&n<="9";)A+=n;if(n==="e"||n==="E")for(A+=n,o(),(n==="-"||n==="+")&&(A+=n,o());n>="0"&&n<="9";)A+=n,o();if(h=+A,!isFinite(h))a("Bad number");else return J3==null&&(J3=RK()),A.length>15?e.storeAsString?A:e.useNativeBigInt?BigInt(A):new J3(A):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(h):new J3(h):h},u=function(){var h,A,g="",b;if(n==='"')for(var y=r;o();){if(n==='"')return r-1>y&&(g+=i.substring(y,r-1)),o(),g;if(n==="\\"){if(r-1>y&&(g+=i.substring(y,r-1)),o(),n==="u"){for(b=0,A=0;A<4&&(h=parseInt(o(),16),!!isFinite(h));A+=1)b=b*16+h;g+=String.fromCharCode(b)}else if(typeof s[n]=="string")g+=s[n];else break;y=r}}a("Bad string")},l=function(){for(;n&&n<=" ";)o()},d=function(){switch(n){case"t":return o("t"),o("r"),o("u"),o("e"),!0;case"f":return o("f"),o("a"),o("l"),o("s"),o("e"),!1;case"n":return o("n"),o("u"),o("l"),o("l"),null}a("Unexpected '"+n+"'")},f,p=function(){var h=[];if(n==="["){if(o("["),l(),n==="]")return o("]"),h;for(;n;){if(h.push(f()),l(),n==="]")return o("]"),h;o(","),l()}}a("Bad array")},m=function(){var h,A=Object.create(null);if(n==="{"){if(o("{"),l(),n==="}")return o("}"),A;for(;n;){if(h=u(),l(),o(":"),e.strict===!0&&Object.hasOwnProperty.call(A,h)&&a('Duplicate key "'+h+'"'),rnr.test(h)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?f():A[h]=f():nnr.test(h)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?f():A[h]=f():A[h]=f(),l(),n==="}")return o("}"),A;o(","),l()}}a("Bad object")};return f=function(){switch(l(),n){case"{":return m();case"[":return p();case'"':return u();case"-":return c();default:return n>="0"&&n<="9"?c():d()}},function(h,A){var g;return i=h+"",r=0,n=" ",g=f(),l(),n&&a("Syntax error"),typeof A=="function"?function b(y,x){var v,I,R=y[x];return R&&typeof R=="object"&&Object.keys(R).forEach(function(w){I=b(R,w),I!==void 0?R[w]=I:delete R[w]}),A.call(y,x,R)}({"":g},""):g}};WMe.exports=snr});var qMe=E((l9r,X3)=>{var FMe=MMe().stringify,UMe=$Me();X3.exports=function(t){return{parse:UMe(t),stringify:FMe}};X3.exports.parse=UMe();X3.exports.stringify=FMe});function _5e(t){let e=t.match(/^S(\d+)$/i);if(e)return`S${String(parseInt(e[1])).padStart(2,"0")}`;let r=t.match(/^E(\d+)$/i);return r?`E${String(parseInt(r[1])).padStart(2,"0")}`:t}function S5e(t){return!t||typeof t!="string"?[]:t.split(",").map(e=>{let r=e.trim(),n=r.lastIndexOf(":");if(n===-1)return null;let s=r.substring(0,n),i=r.substring(n+1);if(!s||i==="")return null;let a=parseFloat(i);if(!Number.isFinite(a))return null;let o=!1,c=s.trim();c.endsWith("%")&&(o=!0,c=c.slice(0,-1).trim());let u=c.lastIndexOf("@"),l,d,f;if(u!==-1){l=c.substring(0,u);let g=c.substring(u+1).trim().toLowerCase();if(g==="all"||g==="*")d=null,f=!0;else if(d=g.split("&").map(b=>b.trim()).filter(Boolean),f=!1,d.length===0)return null}else l=c,d=null,f=!1;let p=l.trim().split("/"),m=p[0]||null;if(!m)return null;let h=p[1]?_5e(p[1]):null,A=p[2]?_5e(p[2]):null;return{anime:m,season:h,episode:A,sources:d,all:f,offset:a,usePercent:o}}).filter(Boolean)}function bV(t,{anime:e,season:r,episode:n,source:s}){if(!Array.isArray(t)||t.length===0||!e)return null;let i=new Set;if(s)for(let o of s.split("&")){let c=o.trim().toLowerCase();c&&(i.add(c),E5e[c]&&i.add(E5e[c]))}let a=[{matchSeason:!0,matchEpisode:!0},{matchSeason:!0,matchEpisode:!1},{matchSeason:!1,matchEpisode:!1}];for(let o of a){let c=null,u=null,l=null;for(let d of t)if(d.anime===e){if(o.matchEpisode){if(!d.season||!d.episode||d.season!==r||d.episode!==n)continue}else if(o.matchSeason){if(!d.season||d.episode||d.season!==r)continue}else if(d.season||d.episode)continue;d.sources?i.size>0&&d.sources.some(f=>i.has(f))&&(c=d):d.all?u=d:l=d}if(c!==null)return c;if(u!==null)return u;if(l!==null)return l}return null}function EV(t,e,r={}){let n=Number(e);if(!n||!Array.isArray(t)||t.length===0)return t;let s=r?.usePercent===!0,i=Number(r?.videoDuration||0),a=m=>{if(!m||typeof m!="object")return null;if(typeof m.p=="string"){let h=m.p.split(","),A=parseFloat(h[0]);if(Number.isFinite(A))return A}if(m.t!==void 0&&m.t!==null){let h=Number(m.t);if(Number.isFinite(h))return h}if(m.progress!==void 0&&m.progress!==null){let h=Number(m.progress);if(Number.isFinite(h))return h/1e3}if(m.timepoint!==void 0&&m.timepoint!==null){let h=Number(m.timepoint);if(Number.isFinite(h))return h}return null},o=i>0?i:a(t[t.length-1])||0,c=s&&Number.isFinite(o)&&o>0?(o+n)/o:null;if(s&&c===null)return t;let u=n*1e3,l=m=>Math.max(0,m),d=(m,h=2)=>Number(m.toFixed(h)),f=m=>{let h=l(c!==null?m*c:m+n);return c!==null?d(h,2):h},p=m=>{let h=l(c!==null?m*c:m+u);return c!==null?Math.round(h):h};return t.map(m=>{if(!m||typeof m!="object")return m;let h={...m};if(typeof h.p=="string"){let A=h.p.split(","),g=parseFloat(A[0]);Number.isFinite(g)&&(A[0]=f(g).toFixed(2),h.p=A.join(","))}if(h.t!==void 0&&h.t!==null){let A=Number(h.t);Number.isFinite(A)&&(h.t=f(A))}if(h.progress!==void 0&&h.progress!==null){let A=Number(h.progress);Number.isFinite(A)&&(h.progress=p(A))}if(h.timepoint!==void 0&&h.timepoint!==null){let A=Number(h.timepoint);Number.isFinite(A)&&(h.timepoint=f(A))}return h})}var E5e,_V=lr(()=>{E5e={tencent:"qq",iqiyi:"qiyi",bilibili:"bilibili1"}});var nf,v5e=lr(()=>{_V();nf=class{static env;static originalEnvVars=new Map;static accessedEnvVars=new Map;static VOD_ALLOWED_PLATFORMS=["qiyi","bilibili1","imgo","youku","qq","migu","sohu","leshi","xigua","maiduidui","aiyifan"];static ALLOWED_PLATFORMS=["qiyi","bilibili1","imgo","youku","qq","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko","custom"];static ALLOWED_SOURCES=["360","vod","tmdb","douban","tencent","youku","iqiyi","imgo","bilibili","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko","custom"];static MERGE_ALLOWED_SOURCES=["tencent","youku","iqiyi","imgo","bilibili","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko"];static DEFAULT_AI_MATCH_PROMPT=`\u4F60\u662F\u4E00\u4E2A\u4E13\u4E1A\u7684\u5F71\u89C6\u5339\u914D\u4E13\u5BB6\uFF0C\u4F60\u7684\u7684\u4EFB\u52A1\u662F\u6839\u636E\u7528\u6237\u63D0\u4F9B\u7684 JSON \u6570\u636E\uFF0C\u4ECE\u5019\u9009\u52A8\u6F2B\u5217\u8868\u4E2D\u5339\u914D\u6700\u7B26\u5408\u6761\u4EF6\u7684\u52A8\u6F2B\u53CA\u96C6\u6570\u3002
|
|
|
|
\u8F93\u5165\u5B57\u6BB5\u8BF4\u660E\uFF1A
|
|
- title: \u67E5\u8BE2\u6807\u9898
|
|
- season: \u5B63\u6570\uFF08\u53EF\u4E3A null\uFF09
|
|
- episode: \u96C6\u6570\uFF08\u53EF\u4E3A null\uFF09
|
|
- year: \u5E74\u4EFD\uFF08\u53EF\u4E3A null\uFF09
|
|
- dynamicPlatformOrder: \u5E73\u53F0\u504F\u597D\u5217\u8868\uFF08\u53EF\u4E3A null\uFF09
|
|
- preferAnimeId: \u504F\u597D\u52A8\u6F2B ID\uFF08\u53EF\u4E3A null\uFF09
|
|
- animes: \u5019\u9009\u52A8\u6F2B\u5217\u8868
|
|
- animeId: \u52A8\u6F2Bid
|
|
animeTitle: \u52A8\u6F2B\u6807\u9898\uFF0C(\u5E74\u4EFD)\u524D\u9762\u624D\u662F\u771F\u5B9E\u7684\u6807\u9898
|
|
aliases: \u52A8\u6F2B\u6807\u9898\u7684\u522B\u540D\uFF0C\u89C6\u60C5\u51B5\u53EF\u4EE5\u4F5C\u4E3A(\u52A8\u6F2B\u6807\u9898)\u770B\u5F85
|
|
type: \u7C7B\u578B
|
|
startDate: \u53D1\u5E03\u65E5\u671F\uFF0C\u6709\u5E74\u4EFD
|
|
episodeCount: \u603B\u96C6\u6570
|
|
source: \u5F39\u5E55\u6765\u6E90
|
|
|
|
\u5339\u914D\u89C4\u5219 (\u6309\u4F18\u5148\u7EA7\u6392\u5E8F):
|
|
1. \u5982\u679CpreferAnimeId\u975E\u7A7A\uFF0C\u4E14animes\u5B58\u5728\u8BE5animeId\uFF0C\u5219\u8FD4\u56DE\u8BE5id\u5BF9\u5E94\u7684anime\u548Cepisode
|
|
2. \u6807\u9898\u76F8\u4F3C\u5EA6: \u4F18\u5148\u5339\u914D\u6807\u9898\u76F8\u4F3C\u5EA6\u6700\u9AD8\u7684\u6761\u76EE
|
|
3. \u5B63\u5EA6\u4E25\u683C\u5339\u914D: \u5982\u679C\u6307\u5B9A\u4E86\u5B63\u5EA6,\u5FC5\u987B\u4E25\u683C\u5339\u914D
|
|
4. \u7C7B\u578B\u5339\u914D: episode\u4E3A\u7A7A\u5219\u4F18\u5148\u5339\u914D\u7535\u5F71\uFF0C\u975E\u7A7A\u5219\u5339\u914D\u7535\u89C6\u5267\u7B49
|
|
5. \u5E74\u4EFD\u63A5\u8FD1: \u4F18\u5148\u9009\u62E9\u5E74\u4EFD\u63A5\u8FD1\u7684
|
|
6. \u5E73\u53F0\u5339\u914D\uFF1A\u5982\u679C\u6709\u591A\u4E2A\u9AD8\u5EA6\u76F8\u4F3C\u7684\u7ED3\u679C\u4E14dynamicPlatformOrder\u975E\u7A7A\uFF0C\u5219\u4ECE\u524D\u5F80\u540E\u9009\u62E9\u76F8\u5BF9\u5E94\u7684\u5E73\u53F0
|
|
7. \u96C6\u6570\u5B8C\u6574: \u5982\u679C\u6709\u591A\u4E2A\u9AD8\u5EA6\u76F8\u4F3C\u7684\u7ED3\u679C,\u9009\u62E9\u96C6\u6570\u6700\u5B8C\u6574\u7684
|
|
|
|
\u8BF7\u5206\u6790\u54EA\u4E2A\u52A8\u6F2B\u6700\u7B26\u5408\u67E5\u8BE2\u6761\u4EF6\uFF0C\u5982\u679C\u6307\u5B9A\u4E86\u5B63\u6570\u548C\u96C6\u6570\uFF0C\u8BF7\u4E5F\u8FD4\u56DE\u5BF9\u5E94\u7684\u96C6\u4FE1\u606F\u3002
|
|
\u8BF7\u4E25\u683C\u6309\u7167\u4EE5\u4E0B JSON \u683C\u5F0F\u8FD4\u56DE\u7ED3\u679C\uFF0C\u4E0D\u8981\u5305\u542B\u4EFB\u4F55\u5176\u4ED6\u5185\u5BB9\uFF1A
|
|
{
|
|
"animeIndex": \u5339\u914D\u7684\u52A8\u6F2B\u5728\u5217\u8868\u4E2D\u7684\u7D22\u5F15(\u4ECE0\u5F00\u59CB) \u6216 null
|
|
}
|
|
|
|
\u5982\u679C\u6CA1\u6709\u627E\u5230\u5408\u9002\u7684\u5339\u914D\uFF0C\u8FD4\u56DE\uFF1A
|
|
{
|
|
"animeIndex": null
|
|
}`;static get(e,r,n="string",s=!1){let i;typeof this.env<"u"&&this.env[e]?(i=this.env[e],this.originalEnvVars.set(e,i)):typeof process<"u"&&process.env?.[e]?(i=process.env[e],this.originalEnvVars.set(e,i)):(i=r,this.originalEnvVars.set(e,""));let a;switch(n){case"number":if(a=Number(i),isNaN(a))throw new Error(`Environment variable ${e} must be a valid number`);break;case"boolean":a=i===!0||i==="true"||i===1||i==="1";break;case"string":default:a=String(i);break}let o=s?this.encryptStr(a):a;return this.accessedEnvVars.set(e,o),a}static set(e,r){typeof process<"u"&&(process.env[e]=String(r)),this.accessedEnvVars.set(e,r)}static encryptStr(e){return"*".repeat(e.length)}static resolveVodServers(){let r=this.get("VOD_SERVERS","\u91D1\u8749@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,\u542C\u98CE@https://gctf.tfdh.top","string");return!r||r.trim()===""?[]:r.split(",").map(n=>n.trim()).filter(n=>n.length>0).map((n,s)=>{if(n.includes("@")){let[i,a]=n.split("@").map(o=>o.trim());return{name:i||`vod-${s+1}`,url:a}}return{name:`vod-${s+1}`,url:n}}).filter(n=>n.url&&n.url.length>0)}static resolveSourceOrder(){let r=this.get("SOURCE_ORDER","douban,360,renren,hanjutv","string").split(",").map(n=>n.trim()).filter(n=>this.ALLOWED_SOURCES.includes(n));return this.accessedEnvVars.set("SOURCE_ORDER",r),r.length>0?r:["douban","360","renren","hanjutv"]}static resolvePlatformOrder(){let r=this.get("PLATFORM_ORDER","","string").split(",").map(n=>n.trim()).filter(n=>n?n.includes("&")?n.split("&").map(i=>i.trim()).every(i=>this.ALLOWED_PLATFORMS.includes(i)):this.ALLOWED_PLATFORMS.includes(n):!1);return this.accessedEnvVars.set("PLATFORM_ORDER",r),r.length>0?[...r,null]:[null]}static resolveMergeSourcePairs(){let e=this.get("MERGE_SOURCE_PAIRS","","string");return e?e.split(/[,;]/).map(r=>{if(!r)return null;let n=r.split("&").map(o=>o.trim()).filter(o=>o);if(n.length<1)return null;let s=n[0],i=n.slice(1);if(!this.MERGE_ALLOWED_SOURCES.includes(s))return null;let a=i.filter(o=>o!==s&&this.MERGE_ALLOWED_SOURCES.includes(o));return{primary:s,secondaries:a}}).filter(Boolean):[]}static resolveCustomMergeRules(){let e=this.get("CUSTOM_MERGE_RULES","","string").trim();if(!e)return[];let r=[],n=e.split(";");for(let s of n)if(s.trim())try{let i=s.split("|"),a=i[0],o=i[1]||"",c,u,l="merge";if(a.includes("->"))[c,u]=a.split("->").map(A=>A.trim());else if(a.includes("\xD7"))[c,u]=a.split("\xD7").map(A=>A.trim()),l="block";else continue;if(!c||!u)continue;let d=A=>{let g=A.match(/^(.+?)(?:\/S(\d+))?@([a-zA-Z0-9_&]+)$/i);return g?{title:g[1].trim(),season:g[2]?parseInt(g[2],10):null,source:g[3].toLowerCase()}:null},f=d(c),p=d(u);if(!f||!p)continue;let m=[],h=!1;if(l==="merge"&&o.trim()){h=!0;let A=o.split(",");for(let g of A){if(!g.trim())continue;let[b,y]=g.split(">").map(R=>R.trim());if(!b||!y)continue;let x=R=>{let w=R.match(/^E(\d+)(?:~E(\d+))?$/i);return w?{start:parseInt(w[1],10),end:w[2]?parseInt(w[2],10):parseInt(w[1],10)}:null},v=x(b),I=x(y);v&&I&&m.push({sec:v,prim:I})}}r.push({action:l,secondary:f,primary:p,routes:m,hasRoutes:h})}catch(i){console.warn(`[Envs] \u89E3\u6790\u5408\u5E76\u6620\u5C04\u8868\u89C4\u5219\u5931\u8D25: ${s}`,i)}return this.accessedEnvVars.set("CUSTOM_MERGE_RULES",e),r}static resolveEpisodeTitleFilter(){let e="(\u7279\u522B|\u60CA\u559C|\u7EB3\u51C9)?\u4F01\u5212(?!(\u4E66|\u6848|\u90E8))|\u5408\u4F19\u4EBA\u624B\u8BB0|\u8D85\u524D(\u8425\u4E1A|vlog)?|\u901F\u89C8|vlog|(?<!(Chain|Chemical|Nuclear|\u8FDE\u9501|\u5316\u5B66|\u6838|\u751F\u5316|\u751F\u7406|\u5E94\u6FC0))reaction|(?<!(\u5355))\u7EAF\u4EAB|\u52A0\u66F4(\u7248|\u7BC7)?|\u62A2\u5148(\u770B|\u7248|\u96C6|\u7BC7)?|(?<!(\u88AB|\u4E89|\u8C01))\u62A2[\u5148\u9C9C](?!(\u4E00\u6B65|\u624B|\u653B|\u4E86|\u544A|\u8A00|\u673A|\u8BDD))|\u62A2\u9C9C|\u9884\u544A(?!(\u51FD|\u4FE1|\u4E66|\u72AF))|(?<!(\u6B7B\u4EA1|\u6050\u6016|\u7075\u5F02|\u602A\u8C08))\u82B1\u7D6E(\u72EC\u5BB6)?|(?<!(\u4E00|\u76F4))\u76F4\u62CD|(\u5236\u4F5C|\u62CD\u6444|\u5E55\u540E|\u82B1\u7D6E|\u672A\u64AD|\u72EC\u5BB6|\u6F14\u5458|\u5BFC\u6F14|\u4E3B\u521B|\u6740\u9752|\u63A2\u73ED|\u6536\u5B98|\u5F00\u64AD|\u5148\u5BFC|\u5F69\u86CB|NG|\u56DE\u987E|\u9AD8\u5149|\u4E2A\u4EBA|\u4E3B\u521B)\u7279\u8F91|(?<!(\u884C\u52A8|\u8BA1\u5212|\u6E38\u620F|\u4EFB\u52A1|\u5371\u673A|\u795E\u79D8|\u9EC4\u91D1))\u5F69\u86CB|(?<!(\u5ACC\u7591\u4EBA|\u8BC1\u4EBA|\u5BB6\u5C5E|\u5F8B\u5E08|\u8B66\u65B9|\u51F6\u624B|\u6B7B\u8005))\u4E13\u8BBF|(?<!(\u8BC1\u4EBA))\u91C7\u8BBF(?!(\u5438\u8840\u9B3C|\u9B3C))|(\u6B63\u5F0F|\u89D2\u8272|\u5148\u5BFC|\u6982\u5FF5|\u9996\u66DD|\u5B9A\u6863|\u5267\u60C5|\u52A8\u753B|\u5BA3\u4F20|\u4E3B\u9898\u66F2|\u5370\u8C61)[\\s\\.]*[Pp\uFF30\uFF50][Vv\uFF36\uFF56]|(?<!(\u9E26|\u96EA|\u7EB8|\u76F8|\u7167|\u56FE|\u540D|\u5927))\u7247\u82B1|(?<!(\u9000\u5C45|\u56DE\u5F52|\u8D70\u5411|\u8F6C\u6218|\u9690\u8EAB|\u85CF\u8EAB|\u7684))\u5E55\u540E(?!(\u4E3B\u8C0B|\u4E3B\u4F7F|\u9ED1\u624B|\u771F\u51F6|\u73A9\u5BB6|\u8001\u677F|\u91D1\u4E3B|\u82F1\u96C4|\u529F\u81E3|\u63A8\u624B|\u5927\u4F6C|\u64CD\u7EB5|\u4EA4\u6613|\u7B56\u5212|\u535A\u5F08|BOSS|\u771F\u76F8))(\u6545\u4E8B|\u82B1\u7D6E|\u72EC\u5BB6)?|\u884D\u751F(?!(\u54C1|\u7269|\u517D))|\u756A\u5916(?!(\u5730|\u4EBA))|\u76F4\u64AD(\u966A\u770B|\u56DE\u987E)?|\u76F4\u64AD(?!(.*(\u4E8B\u4EF6|\u6740\u4EBA|\u81EA\u6740|\u8C0B\u6740|\u72AF\u7F6A|\u73B0\u573A|\u6E38\u620F|\u6311\u6218)))|\u672A\u64AD(\u7247\u6BB5)?|\u4F1A\u5458(\u4E13\u4EAB|\u52A0\u957F|\u5C0A\u4EAB|\u4E13\u5C5E|\u7248)?|(?<!(\u63D0\u53D6|\u5438\u6536|\u751F\u547D|\u9B54\u6CD5|\u4FEE\u62A4|\u7F8E\u767D))\u7CBE\u534E|\u770B\u70B9|\u901F\u770B|\u89E3\u8BFB(?!.*(\u5BC6\u6587|\u5BC6\u7801|\u5BC6\u7535|\u7535\u62A5|\u6863\u6848|\u4E66\u4FE1|\u9057\u4E66|\u7891\u6587|\u4EE3\u7801|\u4FE1\u53F7|\u6697\u53F7|\u8BAF\u606F|\u8C1C\u9898|\u4EBA\u5FC3|\u5507\u8BED|\u771F\u76F8|\u8C1C\u56E2|\u68A6\u5883))|(?<!(\u6848\u60C5|\u4EBA\u751F|\u6B7B\u524D|\u5386\u53F2|\u4E16\u7EAA))\u56DE\u987E|\u5F71\u8BC4|\u89E3\u8BF4|\u5410\u69FD|(?<!(\u5E74\u7EC8|\u5B63\u5EA6|\u5E93\u5B58|\u8D44\u4EA7|\u7269\u8D44|\u8D22\u52A1|\u6536\u83B7|\u6218\u5229))\u76D8\u70B9|\u62CD\u6444\u82B1\u7D6E|\u5236\u4F5C\u82B1\u7D6E|\u5E55\u540E\u82B1\u7D6E|\u672A\u64AD\u82B1\u7D6E|\u72EC\u5BB6\u82B1\u7D6E|\u82B1\u7D6E\u7279\u8F91|\u5148\u5BFC\u9884\u544A|\u7EC8\u6781\u9884\u544A|\u6B63\u5F0F\u9884\u544A|\u5B98\u65B9\u9884\u544A|\u5F69\u86CB\u7247\u6BB5|\u5220\u51CF\u7247\u6BB5|\u672A\u64AD\u7247\u6BB5|\u756A\u5916\u5F69\u86CB|\u7CBE\u5F69\u7247\u6BB5|\u7CBE\u5F69\u770B\u70B9|\u7CBE\u5F69\u96C6\u9526|\u770B\u70B9\u89E3\u6790|\u770B\u70B9\u9884\u544A|NG\u955C\u5934|NG\u82B1\u7D6E|\u756A\u5916\u7BC7|\u756A\u5916\u7279\u8F91|\u5236\u4F5C\u7279\u8F91|\u62CD\u6444\u7279\u8F91|\u5E55\u540E\u7279\u8F91|\u5BFC\u6F14\u7279\u8F91|\u6F14\u5458\u7279\u8F91|\u7247\u5C3E\u66F2|(?<!(\u751F\u547D|\u751F\u6D3B|\u60C5\u611F|\u7231\u60C5|\u4E00\u6BB5|\u5C0F|\u610F\u5916))\u63D2\u66F2|\u9AD8\u5149\u56DE\u987E|\u80CC\u666F\u97F3\u4E50|OST|\u97F3\u4E50MV|\u6B4C\u66F2MV|\u524D\u5B63\u56DE\u987E|\u5267\u60C5\u56DE\u987E|\u5F80\u671F\u56DE\u987E|\u5185\u5BB9\u603B\u7ED3|\u5267\u60C5\u76D8\u70B9|\u7CBE\u9009\u5408\u96C6|\u526A\u8F91\u5408\u96C6|\u6DF7\u526A\u89C6\u9891|\u72EC\u5BB6\u4E13\u8BBF|\u6F14\u5458\u8BBF\u8C08|\u5BFC\u6F14\u8BBF\u8C08|\u4E3B\u521B\u8BBF\u8C08|\u5A92\u4F53\u91C7\u8BBF|\u53D1\u5E03\u4F1A\u91C7\u8BBF|\u966A\u770B(\u8BB0)?|\u8BD5\u770B\u7248|\u77ED\u5267|\u7CBE\u7F16|(?<!(Love|Disney|One|C|Note|S\\d+|\\+|&|\\s))Plus|\u72EC\u5BB6\u7248|(?<!(\u5BFC\u6F14|\u52A0\u957F|\u5468\u5E74))\u7279\u522B\u7248(?!(\u56FE|\u753B))|\u77ED\u7247|(?<!(\u65B0\u95FB|\u7D27\u6025|\u4E34\u65F6|\u53EC\u5F00|\u7834\u574F|\u5927\u95F9|\u6F84\u6E05|\u9053\u6B49|\u65B0\u54C1|\u4EA7\u54C1|\u4E8B\u6545))\u53D1\u5E03\u4F1A|\u89E3\u5FE7\u5C40|\u8D70\u5FC3\u5C40|\u706B\u9505\u5C40|\u5DC5\u5CF0\u65F6\u523B|\u575E\u91CC\u90FD\u77E5\u9053|\u798F\u6301\u76EE\u6807\u575E\u6C11|\u798F\u5229(?!(\u9662|\u4F1A|\u4E3B\u4E49|\u8BFE))\u7BC7|(\u798F\u5229|\u52A0\u66F4|\u756A\u5916|\u5F69\u86CB|\u884D\u751F|\u7279\u522B|\u6536\u5B98|\u6E38\u620F|\u6574\u86CA|\u65E5\u5E38)\u7BC7|\u72EC\u5BB6(?!(\u8BB0\u5FC6|\u8BD5\u7231|\u62A5\u9053|\u79D8\u65B9|\u5360\u6709|\u5BA0\u7231|\u6069\u5BA0))|.{2,}(?<!(\u5E02|\u5206|\u8B66|\u603B|\u7701|\u536B|\u836F|\u653F|\u76D1|\u7ED3|\u5927|\u5F00|\u7834|\u5E03|\u50F5|\u56F0|\u9A97|\u8D4C|\u80DC|\u8D25|\u5B9A|\u4E71|\u5371|\u8FF7|\u8C1C|\u5165|\u6405|\u8BBE|\u4E2D|\u6B8B|\u5E73|\u548C|\u7EC8|\u53D8|\u5BF9|\u5B89|\u505A|\u4E66|\u753B|\u5BDF|\u52A1|\u6848|\u901A|\u4FE1|\u80B2|\u5546|\u8C61|\u6E90|\u4E1A|\u51B0))\u5C40(?!(\u957F|\u5EA7|\u52BF|\u9762|\u90E8|\u5185|\u5916|\u4E2D|\u9650|\u4FC3|\u6C14))|(?<!(\u91CD\u75C7|\u9694\u79BB|\u5B9E\u9A8C|\u5FC3\u7406|\u5BA1\u8BAF|\u5355\u5411|\u672F\u540E))\u89C2\u5BDF\u5BA4|\u4E0A\u73ED\u90A3\u70B9\u4E8B\u513F|\u5468top|\u8D5B\u6BB5|VLOG|(?<!(\u5927\u6848|\u8981\u6848|\u5211\u4FA6|\u4FA6\u67E5|\u7834\u6848|\u6863\u6848|\u98CE\u4E91|\u5386\u53F2|\u6218\u4E89|\u63A2\u6848|\u81EA\u7136|\u4EBA\u6587|\u79D1\u5B66|\u533B\u5B66|\u5730\u7406|\u5B87\u5B99|\u8D5B\u4E8B|\u4E16\u754C\u676F|\u5965\u8FD0))\u5168\u7EAA\u5F55|\u5F00\u64AD|\u5148\u5BFC|\u603B\u5BA3|\u5C55\u6F14|\u96C6\u9526|\u65C5\u884C\u65E5\u8BB0|\u7CBE\u5F69\u5206\u4EAB|\u5267\u60C5\u63ED\u79D8(?!(\u8005|\u4EBA))|(?:^|\u3011\\s*|\\]\\s*)(?:[SC]|SP|OP|ED|PV)\\d+(?:[\\s:\uFF1A\\.\\-]|$)",n=this.get("EPISODE_TITLE_FILTER","","string",!1).trim()||e;this.accessedEnvVars.set("EPISODE_TITLE_FILTER",n);try{return new RegExp(`^(.*?)(?:${n})(.*?)$`,"i")}catch{return console.warn("Invalid EPISODE_TITLE_FILTER format, using default."),new RegExp(`^(.*?)(?:${e})(.*?)$`,"i")}}static resolveIpBlacklist(){let e=this.get("IP_BLACKLIST","","string",!1).trim();if(!e)return this.accessedEnvVars.set("IP_BLACKLIST",[]),[];let r=e.split(/[\n,;]+/).map(s=>s.trim()).filter(Boolean),n=[];for(let s of r)try{if(s.startsWith("/")&&s.lastIndexOf("/")>0){let a=s.lastIndexOf("/"),o=s.slice(1,a),c=s.slice(a+1);n.push({type:"regex",value:new RegExp(o,c)});continue}if(s.includes("/")){let[a,o]=s.split("/").map(d=>d.trim()),c=Number(o),u=this.isValidIpv4(a),l=this.isValidIpv6(a);if(Number.isInteger(c)){if(u&&c>=0&&c<=32){n.push({type:"cidr",ip:a,prefix:c});continue}if(l&&c>=0&&c<=128){n.push({type:"cidr",ip:a,prefix:c});continue}}}if(this.isValidIpv4(s)||this.isValidIpv6(s)){n.push({type:"exact",value:s});continue}let i=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");n.push({type:"regex",value:new RegExp(`^${i}$`)})}catch{console.warn(`Invalid IP_BLACKLIST entry: ${s}, skipped.`)}return this.accessedEnvVars.set("IP_BLACKLIST",r),n}static isValidIpv4(e){if(!e||typeof e!="string")return!1;let r=e.split(".");return r.length!==4?!1:r.every(n=>{if(!/^(\d{1,3})$/.test(n))return!1;let s=Number(n);return s>=0&&s<=255})}static isValidIpv6(e){if(!e||typeof e!="string")return!1;let r=e.trim();if(!r.includes(":"))return!1;let[n,s]=r.split("::");if(r.split("::").length>2)return!1;let i=n?n.split(":").filter(Boolean):[],a=s?s.split(":").filter(Boolean):[],o=d=>{if(d.length===0)return d;let f=d[d.length-1];if(!f.includes("."))return d;if(!this.isValidIpv4(f))return null;let p=f.split(".").map(A=>Number(A)),m=(p[0]<<8|p[1]).toString(16),h=(p[2]<<8|p[3]).toString(16);return[...d.slice(0,-1),m,h]},c=o(i);if(!c||(a=o(a),!a)||c.length+a.length>8)return!1;let l=d=>/^[0-9a-fA-F]{1,4}$/.test(d);return!(!c.every(l)||!a.every(l))}static resolveAnimeTitleFilter(){let e=this.get("ANIME_TITLE_FILTER","","string",!1).trim();if(!e)return this.accessedEnvVars.set("ANIME_TITLE_FILTER",""),null;this.accessedEnvVars.set("ANIME_TITLE_FILTER",e);try{return new RegExp(`^(.*?)(?:${e})(.*?)$`,"i")}catch{return console.warn("Invalid ANIME_TITLE_FILTER format, returning null."),null}}static getOriginalEnvVars(){return this.originalEnvVars}static resolveTitleMappingTable(){let e=this.get("TITLE_MAPPING_TABLE","","string").trim(),r=new Map;if(!e)return r;let n=e.split(";");for(let s of n)if(s.includes("->")){let[i,a]=s.split("->").map(o=>o.trim());i&&a&&r.set(i,a)}return r}static getAccessedEnvVars(){return this.accessedEnvVars}static load(e={}){this.env=e;let r={TOKEN:{category:"api",type:"text",description:"API\u8BBF\u95EE\u4EE4\u724C"},ADMIN_TOKEN:{category:"api",type:"text",description:"\u7CFB\u7EDF\u7BA1\u7406\u8BBF\u95EE\u4EE4\u724C"},RATE_LIMIT_MAX_REQUESTS:{category:"api",type:"number",description:"\u9650\u6D41\u914D\u7F6E\uFF1A1\u5206\u949F\u5185\u6700\u5927\u8BF7\u6C42\u6B21\u6570\uFF0C0\u8868\u793A\u4E0D\u9650\u6D41\uFF0C\u9ED8\u8BA43",min:0,max:50},SOURCE_ORDER:{category:"source",type:"multi-select",options:this.ALLOWED_SOURCES,description:"\u6E90\u6392\u5E8F\u914D\u7F6E\uFF0C\u9ED8\u8BA4douban,360,renren,hanjutv"},MERGE_SOURCE_PAIRS:{category:"source",type:"multi-select",options:this.MERGE_ALLOWED_SOURCES,description:`\u6E90\u5408\u5E76\u914D\u7F6E\uFF0C\u914D\u7F6E\u540E\u5C06\u5BF9\u5E94\u6E90\u5408\u5E76\u540C\u65F6\u4E00\u8D77\u83B7\u53D6\u5F39\u5E55\u8FD4\u56DE\uFF0C\u5141\u8BB8\u591A\u7EC4\uFF0C\u5141\u8BB8\u591A\u6E90\uFF0C\u5141\u8BB8\u586B\u5355\u6E90\u8868\u793A\u4FDD\u7559\u539F\u7ED3\u679C\uFF0C\u4E00\u7EC4\u4E2D\u7B2C\u4E00\u4E2A\u4E3A\u4E3B\u6E90\u5176\u4F59\u4E3A\u526F\u6E90\uFF0C\u526F\u6E90\u5F80\u4E3B\u6E90\u5408\u5E76\uFF0C\u4E3B\u6E90\u5982\u679C\u6CA1\u6709\u7ED3\u679C\u4F1A\u8F6E\u66FF\u4E0B\u4E00\u4E2A\u4F5C\u4E3A\u4E3B\u6E90\u3002
|
|
\u683C\u5F0F\uFF1A\u6E901&\u6E902&\u6E903 \uFF0C\u591A\u7EC4\u7528\u9017\u53F7\u5206\u9694\u3002
|
|
\u793A\u4F8B\uFF1Adandan&animeko&bahamut,bilibili&animeko,dandan`},CUSTOM_MERGE_RULES:{category:"source",type:"text",sources:this.MERGE_ALLOWED_SOURCES,description:`\u5408\u5E76\u6620\u5C04\u8868\uFF0C\u7528\u4E8E\u81EA\u5B9A\u4E49\u6E90\u5408\u5E76\u884C\u4E3A\u3002
|
|
\u683C\u5F0F1(\u5408\u5E76)\uFF1A\u526F\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90 -> \u4E3B\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90 | E\u526F\u6E90\u96C6\u6570>E\u4E3B\u6E90\u96C6\u6570
|
|
\u683C\u5F0F2(\u963B\u65AD)\uFF1A\u526F\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90 \xD7 \u4E3B\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90
|
|
\u8BF4\u660E\uFF1A[/S\u5B63\u6570] \u4E0E [|\u8DEF\u7531\u89C4\u5219] \u4E3A\u53EF\u9009\u9879\uFF0C\u7559\u7A7A\u5219\u4EA4\u7531\u7A0B\u5E8F\u5224\u65AD\u3002\u591A\u4E2A\u89C4\u5219\u7528\u5206\u53F7\u9694\u5F00\uFF0C\u591A\u6BB5\u8DEF\u7531\u7528\u9017\u53F7\u5206\u9694\u3002
|
|
\u793A\u4F8B\uFF1A
|
|
1. \u5E38\u89C4\u5408\u5E76\uFF1A\u5929\u6C14\u4E4B\u5B50@bilibili -> \u5929\u6C14\u4E4B\u5B50@dandan
|
|
2. \u591A\u96C6\u8DEF\u7531\uFF1A\u6211\u63A8\u7684\u5B69\u5B50/S01@bahamut -> \u6211\u63A8\u7684\u5B69\u5B50/S03@dandan | E25~E35>E25~E35
|
|
3. \u963B\u65AD\u5408\u5E76\uFF1A\u8F89\u591C\u5927\u5C0F\u59D0\u60F3\u8BA9\u6211\u544A\u767D\uFF1F\uFF5E\u5929\u624D\u4EEC\u7684\u604B\u7231\u5934\u8111\u6218\uFF5E(2020)@bilibili \xD7 \u8F89\u591C\u5927\u5C0F\u59D0\u60F3\u8BA9\u6211\u544A\u767D\uFF5E\u5929\u624D\u4EEC\u7684\u604B\u7231\u5934\u8111\u6218\uFF5E OVA(2021)\u3010OVA\u3011@dandan`},OTHER_SERVER:{category:"source",type:"text",description:"\u7B2C\u4E09\u65B9\u5F39\u5E55\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4https://api.danmu.icu"},CUSTOM_SOURCE_API_URL:{category:"source",type:"text",description:"\u81EA\u5B9A\u4E49\u5F39\u5E55\u6E90API\u5730\u5740\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\uFF0C\u914D\u7F6E\u540E\u8FD8\u9700\u5728SOURCE_ORDER\u6DFB\u52A0custom\u6E90"},VOD_SERVERS:{category:"source",type:"text",description:"VOD\u7AD9\u70B9\u914D\u7F6E\uFF0C\u683C\u5F0F\uFF1A\u540D\u79F0@URL,\u540D\u79F0@URL\uFF0C\u9ED8\u8BA4\u91D1\u8749@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,\u542C\u98CE@https://gctf.tfdh.top"},VOD_RETURN_MODE:{category:"source",type:"select",options:["all","fastest"],description:"VOD\u8FD4\u56DE\u6A21\u5F0F\uFF1Aall\uFF08\u6240\u6709\u7AD9\u70B9\uFF09\u6216 fastest\uFF08\u6700\u5FEB\u7684\u7AD9\u70B9\uFF09\uFF0C\u9ED8\u8BA4fastest"},VOD_REQUEST_TIMEOUT:{category:"source",type:"number",description:"VOD\u8BF7\u6C42\u8D85\u65F6\u65F6\u95F4\uFF0C\u9ED8\u8BA410000",min:5e3,max:3e4},BILIBILI_COOKIE:{category:"source",type:"text",description:"B\u7AD9Cookie"},DOUBAN_COOKIE:{category:"source",type:"text",description:"\u8C46\u74E3Cookie"},YOUKU_CONCURRENCY:{category:"source",type:"number",description:"\u4F18\u9177\u5E76\u53D1\u914D\u7F6E\uFF0C\u9ED8\u8BA48",min:1,max:16},PLATFORM_ORDER:{category:"match",type:"multi-select",options:this.ALLOWED_PLATFORMS,description:`\u5E73\u53F0\u6392\u5E8F\u914D\u7F6E\uFF0C\u53EF\u4EE5\u914D\u7F6E\u81EA\u52A8\u5339\u914D\u65F6\u7684\u4F18\u9009\u5E73\u53F0\u3002
|
|
\u5F53\u914D\u7F6E\u5408\u5E76\u5E73\u53F0\u7684\u65F6\u5019\uFF0C\u53EF\u4EE5\u6307\u5B9A\u671F\u671B\u7684\u5408\u5E76\u6E90\uFF0C
|
|
\u793A\u4F8B\uFF1A\u4E00\u4E2A\u7ED3\u679C\u8FD4\u56DE\u4E86"dandan&bilibili1&animeko"\u548C"youku"\u65F6\uFF0C
|
|
\u5F53\u914D\u7F6E"youku"\u65F6\u8FD4\u56DE"youku"
|
|
\u5F53\u914D\u7F6E"dandan&animeko"\u65F6\u8FD4\u56DE"dandan&bilibili1&animeko"`},ANIME_TITLE_FILTER:{category:"match",type:"text",description:"\u5267\u540D\u8FC7\u6EE4\u89C4\u5219"},EPISODE_TITLE_FILTER:{category:"match",type:"text",description:"\u5267\u96C6\u6807\u9898\u8FC7\u6EE4\u89C4\u5219"},ENABLE_ANIME_EPISODE_FILTER:{category:"match",type:"boolean",description:"\u63A7\u5236\u624B\u52A8\u641C\u7D22\u7684\u65F6\u5019\u662F\u5426\u6839\u636EANIME_TITLE_FILTER\u8FDB\u884C\u5267\u540D\u8FC7\u6EE4\u4EE5\u53CA\u6839\u636EEPISODE_TITLE_FILTER\u8FDB\u884C\u96C6\u6807\u9898\u8FC7\u6EE4"},STRICT_TITLE_MATCH:{category:"match",type:"boolean",description:"\u4E25\u683C\u6807\u9898\u5339\u914D\u6A21\u5F0F"},TITLE_TO_CHINESE:{category:"match",type:"boolean",description:"\u5916\u8BED\u6807\u9898\u8F6C\u6362\u4E2D\u6587\u5F00\u5173"},ANIME_TITLE_SIMPLIFIED:{category:"match",type:"boolean",description:"\u641C\u7D22\u7684\u5267\u540D\u6807\u9898\u81EA\u52A8\u7E41\u8F6C\u7B80"},TITLE_MAPPING_TABLE:{category:"match",type:"map",description:'\u5267\u540D\u6620\u5C04\u8868\uFF0C\u7528\u4E8E\u81EA\u52A8\u5339\u914D\u65F6\u66FF\u6362\u6807\u9898\u8FDB\u884C\u641C\u7D22\uFF0C\u683C\u5F0F\uFF1A\u539F\u59CB\u6807\u9898->\u6620\u5C04\u6807\u9898;\u539F\u59CB\u6807\u9898->\u6620\u5C04\u6807\u9898;... \uFF0C\u4F8B\u5982\uFF1A"\u5510\u671D\u8BE1\u4E8B\u5F55->\u5510\u671D\u8BE1\u4E8B\u5F55\u4E4B\u897F\u884C;\u56FD\u8272\u82B3\u534E->\u9526\u7EE3\u82B3\u534E"'},AI_BASE_URL:{category:"match",type:"text",description:"AI\u670D\u52A1\u57FA\u7840URL\uFF0C\u4E0D\u586B\u9ED8\u8BA4\u4E3Ahttps://api.openai.com/v1"},AI_MODEL:{category:"match",type:"text",description:"AI\u6A21\u578B\u540D\u79F0\uFF0C\u4E0D\u586B\u9ED8\u8BA4\u4E3Agpt-4o"},AI_API_KEY:{category:"match",type:"text",description:"AI\u670D\u52A1API\u5BC6\u94A5\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\uFF0C\u9700\u624B\u52A8\u586B\u5199"},AI_MATCH_PROMPT:{category:"match",type:"text",description:"AI\u81EA\u52A8\u5339\u914D\u63D0\u793A\u8BCD\u6A21\u677F\uFF0C\u4E0D\u586B\u63D0\u4F9B\u9ED8\u8BA4\u63D0\u793A\u8BCD\uFF0C\u9ED8\u8BA4\u63D0\u793A\u8BCD\u8BF7\u67E5\u770BREADME"},USE_BANGUMI_DATA:{category:"match",type:"boolean",description:`Bangumi Data \u52A0\u901F\u5339\u914D\u5F00\u5173\uFF0C\u5F00\u542F\u540E\u5C06\u52A8\u753B\u5143\u6570\u636E\u7F13\u5B58\u81F3\u672C\u5730\u6216\u5185\u5B58\u4E2D\u7ED9\u6E90\u8C03\u7528\uFF0C\u63D0\u5347\u52A8\u753B\u6E90\u7684\u68C0\u7D22\u4E0E\u5339\u914D\u901F\u5EA6\u5E76\u89E3\u9501\u9690\u85CF/\u533A\u57DF\u756A\u5267\u3002
|
|
\u672C\u5730\u548CDocker\u90E8\u7F72\u4F7F\u7528\u65F6\u8BF7\u5148\u6302\u8F7D.cache\u76EE\u5F55\u83B7\u5F97\u6700\u4F73\u4F53\u9A8C\uFF0C\u4E91\u90E8\u7F72\u4F7F\u7528\u65F6\u4F1A\u5C06\u6570\u636E\u7F13\u5B58\u81F3\u4E34\u65F6\u5185\u5B58\u4E2D\u5982\u679C\u4F53\u9A8C\u4E0D\u4F73\u8BF7\u5173\u95ED\u3002`},BLOCKED_WORDS:{category:"danmu",type:"text",description:"\u5C4F\u853D\u8BCD\u5217\u8868"},GROUP_MINUTE:{category:"danmu",type:"number",description:"\u5206\u949F\u5185\u5408\u5E76\u53BB\u91CD\uFF080\u8868\u793A\u4E0D\u53BB\u91CD\uFF09\uFF0C\u9ED8\u8BA41",min:0,max:30},DANMU_LIMIT:{category:"danmu",type:"number",description:"\u5F39\u5E55\u6570\u91CF\u9650\u5236\uFF0C\u5355\u4F4D\u4E3Ak\uFF0C\u5373\u5343\uFF1A\u9ED8\u8BA4 0\uFF0C\u8868\u793A\u4E0D\u9650\u5236\u5F39\u5E55\u6570",min:0,max:100},DANMU_SIMPLIFIED_TRADITIONAL:{category:"danmu",type:"select",options:["default","simplified","traditional"],description:"\u5F39\u5E55\u7B80\u7E41\u4F53\u8F6C\u6362\u8BBE\u7F6E\uFF1Adefault\uFF08\u9ED8\u8BA4\u4E0D\u8F6C\u6362\uFF09\u3001simplified\uFF08\u7E41\u8F6C\u7B80\uFF09\u3001traditional\uFF08\u7B80\u8F6C\u7E41\uFF09"},CONVERT_TOP_BOTTOM_TO_SCROLL:{category:"danmu",type:"boolean",description:"\u9876\u90E8/\u5E95\u90E8\u5F39\u5E55\u8F6C\u6362\u4E3A\u6D6E\u52A8\u5F39\u5E55"},CONVERT_COLOR:{category:"danmu",type:"select",options:["default","white","color"],description:"\u5F39\u5E55\u8F6C\u6362\u989C\u8272\u914D\u7F6E"},COLOR_POOL:{category:"danmu",type:"text",description:"\u81EA\u5B9A\u4E49\u989C\u8272\u6C60\uFF08CONVERT_COLOR\u4E3Acolor\u65F6\u751F\u6548\uFF09\uFF0C\u4E0D\u914D\u7F6E\u4F7F\u7528\u9ED8\u8BA4\u989C\u8272\u6C60\uFF0C\u683C\u5F0F\uFF1A\u5341\u8FDB\u5236\u989C\u8272\u503C\u9017\u53F7\u5206\u9694"},DANMU_OUTPUT_FORMAT:{category:"danmu",type:"select",options:["json","xml"],description:"\u5F39\u5E55\u8F93\u51FA\u683C\u5F0F\uFF0C\u9ED8\u8BA4json"},DANMU_PUSH_URL:{category:"danmu",type:"text",description:"\u5F39\u5E55\u63A8\u9001\u5730\u5740\uFF0C\u793A\u4F8B http://127.0.0.1:9978/action?do=refresh&type=danmaku&path= "},LIKE_SWITCH:{category:"danmu",type:"boolean",description:"\u5F39\u5E55\u70B9\u8D5E\u6570\u663E\u793A\u5F00\u5173\uFF0C\u9ED8\u8BA4\u5F00\u542F"},DANMU_OFFSET:{category:"danmu",type:"text",sources:this.ALLOWED_SOURCES,description:"\u5F39\u5E55\u65F6\u95F4\u504F\u79FB\u914D\u7F6E\uFF0C\u683C\u5F0F\uFF1A\u5267\u540D:\u79D2 \u6216 \u5267\u540D/\u5B63:\u79D2 \u6216 \u5267\u540D/\u5B63/\u96C6:\u79D2\uFF0C\u652F\u6301\u6307\u5B9A\u6765\u6E90\uFF1A\u5267\u540D@\u6765\u6E90:\u79D2 \u6216 \u5267\u540D/\u5B63@\u6765\u6E901&\u6765\u6E902:\u79D2\uFF0C\u591A\u6761\u7528\u9017\u53F7\u5206\u9694\uFF0C\u6B63\u6570\u8868\u793A\u5F39\u5E55\u5EF6\u540E\uFF08\u5411\u53F3\uFF09\uFF0C\u8D1F\u6570\u8868\u793A\u5F39\u5E55\u63D0\u524D\uFF08\u5411\u5DE6\uFF09\u3002\u652F\u6301\u767E\u5206\u6BD4\u6A21\u5F0F\uFF1A\u5728\u8DEF\u5F84\u6216\u6765\u6E90\u672B\u5C3E\u8FFD\u52A0 %\uFF0C\u5982 \u4E1C\u65B9/S03/E02@tencent%:11\uFF0C\u6309\u516C\u5F0F \u539F\u65F6\u95F4 * (\u89C6\u9891\u65F6\u957F + \u504F\u79FB\u79D2\u6570) / \u89C6\u9891\u65F6\u957F \u7F29\u653E\u5168\u90E8\u5F39\u5E55\u65F6\u95F4\u3002\u793A\u4F8B\uFF1Aoverlord/S01:90,re-zero/S02@bilibili:120,re-zero/S02/E03@dandan&bilibili:10,\u4E1C\u65B9/S03/E02@tencent%:11"},SEARCH_CACHE_MINUTES:{category:"cache",type:"number",description:"\u641C\u7D22\u7ED3\u679C\u7F13\u5B58\u65F6\u95F4(\u5206\u949F)\uFF0C\u9ED8\u8BA43",min:1,max:120},COMMENT_CACHE_MINUTES:{category:"cache",type:"number",description:"\u5F39\u5E55\u7F13\u5B58\u65F6\u95F4(\u5206\u949F)\uFF0C\u9ED8\u8BA43",min:1,max:120},REMEMBER_LAST_SELECT:{category:"cache",type:"boolean",description:"\u8BB0\u4F4F\u624B\u52A8\u9009\u62E9\u7ED3\u679C"},MAX_LAST_SELECT_MAP:{category:"cache",type:"number",description:"\u8BB0\u4F4F\u4E0A\u6B21\u9009\u62E9\u6620\u5C04\u7F13\u5B58\u5927\u5C0F\u9650\u5236\uFF0C\u9ED8\u8BA4100",min:10,max:1e3},MAX_ANIMES:{category:"cache",type:"number",description:"\u52A8\u6F2B\u6807\u9898\u7F13\u5B58\u6700\u5927\u6570\u91CF\uFF0C\u9ED8\u8BA4100",min:100,max:1e3},UPSTASH_REDIS_REST_URL:{category:"cache",type:"text",description:"Upstash Redis\u8BF7\u6C42\u94FE\u63A5"},UPSTASH_REDIS_REST_TOKEN:{category:"cache",type:"text",description:"Upstash Redis\u8BBF\u95EE\u4EE4\u724C"},LOCAL_REDIS_URL:{category:"cache",type:"text",description:"\u672C\u5730 Redis \u8FDE\u63A5URL\uFF0C\u793A\u4F8B\uFF1Aredis://:[email protected]:6379/0\uFF0C\u53EA\u652F\u6301\u672C\u5730\u90E8\u7F72\u548Cdocker\u90E8\u7F72"},BANGUMI_DATA_CACHE_DAYS:{category:"cache",type:"number",description:"Bangumi Data \u7F13\u5B58\u6709\u6548\u671F(\u5929)\uFF0C\u8BBE\u7F6E0\u5219\u6BCF\u6B21\u8BF7\u6C42\u65F6\u5F3A\u5236\u5F02\u6B65\u66F4\u65B0\uFF0C\u9ED8\u8BA47\u5929",min:0,max:30},PROXY_URL:{category:"system",type:"text",description:"\u4EE3\u7406/\u53CD\u4EE3\u5730\u5740"},TMDB_API_KEY:{category:"system",type:"text",description:"TMDB API\u5BC6\u94A5"},LOG_LEVEL:{category:"system",type:"select",options:["debug","info","warn","error"],description:"\u65E5\u5FD7\u7EA7\u522B\u914D\u7F6E"},DEPLOY_PLATFROM_ACCOUNT:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u8D26\u53F7ID"},DEPLOY_PLATFROM_PROJECT:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u9879\u76EE\u540D\u79F0"},DEPLOY_PLATFROM_TOKEN:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u8BBF\u95EE\u4EE4\u724C"},NODE_TLS_REJECT_UNAUTHORIZED:{category:"system",type:"number",description:"\u5728\u5EFA\u7ACB HTTPS \u8FDE\u63A5\u65F6\u662F\u5426\u9A8C\u8BC1\u670D\u52A1\u5668\u7684 SSL/TLS \u8BC1\u4E66\uFF0C0\u8868\u793A\u5FFD\u7565\uFF0C\u9ED8\u8BA4\u4E3A1",min:0,max:1},IP_BLACKLIST:{category:"system",type:"text",description:"IP \u9ED1\u540D\u5355\u5217\u8868\uFF0C\u652F\u6301\u9017\u53F7/\u5206\u53F7/\u6362\u884C\u5206\u9694\uFF0C\u652F\u6301 /regex/ \u6216 /regex/i \u6B63\u5219\uFF0C\u652F\u6301 IPv4/IPv6 CIDR\uFF08\u5982 10.0.0.0/4\u30012001:db8::/64\uFF09\u3002\u547D\u4E2D\u5219\u62D2\u7EDD\u8BF7\u6C42"}};return{vodAllowedPlatforms:this.VOD_ALLOWED_PLATFORMS,allowedPlatforms:this.ALLOWED_PLATFORMS,token:this.get("TOKEN","87654321","string",!0),adminToken:this.get("ADMIN_TOKEN","","string",!0),sourceOrderArr:this.resolveSourceOrder(),mergeSourcePairs:this.resolveMergeSourcePairs(),customMergeRules:this.resolveCustomMergeRules(),otherServer:this.get("OTHER_SERVER","https://api.danmu.icu","string"),customSourceApiUrl:this.get("CUSTOM_SOURCE_API_URL","","string",!0),vodServers:this.resolveVodServers(),vodReturnMode:this.get("VOD_RETURN_MODE","fastest","string").toLowerCase(),vodRequestTimeout:this.get("VOD_REQUEST_TIMEOUT","10000","string"),bilibliCookie:this.get("BILIBILI_COOKIE","","string",!0),doubanCookie:this.get("DOUBAN_COOKIE","","string",!0),youkuConcurrency:Math.min(this.get("YOUKU_CONCURRENCY",8,"number"),16),platformOrderArr:this.resolvePlatformOrder(),animeTitleFilter:this.resolveAnimeTitleFilter(),episodeTitleFilter:this.resolveEpisodeTitleFilter(),blockedWords:this.get("BLOCKED_WORDS","","string"),groupMinute:Math.min(this.get("GROUP_MINUTE",1,"number"),30),danmuLimit:this.get("DANMU_LIMIT",0,"number"),proxyUrl:this.get("PROXY_URL","","string",!0),danmuSimplifiedTraditional:this.get("DANMU_SIMPLIFIED_TRADITIONAL","default","string"),danmuPushUrl:this.get("DANMU_PUSH_URL","","string"),likeSwitch:this.get("LIKE_SWITCH",!0,"boolean"),danmuOffset:this.get("DANMU_OFFSET","","string"),danmuOffsetRules:S5e(this.get("DANMU_OFFSET","","string")),tmdbApiKey:this.get("TMDB_API_KEY","","string",!0),redisUrl:this.get("UPSTASH_REDIS_REST_URL","","string",!0),redisToken:this.get("UPSTASH_REDIS_REST_TOKEN","","string",!0),localRedisUrl:this.get("LOCAL_REDIS_URL","","string",!0),rateLimitMaxRequests:this.get("RATE_LIMIT_MAX_REQUESTS",3,"number"),enableAnimeEpisodeFilter:this.get("ENABLE_ANIME_EPISODE_FILTER",!1,"boolean"),logLevel:this.get("LOG_LEVEL","info","string"),searchCacheMinutes:this.get("SEARCH_CACHE_MINUTES",3,"number"),commentCacheMinutes:this.get("COMMENT_CACHE_MINUTES",3,"number"),convertTopBottomToScroll:this.get("CONVERT_TOP_BOTTOM_TO_SCROLL",!1,"boolean"),convertColor:this.get("CONVERT_COLOR","default","string"),colorPool:this.get("COLOR_POOL","16777215,16777215,16777215,16777215,16777215,16777215,16777215,16777215,16744319,16752762,16774799,9498256,8388564,8900346,14204888,16758465","string"),danmuOutputFormat:this.get("DANMU_OUTPUT_FORMAT","json","string"),strictTitleMatch:this.get("STRICT_TITLE_MATCH",!1,"boolean"),titleToChinese:this.get("TITLE_TO_CHINESE",!1,"boolean"),animeTitleSimplified:this.get("ANIME_TITLE_SIMPLIFIED",!1,"boolean"),titleMappingTable:this.resolveTitleMappingTable(),ipBlacklist:this.resolveIpBlacklist(),aiBaseUrl:this.get("AI_BASE_URL","https://api.openai.com/v1","string"),aiModel:this.get("AI_MODEL","gpt-4o","string"),aiApiKey:this.get("AI_API_KEY","","string",!0),aiMatchPrompt:this.get("AI_MATCH_PROMPT",this.DEFAULT_AI_MATCH_PROMPT,"string"),useBangumiData:this.get("USE_BANGUMI_DATA",!1,"boolean"),rememberLastSelect:this.get("REMEMBER_LAST_SELECT",!0,"boolean"),MAX_LAST_SELECT_MAP:this.get("MAX_LAST_SELECT_MAP",100,"number"),MAX_ANIMES:this.get("MAX_ANIMES",100,"number"),bangumiDataCacheDays:this.get("BANGUMI_DATA_CACHE_DAYS",7,"number"),deployPlatformAccount:this.get("DEPLOY_PLATFROM_ACCOUNT","","string",!0),deployPlatformProject:this.get("DEPLOY_PLATFROM_PROJECT","","string",!0),deployPlatformToken:this.get("DEPLOY_PLATFROM_TOKEN","","string",!0),NODE_TLS_REJECT_UNAUTHORIZED:this.get("NODE_TLS_REJECT_UNAUTHORIZED",1,"number"),envVarConfig:r}}}});var zh,O,Ot=lr(()=>{v5e();zh={env:{},envs:{},originalEnvVars:{},accessedEnvVars:{},VERSION:"1.19.13",MAX_LOGS:1e3,MAX_RECORDS:100,animes:[],episodeIds:[],episodeNum:10001,logBuffer:[],requestHistory:new Map,localCacheValid:!1,localCacheInitialized:!1,redisValid:!1,localRedisValid:!1,aiValid:!1,redisCacheInitialized:!1,lastSelectMap:new Map,reqRecords:[],todayReqNum:0,lastHashes:{animes:null,episodeIds:null,episodeNum:null,lastSelectMap:null,reqRecords:null,todayReqNum:null},searchCache:new Map,commentCache:new Map,deployPlatform:"",currentToken:"",init(t={}){return this.env=t,this.envs=nf.load(this.env),this.originalEnvVars=Object.fromEntries(nf.getOriginalEnvVars()),this.accessedEnvVars=Object.fromEntries(nf.getAccessedEnvVars()),this.getConfig()},reInit(){return this.envs=nf.load(this.env),this.originalEnvVars=Object.fromEntries(nf.getOriginalEnvVars()),this.accessedEnvVars=Object.fromEntries(nf.getAccessedEnvVars()),this.getConfig()},makeProxyUrl(t){let e=this.envs.proxyUrl||"";if(!e||!t)return t;let r=e.split(",").map(c=>c.trim()).filter(c=>c),n=null,s=null,i=null,a;try{a=new URL(t)}catch{return t}let o=a.hostname;for(let c of r)if(c.startsWith("bahamut@")&&o.includes("gamer.com.tw")){s=c.substring(8);break}else if(c.startsWith("tmdb@")&&o.includes("tmdb")){s=c.substring(5);break}else if(c.startsWith("bilibili@")&&o.includes("bilibili")){s=c.substring(9);break}else if(c.startsWith("animeko@")&&(o.includes("animeko")||o.includes("bgm.tv"))){s=c.substring(8);break}else c.startsWith("@")&&!i?i=c.substring(1):!c.includes("@")&&!n&&(n=c);if(s)try{let c=new URL(s);return a.protocol=c.protocol,a.host=c.host,a.port=c.port,c.pathname!=="/"&&(a.pathname=c.pathname.replace(/\/$/,"")+a.pathname),a.toString()}catch{return t}return i?`${i.replace(/\/$/,"")}/${t}`:n?`http://127.0.0.1:5321/proxy?url=${encodeURIComponent(t)}`:t},getConfig(){if(this._configProxy)return this._configProxy;let t=this;return this._configProxy=new Proxy({},{get(e,r){return r in t.envs?t.envs[r]:r==="version"?t.VERSION:r==="maxLogs"?t.MAX_LOGS:r==="maxAnimes"?t.envs.MAX_ANIMES:r==="maxRecords"?t.MAX_RECORDS:r==="maxLastSelectMap"?t.MAX_LAST_SELECT_MAP:r==="makeProxyUrl"?t.makeProxyUrl.bind(t):t[r]},set(e,r,n){return r in t.envs?t.envs[r]=n:t[r]=n,!0}}),this._configProxy}},O=new Proxy({},{get(t,e){return zh.getConfig()[e]},set(t,e,r){return zh.getConfig()[e]=r,!0},has(t,e){return e in zh.getConfig()},ownKeys(t){return Reflect.ownKeys(zh.getConfig())},getOwnPropertyDescriptor(t,e){return Object.getOwnPropertyDescriptor(zh.getConfig(),e)}})});function _(t,...e){let r={error:0,warn:1,info:2},n=r[O.logLevel]!==void 0?r[O.logLevel]:1;if((r[t]||0)>n)return;let s=e.map(u=>{if(typeof u=="object"){let l=JSON.stringify(u);return I5e(l)}else return typeof u=="string"?I5e(u):u}),i=s.map(u=>typeof u=="object"?JSON.stringify(u):u).join(" "),a=new Date,c=new Date(a.getTime()+8*60*60*1e3).toISOString().replace("Z","+08:00");O.logBuffer.push({timestamp:c,level:t,message:i}),O.logBuffer.length>O.MAX_LOGS&&O.logBuffer.shift(),console[t](...s)}function I5e(t){let e=t;if(O.originalEnvVars&&O.accessedEnvVars)for(let[r,n]of Object.entries(O.originalEnvVars)){let s=O.accessedEnvVars[r];if(n&&typeof n=="string"&&n.length>0&&s&&typeof s=="string"&&s.match(/^\*+$/)&&s.length===n.length){let i="*".repeat(n.length),a=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g");e=e.replace(a,i)}}return e}function C5e(t){try{let e=JSON.parse(t);return JSON.stringify(e,null,2).replace(/\n/g,`
|
|
`)}catch{return t}}var _t=lr(()=>{Ot()});function zsr(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",s=!1,i=r[0]||"text/plain",a=i;for(let l=1;l<r.length;l++)r[l]==="base64"?s=!0:r[l]&&(a+=`;${r[l]}`,r[l].indexOf("charset=")===0&&(n=r[l].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let o=s?"base64":"ascii",c=unescape(t.substring(e+1)),u=Buffer.from(c,o);return u.type=i,u.typeFull=a,u.charset=n,u}var T5e,w5e=lr(()=>{T5e=zsr});var N5e=E((hB,R5e)=>{(function(t,e){typeof hB=="object"&&typeof R5e<"u"?e(hB):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(hB,function(t){"use strict";function e(){}function r(S){return typeof S=="object"&&S!==null||typeof S=="function"}let n=e;function s(S,T){try{Object.defineProperty(S,"name",{value:T,configurable:!0})}catch{}}let i=Promise,a=Promise.prototype.then,o=Promise.reject.bind(i);function c(S){return new i(S)}function u(S){return c(T=>T(S))}function l(S){return o(S)}function d(S,T,k){return a.call(S,T,k)}function f(S,T,k){d(d(S,T,k),void 0,n)}function p(S,T){f(S,T)}function m(S,T){f(S,void 0,T)}function h(S,T,k){return d(S,T,k)}function A(S){d(S,void 0,n)}let g=S=>{if(typeof queueMicrotask=="function")g=queueMicrotask;else{let T=u(void 0);g=k=>d(T,k)}return g(S)};function b(S,T,k){if(typeof S!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(S,T,k)}function y(S,T,k){try{return u(b(S,T,k))}catch(z){return l(z)}}let x=16384;class v{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(T){let k=this._back,z=k;k._elements.length===x-1&&(z={_elements:[],_next:void 0}),k._elements.push(T),z!==k&&(this._back=z,k._next=z),++this._size}shift(){let T=this._front,k=T,z=this._cursor,ae=z+1,pe=T._elements,xe=pe[z];return ae===x&&(k=T._next,ae=0),--this._size,this._cursor=ae,T!==k&&(this._front=k),pe[z]=void 0,xe}forEach(T){let k=this._cursor,z=this._front,ae=z._elements;for(;(k!==ae.length||z._next!==void 0)&&!(k===ae.length&&(z=z._next,ae=z._elements,k=0,ae.length===0));)T(ae[k]),++k}peek(){let T=this._front,k=this._cursor;return T._elements[k]}}let I=Symbol("[[AbortSteps]]"),R=Symbol("[[ErrorSteps]]"),w=Symbol("[[CancelSteps]]"),N=Symbol("[[PullSteps]]"),P=Symbol("[[ReleaseSteps]]");function B(S,T){S._ownerReadableStream=T,T._reader=S,T._state==="readable"?Z(S):T._state==="closed"?F(S):W(S,T._storedError)}function M(S,T){let k=S._ownerReadableStream;return Lc(k,T)}function D(S){let T=S._ownerReadableStream;T._state==="readable"?K(S,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):j(S,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),T._readableStreamController[P](),T._reader=void 0,S._ownerReadableStream=void 0}function L(S){return new TypeError("Cannot "+S+" a stream using a released reader")}function Z(S){S._closedPromise=c((T,k)=>{S._closedPromise_resolve=T,S._closedPromise_reject=k})}function W(S,T){Z(S),K(S,T)}function F(S){Z(S),J(S)}function K(S,T){S._closedPromise_reject!==void 0&&(A(S._closedPromise),S._closedPromise_reject(T),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0)}function j(S,T){W(S,T)}function J(S){S._closedPromise_resolve!==void 0&&(S._closedPromise_resolve(void 0),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0)}let se=Number.isFinite||function(S){return typeof S=="number"&&isFinite(S)},oe=Math.trunc||function(S){return S<0?Math.ceil(S):Math.floor(S)};function ue(S){return typeof S=="object"||typeof S=="function"}function Ie(S,T){if(S!==void 0&&!ue(S))throw new TypeError(`${T} is not an object.`)}function we(S,T){if(typeof S!="function")throw new TypeError(`${T} is not a function.`)}function qe(S){return typeof S=="object"&&S!==null||typeof S=="function"}function Fe(S,T){if(!qe(S))throw new TypeError(`${T} is not an object.`)}function _e(S,T,k){if(S===void 0)throw new TypeError(`Parameter ${T} is required in '${k}'.`)}function U(S,T,k){if(S===void 0)throw new TypeError(`${T} is required in '${k}'.`)}function G(S){return Number(S)}function V(S){return S===0?0:S}function q(S){return V(oe(S))}function H(S,T){let z=Number.MAX_SAFE_INTEGER,ae=Number(S);if(ae=V(ae),!se(ae))throw new TypeError(`${T} is not a finite number`);if(ae=q(ae),ae<0||ae>z)throw new TypeError(`${T} is outside the accepted range of 0 to ${z}, inclusive`);return!se(ae)||ae===0?0:ae}function ee(S,T){if(!np(S))throw new TypeError(`${T} is not a ReadableStream.`)}function ne(S){return new fe(S)}function re(S,T){S._reader._readRequests.push(T)}function X(S,T,k){let ae=S._reader._readRequests.shift();k?ae._closeSteps():ae._chunkSteps(T)}function ie(S){return S._reader._readRequests.length}function ce(S){let T=S._reader;return!(T===void 0||!Ne(T))}class fe{constructor(T){if(_e(T,1,"ReadableStreamDefaultReader"),ee(T,"First parameter"),sp(T))throw new TypeError("This stream has already been locked for exclusive reading by another reader");B(this,T),this._readRequests=new v}get closed(){return Ne(this)?this._closedPromise:l(Ye("closed"))}cancel(T=void 0){return Ne(this)?this._ownerReadableStream===void 0?l(L("cancel")):M(this,T):l(Ye("cancel"))}read(){if(!Ne(this))return l(Ye("read"));if(this._ownerReadableStream===void 0)return l(L("read from"));let T,k,z=c((pe,xe)=>{T=pe,k=xe});return Pe(this,{_chunkSteps:pe=>T({value:pe,done:!1}),_closeSteps:()=>T({value:void 0,done:!0}),_errorSteps:pe=>k(pe)}),z}releaseLock(){if(!Ne(this))throw Ye("releaseLock");this._ownerReadableStream!==void 0&&Ue(this)}}Object.defineProperties(fe.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(fe.prototype.cancel,"cancel"),s(fe.prototype.read,"read"),s(fe.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fe.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function Ne(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_readRequests")?!1:S instanceof fe}function Pe(S,T){let k=S._ownerReadableStream;k._disturbed=!0,k._state==="closed"?T._closeSteps():k._state==="errored"?T._errorSteps(k._storedError):k._readableStreamController[N](T)}function Ue(S){D(S);let T=new TypeError("Reader was released");ze(S,T)}function ze(S,T){let k=S._readRequests;S._readRequests=new v,k.forEach(z=>{z._errorSteps(T)})}function Ye(S){return new TypeError(`ReadableStreamDefaultReader.prototype.${S} can only be used on a ReadableStreamDefaultReader`)}let Ze=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class nt{constructor(T,k){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=T,this._preventCancel=k}next(){let T=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?h(this._ongoingPromise,T,T):T(),this._ongoingPromise}return(T){let k=()=>this._returnSteps(T);return this._ongoingPromise?h(this._ongoingPromise,k,k):k()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let T=this._reader,k,z,ae=c((xe,Qe)=>{k=xe,z=Qe});return Pe(T,{_chunkSteps:xe=>{this._ongoingPromise=void 0,g(()=>k({value:xe,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,D(T),k({value:void 0,done:!0})},_errorSteps:xe=>{this._ongoingPromise=void 0,this._isFinished=!0,D(T),z(xe)}}),ae}_returnSteps(T){if(this._isFinished)return Promise.resolve({value:T,done:!0});this._isFinished=!0;let k=this._reader;if(!this._preventCancel){let z=M(k,T);return D(k),h(z,()=>({value:T,done:!0}))}return D(k),u({value:T,done:!0})}}let ct={next(){return Pt(this)?this._asyncIteratorImpl.next():l(lt("next"))},return(S){return Pt(this)?this._asyncIteratorImpl.return(S):l(lt("return"))}};Object.setPrototypeOf(ct,Ze);function tt(S,T){let k=ne(S),z=new nt(k,T),ae=Object.create(ct);return ae._asyncIteratorImpl=z,ae}function Pt(S){if(!r(S)||!Object.prototype.hasOwnProperty.call(S,"_asyncIteratorImpl"))return!1;try{return S._asyncIteratorImpl instanceof nt}catch{return!1}}function lt(S){return new TypeError(`ReadableStreamAsyncIterator.${S} can only be used on a ReadableSteamAsyncIterator`)}let ke=Number.isNaN||function(S){return S!==S};var Je,ft,rt;function bt(S){return S.slice()}function An(S,T,k,z,ae){new Uint8Array(S).set(new Uint8Array(k,z,ae),T)}let vt=S=>(typeof S.transfer=="function"?vt=T=>T.transfer():typeof structuredClone=="function"?vt=T=>structuredClone(T,{transfer:[T]}):vt=T=>T,vt(S)),_r=S=>(typeof S.detached=="boolean"?_r=T=>T.detached:_r=T=>T.byteLength===0,_r(S));function qs(S,T,k){if(S.slice)return S.slice(T,k);let z=k-T,ae=new ArrayBuffer(z);return An(ae,0,S,T,z),ae}function Pr(S,T){let k=S[T];if(k!=null){if(typeof k!="function")throw new TypeError(`${String(T)} is not a function`);return k}}function js(S){let T={[Symbol.iterator]:()=>S.iterator},k=async function*(){return yield*T}(),z=k.next;return{iterator:k,nextMethod:z,done:!1}}let Hs=(rt=(Je=Symbol.asyncIterator)!==null&&Je!==void 0?Je:(ft=Symbol.for)===null||ft===void 0?void 0:ft.call(Symbol,"Symbol.asyncIterator"))!==null&&rt!==void 0?rt:"@@asyncIterator";function ys(S,T="sync",k){if(k===void 0)if(T==="async"){if(k=Pr(S,Hs),k===void 0){let pe=Pr(S,Symbol.iterator),xe=ys(S,"sync",pe);return js(xe)}}else k=Pr(S,Symbol.iterator);if(k===void 0)throw new TypeError("The object is not iterable");let z=b(k,S,[]);if(!r(z))throw new TypeError("The iterator method must return an object");let ae=z.next;return{iterator:z,nextMethod:ae,done:!1}}function Qs(S){let T=b(S.nextMethod,S.iterator,[]);if(!r(T))throw new TypeError("The iterator.next() method must return an object");return T}function Bu(S){return!!S.done}function Ao(S){return S.value}function Dc(S){return!(typeof S!="number"||ke(S)||S<0)}function Ta(S){let T=qs(S.buffer,S.byteOffset,S.byteOffset+S.byteLength);return new Uint8Array(T)}function yn(S){let T=S._queue.shift();return S._queueTotalSize-=T.size,S._queueTotalSize<0&&(S._queueTotalSize=0),T.value}function wa(S,T,k){if(!Dc(k)||k===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");S._queue.push({value:T,size:k}),S._queueTotalSize+=k}function td(S){return S._queue.peek().value}function yo(S){S._queue=new v,S._queueTotalSize=0}function bA(S){return S===DataView}function u6(S){return bA(S.constructor)}function mpt(S){return bA(S)?1:S.BYTES_PER_ELEMENT}class dm{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!l6(this))throw h6("view");return this._view}respond(T){if(!l6(this))throw h6("respond");if(_e(T,1,"respond"),T=H(T,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(_r(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");C2(this._associatedReadableByteStreamController,T)}respondWithNewView(T){if(!l6(this))throw h6("respondWithNewView");if(_e(T,1,"respondWithNewView"),!ArrayBuffer.isView(T))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(_r(T.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");T2(this._associatedReadableByteStreamController,T)}}Object.defineProperties(dm.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),s(dm.prototype.respond,"respond"),s(dm.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(dm.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class rd{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!fm(this))throw GE("byobRequest");return m6(this)}get desiredSize(){if(!fm(this))throw GE("desiredSize");return Fle(this)}close(){if(!fm(this))throw GE("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let T=this._controlledReadableByteStream._state;if(T!=="readable")throw new TypeError(`The stream (in ${T} state) is not in the readable state and cannot be closed`);QE(this)}enqueue(T){if(!fm(this))throw GE("enqueue");if(_e(T,1,"enqueue"),!ArrayBuffer.isView(T))throw new TypeError("chunk must be an array buffer view");if(T.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(T.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let k=this._controlledReadableByteStream._state;if(k!=="readable")throw new TypeError(`The stream (in ${k} state) is not in the readable state and cannot be enqueued to`);I2(this,T)}error(T=void 0){if(!fm(this))throw GE("error");qo(this,T)}[w](T){Ole(this),yo(this);let k=this._cancelAlgorithm(T);return v2(this),k}[N](T){let k=this._controlledReadableByteStream;if(this._queueTotalSize>0){$le(this,T);return}let z=this._autoAllocateChunkSize;if(z!==void 0){let ae;try{ae=new ArrayBuffer(z)}catch(xe){T._errorSteps(xe);return}let pe={buffer:ae,bufferByteLength:z,byteOffset:0,byteLength:z,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(pe)}re(k,T),pm(this)}[P](){if(this._pendingPullIntos.length>0){let T=this._pendingPullIntos.peek();T.readerType="none",this._pendingPullIntos=new v,this._pendingPullIntos.push(T)}}}Object.defineProperties(rd.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),s(rd.prototype.close,"close"),s(rd.prototype.enqueue,"enqueue"),s(rd.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(rd.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function fm(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledReadableByteStream")?!1:S instanceof rd}function l6(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_associatedReadableByteStreamController")?!1:S instanceof dm}function pm(S){if(!xpt(S))return;if(S._pulling){S._pullAgain=!0;return}S._pulling=!0;let k=S._pullAlgorithm();f(k,()=>(S._pulling=!1,S._pullAgain&&(S._pullAgain=!1,pm(S)),null),z=>(qo(S,z),null))}function Ole(S){f6(S),S._pendingPullIntos=new v}function d6(S,T){let k=!1;S._state==="closed"&&(k=!0);let z=Ple(T);T.readerType==="default"?X(S,z,k):Ipt(S,z,k)}function Ple(S){let T=S.bytesFilled,k=S.elementSize;return new S.viewConstructor(S.buffer,S.byteOffset,T/k)}function S2(S,T,k,z){S._queue.push({buffer:T,byteOffset:k,byteLength:z}),S._queueTotalSize+=z}function kle(S,T,k,z){let ae;try{ae=qs(T,k,k+z)}catch(pe){throw qo(S,pe),pe}S2(S,ae,0,z)}function Dle(S,T){T.bytesFilled>0&&kle(S,T.buffer,T.byteOffset,T.bytesFilled),EA(S)}function Ble(S,T){let k=Math.min(S._queueTotalSize,T.byteLength-T.bytesFilled),z=T.bytesFilled+k,ae=k,pe=!1,xe=z%T.elementSize,Qe=z-xe;Qe>=T.minimumFill&&(ae=Qe-T.bytesFilled,pe=!0);let It=S._queue;for(;ae>0;){let dt=It.peek(),Bt=Math.min(ae,dt.byteLength),Yt=T.byteOffset+T.bytesFilled;An(T.buffer,Yt,dt.buffer,dt.byteOffset,Bt),dt.byteLength===Bt?It.shift():(dt.byteOffset+=Bt,dt.byteLength-=Bt),S._queueTotalSize-=Bt,Lle(S,Bt,T),ae-=Bt}return pe}function Lle(S,T,k){k.bytesFilled+=T}function Mle(S){S._queueTotalSize===0&&S._closeRequested?(v2(S),XE(S._controlledReadableByteStream)):pm(S)}function f6(S){S._byobRequest!==null&&(S._byobRequest._associatedReadableByteStreamController=void 0,S._byobRequest._view=null,S._byobRequest=null)}function p6(S){for(;S._pendingPullIntos.length>0;){if(S._queueTotalSize===0)return;let T=S._pendingPullIntos.peek();Ble(S,T)&&(EA(S),d6(S._controlledReadableByteStream,T))}}function hpt(S){let T=S._controlledReadableByteStream._reader;for(;T._readRequests.length>0;){if(S._queueTotalSize===0)return;let k=T._readRequests.shift();$le(S,k)}}function gpt(S,T,k,z){let ae=S._controlledReadableByteStream,pe=T.constructor,xe=mpt(pe),{byteOffset:Qe,byteLength:It}=T,dt=k*xe,Bt;try{Bt=vt(T.buffer)}catch(un){z._errorSteps(un);return}let Yt={buffer:Bt,bufferByteLength:Bt.byteLength,byteOffset:Qe,byteLength:It,bytesFilled:0,minimumFill:dt,elementSize:xe,viewConstructor:pe,readerType:"byob"};if(S._pendingPullIntos.length>0){S._pendingPullIntos.push(Yt),jle(ae,z);return}if(ae._state==="closed"){let un=new pe(Yt.buffer,Yt.byteOffset,0);z._closeSteps(un);return}if(S._queueTotalSize>0){if(Ble(S,Yt)){let un=Ple(Yt);Mle(S),z._chunkSteps(un);return}if(S._closeRequested){let un=new TypeError("Insufficient bytes to fill elements in the given buffer");qo(S,un),z._errorSteps(un);return}}S._pendingPullIntos.push(Yt),jle(ae,z),pm(S)}function Apt(S,T){T.readerType==="none"&&EA(S);let k=S._controlledReadableByteStream;if(g6(k))for(;Hle(k)>0;){let z=EA(S);d6(k,z)}}function ypt(S,T,k){if(Lle(S,T,k),k.readerType==="none"){Dle(S,k),p6(S);return}if(k.bytesFilled<k.minimumFill)return;EA(S);let z=k.bytesFilled%k.elementSize;if(z>0){let ae=k.byteOffset+k.bytesFilled;kle(S,k.buffer,ae-z,z)}k.bytesFilled-=z,d6(S._controlledReadableByteStream,k),p6(S)}function Wle(S,T){let k=S._pendingPullIntos.peek();f6(S),S._controlledReadableByteStream._state==="closed"?Apt(S,k):ypt(S,T,k),pm(S)}function EA(S){return S._pendingPullIntos.shift()}function xpt(S){let T=S._controlledReadableByteStream;return T._state!=="readable"||S._closeRequested||!S._started?!1:!!(ce(T)&&ie(T)>0||g6(T)&&Hle(T)>0||Fle(S)>0)}function v2(S){S._pullAlgorithm=void 0,S._cancelAlgorithm=void 0}function QE(S){let T=S._controlledReadableByteStream;if(!(S._closeRequested||T._state!=="readable")){if(S._queueTotalSize>0){S._closeRequested=!0;return}if(S._pendingPullIntos.length>0){let k=S._pendingPullIntos.peek();if(k.bytesFilled%k.elementSize!==0){let z=new TypeError("Insufficient bytes to fill elements in the given buffer");throw qo(S,z),z}}v2(S),XE(T)}}function I2(S,T){let k=S._controlledReadableByteStream;if(S._closeRequested||k._state!=="readable")return;let{buffer:z,byteOffset:ae,byteLength:pe}=T;if(_r(z))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let xe=vt(z);if(S._pendingPullIntos.length>0){let Qe=S._pendingPullIntos.peek();if(_r(Qe.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");f6(S),Qe.buffer=vt(Qe.buffer),Qe.readerType==="none"&&Dle(S,Qe)}if(ce(k))if(hpt(S),ie(k)===0)S2(S,xe,ae,pe);else{S._pendingPullIntos.length>0&&EA(S);let Qe=new Uint8Array(xe,ae,pe);X(k,Qe,!1)}else g6(k)?(S2(S,xe,ae,pe),p6(S)):S2(S,xe,ae,pe);pm(S)}function qo(S,T){let k=S._controlledReadableByteStream;k._state==="readable"&&(Ole(S),yo(S),v2(S),mde(k,T))}function $le(S,T){let k=S._queue.shift();S._queueTotalSize-=k.byteLength,Mle(S);let z=new Uint8Array(k.buffer,k.byteOffset,k.byteLength);T._chunkSteps(z)}function m6(S){if(S._byobRequest===null&&S._pendingPullIntos.length>0){let T=S._pendingPullIntos.peek(),k=new Uint8Array(T.buffer,T.byteOffset+T.bytesFilled,T.byteLength-T.bytesFilled),z=Object.create(dm.prototype);Ept(z,S,k),S._byobRequest=z}return S._byobRequest}function Fle(S){let T=S._controlledReadableByteStream._state;return T==="errored"?null:T==="closed"?0:S._strategyHWM-S._queueTotalSize}function C2(S,T){let k=S._pendingPullIntos.peek();if(S._controlledReadableByteStream._state==="closed"){if(T!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(T===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(k.bytesFilled+T>k.byteLength)throw new RangeError("bytesWritten out of range")}k.buffer=vt(k.buffer),Wle(S,T)}function T2(S,T){let k=S._pendingPullIntos.peek();if(S._controlledReadableByteStream._state==="closed"){if(T.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(T.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(k.byteOffset+k.bytesFilled!==T.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(k.bufferByteLength!==T.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(k.bytesFilled+T.byteLength>k.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let ae=T.byteLength;k.buffer=vt(T.buffer),Wle(S,ae)}function Ule(S,T,k,z,ae,pe,xe){T._controlledReadableByteStream=S,T._pullAgain=!1,T._pulling=!1,T._byobRequest=null,T._queue=T._queueTotalSize=void 0,yo(T),T._closeRequested=!1,T._started=!1,T._strategyHWM=pe,T._pullAlgorithm=z,T._cancelAlgorithm=ae,T._autoAllocateChunkSize=xe,T._pendingPullIntos=new v,S._readableStreamController=T;let Qe=k();f(u(Qe),()=>(T._started=!0,pm(T),null),It=>(qo(T,It),null))}function bpt(S,T,k){let z=Object.create(rd.prototype),ae,pe,xe;T.start!==void 0?ae=()=>T.start(z):ae=()=>{},T.pull!==void 0?pe=()=>T.pull(z):pe=()=>u(void 0),T.cancel!==void 0?xe=It=>T.cancel(It):xe=()=>u(void 0);let Qe=T.autoAllocateChunkSize;if(Qe===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Ule(S,z,ae,pe,xe,k,Qe)}function Ept(S,T,k){S._associatedReadableByteStreamController=T,S._view=k}function h6(S){return new TypeError(`ReadableStreamBYOBRequest.prototype.${S} can only be used on a ReadableStreamBYOBRequest`)}function GE(S){return new TypeError(`ReadableByteStreamController.prototype.${S} can only be used on a ReadableByteStreamController`)}function _pt(S,T){Ie(S,T);let k=S?.mode;return{mode:k===void 0?void 0:Spt(k,`${T} has member 'mode' that`)}}function Spt(S,T){if(S=`${S}`,S!=="byob")throw new TypeError(`${T} '${S}' is not a valid enumeration value for ReadableStreamReaderMode`);return S}function vpt(S,T){var k;Ie(S,T);let z=(k=S?.min)!==null&&k!==void 0?k:1;return{min:H(z,`${T} has member 'min' that`)}}function qle(S){return new tp(S)}function jle(S,T){S._reader._readIntoRequests.push(T)}function Ipt(S,T,k){let ae=S._reader._readIntoRequests.shift();k?ae._closeSteps(T):ae._chunkSteps(T)}function Hle(S){return S._reader._readIntoRequests.length}function g6(S){let T=S._reader;return!(T===void 0||!mm(T))}class tp{constructor(T){if(_e(T,1,"ReadableStreamBYOBReader"),ee(T,"First parameter"),sp(T))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!fm(T._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");B(this,T),this._readIntoRequests=new v}get closed(){return mm(this)?this._closedPromise:l(w2("closed"))}cancel(T=void 0){return mm(this)?this._ownerReadableStream===void 0?l(L("cancel")):M(this,T):l(w2("cancel"))}read(T,k={}){if(!mm(this))return l(w2("read"));if(!ArrayBuffer.isView(T))return l(new TypeError("view must be an array buffer view"));if(T.byteLength===0)return l(new TypeError("view must have non-zero byteLength"));if(T.buffer.byteLength===0)return l(new TypeError("view's buffer must have non-zero byteLength"));if(_r(T.buffer))return l(new TypeError("view's buffer has been detached"));let z;try{z=vpt(k,"options")}catch(dt){return l(dt)}let ae=z.min;if(ae===0)return l(new TypeError("options.min must be greater than 0"));if(u6(T)){if(ae>T.byteLength)return l(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(ae>T.length)return l(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return l(L("read from"));let pe,xe,Qe=c((dt,Bt)=>{pe=dt,xe=Bt});return Qle(this,T,ae,{_chunkSteps:dt=>pe({value:dt,done:!1}),_closeSteps:dt=>pe({value:dt,done:!0}),_errorSteps:dt=>xe(dt)}),Qe}releaseLock(){if(!mm(this))throw w2("releaseLock");this._ownerReadableStream!==void 0&&Cpt(this)}}Object.defineProperties(tp.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(tp.prototype.cancel,"cancel"),s(tp.prototype.read,"read"),s(tp.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(tp.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function mm(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_readIntoRequests")?!1:S instanceof tp}function Qle(S,T,k,z){let ae=S._ownerReadableStream;ae._disturbed=!0,ae._state==="errored"?z._errorSteps(ae._storedError):gpt(ae._readableStreamController,T,k,z)}function Cpt(S){D(S);let T=new TypeError("Reader was released");Gle(S,T)}function Gle(S,T){let k=S._readIntoRequests;S._readIntoRequests=new v,k.forEach(z=>{z._errorSteps(T)})}function w2(S){return new TypeError(`ReadableStreamBYOBReader.prototype.${S} can only be used on a ReadableStreamBYOBReader`)}function KE(S,T){let{highWaterMark:k}=S;if(k===void 0)return T;if(ke(k)||k<0)throw new RangeError("Invalid highWaterMark");return k}function R2(S){let{size:T}=S;return T||(()=>1)}function N2(S,T){Ie(S,T);let k=S?.highWaterMark,z=S?.size;return{highWaterMark:k===void 0?void 0:G(k),size:z===void 0?void 0:Tpt(z,`${T} has member 'size' that`)}}function Tpt(S,T){return we(S,T),k=>G(S(k))}function wpt(S,T){Ie(S,T);let k=S?.abort,z=S?.close,ae=S?.start,pe=S?.type,xe=S?.write;return{abort:k===void 0?void 0:Rpt(k,S,`${T} has member 'abort' that`),close:z===void 0?void 0:Npt(z,S,`${T} has member 'close' that`),start:ae===void 0?void 0:Opt(ae,S,`${T} has member 'start' that`),write:xe===void 0?void 0:Ppt(xe,S,`${T} has member 'write' that`),type:pe}}function Rpt(S,T,k){return we(S,k),z=>y(S,T,[z])}function Npt(S,T,k){return we(S,k),()=>y(S,T,[])}function Opt(S,T,k){return we(S,k),z=>b(S,T,[z])}function Ppt(S,T,k){return we(S,k),(z,ae)=>y(S,T,[z,ae])}function Kle(S,T){if(!_A(S))throw new TypeError(`${T} is not a WritableStream.`)}function kpt(S){if(typeof S!="object"||S===null)return!1;try{return typeof S.aborted=="boolean"}catch{return!1}}let Dpt=typeof AbortController=="function";function Bpt(){if(Dpt)return new AbortController}class rp{constructor(T={},k={}){T===void 0?T=null:Fe(T,"First parameter");let z=N2(k,"Second parameter"),ae=wpt(T,"First parameter");if(zle(this),ae.type!==void 0)throw new RangeError("Invalid type is specified");let xe=R2(z),Qe=KE(z,1);zpt(this,ae,Qe,xe)}get locked(){if(!_A(this))throw B2("locked");return SA(this)}abort(T=void 0){return _A(this)?SA(this)?l(new TypeError("Cannot abort a stream that already has a writer")):O2(this,T):l(B2("abort"))}close(){return _A(this)?SA(this)?l(new TypeError("Cannot close a stream that already has a writer")):Lu(this)?l(new TypeError("Cannot close an already-closing stream")):Yle(this):l(B2("close"))}getWriter(){if(!_A(this))throw B2("getWriter");return Vle(this)}}Object.defineProperties(rp.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),s(rp.prototype.abort,"abort"),s(rp.prototype.close,"close"),s(rp.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(rp.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Vle(S){return new nd(S)}function Lpt(S,T,k,z,ae=1,pe=()=>1){let xe=Object.create(rp.prototype);zle(xe);let Qe=Object.create(vA.prototype);return rde(xe,Qe,S,T,k,z,ae,pe),xe}function zle(S){S._state="writable",S._storedError=void 0,S._writer=void 0,S._writableStreamController=void 0,S._writeRequests=new v,S._inFlightWriteRequest=void 0,S._closeRequest=void 0,S._inFlightCloseRequest=void 0,S._pendingAbortRequest=void 0,S._backpressure=!1}function _A(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_writableStreamController")?!1:S instanceof rp}function SA(S){return S._writer!==void 0}function O2(S,T){var k;if(S._state==="closed"||S._state==="errored")return u(void 0);S._writableStreamController._abortReason=T,(k=S._writableStreamController._abortController)===null||k===void 0||k.abort(T);let z=S._state;if(z==="closed"||z==="errored")return u(void 0);if(S._pendingAbortRequest!==void 0)return S._pendingAbortRequest._promise;let ae=!1;z==="erroring"&&(ae=!0,T=void 0);let pe=c((xe,Qe)=>{S._pendingAbortRequest={_promise:void 0,_resolve:xe,_reject:Qe,_reason:T,_wasAlreadyErroring:ae}});return S._pendingAbortRequest._promise=pe,ae||y6(S,T),pe}function Yle(S){let T=S._state;if(T==="closed"||T==="errored")return l(new TypeError(`The stream (in ${T} state) is not in the writable state and cannot be closed`));let k=c((ae,pe)=>{let xe={_resolve:ae,_reject:pe};S._closeRequest=xe}),z=S._writer;return z!==void 0&&S._backpressure&&T==="writable"&&C6(z),Ypt(S._writableStreamController),k}function Mpt(S){return c((k,z)=>{let ae={_resolve:k,_reject:z};S._writeRequests.push(ae)})}function A6(S,T){if(S._state==="writable"){y6(S,T);return}x6(S)}function y6(S,T){let k=S._writableStreamController;S._state="erroring",S._storedError=T;let z=S._writer;z!==void 0&&Xle(z,T),!qpt(S)&&k._started&&x6(S)}function x6(S){S._state="errored",S._writableStreamController[R]();let T=S._storedError;if(S._writeRequests.forEach(ae=>{ae._reject(T)}),S._writeRequests=new v,S._pendingAbortRequest===void 0){P2(S);return}let k=S._pendingAbortRequest;if(S._pendingAbortRequest=void 0,k._wasAlreadyErroring){k._reject(T),P2(S);return}let z=S._writableStreamController[I](k._reason);f(z,()=>(k._resolve(),P2(S),null),ae=>(k._reject(ae),P2(S),null))}function Wpt(S){S._inFlightWriteRequest._resolve(void 0),S._inFlightWriteRequest=void 0}function $pt(S,T){S._inFlightWriteRequest._reject(T),S._inFlightWriteRequest=void 0,A6(S,T)}function Fpt(S){S._inFlightCloseRequest._resolve(void 0),S._inFlightCloseRequest=void 0,S._state==="erroring"&&(S._storedError=void 0,S._pendingAbortRequest!==void 0&&(S._pendingAbortRequest._resolve(),S._pendingAbortRequest=void 0)),S._state="closed";let k=S._writer;k!==void 0&&ade(k)}function Upt(S,T){S._inFlightCloseRequest._reject(T),S._inFlightCloseRequest=void 0,S._pendingAbortRequest!==void 0&&(S._pendingAbortRequest._reject(T),S._pendingAbortRequest=void 0),A6(S,T)}function Lu(S){return!(S._closeRequest===void 0&&S._inFlightCloseRequest===void 0)}function qpt(S){return!(S._inFlightWriteRequest===void 0&&S._inFlightCloseRequest===void 0)}function jpt(S){S._inFlightCloseRequest=S._closeRequest,S._closeRequest=void 0}function Hpt(S){S._inFlightWriteRequest=S._writeRequests.shift()}function P2(S){S._closeRequest!==void 0&&(S._closeRequest._reject(S._storedError),S._closeRequest=void 0);let T=S._writer;T!==void 0&&v6(T,S._storedError)}function b6(S,T){let k=S._writer;k!==void 0&&T!==S._backpressure&&(T?n0t(k):C6(k)),S._backpressure=T}class nd{constructor(T){if(_e(T,1,"WritableStreamDefaultWriter"),Kle(T,"First parameter"),SA(T))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=T,T._writer=this;let k=T._state;if(k==="writable")!Lu(T)&&T._backpressure?M2(this):ode(this),L2(this);else if(k==="erroring")I6(this,T._storedError),L2(this);else if(k==="closed")ode(this),t0t(this);else{let z=T._storedError;I6(this,z),ide(this,z)}}get closed(){return hm(this)?this._closedPromise:l(gm("closed"))}get desiredSize(){if(!hm(this))throw gm("desiredSize");if(this._ownerWritableStream===void 0)throw zE("desiredSize");return Vpt(this)}get ready(){return hm(this)?this._readyPromise:l(gm("ready"))}abort(T=void 0){return hm(this)?this._ownerWritableStream===void 0?l(zE("abort")):Qpt(this,T):l(gm("abort"))}close(){if(!hm(this))return l(gm("close"));let T=this._ownerWritableStream;return T===void 0?l(zE("close")):Lu(T)?l(new TypeError("Cannot close an already-closing stream")):Jle(this)}releaseLock(){if(!hm(this))throw gm("releaseLock");this._ownerWritableStream!==void 0&&Zle(this)}write(T=void 0){return hm(this)?this._ownerWritableStream===void 0?l(zE("write to")):ede(this,T):l(gm("write"))}}Object.defineProperties(nd.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),s(nd.prototype.abort,"abort"),s(nd.prototype.close,"close"),s(nd.prototype.releaseLock,"releaseLock"),s(nd.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(nd.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function hm(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_ownerWritableStream")?!1:S instanceof nd}function Qpt(S,T){let k=S._ownerWritableStream;return O2(k,T)}function Jle(S){let T=S._ownerWritableStream;return Yle(T)}function Gpt(S){let T=S._ownerWritableStream,k=T._state;return Lu(T)||k==="closed"?u(void 0):k==="errored"?l(T._storedError):Jle(S)}function Kpt(S,T){S._closedPromiseState==="pending"?v6(S,T):r0t(S,T)}function Xle(S,T){S._readyPromiseState==="pending"?cde(S,T):s0t(S,T)}function Vpt(S){let T=S._ownerWritableStream,k=T._state;return k==="errored"||k==="erroring"?null:k==="closed"?0:nde(T._writableStreamController)}function Zle(S){let T=S._ownerWritableStream,k=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Xle(S,k),Kpt(S,k),T._writer=void 0,S._ownerWritableStream=void 0}function ede(S,T){let k=S._ownerWritableStream,z=k._writableStreamController,ae=Jpt(z,T);if(k!==S._ownerWritableStream)return l(zE("write to"));let pe=k._state;if(pe==="errored")return l(k._storedError);if(Lu(k)||pe==="closed")return l(new TypeError("The stream is closing or closed and cannot be written to"));if(pe==="erroring")return l(k._storedError);let xe=Mpt(k);return Xpt(z,T,ae),xe}let tde={};class vA{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!E6(this))throw S6("abortReason");return this._abortReason}get signal(){if(!E6(this))throw S6("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(T=void 0){if(!E6(this))throw S6("error");this._controlledWritableStream._state==="writable"&&sde(this,T)}[I](T){let k=this._abortAlgorithm(T);return k2(this),k}[R](){yo(this)}}Object.defineProperties(vA.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vA.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function E6(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledWritableStream")?!1:S instanceof vA}function rde(S,T,k,z,ae,pe,xe,Qe){T._controlledWritableStream=S,S._writableStreamController=T,T._queue=void 0,T._queueTotalSize=void 0,yo(T),T._abortReason=void 0,T._abortController=Bpt(),T._started=!1,T._strategySizeAlgorithm=Qe,T._strategyHWM=xe,T._writeAlgorithm=z,T._closeAlgorithm=ae,T._abortAlgorithm=pe;let It=_6(T);b6(S,It);let dt=k(),Bt=u(dt);f(Bt,()=>(T._started=!0,D2(T),null),Yt=>(T._started=!0,A6(S,Yt),null))}function zpt(S,T,k,z){let ae=Object.create(vA.prototype),pe,xe,Qe,It;T.start!==void 0?pe=()=>T.start(ae):pe=()=>{},T.write!==void 0?xe=dt=>T.write(dt,ae):xe=()=>u(void 0),T.close!==void 0?Qe=()=>T.close():Qe=()=>u(void 0),T.abort!==void 0?It=dt=>T.abort(dt):It=()=>u(void 0),rde(S,ae,pe,xe,Qe,It,k,z)}function k2(S){S._writeAlgorithm=void 0,S._closeAlgorithm=void 0,S._abortAlgorithm=void 0,S._strategySizeAlgorithm=void 0}function Ypt(S){wa(S,tde,0),D2(S)}function Jpt(S,T){try{return S._strategySizeAlgorithm(T)}catch(k){return VE(S,k),1}}function nde(S){return S._strategyHWM-S._queueTotalSize}function Xpt(S,T,k){try{wa(S,T,k)}catch(ae){VE(S,ae);return}let z=S._controlledWritableStream;if(!Lu(z)&&z._state==="writable"){let ae=_6(S);b6(z,ae)}D2(S)}function D2(S){let T=S._controlledWritableStream;if(!S._started||T._inFlightWriteRequest!==void 0)return;if(T._state==="erroring"){x6(T);return}if(S._queue.length===0)return;let z=td(S);z===tde?Zpt(S):e0t(S,z)}function VE(S,T){S._controlledWritableStream._state==="writable"&&sde(S,T)}function Zpt(S){let T=S._controlledWritableStream;jpt(T),yn(S);let k=S._closeAlgorithm();k2(S),f(k,()=>(Fpt(T),null),z=>(Upt(T,z),null))}function e0t(S,T){let k=S._controlledWritableStream;Hpt(k);let z=S._writeAlgorithm(T);f(z,()=>{Wpt(k);let ae=k._state;if(yn(S),!Lu(k)&&ae==="writable"){let pe=_6(S);b6(k,pe)}return D2(S),null},ae=>(k._state==="writable"&&k2(S),$pt(k,ae),null))}function _6(S){return nde(S)<=0}function sde(S,T){let k=S._controlledWritableStream;k2(S),y6(k,T)}function B2(S){return new TypeError(`WritableStream.prototype.${S} can only be used on a WritableStream`)}function S6(S){return new TypeError(`WritableStreamDefaultController.prototype.${S} can only be used on a WritableStreamDefaultController`)}function gm(S){return new TypeError(`WritableStreamDefaultWriter.prototype.${S} can only be used on a WritableStreamDefaultWriter`)}function zE(S){return new TypeError("Cannot "+S+" a stream using a released writer")}function L2(S){S._closedPromise=c((T,k)=>{S._closedPromise_resolve=T,S._closedPromise_reject=k,S._closedPromiseState="pending"})}function ide(S,T){L2(S),v6(S,T)}function t0t(S){L2(S),ade(S)}function v6(S,T){S._closedPromise_reject!==void 0&&(A(S._closedPromise),S._closedPromise_reject(T),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0,S._closedPromiseState="rejected")}function r0t(S,T){ide(S,T)}function ade(S){S._closedPromise_resolve!==void 0&&(S._closedPromise_resolve(void 0),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0,S._closedPromiseState="resolved")}function M2(S){S._readyPromise=c((T,k)=>{S._readyPromise_resolve=T,S._readyPromise_reject=k}),S._readyPromiseState="pending"}function I6(S,T){M2(S),cde(S,T)}function ode(S){M2(S),C6(S)}function cde(S,T){S._readyPromise_reject!==void 0&&(A(S._readyPromise),S._readyPromise_reject(T),S._readyPromise_resolve=void 0,S._readyPromise_reject=void 0,S._readyPromiseState="rejected")}function n0t(S){M2(S)}function s0t(S,T){I6(S,T)}function C6(S){S._readyPromise_resolve!==void 0&&(S._readyPromise_resolve(void 0),S._readyPromise_resolve=void 0,S._readyPromise_reject=void 0,S._readyPromiseState="fulfilled")}function i0t(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let T6=i0t();function a0t(S){if(!(typeof S=="function"||typeof S=="object")||S.name!=="DOMException")return!1;try{return new S,!0}catch{return!1}}function o0t(){let S=T6?.DOMException;return a0t(S)?S:void 0}function c0t(){let S=function(k,z){this.message=k||"",this.name=z||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return s(S,"DOMException"),S.prototype=Object.create(Error.prototype),Object.defineProperty(S.prototype,"constructor",{value:S,writable:!0,configurable:!0}),S}let u0t=o0t()||c0t();function ude(S,T,k,z,ae,pe){let xe=ne(S),Qe=Vle(T);S._disturbed=!0;let It=!1,dt=u(void 0);return c((Bt,Yt)=>{let un;if(pe!==void 0){if(un=()=>{let ht=pe.reason!==void 0?pe.reason:new u0t("Aborted","AbortError"),ur=[];z||ur.push(()=>T._state==="writable"?O2(T,ht):u(void 0)),ae||ur.push(()=>S._state==="readable"?Lc(S,ht):u(void 0)),Ra(()=>Promise.all(ur.map(xn=>xn())),!0,ht)},pe.aborted){un();return}pe.addEventListener("abort",un)}function Mc(){return c((ht,ur)=>{function xn(xo){xo?ht():d(wA(),xn,ur)}xn(!1)})}function wA(){return It?u(!0):d(Qe._readyPromise,()=>c((ht,ur)=>{Pe(xe,{_chunkSteps:xn=>{dt=d(ede(Qe,xn),void 0,e),ht(!1)},_closeSteps:()=>ht(!0),_errorSteps:ur})}))}if(id(S,xe._closedPromise,ht=>(z?jo(!0,ht):Ra(()=>O2(T,ht),!0,ht),null)),id(T,Qe._closedPromise,ht=>(ae?jo(!0,ht):Ra(()=>Lc(S,ht),!0,ht),null)),Zi(S,xe._closedPromise,()=>(k?jo():Ra(()=>Gpt(Qe)),null)),Lu(T)||T._state==="closed"){let ht=new TypeError("the destination writable stream closed before all data could be piped to it");ae?jo(!0,ht):Ra(()=>Lc(S,ht),!0,ht)}A(Mc());function ap(){let ht=dt;return d(dt,()=>ht!==dt?ap():void 0)}function id(ht,ur,xn){ht._state==="errored"?xn(ht._storedError):m(ur,xn)}function Zi(ht,ur,xn){ht._state==="closed"?xn():p(ur,xn)}function Ra(ht,ur,xn){if(It)return;It=!0,T._state==="writable"&&!Lu(T)?p(ap(),xo):xo();function xo(){return f(ht(),()=>ad(ur,xn),RA=>ad(!0,RA)),null}}function jo(ht,ur){It||(It=!0,T._state==="writable"&&!Lu(T)?p(ap(),()=>ad(ht,ur)):ad(ht,ur))}function ad(ht,ur){return Zle(Qe),D(xe),pe!==void 0&&pe.removeEventListener("abort",un),ht?Yt(ur):Bt(void 0),null}})}class sd{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!W2(this))throw F2("desiredSize");return w6(this)}close(){if(!W2(this))throw F2("close");if(!CA(this))throw new TypeError("The stream is not in a state that permits close");Am(this)}enqueue(T=void 0){if(!W2(this))throw F2("enqueue");if(!CA(this))throw new TypeError("The stream is not in a state that permits enqueue");return IA(this,T)}error(T=void 0){if(!W2(this))throw F2("error");Bc(this,T)}[w](T){yo(this);let k=this._cancelAlgorithm(T);return $2(this),k}[N](T){let k=this._controlledReadableStream;if(this._queue.length>0){let z=yn(this);this._closeRequested&&this._queue.length===0?($2(this),XE(k)):YE(this),T._chunkSteps(z)}else re(k,T),YE(this)}[P](){}}Object.defineProperties(sd.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),s(sd.prototype.close,"close"),s(sd.prototype.enqueue,"enqueue"),s(sd.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sd.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function W2(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledReadableStream")?!1:S instanceof sd}function YE(S){if(!lde(S))return;if(S._pulling){S._pullAgain=!0;return}S._pulling=!0;let k=S._pullAlgorithm();f(k,()=>(S._pulling=!1,S._pullAgain&&(S._pullAgain=!1,YE(S)),null),z=>(Bc(S,z),null))}function lde(S){let T=S._controlledReadableStream;return!CA(S)||!S._started?!1:!!(sp(T)&&ie(T)>0||w6(S)>0)}function $2(S){S._pullAlgorithm=void 0,S._cancelAlgorithm=void 0,S._strategySizeAlgorithm=void 0}function Am(S){if(!CA(S))return;let T=S._controlledReadableStream;S._closeRequested=!0,S._queue.length===0&&($2(S),XE(T))}function IA(S,T){if(!CA(S))return;let k=S._controlledReadableStream;if(sp(k)&&ie(k)>0)X(k,T,!1);else{let z;try{z=S._strategySizeAlgorithm(T)}catch(ae){throw Bc(S,ae),ae}try{wa(S,T,z)}catch(ae){throw Bc(S,ae),ae}}YE(S)}function Bc(S,T){let k=S._controlledReadableStream;k._state==="readable"&&(yo(S),$2(S),mde(k,T))}function w6(S){let T=S._controlledReadableStream._state;return T==="errored"?null:T==="closed"?0:S._strategyHWM-S._queueTotalSize}function l0t(S){return!lde(S)}function CA(S){let T=S._controlledReadableStream._state;return!S._closeRequested&&T==="readable"}function dde(S,T,k,z,ae,pe,xe){T._controlledReadableStream=S,T._queue=void 0,T._queueTotalSize=void 0,yo(T),T._started=!1,T._closeRequested=!1,T._pullAgain=!1,T._pulling=!1,T._strategySizeAlgorithm=xe,T._strategyHWM=pe,T._pullAlgorithm=z,T._cancelAlgorithm=ae,S._readableStreamController=T;let Qe=k();f(u(Qe),()=>(T._started=!0,YE(T),null),It=>(Bc(T,It),null))}function d0t(S,T,k,z){let ae=Object.create(sd.prototype),pe,xe,Qe;T.start!==void 0?pe=()=>T.start(ae):pe=()=>{},T.pull!==void 0?xe=()=>T.pull(ae):xe=()=>u(void 0),T.cancel!==void 0?Qe=It=>T.cancel(It):Qe=()=>u(void 0),dde(S,ae,pe,xe,Qe,k,z)}function F2(S){return new TypeError(`ReadableStreamDefaultController.prototype.${S} can only be used on a ReadableStreamDefaultController`)}function f0t(S,T){return fm(S._readableStreamController)?m0t(S):p0t(S)}function p0t(S,T){let k=ne(S),z=!1,ae=!1,pe=!1,xe=!1,Qe,It,dt,Bt,Yt,un=c(Zi=>{Yt=Zi});function Mc(){return z?(ae=!0,u(void 0)):(z=!0,Pe(k,{_chunkSteps:Ra=>{g(()=>{ae=!1;let jo=Ra,ad=Ra;pe||IA(dt._readableStreamController,jo),xe||IA(Bt._readableStreamController,ad),z=!1,ae&&Mc()})},_closeSteps:()=>{z=!1,pe||Am(dt._readableStreamController),xe||Am(Bt._readableStreamController),(!pe||!xe)&&Yt(void 0)},_errorSteps:()=>{z=!1}}),u(void 0))}function wA(Zi){if(pe=!0,Qe=Zi,xe){let Ra=bt([Qe,It]),jo=Lc(S,Ra);Yt(jo)}return un}function ap(Zi){if(xe=!0,It=Zi,pe){let Ra=bt([Qe,It]),jo=Lc(S,Ra);Yt(jo)}return un}function id(){}return dt=JE(id,Mc,wA),Bt=JE(id,Mc,ap),m(k._closedPromise,Zi=>(Bc(dt._readableStreamController,Zi),Bc(Bt._readableStreamController,Zi),(!pe||!xe)&&Yt(void 0),null)),[dt,Bt]}function m0t(S){let T=ne(S),k=!1,z=!1,ae=!1,pe=!1,xe=!1,Qe,It,dt,Bt,Yt,un=c(ht=>{Yt=ht});function Mc(ht){m(ht._closedPromise,ur=>(ht!==T||(qo(dt._readableStreamController,ur),qo(Bt._readableStreamController,ur),(!pe||!xe)&&Yt(void 0)),null))}function wA(){mm(T)&&(D(T),T=ne(S),Mc(T)),Pe(T,{_chunkSteps:ur=>{g(()=>{z=!1,ae=!1;let xn=ur,xo=ur;if(!pe&&!xe)try{xo=Ta(ur)}catch(RA){qo(dt._readableStreamController,RA),qo(Bt._readableStreamController,RA),Yt(Lc(S,RA));return}pe||I2(dt._readableStreamController,xn),xe||I2(Bt._readableStreamController,xo),k=!1,z?id():ae&&Zi()})},_closeSteps:()=>{k=!1,pe||QE(dt._readableStreamController),xe||QE(Bt._readableStreamController),dt._readableStreamController._pendingPullIntos.length>0&&C2(dt._readableStreamController,0),Bt._readableStreamController._pendingPullIntos.length>0&&C2(Bt._readableStreamController,0),(!pe||!xe)&&Yt(void 0)},_errorSteps:()=>{k=!1}})}function ap(ht,ur){Ne(T)&&(D(T),T=qle(S),Mc(T));let xn=ur?Bt:dt,xo=ur?dt:Bt;Qle(T,ht,1,{_chunkSteps:NA=>{g(()=>{z=!1,ae=!1;let OA=ur?xe:pe;if(ur?pe:xe)OA||T2(xn._readableStreamController,NA);else{let Tde;try{Tde=Ta(NA)}catch(k6){qo(xn._readableStreamController,k6),qo(xo._readableStreamController,k6),Yt(Lc(S,k6));return}OA||T2(xn._readableStreamController,NA),I2(xo._readableStreamController,Tde)}k=!1,z?id():ae&&Zi()})},_closeSteps:NA=>{k=!1;let OA=ur?xe:pe,V2=ur?pe:xe;OA||QE(xn._readableStreamController),V2||QE(xo._readableStreamController),NA!==void 0&&(OA||T2(xn._readableStreamController,NA),!V2&&xo._readableStreamController._pendingPullIntos.length>0&&C2(xo._readableStreamController,0)),(!OA||!V2)&&Yt(void 0)},_errorSteps:()=>{k=!1}})}function id(){if(k)return z=!0,u(void 0);k=!0;let ht=m6(dt._readableStreamController);return ht===null?wA():ap(ht._view,!1),u(void 0)}function Zi(){if(k)return ae=!0,u(void 0);k=!0;let ht=m6(Bt._readableStreamController);return ht===null?wA():ap(ht._view,!0),u(void 0)}function Ra(ht){if(pe=!0,Qe=ht,xe){let ur=bt([Qe,It]),xn=Lc(S,ur);Yt(xn)}return un}function jo(ht){if(xe=!0,It=ht,pe){let ur=bt([Qe,It]),xn=Lc(S,ur);Yt(xn)}return un}function ad(){}return dt=pde(ad,id,Ra),Bt=pde(ad,Zi,jo),Mc(T),[dt,Bt]}function h0t(S){return r(S)&&typeof S.getReader<"u"}function g0t(S){return h0t(S)?y0t(S.getReader()):A0t(S)}function A0t(S){let T,k=ys(S,"async"),z=e;function ae(){let xe;try{xe=Qs(k)}catch(It){return l(It)}let Qe=u(xe);return h(Qe,It=>{if(!r(It))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(Bu(It))Am(T._readableStreamController);else{let Bt=Ao(It);IA(T._readableStreamController,Bt)}})}function pe(xe){let Qe=k.iterator,It;try{It=Pr(Qe,"return")}catch(Yt){return l(Yt)}if(It===void 0)return u(void 0);let dt;try{dt=b(It,Qe,[xe])}catch(Yt){return l(Yt)}let Bt=u(dt);return h(Bt,Yt=>{if(!r(Yt))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return T=JE(z,ae,pe,0),T}function y0t(S){let T,k=e;function z(){let pe;try{pe=S.read()}catch(xe){return l(xe)}return h(pe,xe=>{if(!r(xe))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(xe.done)Am(T._readableStreamController);else{let Qe=xe.value;IA(T._readableStreamController,Qe)}})}function ae(pe){try{return u(S.cancel(pe))}catch(xe){return l(xe)}}return T=JE(k,z,ae,0),T}function x0t(S,T){Ie(S,T);let k=S,z=k?.autoAllocateChunkSize,ae=k?.cancel,pe=k?.pull,xe=k?.start,Qe=k?.type;return{autoAllocateChunkSize:z===void 0?void 0:H(z,`${T} has member 'autoAllocateChunkSize' that`),cancel:ae===void 0?void 0:b0t(ae,k,`${T} has member 'cancel' that`),pull:pe===void 0?void 0:E0t(pe,k,`${T} has member 'pull' that`),start:xe===void 0?void 0:_0t(xe,k,`${T} has member 'start' that`),type:Qe===void 0?void 0:S0t(Qe,`${T} has member 'type' that`)}}function b0t(S,T,k){return we(S,k),z=>y(S,T,[z])}function E0t(S,T,k){return we(S,k),z=>y(S,T,[z])}function _0t(S,T,k){return we(S,k),z=>b(S,T,[z])}function S0t(S,T){if(S=`${S}`,S!=="bytes")throw new TypeError(`${T} '${S}' is not a valid enumeration value for ReadableStreamType`);return S}function v0t(S,T){return Ie(S,T),{preventCancel:!!S?.preventCancel}}function fde(S,T){Ie(S,T);let k=S?.preventAbort,z=S?.preventCancel,ae=S?.preventClose,pe=S?.signal;return pe!==void 0&&I0t(pe,`${T} has member 'signal' that`),{preventAbort:!!k,preventCancel:!!z,preventClose:!!ae,signal:pe}}function I0t(S,T){if(!kpt(S))throw new TypeError(`${T} is not an AbortSignal.`)}function C0t(S,T){Ie(S,T);let k=S?.readable;U(k,"readable","ReadableWritablePair"),ee(k,`${T} has member 'readable' that`);let z=S?.writable;return U(z,"writable","ReadableWritablePair"),Kle(z,`${T} has member 'writable' that`),{readable:k,writable:z}}class vi{constructor(T={},k={}){T===void 0?T=null:Fe(T,"First parameter");let z=N2(k,"Second parameter"),ae=x0t(T,"First parameter");if(R6(this),ae.type==="bytes"){if(z.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let pe=KE(z,0);bpt(this,ae,pe)}else{let pe=R2(z),xe=KE(z,1);d0t(this,ae,xe,pe)}}get locked(){if(!np(this))throw ym("locked");return sp(this)}cancel(T=void 0){return np(this)?sp(this)?l(new TypeError("Cannot cancel a stream that already has a reader")):Lc(this,T):l(ym("cancel"))}getReader(T=void 0){if(!np(this))throw ym("getReader");return _pt(T,"First parameter").mode===void 0?ne(this):qle(this)}pipeThrough(T,k={}){if(!np(this))throw ym("pipeThrough");_e(T,1,"pipeThrough");let z=C0t(T,"First parameter"),ae=fde(k,"Second parameter");if(sp(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(SA(z.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let pe=ude(this,z.writable,ae.preventClose,ae.preventAbort,ae.preventCancel,ae.signal);return A(pe),z.readable}pipeTo(T,k={}){if(!np(this))return l(ym("pipeTo"));if(T===void 0)return l("Parameter 1 is required in 'pipeTo'.");if(!_A(T))return l(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let z;try{z=fde(k,"Second parameter")}catch(ae){return l(ae)}return sp(this)?l(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):SA(T)?l(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):ude(this,T,z.preventClose,z.preventAbort,z.preventCancel,z.signal)}tee(){if(!np(this))throw ym("tee");let T=f0t(this);return bt(T)}values(T=void 0){if(!np(this))throw ym("values");let k=v0t(T,"First parameter");return tt(this,k.preventCancel)}[Hs](T){return this.values(T)}static from(T){return g0t(T)}}Object.defineProperties(vi,{from:{enumerable:!0}}),Object.defineProperties(vi.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),s(vi.from,"from"),s(vi.prototype.cancel,"cancel"),s(vi.prototype.getReader,"getReader"),s(vi.prototype.pipeThrough,"pipeThrough"),s(vi.prototype.pipeTo,"pipeTo"),s(vi.prototype.tee,"tee"),s(vi.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vi.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(vi.prototype,Hs,{value:vi.prototype.values,writable:!0,configurable:!0});function JE(S,T,k,z=1,ae=()=>1){let pe=Object.create(vi.prototype);R6(pe);let xe=Object.create(sd.prototype);return dde(pe,xe,S,T,k,z,ae),pe}function pde(S,T,k){let z=Object.create(vi.prototype);R6(z);let ae=Object.create(rd.prototype);return Ule(z,ae,S,T,k,0,void 0),z}function R6(S){S._state="readable",S._reader=void 0,S._storedError=void 0,S._disturbed=!1}function np(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_readableStreamController")?!1:S instanceof vi}function sp(S){return S._reader!==void 0}function Lc(S,T){if(S._disturbed=!0,S._state==="closed")return u(void 0);if(S._state==="errored")return l(S._storedError);XE(S);let k=S._reader;if(k!==void 0&&mm(k)){let ae=k._readIntoRequests;k._readIntoRequests=new v,ae.forEach(pe=>{pe._closeSteps(void 0)})}let z=S._readableStreamController[w](T);return h(z,e)}function XE(S){S._state="closed";let T=S._reader;if(T!==void 0&&(J(T),Ne(T))){let k=T._readRequests;T._readRequests=new v,k.forEach(z=>{z._closeSteps()})}}function mde(S,T){S._state="errored",S._storedError=T;let k=S._reader;k!==void 0&&(K(k,T),Ne(k)?ze(k,T):Gle(k,T))}function ym(S){return new TypeError(`ReadableStream.prototype.${S} can only be used on a ReadableStream`)}function hde(S,T){Ie(S,T);let k=S?.highWaterMark;return U(k,"highWaterMark","QueuingStrategyInit"),{highWaterMark:G(k)}}let gde=S=>S.byteLength;s(gde,"size");class U2{constructor(T){_e(T,1,"ByteLengthQueuingStrategy"),T=hde(T,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=T.highWaterMark}get highWaterMark(){if(!yde(this))throw Ade("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!yde(this))throw Ade("size");return gde}}Object.defineProperties(U2.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(U2.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Ade(S){return new TypeError(`ByteLengthQueuingStrategy.prototype.${S} can only be used on a ByteLengthQueuingStrategy`)}function yde(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_byteLengthQueuingStrategyHighWaterMark")?!1:S instanceof U2}let xde=()=>1;s(xde,"size");class q2{constructor(T){_e(T,1,"CountQueuingStrategy"),T=hde(T,"First parameter"),this._countQueuingStrategyHighWaterMark=T.highWaterMark}get highWaterMark(){if(!Ede(this))throw bde("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Ede(this))throw bde("size");return xde}}Object.defineProperties(q2.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(q2.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function bde(S){return new TypeError(`CountQueuingStrategy.prototype.${S} can only be used on a CountQueuingStrategy`)}function Ede(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_countQueuingStrategyHighWaterMark")?!1:S instanceof q2}function T0t(S,T){Ie(S,T);let k=S?.cancel,z=S?.flush,ae=S?.readableType,pe=S?.start,xe=S?.transform,Qe=S?.writableType;return{cancel:k===void 0?void 0:O0t(k,S,`${T} has member 'cancel' that`),flush:z===void 0?void 0:w0t(z,S,`${T} has member 'flush' that`),readableType:ae,start:pe===void 0?void 0:R0t(pe,S,`${T} has member 'start' that`),transform:xe===void 0?void 0:N0t(xe,S,`${T} has member 'transform' that`),writableType:Qe}}function w0t(S,T,k){return we(S,k),z=>y(S,T,[z])}function R0t(S,T,k){return we(S,k),z=>b(S,T,[z])}function N0t(S,T,k){return we(S,k),(z,ae)=>y(S,T,[z,ae])}function O0t(S,T,k){return we(S,k),z=>y(S,T,[z])}class j2{constructor(T={},k={},z={}){T===void 0&&(T=null);let ae=N2(k,"Second parameter"),pe=N2(z,"Third parameter"),xe=T0t(T,"First parameter");if(xe.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(xe.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Qe=KE(pe,0),It=R2(pe),dt=KE(ae,1),Bt=R2(ae),Yt,un=c(Mc=>{Yt=Mc});P0t(this,un,dt,Bt,Qe,It),D0t(this,xe),xe.start!==void 0?Yt(xe.start(this._transformStreamController)):Yt(void 0)}get readable(){if(!_de(this))throw Cde("readable");return this._readable}get writable(){if(!_de(this))throw Cde("writable");return this._writable}}Object.defineProperties(j2.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(j2.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function P0t(S,T,k,z,ae,pe){function xe(){return T}function Qe(un){return M0t(S,un)}function It(un){return W0t(S,un)}function dt(){return $0t(S)}S._writable=Lpt(xe,Qe,dt,It,k,z);function Bt(){return F0t(S)}function Yt(un){return U0t(S,un)}S._readable=JE(xe,Bt,Yt,ae,pe),S._backpressure=void 0,S._backpressureChangePromise=void 0,S._backpressureChangePromise_resolve=void 0,H2(S,!0),S._transformStreamController=void 0}function _de(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_transformStreamController")?!1:S instanceof j2}function Sde(S,T){Bc(S._readable._readableStreamController,T),N6(S,T)}function N6(S,T){G2(S._transformStreamController),VE(S._writable._writableStreamController,T),O6(S)}function O6(S){S._backpressure&&H2(S,!1)}function H2(S,T){S._backpressureChangePromise!==void 0&&S._backpressureChangePromise_resolve(),S._backpressureChangePromise=c(k=>{S._backpressureChangePromise_resolve=k}),S._backpressure=T}class ip{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Q2(this))throw K2("desiredSize");let T=this._controlledTransformStream._readable._readableStreamController;return w6(T)}enqueue(T=void 0){if(!Q2(this))throw K2("enqueue");vde(this,T)}error(T=void 0){if(!Q2(this))throw K2("error");B0t(this,T)}terminate(){if(!Q2(this))throw K2("terminate");L0t(this)}}Object.defineProperties(ip.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),s(ip.prototype.enqueue,"enqueue"),s(ip.prototype.error,"error"),s(ip.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ip.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Q2(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledTransformStream")?!1:S instanceof ip}function k0t(S,T,k,z,ae){T._controlledTransformStream=S,S._transformStreamController=T,T._transformAlgorithm=k,T._flushAlgorithm=z,T._cancelAlgorithm=ae,T._finishPromise=void 0,T._finishPromise_resolve=void 0,T._finishPromise_reject=void 0}function D0t(S,T){let k=Object.create(ip.prototype),z,ae,pe;T.transform!==void 0?z=xe=>T.transform(xe,k):z=xe=>{try{return vde(k,xe),u(void 0)}catch(Qe){return l(Qe)}},T.flush!==void 0?ae=()=>T.flush(k):ae=()=>u(void 0),T.cancel!==void 0?pe=xe=>T.cancel(xe):pe=()=>u(void 0),k0t(S,k,z,ae,pe)}function G2(S){S._transformAlgorithm=void 0,S._flushAlgorithm=void 0,S._cancelAlgorithm=void 0}function vde(S,T){let k=S._controlledTransformStream,z=k._readable._readableStreamController;if(!CA(z))throw new TypeError("Readable side is not in a state that permits enqueue");try{IA(z,T)}catch(pe){throw N6(k,pe),k._readable._storedError}l0t(z)!==k._backpressure&&H2(k,!0)}function B0t(S,T){Sde(S._controlledTransformStream,T)}function Ide(S,T){let k=S._transformAlgorithm(T);return h(k,void 0,z=>{throw Sde(S._controlledTransformStream,z),z})}function L0t(S){let T=S._controlledTransformStream,k=T._readable._readableStreamController;Am(k);let z=new TypeError("TransformStream terminated");N6(T,z)}function M0t(S,T){let k=S._transformStreamController;if(S._backpressure){let z=S._backpressureChangePromise;return h(z,()=>{let ae=S._writable;if(ae._state==="erroring")throw ae._storedError;return Ide(k,T)})}return Ide(k,T)}function W0t(S,T){let k=S._transformStreamController;if(k._finishPromise!==void 0)return k._finishPromise;let z=S._readable;k._finishPromise=c((pe,xe)=>{k._finishPromise_resolve=pe,k._finishPromise_reject=xe});let ae=k._cancelAlgorithm(T);return G2(k),f(ae,()=>(z._state==="errored"?TA(k,z._storedError):(Bc(z._readableStreamController,T),P6(k)),null),pe=>(Bc(z._readableStreamController,pe),TA(k,pe),null)),k._finishPromise}function $0t(S){let T=S._transformStreamController;if(T._finishPromise!==void 0)return T._finishPromise;let k=S._readable;T._finishPromise=c((ae,pe)=>{T._finishPromise_resolve=ae,T._finishPromise_reject=pe});let z=T._flushAlgorithm();return G2(T),f(z,()=>(k._state==="errored"?TA(T,k._storedError):(Am(k._readableStreamController),P6(T)),null),ae=>(Bc(k._readableStreamController,ae),TA(T,ae),null)),T._finishPromise}function F0t(S){return H2(S,!1),S._backpressureChangePromise}function U0t(S,T){let k=S._transformStreamController;if(k._finishPromise!==void 0)return k._finishPromise;let z=S._writable;k._finishPromise=c((pe,xe)=>{k._finishPromise_resolve=pe,k._finishPromise_reject=xe});let ae=k._cancelAlgorithm(T);return G2(k),f(ae,()=>(z._state==="errored"?TA(k,z._storedError):(VE(z._writableStreamController,T),O6(S),P6(k)),null),pe=>(VE(z._writableStreamController,pe),O6(S),TA(k,pe),null)),k._finishPromise}function K2(S){return new TypeError(`TransformStreamDefaultController.prototype.${S} can only be used on a TransformStreamDefaultController`)}function P6(S){S._finishPromise_resolve!==void 0&&(S._finishPromise_resolve(),S._finishPromise_resolve=void 0,S._finishPromise_reject=void 0)}function TA(S,T){S._finishPromise_reject!==void 0&&(A(S._finishPromise),S._finishPromise_reject(T),S._finishPromise_resolve=void 0,S._finishPromise_reject=void 0)}function Cde(S){return new TypeError(`TransformStream.prototype.${S} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=U2,t.CountQueuingStrategy=q2,t.ReadableByteStreamController=rd,t.ReadableStream=vi,t.ReadableStreamBYOBReader=tp,t.ReadableStreamBYOBRequest=dm,t.ReadableStreamDefaultController=sd,t.ReadableStreamDefaultReader=fe,t.TransformStream=j2,t.TransformStreamDefaultController=ip,t.WritableStream=rp,t.WritableStreamDefaultController=vA,t.WritableStreamDefaultWriter=nd})});var O5e=E(()=>{if(!globalThis.ReadableStream)try{let t=require("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,N5e())}try{let{Blob:t}=require("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(r){let n=0,s=this;return new ReadableStream({type:"bytes",async pull(i){let o=await s.slice(n,Math.min(s.size,n+65536)).arrayBuffer();n+=o.byteLength,i.enqueue(new Uint8Array(o)),n===s.size&&i.close()}})})}catch{}});async function*SV(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,s=r.byteOffset+r.byteLength;for(;n!==s;){let i=Math.min(s-n,P5e),a=r.buffer.slice(n,n+i);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,s=r;for(;n!==s.size;){let a=await s.slice(n,Math.min(s.size,n+P5e)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var sjr,P5e,k5e,Ysr,hu,dI=lr(()=>{sjr=Re(O5e(),1);P5e=65536;k5e=class vV{#e=[];#t="";#r=0;#n="transparent";constructor(e=[],r={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let i of e){let a;ArrayBuffer.isView(i)?a=new Uint8Array(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):i instanceof ArrayBuffer?a=new Uint8Array(i.slice(0)):i instanceof vV?a=i:a=n.encode(`${i}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let s=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(s)?s:""}get size(){return this.#r}get type(){return this.#t}async text(){let e=new TextDecoder,r="";for await(let n of SV(this.#e,!1))r+=e.decode(n,{stream:!0});return r+=e.decode(),r}async arrayBuffer(){let e=new Uint8Array(this.size),r=0;for await(let n of SV(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=SV(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await e.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await e.return()}})}slice(e=0,r=this.size,n=""){let{size:s}=this,i=e<0?Math.max(s+e,0):Math.min(e,s),a=r<0?Math.max(s+r,0):Math.min(r,s),o=Math.max(a-i,0),c=this.#e,u=[],l=0;for(let f of c){if(l>=o)break;let p=ArrayBuffer.isView(f)?f.byteLength:f.size;if(i&&p<=i)i-=p,a-=p;else{let m;ArrayBuffer.isView(f)?(m=f.subarray(i,Math.min(p,a)),l+=m.byteLength):(m=f.slice(i,Math.min(p,a)),l+=m.size),a-=p,u.push(m),i=0}}let d=new vV([],{type:String(n).toLowerCase()});return d.#r=o,d.#e=u,d}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(k5e.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Ysr=k5e,hu=Ysr});var Jsr,Xsr,D0,IV=lr(()=>{dI();Jsr=class extends hu{#e=0;#t="";constructor(e,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,n),n===null&&(n={});let s=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(s)||(this.#e=s),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof hu&&/^(File)$/.test(e[Symbol.toStringTag])}},Xsr=Jsr,D0=Xsr});function L5e(t,e=hu){var r=`${D5e()}${D5e()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],s=`--${r}\r
|
|
Content-Disposition: form-data; name="`;return t.forEach((i,a)=>typeof i=="string"?n.push(s+CV(a)+`"\r
|
|
\r
|
|
${i.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
`)}\r
|
|
`):n.push(s+CV(a)+`"; filename="${CV(i.name,1)}"\r
|
|
Content-Type: ${i.type||"application/octet-stream"}\r
|
|
\r
|
|
`,i,`\r
|
|
`)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}var fI,Zsr,eir,D5e,tir,B5e,CV,Yh,B0,gB=lr(()=>{dI();IV();({toStringTag:fI,iterator:Zsr,hasInstance:eir}=Symbol),D5e=Math.random,tir="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),B5e=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[fI])?[(r=r!==void 0?r+"":e[fI]=="File"?e.name:"blob",t),e.name!==r||e[fI]=="blob"?new D0([e],r,e):e]:[t,e+""]),CV=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
|
|
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),Yh=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},B0=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[fI](){return"FormData"}[Zsr](){return this.entries()}static[eir](e){return e&&typeof e=="object"&&e[fI]==="FormData"&&!tir.some(r=>typeof e[r]!="function")}append(...e){Yh("append",arguments,2),this.#e.push(B5e(...e))}delete(e){Yh("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){Yh("get",arguments,1),e+="";for(var r=this.#e,n=r.length,s=0;s<n;s++)if(r[s][0]===e)return r[s][1];return null}getAll(e,r){return Yh("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return Yh("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){Yh("forEach",arguments,1);for(var[n,s]of this)e.call(r,s,n,this)}set(...e){Yh("set",arguments,2);var r=[],n=!0;e=B5e(...e),this.#e.forEach(s=>{s[0]===e[0]?n&&(n=!r.push(e)):r.push(s)}),n&&r.push(e),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var sf,AB=lr(()=>{sf=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var ha,TV=lr(()=>{AB();ha=class extends sf{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var yB,wV,pI,M5e,W5e,$5e,xB=lr(()=>{yB=Symbol.toStringTag,wV=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[yB]==="URLSearchParams",pI=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[yB]),M5e=t=>typeof t=="object"&&(t[yB]==="AbortSignal"||t[yB]==="EventTarget"),W5e=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},$5e=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var U5e=E((Ajr,F5e)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=require("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}F5e.exports=globalThis.DOMException});var Jh,q5e,j5e,RV,H5e,Q5e,G5e,K5e,V5e,z5e,bB,NV=lr(()=>{Jh=require("node:fs"),q5e=require("node:path"),j5e=Re(U5e(),1);IV();dI();({stat:RV}=Jh.promises),H5e=(t,e)=>V5e((0,Jh.statSync)(t),t,e),Q5e=(t,e)=>RV(t).then(r=>V5e(r,t,e)),G5e=(t,e)=>RV(t).then(r=>z5e(r,t,e)),K5e=(t,e)=>z5e((0,Jh.statSync)(t),t,e),V5e=(t,e,r="")=>new hu([new bB({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),z5e=(t,e,r="")=>new D0([new bB({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,q5e.basename)(e),{type:r,lastModified:t.mtimeMs}),bB=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new t({path:this.#e,lastModified:this.lastModified,size:r-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await RV(this.#e);if(e>this.lastModified)throw new j5e.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,Jh.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var J5e={};is(J5e,{toFormData:()=>cir});function oir(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let r=e[2]||e[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(s,i)=>String.fromCharCode(i)),n}async function cir(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let r=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new OV(r[1]||r[2]),s,i,a,o,c,u,l=[],d=new B0,f=g=>{a+=A.decode(g,{stream:!0})},p=g=>{l.push(g)},m=()=>{let g=new D0(l,u,{type:c});d.append(o,g)},h=()=>{d.append(o,a)},A=new TextDecoder("utf-8");A.decode(),n.onPartBegin=function(){n.onPartData=f,n.onPartEnd=h,s="",i="",a="",o="",c="",u=null,l.length=0},n.onHeaderField=function(g){s+=A.decode(g,{stream:!0})},n.onHeaderValue=function(g){i+=A.decode(g,{stream:!0})},n.onHeaderEnd=function(){if(i+=A.decode(),s=s.toLowerCase(),s==="content-disposition"){let g=i.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);g&&(o=g[2]||g[3]||""),u=oir(i),u&&(n.onPartData=p,n.onPartEnd=m)}else s==="content-type"&&(c=i);i="",s=""};for await(let g of t)n.write(g);return n.end(),d}var Rl,vn,Y5e,L0,EB,_B,rir,mI,nir,sir,iir,air,Xh,OV,X5e=lr(()=>{NV();gB();Rl=0,vn={START_BOUNDARY:Rl++,HEADER_FIELD_START:Rl++,HEADER_FIELD:Rl++,HEADER_VALUE_START:Rl++,HEADER_VALUE:Rl++,HEADER_VALUE_ALMOST_DONE:Rl++,HEADERS_ALMOST_DONE:Rl++,PART_DATA_START:Rl++,PART_DATA:Rl++,END:Rl++},Y5e=1,L0={PART_BOUNDARY:Y5e,LAST_BOUNDARY:Y5e*=2},EB=10,_B=13,rir=32,mI=45,nir=58,sir=97,iir=122,air=t=>t|32,Xh=()=>{},OV=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=Xh,this.onHeaderField=Xh,this.onHeadersEnd=Xh,this.onHeaderValue=Xh,this.onPartBegin=Xh,this.onPartData=Xh,this.onPartEnd=Xh,this.boundaryChars={},e=`\r
|
|
--`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=vn.START_BOUNDARY}write(e){let r=0,n=e.length,s=this.index,{lookbehind:i,boundary:a,boundaryChars:o,index:c,state:u,flags:l}=this,d=this.boundary.length,f=d-1,p=e.length,m,h,A=x=>{this[x+"Mark"]=r},g=x=>{delete this[x+"Mark"]},b=(x,v,I,R)=>{(v===void 0||v!==I)&&this[x](R&&R.subarray(v,I))},y=(x,v)=>{let I=x+"Mark";I in this&&(v?(b(x,this[I],r,e),delete this[I]):(b(x,this[I],e.length,e),this[I]=0))};for(r=0;r<n;r++)switch(m=e[r],u){case vn.START_BOUNDARY:if(c===a.length-2){if(m===mI)l|=L0.LAST_BOUNDARY;else if(m!==_B)return;c++;break}else if(c-1===a.length-2){if(l&L0.LAST_BOUNDARY&&m===mI)u=vn.END,l=0;else if(!(l&L0.LAST_BOUNDARY)&&m===EB)c=0,b("onPartBegin"),u=vn.HEADER_FIELD_START;else return;break}m!==a[c+2]&&(c=-2),m===a[c+2]&&c++;break;case vn.HEADER_FIELD_START:u=vn.HEADER_FIELD,A("onHeaderField"),c=0;case vn.HEADER_FIELD:if(m===_B){g("onHeaderField"),u=vn.HEADERS_ALMOST_DONE;break}if(c++,m===mI)break;if(m===nir){if(c===1)return;y("onHeaderField",!0),u=vn.HEADER_VALUE_START;break}if(h=air(m),h<sir||h>iir)return;break;case vn.HEADER_VALUE_START:if(m===rir)break;A("onHeaderValue"),u=vn.HEADER_VALUE;case vn.HEADER_VALUE:m===_B&&(y("onHeaderValue",!0),b("onHeaderEnd"),u=vn.HEADER_VALUE_ALMOST_DONE);break;case vn.HEADER_VALUE_ALMOST_DONE:if(m!==EB)return;u=vn.HEADER_FIELD_START;break;case vn.HEADERS_ALMOST_DONE:if(m!==EB)return;b("onHeadersEnd"),u=vn.PART_DATA_START;break;case vn.PART_DATA_START:u=vn.PART_DATA,A("onPartData");case vn.PART_DATA:if(s=c,c===0){for(r+=f;r<p&&!(e[r]in o);)r+=d;r-=f,m=e[r]}if(c<a.length)a[c]===m?(c===0&&y("onPartData",!0),c++):c=0;else if(c===a.length)c++,m===_B?l|=L0.PART_BOUNDARY:m===mI?l|=L0.LAST_BOUNDARY:c=0;else if(c-1===a.length)if(l&L0.PART_BOUNDARY){if(c=0,m===EB){l&=~L0.PART_BOUNDARY,b("onPartEnd"),b("onPartBegin"),u=vn.HEADER_FIELD_START;break}}else l&L0.LAST_BOUNDARY&&m===mI?(b("onPartEnd"),u=vn.END,l=0):c=0;if(c>0)i[c-1]=m;else if(s>0){let x=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);b("onPartData",0,s,x),s=0,A("onPartData"),r--}break;case vn.END:break;default:throw new Error(`Unexpected state entered: ${u}`)}y("onHeaderField"),y("onHeaderValue"),y("onPartData"),this.index=c,this.state=u,this.flags=l}end(){if(this.state===vn.HEADER_FIELD_START&&this.index===0||this.state===vn.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==vn.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function PV(t){if(t[ro].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[ro].disturbed=!0,t[ro].error)throw t[ro].error;let{body:e}=t;if(e===null)return To.Buffer.alloc(0);if(!(e instanceof Ic.default))return To.Buffer.alloc(0);let r=[],n=0;try{for await(let s of e){if(t.size>0&&n+s.length>t.size){let i=new ha(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(i),i}n+=s.length,r.push(s)}}catch(s){throw s instanceof sf?s:new ha(`Invalid response body while trying to fetch ${t.url}: ${s.message}`,"system",s)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(s=>typeof s=="string")?To.Buffer.from(r.join("")):To.Buffer.concat(r,n)}catch(s){throw new ha(`Could not create Buffer from response body for ${t.url}: ${s.message}`,"system",s)}else throw new ha(`Premature close of server response while trying to fetch ${t.url}`)}var Ic,af,To,uir,ro,Nl,ab,lir,SB,Z5e,e8e,vB=lr(()=>{Ic=Re(require("node:stream"),1),af=require("node:util"),To=require("node:buffer");dI();gB();TV();AB();xB();uir=(0,af.promisify)(Ic.default.pipeline),ro=Symbol("Body internals"),Nl=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:wV(e)?e=To.Buffer.from(e.toString()):pI(e)||To.Buffer.isBuffer(e)||(af.types.isAnyArrayBuffer(e)?e=To.Buffer.from(e):ArrayBuffer.isView(e)?e=To.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Ic.default||(e instanceof B0?(e=L5e(e),n=e.type.split("=")[1]):e=To.Buffer.from(String(e))));let s=e;To.Buffer.isBuffer(e)?s=Ic.default.Readable.from(e):pI(e)&&(s=Ic.default.Readable.from(e.stream())),this[ro]={body:e,stream:s,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Ic.default&&e.on("error",i=>{let a=i instanceof sf?i:new ha(`Invalid response body while trying to fetch ${this.url}: ${i.message}`,"system",i);this[ro].error=a})}get body(){return this[ro].stream}get bodyUsed(){return this[ro].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await PV(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new B0,s=new URLSearchParams(await this.text());for(let[i,a]of s)n.append(i,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(X5e(),J5e));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[ro].body&&this[ro].body.type||"",r=await this.arrayBuffer();return new hu([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await PV(this);return new TextDecoder().decode(e)}buffer(){return PV(this)}};Nl.prototype.buffer=(0,af.deprecate)(Nl.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Nl.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,af.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});ab=(t,e)=>{let r,n,{body:s}=t[ro];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return s instanceof Ic.default&&typeof s.getBoundary!="function"&&(r=new Ic.PassThrough({highWaterMark:e}),n=new Ic.PassThrough({highWaterMark:e}),s.pipe(r),s.pipe(n),t[ro].stream=r,s=n),s},lir=(0,af.deprecate)(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),SB=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":wV(t)?"application/x-www-form-urlencoded;charset=UTF-8":pI(t)?t.type||null:To.Buffer.isBuffer(t)||af.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof B0?`multipart/form-data; boundary=${e[ro].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${lir(t)}`:t instanceof Ic.default?null:"text/plain;charset=UTF-8",Z5e=t=>{let{body:e}=t[ro];return e===null?0:pI(e)?e.size:To.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},e8e=async(t,{body:e})=>{e===null?t.end():await uir(e,t)}});function t8e(t=[]){return new no(t.reduce((e,r,n,s)=>(n%2===0&&e.push(s.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return IB(e),DV(e,String(r)),!0}catch{return!1}}))}var kV,hI,IB,DV,no,CB=lr(()=>{kV=require("node:util"),hI=Re(require("node:http"),1),IB=typeof hI.default.validateHeaderName=="function"?hI.default.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},DV=typeof hI.default.validateHeaderValue=="function"?hI.default.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},no=class t extends URLSearchParams{constructor(e){let r=[];if(e instanceof t){let n=e.raw();for(let[s,i]of Object.entries(n))r.push(...i.map(a=>[s,a]))}else if(e!=null)if(typeof e=="object"&&!kV.types.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(s=>{if(typeof s!="object"||kV.types.isBoxedPrimitive(s))throw new TypeError("Each header pair must be an iterable object");return[...s]}).map(s=>{if(s.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...s]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,s])=>(IB(n),DV(n,String(s)),[String(n).toLowerCase(),String(s)])):void 0,super(r),new Proxy(this,{get(n,s,i){switch(s){case"append":case"set":return(a,o)=>(IB(a),DV(a,String(o)),URLSearchParams.prototype[s].call(n,String(a).toLowerCase(),String(o)));case"delete":case"has":case"getAll":return a=>(IB(a),URLSearchParams.prototype[s].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,s,i)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};Object.defineProperties(no.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var dir,gI,BV=lr(()=>{dir=new Set([301,302,303,307,308]),gI=t=>dir.has(t)});var gu,wo,r8e=lr(()=>{CB();vB();BV();gu=Symbol("Response internals"),wo=class t extends Nl{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,s=new no(r.headers);if(e!==null&&!s.has("Content-Type")){let i=SB(e,this);i&&s.append("Content-Type",i)}this[gu]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:s,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[gu].type}get url(){return this[gu].url||""}get status(){return this[gu].status}get ok(){return this[gu].status>=200&&this[gu].status<300}get redirected(){return this[gu].counter>0}get statusText(){return this[gu].statusText}get headers(){return this[gu].headers}get highWaterMark(){return this[gu].highWaterMark}clone(){return new t(ab(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!gI(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new t(null,{status:0,statusText:""});return e[gu].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let s=new no(r&&r.headers);return s.has("content-type")||s.set("content-type","application/json"),new t(n,{...r,headers:s})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(wo.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var n8e,s8e=lr(()=>{n8e=t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""}});function i8e(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function u8e(t){if(!o8e.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function fir(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,a8e.isIP)(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function ob(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:fir(t)}function l8e(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let s=t.referrer,i=i8e(s),a=i8e(s,!0);i.toString().length>4096&&(i=a),e&&(i=e(i)),r&&(a=r(a));let o=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return i;case"strict-origin":return ob(i)&&!ob(o)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return i.origin===o.origin?i:ob(i)&&!ob(o)?"no-referrer":a;case"same-origin":return i.origin===o.origin?i:"no-referrer";case"origin-when-cross-origin":return i.origin===o.origin?i:a;case"no-referrer-when-downgrade":return ob(i)&&!ob(o)?"no-referrer":i;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function d8e(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&o8e.has(n)&&(r=n);return r}var a8e,o8e,c8e,LV=lr(()=>{a8e=require("node:net");o8e=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),c8e="strict-origin-when-cross-origin"});var f8e,p8e,ni,AI,pir,M0,m8e,h8e=lr(()=>{f8e=require("node:url"),p8e=require("node:util");CB();vB();xB();s8e();LV();ni=Symbol("Request internals"),AI=t=>typeof t=="object"&&typeof t[ni]=="object",pir=(0,p8e.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),M0=class t extends Nl{constructor(e,r={}){let n;if(AI(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let s=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(s)&&(s=s.toUpperCase()),!AI(r)&&"data"in r&&pir(),(r.body!=null||AI(e)&&e.body!==null)&&(s==="GET"||s==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let i=r.body?r.body:AI(e)&&e.body!==null?ab(e):null;super(i,{size:r.size||e.size||0});let a=new no(r.headers||e.headers||{});if(i!==null&&!a.has("Content-Type")){let u=SB(i,this);u&&a.set("Content-Type",u)}let o=AI(e)?e.signal:null;if("signal"in r&&(o=r.signal),o!=null&&!M5e(o))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let c=r.referrer==null?e.referrer:r.referrer;if(c==="")c="no-referrer";else if(c){let u=new URL(c);c=/^about:(\/\/)?client$/.test(u)?"client":u}else c=void 0;this[ni]={method:s,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:o,referrer:c},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[ni].method}get url(){return(0,f8e.format)(this[ni].parsedURL)}get headers(){return this[ni].headers}get redirect(){return this[ni].redirect}get signal(){return this[ni].signal}get referrer(){if(this[ni].referrer==="no-referrer")return"";if(this[ni].referrer==="client")return"about:client";if(this[ni].referrer)return this[ni].referrer.toString()}get referrerPolicy(){return this[ni].referrerPolicy}set referrerPolicy(e){this[ni].referrerPolicy=u8e(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(M0.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});m8e=t=>{let{parsedURL:e}=t[ni],r=new no(t[ni].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let o=Z5e(t);typeof o=="number"&&!Number.isNaN(o)&&(n=String(o))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=c8e),t.referrer&&t.referrer!=="no-referrer"?t[ni].referrer=l8e(t):t[ni].referrer="no-referrer",t[ni].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:s}=t;typeof s=="function"&&(s=s(e));let i=n8e(e),a={path:e.pathname+i,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:s};return{parsedURL:e,options:a}}});var yI,g8e=lr(()=>{AB();yI=class extends sf{constructor(e,r="aborted"){super(e,r)}}});var TB={};is(TB,{AbortError:()=>yI,Blob:()=>hu,FetchError:()=>ha,File:()=>D0,FormData:()=>B0,Headers:()=>no,Request:()=>M0,Response:()=>wo,blobFrom:()=>Q5e,blobFromSync:()=>H5e,default:()=>cb,fileFrom:()=>G5e,fileFromSync:()=>K5e,isRedirect:()=>gI});async function cb(t,e){return new Promise((r,n)=>{let s=new M0(t,e),{parsedURL:i,options:a}=m8e(s);if(!mir.has(i.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${i.protocol.replace(/:$/,"")}" is not supported.`);if(i.protocol==="data:"){let m=T5e(s.url),h=new wo(m,{headers:{"Content-Type":m.typeFull}});r(h);return}let o=(i.protocol==="https:"?y8e.default:A8e.default).request,{signal:c}=s,u=null,l=()=>{let m=new yI("The operation was aborted.");n(m),s.body&&s.body instanceof Ro.default.Readable&&s.body.destroy(m),!(!u||!u.body)&&u.body.emit("error",m)};if(c&&c.aborted){l();return}let d=()=>{l(),p()},f=o(i.toString(),a);c&&c.addEventListener("abort",d);let p=()=>{f.abort(),c&&c.removeEventListener("abort",d)};f.on("error",m=>{n(new ha(`request to ${s.url} failed, reason: ${m.message}`,"system",m)),p()}),hir(f,m=>{u&&u.body&&u.body.destroy(m)}),process.version<"v14"&&f.on("socket",m=>{let h;m.prependListener("end",()=>{h=m._eventsCount}),m.prependListener("close",A=>{if(u&&h<m._eventsCount&&!A){let g=new Error("Premature close");g.code="ERR_STREAM_PREMATURE_CLOSE",u.body.emit("error",g)}})}),f.on("response",m=>{f.setTimeout(0);let h=t8e(m.rawHeaders);if(gI(m.statusCode)){let x=h.get("Location"),v=null;try{v=x===null?null:new URL(x,s.url)}catch{if(s.redirect!=="manual"){n(new ha(`uri requested responds with an invalid redirect URL: ${x}`,"invalid-redirect")),p();return}}switch(s.redirect){case"error":n(new ha(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect")),p();return;case"manual":break;case"follow":{if(v===null)break;if(s.counter>=s.follow){n(new ha(`maximum redirect reached at: ${s.url}`,"max-redirect")),p();return}let I={headers:new no(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:ab(s),signal:s.signal,size:s.size,referrer:s.referrer,referrerPolicy:s.referrerPolicy};if(!W5e(s.url,v)||!$5e(s.url,v))for(let w of["authorization","www-authenticate","cookie","cookie2"])I.headers.delete(w);if(m.statusCode!==303&&s.body&&e.body instanceof Ro.default.Readable){n(new ha("Cannot follow redirect with body being a readable stream","unsupported-redirect")),p();return}(m.statusCode===303||(m.statusCode===301||m.statusCode===302)&&s.method==="POST")&&(I.method="GET",I.body=void 0,I.headers.delete("content-length"));let R=d8e(h);R&&(I.referrerPolicy=R),r(cb(new M0(v,I))),p();return}default:return n(new TypeError(`Redirect option '${s.redirect}' is not a valid value of RequestRedirect`))}}c&&m.once("end",()=>{c.removeEventListener("abort",d)});let A=(0,Ro.pipeline)(m,new Ro.PassThrough,x=>{x&&n(x)});process.version<"v12.10"&&m.on("aborted",d);let g={url:s.url,status:m.statusCode,statusText:m.statusMessage,headers:h,size:s.size,counter:s.counter,highWaterMark:s.highWaterMark},b=h.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||b===null||m.statusCode===204||m.statusCode===304){u=new wo(A,g),r(u);return}let y={flush:Zh.default.Z_SYNC_FLUSH,finishFlush:Zh.default.Z_SYNC_FLUSH};if(b==="gzip"||b==="x-gzip"){A=(0,Ro.pipeline)(A,Zh.default.createGunzip(y),x=>{x&&n(x)}),u=new wo(A,g),r(u);return}if(b==="deflate"||b==="x-deflate"){let x=(0,Ro.pipeline)(m,new Ro.PassThrough,v=>{v&&n(v)});x.once("data",v=>{(v[0]&15)===8?A=(0,Ro.pipeline)(A,Zh.default.createInflate(),I=>{I&&n(I)}):A=(0,Ro.pipeline)(A,Zh.default.createInflateRaw(),I=>{I&&n(I)}),u=new wo(A,g),r(u)}),x.once("end",()=>{u||(u=new wo(A,g),r(u))});return}if(b==="br"){A=(0,Ro.pipeline)(A,Zh.default.createBrotliDecompress(),x=>{x&&n(x)}),u=new wo(A,g),r(u);return}u=new wo(A,g),r(u)}),e8e(f,s).catch(n)})}function hir(t,e){let r=xI.Buffer.from(`0\r
|
|
\r
|
|
`),n=!1,s=!1,i;t.on("response",a=>{let{headers:o}=a;n=o["transfer-encoding"]==="chunked"&&!o["content-length"]}),t.on("socket",a=>{let o=()=>{if(n&&!s){let u=new Error("Premature close");u.code="ERR_STREAM_PREMATURE_CLOSE",e(u)}},c=u=>{s=xI.Buffer.compare(u.slice(-5),r)===0,!s&&i&&(s=xI.Buffer.compare(i.slice(-3),r.slice(0,3))===0&&xI.Buffer.compare(u.slice(-2),r.slice(3))===0),i=u};a.prependListener("close",o),a.on("data",c),t.on("close",()=>{a.removeListener("close",o),a.removeListener("data",c)})})}var A8e,y8e,Zh,Ro,xI,mir,bI=lr(()=>{A8e=Re(require("node:http"),1),y8e=Re(require("node:https"),1),Zh=Re(require("node:zlib"),1),Ro=Re(require("node:stream"),1),xI=require("node:buffer");w5e();vB();r8e();CB();h8e();TV();g8e();BV();gB();xB();LV();NV();mir=new Set(["data:","http:","https:"])});function In(t){return gir[t]||t}function MV(t,e){if(!t)return()=>{};if(t.aborted)return e.abort(),()=>{};let r=()=>{e.abort()};return t.addEventListener("abort",r,{once:!0}),()=>{t.removeEventListener("abort",r)}}async function ge(t,e={}){let r=parseInt(e.retries||"0",10)||0,n=Array.isArray(e.validStatusCodes)?e.validStatusCodes:[],s;for(let a=0;a<=r;a++){let o=be.getStore()||"system";a>0?(_("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u7B2C ${a} \u6B21\u91CD\u8BD5: ${t}`),s&&(s.cause?.code==="ETIMEDOUT"||s.cause?.code==="ECONNRESET"||s.name==="AbortError")?await new Promise(f=>setTimeout(f,100)):await new Promise(f=>setTimeout(f,Math.min(1e3*Math.pow(2,a-1),5e3)))):_("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${t}`);let c=parseInt(e.timeout||O.vodRequestTimeout||"5000",10)||5e3,u=new AbortController,l=setTimeout(()=>u.abort(),c),d=MV(e.signal,u);try{let f;if(typeof WebAssembly>"u"){_("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528node-fetch");let g=(await Promise.resolve().then(()=>(bI(),TB))).default;f=await g(t,{method:"GET",headers:{...e.headers},signal:u.signal})}else f=await fetch(t,{method:"GET",headers:{...e.headers},signal:u.signal});if(clearTimeout(l),!f.ok&&!n.includes(f.status))throw new Error(`HTTP error! status: ${f.status}`);let p;if(e.base64Data){_("info","[Utils] [HTTP] base64\u6A21\u5F0F");let g=await f.arrayBuffer(),b=new Uint8Array(g),y="",x=32768;for(let v=0;v<b.length;v+=x){let I=b.subarray(v,v+x);y+=String.fromCharCode.apply(null,I)}p=btoa(y)}else if(e.zlibMode){_("info","[Utils] [HTTP] zlib\u6A21\u5F0F");let g=await f.arrayBuffer(),b;if(typeof DecompressionStream<"u"){let y=new DecompressionStream("deflate"),x=new Response(new Blob([g]).stream().pipeThrough(y));try{b=await x.text()}catch(v){throw _("error",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u89E3\u538B\u7F29\u5931\u8D25`,v),v}}else{_("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528pako\u89E3\u538B");try{let x=(await import("pako")).inflate(new Uint8Array(g));b=new TextDecoder("utf-8").decode(x)}catch(y){throw _("error",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] pako\u89E3\u538B\u7F29\u5931\u8D25`,y),y}}p=b}else p=await f.text();let m;try{m=JSON.parse(p)}catch{m=p}let h={},A=[];for(let[g,b]of f.headers.entries())g.toLowerCase()==="set-cookie"?A.push(b):h[g]=b;return A.length>0&&(h["set-cookie"]=A.join(";")),a>0&&_("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u91CD\u8BD5\u6210\u529F`),{data:m,status:f.status,headers:h}}catch(f){clearTimeout(l),s=f;let p=be.getStore()||"system";if(e.signal?.aborted)throw f;if(f.name==="AbortError"?(_("error",`[${p}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u8D85\u65F6:`,f.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u8D85\u65F6\u65F6\u95F4:",`${c}ms`),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${a+1}/${r+1}`)):(_("error",`[${p}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,f.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u9519\u8BEF\u7C7B\u578B:",f.name),_("error","- \u6D88\u606F:",f.message),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${a+1}/${r+1}`),f.cause&&(_("error","- \u7801:",f.cause.code),_("error","- \u539F\u56E0:",f.cause.message))),a<r){_("info",`[${p}] [\u8BF7\u6C42\u6A21\u62DF] \u51C6\u5907\u91CD\u8BD5...`);continue}}finally{d()}}let i=be.getStore()||"system";throw _("error",`[${i}] [\u8BF7\u6C42\u6A21\u62DF] \u6240\u6709\u91CD\u8BD5\u5747\u5931\u8D25 (${r+1} \u6B21\u5C1D\u8BD5)`),s}async function Kr(t,e,r={}){let n=parseInt(r.retries||"0",10)||0,s=Array.isArray(r.validStatusCodes)?r.validStatusCodes:[],i;for(let o=0;o<=n;o++){let c=be.getStore()||"system";o>0?(_("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] \u7B2C ${o} \u6B21\u91CD\u8BD5: ${t}`),i&&(i.cause?.code==="ETIMEDOUT"||i.cause?.code==="ECONNRESET"||i.name==="AbortError")?await new Promise(g=>setTimeout(g,100)):await new Promise(g=>setTimeout(g,Math.min(1e3*Math.pow(2,o-1),5e3)))):_("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] HTTP POST: ${t}`);let u=parseInt(r.timeout||O.vodRequestTimeout||"5000",10)||5e3,l=new AbortController,d=setTimeout(()=>l.abort(),u),f=MV(r.signal,l),{headers:p={},params:m,allow_redirects:h=!0}=r,A={method:"POST",headers:{...p},body:e,signal:l.signal};h||(A.redirect="manual");try{let g;if(typeof WebAssembly>"u"){_("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528node-fetch");let x=(await Promise.resolve().then(()=>(bI(),TB))).default;g=await x(t,A)}else g=await fetch(t,A);clearTimeout(d);let b=await g.text();if(!g.ok&&!s.includes(g.status))throw _("error",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] response data: `,b),new Error(`HTTP error! status: ${g.status}`);let y;try{y=JSON.parse(b)}catch{y=b}return o>0&&_("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] \u91CD\u8BD5\u6210\u529F`),{data:y,status:g.status,headers:Object.fromEntries(g.headers.entries())}}catch(g){clearTimeout(d),i=g;let b=be.getStore()||"system";if(r.signal?.aborted)throw g;if(g.name==="AbortError"?(_("error",`[${b}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u8D85\u65F6:`,g.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u8D85\u65F6\u65F6\u95F4:",`${u}ms`),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${o+1}/${n+1}`)):(_("error",`[${b}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,g.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u9519\u8BEF\u7C7B\u578B:",g.name),_("error","- \u6D88\u606F:",g.message),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${o+1}/${n+1}`),g.cause&&(_("error","- \u7801:",g.cause.code),_("error","- \u539F\u56E0:",g.cause.message))),o<n){_("info",`[${b}] [\u8BF7\u6C42\u6A21\u62DF] \u51C6\u5907\u91CD\u8BD5...`);continue}}finally{f()}}let a=be.getStore()||"system";throw _("error",`[${a}] [\u8BF7\u6C42\u6A21\u62DF] \u6240\u6709\u91CD\u8BD5\u5747\u5931\u8D25 (${n+1} \u6B21\u5C1D\u8BD5)`),i}async function WV(t,e,r,n={}){let s=be.getStore()||"system";_("info",`[${s}] [\u8BF7\u6C42\u6A21\u62DF] HTTP ${t}: ${e}`);let{headers:i={}}=n,a=Array.isArray(n.validStatusCodes)?n.validStatusCodes:[],o={method:t,headers:{...i}};r!=null&&(o.body=r),n.body!==void 0&&n.body!==null&&(o.body=n.body),n.signal&&(o.signal=n.signal);try{let c=await fetch(e,o),u=await c.text();if(!c.ok&&!a.includes(c.status))throw _("error",`[${s}] [\u8BF7\u6C42\u6A21\u62DF] response data: `,u),new Error(`HTTP error! status: ${c.status}`);let l;try{l=JSON.parse(u)}catch{l=u}return{data:l,status:c.status,headers:Object.fromEntries(c.headers.entries())}}catch(c){let u=be.getStore()||"system";throw _("error",`[${u}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,c.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",e),_("error","- \u9519\u8BEF\u7C7B\u578B:",c.name),_("error","- \u6D88\u606F:",c.message),c.cause&&(_("error","- \u7801:",c.cause?.code),_("error","- \u539F\u56E0:",c.cause?.message)),c}}async function wB(t,e,r={}){return WV("PATCH",t,e,r)}async function b8e(t,e,r={}){return WV("PUT",t,e,r)}async function ub(t,e={}){return WV("DELETE",t,void 0,e)}async function E8e(t){try{let n=(await ge(t,{headers:{"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15"}})).data.match(/<title[^>]*>(.*?)<\/title>/i);return n&&n[1]?n[1].replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").trim():t}catch(e){let r=be.getStore()||"system";return _("error",`[${r}] \u83B7\u53D6\u6807\u9898\u5931\u8D25: ${e.message}`),t}}function Le(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}function _8e(t,e=200){if(typeof t!="string"||!t.trim().startsWith("<?xml"))throw new Error("Expected data to be an XML string starting with <?xml");return new Response(t,{status:e,headers:{"Content-Type":"application/xml","Access-Control-Allow-Origin":"*"}})}function yi(t,e=!0){let r=e?encodeURIComponent:s=>s,n="";for(let s in t)t.hasOwnProperty(s)&&(n.length>0&&(n+="&"),n+=r(s)+"="+r(t[s]));return n}function EI(t={}){let e={};for(let[s,i]of Object.entries(t))typeof i=="boolean"?e[s]=i?"true":"false":i==null?e[s]="":e[s]=String(i);let r=[];for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&r.push(s);r.sort();let n=[];for(let s of r){let i=encodeURIComponent(s),a=encodeURIComponent(e[s]);n.push(`${i}=${a}`)}return n.join("&")}function lb(t,e){let r=t,n="",s=t.indexOf("#"),i="";s!==-1&&(r=t.substring(0,s),i=t.substring(s));let a=r.indexOf("?");a!==-1&&(n=r.substring(a+1),r=r.substring(0,a));let o={};if(n){let u=n.split("&");for(let l of u)if(l){let[d,f=""]=l.split("=").map(decodeURIComponent);o[d]=f}}for(let u in e)Object.prototype.hasOwnProperty.call(e,u)&&(o[u]=e[u]);let c=[];for(let u in o)Object.prototype.hasOwnProperty.call(o,u)&&c.push(`${encodeURIComponent(u)}=${encodeURIComponent(o[u])}`);return r+(c.length?"?"+c.join("&"):"")+i}function S8e(t){let e=t.indexOf("//")+2;e===1&&(e=0);let r=t.indexOf("/",e);if(r===-1)return"/";let n=t.indexOf("?",r),s=t.indexOf("#",r),i=n!==-1?n:s!==-1?s:t.length;return t.substring(r,i)||"/"}async function $V(t,e={},r){let{headers:n={},sniffLimit:s}=e,i=parseInt(s||"32768",10)||32768,a=parseInt(e.timeout||O.vodRequestTimeout||"5000",10)||5e3,o=new AbortController,c=setTimeout(()=>o.abort(),a),u=MV(e.signal,o);try{let l=be.getStore()||"system";_("info",`[${l}] [\u6D41\u5F0F\u8BF7\u6C42] HTTP GET: ${t}`);let d=await fetch(t,{method:"GET",headers:n,signal:o.signal});if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);let f=d.body.getReader?d.body.getReader():null;if(!f){let v=be.getStore()||"system";_("warn",`[${v}] [\u6D41\u5F0F\u8BF7\u6C42] \u73AF\u5883\u4E0D\u652F\u6301\u6D41\u5F0F\u8BFB\u53D6,\u56DE\u9000\u5230\u666E\u901A\u8BF7\u6C42`);let I=await d.text();if(clearTimeout(c),r&&!r(I.slice(0,i)))return _("info",`[${v}] [\u6D41\u5F0F\u8BF7\u6C42] \u68C0\u6D4B\u5230\u65E0\u6548\u6570\u636E(\u56DE\u9000\u6A21\u5F0F),\u4E22\u5F03\u7ED3\u679C`),null;try{return JSON.parse(I)}catch{return I}}let p=0,m=[],h=!1,A="",g=!1;for(;;){let{done:v,value:I}=await f.read();if(v)break;if(p+=I.length,!g&&r){let R=new TextDecoder("utf-8").decode(I,{stream:!0});if(A+=R,!r(A)){let w=be.getStore()||"system";_("info",`[${w}] [\u6D41\u5F0F\u8BF7\u6C42] \u55C5\u63A2\u5230\u65E0\u6548\u7279\u5F81(\u5DF2\u8BFB${p}\u5B57\u8282),\u7ACB\u5373\u7194\u65AD`),o.abort(),h=!0;break}p>i&&(g=!0,A=null)}m.push(I)}if(clearTimeout(c),h)return null;let b=new Uint8Array(p),y=0;for(let v of m)b.set(v,y),y+=v.length;let x=new TextDecoder("utf-8").decode(b);try{return JSON.parse(x)}catch{return x}}catch(l){let d=be.getStore()||"system";return clearTimeout(c),l.name==="AbortError"||_("error",`[${d}] [\u6D41\u5F0F\u8BF7\u6C42] \u5931\u8D25: ${l.message}`),null}finally{u()}}var x8e,be,gir,ir=lr(()=>{Ot();_t();x8e=require("node:async_hooks"),be=new x8e.AsyncLocalStorage,gir={360:"360kan",imgo:"mango"}});function an(t){let e=0;for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);e=(e<<5)-e+n,e=e>>>0}return e.toString(16)}function db(t,e){return t==="lastSelectMap"&&e instanceof Map?JSON.stringify(Object.fromEntries(e)):JSON.stringify(e)}function Ls(t){function e(y){let x="";for(let v=0;v<y.length;v++){let I=y.charCodeAt(v);I<128?x+=String.fromCharCode(I):I<2048?(x+=String.fromCharCode(192|I>>6),x+=String.fromCharCode(128|I&63)):(x+=String.fromCharCode(224|I>>12),x+=String.fromCharCode(128|I>>6&63),x+=String.fromCharCode(128|I&63))}return x}t=e(t);function r(y,x){return y<<x|y>>>32-x}function n(y,x){let v=y&1073741824,I=x&1073741824,R=y&2147483648,w=x&2147483648,N=(y&1073741823)+(x&1073741823);return v&I?N^2147483648^R^w:v|I?N&1073741824?N^3221225472^R^w:N^1073741824^R^w:N^R^w}function s(y,x,v){return y&x|~y&v}function i(y,x,v){return y&v|x&~v}function a(y,x,v){return y^x^v}function o(y,x,v){return x^(y|~v)}function c(y,x,v,I,R,w,N){return y=n(y,n(n(s(x,v,I),R),N)),n(r(y,w),x)}function u(y,x,v,I,R,w,N){return y=n(y,n(n(i(x,v,I),R),N)),n(r(y,w),x)}function l(y,x,v,I,R,w,N){return y=n(y,n(n(a(x,v,I),R),N)),n(r(y,w),x)}function d(y,x,v,I,R,w,N){return y=n(y,n(n(o(x,v,I),R),N)),n(r(y,w),x)}function f(y){let x=y.length,v=((x+8>>>6)+1)*16,I=new Array(v).fill(0);for(let R=0;R<x;R++)I[R>>2]|=y.charCodeAt(R)<<R%4*8;return I[x>>2]|=128<<x%4*8,I[v-2]=x*8,I}function p(y){let x="";for(let v=0;v<=3;v++){let R="0"+(y>>>v*8&255).toString(16);x+=R.substr(R.length-2,2)}return x}let m=f(t),h=1732584193,A=4023233417,g=2562383102,b=271733878;for(let y=0;y<m.length;y+=16){let x=h,v=A,I=g,R=b;h=c(h,A,g,b,m[y+0],7,3614090360),b=c(b,h,A,g,m[y+1],12,3905402710),g=c(g,b,h,A,m[y+2],17,606105819),A=c(A,g,b,h,m[y+3],22,3250441966),h=c(h,A,g,b,m[y+4],7,4118548399),b=c(b,h,A,g,m[y+5],12,1200080426),g=c(g,b,h,A,m[y+6],17,2821735955),A=c(A,g,b,h,m[y+7],22,4249261313),h=c(h,A,g,b,m[y+8],7,1770035416),b=c(b,h,A,g,m[y+9],12,2336552879),g=c(g,b,h,A,m[y+10],17,4294925233),A=c(A,g,b,h,m[y+11],22,2304563134),h=c(h,A,g,b,m[y+12],7,1804603682),b=c(b,h,A,g,m[y+13],12,4254626195),g=c(g,b,h,A,m[y+14],17,2792965006),A=c(A,g,b,h,m[y+15],22,1236535329),h=u(h,A,g,b,m[y+1],5,4129170786),b=u(b,h,A,g,m[y+6],9,3225465664),g=u(g,b,h,A,m[y+11],14,643717713),A=u(A,g,b,h,m[y+0],20,3921069994),h=u(h,A,g,b,m[y+5],5,3593408605),b=u(b,h,A,g,m[y+10],9,38016083),g=u(g,b,h,A,m[y+15],14,3634488961),A=u(A,g,b,h,m[y+4],20,3889429448),h=u(h,A,g,b,m[y+9],5,568446438),b=u(b,h,A,g,m[y+14],9,3275163606),g=u(g,b,h,A,m[y+3],14,4107603335),A=u(A,g,b,h,m[y+8],20,1163531501),h=u(h,A,g,b,m[y+13],5,2850285829),b=u(b,h,A,g,m[y+2],9,4243563512),g=u(g,b,h,A,m[y+7],14,1735328473),A=u(A,g,b,h,m[y+12],20,2368359562),h=l(h,A,g,b,m[y+5],4,4294588738),b=l(b,h,A,g,m[y+8],11,2272392833),g=l(g,b,h,A,m[y+11],16,1839030562),A=l(A,g,b,h,m[y+14],23,4259657740),h=l(h,A,g,b,m[y+1],4,2763975236),b=l(b,h,A,g,m[y+4],11,1272893353),g=l(g,b,h,A,m[y+7],16,4139469664),A=l(A,g,b,h,m[y+10],23,3200236656),h=l(h,A,g,b,m[y+13],4,681279174),b=l(b,h,A,g,m[y+0],11,3936430074),g=l(g,b,h,A,m[y+3],16,3572445317),A=l(A,g,b,h,m[y+6],23,76029189),h=l(h,A,g,b,m[y+9],4,3654602809),b=l(b,h,A,g,m[y+12],11,3873151461),g=l(g,b,h,A,m[y+15],16,530742520),A=l(A,g,b,h,m[y+2],23,3299628645),h=d(h,A,g,b,m[y+0],6,4096336452),b=d(b,h,A,g,m[y+7],10,1126891415),g=d(g,b,h,A,m[y+14],15,2878612391),A=d(A,g,b,h,m[y+5],21,4237533241),h=d(h,A,g,b,m[y+12],6,1700485571),b=d(b,h,A,g,m[y+3],10,2399980690),g=d(g,b,h,A,m[y+10],15,4293915773),A=d(A,g,b,h,m[y+1],21,2240044497),h=d(h,A,g,b,m[y+8],6,1873313359),b=d(b,h,A,g,m[y+15],10,4264355552),g=d(g,b,h,A,m[y+6],15,2734768916),A=d(A,g,b,h,m[y+13],21,1309151649),h=d(h,A,g,b,m[y+4],6,4149444226),b=d(b,h,A,g,m[y+11],10,3174756917),g=d(g,b,h,A,m[y+2],15,718787259),A=d(A,g,b,h,m[y+9],21,3951481745),h=n(h,x),A=n(A,v),g=n(g,I),b=n(b,R)}return(p(h)+p(A)+p(g)+p(b)).toLowerCase()}function T8e(t){let e=vI(t),r=[],n=0;for(;n<e.length&&e[n++]===10;){let[i,a]=v8e(e,n);n=a;let o=0,c={};for(;o<i.length;){let u=i[o++],l=u>>3,d=u&7;if(d===0){let[f,p]=qV(i,o);switch(o=p,l){case 1:c.id=f;break;case 2:c.progress=f;break;case 3:c.mode=f;break;case 4:c.fontsize=f;break;case 5:c.color=f;break;case 8:c.ctime=f;break;case 9:c.weight=f;break;case 11:c.pool=f;break;case 13:c.attr=f;break;case 15:c.like_num=f;break;case 17:c.dm_type_v2=f;break}}else if(d===2){let[f,p]=v8e(i,o);switch(o=p,l){case 6:c.midHash=Cc(f);break;case 7:c.content=Cc(f);break;case 10:c.action=Cc(f);break;case 12:c.idStr=Cc(f);break;case 14:c.animation=Cc(f);break;case 16:c.color_v2=Cc(f);break}}else{let[f,p]=qV(i,o);o=p}}r.push(c)}return r}function qV(t,e){let r=0n,n=0n,s=e;for(;;){let i=t[s++];if(r|=BigInt(i&127)<<n,!(i&128))break;n+=7n}return[Number(r),s]}function v8e(t,e){let[r,n]=qV(t,e),s=n,i=s+r;return[t.slice(s,i),i]}function Yr(t){let e=5381;for(let r=0;r<t.length;r++)e=e*33^t.charCodeAt(r);return e=(e>>>0)%9999999,e<1e4?e+1e4:e}function I8e(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function yir(t){return Uint8Array.from([t[1],t[2],t[3],t[0]])}function RB(t){return Uint8Array.from(t.map(e=>w8e[e]))}function NB(t){let s=new Array(44);for(let i=0;i<4;i++)s[i]=t.slice(4*i,4*i+4);for(let i=4;i<4*11;i++){let a=s[i-1];i%4===0&&(a=I8e(RB(yir(a)),Uint8Array.from([Air[i/4],0,0,0]))),s[i]=I8e(s[i-4],a)}return s}function xir(t,e){let s=new Uint8Array(t);s=FV(s,e.slice(10*4,11*4));for(let i=9;i>=1;i--)s=SI(s),s=_I(s),s=FV(s,e.slice(i*4,(i+1)*4)),s=bir(s);return s=SI(s),s=_I(s),s=FV(s,e.slice(0,4)),s}function FV(t,e){let r=new Uint8Array(16);for(let n=0;n<4;n++)for(let s=0;s<4;s++)r[s+4*n]=t[s+4*n]^e[n][s];return r}function _I(t){let e=new Array(256);for(let r=0;r<256;r++)e[w8e[r]]=r;return Uint8Array.from(t.map(r=>e[r]))}function SI(t){let e=new Uint8Array(16);for(let r=0;r<4;r++)for(let n=0;n<4;n++)e[r+4*n]=t[r+4*((n-r+4)%4)];return e}function bir(t){function e(n,s){let i=0;for(let a=0;a<8;a++){s&1&&(i^=n);let o=n&128;n=n<<1&255,o&&(n^=27),s>>=1}return i}let r=new Uint8Array(16);for(let n=0;n<4;n++){let s=t.slice(4*n,4*n+4);r[4*n+0]=e(s[0],14)^e(s[1],11)^e(s[2],13)^e(s[3],9),r[4*n+1]=e(s[0],9)^e(s[1],14)^e(s[2],11)^e(s[3],13),r[4*n+2]=e(s[0],13)^e(s[1],9)^e(s[2],14)^e(s[3],11),r[4*n+3]=e(s[0],11)^e(s[1],13)^e(s[2],9)^e(s[3],14)}return r}function Eir(t,e){let r=NB(e),n=16,s=new Uint8Array(t.length);for(let i=0;i<t.length;i+=n){let a=t.slice(i,i+n),o=xir(a,r);s.set(o,i)}return s}function _ir(t){let e=t[t.length-1];return t.slice(0,t.length-e)}function vI(t){let e=typeof atob=="function"?atob(t):Sir(t),r=e.length,n=new Uint8Array(r);for(let s=0;s<r;s++)n[s]=e.charCodeAt(s);return n}function Sir(t){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",n=0,s=0;for(let i=0;i<t.length;i++){let a=t.charAt(i);if(a==="=")break;let o=e.indexOf(a);n=n<<6|o,s+=6,s>=8&&(s-=8,r+=String.fromCharCode(n>>s&255))}return r}function Cc(t){let e="",r=0;for(;r<t.length;){let n=t[r++];if(n<128)e+=String.fromCharCode(n);else if(n>=192&&n<224){let s=t[r++];e+=String.fromCharCode((n&31)<<6|s&63)}else if(n>=224&&n<240){let s=t[r++],i=t[r++];e+=String.fromCharCode((n&15)<<12|(s&63)<<6|i&63)}else if(n>=240){let s=t[r++],i=t[r++],a=t[r++],c=((n&7)<<18|(s&63)<<12|(i&63)<<6|a&63)-65536;e+=String.fromCharCode(55296+(c>>10),56320+(c&1023))}}return e}function eg(t){let e=[];for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);if(n<128)e.push(n);else if(n<2048)e.push(192|n>>6),e.push(128|n&63);else if(n<55296||n>=57344)e.push(224|n>>12),e.push(128|n>>6&63),e.push(128|n&63);else{r++;let s=t.charCodeAt(r),i=65536+((n&1023)<<10|s&1023);e.push(240|i>>18),e.push(128|i>>12&63),e.push(128|i>>6&63),e.push(128|i&63)}}return new Uint8Array(e)}function vir(t,e){try{let r=vI(t),n=eg(e),s=Eir(r,n),i=_ir(s);return Cc(i)}catch(r){return _("error","[Utils] [Codec]",r),null}}function II(t){let e=typeof t=="string"?t.trim():JSON.stringify(t??"");try{return JSON.parse(e)}catch{}let n=vir(e,"3b744389882a4067");if(n!=null)try{return JSON.parse(n)}catch{return n}return e}function Iir(t){let e=[];for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);n<128?e.push(n):n<2048?(e.push(192|n>>6),e.push(128|n&63)):n<65536&&(e.push(224|n>>12),e.push(128|n>>6&63),e.push(128|n&63))}return e}function OB(t){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n;for(n=0;n+2<t.length;n+=3)r+=e[t[n]>>2],r+=e[(t[n]&3)<<4|t[n+1]>>4],r+=e[(t[n+1]&15)<<2|t[n+2]>>6],r+=e[t[n+2]&63];return n<t.length&&(r+=e[t[n]>>2],n+1<t.length?(r+=e[(t[n]&3)<<4|t[n+1]>>4],r+=e[(t[n+1]&15)<<2],r+="="):(r+=e[(t[n]&3)<<4],r+="==")),r}function UV(t){function e(u,l){return l>>>u|l<<32-u}let r=Math.pow(2,32),n=[],s=t.length*8;for(let u=0;u<t.length;u++)n[u>>2]|=t.charCodeAt(u)<<(3-u)%4*8;n[t.length>>2]|=128<<(3-t.length%4)*8,n[(t.length+8>>6)*16+15]=s;let i=new Array(64),a=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];for(let u=0;u<n.length;u+=16){let l=a[0],d=a[1],f=a[2],p=a[3],m=a[4],h=a[5],A=a[6],g=a[7];for(let b=0;b<64;b++){if(b<16)i[b]=n[u+b]|0;else{let N=e(7,i[b-15])^e(18,i[b-15])^i[b-15]>>>3,P=e(17,i[b-2])^e(19,i[b-2])^i[b-2]>>>10;i[b]=i[b-16]+N+i[b-7]+P|0}let y=e(6,m)^e(11,m)^e(25,m),x=m&h^~m&A,v=g+y+x+o[b]+i[b]|0,I=e(2,l)^e(13,l)^e(22,l),R=l&d^l&f^d&f,w=I+R|0;g=A,A=h,h=m,m=p+v|0,p=f,f=d,d=l,l=v+w|0}a[0]=a[0]+l|0,a[1]=a[1]+d|0,a[2]=a[2]+f|0,a[3]=a[3]+p|0,a[4]=a[4]+m|0,a[5]=a[5]+h|0,a[6]=a[6]+A|0,a[7]=a[7]+g|0}let c=[];for(let u of a)c.push(u>>24&255),c.push(u>>16&255),c.push(u>>8&255),c.push(u&255);return c}function R8e(t,e){let n=Iir(t);n.length>64&&(n=UV(t)),n.length<64&&(n=n.concat(Array(64-n.length).fill(0)));let s=n.map(c=>c^92),i=n.map(c=>c^54),a=UV(String.fromCharCode(...i)+e),o=UV(String.fromCharCode(...s)+String.fromCharCode(...a));return OB(o)}function CI(t,e,r,n){let s=t+"t"+e;return r&&Object.keys(r).sort().forEach(a=>{s+=a+r[a]}),s+=n,Ls(s)}function C8e(t){if(t<=65535)return String.fromCharCode(t);t-=65536;let e=(t>>10)+55296,r=(t&1023)+56320;return String.fromCharCode(e,r)}function of(t){if(!t)return t;let e={"<":"<",">":">","&":"&",""":'"',"'":"'"};return t.replace(/&[a-zA-Z]+;/g,r=>e[r]||r).replace(/&#(\d+);/g,(r,n)=>C8e(parseInt(n,10))).replace(/&#x([0-9a-fA-F]+);/g,(r,n)=>C8e(parseInt(n,16)))}var w8e,Air,Ts=lr(()=>{_t();w8e=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Air=[0,1,2,4,8,16,32,64,128,27,54]});var O8e={};is(O8e,{getRedisCaches:()=>QV,getRedisKey:()=>Cir,judgeRedisValid:()=>GV,pingRedis:()=>N8e,runPipeline:()=>HV,setRedisKey:()=>jV,setRedisKeyWithExpiry:()=>Tir,updateRedisCaches:()=>PB});async function N8e(){let t=`${O.redisUrl}/ping`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 PING \u8BF7\u6C42:",t);try{return await(await fetch(t,{method:"GET",headers:{Authorization:`Bearer ${O.redisToken}`}})).json()}catch(e){_("error","[Utils] [Redis] \u8BF7\u6C42\u5931\u8D25:",e.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",e.name),e.cause&&(_("error","- [Utils] [Redis] \u7801:",e.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",e.cause.message))}}async function Cir(t){let e=`${O.redisUrl}/get/${t}`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 GET \u8BF7\u6C42:",e);try{return await(await fetch(e,{method:"GET",headers:{Authorization:`Bearer ${O.redisToken}`}})).json()}catch(r){_("error","[Utils] [Redis] \u8BF7\u6C42\u5931\u8D25:",r.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",r.name),r.cause&&(_("error","- [Utils] [Redis] \u7801:",r.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",r.cause.message))}}async function jV(t,e){let r=db(t,e),n=an(r);if(O.lastHashes[t]===n)return _("info",`[Utils] [Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SET \u8BF7\u6C42`),{result:"OK"};let s=`${O.redisUrl}/set/${t}`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 SET \u8BF7\u6C42:",s);try{let a=await(await fetch(s,{method:"POST",headers:{Authorization:`Bearer ${O.redisToken}`,"Content-Type":"application/json"},body:r})).json();return O.lastHashes[t]=n,_("info",`[Utils] [Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F`),a}catch(i){_("error","[Utils] [Redis] SET \u8BF7\u6C42\u5931\u8D25:",i.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",i.name),i.cause&&(_("error","- [Utils] [Redis] \u7801:",i.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",i.cause.message))}}async function Tir(t,e,r){let n=db(t,e),s=an(n);if(O.lastHashes[t]===s)return _("info",`[Utils] [Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SETEX \u8BF7\u6C42`),{result:"OK"};let i=`${O.redisUrl}/set/${t}?EX=${r}`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 SETEX \u8BF7\u6C42:",i);try{let o=await(await fetch(i,{method:"POST",headers:{Authorization:`Bearer ${O.redisToken}`,"Content-Type":"application/json"},body:n})).json();return O.lastHashes[t]=s,_("info",`[Utils] [Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F\uFF08\u5E26\u8FC7\u671F\u65F6\u95F4 ${r}s\uFF09`),o}catch(a){_("error","[Utils] [Redis] SETEX \u8BF7\u6C42\u5931\u8D25:",a.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",a.name),a.cause&&(_("error","- [Utils] [Redis] \u7801:",a.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",a.cause.message))}}async function HV(t){let e=`${O.redisUrl}/pipeline`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 PIPELINE \u8BF7\u6C42:",e);try{return await(await fetch(e,{method:"POST",headers:{Authorization:`Bearer ${O.redisToken}`,"Content-Type":"application/json"},body:JSON.stringify(t)})).json()}catch(r){_("error","[Utils] [Redis] Pipeline \u8BF7\u6C42\u5931\u8D25:",r.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",r.name),r.cause&&(_("error","- [Utils] [Redis] \u7801:",r.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",r.cause.message))}}async function QV(){if(!O.redisCacheInitialized)try{_("info","[Utils] [Redis] getRedisCaches start.");let e=["animes","episodeIds","episodeNum","reqRecords","lastSelectMap","todayReqNum"].map(s=>["GET",s]),r=await HV(e);O.animes=r[0].result?JSON.parse(r[0].result):O.animes,O.episodeIds=r[1].result?JSON.parse(r[1].result):O.episodeIds,O.episodeNum=r[2].result?JSON.parse(r[2].result):O.episodeNum,O.reqRecords=r[3].result?JSON.parse(r[3].result):O.reqRecords;let n=r[4].result?JSON.parse(r[4].result):null;n&&typeof n=="object"&&(O.lastSelectMap=new Map(Object.entries(n)),_("info",`[Utils] [Redis] Restored lastSelectMap from Redis with ${O.lastSelectMap.size} entries`)),O.todayReqNum=r[5].result?parseInt(r[5].result,10):O.todayReqNum,O.lastHashes.animes=an(JSON.stringify(O.animes)),O.lastHashes.episodeIds=an(JSON.stringify(O.episodeIds)),O.lastHashes.episodeNum=an(JSON.stringify(O.episodeNum)),O.lastHashes.reqRecords=an(JSON.stringify(O.reqRecords)),O.lastHashes.lastSelectMap=an(JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.lastHashes.todayReqNum=an(JSON.stringify(O.todayReqNum)),O.redisCacheInitialized=!0,_("info","[Utils] [Redis] getRedisCaches completed successfully.")}catch(t){_("error",`[Utils] [Redis] getRedisCaches failed: ${t.message}`,t.stack),O.redisCacheInitialized=!0}}async function PB(){try{_("info","[Utils] [Redis] updateCaches start.");let t=[],e=[],r=[{key:"animes",value:O.animes},{key:"episodeIds",value:O.episodeIds},{key:"episodeNum",value:O.episodeNum},{key:"reqRecords",value:O.reqRecords},{key:"lastSelectMap",value:O.lastSelectMap},{key:"todayReqNum",value:O.todayReqNum}];for(let{key:n,value:s}of r){let i=JSON.stringify(n==="lastSelectMap"?Object.fromEntries(s):s),a=an(i);a!==O.lastHashes[n]&&(t.push(["SET",n,i]),e.push({key:n,hash:a}))}if(t.length>0){_("info",`[Utils] [Redis] Updating ${t.length} changed keys: ${e.map(a=>a.key).join(", ")}`);let n=await HV(t),s=0,i=0;Array.isArray(n)&&n.forEach((a,o)=>{a&&a.result==="OK"?s++:(i++,_("warn",`[Utils] [Redis] Failed to update Redis key: ${e[o]?.key}, result: ${JSON.stringify(a)}`))}),i===0?(e.forEach(({key:a,hash:o})=>{O.lastHashes[a]=o}),_("info",`[Utils] [Redis] Redis update completed successfully: ${s} keys updated`)):_("warn",`[Utils] [Redis] Redis update partially failed: ${s} succeeded, ${i} failed`)}else _("info","[Utils] [Redis] No changes detected, skipping Redis update.")}catch(t){_("error",`[Utils] [Redis] updateRedisCaches failed: ${t.message}`,t.stack),_("error",`[Utils] [Redis] Error details - Name: ${t.name}, Cause: ${t.cause?t.cause.message:"N/A"}`)}}async function GV(t){if(!O.redisValid&&O.redisUrl&&O.redisToken&&t!=="/favicon.ico"&&t!=="/robots.txt"){let e=await N8e();e&&e.result&&e.result==="PONG"&&(O.redisValid=!0)}}var kB=lr(()=>{Ot();_t();Ts()});function P8e(){return"\u9515\u7691\u853C\u788D\u7231\u55F3\u5AD2\u7477\u66A7\u972D\u8C19\u94F5\u9E4C\u80AE\u8884\u5965\u5AAA\u9A9C\u9CCC\u575D\u7F62\u94AF\u6446\u8D25\u5457\u9881\u529E\u7ECA\u94A3\u5E2E\u7ED1\u9551\u8C24\u5265\u9971\u5B9D\u62A5\u9C8D\u9E28\u9F85\u8F88\u8D1D\u94A1\u72C8\u5907\u60EB\u9E4E\u8D32\u951B\u7EF7\u7B14\u6BD5\u6BD9\u5E01\u95ED\u835C\u54D4\u6ED7\u94CB\u7B5A\u8DF8\u8FB9\u7F16\u8D2C\u53D8\u8FA9\u8FAB\u82C4\u7F0F\u7B3E\u6807\u9AA0\u98D1\u98D9\u9556\u9573\u9CD4\u9CD6\u522B\u762A\u6FD2\u6EE8\u5BBE\u6448\u50A7\u7F24\u69DF\u6BA1\u8191\u9554\u9ACC\u9B13\u997C\u7980\u62E8\u94B5\u94C2\u9A73\u997D\u94B9\u9E41\u8865\u94B8\u8D22\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u9A96\u9EEA\u82CD\u8231\u4ED3\u6CA7\u5395\u4FA7\u518C\u6D4B\u607B\u5C42\u8BE7\u9538\u4FAA\u9497\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u5181\u8C04\u8C36\u8487\u5FCF\u5A75\u9AA3\u89C7\u7985\u9561\u573A\u5C1D\u957F\u507F\u80A0\u5382\u7545\u4F25\u82CC\u6005\u960A\u9CB3\u949E\u8F66\u5F7B\u7817\u5C18\u9648\u886C\u4F27\u8C0C\u6987\u789C\u9F80\u6491\u79F0\u60E9\u8BDA\u9A8B\u67A8\u67FD\u94D6\u94DB\u75F4\u8FDF\u9A70\u803B\u9F7F\u70BD\u996C\u9E31\u51B2\u51B2\u866B\u5BA0\u94F3\u7574\u8E0C\u7B79\u7EF8\u4FE6\u5E31\u96E0\u6A71\u53A8\u9504\u96CF\u7840\u50A8\u89E6\u5904\u520D\u7ECC\u8E70\u4F20\u948F\u75AE\u95EF\u521B\u6006\u9524\u7F0D\u7EAF\u9E51\u7EF0\u8F8D\u9F8A\u8F9E\u8BCD\u8D50\u9E5A\u806A\u8471\u56F1\u4ECE\u4E1B\u82C1\u9AA2\u679E\u51D1\u8F8F\u8E7F\u7A9C\u64BA\u9519\u9509\u9E7E\u8FBE\u54D2\u9791\u5E26\u8D37\u9A80\u7ED0\u62C5\u5355\u90F8\u63B8\u80C6\u60EE\u8BDE\u5F39\u6B9A\u8D55\u7605\u7BAA\u5F53\u6321\u515A\u8361\u6863\u8C20\u7800\u88C6\u6363\u5C9B\u7977\u5BFC\u76D7\u7118\u706F\u9093\u956B\u654C\u6DA4\u9012\u7F14\u7C74\u8BCB\u8C1B\u7EE8\u89CC\u955D\u98A0\u70B9\u57AB\u7535\u5DC5\u94BF\u766B\u9493\u8C03\u94EB\u9CB7\u8C0D\u53E0\u9CBD\u9489\u9876\u952D\u8BA2\u94E4\u4E22\u94E5\u4E1C\u52A8\u680B\u51BB\u5CBD\u9E2B\u7AA6\u728A\u72EC\u8BFB\u8D4C\u9540\u6E0E\u691F\u724D\u7B03\u9EE9\u953B\u65AD\u7F0E\u7C16\u5151\u961F\u5BF9\u603C\u9566\u5428\u987F\u949D\u7096\u8DB8\u593A\u5815\u94CE\u9E45\u989D\u8BB9\u6076\u997F\u8C14\u57A9\u960F\u8F6D\u9507\u9537\u9E57\u989A\u989B\u9CC4\u8BF6\u513F\u5C14\u9975\u8D30\u8FE9\u94D2\u9E38\u9C95\u53D1\u7F5A\u9600\u73D0\u77FE\u9492\u70E6\u8D29\u996D\u8BBF\u7EBA\u94AB\u9C82\u98DE\u8BFD\u5E9F\u8D39\u7EEF\u9544\u9CB1\u7EB7\u575F\u594B\u6124\u7CAA\u507E\u4E30\u67AB\u950B\u98CE\u75AF\u51AF\u7F1D\u8BBD\u51E4\u6CA3\u80A4\u8F90\u629A\u8F85\u8D4B\u590D\u8D1F\u8BA3\u5987\u7F1A\u51EB\u9A78\u7EC2\u7ECB\u8D59\u9EB8\u9C8B\u9CC6\u9486\u8BE5\u9499\u76D6\u8D45\u6746\u8D76\u79C6\u8D63\u5C34\u64C0\u7EC0\u5188\u521A\u94A2\u7EB2\u5C97\u6206\u9550\u777E\u8BF0\u7F1F\u9506\u6401\u9E3D\u9601\u94EC\u4E2A\u7EA5\u9549\u988D\u7ED9\u4E98\u8D53\u7EE0\u9CA0\u9F9A\u5BAB\u5DE9\u8D21\u94A9\u6C9F\u82DF\u6784\u8D2D\u591F\u8BDF\u7F11\u89CF\u86CA\u987E\u8BC2\u6BC2\u94B4\u9522\u9E2A\u9E44\u9E58\u5250\u6302\u9E39\u63B4\u5173\u89C2\u9986\u60EF\u8D2F\u8BD6\u63BC\u9E73\u9CCF\u5E7F\u72B7\u89C4\u5F52\u9F9F\u95FA\u8F68\u8BE1\u8D35\u523D\u5326\u523F\u59AB\u6867\u9C91\u9CDC\u8F8A\u6EDA\u886E\u7EF2\u9CA7\u9505\u56FD\u8FC7\u57DA\u5459\u5E3C\u6901\u8748\u94EA\u9A87\u97E9\u6C49\u961A\u7ED7\u9889\u53F7\u704F\u98A2\u9602\u9E64\u8D3A\u8BC3\u9616\u86CE\u6A2A\u8F70\u9E3F\u7EA2\u9EC9\u8BA7\u836D\u95F3\u9C8E\u58F6\u62A4\u6CAA\u6237\u6D52\u9E55\u54D7\u534E\u753B\u5212\u8BDD\u9A85\u6866\u94E7\u6000\u574F\u6B22\u73AF\u8FD8\u7F13\u6362\u5524\u75EA\u7115\u6DA3\u5942\u7F33\u953E\u9CA9\u9EC4\u8C0E\u9CC7\u6325\u8F89\u6BC1\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8BD9\u835F\u54D5\u6D4D\u7F0B\u73F2\u6656\u8364\u6D51\u8BE8\u9984\u960D\u83B7\u8D27\u7978\u94AC\u956C\u51FB\u673A\u79EF\u9965\u8FF9\u8BA5\u9E21\u7EE9\u7F09\u6781\u8F91\u7EA7\u6324\u51E0\u84DF\u5242\u6D4E\u8BA1\u8BB0\u9645\u7EE7\u7EAA\u8BA6\u8BD8\u8360\u53FD\u54DC\u9AA5\u7391\u89CA\u9F51\u77F6\u7F81\u867F\u8DFB\u9701\u9C9A\u9CAB\u5939\u835A\u988A\u8D3E\u94BE\u4EF7\u9A7E\u90CF\u6D43\u94D7\u9553\u86F2\u6B7C\u76D1\u575A\u7B3A\u95F4\u8270\u7F04\u8327\u68C0\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u8C0F\u7F23\u620B\u622C\u7751\u9E63\u7B15\u9CA3\u97AF\u5C06\u6D46\u848B\u6868\u5956\u8BB2\u9171\u7EDB\u7F30\u80F6\u6D47\u9A84\u5A07\u6405\u94F0\u77EB\u4FA5\u811A\u997A\u7F34\u7EDE\u8F7F\u8F83\u6322\u5CE4\u9E6A\u9C9B\u9636\u8282\u6D01\u7ED3\u8BEB\u5C4A\u7596\u988C\u9C92\u7D27\u9526\u4EC5\u8C28\u8FDB\u664B\u70EC\u5C3D\u52B2\u8346\u830E\u537A\u8369\u9991\u7F19\u8D46\u89D0\u9CB8\u60CA\u7ECF\u9888\u9759\u955C\u5F84\u75C9\u7ADE\u51C0\u522D\u6CFE\u8FF3\u5F2A\u80EB\u9753\u7EA0\u53A9\u65E7\u9604\u9E20\u9E6B\u9A79\u4E3E\u636E\u952F\u60E7\u5267\u8BB5\u5C66\u6989\u98D3\u949C\u9514\u7AAD\u9F83\u9E43\u7EE2\u9529\u954C\u96BD\u89C9\u51B3\u7EDD\u8C32\u73CF\u94A7\u519B\u9A8F\u76B2\u5F00\u51EF\u5240\u57B2\u5FFE\u607A\u94E0\u9534\u9F9B\u95F6\u94AA\u94D0\u9897\u58F3\u8BFE\u9A92\u7F02\u8F72\u94B6\u951E\u9894\u57A6\u6073\u9F88\u94FF\u62A0\u5E93\u88E4\u55BE\u5757\u4FA9\u90D0\u54D9\u810D\u5BBD\u72EF\u9ACB\u77FF\u65F7\u51B5\u8BD3\u8BF3\u909D\u5739\u7EA9\u8D36\u4E8F\u5CBF\u7AA5\u9988\u6E83\u532E\u8489\u6126\u8069\u7BD1\u9603\u951F\u9CB2\u6269\u9614\u86F4\u8721\u814A\u83B1\u6765\u8D56\u5D03\u5F95\u6D9E\u6FD1\u8D49\u7750\u94FC\u765E\u7C41\u84DD\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u5C9A\u6984\u6593\u9567\u8934\u7405\u9606\u9512\u635E\u52B3\u6D9D\u5520\u5D02\u94D1\u94F9\u75E8\u4E50\u9CD3\u956D\u5792\u7C7B\u6CEA\u8BD4\u7F27\u7BF1\u72F8\u79BB\u9CA4\u793C\u4E3D\u5389\u52B1\u783E\u5386\u6CA5\u96B6\u4FEA\u90E6\u575C\u82C8\u8385\u84E0\u5456\u9026\u9A8A\u7F21\u67A5\u680E\u8F79\u783A\u9502\u9E42\u75A0\u7C9D\u8DDE\u96F3\u9CA1\u9CE2\u4FE9\u8054\u83B2\u8FDE\u9570\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u8539\u5941\u6F4B\u740F\u6B93\u88E2\u88E3\u9CA2\u7CAE\u51C9\u4E24\u8F86\u8C05\u9B49\u7597\u8FBD\u9563\u7F2D\u948C\u9E69\u730E\u4E34\u90BB\u9CDE\u51DB\u8D41\u853A\u5EEA\u6AA9\u8F9A\u8E8F\u9F84\u94C3\u7075\u5CAD\u9886\u7EEB\u68C2\u86CF\u9CAE\u998F\u5218\u6D4F\u9A9D\u7EFA\u954F\u9E68\u9F99\u804B\u5499\u7B3C\u5784\u62E2\u9647\u830F\u6CF7\u73D1\u680A\u80E7\u783B\u697C\u5A04\u6402\u7BD3\u507B\u848C\u55BD\u5D5D\u9542\u7618\u8027\u877C\u9AC5\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u8D42\u7984\u5F55\u9646\u5786\u64B8\u565C\u95FE\u6CF8\u6E0C\u680C\u6A79\u8F73\u8F82\u8F98\u6C07\u80EA\u9E2C\u9E6D\u823B\u9C88\u5CE6\u631B\u5B6A\u6EE6\u4E71\u8114\u5A08\u683E\u9E3E\u92AE\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u56F5\u841D\u7F57\u903B\u9523\u7BA9\u9AA1\u9A86\u7EDC\u8366\u7321\u6CFA\u6924\u8136\u9559\u9A74\u5415\u94DD\u4FA3\u5C61\u7F15\u8651\u6EE4\u7EFF\u6988\u891B\u950A\u5452\u5988\u739B\u7801\u8682\u9A6C\u9A82\u5417\u551B\u5B37\u6769\u4E70\u9EA6\u5356\u8FC8\u8109\u52A2\u7792\u9992\u86EE\u6EE1\u8C29\u7F26\u9558\u98A1\u9CD7\u732B\u951A\u94C6\u8D38\u4E48\u6CA1\u9541\u95E8\u95F7\u4EEC\u626A\u7116\u61D1\u9494\u9530\u68A6\u772F\u8C1C\u5F25\u89C5\u5E42\u8288\u8C27\u7315\u7962\u7EF5\u7F05\u6E11\u817C\u9EFE\u5E99\u7F08\u7F2A\u706D\u60AF\u95FD\u95F5\u7F17\u9E23\u94ED\u8C2C\u8C1F\u84E6\u998D\u6B81\u9546\u8C0B\u4EA9\u94BC\u5450\u94A0\u7EB3\u96BE\u6320\u8111\u607C\u95F9\u94D9\u8BB7\u9981\u5185\u62DF\u817B\u94CC\u9CB5\u64B5\u8F87\u9CB6\u917F\u9E1F\u8311\u8885\u8042\u556E\u954A\u954D\u9667\u8616\u55EB\u989F\u8E51\u67E0\u72DE\u5B81\u62E7\u6CDE\u82CE\u549B\u804D\u94AE\u7EBD\u8113\u6D53\u519C\u4FAC\u54DD\u9A7D\u9495\u8BFA\u50A9\u759F\u6B27\u9E25\u6BB4\u5455\u6CA4\u8BB4\u6004\u74EF\u76D8\u8E52\u5E9E\u629B\u75B1\u8D54\u8F94\u55B7\u9E4F\u7EB0\u7F74\u94CD\u9A97\u8C1D\u9A88\u98D8\u7F25\u9891\u8D2B\u5AD4\u82F9\u51ED\u8BC4\u6CFC\u9887\u948B\u6251\u94FA\u6734\u8C31\u9564\u9568\u6816\u8110\u9F50\u9A91\u5C82\u542F\u6C14\u5F03\u8BAB\u8572\u9A90\u7EEE\u6864\u789B\u9880\u9883\u9CCD\u7275\u948E\u94C5\u8FC1\u7B7E\u8C26\u94B1\u94B3\u6F5C\u6D45\u8C34\u5811\u4F65\u8368\u60AD\u9A9E\u7F31\u6920\u94A4\u67AA\u545B\u5899\u8537\u5F3A\u62A2\u5AF1\u6A2F\u6217\u709D\u9516\u9535\u956A\u7F9F\u8DC4\u9539\u6865\u4E54\u4FA8\u7FD8\u7A8D\u8BEE\u8C2F\u835E\u7F32\u7857\u8DF7\u7A83\u60EC\u9532\u7BA7\u94A6\u4EB2\u5BDD\u9513\u8F7B\u6C22\u503E\u9877\u8BF7\u5E86\u63FF\u9CAD\u743C\u7A77\u8315\u86F1\u5DEF\u8D47\u866E\u9CC5\u8D8B\u533A\u8EAF\u9A71\u9F8B\u8BCE\u5C96\u9612\u89D1\u9E32\u98A7\u6743\u529D\u8BE0\u7EFB\u8F81\u94E8\u5374\u9E4A\u786E\u9615\u9619\u60AB\u8BA9\u9976\u6270\u7ED5\u835B\u5A06\u6861\u70ED\u97E7\u8BA4\u7EAB\u996A\u8F6B\u8363\u7ED2\u5D58\u877E\u7F1B\u94F7\u98A6\u8F6F\u9510\u86AC\u95F0\u6DA6\u6D12\u8428\u98D2\u9CC3\u8D5B\u4F1E\u6BF5\u7CC1\u4E27\u9A9A\u626B\u7F2B\u6DA9\u556C\u94EF\u7A51\u6740\u5239\u7EB1\u94E9\u9CA8\u7B5B\u6652\u917E\u5220\u95EA\u9655\u8D61\u7F2E\u8BAA\u59D7\u9A9F\u9490\u9CDD\u5892\u4F24\u8D4F\u57A7\u6B87\u89DE\u70E7\u7ECD\u8D4A\u6444\u6151\u8BBE\u538D\u6EE0\u7572\u7EC5\u5BA1\u5A76\u80BE\u6E17\u8BDC\u8C02\u6E16\u58F0\u7EF3\u80DC\u5E08\u72EE\u6E7F\u8BD7\u65F6\u8680\u5B9E\u8BC6\u9A76\u52BF\u9002\u91CA\u9970\u89C6\u8BD5\u8C25\u57D8\u83B3\u5F11\u8F7C\u8D33\u94C8\u9CA5\u5BFF\u517D\u7EF6\u67A2\u8F93\u4E66\u8D4E\u5C5E\u672F\u6811\u7AD6\u6570\u6445\u7EBE\u5E05\u95E9\u53CC\u8C01\u7A0E\u987A\u8BF4\u7855\u70C1\u94C4\u4E1D\u9972\u53AE\u9A77\u7F0C\u9536\u9E36\u8038\u6002\u9882\u8BBC\u8BF5\u64DE\u85AE\u998A\u98D5\u953C\u82CF\u8BC9\u8083\u8C21\u7A23\u867D\u968F\u7EE5\u5C81\u8C07\u5B59\u635F\u7B0B\u836A\u72F2\u7F29\u7410\u9501\u5522\u7743\u736D\u631E\u95FC\u94CA\u9CCE\u53F0\u6001\u949B\u9C90\u644A\u8D2A\u762B\u6EE9\u575B\u8C2D\u8C08\u53F9\u6619\u94BD\u952C\u9878\u6C64\u70EB\u50A5\u9967\u94F4\u9557\u6D9B\u7EE6\u8BA8\u97EC\u94FD\u817E\u8A8A\u9511\u9898\u4F53\u5C49\u7F07\u9E48\u9617\u6761\u7C9C\u9F86\u9CA6\u8D34\u94C1\u5385\u542C\u70C3\u94DC\u7EDF\u6078\u5934\u94AD\u79C3\u56FE\u948D\u56E2\u629F\u9893\u8715\u9968\u8131\u9E35\u9A6E\u9A7C\u692D\u7BA8\u9F0D\u889C\u5A32\u817D\u5F2F\u6E7E\u987D\u4E07\u7EA8\u7EFE\u7F51\u8F8B\u97E6\u8FDD\u56F4\u4E3A\u6F4D\u7EF4\u82C7\u4F1F\u4F2A\u7EAC\u8C13\u536B\u8BFF\u5E0F\u95F1\u6CA9\u6DA0\u73AE\u97EA\u709C\u9C94\u6E29\u95FB\u7EB9\u7A33\u95EE\u960C\u74EE\u631D\u8717\u6DA1\u7A9D\u5367\u83B4\u9F8C\u545C\u94A8\u4E4C\u8BEC\u65E0\u829C\u5434\u575E\u96FE\u52A1\u8BEF\u90AC\u5E91\u6003\u59A9\u9A9B\u9E49\u9E5C\u9521\u727A\u88AD\u4E60\u94E3\u620F\u7EC6\u9969\u960B\u73BA\u89CB\u867E\u8F96\u5CE1\u4FA0\u72ED\u53A6\u5413\u7856\u9C9C\u7EA4\u8D24\u8854\u95F2\u663E\u9669\u73B0\u732E\u53BF\u9985\u7FA1\u5BAA\u7EBF\u82CB\u83B6\u85D3\u5C98\u7303\u5A34\u9E47\u75EB\u869D\u7C7C\u8DF9\u53A2\u9576\u4E61\u8BE6\u54CD\u9879\u8297\u9977\u9AA7\u7F03\u98E8\u8427\u56A3\u9500\u6653\u5578\u54D3\u6F47\u9A81\u7EE1\u67AD\u7BAB\u534F\u631F\u643A\u80C1\u8C10\u5199\u6CFB\u8C22\u4EB5\u64B7\u7EC1\u7F2C\u950C\u8845\u5174\u9649\u8365\u51F6\u6C79\u9508\u7EE3\u9990\u9E3A\u865A\u5618\u987B\u8BB8\u53D9\u7EEA\u7EED\u8BE9\u987C\u8F69\u60AC\u9009\u7663\u7EDA\u8C16\u94C9\u955F\u5B66\u8C11\u6CF6\u9CD5\u52CB\u8BE2\u5BFB\u9A6F\u8BAD\u8BAF\u900A\u57D9\u6D54\u9C9F\u538B\u9E26\u9E2D\u54D1\u4E9A\u8BB6\u57AD\u5A05\u6860\u6C29\u9609\u70DF\u76D0\u4E25\u5CA9\u989C\u960E\u8273\u538C\u781A\u5F66\u8C1A\u9A8C\u53A3\u8D5D\u4FE8\u5156\u8C33\u6079\u95EB\u917D\u9B47\u990D\u9F39\u9E2F\u6768\u626C\u75A1\u9633\u75D2\u517B\u6837\u7080\u7476\u6447\u5C27\u9065\u7A91\u8C23\u836F\u8F7A\u9E5E\u9CD0\u7237\u9875\u4E1A\u53F6\u9765\u8C12\u90BA\u6654\u70E8\u533B\u94F1\u9890\u9057\u4EEA\u8681\u827A\u4EBF\u5FC6\u4E49\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7ECE\u8BD2\u5453\u5CC4\u9974\u603F\u9A7F\u7F22\u8F76\u8D3B\u9487\u9552\u9571\u7617\u8223\u836B\u9634\u94F6\u996E\u9690\u94DF\u763E\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8D62\u9896\u8314\u83BA\u8426\u84E5\u6484\u5624\u6EE2\u6F46\u748E\u9E66\u763F\u988F\u7F42\u54DF\u62E5\u4F63\u75C8\u8E0A\u548F\u955B\u4F18\u5FE7\u90AE\u94C0\u72B9\u8BF1\u83B8\u94D5\u9C7F\u8206\u9C7C\u6E14\u5A31\u4E0E\u5C7F\u8BED\u72F1\u8A89\u9884\u9A6D\u4F1B\u4FE3\u8C00\u8C15\u84E3\u5D5B\u996B\u9608\u59AA\u7EA1\u89CE\u6B24\u94B0\u9E46\u9E6C\u9F89\u9E33\u6E0A\u8F95\u56ED\u5458\u5706\u7F18\u8FDC\u6A7C\u9E22\u9F0B\u7EA6\u8DC3\u94A5\u7CA4\u60A6\u9605\u94BA\u90E7\u5300\u9668\u8FD0\u8574\u915D\u6655\u97F5\u90D3\u82B8\u607D\u6120\u7EAD\u97EB\u6B92\u6C32\u6742\u707E\u8F7D\u6512\u6682\u8D5E\u74D2\u8DB1\u933E\u8D43\u810F\u9A75\u51FF\u67A3\u8D23\u62E9\u5219\u6CFD\u8D5C\u5567\u5E3B\u7BA6\u8D3C\u8C2E\u8D60\u7EFC\u7F2F\u8F67\u94E1\u95F8\u6805\u8BC8\u658B\u503A\u6BE1\u76CF\u65A9\u8F97\u5D2D\u6808\u6218\u7EFD\u8C35\u5F20\u6DA8\u5E10\u8D26\u80C0\u8D75\u8BCF\u948A\u86F0\u8F99\u9517\u8FD9\u8C2A\u8F84\u9E67\u8D1E\u9488\u4FA6\u8BCA\u9547\u9635\u6D48\u7F1C\u6862\u8F78\u8D48\u796F\u9E29\u6323\u7741\u72F0\u4E89\u5E27\u75C7\u90D1\u8BC1\u8BE4\u5CE5\u94B2\u94EE\u7B5D\u7EC7\u804C\u6267\u7EB8\u631A\u63B7\u5E1C\u8D28\u6EDE\u9A98\u6809\u6800\u8F75\u8F7E\u8D3D\u9E37\u86F3\u7D77\u8E2C\u8E2F\u89EF\u949F\u7EC8\u79CD\u80BF\u4F17\u953A\u8BCC\u8F74\u76B1\u663C\u9AA4\u7EA3\u7EC9\u732A\u8BF8\u8BDB\u70DB\u77A9\u5631\u8D2E\u94F8\u9A7B\u4F2B\u69E0\u94E2\u4E13\u7816\u8F6C\u8D5A\u556D\u9994\u989E\u6869\u5E84\u88C5\u5986\u58EE\u72B6\u9525\u8D58\u5760\u7F00\u9A93\u7F12\u8C06\u51C6\u7740\u6D4A\u8BFC\u956F\u5179\u8D44\u6E0D\u8C18\u7F01\u8F8E\u8D40\u7726\u9531\u9F87\u9CBB\u8E2A\u603B\u7EB5\u506C\u90B9\u8BF9\u9A7A\u9CB0\u8BC5\u7EC4\u955E\u94BB\u7F35\u8E9C\u9CDF\u7FF1\u5E76\u535C\u6C89\u4E11\u6DC0\u8FED\u6597\u8303\u5E72\u768B\u7845\u67DC\u540E\u4F19\u79F8\u6770\u8BC0\u5938\u91CC\u91CC\u51CC\u4E48\u9709\u637B\u51C4\u6266\u5723\u5C38\u62AC\u6D82\u6D3C\u5582\u6C61\u9528\u54B8\u874E\u5F5D\u6D8C\u6E38\u5401\u5FA1\u613F\u5CB3\u4E91\u7076\u624E\u672D\u7B51\u4E8E\u5FD7\u6CE8\u51CB\u8BA0\u8C2B\u90C4\u52D0\u51FC\u5742\u5785\u57B4\u57EF\u57DD\u82D8\u836C\u836E\u839C\u83BC\u83F0\u85C1\u63F8\u5412\u5423\u5494\u549D\u54B4\u5658\u567C\u56AF\u5E5E\u5C99\u5D74\u5F77\u5FBC\u72B8\u72CD\u9980\u9987\u9993\u9995\u6123\u61B7\u61D4\u4E2C\u6E86\u6EDF\u6EB7\u6F24\u6F74\u6FB9\u752F\u7E9F\u7ED4\u7EF1\u73C9\u67A7\u684A\u6849\u69D4\u6A65\u8F71\u8F77\u8D4D\u80B7\u80E8\u98DA\u7173\u7145\u7198\u610D\u6DFC\u781C\u78D9\u770D\u949A\u94B7\u94D8\u94DE\u9503\u950D\u950E\u950F\u9518\u951D\u952A\u952B\u953F\u9545\u954E\u9562\u9565\u9569\u9572\u7A06\u9E4B\u9E5B\u9E71\u75AC\u75B4\u75D6\u766F\u88E5\u8941\u8022\u98A5\u87A8\u9EB4\u9C85\u9C86\u9C87\u9C9E\u9CB4\u9CBA\u9CBC\u9CCA\u9CCB\u9CD8\u9CD9\u9792\u97B4\u9F44\u4E2C\u4E3A\u4EB8\u4F17\u4F2A\u4F59\u51A2\u51C0\u51CC\u51FC\u522C\u52CB\u52D0\u52DA\u5364\u53C6\u53C7\u542F\u5494\u54A4\u54B4\u54CC\u54D7\u551D\u5521\u5523\u553F\u556E\u5570\u5574\u5475\u567C\u56AF\u5785\u57A7\u57AF\u57B1\u57D9\u57DD\u5846\u5899\u58F8\u59AB\u59DC\u5A34\u5A73\u5C43\u5CBD\u5CC3\u5CE3\u5D04\u5D5A\u5D5B\u5D74\u5EBC\u5F5F\u5FA1\u610D\u616D\u61B7\u624E\u6266\u631C\u6326\u637B\u63F8\u65F8\u663D\u672D\u684A\u68BC\u68BE\u68C2\u69DA\u6A90\u6C61\u6C93\u6CA8\u6CA9\u6CB5\u6D49\u6D50\u6D55\u6D8C\u6DA2\u6E7F\u6E87\u6EEA\u6F24\u7145\u7173\u7198\u7266\u729F\u72CD\u72DD\u732C\u7399\u739A\u73B1\u73C9\u73CF\u73F0\u740E\u7487\u7572\u75B4\u7606\u7618\u766F\u772C\u7740\u7841\u7845\u7859\u785A\u7877\u78B9\u78D9\u794E\u79FE\u7B5C\u7B7E\u7B93\u7CC7\u7E9F\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EE6\u7EEC\u7EF1\u7EF9\u7F0A\u7F10\u7F1E\u7F30\u7FD9\u7FDA\u80B7\u810F\u814C\u8158\u816D\u81DC\u8273\u8279\u8359\u839C\u83BC\u841A\u85C1\u866C\u8780\u87CF\u8885\u8886\u88AF\u88C8\u88E5\u8941\u8955\u89C3\u89CD\u8A5F\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C1E\u8C25\u8C37\u8C6E\u8D20\u8D4D\u8D51\u8D52\u8D57\u8D5F\u8D6A\u8DD6\u8DF6\u8E0A\u8F6A\u8F80\u8F8C\u8F92\u90C1\u90C4\u9166\u9245\u9274\u948E\u9491\u9496\u9498\u94B5\u94BB\u94CF\u94DA\u94E6\u94FB\u9508\u950F\u951C\u9520\u9528\u9533\u953D\u9543\u9548\u9555\u955A\u9560\u9562\u956E\u9574\u95EC\u95F2\u95FF\u9607\u9613\u9618\u961B\u9655\u97B4\u97E8\u988B\u988E\u9892\u9895\u9899\u98A3\u98CF\u98D0\u98D4\u98D6\u98D7\u9964\u9965\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u998C\u998E\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9C7D\u9C7E\u9C80\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE\u9CBF\u9CC0\u9CC1\u9CC2\u9CC8\u9CC9\u9CD1\u9CD2\u9CDB\u9CE0\u9CE1\u9CE3\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E47\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6F\u9E72\u9E74\u9EE1\u9F0C\u9F17\u9F81\u9F82\u5FD7\u5236\u54A8\u53EA\u7CFB\u677E\u5C1D\u9762\u5E72\u62FC\u6076\u8D5E\u53D1\u50F5\u81F4\u5978\u83B7\u7EC3\u56DE\u7CFB\u8FF9\u53EA\u8F9F\u677F\u4F60"}function KV(){return"\u9312\u769A\u85F9\u7919\u611B\u566F\u5B21\u74A6\u66D6\u9744\u8AF3\u92A8\u9D6A\u9AAF\u8956\u5967\u5ABC\u9A41\u9C32\u58E9\u7F77\u9200\u64FA\u6557\u5504\u9812\u8FA6\u7D46\u9211\u5E6B\u7D81\u938A\u8B17\u525D\u98FD\u5BF6\u5831\u9B91\u9D07\u9F59\u8F29\u8C9D\u92C7\u72FD\u5099\u618A\u9D6F\u8CC1\u931B\u7E43\u7B46\u7562\u6583\u5E63\u9589\u84FD\u55F6\u6F77\u924D\u7BF3\u8E55\u908A\u7DE8\u8CB6\u8B8A\u8FAF\u8FAE\u8290\u7DF6\u7C69\u6A19\u9A43\u98AE\u98C6\u93E2\u9463\u9C3E\u9C49\u5225\u765F\u7015\u6FF1\u8CD3\u64EF\u5110\u7E7D\u6AB3\u6BAF\u81CF\u944C\u9AD5\u9B22\u9905\u7A1F\u64A5\u7F3D\u9251\u99C1\u9911\u9238\u9D53\u88DC\u923D\u8CA1\u53C3\u8836\u6B98\u615A\u6158\u71E6\u9A42\u9EF2\u84BC\u8259\u5009\u6EC4\u5EC1\u5074\u518A\u6E2C\u60FB\u5C64\u8A6B\u9364\u5115\u91F5\u6519\u647B\u87EC\u995E\u8B92\u7E8F\u93DF\u7522\u95E1\u986B\u56C5\u8AC2\u8B96\u8546\u61FA\u5B0B\u9A4F\u8998\u79AA\u9414\u5834\u5617\u9577\u511F\u8178\u5EE0\u66A2\u5000\u8407\u60B5\u95B6\u9BE7\u9214\u8ECA\u5FB9\u7868\u5875\u9673\u896F\u5096\u8AF6\u6AEC\u78E3\u9F54\u6490\u7A31\u61F2\u8AA0\u9A01\u68D6\u6A89\u92EE\u943A\u7661\u9072\u99B3\u6065\u9F52\u71BE\u98ED\u9D1F\u6C96\u885D\u87F2\u5BF5\u9283\u7587\u8E8A\u7C4C\u7DA2\u5114\u5E6C\u8B8E\u6AE5\u5EDA\u92E4\u96DB\u790E\u5132\u89F8\u8655\u82BB\u7D40\u8E95\u50B3\u91E7\u7621\u95D6\u5275\u6134\u9318\u7D9E\u7D14\u9D89\u7DBD\u8F1F\u9F6A\u8FAD\u8A5E\u8CDC\u9DBF\u8070\u8525\u56EA\u5F9E\u53E2\u84EF\u9A44\u6A05\u6E4A\u8F33\u8EA5\u7AC4\u651B\u932F\u92BC\u9E7A\u9054\u5660\u97C3\u5E36\u8CB8\u99D8\u7D3F\u64D4\u55AE\u9132\u64A3\u81BD\u619A\u8A95\u5F48\u6BAB\u8CE7\u7649\u7C1E\u7576\u64CB\u9EE8\u8569\u6A94\u8B9C\u78AD\u8960\u6417\u5CF6\u79B1\u5C0E\u76DC\u71FE\u71C8\u9127\u9419\u6575\u6ECC\u905E\u7DE0\u7CF4\u8A46\u8AE6\u7D88\u89BF\u93D1\u985B\u9EDE\u588A\u96FB\u5DD4\u923F\u7672\u91E3\u8ABF\u929A\u9BDB\u8ADC\u758A\u9C08\u91D8\u9802\u9320\u8A02\u92CC\u4E1F\u92A9\u6771\u52D5\u68DF\u51CD\u5D20\u9D87\u7AC7\u72A2\u7368\u8B80\u8CED\u934D\u7006\u6ADD\u7258\u7BE4\u9EF7\u935B\u65B7\u7DDE\u7C6A\u514C\u968A\u5C0D\u61DF\u9413\u5678\u9813\u920D\u71C9\u8E89\u596A\u58AE\u9438\u9D5D\u984D\u8A1B\u60E1\u9913\u8AE4\u580A\u95BC\u8EDB\u92E8\u9354\u9D9A\u984E\u9853\u9C77\u8A92\u5152\u723E\u990C\u8CB3\u9087\u927A\u9D2F\u9B9E\u767C\u7F70\u95A5\u743A\u792C\u91E9\u7169\u8CA9\u98EF\u8A2A\u7D21\u9201\u9B74\u98DB\u8AB9\u5EE2\u8CBB\u7DCB\u9428\u9BE1\u7D1B\u58B3\u596E\u61A4\u7CDE\u50E8\u8C50\u6953\u92D2\u98A8\u760B\u99AE\u7E2B\u8AF7\u9CF3\u7043\u819A\u8F3B\u64AB\u8F14\u8CE6\u5FA9\u8CA0\u8A03\u5A66\u7E1B\u9CE7\u99D9\u7D31\u7D3C\u8CFB\u9EA9\u9B92\u9C12\u91D3\u8A72\u9223\u84CB\u8CC5\u687F\u8D95\u7A08\u8D1B\u5C37\u641F\u7D3A\u5CA1\u525B\u92FC\u7DB1\u5D17\u6207\u93AC\u776A\u8AA5\u7E1E\u92EF\u64F1\u9D3F\u95A3\u927B\u500B\u7D07\u9398\u6F41\u7D66\u4E99\u8CE1\u7D86\u9BC1\u9F94\u5BAE\u978F\u8CA2\u9264\u6E9D\u830D\u69CB\u8CFC\u5920\u8A6C\u7DF1\u89AF\u8831\u9867\u8A41\u8F42\u9237\u932E\u9D23\u9D60\u9DBB\u526E\u639B\u9D30\u6451\u95DC\u89C0\u9928\u6163\u8CAB\u8A7F\u645C\u9E1B\u9C25\u5EE3\u7377\u898F\u6B78\u9F9C\u95A8\u8ECC\u8A6D\u8CB4\u528A\u532D\u528C\u5AAF\u6A9C\u9BAD\u9C56\u8F25\u6EFE\u889E\u7DC4\u9BC0\u934B\u570B\u904E\u581D\u54BC\u5E57\u69E8\u87C8\u927F\u99ED\u97D3\u6F22\u95DE\u7D4E\u9821\u865F\u705D\u9865\u95A1\u9DB4\u8CC0\u8A36\u95D4\u8823\u6A6B\u8F5F\u9D3B\u7D05\u9ECC\u8A0C\u8452\u958E\u9C5F\u58FA\u8B77\u6EEC\u6236\u6EF8\u9D98\u5629\u83EF\u756B\u5283\u8A71\u9A4A\u6A3A\u93F5\u61F7\u58DE\u6B61\u74B0\u9084\u7DE9\u63DB\u559A\u7613\u7165\u6E19\u5950\u7E6F\u9370\u9BC7\u9EC3\u8B0A\u9C09\u63EE\u8F1D\u6BC0\u8CC4\u7A62\u6703\u71F4\u532F\u8AF1\u8AA8\u7E6A\u8A7C\u8588\u5666\u6FAE\u7E62\u743F\u6689\u8477\u6E3E\u8AE2\u991B\u95BD\u7372\u8CA8\u798D\u9225\u944A\u64CA\u6A5F\u7A4D\u9951\u8DE1\u8B4F\u96DE\u7E3E\u7DDD\u6975\u8F2F\u7D1A\u64E0\u5E7E\u858A\u5291\u6FDF\u8A08\u8A18\u969B\u7E7C\u7D00\u8A10\u8A70\u85BA\u5630\u568C\u9A65\u74A3\u89AC\u9F4F\u78EF\u7F88\u8806\u8E8B\u973D\u9C6D\u9BFD\u593E\u83A2\u9830\u8CC8\u9240\u50F9\u99D5\u90DF\u6D79\u92CF\u93B5\u87EF\u6BB2\u76E3\u5805\u7B8B\u9593\u8271\u7DD8\u7E6D\u6AA2\u583F\u9E7C\u63C0\u64BF\u7C21\u5109\u6E1B\u85A6\u6ABB\u9452\u8E10\u8CE4\u898B\u9375\u8266\u528D\u991E\u6F38\u6FFA\u6F97\u8AEB\u7E11\u6214\u6229\u77BC\u9DBC\u7B67\u9C39\u97C9\u5C07\u6F3F\u8523\u69F3\u734E\u8B1B\u91AC\u7D73\u97C1\u81A0\u6F86\u9A55\u5B0C\u652A\u9278\u77EF\u50E5\u8173\u9903\u7E73\u7D5E\u8F4E\u8F03\u649F\u5DA0\u9DE6\u9BAB\u968E\u7BC0\u6F54\u7D50\u8AA1\u5C46\u7664\u981C\u9B9A\u7DCA\u9326\u50C5\u8B39\u9032\u6649\u71FC\u76E1\u52C1\u834A\u8396\u5DF9\u85CE\u9949\u7E09\u8D10\u89B2\u9BE8\u9A5A\u7D93\u9838\u975C\u93E1\u5F91\u75D9\u7AF6\u51C8\u5244\u6D87\u9015\u5F33\u811B\u975A\u7CFE\u5EC4\u820A\u9B2E\u9CE9\u9DF2\u99D2\u8209\u64DA\u92F8\u61FC\u5287\u8A4E\u5C68\u6AF8\u98B6\u9245\u92E6\u7AB6\u9F5F\u9D51\u7D79\u9308\u942B\u96CB\u89BA\u6C7A\u7D55\u8B4E\u73A8\u921E\u8ECD\u99FF\u76B8\u958B\u51F1\u5274\u584F\u613E\u6137\u93A7\u9347\u9F95\u958C\u9227\u92AC\u9846\u6BBC\u8AB2\u9A0D\u7DD9\u8EFB\u9233\u9301\u9837\u58BE\u61C7\u9F66\u93D7\u6473\u5EAB\u8932\u56B3\u584A\u5108\u9136\u5672\u81BE\u5BEC\u736A\u9AD6\u7926\u66E0\u6CC1\u8A86\u8A91\u913A\u58D9\u7E8A\u8CBA\u8667\u5DCB\u7ABA\u994B\u6F70\u5331\u8562\u6192\u8075\u7C23\u95AB\u9315\u9BE4\u64F4\u95CA\u8810\u881F\u81D8\u840A\u4F86\u8CF4\u5D0D\u5FA0\u6DF6\u7028\u8CDA\u775E\u9338\u7669\u7C5F\u85CD\u6B04\u6514\u7C43\u95CC\u862D\u703E\u8B95\u652C\u89BD\u61F6\u7E9C\u721B\u6FEB\u5D50\u6B16\u6595\u946D\u8964\u746F\u95AC\u92C3\u6488\u52DE\u6F87\u562E\u5D97\u92A0\u9412\u7646\u6A02\u9C33\u9433\u58D8\u985E\u6DDA\u8A84\u7E32\u7C6C\u8C8D\u96E2\u9BC9\u79AE\u9E97\u53B2\u52F5\u792B\u6B77\u701D\u96B8\u5137\u9148\u58E2\u85F6\u849E\u863A\u56A6\u9090\u9A6A\u7E2D\u6AEA\u6ADF\u8F62\u792A\u92F0\u9E1D\u7658\u7CF2\u8E92\u9742\u9C7A\u9C67\u5006\u806F\u84EE\u9023\u942E\u6190\u6F23\u7C3E\u6582\u81C9\u93C8\u6200\u7149\u7DF4\u861E\u5969\u7032\u7489\u6BAE\u8933\u895D\u9C31\u7CE7\u6DBC\u5169\u8F1B\u8AD2\u9B4E\u7642\u907C\u9410\u7E5A\u91D5\u9DEF\u7375\u81E8\u9130\u9C57\u51DC\u8CC3\u85FA\u5EE9\u6A81\u8F54\u8EAA\u9F61\u9234\u9748\u5DBA\u9818\u7DBE\u6B1E\u87F6\u9BEA\u993E\u5289\u700F\u9A2E\u7DB9\u93A6\u9DDA\u9F8D\u807E\u56A8\u7C60\u58DF\u650F\u96B4\u8622\u7027\u74CF\u6AF3\u6727\u7931\u6A13\u5A41\u645F\u7C0D\u50C2\u851E\u560D\u5D81\u93E4\u763A\u802C\u87BB\u9ACF\u8606\u76E7\u9871\u5EEC\u7210\u64C4\u9E75\u865C\u9B6F\u8CC2\u797F\u9304\u9678\u58DA\u64FC\u5695\u95AD\u7018\u6DE5\u6AE8\u6AD3\u8F64\u8F05\u8F46\u6C0C\u81DA\u9E15\u9DFA\u826B\u9C78\u5DD2\u6523\u5B7F\u7064\u4E82\u81E0\u5B4C\u6B12\u9E1E\u947E\u6384\u8F2A\u502B\u4F96\u6DEA\u7DB8\u8AD6\u5707\u863F\u7F85\u908F\u947C\u7C6E\u9A3E\u99F1\u7D61\u7296\u7380\u6FFC\u6B0F\u8161\u93CD\u9A62\u5442\u92C1\u4FB6\u5C62\u7E37\u616E\u6FFE\u7DA0\u6ADA\u8938\u92DD\u5638\u5ABD\u746A\u78BC\u879E\u99AC\u7F75\u55CE\u561C\u5B24\u69AA\u8CB7\u9EA5\u8CE3\u9081\u8108\u52F1\u779E\u9945\u883B\u6EFF\u8B3E\u7E35\u93DD\u9859\u9C3B\u8C93\u9328\u925A\u8CBF\u9EBC\u6C92\u9382\u9580\u60B6\u5011\u636B\u71DC\u61E3\u9346\u9333\u5922\u7787\u8B0E\u5F4C\u8993\u51AA\u7F8B\u8B10\u737C\u79B0\u7DBF\u7DEC\u6FA0\u9766\u9EFD\u5EDF\u7DF2\u7E46\u6EC5\u61AB\u95A9\u9594\u7DE1\u9CF4\u9298\u8B2C\u8B28\u9A40\u9943\u6B7F\u93CC\u8B00\u755D\u926C\u5436\u9209\u7D0D\u96E3\u6493\u8166\u60F1\u9B27\u9403\u8A25\u9912\u5167\u64EC\u81A9\u922E\u9BE2\u6506\u8F26\u9BF0\u91C0\u9CE5\u8526\u88CA\u8076\u5699\u9477\u93B3\u9689\u8617\u56C1\u9862\u8EA1\u6AB8\u7370\u5BE7\u64F0\u6FD8\u82E7\u5680\u8079\u9215\u7D10\u81BF\u6FC3\u8FB2\u5102\u5665\u99D1\u91F9\u8AFE\u513A\u7627\u6B50\u9DD7\u6BC6\u5614\u6F1A\u8B33\u616A\u750C\u76E4\u8E63\u9F90\u62CB\u76B0\u8CE0\u8F61\u5674\u9D6C\u7D15\u7F86\u9239\u9A19\u8ADE\u99E2\u98C4\u7E39\u983B\u8CA7\u5B2A\u860B\u6191\u8A55\u6F51\u9817\u91D9\u64B2\u92EA\u6A38\u8B5C\u93F7\u9420\u68F2\u81CD\u9F4A\u9A0E\u8C48\u555F\u6C23\u68C4\u8A16\u8604\u9A0F\u7DBA\u69BF\u78E7\u980E\u980F\u9C2D\u727D\u91EC\u925B\u9077\u7C3D\u8B19\u9322\u9257\u6F5B\u6DFA\u8B74\u5879\u50C9\u8541\u6173\u9A2B\u7E7E\u69E7\u9210\u69CD\u55C6\u58BB\u8594\u5F37\u6436\u5B19\u6AA3\u6227\u7197\u9306\u93D8\u93F9\u7FA5\u8E4C\u936C\u6A4B\u55AC\u50D1\u7FF9\u7AC5\u8A9A\u8B59\u854E\u7E70\u78FD\u8E7A\u7ACA\u611C\u9365\u7BCB\u6B3D\u89AA\u5BE2\u92DF\u8F15\u6C2B\u50BE\u9803\u8ACB\u6176\u64B3\u9BD6\u74CA\u7AAE\u7162\u86FA\u5DF0\u8CD5\u87E3\u9C0D\u8DA8\u5340\u8EC0\u9A45\u9F72\u8A58\u5D87\u95C3\u89B7\u9D1D\u9874\u6B0A\u52F8\u8A6E\u7DA3\u8F07\u9293\u537B\u9D72\u78BA\u95CB\u95D5\u6128\u8B93\u9952\u64FE\u7E5E\u8558\u5B08\u6A48\u71B1\u97CC\u8A8D\u7D09\u98EA\u8ED4\u69AE\u7D68\u5DB8\u8811\u7E1F\u92A3\u9870\u8EDF\u92B3\u8706\u958F\u6F64\u7051\u85A9\u98AF\u9C13\u8CFD\u5098\u6BFF\u7CDD\u55AA\u9A37\u6383\u7E45\u6F80\u55C7\u92AB\u7A61\u6BBA\u524E\u7D17\u93A9\u9BCA\u7BE9\u66EC\u91C3\u522A\u9583\u965C\u8D0D\u7E55\u8A15\u59CD\u9A38\u91E4\u9C54\u5891\u50B7\u8CDE\u5770\u6BA4\u89F4\u71D2\u7D39\u8CD2\u651D\u61FE\u8A2D\u5399\u7044\u756C\u7D33\u5BE9\u5B38\u814E\u6EF2\u8A75\u8AD7\u700B\u8072\u7E69\u52DD\u5E2B\u7345\u6FD5\u8A69\u6642\u8755\u5BE6\u8B58\u99DB\u52E2\u9069\u91CB\u98FE\u8996\u8A66\u8B1A\u5852\u8494\u5F12\u8EFE\u8CB0\u9230\u9C23\u58FD\u7378\u7DAC\u6A1E\u8F38\u66F8\u8D16\u5C6C\u8853\u6A39\u8C4E\u6578\u6504\u7D13\u5E25\u9582\u96D9\u8AB0\u7A05\u9806\u8AAA\u78A9\u720D\u9460\u7D72\u98FC\u5EDD\u99DF\u7DE6\u9376\u9DE5\u8073\u616B\u980C\u8A1F\u8AA6\u64FB\u85EA\u993F\u98BC\u93AA\u8607\u8A34\u8085\u8B16\u7A4C\u96D6\u96A8\u7D8F\u6B72\u8AB6\u5B6B\u640D\u7B4D\u84C0\u733B\u7E2E\u7463\u9396\u55E9\u8127\u737A\u64BB\u95E5\u9248\u9C28\u81FA\u614B\u9226\u9B90\u6524\u8CAA\u7671\u7058\u58C7\u8B5A\u8AC7\u5606\u66C7\u926D\u931F\u9807\u6E6F\u71D9\u513B\u9933\u940B\u93DC\u6FE4\u7D73\u8A0E\u97DC\u92F1\u9A30\u8B04\u92BB\u984C\u9AD4\u5C5C\u7DF9\u9D5C\u95D0\u689D\u7CF6\u9F60\u9C37\u8CBC\u9435\u5EF3\u807D\u70F4\u9285\u7D71\u615F\u982D\u9204\u79BF\u5716\u91F7\u5718\u6476\u9839\u86FB\u98E9\u812B\u9D15\u99B1\u99DD\u6A62\u7C5C\u9F09\u896A\u5AA7\u8183\u5F4E\u7063\u9811\u842C\u7D08\u7DB0\u7DB2\u8F1E\u97CB\u9055\u570D\u70BA\u6FF0\u7DAD\u8466\u5049\u507D\u7DEF\u8B02\u885B\u8AC9\u5E43\u95C8\u6E88\u6F7F\u744B\u97D9\u7152\u9BAA\u6EAB\u805E\u7D0B\u7A69\u554F\u95BF\u7515\u64BE\u8778\u6E26\u7AA9\u81E5\u8435\u9F77\u55DA\u93A2\u70CF\u8AA3\u7121\u856A\u5433\u5862\u9727\u52D9\u8AA4\u9114\u5EE1\u61AE\u5AF5\u9A16\u9D61\u9DA9\u932B\u72A7\u8972\u7FD2\u9291\u6232\u7D30\u993C\u9B29\u74BD\u89A1\u8766\u8F44\u5CFD\u4FE0\u72F9\u5EC8\u5687\u7864\u9BAE\u7E96\u8CE2\u929C\u9591\u986F\u96AA\u73FE\u737B\u7E23\u9921\u7FA8\u61B2\u7DDA\u83A7\u859F\u861A\u5CF4\u736B\u5AFB\u9DF4\u7647\u8814\u79C8\u8E9A\u5EC2\u9472\u9109\u8A73\u97FF\u9805\u858C\u9909\u9A64\u7DD7\u9957\u856D\u56C2\u92B7\u66C9\u562F\u5635\u701F\u9A4D\u7D83\u689F\u7C2B\u5354\u633E\u651C\u8105\u8AE7\u5BEB\u7009\u8B1D\u893B\u64F7\u7D32\u7E88\u92C5\u91C1\u8208\u9658\u6ECE\u5147\u6D36\u92B9\u7E61\u9948\u9D42\u865B\u5653\u9808\u8A31\u6558\u7DD2\u7E8C\u8A61\u980A\u8ED2\u61F8\u9078\u766C\u7D62\u8AFC\u9249\u93C7\u5B78\u8B14\u6FA9\u9C48\u52DB\u8A62\u5C0B\u99B4\u8A13\u8A0A\u905C\u5864\u6F6F\u9C58\u58D3\u9D09\u9D28\u555E\u4E9E\u8A1D\u57E1\u5A6D\u690F\u6C2C\u95B9\u7159\u9E7D\u56B4\u5DD6\u984F\u95BB\u8277\u53AD\u786F\u5F65\u8AFA\u9A57\u53B4\u8D17\u513C\u5157\u8B9E\u61E8\u9586\u91C5\u9B58\u995C\u9F34\u9D26\u694A\u63DA\u760D\u967D\u7662\u990A\u6A23\u716C\u7464\u6416\u582F\u9059\u7AAF\u8B20\u85E5\u8EFA\u9DC2\u9C29\u723A\u9801\u696D\u8449\u9768\u8B01\u9134\u66C4\u71C1\u91AB\u92A5\u9824\u907A\u5100\u87FB\u85DD\u5104\u61B6\u7FA9\u8A63\u8B70\u8ABC\u8B6F\u7570\u7E79\u8A52\u56C8\u5DA7\u98F4\u61CC\u9A5B\u7E0A\u8EFC\u8CBD\u91D4\u93B0\u943F\u761E\u8264\u852D\u9670\u9280\u98F2\u96B1\u92A6\u766E\u6AFB\u5B30\u9DF9\u61C9\u7E93\u7469\u87A2\u71DF\u7192\u8805\u8D0F\u7A4E\u584B\u9DAF\u7E08\u93A3\u6516\u56B6\u7005\u7020\u74D4\u9E1A\u766D\u9826\u7F4C\u55B2\u64C1\u50AD\u7670\u8E34\u8A60\u93DE\u512A\u6182\u90F5\u923E\u7336\u8A98\u8555\u92AA\u9B77\u8F3F\u9B5A\u6F01\u5A1B\u8207\u5DBC\u8A9E\u7344\u8B7D\u9810\u99AD\u50B4\u4FC1\u8ADB\u8AED\u8577\u5D33\u98EB\u95BE\u5AD7\u7D06\u89A6\u6B5F\u923A\u9D52\u9DF8\u9F6C\u9D1B\u6DF5\u8F45\u5712\u54E1\u5713\u7DE3\u9060\u6ADE\u9CF6\u9EFF\u7D04\u8E8D\u9470\u7CB5\u6085\u95B1\u925E\u9116\u52FB\u9695\u904B\u860A\u919E\u6688\u97FB\u9106\u8553\u60F2\u614D\u7D1C\u97DE\u6B9E\u6C33\u96DC\u707D\u8F09\u6522\u66AB\u8D0A\u74DA\u8DB2\u93E8\u8D13\u81DF\u99D4\u947F\u68D7\u8CAC\u64C7\u5247\u6FA4\u8CFE\u5616\u5E58\u7C00\u8CCA\u8B56\u8D08\u7D9C\u7E52\u8ECB\u9358\u9598\u67F5\u8A50\u9F4B\u50B5\u6C08\u76DE\u65AC\u8F3E\u5D84\u68E7\u6230\u7DBB\u8B6B\u5F35\u6F32\u5E33\u8CEC\u8139\u8D99\u8A54\u91D7\u87C4\u8F4D\u937A\u9019\u8B2B\u8F12\u9DD3\u8C9E\u91DD\u5075\u8A3A\u93AE\u9663\u6E5E\u7E1D\u6968\u8EEB\u8CD1\u798E\u9D06\u6399\u775C\u7319\u722D\u5E40\u7665\u912D\u8B49\u8ACD\u5D22\u9266\u931A\u7B8F\u7E54\u8077\u57F7\u7D19\u646F\u64F2\u5E5F\u8CEA\u6EEF\u9A2D\u6ADB\u6894\u8EF9\u8F0A\u8D04\u9DD9\u8784\u7E36\u8E93\u8E91\u89F6\u9418\u7D42\u7A2E\u816B\u773E\u937E\u8B05\u8EF8\u76BA\u665D\u9A5F\u7D02\u7E10\u8C6C\u8AF8\u8A85\u71ED\u77DA\u56D1\u8CAF\u9444\u99D0\u4F47\u6AE7\u9296\u5C08\u78DA\u8F49\u8CFA\u56C0\u994C\u9873\u6A01\u838A\u88DD\u599D\u58EF\u72C0\u9310\u8D05\u589C\u7DB4\u9A05\u7E0B\u8AC4\u6E96\u8457\u6FC1\u8AD1\u9432\u8332\u8CC7\u6F2C\u8AEE\u7DC7\u8F1C\u8CB2\u7725\u9319\u9F5C\u9BD4\u8E64\u7E3D\u7E31\u50AF\u9112\u8ACF\u9A36\u9BEB\u8A5B\u7D44\u93C3\u9246\u7E98\u8EA6\u9C52\u7FFA\u4E26\u8514\u6C88\u919C\u6FB1\u53E0\u9B25\u7BC4\u5E79\u81EF\u77FD\u6AC3\u5F8C\u5925\u7A2D\u5091\u8A23\u8A87\u88E1\u88CF\u6DE9\u9EBD\u9EF4\u649A\u6DD2\u6261\u8056\u5C4D\u64E1\u5857\u7AAA\u9935\u6C59\u9341\u9E79\u880D\u5F5C\u6E67\u904A\u7C72\u79A6\u9858\u5DBD\u96F2\u7AC8\u7D2E\u5284\u7BC9\u65BC\u8A8C\u8A3B\u96D5\u8A01\u8B7E\u90E4\u731B\u6C39\u962A\u58DF\u5816\u57B5\u588A\u6ABE\u8552\u8464\u84E7\u8493\u83C7\u69C1\u6463\u54A4\u551A\u54E2\u565D\u5645\u6485\u5288\u8B14\u8946\u5DB4\u810A\u4EFF\u50E5\u7341\u9E85\u9918\u9937\u994A\u9962\u695E\u6035\u61CD\u723F\u6F35\u7069\u6DF7\u6FEB\u7026\u6DE1\u5BE7\u7CF8\u7D5D\u7DD4\u7449\u6898\u68EC\u6848\u6A70\u6AEB\u8EF2\u8EE4\u8CEB\u8181\u8156\u98C8\u7CCA\u7146\u6E9C\u6E63\u6E3A\u78B8\u6EFE\u7798\u9208\u9255\u92E3\u92B1\u92E5\u92F6\u9426\u9427\u9369\u9340\u9343\u9307\u9384\u9387\u93BF\u941D\u9465\u9479\u9454\u7A6D\u9D93\u9DA5\u9E0C\u7667\u5C59\u7602\u81D2\u8947\u7E48\u802E\u986C\u87CE\u9EAF\u9B81\u9B83\u9B8E\u9BD7\u9BDD\u9BF4\u9C5D\u9BFF\u9C20\u9C35\u9C45\u97BD\u97DD\u9F47\u4E2C\u7232\u56B2\u8846\u50DE\u9918\u51A2\u6DE8\u51CC\u51FC\u5257\u52F3\u52D0\u52E9\u6EF7\u9749\u9746\u5553\u5494\u5412\u54B4\u54CC\u8B41\u55CA\u5562\u5523\u553F\u9F67\u56C9\u563D\u5475\u567C\u56AF\u58E0\u57A7\u58B6\u58CB\u58CE\u57DD\u58EA\u7246\u58FC\u5B00\u59DC\u5AFA\u5AFF\u5C53\u5D2C\u5DA8\u5DA2\u5DAE\u5D94\u5D5B\u5D74\u5ECE\u5F60\u5FA1\u610D\u6196\u61B7\u624E\u6266\u6397\u648F\u637B\u63F8\u6698\u66E8\u672D\u684A\u6AAE\u68F6\u6AFA\u6A9F\u6A90\u6C61\u6C93\u6E22\u6F59\u6CB5\u6EAE\u6EFB\u6FDC\u6D8C\u6EB3\u6EBC\u6F0A\u6FA6\u6F24\u7145\u7173\u7198\u729B\u729F\u72CD\u736E\u875F\u74B5\u7452\u7472\u73C9\u73CF\u74AB\u74A1\u7487\u7572\u75FE\u762E\u763B\u766F\u77D3\u7740\u785C\u7845\u78D1\u7904\u7906\u78B9\u78D9\u7995\u7A60\u7C39\u7C64\u7C59\u9931\u7CF9\u7D18\u7D1D\u7D35\u7D16\u7D70\u7D8C\u7D5B\u7DD3\u979D\u7DAF\u7E15\u7DDA\u7E17\u7E6E\u7FFD\u7FEC\u80B7\u9AD2\u9183\u8195\u9F76\u81E2\u8C54\u8279\u8598\u839C\u84F4\u8600\u85C1\u866F\u87BF\u8828\u5ACB\u8918\u894F\u890C\u8949\u8941\u8974\u898E\u89A5\u8B8B\u8A12\u8A29\u8A57\u8A56\u8B78\u8ADD\u8AE1\u8C37\u8C76\u8C9F\u9F4E\u8D14\u8CD9\u8CF5\u8D07\u8D6C\u8DD6\u8E82\u8E0A\u8ED1\u8F08\u8F2C\u8F40\u9B31\u90C4\u91B1\u9245\u9451\u91FA\u9212\u935A\u9203\u9262\u947D\u9276\u928D\u929B\u92D9\u93FD\u9417\u9321\u9329\u6774\u9348\u9360\u93A1\u939B\u9394\u93F0\u93D0\u9481\u9436\u945E\u9588\u9592\u95D3\u95CD\u95E0\u95D2\u95E4\u965D\u97B4\u97CD\u9832\u71B2\u982E\u9834\u9852\u7E87\u98BA\u98AD\u98B8\u98BB\u98C0\u98E3\u98E2\u98E5\u98FF\u9904\u990E\u990F\u9916\u9915\u991C\u9936\u9941\u993A\u99B9\u99F0\u9A6B\u9A02\u99F8\u9A0C\u9A4C\u9A24\u9A66\u9B5B\u9B62\u9B68\u9B7A\u9B8B\u9B93\u9B8A\u9B8D\u9BB3\u9BA6\u9C02\u9B9C\u9C60\u9BBA\u9BB6\u9BD2\u9BD5\u9C3A\u9C0F\u9C68\u9BF7\u9C2E\u9C03\u9C01\u9C42\u9C1F\u9C1C\u9C3C\u9C6F\u9C64\u9C63\u9CF2\u9DAC\u9D1E\u9D12\u9DFD\u9D34\u9D43\u9D50\u9DF3\u9D7E\u9D6E\u9D8A\u9D77\u9DEB\u9DA1\u9DCA\u9DB2\u9DB9\u9DBA\u9DC1\u9DD6\u9E07\u9E0F\u9E18\u9EF6\u9F02\u9780\u9F55\u9F57\u5FD7\u5236\u8AEE\u53EA\u7CFB\u9B06\u5690\u9762\u4E7E\u62FC\u5641\u8B9A\u9AEE\u6BAD\u7DFB\u59E6\u7A6B\u934A\u8FF4\u4FC2\u8E5F\u96BB\u95E2\u95C6\u59B3"}function No(t){let e="";for(let r=0;r<t.length;r++){let n=t.charAt(r);if(wir.has(n)){e+=n;continue}let s=P8e().indexOf(n);s!==-1?e+=KV().charAt(s):e+=n}return e}function Qt(t){let e="";for(let r=0;r<t.length;r++)KV().indexOf(t.charAt(r))!=-1?e+=P8e().charAt(KV().indexOf(t.charAt(r))):e+=t.charAt(r);return e}function cf(t){return!/[\u4e00-\u9fff]/.test(t)}var wir,so=lr(()=>{wir=new Map([["\u5403","\u5403"],["\u6CE8","\u6CE8"]])});function ts(t){let e;if(typeof t=="string")e=t;else if(Array.isArray(t))e=JSON.stringify(t);else if(typeof t=="object")e=JSON.stringify(t);else{_("error","[Utils] [Common] Unsupported data type");return}_("info","[Utils] [Common]",e.slice(0,200))}function W0(t){let e=t.match(/\((\d{4})\)/);return e?parseInt(e[1]):null}function tg(t){if(/^\d+$/.test(t))return Number(t);let e={\u96F6:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u58F9:1,\u8CB3:2,\u53C3:3,\u8086:4,\u4F0D:5,\u9678:6,\u67D2:7,\u634C:8,\u7396:9},r={\u5341:10,\u767E:100,\u5343:1e3,\u62FE:10,\u4F70:100,\u4EDF:1e3},n=0,s=0,i=1;for(let a=0;a<t.length;a++){let o=t[a];if(e[o]!==void 0)s=e[o];else if(r[o]!==void 0){let c=r[o];s===0&&(s=1),c>=i?n=s*c:n+=s*c,i=c,s=0}}return s>0&&(n+=s),n}function k8e(t){if(!t||typeof t!="string")return{cleanFileName:"",preferredPlatform:""};let e=t.indexOf("@");if(e===-1)return{cleanFileName:t.trim(),preferredPlatform:""};let r=t.substring(0,e).trim(),n=t.substring(e+1).trim(),s=n.match(/^(\w+)\s+(S\d+E\d+)$/);if(s){let i=s[1],a=s[2];return{cleanFileName:`${r} ${a}`,preferredPlatform:VV(i)}}else{let i=r.match(/^(.+?)\s+(S\d+E\d+)$/);if(i){let a=i[1],o=i[2];return{cleanFileName:`${a} ${o}`,preferredPlatform:VV(n)}}else return{cleanFileName:r,preferredPlatform:VV(n)}}}function VV(t){if(!t||typeof t!="string")return"";let e=t.trim();return O.allowedPlatforms.includes(e)?e:""}function D8e(t){if(!t)return[...O.platformOrderArr];if(!O.allowedPlatforms.includes(t))return _("warn",`[Utils] [Common] Invalid platform: ${t}, using default order`),[...O.platformOrderArr];let e=[t];for(let r of O.platformOrderArr)r!==t&&r!==null&&e.push(r);return e.push(null),e}function B8e(t){return t?String(t).replace(/[\u200B-\u200F\uFEFF]/g,"").trim():""}function Fr(t){return t?String(t).replace(/[^\u4e00-\u9fa5\u3400-\u4DBF\u{20000}-\u{2EE5F}\u{30000}-\u{323AF}\u3040-\u30ff\uFF65-\uFF9F\uAC00-\uD7AFa-zA-Z0-9\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\u2160-\u217F\u0400-\u04FF\u00C0-\u024F\u0370-\u03FF]/gu,""):""}function $0(t,e){if(!t||!e)return!1;let r=Fr(t),n=Fr(e);if(r===n)return!0;let s=[" ","(","\uFF08",":","\uFF1A","-","\u2014","\xB7","\u7B2C","S","s","\u5E74\u756A","\u5408\u96C6"];for(let i of s)if(r.startsWith(n+i))return!0;return!1}function Wt(t){if(!t)return null;let e=t.match(/(?:第\s*([0-9一二三四五å…七八ä¹å百åƒä¸‡]+)\s*[壿œŸéƒ¨])|(?:S(?:eason)?\s*(\d+))|(?:Part\s*(\d+))/i);if(e){let r=e[1]||e[2]||e[3];if(r)return tg(r)}return null}function yt(t,e,r=null){if(O.strictTitleMatch)return $0(t,e);let n=Fr(t).toLowerCase(),i=[Fr(e).toLowerCase()];try{i=[...new Set([e,Qt(e),No(e)])].map(o=>Fr(o).toLowerCase()).filter(Boolean)}catch{}if(i.some(o=>n.includes(o)))return!0;let a=r!==null?r:Wt(e);if(a!==null){let o=Wt(t);if(a>1){if((o||1)!==a)return!1}else if(a===1&&o!==null&&o!==1)return!1}return i.some(o=>{if(Math.abs(n.length-o.length)>Math.max(n.length,o.length)*.7||/^[a-zA-Z0-9]+$/.test(o))return!1;let c=0,u=0;for(let l of o){let d=n.indexOf(l,u);d!==-1&&(c++,u=d+1)}return c/o.length>.8})}function et(t,e){let r=t?.constructor?.name;if(e==="array"){if(!Array.isArray(t))throw new TypeError(`${t} \u5FC5\u987B\u662F\u4E00\u4E2A\u6570\u7EC4\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}else if(e==="boolean"){if(typeof t!="boolean"&&typeof t!="number")throw new TypeError(`${t} \u5FC5\u987B\u662F boolean \u6216 number\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}else if(typeof t!==e)throw new TypeError(`${t} \u5FC5\u987B\u662F ${e}\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}function Ct(t){if(!t)return{season:null,baseTitle:null};let e=t.match(/^(.*?)\(\d{4}\)/),r=e?e[1].trim():t.split("(")[0].trim(),n=Fr(r),s=n.match(/第\s*([0-9一二三四五å…七八ä¹å壹贰å肆ä¼é™†æŸ’æŒçŽ–æ‹¾]+)\s*[壿œŸéƒ¨]/);if(s)return{season:tg(s[1]),baseTitle:n.replace(s[0],"").trim()};let i=n.match(/(?:S(?:eason)?|Season)\s*(\d+)/i);if(i)return{season:parseInt(i[1],10),baseTitle:n.replace(i[0],"").trim()};let a=n.match(/Part\s*(\d+)/i);if(a)return{season:parseInt(a[1],10),baseTitle:n.replace(a[0],"").trim()};let o=n.match(/(?:^|\s|[^\d])(\d{1,2})$/);if(o)return{season:parseInt(o[1],10),baseTitle:n.slice(0,n.lastIndexOf(o[1])).trim()};let c=n.match(/([一二三四五å…七八ä¹å壹贰å肆ä¼é™†æŸ’æŒçŽ–æ‹¾]+)$/);return c?{season:tg(c[1]),baseTitle:n.replace(c[0],"").trim()}:{season:null,baseTitle:n}}function uf(t){if(!t)return null;let e=t.match(/第(\d+)集/);if(e)return parseInt(e[1],10);let r=t.match(/[Ee][Pp]?(\d+)/);if(r)return parseInt(r[1],10);let n=t.match(/(?:^|\s)(\d+)(?:\s|$)/);return n?parseInt(n[1],10):null}function YV(t,e){let{season:r,baseTitle:n}=Ct(t),s=uf(e);return{baseTitle:n,season:r,episode:s}}var rg,zV,hn=lr(()=>{Ot();_t();so();rg=t=>{let e=t.match(/ã€(.*?)】/);return e?e[1]:null},zV=t=>t.split("(")[0].trim()});var F0,DB,BB,LB,MB,JV,XV,WB,St,fb,hs=lr(()=>{hn();F0=class t{constructor({animeId:e=111,bangumiId:r="",animeTitle:n="",type:s="",typeDescription:i="",imageUrl:a="",startDate:o="",episodeCount:c=1,rating:u=0,isFavorited:l=!0,source:d="",links:f=[],mergedChildren:p=[],isHiddenChild:m=!1}={}){et(e,"number"),et(r,"string"),et(n,"string"),et(s,"string","type"),et(i,"string"),et(a,"string"),et(o,"string"),et(c,"number"),et(u,"number"),et(l,"boolean"),et(d,"string"),et(f,"array"),et(p,"array"),et(m,"boolean"),this.links=f.map(h=>DB.fromJson(h)),Object.assign(this,{animeId:e,bangumiId:r,animeTitle:n,type:s,typeDescription:i,imageUrl:a,startDate:o,episodeCount:c,rating:u,isFavorited:l,source:d,mergedChildren:p,isHiddenChild:m})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=(e.links||[]).map(n=>DB.fromJson(n));return new t({...e,links:r})}toJson(){return{...this,links:this.links.map(e=>e.toJson())}}},DB=class t{constructor({name:e="",url:r="",title:n="",id:s=10001}={}){et(e,"string"),et(r,"string"),et(n,"string"),et(s,"number"),Object.assign(this,{name:e,url:r,title:n,id:s})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},BB=class t{constructor({episodeId:e=10001,animeId:r=111,animeTitle:n="",episodeTitle:s="",type:i="",typeDescription:a="",shift:o=1,imageUrl:c=""}={}){et(e,"number"),et(r,"number"),et(n,"string"),et(s,"string"),et(i,"string","type"),et(a,"string"),et(o,"number"),et(c,"string"),Object.assign(this,{episodeId:e,animeId:r,animeTitle:n,episodeTitle:s,type:i,typeDescription:a,shift:o,imageUrl:c})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},LB=class{constructor({episodeId:e="",episodeTitle:r=""}={}){this.episodeId=e,this.episodeTitle=r}};LB.prototype.toJson=function(){return{episodeId:this.episodeId,episodeTitle:this.episodeTitle}};MB=class t{constructor({animeId:e=111,animeTitle:r="",type:n="",typeDescription:s="",episodes:i=[]}={}){et(e,"number"),et(r,"string"),et(n,"string"),et(s,"string"),et(i,"array"),Object.assign(this,{animeId:e,animeTitle:r,type:n,typeDescription:s,episodes:i.map(a=>new LB(a))})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this,episodes:this.episodes.map(e=>e.toJson())}}},JV=class t{constructor({id:e="",airDate:r="",name:n="",episodeCount:s=0}={}){et(e,"string"),et(r,"string"),et(n,"string"),et(s,"number"),Object.assign(this,{id:e,airDate:r,name:n,episodeCount:s})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},XV=class t{constructor({seasonId:e="",episodeId:r=10001,episodeTitle:n="",episodeNumber:s="",airDate:i=""}={}){et(e,"string"),et(r,"number"),et(n,"string"),et(s,"string"),et(i,"string"),Object.assign(this,{seasonId:e,episodeId:r,episodeTitle:n,episodeNumber:s,airDate:i})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},WB=class t{constructor({animeId:e=111,bangumiId:r="",animeTitle:n="",imageUrl:s="",isOnAir:i=!0,airDay:a=1,isFavorited:o=!0,rating:c=0,type:u="",typeDescription:l="",seasons:d=[],episodes:f=[]}={}){et(e,"number"),et(r,"string"),et(n,"string"),et(s,"string"),et(i,"boolean"),et(a,"number"),et(o,"boolean"),et(c,"number"),et(u,"string"),et(l,"string"),et(d,"array"),et(f,"array");let p=d.map(m=>JV.fromJson(m));Object.assign(this,{animeId:e,bangumiId:r,animeTitle:n,imageUrl:s,isOnAir:i,airDay:a,isFavorited:o,rating:c,type:u,typeDescription:l,seasons:p,episodes:f})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=e.episodes.map(n=>XV.fromJson(n));return new t({...e,episodes:r})}toJson(){return{...this,seasons:this.seasons.map(e=>e.toJson()),episodes:this.episodes.map(e=>e.toJson())}}},St=class t{constructor({type:e="",segmentList:r=[],duration:n=0}={}){et(e,"string"),et(r,"array"),et(n,"number"),this.segmentList=r.map(s=>fb.fromJson(s)),Object.assign(this,{type:e,duration:n})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=(e.segmentList||[]).map(n=>fb.fromJson(n));return new t({...e,segmentList:r})}toJson(){return{...this,segmentList:this.segmentList.map(e=>e.toJson())}}},fb=class t{constructor({type:e,segment_start:r,segment_end:n,url:s,data:i,_m_h5_tk:a,_m_h5_tk_enc:o}={}){et(e,"string","type"),et(r,"number","segment_start"),et(n,"number","segment_end"),et(s,"string","url"),i!==void 0&&et(i,"string","data"),a!==void 0&&et(a,"string","_m_h5_tk"),o!==void 0&&et(o,"string","_m_h5_tk_enc"),Object.assign(this,{type:e,segment_start:r,segment_end:n,url:s,data:i,_m_h5_tk:a,_m_h5_tk_enc:o})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}}});var j8e={};is(j8e,{addAnime:()=>Dt,addEpisode:()=>U8e,cleanupExpiredIPs:()=>qB,findAnimeIdByCommentId:()=>UB,findAnimeTitleById:()=>rz,findIndexById:()=>FB,findTitleById:()=>tz,findUrlById:()=>DI,getCommentCache:()=>lf,getDirname:()=>jB,getLastSearch:()=>ez,getLocalCaches:()=>az,getPreferAnimeId:()=>iz,getSearchCache:()=>OI,isCommentCacheValid:()=>F8e,isSearchCacheValid:()=>$8e,judgeLocalCacheValid:()=>oz,readCacheFromFile:()=>ng,removeEarliestAnime:()=>$t,removeEpisodeByUrl:()=>q8e,resolveAnimeById:()=>sg,resolveAnimeByIdFromDetailStore:()=>ig,resolveEpisodeContextById:()=>mb,setCommentCache:()=>kI,setLastSearch:()=>ZV,setPreferByAnimeId:()=>sz,setSearchCache:()=>PI,storeAnimeIdsToMap:()=>nz,updateLocalCaches:()=>QB,writeCacheToFile:()=>HB});function ZV(t,e){if(TI.set(t,{...e,timestamp:Date.now()}),TI.size>200)for(let[r,n]of TI)Date.now()-n.timestamp>3600*1e3&&TI.delete(r)}function ez(t){return TI.get(t)}function pb(t){if(!t||typeof t!="object")return"";let e=t.source?String(t.source)+":":"";return t.bangumiId!==void 0&&t.bangumiId!==null&&String(t.bangumiId)!==""?"bangumi:"+e+String(t.bangumiId):t.animeId!==void 0&&t.animeId!==null&&String(t.animeId)!==""?"anime:"+e+String(t.animeId):""}function L8e(t,e){if(!(t instanceof Map)||!e)return;let r=pb(e);r&&t.set(r,e)}function*NI(t){if(!(t instanceof Map))return;let e=new Set;for(let r of t.values()){let n=pb(r);n&&e.has(n)||(n&&e.add(n),yield r)}}function Rir(t){let e=[];for(let r of NI(t))e.push(r);return e}function Nir(){let t=Date.now(),e=[];for(let[r,n]of O.searchCache.entries()){let s=(t-n.timestamp)/6e4;if(s>O.searchCacheMinutes){O.searchCache.delete(r),_("info",`[Cache] Search cache for "${r}" expired after ${s.toFixed(2)} minutes`);continue}e.push(n)}return e.sort((r,n)=>(n.timestamp||0)-(r.timestamp||0)),e}function M8e(t,e,r){let n=Date.now(),s=0;for(let[i,a]of t.entries())(n-a.timestamp)/6e4>e&&(t.delete(i),s++);s>0&&_("info",`[Cache] ${r} TTL \u626B\u63CF\u5B8C\u6BD5\uFF0C\u5DF2\u79FB\u9664 ${s} \u4E2A\u8FC7\u671F\u6761\u76EE\uFF0C\u5269\u4F59 ${t.size} \u4E2A`)}function Oir(t,e){return String(t?.animeId)===e||String(t?.bangumiId)===e}function $B(t,e,r=null){let n=null;for(let s of t)if(Oir(s,e)){if(r&&s?.source===r)return s;n||(n=s)}return n}function*W8e(){let t=new Set;for(let e of Nir())if(Array.isArray(e.details))for(let r of e.details){let n=pb(r);n&&t.has(n)||(n&&t.add(n),yield r)}}function sg(t,e=null,r=null){let n=String(t),s=$B(O.animes,n,r);return s||(s=$B(NI(e),n,r),s)?s:$B(W8e(),n,r)}function ig(t,e=null,r=null){let n=String(t);return $B(NI(e),n,r)}function mb(t,e=null){let r=Number(t);if(!Number.isFinite(r))return null;let n=i=>{if(!i?.links||!Array.isArray(i.links))return null;let a=i.links.findIndex(o=>o.id===r);return a===-1?null:{anime:i,link:i.links[a],index:a}};for(let i of O.animes){let a=n(i);if(a)return a}for(let i of NI(e)){let a=n(i);if(a)return a}let s=new Set;for(let i of O.animes){let a=pb(i);a&&s.add(a)}for(let i of NI(e)){let a=pb(i);a&&s.add(a)}for(let i of W8e()){let a=pb(i);if(a&&s.has(a))continue;a&&s.add(a);let o=n(i);if(o)return o}return null}function $8e(t){if(!O.searchCache.has(t))return!1;let e=O.searchCache.get(t),n=(Date.now()-e.timestamp)/(1e3*60);return n>O.searchCacheMinutes?(O.searchCache.delete(t),_("info",`[Cache] Search cache for "${t}" expired after ${n.toFixed(2)} minutes`),!1):!0}function OI(t,e=null){if($8e(t)){_("info",`[Cache] Using search cache for "${t}"`);let r=O.searchCache.get(t);return e instanceof Map&&Array.isArray(r.details)&&r.details.forEach(n=>{L8e(e,n)}),r.results}return null}function PI(t,e,r=null){let n=Rir(r);if(M8e(O.searchCache,O.searchCacheMinutes,"searchCache"),O.searchCache.set(t,{results:e,details:n,timestamp:Date.now()}),O.searchCache.size>500){let s=O.searchCache.keys().next().value;O.searchCache.delete(s),_("info",`[Cache] searchCache TTL\u6E05\u7406\u540E\u4ECD\u8FBE\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u6700\u65E9\u6761\u76EE: ${s}`)}_("info",`[Cache] Cached search results for "${t}" (${e.length} animes)`)}function F8e(t){if(!O.commentCache.has(t))return!1;let e=O.commentCache.get(t),n=(Date.now()-e.timestamp)/(1e3*60);return n>O.commentCacheMinutes?(O.commentCache.delete(t),_("info",`[Cache] Comment cache for "${t}" expired after ${n.toFixed(2)} minutes`),!1):!0}function lf(t){return F8e(t)?(_("info",`[Cache] Using comment cache for "${t}"`),O.commentCache.get(t).comments):null}function kI(t,e){if(M8e(O.commentCache,O.commentCacheMinutes,"commentCache"),O.commentCache.set(t,{comments:e,timestamp:Date.now()}),O.commentCache.size>500){let r=O.commentCache.keys().next().value;O.commentCache.delete(r),_("info",`[Cache] commentCache TTL\u6E05\u7406\u540E\u4ECD\u8FBE\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u6700\u65E9\u6761\u76EE: ${r}`)}_("info",`[Cache] Cached comments for "${t}" (${e.length} comments)`)}function U8e(t,e){let r=O.episodeIds.find(s=>s.url===t&&s.title===e);if(r)return _("info",`[Cache] Episode with URL ${t} and title ${e} already exists in episodeIds, returning existing episode.`),r;O.episodeNum++;let n={id:O.episodeNum,url:t,title:e};return O.episodeIds.push(n),_("info",`[Cache] Added to episodeIds: ${JSON.stringify(n)}`),n}function q8e(t){let e=O.episodeIds.length;O.episodeIds=O.episodeIds.filter(n=>n.url!==t);let r=e-O.episodeIds.length;return r>0?(_("info",`[Cache] Removed ${r} episode(s) from episodeIds with URL: ${t}`),!0):(_("error",`[Cache] No episode found in episodeIds with URL: ${t}`),!1)}function DI(t){let e=O.episodeIds.find(n=>n.id===t);if(e)return _("info",`[Cache] Found URL for ID ${t}: ${e.url}`),e.url;let r=mb(t);return r?.link?.url?(_("info",`[Cache] Found URL for ID ${t} via cached anime details: ${r.link.url}`),r.link.url):(_("error",`[Cache] No URL found for ID: ${t}`),null)}function FB(t){let e=O.episodeIds.findIndex(n=>n.id===t);if(e!==-1)return _("info",`[Cache] Found index for ID ${t}: ${e}`),e;let r=mb(t);return r?(_("info",`[Cache] Found index for ID ${t} via cached anime details: ${r.index}`),r.index):(_("error",`[Cache] No index found for ID: ${t}`),-1)}function tz(t){let e=O.episodeIds.find(n=>n.id===t);if(e)return _("info",`[Cache] Found TITLE for ID ${t}: ${e.title}`),e.title;let r=mb(t);return r?.link?.title?(_("info",`[Cache] Found TITLE for ID ${t} via cached anime details: ${r.link.title}`),r.link.title):(_("error",`[Cache] No TITLE found for ID: ${t}`),null)}function rz(t){let e=mb(t);return e?.anime?.animeTitle?(_("info",`[Cache] Found animeTitle for ID ${t}: ${e.anime.animeTitle}`),e.anime.animeTitle):(_("error",`[Cache] No animeTitle found for ID: ${t}`),null)}function Dt(t,e=null){t=F0.fromJson(t);try{if(!t.links||!Array.isArray(t.links))return _("error",`[Cache] Invalid or missing links in anime: ${JSON.stringify(t)}`),!1;let r=[];t.links.forEach(i=>{if(i.url){let a=U8e(i.url,i.title);a&&r.push(a)}else _("error",`[Cache] Invalid link in anime, missing url: ${JSON.stringify(i)}`)});let n=F0.fromJson({...t,links:r});L8e(e,n);let s=O.animes.findIndex(i=>i.animeId===t.animeId);return s!==-1&&(O.animes.splice(s,1),_("info",`[Cache] Removed old anime at index: ${s}`)),O.animes.push(n),_("info",`[Cache] Added anime to latest position: ${t.animeId}`),O.animes.length>O.MAX_ANIMES&&($t()||_("error","[Cache] Failed to remove earliest anime, but continuing")),_("info",`[Cache] animes: ${JSON.stringify(O.animes.map(i=>({links:i.links,animeId:i.animeId,bangumiId:i.bangumiId,animeTitle:i.animeTitle})),(i,a)=>i==="links"?a.length:a)}`),!0}catch(r){return _("error",`[Cache] addAnime failed: ${r.message}`),!1}}function $t(){if(O.animes.length===0)return _("error","[Cache] No animes to remove."),!1;let t=O.animes.shift();return _("info",`[Cache] Removed earliest anime: ${JSON.stringify(t)}`),t.links&&Array.isArray(t.links)&&t.links.forEach(e=>{e.url&&q8e(e.url)}),!0}function nz(t,e){let r=new Set,n=O.lastSelectMap.get(e);if(n&&Array.isArray(n.animeIds))for(let d of n.animeIds)r.add(d);for(let d of t)r.add(d.animeId);let s=n?.prefer,i=n?.source,a=n?.preferBySeason,o=n?.sourceBySeason,c=n?.offsets,u=a?{...a}:{},l=o?{...o}:{};if(s!==void 0&&(u.default=s),i!==void 0&&(l.default=i),O.lastSelectMap.has(e)&&O.lastSelectMap.delete(e),O.lastSelectMap.set(e,{animeIds:[...r],...Object.keys(u).length>0&&{preferBySeason:u},...Object.keys(l).length>0&&{sourceBySeason:l},...c!==void 0&&{offsets:c}}),O.lastSelectMap.size>O.MAX_LAST_SELECT_MAP){let d=O.lastSelectMap.keys().next().value;O.lastSelectMap.delete(d),_("info",`[Cache] Removed earliest entry from lastSelectMap: ${d}`)}}function UB(t){let e=mb(t);return e?[e.anime.animeId,e.anime.source,e.link.title,e.anime.aliases||[]]:[null,null,null,[]]}function sz(t,e,r=null,n=null){for(let[s,i]of O.lastSelectMap.entries())if(i.animeIds&&i.animeIds.includes(t)){let a=r===null?"default":String(r);return i.preferBySeason=i.preferBySeason||{},i.sourceBySeason=i.sourceBySeason||{},i.preferBySeason[a]=t,i.sourceBySeason[a]=e,r!==null&&n!==null&&(i.offsets=i.offsets||{},i.offsets[a]=n),O.lastSelectMap.set(s,i),s}return null}function iz(t,e=null){let r=O.lastSelectMap.get(t);if(!r)return[null,null,null];let n=e===null?"default":String(e),s=r.preferBySeason||{},i=r.sourceBySeason||{},a=s[n]??s.default??r.prefer??null,o=i[n]??i.default??r.source??null,c=r.offsets||null;return[a,o,c]}function qB(t){let r=0;for(let[n,s]of O.requestHistory.entries()){let i=s.filter(a=>t-a<=6e4);i.length===0?(O.requestHistory.delete(n),r++,_("info",`[Utils] [Rate Limit] Cleaned up expired IP record: ${n}`)):i.length<s.length&&O.requestHistory.set(n,i)}r>0&&_("info",`[Utils] [Rate Limit] Cleanup completed: removed ${r} expired IP records`)}function jB(){return typeof __dirname<"u"?__dirname:RI.join(process.cwd(),"danmu_api","utils")}function ng(t){let e=RI.join(jB(),"..","..",".cache",`${t}`);if(wI.existsSync(e)){let r=wI.readFileSync(e,"utf8");return JSON.parse(r)}return null}function HB(t,e){let r=RI.join(jB(),"..","..",".cache",`${t}`);wI.writeFileSync(r,JSON.stringify(e),"utf8")}async function az(){if(!O.localCacheInitialized)try{_("info","[Cache] getLocalCaches start."),O.animes=JSON.parse(ng("animes"))||O.animes,O.episodeIds=JSON.parse(ng("episodeIds"))||O.episodeIds,O.episodeNum=JSON.parse(ng("episodeNum"))||O.episodeNum,O.reqRecords=JSON.parse(ng("reqRecords"))||O.reqRecords,O.todayReqNum=JSON.parse(ng("todayReqNum"))||O.todayReqNum;let t=ng("lastSelectMap");t&&(O.lastSelectMap=new Map(Object.entries(JSON.parse(t))),_("info",`[Cache] Restored lastSelectMap from local cache with ${O.lastSelectMap.size} entries`)),O.lastHashes.animes=an(JSON.stringify(O.animes)),O.lastHashes.episodeIds=an(JSON.stringify(O.episodeIds)),O.lastHashes.episodeNum=an(JSON.stringify(O.episodeNum)),O.lastHashes.reqRecords=an(JSON.stringify(O.reqRecords)),O.lastHashes.todayReqNum=an(JSON.stringify(O.todayReqNum)),O.lastHashes.lastSelectMap=an(JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.localCacheInitialized=!0,_("info","[Cache] getLocalCaches completed successfully.")}catch(t){_("error",`[Cache] getLocalCaches failed: ${t.message}`,t.stack),O.localCacheInitialized=!0}}async function QB(){try{_("info","[Cache] updateLocalCaches start.");let t=[],e=[{key:"animes",value:O.animes},{key:"episodeIds",value:O.episodeIds},{key:"episodeNum",value:O.episodeNum},{key:"reqRecords",value:O.reqRecords},{key:"lastSelectMap",value:O.lastSelectMap},{key:"todayReqNum",value:O.todayReqNum}];for(let{key:r,value:n}of e){let s=JSON.stringify(r==="lastSelectMap"?Object.fromEntries(n):n),i=an(s);i!==O.lastHashes[r]&&(HB(r,s),t.push({key:r,hash:i}))}t.length>0?(_("info",`[Cache] Updated local caches for keys: ${t.map(r=>r.key).join(", ")}`),t.forEach(({key:r,hash:n})=>{O.lastHashes[r]=n})):_("info","[Cache] No changes detected, skipping local cache update.")}catch(t){_("error",`[Cache] updateLocalCaches failed: ${t.message}`,t.stack),_("error",`[Cache] Error details - Name: ${t.name}, Cause: ${t.cause?t.cause.message:"N/A"}`)}}async function oz(t,e){if(e==="node")try{if(wI=await import("fs"),RI=await import("path"),!O.localCacheValid&&t!=="/favicon.ico"&&t!=="/robots.txt"){let r=RI.join(jB(),"..","..",".cache");wI.existsSync(r)?O.localCacheValid=!0:O.localCacheValid=!1}}catch(r){_("warn","[Cache] Node.js modules not available:",r.message),O.localCacheValid=!1}}var wI,RI,TI,$n=lr(()=>{Ot();_t();hs();Ts();TI=new Map});var fz=E(JB=>{"use strict";Object.defineProperty(JB,"__esModule",{value:!0});JB.VerbatimString=void 0;var dz=class extends String{format;constructor(e,r){super(r),this.format=e}};JB.VerbatimString=dz});var Ol=E(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.MultiErrorReply=mr.CommandTimeoutDuringMaintenanceError=mr.SocketTimeoutDuringMaintenanceError=mr.TimeoutError=mr.BlobError=mr.SimpleError=mr.ErrorReply=mr.ReconnectStrategyError=mr.RootNodesUnavailableError=mr.SocketClosedUnexpectedlyError=mr.DisconnectsClientError=mr.ClientOfflineError=mr.ClientClosedError=mr.SocketTimeoutError=mr.ConnectionTimeoutError=mr.WatchError=mr.AbortError=void 0;var pz=class extends Error{constructor(){super("The command was aborted")}};mr.AbortError=pz;var mz=class extends Error{constructor(e="One (or more) of the watched keys has been changed"){super(e)}};mr.WatchError=mz;var hz=class extends Error{constructor(){super("Connection timeout")}};mr.ConnectionTimeoutError=hz;var gz=class extends Error{constructor(e){super(`Socket timeout timeout. Expecting data, but didn't receive any in ${e}ms.`)}};mr.SocketTimeoutError=gz;var Az=class extends Error{constructor(){super("The client is closed")}};mr.ClientClosedError=Az;var yz=class extends Error{constructor(){super("The client is offline")}};mr.ClientOfflineError=yz;var xz=class extends Error{constructor(){super("Disconnects client")}};mr.DisconnectsClientError=xz;var bz=class extends Error{constructor(){super("Socket closed unexpectedly")}};mr.SocketClosedUnexpectedlyError=bz;var Ez=class extends Error{constructor(){super("All the root nodes are unavailable")}};mr.RootNodesUnavailableError=Ez;var _z=class extends Error{originalError;socketError;constructor(e,r){super(e.message),this.originalError=e,this.socketError=r}};mr.ReconnectStrategyError=_z;var Ab=class extends Error{};mr.ErrorReply=Ab;var Sz=class extends Ab{};mr.SimpleError=Sz;var vz=class extends Ab{};mr.BlobError=vz;var MI=class extends Error{};mr.TimeoutError=MI;var Iz=class extends MI{constructor(e){super(`Socket timeout during maintenance. Expecting data, but didn't receive any in ${e}ms.`)}};mr.SocketTimeoutDuringMaintenanceError=Iz;var Cz=class extends MI{constructor(e){super(`Command timeout during maintenance. Waited to write command for more than ${e}ms.`)}};mr.CommandTimeoutDuringMaintenanceError=Cz;var Tz=class extends Ab{replies;errorIndexes;constructor(e,r){super(`${r.length} commands failed, see .replies and .errorIndexes for more information`),this.replies=e,this.errorIndexes=r}*errors(){for(let e of this.errorIndexes)yield this.replies[e]}};mr.MultiErrorReply=Tz});var eL=E(pt=>{"use strict";var wz;Object.defineProperty(pt,"__esModule",{value:!0});pt.Decoder=pt.PUSH_TYPE_MAPPING=pt.RESP_TYPES=void 0;var eWe=fz(),XB=Ol();pt.RESP_TYPES={NULL:95,BOOLEAN:35,NUMBER:58,BIG_NUMBER:40,DOUBLE:44,SIMPLE_STRING:43,BLOB_STRING:36,VERBATIM_STRING:61,SIMPLE_ERROR:45,BLOB_ERROR:33,ARRAY:42,SET:126,MAP:37,PUSH:62};var Jr={"\r":13,t:116,"+":43,"-":45,0:48,".":46,i:105,n:110,E:69,e:101};pt.PUSH_TYPE_MAPPING={[pt.RESP_TYPES.BLOB_STRING]:Buffer};var ZB=class{onReply;onErrorReply;onPush;getTypeMapping;#e=0;#t;constructor(e){this.onReply=e.onReply,this.onErrorReply=e.onErrorReply,this.onPush=e.onPush,this.getTypeMapping=e.getTypeMapping}reset(){this.#e=0,this.#t=void 0}write(e){if(this.#e>=e.length){this.#e-=e.length;return}if(this.#t&&(this.#t(e)||this.#e>=e.length)){this.#e-=e.length;return}do{let r=e[this.#e];if(++this.#e===e.length){this.#t=this.#r.bind(this,r);break}if(this.#n(r,e))break}while(this.#e<e.length);this.#e-=e.length}#r(e,r){return this.#t=void 0,this.#n(e,r)}#n(e,r){switch(e){case pt.RESP_TYPES.NULL:return this.onReply(this.#s()),!1;case pt.RESP_TYPES.BOOLEAN:return this.#a(this.onReply,this.#i(r));case pt.RESP_TYPES.NUMBER:return this.#a(this.onReply,this.#c(this.getTypeMapping()[pt.RESP_TYPES.NUMBER],r));case pt.RESP_TYPES.BIG_NUMBER:return this.#a(this.onReply,this.#d(this.getTypeMapping()[pt.RESP_TYPES.BIG_NUMBER],r));case pt.RESP_TYPES.DOUBLE:return this.#a(this.onReply,this.#g(this.getTypeMapping()[pt.RESP_TYPES.DOUBLE],r));case pt.RESP_TYPES.SIMPLE_STRING:return this.#a(this.onReply,this.#x(this.getTypeMapping()[pt.RESP_TYPES.SIMPLE_STRING],r));case pt.RESP_TYPES.BLOB_STRING:return this.#a(this.onReply,this.#T(this.getTypeMapping()[pt.RESP_TYPES.BLOB_STRING],r));case pt.RESP_TYPES.VERBATIM_STRING:return this.#a(this.onReply,this.#O(this.getTypeMapping()[pt.RESP_TYPES.VERBATIM_STRING],r));case pt.RESP_TYPES.SIMPLE_ERROR:return this.#a(this.onErrorReply,this.#Q(r));case pt.RESP_TYPES.BLOB_ERROR:return this.#a(this.onErrorReply,this.#K(r));case pt.RESP_TYPES.ARRAY:return this.#a(this.onReply,this.#q(this.getTypeMapping(),r));case pt.RESP_TYPES.SET:return this.#a(this.onReply,this.#J(this.getTypeMapping(),r));case pt.RESP_TYPES.MAP:return this.#a(this.onReply,this.#te(this.getTypeMapping(),r));case pt.RESP_TYPES.PUSH:return this.#a(this.onPush,this.#q(pt.PUSH_TYPE_MAPPING,r));default:throw new Error(`Unknown RESP type ${e} "${String.fromCharCode(e)}"`)}}#a(e,r){return typeof r=="function"?(this.#t=this.#o.bind(this,e,r),!0):(e(r),!1)}#o(e,r,n){return this.#t=void 0,this.#a(e,r(n))}#s(){return this.#e+=2,null}#i(e){let r=e[this.#e]===Jr.t;return this.#e+=3,r}#c(e,r){if(e===String)return this.#x(String,r);switch(r[this.#e]){case Jr["+"]:return this.#l(!1,r);case Jr["-"]:return this.#l(!0,r);default:return this.#h(!1,this.#p.bind(this,0),r)}}#l(e,r){let n=this.#p.bind(this,0);return++this.#e===r.length?this.#h.bind(this,e,n):this.#h(e,n,r)}#h(e,r,n){let s=r(n);return typeof s=="function"?this.#h.bind(this,e,s):e?-s:s}#p(e,r){let n=this.#e;do{let s=r[n];if(s===Jr["\r"])return this.#e=n+2,e;e=e*10+s-Jr[0]}while(++n<r.length);return this.#e=n,this.#p.bind(this,e)}#d(e,r){if(e===String)return this.#x(String,r);switch(r[this.#e]){case Jr["+"]:return this.#f(!1,r);case Jr["-"]:return this.#f(!0,r);default:return this.#m(!1,this.#y.bind(this,0n),r)}}#f(e,r){let n=this.#y.bind(this,0n);return++this.#e===r.length?this.#m.bind(this,e,n):this.#m(e,n,r)}#m(e,r,n){let s=r(n);return typeof s=="function"?this.#m.bind(this,e,s):e?-s:s}#y(e,r){let n=this.#e;do{let s=r[n];if(s===Jr["\r"])return this.#e=n+2,e;e=e*10n+BigInt(s-Jr[0])}while(++n<r.length);return this.#e=n,this.#y.bind(this,e)}#g(e,r){if(e===String)return this.#x(String,r);switch(r[this.#e]){case Jr.n:return this.#e+=5,NaN;case Jr["+"]:return this.#E(!1,r);case Jr["-"]:return this.#E(!0,r);default:return this.#S(!1,0,r)}}#E(e,r){return++this.#e===r.length?this.#S.bind(this,e,0):this.#S(e,0,r)}#S(e,r,n){return n[this.#e]===Jr.i?(this.#e+=5,e?-1/0:1/0):this.#A(e,r,n)}#A(e,r,n){let s=this.#e;do{let i=n[s];switch(i){case Jr["."]:return this.#e=s+1,this.#e<n.length?this.#_(e,0,r,n):this.#_.bind(this,e,0,r);case Jr.E:case Jr.e:this.#e=s+1;let a=e?-r:r;return this.#e<n.length?this.#v(a,n):this.#v.bind(this,a);case Jr["\r"]:return this.#e=s+2,e?-r:r;default:r=r*10+i-Jr[0]}}while(++s<n.length);return this.#e=s,this.#A.bind(this,e,r)}static#I=[.1,.01,.001,1e-4,1e-5,1e-6,1e-7,1e-8,1e-9,1e-10,1e-11,1e-12,1e-13,1e-14,1e-15,1e-16,1e-17];#_(e,r,n,s){let i=this.#e;do{let a=s[i];switch(a){case Jr.E:case Jr.e:this.#e=i+1;let o=e?-n:n;return this.#e===s.length?this.#v.bind(this,o):this.#v(o,s);case Jr["\r"]:return this.#e=i+2,e?-n:n}r<wz.#I.length&&(n+=(a-Jr[0])*wz.#I[r++])}while(++i<s.length);return this.#e=i,this.#_.bind(this,e,r,n)}#v(e,r){switch(r[this.#e]){case Jr["+"]:return++this.#e===r.length?this.#b.bind(this,!1,e,0):this.#b(!1,e,0,r);case Jr["-"]:return++this.#e===r.length?this.#b.bind(this,!0,e,0):this.#b(!0,e,0,r)}return this.#b(!1,e,0,r)}#b(e,r,n,s){let i=this.#e;do{let a=s[i];if(a===Jr["\r"])return this.#e=i+2,r*10**(e?-n:n);n=n*10+a-Jr[0]}while(++i<s.length);return this.#e=i,this.#b.bind(this,e,r,n)}#u(e,r){for(;e[r]!==Jr["\r"];)if(++r===e.length)return this.#e=e.length,-1;return this.#e=r+2,r}#x(e,r){let n=this.#e,s=this.#u(r,n);if(s===-1)return this.#P.bind(this,[r.subarray(n)],e);let i=r.subarray(n,s);return e===Buffer?i:i.toString()}#P(e,r,n){let s=this.#e,i=this.#u(n,s);if(i===-1)return e.push(n.subarray(s)),this.#P.bind(this,e,r);e.push(n.subarray(s,i));let a=Buffer.concat(e);return r===Buffer?a:a.toString()}#T(e,r){if(r[this.#e]===Jr["-"])return this.#e+=4,null;let n=this.#p(0,r);return typeof n=="function"?this.#C.bind(this,n,e):this.#e>=r.length?this.#R.bind(this,n,e):this.#R(n,e,r)}#C(e,r,n){let s=e(n);return typeof s=="function"?this.#C.bind(this,s,r):this.#e>=n.length?this.#R.bind(this,s,r):this.#R(s,r,n)}#N(e,r,n,s){let i=this.#e+e;if(i>=s.length){let o=s.subarray(this.#e);return this.#e=s.length,this.#M.bind(this,e-o.length,[o],r,n)}let a=s.subarray(this.#e,i);return this.#e=i+r,n===Buffer?a:a.toString()}#M(e,r,n,s,i){let a=this.#e+e;if(a>=i.length){let c=i.subarray(this.#e);return r.push(c),this.#e=i.length,this.#M.bind(this,e-c.length,r,n,s)}r.push(i.subarray(this.#e,a)),this.#e=a+n;let o=Buffer.concat(r);return s===Buffer?o:o.toString()}#R(e,r,n){return this.#N(e,2,r,n)}#O(e,r){return this.#k(this.#p.bind(this,0),e,r)}#k(e,r,n){let s=e(n);return typeof s=="function"?this.#k.bind(this,s,r):this.#ce(s,r,n)}#ce(e,r,n){let s=e-4;return r===eWe.VerbatimString?this.#ue(s,n):(this.#e+=4,this.#e>=n.length?this.#R.bind(this,s,r):this.#R(s,r,n))}#ue(e,r){let n=this.#N.bind(this,3,1,String);return this.#e>=r.length?this.#F.bind(this,e,n):this.#F(e,n,r)}#F(e,r,n){let s=r(n);return typeof s=="function"?this.#F.bind(this,e,s):this.#le(e,s,n)}#le(e,r,n){return this.#H(r,this.#R.bind(this,e,String),n)}#H(e,r,n){let s=r(n);return typeof s=="function"?this.#H.bind(this,e,s):new eWe.VerbatimString(e,s)}#Q(e){let r=this.#x(String,e);return typeof r=="function"?this.#G.bind(this,r):new XB.SimpleError(r)}#G(e,r){let n=e(r);return typeof n=="function"?this.#G.bind(this,n):new XB.SimpleError(n)}#K(e){let r=this.#T(String,e);return typeof r=="function"?this.#V.bind(this,r):new XB.BlobError(r)}#V(e,r){let n=e(r);return typeof n=="function"?this.#V.bind(this,n):new XB.BlobError(n)}#w(e,r){let n=r[this.#e];return++this.#e===r.length?this.#U.bind(this,n,e):this.#U(n,e,r)}#U(e,r,n){switch(e){case pt.RESP_TYPES.NULL:return this.#s();case pt.RESP_TYPES.BOOLEAN:return this.#i(n);case pt.RESP_TYPES.NUMBER:return this.#c(r[pt.RESP_TYPES.NUMBER],n);case pt.RESP_TYPES.BIG_NUMBER:return this.#d(r[pt.RESP_TYPES.BIG_NUMBER],n);case pt.RESP_TYPES.DOUBLE:return this.#g(r[pt.RESP_TYPES.DOUBLE],n);case pt.RESP_TYPES.SIMPLE_STRING:return this.#x(r[pt.RESP_TYPES.SIMPLE_STRING],n);case pt.RESP_TYPES.BLOB_STRING:return this.#T(r[pt.RESP_TYPES.BLOB_STRING],n);case pt.RESP_TYPES.VERBATIM_STRING:return this.#O(r[pt.RESP_TYPES.VERBATIM_STRING],n);case pt.RESP_TYPES.SIMPLE_ERROR:return this.#Q(n);case pt.RESP_TYPES.BLOB_ERROR:return this.#K(n);case pt.RESP_TYPES.ARRAY:return this.#q(r,n);case pt.RESP_TYPES.SET:return this.#J(r,n);case pt.RESP_TYPES.MAP:return this.#te(r,n);default:throw new Error(`Unknown RESP type ${e} "${String.fromCharCode(e)}"`)}}#q(e,r){return r[this.#e]===Jr["-"]?(this.#e+=4,null):this.#z(this.#p(0,r),e,r)}#z(e,r,n){return typeof e=="function"?this.#de.bind(this,e,r):this.#D(new Array(e),0,r,n)}#de(e,r,n){return this.#z(e(n),r,n)}#D(e,r,n,s){for(let i=r;i<e.length;i++){if(this.#e>=s.length)return this.#D.bind(this,e,i,n);let a=this.#w(n,s);if(typeof a=="function")return this.#Y.bind(this,e,i,a,n);e[i]=a}return e}#Y(e,r,n,s,i){let a=n(i);return typeof a=="function"?this.#Y.bind(this,e,r,a,s):(e[r++]=a,this.#D(e,r,s,i))}#J(e,r){let n=this.#p(0,r);return typeof n=="function"?this.#X.bind(this,n,e):this.#Z(n,e,r)}#X(e,r,n){let s=e(n);return typeof s=="function"?this.#X.bind(this,s,r):this.#Z(s,r,n)}#Z(e,r,n){return r[pt.RESP_TYPES.SET]===Set?this.#j(new Set,e,r,n):this.#D(new Array(e),0,r,n)}#j(e,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#j.bind(this,e,r,n);let i=this.#w(n,s);if(typeof i=="function")return this.#ee.bind(this,e,r,i,n);e.add(i),--r}return e}#ee(e,r,n,s,i){let a=n(i);return typeof a=="function"?this.#ee.bind(this,e,r,a,s):(e.add(a),this.#j(e,r-1,s,i))}#te(e,r){let n=this.#p(0,r);return typeof n=="function"?this.#re.bind(this,n,e):this.#ne(n,e,r)}#re(e,r,n){let s=e(n);return typeof s=="function"?this.#re.bind(this,s,r):this.#ne(s,r,n)}#ne(e,r,n){switch(r[pt.RESP_TYPES.MAP]){case Map:return this.#W(new Map,e,r,n);case Array:return this.#D(new Array(e*2),0,r,n);default:return this.#$(Object.create(null),e,r,n)}}#W(e,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#W.bind(this,e,r,n);let i=this.#se(n,s);if(typeof i=="function")return this.#ae.bind(this,e,r,i,n);if(this.#e>=s.length)return this.#B.bind(this,e,r,i,this.#w.bind(this,n),n);let a=this.#w(n,s);if(typeof a=="function")return this.#B.bind(this,e,r,i,a,n);e.set(i,a),--r}return e}#se(e,r){let n=r[this.#e];return++this.#e===r.length?this.#ie.bind(this,n,e):this.#ie(n,e,r)}#ie(e,r,n){switch(e){case pt.RESP_TYPES.SIMPLE_STRING:return this.#x(String,n);case pt.RESP_TYPES.BLOB_STRING:return this.#T(String,n);default:return this.#U(e,r,n)}}#ae(e,r,n,s,i){let a=n(i);if(typeof a=="function")return this.#ae.bind(this,e,r,a,s);if(this.#e>=i.length)return this.#B.bind(this,e,r,a,this.#w.bind(this,s),s);let o=this.#w(s,i);return typeof o=="function"?this.#B.bind(this,e,r,a,o,s):(e.set(a,o),this.#W(e,r-1,s,i))}#B(e,r,n,s,i,a){let o=s(a);return typeof o=="function"?this.#B.bind(this,e,r,n,o,i):(e.set(n,o),this.#W(e,r-1,i,a))}#$(e,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#$.bind(this,e,r,n);let i=this.#se(n,s);if(typeof i=="function")return this.#oe.bind(this,e,r,i,n);if(this.#e>=s.length)return this.#L.bind(this,e,r,i,this.#w.bind(this,n),n);let a=this.#w(n,s);if(typeof a=="function")return this.#L.bind(this,e,r,i,a,n);e[i]=a,--r}return e}#oe(e,r,n,s,i){let a=n(i);if(typeof a=="function")return this.#oe.bind(this,e,r,a,s);if(this.#e>=i.length)return this.#L.bind(this,e,r,a,this.#w.bind(this,s),s);let o=this.#w(s,i);return typeof o=="function"?this.#L.bind(this,e,r,a,o,s):(e[a]=o,this.#$(e,r-1,s,i))}#L(e,r,n,s,i,a){let o=s(a);return typeof o=="function"?this.#L.bind(this,e,r,n,o,i):(e[n]=o,this.#$(e,r-1,i,a))}};pt.Decoder=ZB;wz=ZB});var rWe=E(yb=>{"use strict";Object.defineProperty(yb,"__esModule",{value:!0});yb.scriptSha1=yb.defineScript=void 0;var Yir=require("node:crypto");function Jir(t){return{...t,SHA1:tWe(t.SCRIPT)}}yb.defineScript=Jir;function tWe(t){return(0,Yir.createHash)("sha1").update(t).digest("hex")}yb.scriptSha1=tWe});var nWe=E(tL=>{"use strict";Object.defineProperty(tL,"__esModule",{value:!0});tL.digest=void 0;var Rz=null;async function Xir(){if(!Rz)try{Rz=(await import("@node-rs/xxhash")).xxh3}catch{throw new Error('The "digest" function requires the "@node-rs/xxhash" package, but it was not found.')}return Rz}async function Zir(t){let e=await Xir(),r=typeof t=="string"?t:new Uint8Array(t);return e.xxh64(r).toString(16).padStart(16,"0")}tL.digest=Zir});var sWe=E(Nz=>{"use strict";Object.defineProperty(Nz,"__esModule",{value:!0});Nz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","CAT"),e&&t.push(e)},transformReply:void 0}});var iWe=E(Oz=>{"use strict";Object.defineProperty(Oz,"__esModule",{value:!0});Oz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","DELUSER"),t.pushVariadic(e)},transformReply:void 0}});var aWe=E(Pz=>{"use strict";Object.defineProperty(Pz,"__esModule",{value:!0});Pz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ACL","DRYRUN",e,...r)},transformReply:void 0}});var oWe=E(kz=>{"use strict";Object.defineProperty(kz,"__esModule",{value:!0});kz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","GENPASS"),e&&t.push(e.toString())},transformReply:void 0}});var cWe=E(Dz=>{"use strict";Object.defineProperty(Dz,"__esModule",{value:!0});Dz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","GETUSER",e)},transformReply:{2:t=>({flags:t[1],passwords:t[3],commands:t[5],keys:t[7],channels:t[9],selectors:t[11]?.map(e=>{let r=e;return{commands:r[1],keys:r[3],channels:r[5]}})}),3:void 0}}});var uWe=E(Bz=>{"use strict";Object.defineProperty(Bz,"__esModule",{value:!0});Bz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","LIST")},transformReply:void 0}});var lWe=E(Lz=>{"use strict";Object.defineProperty(Lz,"__esModule",{value:!0});Lz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","LOAD")},transformReply:void 0}});var Pl=E(rL=>{"use strict";Object.defineProperty(rL,"__esModule",{value:!0});rL.BasicCommandParser=void 0;var Mz=class{#e=[];#t=[];preserve;get redisArgs(){return this.#e}get keys(){return this.#t}get firstKey(){return this.#t[0]}get cacheKey(){let e=new Array(this.#e.length*2);for(let r=0;r<this.#e.length;r++)e[r]=this.#e[r].length,e[r+this.#e.length]=this.#e[r];return e.join("_")}push(...e){this.#e.push(...e)}pushVariadic(e){if(Array.isArray(e))for(let r of e)this.push(r);else this.push(e)}pushVariadicWithLength(e){Array.isArray(e)?this.#e.push(e.length.toString()):this.#e.push("1"),this.pushVariadic(e)}pushVariadicNumber(e){if(Array.isArray(e))for(let r of e)this.push(r.toString());else this.push(e.toString())}pushKey(e){this.#t.push(e),this.#e.push(e)}pushKeysLength(e){Array.isArray(e)?this.#e.push(e.length.toString()):this.#e.push("1"),this.pushKeys(e)}pushKeys(e){Array.isArray(e)?(this.#t.push(...e),this.#e.push(...e)):(this.#t.push(e),this.#e.push(e))}};rL.BasicCommandParser=Mz});var Ce=E(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.transformRedisJsonNullReply=Be.transformRedisJsonReply=Be.transformRedisJsonArgument=Be.transformStreamsMessagesReplyResp3=Be.transformStreamsMessagesReplyResp2=Be.transformStreamMessagesReply=Be.transformStreamMessageNullReply=Be.transformStreamMessageReply=Be.parseArgs=Be.parseZKeysArguments=Be.transformRangeReply=Be.parseSlotRangesArguments=Be.transformFunctionListItemReply=Be.RedisFunctionFlags=Be.transformCommandReply=Be.CommandCategories=Be.CommandFlags=Be.parseOptionalVariadicArgument=Be.pushVariadicArgument=Be.pushVariadicNumberArguments=Be.pushVariadicArguments=Be.pushEvalArguments=Be.evalFirstKeyIndex=Be.transformPXAT=Be.transformEXAT=Be.transformSortedSetReply=Be.transformTuplesReply=Be.createTransformTuplesReplyFunc=Be.transformTuplesToMap=Be.transformNullableDoubleReply=Be.createTransformNullableDoubleReplyResp2Func=Be.transformDoubleArrayReply=Be.createTransformDoubleReplyResp2Func=Be.transformDoubleReply=Be.transformStringDoubleArgument=Be.transformDoubleArgument=Be.transformBooleanArrayReply=Be.transformBooleanReply=Be.isArrayReply=Be.isNullReply=void 0;var ear=Pl(),Wz=eL();function $z(t){return t===null}Be.isNullReply=$z;function tar(t){return Array.isArray(t)}Be.isArrayReply=tar;Be.transformBooleanReply={2:t=>t===1,3:void 0};Be.transformBooleanArrayReply={2:t=>t.map(Be.transformBooleanReply[2]),3:void 0};function nL(t){switch(t){case 1/0:return"+inf";case-1/0:return"-inf";default:return t.toString()}}Be.transformDoubleArgument=nL;function rar(t){return typeof t!="number"?t:nL(t)}Be.transformStringDoubleArgument=rar;Be.transformDoubleReply={2:(t,e,r)=>{switch(r?r[Wz.RESP_TYPES.DOUBLE]:void 0){case String:return t;default:{let s;switch(t.toString()){case"inf":case"+inf":s=1/0;case"-inf":s=-1/0;case"nan":s=NaN;default:s=Number(t)}return s}}},3:void 0};function hWe(t,e){return r=>Be.transformDoubleReply[2](r,t,e)}Be.createTransformDoubleReplyResp2Func=hWe;Be.transformDoubleArrayReply={2:(t,e,r)=>t.map(hWe(e,r)),3:void 0};function nar(t,e){return r=>Be.transformNullableDoubleReply[2](r,t,e)}Be.createTransformNullableDoubleReplyResp2Func=nar;Be.transformNullableDoubleReply={2:(t,e,r)=>t===null?null:Be.transformDoubleReply[2](t,e,r),3:void 0};function sar(t,e){let r=Object.create(null);for(let n=0;n<t.length;n+=2)r[t[n].toString()]=e(t[n+1]);return r}Be.transformTuplesToMap=sar;function iar(t,e){return r=>Fz(r,t,e)}Be.createTransformTuplesReplyFunc=iar;function Fz(t,e,r){let n=r?r[Wz.RESP_TYPES.MAP]:void 0,s=t;switch(n){case Array:return t;case Map:{let i=new Map;for(let a=0;a<s.length;a+=2)i.set(s[a].toString(),s[a+1]);return i}default:{let i=Object.create(null);for(let a=0;a<s.length;a+=2)i[s[a].toString()]=s[a+1];return i}}}Be.transformTuplesReply=Fz;Be.transformSortedSetReply={2:(t,e,r)=>{let n=t,s=[];for(let i=0;i<n.length;i+=2)s.push({value:n[i],score:Be.transformDoubleReply[2](n[i+1],e,r)});return s},3:t=>t.map(e=>{let[r,n]=e;return{value:r,score:n}})};function aar(t){return(typeof t=="number"?t:Math.floor(t.getTime()/1e3)).toString()}Be.transformEXAT=aar;function oar(t){return(typeof t=="number"?t:t.getTime()).toString()}Be.transformPXAT=oar;function car(t){return t?.keys?.[0]}Be.evalFirstKeyIndex=car;function uar(t,e){return e?.keys?t.push(e.keys.length.toString(),...e.keys):t.push("0"),e?.arguments&&t.push(...e.arguments),t}Be.pushEvalArguments=uar;function lar(t,e){return Array.isArray(e)?t=t.concat(e):t.push(e),t}Be.pushVariadicArguments=lar;function dar(t,e){if(Array.isArray(e))for(let r of e)t.push(r.toString());else t.push(e.toString());return t}Be.pushVariadicNumberArguments=dar;function far(t,e){return Array.isArray(e)?t.push(e.length.toString(),...e):t.push("1",e),t}Be.pushVariadicArgument=far;function par(t,e,r){r!==void 0&&(t.push(e),t.pushVariadicWithLength(r))}Be.parseOptionalVariadicArgument=par;var dWe;(function(t){t.WRITE="write",t.READONLY="readonly",t.DENYOOM="denyoom",t.ADMIN="admin",t.PUBSUB="pubsub",t.NOSCRIPT="noscript",t.RANDOM="random",t.SORT_FOR_SCRIPT="sort_for_script",t.LOADING="loading",t.STALE="stale",t.SKIP_MONITOR="skip_monitor",t.ASKING="asking",t.FAST="fast",t.MOVABLEKEYS="movablekeys"})(dWe||(Be.CommandFlags=dWe={}));var fWe;(function(t){t.KEYSPACE="@keyspace",t.READ="@read",t.WRITE="@write",t.SET="@set",t.SORTEDSET="@sortedset",t.LIST="@list",t.HASH="@hash",t.STRING="@string",t.BITMAP="@bitmap",t.HYPERLOGLOG="@hyperloglog",t.GEO="@geo",t.STREAM="@stream",t.PUBSUB="@pubsub",t.ADMIN="@admin",t.FAST="@fast",t.SLOW="@slow",t.BLOCKING="@blocking",t.DANGEROUS="@dangerous",t.CONNECTION="@connection",t.TRANSACTION="@transaction",t.SCRIPTING="@scripting"})(fWe||(Be.CommandCategories=fWe={}));function mar([t,e,r,n,s,i,a]){return{name:t,arity:e,flags:new Set(r),firstKeyIndex:n,lastKeyIndex:s,step:i,categories:new Set(a)}}Be.transformCommandReply=mar;var pWe;(function(t){t.NO_WRITES="no-writes",t.ALLOW_OOM="allow-oom",t.ALLOW_STALE="allow-stale",t.NO_CLUSTER="no-cluster"})(pWe||(Be.RedisFunctionFlags=pWe={}));function har(t){return{libraryName:t[1],engine:t[3],functions:t[5].map(e=>({name:e[1],description:e[3],flags:e[5]}))}}Be.transformFunctionListItemReply=har;function mWe(t,e){t.push(e.start.toString(),e.end.toString())}function gar(t,e){if(Array.isArray(e))for(let r of e)mWe(t,r);else mWe(t,e)}Be.parseSlotRangesArguments=gar;function Aar([t,e]){return{start:t,end:e}}Be.transformRangeReply=Aar;function yar(t,e){if(Array.isArray(e)){if(t.push(e.length.toString()),e.length)if(xar(e))t.pushKeys(e);else{for(let r=0;r<e.length;r++)t.pushKey(e[r].key);t.push("WEIGHTS");for(let r=0;r<e.length;r++)t.push(nL(e[r].weight))}}else t.push("1"),gWe(e)?t.pushKey(e):(t.pushKey(e.key),t.push("WEIGHTS",nL(e.weight)))}Be.parseZKeysArguments=yar;function gWe(t){return typeof t=="string"||t instanceof Buffer}function xar(t){return gWe(t[0])}function bar(t,...e){let r=new ear.BasicCommandParser;t.parseCommand(r,...e);let n=r.redisArgs;return r.preserve&&(n.preserve=r.preserve),n}Be.parseArgs=bar;function Uz(t,e){let[r,n,s,i]=e;return{id:r,message:Fz(n,void 0,t),...s!==void 0?{millisElapsedFromDelivery:s}:{},...i!==void 0?{deliveriesCounter:i}:{}}}Be.transformStreamMessageReply=Uz;function Ear(t,e){return $z(e)?e:Uz(t,e)}Be.transformStreamMessageNullReply=Ear;function WI(t,e){return t.map(Uz.bind(void 0,e))}Be.transformStreamMessagesReply=WI;function _ar(t,e,r){if(t===null)return null;switch(r?r[Wz.RESP_TYPES.MAP]:void 0){default:{let n=[];for(let s=0;s<t.length;s++){let i=t[s];n.push({name:i[0],messages:WI(i[1])})}return n}}}Be.transformStreamsMessagesReplyResp2=_ar;function Sar(t){if(t===null)return null;if(t instanceof Map){let e=new Map;for(let[r,n]of t){let s=r;e.set(s.toString(),WI(n))}return e}else if(t instanceof Array){let e=[];for(let r=0;r<t.length;r+=2){let n=t[r],s=t[r+1];e.push(n),e.push(WI(s))}return e}else{let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=WI(n);return e}}Be.transformStreamsMessagesReplyResp3=Sar;function Iar(t){return JSON.stringify(t)}Be.transformRedisJsonArgument=Iar;function AWe(t){return JSON.parse(t.toString())}Be.transformRedisJsonReply=AWe;function Car(t){return $z(t)?t:AWe(t)}Be.transformRedisJsonNullReply=Car});var jz=E(qz=>{"use strict";Object.defineProperty(qz,"__esModule",{value:!0});var Tar=Ce();qz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","LOG"),e!=null&&t.push(e.toString())},transformReply:{2:(t,e,r)=>t.map(n=>{let s=n;return{count:s[1],reason:s[3],context:s[5],object:s[7],username:s[9],"age-seconds":Tar.transformDoubleReply[2](s[11],e,r),"client-info":s[13],"entry-id":s[15],"timestamp-created":s[17],"timestamp-last-updated":s[19]}}),3:void 0}}});var yWe=E($I=>{"use strict";var war=$I&&$I.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($I,"__esModule",{value:!0});var Rar=war(jz());$I.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:Rar.default.IS_READ_ONLY,parseCommand(t){t.push("ACL","LOG","RESET")},transformReply:void 0}});var xWe=E(Hz=>{"use strict";Object.defineProperty(Hz,"__esModule",{value:!0});Hz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","SAVE")},transformReply:void 0}});var bWe=E(Qz=>{"use strict";Object.defineProperty(Qz,"__esModule",{value:!0});Qz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ACL","SETUSER",e),t.pushVariadic(r)},transformReply:void 0}});var EWe=E(Gz=>{"use strict";Object.defineProperty(Gz,"__esModule",{value:!0});Gz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","USERS")},transformReply:void 0}});var _We=E(Kz=>{"use strict";Object.defineProperty(Kz,"__esModule",{value:!0});Kz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","WHOAMI")},transformReply:void 0}});var SWe=E(Vz=>{"use strict";Object.defineProperty(Vz,"__esModule",{value:!0});Vz.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("APPEND",e,r)},transformReply:void 0}});var zz=E(xb=>{"use strict";Object.defineProperty(xb,"__esModule",{value:!0});xb.ASKING_CMD=void 0;xb.ASKING_CMD="ASKING";xb.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push(xb.ASKING_CMD)},transformReply:void 0}});var vWe=E(Yz=>{"use strict";Object.defineProperty(Yz,"__esModule",{value:!0});Yz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,{username:e,password:r}){t.push("AUTH"),e!==void 0&&t.push(e),t.push(r)},transformReply:void 0}});var IWe=E(Jz=>{"use strict";Object.defineProperty(Jz,"__esModule",{value:!0});Jz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("BGREWRITEAOF")},transformReply:void 0}});var CWe=E(Xz=>{"use strict";Object.defineProperty(Xz,"__esModule",{value:!0});Xz.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("BGSAVE"),e?.SCHEDULE&&t.push("SCHEDULE")},transformReply:void 0}});var TWe=E(Zz=>{"use strict";Object.defineProperty(Zz,"__esModule",{value:!0});Zz.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BITCOUNT"),t.pushKey(e),r&&(t.push(r.start.toString()),t.push(r.end.toString()),r.mode&&t.push(r.mode))},transformReply:void 0}});var wWe=E(eY=>{"use strict";Object.defineProperty(eY,"__esModule",{value:!0});eY.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BITFIELD_RO"),t.pushKey(e);for(let n of r)t.push("GET"),t.push(n.encoding),t.push(n.offset.toString())},transformReply:void 0}});var RWe=E(tY=>{"use strict";Object.defineProperty(tY,"__esModule",{value:!0});tY.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BITFIELD"),t.pushKey(e);for(let n of r)switch(n.operation){case"GET":t.push("GET",n.encoding,n.offset.toString());break;case"SET":t.push("SET",n.encoding,n.offset.toString(),n.value.toString());break;case"INCRBY":t.push("INCRBY",n.encoding,n.offset.toString(),n.increment.toString());break;case"OVERFLOW":t.push("OVERFLOW",n.behavior);break}},transformReply:void 0}});var NWe=E(rY=>{"use strict";Object.defineProperty(rY,"__esModule",{value:!0});rY.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BITOP",e),t.pushKey(r),t.pushKeys(n)},transformReply:void 0}});var OWe=E(nY=>{"use strict";Object.defineProperty(nY,"__esModule",{value:!0});nY.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s,i){t.push("BITPOS"),t.pushKey(e),t.push(r.toString()),n!==void 0&&t.push(n.toString()),s!==void 0&&t.push(s.toString()),i&&t.push(i)},transformReply:void 0}});var PWe=E(sY=>{"use strict";Object.defineProperty(sY,"__esModule",{value:!0});sY.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("BLMOVE"),t.pushKeys([e,r]),t.push(n,s,i.toString())},transformReply:void 0}});var iY=E(FI=>{"use strict";Object.defineProperty(FI,"__esModule",{value:!0});FI.parseLMPopArguments=void 0;function kWe(t,e,r,n){t.pushKeysLength(e),t.push(r),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString())}FI.parseLMPopArguments=kWe;FI.default={IS_READ_ONLY:!1,parseCommand(t,...e){t.push("LMPOP"),kWe(t,...e)},transformReply:void 0}});var BWe=E(ff=>{"use strict";var Nar=ff&&ff.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Oar=ff&&ff.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Par=ff&&ff.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Nar(e,t,r);return Oar(e,t),e};Object.defineProperty(ff,"__esModule",{value:!0});var DWe=Par(iY());ff.default={IS_READ_ONLY:!1,parseCommand(t,e,...r){t.push("BLMPOP",e.toString()),(0,DWe.parseLMPopArguments)(t,...r)},transformReply:DWe.default.transformReply}});var oY=E(aY=>{"use strict";Object.defineProperty(aY,"__esModule",{value:!0});aY.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BLPOP"),t.pushKeys(e),t.push(r.toString())},transformReply(t){return t===null?null:{key:t[0],element:t[1]}}}});var LWe=E(UI=>{"use strict";var kar=UI&&UI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(UI,"__esModule",{value:!0});var Dar=kar(oY());UI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BRPOP"),t.pushKeys(e),t.push(r.toString())},transformReply:Dar.default.transformReply}});var MWe=E(cY=>{"use strict";Object.defineProperty(cY,"__esModule",{value:!0});cY.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BRPOPLPUSH"),t.pushKeys([e,r]),t.push(n.toString())},transformReply:void 0}});var uY=E(qI=>{"use strict";Object.defineProperty(qI,"__esModule",{value:!0});qI.parseZMPopArguments=void 0;var WWe=Ce();function $We(t,e,r,n){t.pushKeysLength(e),t.push(r),n?.COUNT&&t.push("COUNT",n.COUNT.toString())}qI.parseZMPopArguments=$We;qI.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZMPOP"),$We(t,e,r,n)},transformReply:{2(t,e,r){return t===null?null:{key:t[0],members:t[1].map(n=>{let[s,i]=n;return{value:s,score:WWe.transformDoubleReply[2](i,e,r)}})}},3(t){return t===null?null:{key:t[0],members:WWe.transformSortedSetReply[3](t[1])}}}}});var UWe=E(pf=>{"use strict";var Bar=pf&&pf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Lar=pf&&pf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Mar=pf&&pf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Bar(e,t,r);return Lar(e,t),e};Object.defineProperty(pf,"__esModule",{value:!0});var FWe=Mar(uY());pf.default={IS_READ_ONLY:!1,parseCommand(t,e,...r){t.push("BZMPOP",e.toString()),(0,FWe.parseZMPopArguments)(t,...r)},transformReply:FWe.default.transformReply}});var dY=E(lY=>{"use strict";Object.defineProperty(lY,"__esModule",{value:!0});var War=Ce();lY.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BZPOPMAX"),t.pushKeys(e),t.push(r.toString())},transformReply:{2(t,e,r){return t===null?null:{key:t[0],value:t[1],score:War.transformDoubleReply[2](t[2],e,r)}},3(t){return t===null?null:{key:t[0],value:t[1],score:t[2]}}}}});var jWe=E(jI=>{"use strict";var $ar=jI&&jI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jI,"__esModule",{value:!0});var qWe=$ar(dY());jI.default={IS_READ_ONLY:qWe.default.IS_READ_ONLY,parseCommand(t,e,r){t.push("BZPOPMIN"),t.pushKeys(e),t.push(r.toString())},transformReply:qWe.default.transformReply}});var HWe=E(fY=>{"use strict";Object.defineProperty(fY,"__esModule",{value:!0});fY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","CACHING",e?"YES":"NO")},transformReply:void 0}});var QWe=E(pY=>{"use strict";Object.defineProperty(pY,"__esModule",{value:!0});pY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","GETNAME")},transformReply:void 0}});var GWe=E(mY=>{"use strict";Object.defineProperty(mY,"__esModule",{value:!0});mY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","GETREDIR")},transformReply:void 0}});var KWe=E(hY=>{"use strict";Object.defineProperty(hY,"__esModule",{value:!0});hY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","ID")},transformReply:void 0}});var AY=E(gY=>{"use strict";Object.defineProperty(gY,"__esModule",{value:!0});var Far=/([^\s=]+)=([^\s]*)/g;gY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","INFO")},transformReply(t){let e={};for(let n of t.toString().matchAll(Far))e[n[1]]=n[2];let r={id:Number(e.id),addr:e.addr,fd:Number(e.fd),name:e.name,age:Number(e.age),idle:Number(e.idle),flags:e.flags,db:Number(e.db),sub:Number(e.sub),psub:Number(e.psub),multi:Number(e.multi),qbuf:Number(e.qbuf),qbufFree:Number(e["qbuf-free"]),argvMem:Number(e["argv-mem"]),obl:Number(e.obl),oll:Number(e.oll),omem:Number(e.omem),totMem:Number(e["tot-mem"]),events:e.events,cmd:e.cmd,user:e.user,libName:e["lib-name"],libVer:e["lib-ver"]};return e.laddr!==void 0&&(r.laddr=e.laddr),e.redir!==void 0&&(r.redir=Number(e.redir)),e.ssub!==void 0&&(r.ssub=Number(e.ssub)),e["multi-mem"]!==void 0&&(r.multiMem=Number(e["multi-mem"])),e.resp!==void 0&&(r.resp=Number(e.resp)),r}}});var zWe=E(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.CLIENT_KILL_FILTERS=void 0;Po.CLIENT_KILL_FILTERS={ADDRESS:"ADDR",LOCAL_ADDRESS:"LADDR",ID:"ID",TYPE:"TYPE",USER:"USER",SKIP_ME:"SKIPME",MAXAGE:"MAXAGE"};Po.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){if(t.push("CLIENT","KILL"),Array.isArray(e))for(let r of e)VWe(t,r);else VWe(t,e)},transformReply:void 0};function VWe(t,e){if(e===Po.CLIENT_KILL_FILTERS.SKIP_ME){t.push("SKIPME");return}switch(t.push(e.filter),e.filter){case Po.CLIENT_KILL_FILTERS.ADDRESS:t.push(e.address);break;case Po.CLIENT_KILL_FILTERS.LOCAL_ADDRESS:t.push(e.localAddress);break;case Po.CLIENT_KILL_FILTERS.ID:t.push(typeof e.id=="number"?e.id.toString():e.id);break;case Po.CLIENT_KILL_FILTERS.TYPE:t.push(e.type);break;case Po.CLIENT_KILL_FILTERS.USER:t.push(e.username);break;case Po.CLIENT_KILL_FILTERS.SKIP_ME:t.push(e.skipMe?"yes":"no");break;case Po.CLIENT_KILL_FILTERS.MAXAGE:t.push(e.maxAge.toString());break}}});var YWe=E(HI=>{"use strict";var Uar=HI&&HI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(HI,"__esModule",{value:!0});var qar=Uar(AY());HI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","LIST"),e&&(e.TYPE!==void 0?t.push("TYPE",e.TYPE):(t.push("ID"),t.pushVariadic(e.ID)))},transformReply(t){let e=t.toString().split(`
|
|
`),r=e.length-1,n=[];for(let s=0;s<r;s++)n.push(qar.default.transformReply(e[s]));return n}}});var JWe=E(yY=>{"use strict";Object.defineProperty(yY,"__esModule",{value:!0});yY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","NO-EVICT",e?"ON":"OFF")},transformReply:void 0}});var XWe=E(xY=>{"use strict";Object.defineProperty(xY,"__esModule",{value:!0});xY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","NO-TOUCH",e?"ON":"OFF")},transformReply:void 0}});var ZWe=E(bY=>{"use strict";Object.defineProperty(bY,"__esModule",{value:!0});bY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CLIENT","PAUSE",e.toString()),r&&t.push(r)},transformReply:void 0}});var e$e=E(EY=>{"use strict";Object.defineProperty(EY,"__esModule",{value:!0});EY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","SETNAME",e)},transformReply:void 0}});var t$e=E(_Y=>{"use strict";Object.defineProperty(_Y,"__esModule",{value:!0});_Y.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){if(t.push("CLIENT","TRACKING",e?"ON":"OFF"),e){if(r?.REDIRECT&&t.push("REDIRECT",r.REDIRECT.toString()),jar(r)){if(t.push("BCAST"),r?.PREFIX)if(Array.isArray(r.PREFIX))for(let n of r.PREFIX)t.push("PREFIX",n);else t.push("PREFIX",r.PREFIX)}else Har(r)?t.push("OPTIN"):Qar(r)&&t.push("OPTOUT");r?.NOLOOP&&t.push("NOLOOP")}},transformReply:void 0};function jar(t){return t?.BCAST===!0}function Har(t){return t?.OPTIN===!0}function Qar(t){return t?.OPTOUT===!0}});var r$e=E(SY=>{"use strict";Object.defineProperty(SY,"__esModule",{value:!0});SY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","TRACKINGINFO")},transformReply:{2:t=>({flags:t[1],redirect:t[3],prefixes:t[5]}),3:void 0}}});var n$e=E(vY=>{"use strict";Object.defineProperty(vY,"__esModule",{value:!0});vY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","UNPAUSE")},transformReply:void 0}});var s$e=E(IY=>{"use strict";Object.defineProperty(IY,"__esModule",{value:!0});IY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","ADDSLOTS"),t.pushVariadicNumber(e)},transformReply:void 0}});var i$e=E(CY=>{"use strict";Object.defineProperty(CY,"__esModule",{value:!0});var Gar=Ce();CY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","ADDSLOTSRANGE"),(0,Gar.parseSlotRangesArguments)(t,e)},transformReply:void 0}});var a$e=E(TY=>{"use strict";Object.defineProperty(TY,"__esModule",{value:!0});TY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","BUMPEPOCH")},transformReply:void 0}});var o$e=E(wY=>{"use strict";Object.defineProperty(wY,"__esModule",{value:!0});wY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","COUNT-FAILURE-REPORTS",e)},transformReply:void 0}});var c$e=E(RY=>{"use strict";Object.defineProperty(RY,"__esModule",{value:!0});RY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","COUNTKEYSINSLOT",e.toString())},transformReply:void 0}});var u$e=E(NY=>{"use strict";Object.defineProperty(NY,"__esModule",{value:!0});NY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","DELSLOTS"),t.pushVariadicNumber(e)},transformReply:void 0}});var l$e=E(OY=>{"use strict";Object.defineProperty(OY,"__esModule",{value:!0});var Kar=Ce();OY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","DELSLOTSRANGE"),(0,Kar.parseSlotRangesArguments)(t,e)},transformReply:void 0}});var d$e=E(QI=>{"use strict";Object.defineProperty(QI,"__esModule",{value:!0});QI.FAILOVER_MODES=void 0;QI.FAILOVER_MODES={FORCE:"FORCE",TAKEOVER:"TAKEOVER"};QI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","FAILOVER"),e?.mode&&t.push(e.mode)},transformReply:void 0}});var f$e=E(PY=>{"use strict";Object.defineProperty(PY,"__esModule",{value:!0});PY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","FLUSHSLOTS")},transformReply:void 0}});var p$e=E(kY=>{"use strict";Object.defineProperty(kY,"__esModule",{value:!0});kY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","FORGET",e)},transformReply:void 0}});var m$e=E(DY=>{"use strict";Object.defineProperty(DY,"__esModule",{value:!0});DY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CLUSTER","GETKEYSINSLOT",e.toString(),r.toString())},transformReply:void 0}});var h$e=E(BY=>{"use strict";Object.defineProperty(BY,"__esModule",{value:!0});BY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","INFO")},transformReply:void 0}});var g$e=E(LY=>{"use strict";Object.defineProperty(LY,"__esModule",{value:!0});LY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","KEYSLOT",e)},transformReply:void 0}});var A$e=E(MY=>{"use strict";Object.defineProperty(MY,"__esModule",{value:!0});MY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","LINKS")},transformReply:{2:t=>t.map(e=>{let r=e;return{direction:r[1],node:r[3],"create-time":r[5],events:r[7],"send-buffer-allocated":r[9],"send-buffer-used":r[11]}}),3:void 0}}});var y$e=E(WY=>{"use strict";Object.defineProperty(WY,"__esModule",{value:!0});WY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CLUSTER","MEET",e,r.toString())},transformReply:void 0}});var x$e=E($Y=>{"use strict";Object.defineProperty($Y,"__esModule",{value:!0});$Y.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","MYID")},transformReply:void 0}});var b$e=E(FY=>{"use strict";Object.defineProperty(FY,"__esModule",{value:!0});FY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","MYSHARDID")},transformReply:void 0}});var E$e=E(UY=>{"use strict";Object.defineProperty(UY,"__esModule",{value:!0});UY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","NODES")},transformReply:void 0}});var _$e=E(qY=>{"use strict";Object.defineProperty(qY,"__esModule",{value:!0});qY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","REPLICAS",e)},transformReply:void 0}});var S$e=E(jY=>{"use strict";Object.defineProperty(jY,"__esModule",{value:!0});jY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","REPLICATE",e)},transformReply:void 0}});var v$e=E(HY=>{"use strict";Object.defineProperty(HY,"__esModule",{value:!0});HY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","RESET"),e?.mode&&t.push(e.mode)},transformReply:void 0}});var I$e=E(QY=>{"use strict";Object.defineProperty(QY,"__esModule",{value:!0});QY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","SAVECONFIG")},transformReply:void 0}});var C$e=E(GY=>{"use strict";Object.defineProperty(GY,"__esModule",{value:!0});GY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","SET-CONFIG-EPOCH",e.toString())},transformReply:void 0}});var T$e=E(GI=>{"use strict";Object.defineProperty(GI,"__esModule",{value:!0});GI.CLUSTER_SLOT_STATES=void 0;GI.CLUSTER_SLOT_STATES={IMPORTING:"IMPORTING",MIGRATING:"MIGRATING",STABLE:"STABLE",NODE:"NODE"};GI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("CLUSTER","SETSLOT",e.toString(),r),n&&t.push(n)},transformReply:void 0}});var R$e=E(KY=>{"use strict";Object.defineProperty(KY,"__esModule",{value:!0});KY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","SLOTS")},transformReply(t){return t.map(([e,r,n,...s])=>({from:e,to:r,master:w$e(n),replicas:s.map(w$e)}))}};function w$e(t){let[e,r,n]=t;return{host:e,port:r,id:n}}});var N$e=E(VY=>{"use strict";Object.defineProperty(VY,"__esModule",{value:!0});VY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("COMMAND","COUNT")},transformReply:void 0}});var O$e=E(zY=>{"use strict";Object.defineProperty(zY,"__esModule",{value:!0});zY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","GETKEYS"),t.push(...e)},transformReply:void 0}});var P$e=E(YY=>{"use strict";Object.defineProperty(YY,"__esModule",{value:!0});YY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","GETKEYSANDFLAGS"),t.push(...e)},transformReply(t){return t.map(e=>{let[r,n]=e;return{key:r,flags:n}})}}});var k$e=E(JY=>{"use strict";Object.defineProperty(JY,"__esModule",{value:!0});var Var=Ce();JY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","INFO",...e)},transformReply(t){return t.map(e=>e?(0,Var.transformCommandReply)(e):null)}}});var D$e=E(KI=>{"use strict";Object.defineProperty(KI,"__esModule",{value:!0});KI.COMMAND_LIST_FILTER_BY=void 0;KI.COMMAND_LIST_FILTER_BY={MODULE:"MODULE",ACLCAT:"ACLCAT",PATTERN:"PATTERN"};KI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","LIST"),e?.FILTERBY&&t.push("FILTERBY",e.FILTERBY.type,e.FILTERBY.value)},transformReply:void 0}});var B$e=E(XY=>{"use strict";Object.defineProperty(XY,"__esModule",{value:!0});var zar=Ce();XY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("COMMAND")},transformReply(t){return t.map(zar.transformCommandReply)}}});var L$e=E(ZY=>{"use strict";Object.defineProperty(ZY,"__esModule",{value:!0});var Yar=Ce();ZY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CONFIG","GET"),t.pushVariadic(e)},transformReply:{2:Yar.transformTuplesReply,3:void 0}}});var M$e=E(eJ=>{"use strict";Object.defineProperty(eJ,"__esModule",{value:!0});eJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CONFIG","RESETSTAT")},transformReply:void 0}});var W$e=E(tJ=>{"use strict";Object.defineProperty(tJ,"__esModule",{value:!0});tJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CONFIG","REWRITE")},transformReply:void 0}});var $$e=E(rJ=>{"use strict";Object.defineProperty(rJ,"__esModule",{value:!0});rJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,...[e,r]){if(t.push("CONFIG","SET"),typeof e=="string"||e instanceof Buffer)t.push(e,r);else for(let[n,s]of Object.entries(e))t.push(n,s)},transformReply:void 0}});var F$e=E(nJ=>{"use strict";Object.defineProperty(nJ,"__esModule",{value:!0});nJ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("COPY"),t.pushKeys([e,r]),n?.DB&&t.push("DB",n.DB.toString()),n?.REPLACE&&t.push("REPLACE")},transformReply:void 0}});var U$e=E(sJ=>{"use strict";Object.defineProperty(sJ,"__esModule",{value:!0});sJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("DBSIZE")},transformReply:void 0}});var q$e=E(iJ=>{"use strict";Object.defineProperty(iJ,"__esModule",{value:!0});iJ.default={parseCommand(t,e){t.push("DECR"),t.pushKey(e)},transformReply:void 0}});var j$e=E(aJ=>{"use strict";Object.defineProperty(aJ,"__esModule",{value:!0});aJ.default={parseCommand(t,e,r){t.push("DECRBY"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var H$e=E(oJ=>{"use strict";Object.defineProperty(oJ,"__esModule",{value:!0});oJ.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("DEL"),t.pushKeys(e)},transformReply:void 0}});var Q$e=E(VI=>{"use strict";Object.defineProperty(VI,"__esModule",{value:!0});VI.DelexCondition=void 0;VI.DelexCondition={IFEQ:"IFEQ",IFNE:"IFNE",IFDEQ:"IFDEQ",IFDNE:"IFDNE"};VI.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("DELEX"),t.pushKey(e),r&&(t.push(r.condition),t.push(r.matchValue))},transformReply:void 0}});var G$e=E(cJ=>{"use strict";Object.defineProperty(cJ,"__esModule",{value:!0});cJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("DIGEST"),t.pushKey(e)},transformReply:void 0}});var K$e=E(uJ=>{"use strict";Object.defineProperty(uJ,"__esModule",{value:!0});uJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("DUMP"),t.pushKey(e)},transformReply:void 0}});var V$e=E(lJ=>{"use strict";Object.defineProperty(lJ,"__esModule",{value:!0});lJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ECHO",e)},transformReply:void 0}});var cg=E(zI=>{"use strict";Object.defineProperty(zI,"__esModule",{value:!0});zI.parseEvalArguments=void 0;function z$e(t,e,r){t.push(e),r?.keys?t.pushKeysLength(r.keys):t.push("0"),r?.arguments&&t.push(...r.arguments)}zI.parseEvalArguments=z$e;zI.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("EVAL"),z$e(...t)},transformReply:void 0}});var J$e=E(mf=>{"use strict";var Jar=mf&&mf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Xar=mf&&mf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Zar=mf&&mf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Jar(e,t,r);return Xar(e,t),e};Object.defineProperty(mf,"__esModule",{value:!0});var Y$e=Zar(cg());mf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("EVAL_RO"),(0,Y$e.parseEvalArguments)(...t)},transformReply:Y$e.default.transformReply}});var Z$e=E(hf=>{"use strict";var eor=hf&&hf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),tor=hf&&hf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),ror=hf&&hf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&eor(e,t,r);return tor(e,t),e};Object.defineProperty(hf,"__esModule",{value:!0});var X$e=ror(cg());hf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("EVALSHA_RO"),(0,X$e.parseEvalArguments)(...t)},transformReply:X$e.default.transformReply}});var tFe=E(gf=>{"use strict";var nor=gf&&gf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),sor=gf&&gf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),ior=gf&&gf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&nor(e,t,r);return sor(e,t),e};Object.defineProperty(gf,"__esModule",{value:!0});var eFe=ior(cg());gf.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("EVALSHA"),(0,eFe.parseEvalArguments)(...t)},transformReply:eFe.default.transformReply}});var nFe=E(dJ=>{"use strict";Object.defineProperty(dJ,"__esModule",{value:!0});dJ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){if(t.push("GEOADD"),t.pushKey(e),n?.condition?t.push(n.condition):n?.NX?t.push("NX"):n?.XX&&t.push("XX"),n?.CH&&t.push("CH"),Array.isArray(r))for(let s of r)rFe(t,s);else rFe(t,r)},transformReply:void 0};function rFe(t,{longitude:e,latitude:r,member:n}){t.push(e.toString(),r.toString(),n)}});var sFe=E(fJ=>{"use strict";Object.defineProperty(fJ,"__esModule",{value:!0});fJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("GEODIST"),t.pushKey(e),t.push(r,n),s&&t.push(s)},transformReply(t){return t===null?null:Number(t)}}});var iFe=E(pJ=>{"use strict";Object.defineProperty(pJ,"__esModule",{value:!0});pJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GEOHASH"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var aFe=E(mJ=>{"use strict";Object.defineProperty(mJ,"__esModule",{value:!0});mJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GEOPOS"),t.pushKey(e),t.pushVariadic(r)},transformReply(t){return t.map(e=>{let r=e;return r===null?null:{longitude:r[0],latitude:r[1]}})}}});var lg=E(ug=>{"use strict";Object.defineProperty(ug,"__esModule",{value:!0});ug.parseGeoSearchOptions=ug.parseGeoSearchArguments=void 0;function oFe(t,e,r,n,s){t.pushKey(e),typeof r=="string"||r instanceof Buffer?t.push("FROMMEMBER",r):t.push("FROMLONLAT",r.longitude.toString(),r.latitude.toString()),"radius"in n?t.push("BYRADIUS",n.radius.toString(),n.unit):t.push("BYBOX",n.width.toString(),n.height.toString(),n.unit),cFe(t,s)}ug.parseGeoSearchArguments=oFe;function cFe(t,e){e?.SORT&&t.push(e.SORT),e?.COUNT&&(typeof e.COUNT=="number"?t.push("COUNT",e.COUNT.toString()):(t.push("COUNT",e.COUNT.value.toString()),e.COUNT.ANY&&t.push("ANY")))}ug.parseGeoSearchOptions=cFe;ug.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("GEOSEARCH"),oFe(t,e,r,n,s)},transformReply:void 0}});var JI=E(YI=>{"use strict";Object.defineProperty(YI,"__esModule",{value:!0});YI.parseGeoRadiusArguments=void 0;var aor=lg();function uFe(t,e,r,n,s,i){t.pushKey(e),t.push(r.longitude.toString(),r.latitude.toString(),n.toString(),s),(0,aor.parseGeoSearchOptions)(t,i)}YI.parseGeoRadiusArguments=uFe;YI.default={IS_READ_ONLY:!1,parseCommand(...t){return t[0].push("GEORADIUS"),uFe(...t)},transformReply:void 0}});var XI=E(kl=>{"use strict";var oor=kl&&kl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kl,"__esModule",{value:!0});kl.GEO_REPLY_WITH=void 0;var lFe=oor(lg());kl.GEO_REPLY_WITH={DISTANCE:"WITHDIST",HASH:"WITHHASH",COORDINATES:"WITHCOORD"};kl.default={IS_READ_ONLY:lFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i){lFe.default.parseCommand(t,e,r,n,i),t.push(...s),t.preserve=s},transformReply(t,e){let r=new Set(e),n=0,s=r.has(kl.GEO_REPLY_WITH.DISTANCE)&&++n,i=r.has(kl.GEO_REPLY_WITH.HASH)&&++n,a=r.has(kl.GEO_REPLY_WITH.COORDINATES)&&++n;return t.map(o=>{let c=o,u={member:c[0]};if(s&&(u.distance=c[s]),i&&(u.hash=c[i]),a){let[l,d]=c[a];u.coordinates={longitude:l,latitude:d}}return u})}}});var sL=E(ko=>{"use strict";var cor=ko&&ko.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),uor=ko&&ko.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lor=ko&&ko.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&cor(e,t,r);return uor(e,t),e},dor=ko&&ko.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ko,"__esModule",{value:!0});ko.parseGeoRadiusWithArguments=void 0;var dFe=lor(JI()),por=dor(XI());function fFe(t,e,r,n,s,i,a){(0,dFe.parseGeoRadiusArguments)(t,e,r,n,s,a),t.pushVariadic(i),t.preserve=i}ko.parseGeoRadiusWithArguments=fFe;ko.default={IS_READ_ONLY:dFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUS"),fFe(t,e,r,n,s,i,a)},transformReply:por.default.transformReply}});var pFe=E(ZI=>{"use strict";var mor=ZI&&ZI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ZI,"__esModule",{value:!0});var hor=sL(),gor=mor(sL());ZI.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUS_RO"),(0,hor.parseGeoRadiusWithArguments)(...t)},transformReply:gor.default.transformReply}});var hFe=E(Af=>{"use strict";var Aor=Af&&Af.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),yor=Af&&Af.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),xor=Af&&Af.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Aor(e,t,r);return yor(e,t),e};Object.defineProperty(Af,"__esModule",{value:!0});var mFe=xor(JI());Af.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUS_RO"),(0,mFe.parseGeoRadiusArguments)(...t)},transformReply:mFe.default.transformReply}});var AFe=E(yf=>{"use strict";var bor=yf&&yf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Eor=yf&&yf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),_or=yf&&yf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&bor(e,t,r);return Eor(e,t),e};Object.defineProperty(yf,"__esModule",{value:!0});var gFe=_or(JI());yf.default={IS_READ_ONLY:gFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUS"),(0,gFe.parseGeoRadiusArguments)(t,e,r,n,s,a),a?.STOREDIST?(t.push("STOREDIST"),t.pushKey(i)):(t.push("STORE"),t.pushKey(i))},transformReply:void 0}});var tC=E(eC=>{"use strict";Object.defineProperty(eC,"__esModule",{value:!0});eC.parseGeoRadiusByMemberArguments=void 0;var Sor=lg();function yFe(t,e,r,n,s,i){t.pushKey(e),t.push(r,n.toString(),s),(0,Sor.parseGeoSearchOptions)(t,i)}eC.parseGeoRadiusByMemberArguments=yFe;eC.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("GEORADIUSBYMEMBER"),yFe(t,e,r,n,s,i)},transformReply:void 0}});var hJ=E(dg=>{"use strict";var xFe=dg&&dg.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dg,"__esModule",{value:!0});dg.parseGeoRadiusByMemberWithArguments=void 0;var vor=xFe(tC()),Ior=lg(),Cor=xFe(XI());function bFe(t,e,r,n,s,i,a){t.pushKey(e),t.push(r,n.toString(),s),(0,Ior.parseGeoSearchOptions)(t,a),t.push(...i),t.preserve=i}dg.parseGeoRadiusByMemberWithArguments=bFe;dg.default={IS_READ_ONLY:vor.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUSBYMEMBER"),bFe(t,e,r,n,s,i,a)},transformReply:Cor.default.transformReply}});var _Fe=E(xf=>{"use strict";var Tor=xf&&xf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),wor=xf&&xf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Ror=xf&&xf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Tor(e,t,r);return wor(e,t),e};Object.defineProperty(xf,"__esModule",{value:!0});var EFe=Ror(hJ());xf.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUSBYMEMBER_RO"),(0,EFe.parseGeoRadiusByMemberWithArguments)(...t)},transformReply:EFe.default.transformReply}});var vFe=E(bf=>{"use strict";var Nor=bf&&bf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Oor=bf&&bf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Por=bf&&bf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Nor(e,t,r);return Oor(e,t),e};Object.defineProperty(bf,"__esModule",{value:!0});var SFe=Por(tC());bf.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUSBYMEMBER_RO"),(0,SFe.parseGeoRadiusByMemberArguments)(...t)},transformReply:SFe.default.transformReply}});var CFe=E(Ef=>{"use strict";var kor=Ef&&Ef.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Dor=Ef&&Ef.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Bor=Ef&&Ef.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&kor(e,t,r);return Dor(e,t),e};Object.defineProperty(Ef,"__esModule",{value:!0});var IFe=Bor(tC());Ef.default={IS_READ_ONLY:IFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUSBYMEMBER"),(0,IFe.parseGeoRadiusByMemberArguments)(t,e,r,n,s,a),a?.STOREDIST?(t.push("STOREDIST"),t.pushKey(i)):(t.push("STORE"),t.pushKey(i))},transformReply:void 0}});var TFe=E(gJ=>{"use strict";Object.defineProperty(gJ,"__esModule",{value:!0});var Lor=lg();gJ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("GEOSEARCHSTORE"),e!==void 0&&t.pushKey(e),(0,Lor.parseGeoSearchArguments)(t,r,n,s,i),i?.STOREDIST&&t.push("STOREDIST")},transformReply:void 0}});var wFe=E(AJ=>{"use strict";Object.defineProperty(AJ,"__esModule",{value:!0});AJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("GET"),t.pushKey(e)},transformReply:void 0}});var RFe=E(yJ=>{"use strict";Object.defineProperty(yJ,"__esModule",{value:!0});yJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GETBIT"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var NFe=E(xJ=>{"use strict";Object.defineProperty(xJ,"__esModule",{value:!0});xJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("GETDEL"),t.pushKey(e)},transformReply:void 0}});var OFe=E(EJ=>{"use strict";Object.defineProperty(EJ,"__esModule",{value:!0});var bJ=Ce();EJ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){if(t.push("GETEX"),t.pushKey(e),"type"in r)switch(r.type){case"EX":case"PX":t.push(r.type,r.value.toString());break;case"EXAT":case"PXAT":t.push(r.type,(0,bJ.transformEXAT)(r.value));break;case"PERSIST":t.push("PERSIST");break}else"EX"in r?t.push("EX",r.EX.toString()):"PX"in r?t.push("PX",r.PX.toString()):"EXAT"in r?t.push("EXAT",(0,bJ.transformEXAT)(r.EXAT)):"PXAT"in r?t.push("PXAT",(0,bJ.transformPXAT)(r.PXAT)):t.push("PERSIST")},transformReply:void 0}});var PFe=E(_J=>{"use strict";Object.defineProperty(_J,"__esModule",{value:!0});_J.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("GETRANGE"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var kFe=E(SJ=>{"use strict";Object.defineProperty(SJ,"__esModule",{value:!0});SJ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GETSET"),t.pushKey(e),t.push(r)},transformReply:void 0}});var DFe=E(vJ=>{"use strict";Object.defineProperty(vJ,"__esModule",{value:!0});vJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("EXISTS"),t.pushKeys(e)},transformReply:void 0}});var BFe=E(IJ=>{"use strict";Object.defineProperty(IJ,"__esModule",{value:!0});IJ.default={parseCommand(t,e,r,n){t.push("EXPIRE"),t.pushKey(e),t.push(r.toString()),n&&t.push(n)},transformReply:void 0}});var LFe=E(CJ=>{"use strict";Object.defineProperty(CJ,"__esModule",{value:!0});var Mor=Ce();CJ.default={parseCommand(t,e,r,n){t.push("EXPIREAT"),t.pushKey(e),t.push((0,Mor.transformEXAT)(r)),n&&t.push(n)},transformReply:void 0}});var MFe=E(TJ=>{"use strict";Object.defineProperty(TJ,"__esModule",{value:!0});TJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("EXPIRETIME"),t.pushKey(e)},transformReply:void 0}});var WFe=E(rC=>{"use strict";Object.defineProperty(rC,"__esModule",{value:!0});rC.REDIS_FLUSH_MODES=void 0;rC.REDIS_FLUSH_MODES={ASYNC:"ASYNC",SYNC:"SYNC"};rC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FLUSHALL"),e&&t.push(e)},transformReply:void 0}});var $Fe=E(wJ=>{"use strict";Object.defineProperty(wJ,"__esModule",{value:!0});wJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FLUSHDB"),e&&t.push(e)},transformReply:void 0}});var UFe=E(_f=>{"use strict";var Wor=_f&&_f.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),$or=_f&&_f.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),For=_f&&_f.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Wor(e,t,r);return $or(e,t),e};Object.defineProperty(_f,"__esModule",{value:!0});var FFe=For(cg());_f.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("FCALL"),(0,FFe.parseEvalArguments)(...t)},transformReply:FFe.default.transformReply}});var jFe=E(Sf=>{"use strict";var Uor=Sf&&Sf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),qor=Sf&&Sf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),jor=Sf&&Sf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Uor(e,t,r);return qor(e,t),e};Object.defineProperty(Sf,"__esModule",{value:!0});var qFe=jor(cg());Sf.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("FCALL_RO"),(0,qFe.parseEvalArguments)(...t)},transformReply:qFe.default.transformReply}});var HFe=E(RJ=>{"use strict";Object.defineProperty(RJ,"__esModule",{value:!0});RJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FUNCTION","DELETE",e)},transformReply:void 0}});var QFe=E(NJ=>{"use strict";Object.defineProperty(NJ,"__esModule",{value:!0});NJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FUNCTION","DUMP")},transformReply:void 0}});var GFe=E(OJ=>{"use strict";Object.defineProperty(OJ,"__esModule",{value:!0});OJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FUNCTION","FLUSH"),e&&t.push(e)},transformReply:void 0}});var KFe=E(PJ=>{"use strict";Object.defineProperty(PJ,"__esModule",{value:!0});PJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FUNCTION","KILL")},transformReply:void 0}});var DJ=E(kJ=>{"use strict";Object.defineProperty(kJ,"__esModule",{value:!0});kJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FUNCTION","LIST"),e?.LIBRARYNAME&&t.push("LIBRARYNAME",e.LIBRARYNAME)},transformReply:{2:t=>t.map(e=>{let r=e;return{library_name:r[1],engine:r[3],functions:r[5].map(n=>{let s=n;return{name:s[1],description:s[3],flags:s[5]}})}}),3:void 0}}});var VFe=E(nC=>{"use strict";var Hor=nC&&nC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(nC,"__esModule",{value:!0});var BJ=Hor(DJ());nC.default={NOT_KEYED_COMMAND:BJ.default.NOT_KEYED_COMMAND,IS_READ_ONLY:BJ.default.IS_READ_ONLY,parseCommand(...t){BJ.default.parseCommand(...t),t[0].push("WITHCODE")},transformReply:{2:t=>t.map(e=>{let r=e;return{library_name:r[1],engine:r[3],functions:r[5].map(n=>{let s=n;return{name:s[1],description:s[3],flags:s[5]}}),library_code:r[7]}}),3:void 0}}});var zFe=E(LJ=>{"use strict";Object.defineProperty(LJ,"__esModule",{value:!0});LJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("FUNCTION","LOAD"),r?.REPLACE&&t.push("REPLACE"),t.push(e)},transformReply:void 0}});var YFe=E(MJ=>{"use strict";Object.defineProperty(MJ,"__esModule",{value:!0});MJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("FUNCTION","RESTORE",e),r?.mode&&t.push(r.mode)},transformReply:void 0}});var JFe=E(WJ=>{"use strict";Object.defineProperty(WJ,"__esModule",{value:!0});var Qor=Ce();WJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FUNCTION","STATS")},transformReply:{2:t=>({running_script:Gor(t[1]),engines:Kor(t[3])}),3:void 0}};function Gor(t){if((0,Qor.isNullReply)(t))return null;let e=t;return{name:e[1],command:e[3],duration_ms:e[5]}}function Kor(t){let e=t,r=Object.create(null);for(let n=0;n<e.length;n++){let s=e[n],i=e[++n],a=i;r[s.toString()]={libraries_count:a[1],functions_count:a[3]}}return r}});var XFe=E($J=>{"use strict";Object.defineProperty($J,"__esModule",{value:!0});$J.default={parseCommand(t,e,r){t.push("HDEL"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var UJ=E(FJ=>{"use strict";Object.defineProperty(FJ,"__esModule",{value:!0});FJ.default={parseCommand(t,e,r){t.push("HELLO"),e&&(t.push(e.toString()),r?.AUTH&&t.push("AUTH",r.AUTH.username,r.AUTH.password),r?.SETNAME&&t.push("SETNAME",r.SETNAME))},transformReply:{2:t=>({server:t[1],version:t[3],proto:t[5],id:t[7],mode:t[9],role:t[11],modules:t[13]}),3:void 0}}});var ZFe=E(qJ=>{"use strict";Object.defineProperty(qJ,"__esModule",{value:!0});qJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HEXISTS"),t.pushKey(e),t.push(r)},transformReply:void 0}});var eUe=E(sC=>{"use strict";Object.defineProperty(sC,"__esModule",{value:!0});sC.HASH_EXPIRATION=void 0;sC.HASH_EXPIRATION={FIELD_NOT_EXISTS:-2,CONDITION_NOT_MET:0,UPDATED:1,DELETED:2};sC.default={parseCommand(t,e,r,n,s){t.push("HEXPIRE"),t.pushKey(e),t.push(n.toString()),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var tUe=E(jJ=>{"use strict";Object.defineProperty(jJ,"__esModule",{value:!0});var Vor=Ce();jJ.default={parseCommand(t,e,r,n,s){t.push("HEXPIREAT"),t.pushKey(e),t.push((0,Vor.transformEXAT)(n)),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var rUe=E(iC=>{"use strict";Object.defineProperty(iC,"__esModule",{value:!0});iC.HASH_EXPIRATION_TIME=void 0;iC.HASH_EXPIRATION_TIME={FIELD_NOT_EXISTS:-2,NO_EXPIRATION:-1};iC.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HEXPIRETIME"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var nUe=E(HJ=>{"use strict";Object.defineProperty(HJ,"__esModule",{value:!0});HJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HGET"),t.pushKey(e),t.push(r)},transformReply:void 0}});var sUe=E(QJ=>{"use strict";Object.defineProperty(QJ,"__esModule",{value:!0});var zor=Ce();QJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HGETALL"),t.pushKey(e)},TRANSFORM_LEGACY_REPLY:!0,transformReply:{2:zor.transformTuplesReply,3:void 0}}});var iUe=E(GJ=>{"use strict";Object.defineProperty(GJ,"__esModule",{value:!0});GJ.default={parseCommand(t,e,r){t.push("HGETDEL"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var aUe=E(KJ=>{"use strict";Object.defineProperty(KJ,"__esModule",{value:!0});KJ.default={parseCommand(t,e,r,n){t.push("HGETEX"),t.pushKey(e),n?.expiration&&(typeof n.expiration=="string"?t.push(n.expiration):n.expiration.type==="PERSIST"?t.push("PERSIST"):t.push(n.expiration.type,n.expiration.value.toString())),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var oUe=E(VJ=>{"use strict";Object.defineProperty(VJ,"__esModule",{value:!0});VJ.default={parseCommand(t,e,r,n){t.push("HINCRBY"),t.pushKey(e),t.push(r,n.toString())},transformReply:void 0}});var cUe=E(zJ=>{"use strict";Object.defineProperty(zJ,"__esModule",{value:!0});zJ.default={parseCommand(t,e,r,n){t.push("HINCRBYFLOAT"),t.pushKey(e),t.push(r,n.toString())},transformReply:void 0}});var uUe=E(YJ=>{"use strict";Object.defineProperty(YJ,"__esModule",{value:!0});YJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HKEYS"),t.pushKey(e)},transformReply:void 0}});var lUe=E(JJ=>{"use strict";Object.defineProperty(JJ,"__esModule",{value:!0});JJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HLEN"),t.pushKey(e)},transformReply:void 0}});var dUe=E(XJ=>{"use strict";Object.defineProperty(XJ,"__esModule",{value:!0});XJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HMGET"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var fUe=E(ZJ=>{"use strict";Object.defineProperty(ZJ,"__esModule",{value:!0});ZJ.default={parseCommand(t,e,r){t.push("HPERSIST"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var pUe=E(eX=>{"use strict";Object.defineProperty(eX,"__esModule",{value:!0});eX.default={parseCommand(t,e,r,n,s){t.push("HPEXPIRE"),t.pushKey(e),t.push(n.toString()),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var mUe=E(tX=>{"use strict";Object.defineProperty(tX,"__esModule",{value:!0});var Yor=Ce();tX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("HPEXPIREAT"),t.pushKey(e),t.push((0,Yor.transformPXAT)(n)),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var hUe=E(rX=>{"use strict";Object.defineProperty(rX,"__esModule",{value:!0});rX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HPEXPIRETIME"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var gUe=E(nX=>{"use strict";Object.defineProperty(nX,"__esModule",{value:!0});nX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HPTTL"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var AUe=E(sX=>{"use strict";Object.defineProperty(sX,"__esModule",{value:!0});sX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HRANDFIELD"),t.pushKey(e),t.push(r.toString(),"WITHVALUES")},transformReply:{2:t=>{let e=[],r=0;for(;r<t.length;)e.push({field:t[r++],value:t[r++]});return e},3:t=>t.map(e=>{let[r,n]=e;return{field:r,value:n}})}}});var yUe=E(iX=>{"use strict";Object.defineProperty(iX,"__esModule",{value:!0});iX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HRANDFIELD"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var xUe=E(aX=>{"use strict";Object.defineProperty(aX,"__esModule",{value:!0});aX.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("HRANDFIELD"),t.pushKey(e)},transformReply:void 0}});var aC=E(fg=>{"use strict";Object.defineProperty(fg,"__esModule",{value:!0});fg.pushScanArguments=fg.parseScanArguments=void 0;function bUe(t,e,r){t.push(e),r?.MATCH&&t.push("MATCH",r.MATCH),r?.COUNT&&t.push("COUNT",r.COUNT.toString())}fg.parseScanArguments=bUe;function Jor(t,e,r){return t.push(e.toString()),r?.MATCH&&t.push("MATCH",r.MATCH),r?.COUNT&&t.push("COUNT",r.COUNT.toString()),t}fg.pushScanArguments=Jor;fg.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SCAN"),bUe(t,e,r),r?.TYPE&&t.push("TYPE",r.TYPE)},transformReply([t,e]){return{cursor:t,keys:e}}}});var cX=E(oX=>{"use strict";Object.defineProperty(oX,"__esModule",{value:!0});var Xor=aC();oX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("HSCAN"),t.pushKey(e),(0,Xor.parseScanArguments)(t,r,n)},transformReply([t,e]){let r=[],n=0;for(;n<e.length;)r.push({field:e[n++],value:e[n++]});return{cursor:t,entries:r}}}});var EUe=E(oC=>{"use strict";var Zor=oC&&oC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(oC,"__esModule",{value:!0});var ecr=Zor(cX());oC.default={IS_READ_ONLY:!0,parseCommand(...t){let e=t[0];ecr.default.parseCommand(...t),e.push("NOVALUES")},transformReply([t,e]){return{cursor:t,fields:e}}}});var SUe=E(uX=>{"use strict";Object.defineProperty(uX,"__esModule",{value:!0});uX.default={parseCommand(t,...[e,r,n]){t.push("HSET"),t.pushKey(e),typeof r=="string"||typeof r=="number"||r instanceof Buffer?t.push(pg(r),pg(n)):r instanceof Map?tcr(t,r):Array.isArray(r)?_Ue(t,r):rcr(t,r)},transformReply:void 0};function tcr(t,e){for(let[r,n]of e.entries())t.push(pg(r),pg(n))}function _Ue(t,e){for(let r of e){if(Array.isArray(r)){_Ue(t,r);continue}t.push(pg(r))}}function rcr(t,e){for(let r of Object.keys(e))t.push(pg(r),pg(e[r]))}function pg(t){return typeof t=="number"?t.toString():t}});var IUe=E(lX=>{"use strict";Object.defineProperty(lX,"__esModule",{value:!0});var ncr=Pl();lX.default={parseCommand(t,e,r,n){t.push("HSETEX"),t.pushKey(e),n?.mode&&t.push(n.mode),n?.expiration&&(typeof n.expiration=="string"?t.push(n.expiration):n.expiration.type==="KEEPTTL"?t.push("KEEPTTL"):t.push(n.expiration.type,n.expiration.value.toString())),t.push("FIELDS"),r instanceof Map?scr(t,r):Array.isArray(r)?icr(t,r):acr(t,r)},transformReply:void 0};function scr(t,e){t.push(e.size.toString());for(let[r,n]of e.entries())t.push(cC(r),cC(n))}function icr(t,e){let r=new ncr.BasicCommandParser;if(vUe(r,e),r.redisArgs.length%2!=0)throw Error("invalid number of arguments, expected key value ....[key value] pairs, got key without value");t.push((r.redisArgs.length/2).toString()),t.push(...r.redisArgs)}function vUe(t,e){for(let r of e){if(Array.isArray(r)){vUe(t,r);continue}t.push(cC(r))}}function acr(t,e){let r=Object.keys(e).length;if(r==0)throw Error("object without keys");t.push(r.toString());for(let n of Object.keys(e))t.push(cC(n),cC(e[n]))}function cC(t){return typeof t=="number"?t.toString():t}});var CUe=E(dX=>{"use strict";Object.defineProperty(dX,"__esModule",{value:!0});dX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("HSETNX"),t.pushKey(e),t.push(r,n)},transformReply:void 0}});var TUe=E(fX=>{"use strict";Object.defineProperty(fX,"__esModule",{value:!0});fX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HSTRLEN"),t.pushKey(e),t.push(r)},transformReply:void 0}});var wUe=E(pX=>{"use strict";Object.defineProperty(pX,"__esModule",{value:!0});pX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HTTL"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var RUe=E(mX=>{"use strict";Object.defineProperty(mX,"__esModule",{value:!0});mX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HVALS"),t.pushKey(e)},transformReply:void 0}});var OUe=E(hX=>{"use strict";Object.defineProperty(hX,"__esModule",{value:!0});function NUe(t){let e=[];for(let r=0;r<t.length;r+=2)e.push({key:t[r].toString(),value:Number(t[r+1])});return e}function ocr(t){return t.map(e=>{let r=e;return r.length===1?{start:Number(r[0]),end:Number(r[0])}:{start:Number(r[0]),end:Number(r[1])}})}function ccr(t){let e={},r=t[0];for(let n=0;n<r.length;n+=2){let s=r[n].toString(),i=r[n+1];switch(s){case"tracking-active":e.trackingActive=Number(i);break;case"sample-ratio":e.sampleRatio=Number(i);break;case"selected-slots":e.selectedSlots=ocr(i);break;case"sampled-commands-selected-slots-us":e.sampledCommandsSelectedSlotsUs=Number(i);break;case"all-commands-selected-slots-us":e.allCommandsSelectedSlotsUs=Number(i);break;case"all-commands-all-slots-us":e.allCommandsAllSlotsUs=Number(i);break;case"net-bytes-sampled-commands-selected-slots":e.netBytesSampledCommandsSelectedSlots=Number(i);break;case"net-bytes-all-commands-selected-slots":e.netBytesAllCommandsSelectedSlots=Number(i);break;case"net-bytes-all-commands-all-slots":e.netBytesAllCommandsAllSlots=Number(i);break;case"collection-start-time-unix-ms":e.collectionStartTimeUnixMs=Number(i);break;case"collection-duration-ms":e.collectionDurationMs=Number(i);break;case"total-cpu-time-sys-ms":e.totalCpuTimeSysMs=Number(i);break;case"total-cpu-time-user-ms":e.totalCpuTimeUserMs=Number(i);break;case"total-net-bytes":e.totalNetBytes=Number(i);break;case"by-cpu-time-us":e.byCpuTimeUs=NUe(i);break;case"by-net-bytes":e.byNetBytes=NUe(i);break}}return e}hX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("HOTKEYS","GET")},transformReply:{2:t=>t===null?null:ccr(t),3:void 0},unstableResp3:!0}});var PUe=E(gX=>{"use strict";Object.defineProperty(gX,"__esModule",{value:!0});gX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t){t.push("HOTKEYS","RESET")},transformReply:void 0}});var kUe=E(uC=>{"use strict";Object.defineProperty(uC,"__esModule",{value:!0});uC.HOTKEYS_METRICS=void 0;uC.HOTKEYS_METRICS={CPU:"CPU",NET:"NET"};uC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){if(t.push("HOTKEYS","START"),t.push("METRICS",e.METRICS.count.toString()),e.METRICS.CPU&&t.push("CPU"),e.METRICS.NET&&t.push("NET"),e.COUNT!==void 0&&t.push("COUNT",e.COUNT.toString()),e.DURATION!==void 0&&t.push("DURATION",e.DURATION.toString()),e.SAMPLE!==void 0&&t.push("SAMPLE",e.SAMPLE.toString()),e.SLOTS!==void 0){t.push("SLOTS",e.SLOTS.count.toString());for(let r of e.SLOTS.slots)t.push(r.toString())}},transformReply:void 0}});var DUe=E(AX=>{"use strict";Object.defineProperty(AX,"__esModule",{value:!0});AX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t){t.push("HOTKEYS","STOP")},transformReply:void 0}});var BUe=E(yX=>{"use strict";Object.defineProperty(yX,"__esModule",{value:!0});yX.default={parseCommand(t,e){t.push("INCR"),t.pushKey(e)},transformReply:void 0}});var LUe=E(xX=>{"use strict";Object.defineProperty(xX,"__esModule",{value:!0});xX.default={parseCommand(t,e,r){t.push("INCRBY"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var MUe=E(bX=>{"use strict";Object.defineProperty(bX,"__esModule",{value:!0});bX.default={parseCommand(t,e,r){t.push("INCRBYFLOAT"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var WUe=E(EX=>{"use strict";Object.defineProperty(EX,"__esModule",{value:!0});EX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("INFO"),e&&t.push(e)},transformReply:void 0}});var $Ue=E(_X=>{"use strict";Object.defineProperty(_X,"__esModule",{value:!0});_X.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("KEYS",e)},transformReply:void 0}});var FUe=E(SX=>{"use strict";Object.defineProperty(SX,"__esModule",{value:!0});SX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("LASTSAVE")},transformReply:void 0}});var UUe=E(vX=>{"use strict";Object.defineProperty(vX,"__esModule",{value:!0});vX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("LATENCY","DOCTOR")},transformReply:void 0}});var IX=E(lC=>{"use strict";Object.defineProperty(lC,"__esModule",{value:!0});lC.LATENCY_EVENTS=void 0;lC.LATENCY_EVENTS={ACTIVE_DEFRAG_CYCLE:"active-defrag-cycle",AOF_FSYNC_ALWAYS:"aof-fsync-always",AOF_STAT:"aof-stat",AOF_REWRITE_DIFF_WRITE:"aof-rewrite-diff-write",AOF_RENAME:"aof-rename",AOF_WRITE:"aof-write",AOF_WRITE_ACTIVE_CHILD:"aof-write-active-child",AOF_WRITE_ALONE:"aof-write-alone",AOF_WRITE_PENDING_FSYNC:"aof-write-pending-fsync",COMMAND:"command",EXPIRE_CYCLE:"expire-cycle",EVICTION_CYCLE:"eviction-cycle",EVICTION_DEL:"eviction-del",FAST_COMMAND:"fast-command",FORK:"fork",RDB_UNLINK_TEMP_FILE:"rdb-unlink-temp-file"};lC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("LATENCY","GRAPH",e)},transformReply:void 0}});var qUe=E(CX=>{"use strict";Object.defineProperty(CX,"__esModule",{value:!0});CX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("LATENCY","HISTORY",e)},transformReply:void 0}});var jUe=E(TX=>{"use strict";Object.defineProperty(TX,"__esModule",{value:!0});TX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("LATENCY","LATEST")},transformReply:void 0}});var HUe=E(dC=>{"use strict";Object.defineProperty(dC,"__esModule",{value:!0});dC.LATENCY_EVENTS=void 0;var ucr=IX();Object.defineProperty(dC,"LATENCY_EVENTS",{enumerable:!0,get:function(){return ucr.LATENCY_EVENTS}});dC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,...e){let r=["LATENCY","RESET"];e.length>0&&r.push(...e),t.push(...r)},transformReply:void 0}});var iL=E(wX=>{"use strict";Object.defineProperty(wX,"__esModule",{value:!0});wX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("LCS"),t.pushKeys([e,r])},transformReply:void 0}});var RX=E(fC=>{"use strict";var lcr=fC&&fC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fC,"__esModule",{value:!0});var QUe=lcr(iL());fC.default={IS_READ_ONLY:QUe.default.IS_READ_ONLY,parseCommand(t,e,r,n){QUe.default.parseCommand(t,e,r),t.push("IDX"),n?.MINMATCHLEN&&t.push("MINMATCHLEN",n.MINMATCHLEN.toString())},transformReply:{2:t=>({matches:t[1],len:t[3]}),3:void 0}}});var KUe=E(pC=>{"use strict";var dcr=pC&&pC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pC,"__esModule",{value:!0});var GUe=dcr(RX());pC.default={IS_READ_ONLY:GUe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];GUe.default.parseCommand(...t),e.push("WITHMATCHLEN")},transformReply:{2:t=>({matches:t[1],len:t[3]}),3:void 0}}});var zUe=E(mC=>{"use strict";var fcr=mC&&mC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mC,"__esModule",{value:!0});var VUe=fcr(iL());mC.default={IS_READ_ONLY:VUe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];VUe.default.parseCommand(...t),e.push("LEN")},transformReply:void 0}});var YUe=E(NX=>{"use strict";Object.defineProperty(NX,"__esModule",{value:!0});NX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("LINDEX"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var JUe=E(OX=>{"use strict";Object.defineProperty(OX,"__esModule",{value:!0});OX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("LINSERT"),t.pushKey(e),t.push(r,n,s)},transformReply:void 0}});var XUe=E(PX=>{"use strict";Object.defineProperty(PX,"__esModule",{value:!0});PX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("LLEN"),t.pushKey(e)},transformReply:void 0}});var ZUe=E(kX=>{"use strict";Object.defineProperty(kX,"__esModule",{value:!0});kX.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("LMOVE"),t.pushKeys([e,r]),t.push(n,s)},transformReply:void 0}});var e7e=E(DX=>{"use strict";Object.defineProperty(DX,"__esModule",{value:!0});DX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,...r){t.push("LOLWUT"),e&&(t.push("VERSION",e.toString()),t.pushVariadic(r.map(String)))},transformReply:void 0}});var LX=E(BX=>{"use strict";Object.defineProperty(BX,"__esModule",{value:!0});BX.default={parseCommand(t,e){t.push("LPOP"),t.pushKey(e)},transformReply:void 0}});var t7e=E(hC=>{"use strict";var pcr=hC&&hC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hC,"__esModule",{value:!0});var mcr=pcr(LX());hC.default={IS_READ_ONLY:!1,parseCommand(t,e,r){mcr.default.parseCommand(t,e),t.push(r.toString())},transformReply:void 0}});var WX=E(MX=>{"use strict";Object.defineProperty(MX,"__esModule",{value:!0});MX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LPOS"),t.pushKey(e),t.push(r),n?.RANK!==void 0&&t.push("RANK",n.RANK.toString()),n?.MAXLEN!==void 0&&t.push("MAXLEN",n.MAXLEN.toString())},transformReply:void 0}});var r7e=E(gC=>{"use strict";var hcr=gC&&gC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gC,"__esModule",{value:!0});var $X=hcr(WX());gC.default={CACHEABLE:$X.default.CACHEABLE,IS_READ_ONLY:$X.default.IS_READ_ONLY,parseCommand(t,e,r,n,s){$X.default.parseCommand(t,e,r,s),t.push("COUNT",n.toString())},transformReply:void 0}});var n7e=E(FX=>{"use strict";Object.defineProperty(FX,"__esModule",{value:!0});FX.default={parseCommand(t,e,r){t.push("LPUSH"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var s7e=E(UX=>{"use strict";Object.defineProperty(UX,"__esModule",{value:!0});UX.default={parseCommand(t,e,r){t.push("LPUSHX"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var i7e=E(qX=>{"use strict";Object.defineProperty(qX,"__esModule",{value:!0});qX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LRANGE"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var a7e=E(jX=>{"use strict";Object.defineProperty(jX,"__esModule",{value:!0});jX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LREM"),t.pushKey(e),t.push(r.toString()),t.push(n)},transformReply:void 0}});var o7e=E(HX=>{"use strict";Object.defineProperty(HX,"__esModule",{value:!0});HX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LSET"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var c7e=E(QX=>{"use strict";Object.defineProperty(QX,"__esModule",{value:!0});QX.default={parseCommand(t,e,r,n){t.push("LTRIM"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var u7e=E(GX=>{"use strict";Object.defineProperty(GX,"__esModule",{value:!0});GX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MEMORY","DOCTOR")},transformReply:void 0}});var l7e=E(KX=>{"use strict";Object.defineProperty(KX,"__esModule",{value:!0});KX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MEMORY","MALLOC-STATS")},transformReply:void 0}});var d7e=E(VX=>{"use strict";Object.defineProperty(VX,"__esModule",{value:!0});VX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t){t.push("MEMORY","PURGE")},transformReply:void 0}});var f7e=E(zX=>{"use strict";Object.defineProperty(zX,"__esModule",{value:!0});var gcr=Ce();zX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MEMORY","STATS")},transformReply:{2:(t,e,r)=>{let n={},s=0;for(;s<t.length;)switch(t[s].toString()){case"dataset.percentage":case"peak.percentage":case"allocator-fragmentation.ratio":case"allocator-rss.ratio":case"rss-overhead.ratio":case"fragmentation":n[t[s++]]=gcr.transformDoubleReply[2](t[s++],e,r);break;default:n[t[s++]]=t[s++]}return n},3:void 0}}});var p7e=E(YX=>{"use strict";Object.defineProperty(YX,"__esModule",{value:!0});YX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("MEMORY","USAGE"),t.pushKey(e),r?.SAMPLES&&t.push("SAMPLES",r.SAMPLES.toString())},transformReply:void 0}});var m7e=E(JX=>{"use strict";Object.defineProperty(JX,"__esModule",{value:!0});JX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("MGET"),t.pushKeys(e)},transformReply:void 0}});var h7e=E(XX=>{"use strict";Object.defineProperty(XX,"__esModule",{value:!0});XX.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i,a){t.push("MIGRATE",e,r.toString());let o=Array.isArray(n);o?t.push(""):t.push(n),t.push(s.toString(),i.toString()),a?.COPY&&t.push("COPY"),a?.REPLACE&&t.push("REPLACE"),a?.AUTH&&(a.AUTH.username?t.push("AUTH2",a.AUTH.username,a.AUTH.password):t.push("AUTH",a.AUTH.password)),o&&(t.push("KEYS"),t.pushVariadic(n))},transformReply:void 0}});var g7e=E(ZX=>{"use strict";Object.defineProperty(ZX,"__esModule",{value:!0});ZX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MODULE","LIST")},transformReply:{2:t=>t.map(e=>{let r=e;return{name:r[1],ver:r[3]}}),3:void 0}}});var A7e=E(eZ=>{"use strict";Object.defineProperty(eZ,"__esModule",{value:!0});eZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("MODULE","LOAD",e),r&&t.push(...r)},transformReply:void 0}});var y7e=E(tZ=>{"use strict";Object.defineProperty(tZ,"__esModule",{value:!0});tZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("MODULE","UNLOAD",e)},transformReply:void 0}});var x7e=E(rZ=>{"use strict";Object.defineProperty(rZ,"__esModule",{value:!0});rZ.default={parseCommand(t,e,r){t.push("MOVE"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var nZ=E(AC=>{"use strict";Object.defineProperty(AC,"__esModule",{value:!0});AC.parseMSetArguments=void 0;function b7e(t,e){if(Array.isArray(e)){if(e.length==0)throw new Error("empty toSet Argument");if(Array.isArray(e[0]))for(let r of e)t.pushKey(r[0]),t.push(r[1]);else{let r=e;for(let n=0;n<r.length;n+=2)t.pushKey(r[n]),t.push(r[n+1])}}else for(let r of Object.entries(e))t.pushKey(r[0]),t.push(r[1])}AC.parseMSetArguments=b7e;AC.default={IS_READ_ONLY:!0,parseCommand(t,e){return t.push("MSET"),b7e(t,e)},transformReply:void 0}});var S7e=E(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.parseMSetExArguments=xi.ExpirationMode=xi.SetMode=void 0;var E7e=Ce();xi.SetMode={XX:"XX",NX:"NX"};xi.ExpirationMode={EX:"EX",PX:"PX",EXAT:"EXAT",PXAT:"PXAT",KEEPTTL:"KEEPTTL"};function _7e(t,e){let r=[];if(Array.isArray(e)){if(e.length==0)throw new Error("empty keyValuePairs Argument");if(Array.isArray(e[0]))r=e;else{let n=e;for(let s=0;s<n.length;s+=2)r.push([n[s],n[s+1]])}}else for(let n of Object.entries(e))r.push([n[0],n[1]]);t.push(r.length.toString());for(let n of r)t.pushKey(n[0]),t.push(n[1])}xi.parseMSetExArguments=_7e;xi.default={parseCommand(t,e,r){if(t.push("MSETEX"),_7e(t,e),r?.mode&&t.push(r.mode),r?.expiration)switch(r.expiration.type){case xi.ExpirationMode.EXAT:t.push(xi.ExpirationMode.EXAT,(0,E7e.transformEXAT)(r.expiration.value));break;case xi.ExpirationMode.PXAT:t.push(xi.ExpirationMode.PXAT,(0,E7e.transformPXAT)(r.expiration.value));break;case xi.ExpirationMode.KEEPTTL:t.push(xi.ExpirationMode.KEEPTTL);break;case xi.ExpirationMode.EX:case xi.ExpirationMode.PX:t.push(r.expiration.type,r.expiration.value?.toString());break}},transformReply:void 0}});var v7e=E(sZ=>{"use strict";Object.defineProperty(sZ,"__esModule",{value:!0});var Acr=nZ();sZ.default={IS_READ_ONLY:!0,parseCommand(t,e){return t.push("MSETNX"),(0,Acr.parseMSetArguments)(t,e)},transformReply:void 0}});var I7e=E(iZ=>{"use strict";Object.defineProperty(iZ,"__esModule",{value:!0});iZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","ENCODING"),t.pushKey(e)},transformReply:void 0}});var C7e=E(aZ=>{"use strict";Object.defineProperty(aZ,"__esModule",{value:!0});aZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","FREQ"),t.pushKey(e)},transformReply:void 0}});var T7e=E(oZ=>{"use strict";Object.defineProperty(oZ,"__esModule",{value:!0});oZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","IDLETIME"),t.pushKey(e)},transformReply:void 0}});var w7e=E(cZ=>{"use strict";Object.defineProperty(cZ,"__esModule",{value:!0});cZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","REFCOUNT"),t.pushKey(e)},transformReply:void 0}});var R7e=E(uZ=>{"use strict";Object.defineProperty(uZ,"__esModule",{value:!0});uZ.default={parseCommand(t,e){t.push("PERSIST"),t.pushKey(e)},transformReply:void 0}});var N7e=E(lZ=>{"use strict";Object.defineProperty(lZ,"__esModule",{value:!0});lZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("PEXPIRE"),t.pushKey(e),t.push(r.toString()),n&&t.push(n)},transformReply:void 0}});var O7e=E(dZ=>{"use strict";Object.defineProperty(dZ,"__esModule",{value:!0});var ycr=Ce();dZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("PEXPIREAT"),t.pushKey(e),t.push((0,ycr.transformPXAT)(r)),n&&t.push(n)},transformReply:void 0}});var P7e=E(fZ=>{"use strict";Object.defineProperty(fZ,"__esModule",{value:!0});fZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PEXPIRETIME"),t.pushKey(e)},transformReply:void 0}});var k7e=E(pZ=>{"use strict";Object.defineProperty(pZ,"__esModule",{value:!0});pZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("PFADD"),t.pushKey(e),r&&t.pushVariadic(r)},transformReply:void 0}});var D7e=E(mZ=>{"use strict";Object.defineProperty(mZ,"__esModule",{value:!0});mZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PFCOUNT"),t.pushKeys(e)},transformReply:void 0}});var B7e=E(hZ=>{"use strict";Object.defineProperty(hZ,"__esModule",{value:!0});hZ.default={parseCommand(t,e,r){t.push("PFMERGE"),t.pushKey(e),r&&t.pushKeys(r)},transformReply:void 0}});var L7e=E(gZ=>{"use strict";Object.defineProperty(gZ,"__esModule",{value:!0});gZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PING"),e&&t.push(e)},transformReply:void 0}});var M7e=E(AZ=>{"use strict";Object.defineProperty(AZ,"__esModule",{value:!0});AZ.default={parseCommand(t,e,r,n){t.push("PSETEX"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var W7e=E(yZ=>{"use strict";Object.defineProperty(yZ,"__esModule",{value:!0});yZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PTTL"),t.pushKey(e)},transformReply:void 0}});var $7e=E(xZ=>{"use strict";Object.defineProperty(xZ,"__esModule",{value:!0});xZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,IS_FORWARD_COMMAND:!0,parseCommand(t,e,r){t.push("PUBLISH",e,r)},transformReply:void 0}});var F7e=E(bZ=>{"use strict";Object.defineProperty(bZ,"__esModule",{value:!0});bZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","CHANNELS"),e&&t.push(e)},transformReply:void 0}});var U7e=E(EZ=>{"use strict";Object.defineProperty(EZ,"__esModule",{value:!0});EZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("PUBSUB","NUMPAT")},transformReply:void 0}});var q7e=E(_Z=>{"use strict";Object.defineProperty(_Z,"__esModule",{value:!0});_Z.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","NUMSUB"),e&&t.pushVariadic(e)},transformReply(t){let e=Object.create(null),r=0;for(;r<t.length;)e[t[r++].toString()]=Number(t[r++]);return e}}});var j7e=E(SZ=>{"use strict";Object.defineProperty(SZ,"__esModule",{value:!0});SZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","SHARDNUMSUB"),e&&t.pushVariadic(e)},transformReply(t){let e=Object.create(null);for(let r=0;r<t.length;r+=2)e[t[r].toString()]=t[r+1];return e}}});var H7e=E(vZ=>{"use strict";Object.defineProperty(vZ,"__esModule",{value:!0});vZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","SHARDCHANNELS"),e&&t.push(e)},transformReply:void 0}});var Q7e=E(IZ=>{"use strict";Object.defineProperty(IZ,"__esModule",{value:!0});IZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("RANDOMKEY")},transformReply:void 0}});var G7e=E(CZ=>{"use strict";Object.defineProperty(CZ,"__esModule",{value:!0});CZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("READONLY")},transformReply:void 0}});var K7e=E(TZ=>{"use strict";Object.defineProperty(TZ,"__esModule",{value:!0});TZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("RENAME"),t.pushKeys([e,r])},transformReply:void 0}});var V7e=E(wZ=>{"use strict";Object.defineProperty(wZ,"__esModule",{value:!0});wZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("RENAMENX"),t.pushKeys([e,r])},transformReply:void 0}});var z7e=E(RZ=>{"use strict";Object.defineProperty(RZ,"__esModule",{value:!0});RZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("REPLICAOF",e,r.toString())},transformReply:void 0}});var Y7e=E(NZ=>{"use strict";Object.defineProperty(NZ,"__esModule",{value:!0});NZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("RESTORE-ASKING")},transformReply:void 0}});var J7e=E(OZ=>{"use strict";Object.defineProperty(OZ,"__esModule",{value:!0});OZ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("RESTORE"),t.pushKey(e),t.push(r.toString(),n),s?.REPLACE&&t.push("REPLACE"),s?.ABSTTL&&t.push("ABSTTL"),s?.IDLETIME&&t.push("IDLETIME",s.IDLETIME.toString()),s?.FREQ&&t.push("FREQ",s.FREQ.toString())},transformReply:void 0}});var X7e=E(PZ=>{"use strict";Object.defineProperty(PZ,"__esModule",{value:!0});PZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ROLE")},transformReply(t){switch(t[0]){case"master":{let[e,r,n]=t;return{role:e,replicationOffest:r,replicas:n.map(s=>{let[i,a,o]=s;return{host:i,port:Number(a),replicationOffest:Number(o)}})}}case"slave":{let[e,r,n,s,i]=t;return{role:e,master:{host:r,port:n},state:s,dataReceived:i}}case"sentinel":{let[e,r]=t;return{role:e,masterNames:r}}}}}});var Z7e=E(kZ=>{"use strict";Object.defineProperty(kZ,"__esModule",{value:!0});kZ.default={parseCommand(t,e,r){t.push("RPOP"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var eqe=E(DZ=>{"use strict";Object.defineProperty(DZ,"__esModule",{value:!0});DZ.default={parseCommand(t,e){t.push("RPOP"),t.pushKey(e)},transformReply:void 0}});var tqe=E(BZ=>{"use strict";Object.defineProperty(BZ,"__esModule",{value:!0});BZ.default={parseCommand(t,e,r){t.push("RPOPLPUSH"),t.pushKeys([e,r])},transformReply:void 0}});var rqe=E(LZ=>{"use strict";Object.defineProperty(LZ,"__esModule",{value:!0});LZ.default={parseCommand(t,e,r){t.push("RPUSH"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var nqe=E(MZ=>{"use strict";Object.defineProperty(MZ,"__esModule",{value:!0});MZ.default={parseCommand(t,e,r){t.push("RPUSHX"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var sqe=E(WZ=>{"use strict";Object.defineProperty(WZ,"__esModule",{value:!0});WZ.default={parseCommand(t,e,r){t.push("SADD"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var iqe=E($Z=>{"use strict";Object.defineProperty($Z,"__esModule",{value:!0});$Z.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCARD"),t.pushKey(e)},transformReply:void 0}});var aqe=E(FZ=>{"use strict";Object.defineProperty(FZ,"__esModule",{value:!0});FZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","DEBUG",e)},transformReply:void 0}});var oqe=E(UZ=>{"use strict";Object.defineProperty(UZ,"__esModule",{value:!0});UZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","EXISTS"),t.pushVariadic(e)},transformReply:void 0}});var cqe=E(qZ=>{"use strict";Object.defineProperty(qZ,"__esModule",{value:!0});qZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","FLUSH"),e&&t.push(e)},transformReply:void 0}});var uqe=E(jZ=>{"use strict";Object.defineProperty(jZ,"__esModule",{value:!0});jZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("SCRIPT","KILL")},transformReply:void 0}});var lqe=E(HZ=>{"use strict";Object.defineProperty(HZ,"__esModule",{value:!0});HZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","LOAD",e)},transformReply:void 0}});var dqe=E(QZ=>{"use strict";Object.defineProperty(QZ,"__esModule",{value:!0});QZ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SDIFF"),t.pushKeys(e)},transformReply:void 0}});var fqe=E(GZ=>{"use strict";Object.defineProperty(GZ,"__esModule",{value:!0});GZ.default={parseCommand(t,e,r){t.push("SDIFFSTORE"),t.pushKey(e),t.pushKeys(r)},transformReply:void 0}});var pqe=E(KZ=>{"use strict";Object.defineProperty(KZ,"__esModule",{value:!0});KZ.default={parseCommand(t,e,r,n){t.push("SET"),t.pushKey(e),t.push(typeof r=="number"?r.toString():r),n?.expiration?typeof n.expiration=="string"?t.push(n.expiration):n.expiration.type==="KEEPTTL"?t.push("KEEPTTL"):t.push(n.expiration.type,n.expiration.value.toString()):n?.EX!==void 0?t.push("EX",n.EX.toString()):n?.PX!==void 0?t.push("PX",n.PX.toString()):n?.EXAT!==void 0?t.push("EXAT",n.EXAT.toString()):n?.PXAT!==void 0?t.push("PXAT",n.PXAT.toString()):n?.KEEPTTL&&t.push("KEEPTTL"),n?.condition?(t.push(n.condition),n?.matchValue!==void 0&&t.push(n.matchValue)):n?.NX?t.push("NX"):n?.XX&&t.push("XX"),n?.GET&&t.push("GET")},transformReply:void 0}});var mqe=E(VZ=>{"use strict";Object.defineProperty(VZ,"__esModule",{value:!0});VZ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("SETBIT"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var hqe=E(zZ=>{"use strict";Object.defineProperty(zZ,"__esModule",{value:!0});zZ.default={parseCommand(t,e,r,n){t.push("SETEX"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var gqe=E(YZ=>{"use strict";Object.defineProperty(YZ,"__esModule",{value:!0});YZ.default={parseCommand(t,e,r){t.push("SETNX"),t.pushKey(e),t.push(r)},transformReply:void 0}});var Aqe=E(JZ=>{"use strict";Object.defineProperty(JZ,"__esModule",{value:!0});JZ.default={parseCommand(t,e,r,n){t.push("SETRANGE"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var yqe=E(XZ=>{"use strict";Object.defineProperty(XZ,"__esModule",{value:!0});XZ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SINTER"),t.pushKeys(e)},transformReply:void 0}});var xqe=E(ZZ=>{"use strict";Object.defineProperty(ZZ,"__esModule",{value:!0});ZZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SINTERCARD"),t.pushKeysLength(e),typeof r=="number"?t.push("LIMIT",r.toString()):r?.LIMIT!==void 0&&t.push("LIMIT",r.LIMIT.toString())},transformReply:void 0}});var bqe=E(eee=>{"use strict";Object.defineProperty(eee,"__esModule",{value:!0});eee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SINTERSTORE"),t.pushKey(e),t.pushKeys(r)},transformReply:void 0}});var Eqe=E(tee=>{"use strict";Object.defineProperty(tee,"__esModule",{value:!0});tee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SISMEMBER"),t.pushKey(e),t.push(r)},transformReply:void 0}});var _qe=E(ree=>{"use strict";Object.defineProperty(ree,"__esModule",{value:!0});ree.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SMEMBERS"),t.pushKey(e)},transformReply:{2:void 0,3:void 0}}});var Sqe=E(nee=>{"use strict";Object.defineProperty(nee,"__esModule",{value:!0});nee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SMISMEMBER"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var vqe=E(see=>{"use strict";Object.defineProperty(see,"__esModule",{value:!0});see.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("SMOVE"),t.pushKeys([e,r]),t.push(n)},transformReply:void 0}});var aL=E(yC=>{"use strict";Object.defineProperty(yC,"__esModule",{value:!0});yC.parseSortArguments=void 0;function Iqe(t,e,r){if(t.pushKey(e),r?.BY&&t.push("BY",r.BY),r?.LIMIT&&t.push("LIMIT",r.LIMIT.offset.toString(),r.LIMIT.count.toString()),r?.GET)if(Array.isArray(r.GET))for(let n of r.GET)t.push("GET",n);else t.push("GET",r.GET);r?.DIRECTION&&t.push(r.DIRECTION),r?.ALPHA&&t.push("ALPHA")}yC.parseSortArguments=Iqe;yC.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SORT"),Iqe(t,e,r)},transformReply:void 0}});var Tqe=E(vf=>{"use strict";var xcr=vf&&vf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),bcr=vf&&vf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Ecr=vf&&vf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&xcr(e,t,r);return bcr(e,t),e};Object.defineProperty(vf,"__esModule",{value:!0});var Cqe=Ecr(aL());vf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("SORT_RO"),(0,Cqe.parseSortArguments)(...t)},transformReply:Cqe.default.transformReply}});var wqe=E(xC=>{"use strict";var _cr=xC&&xC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xC,"__esModule",{value:!0});var Scr=_cr(aL());xC.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){Scr.default.parseCommand(t,e,n),t.push("STORE",r)},transformReply:void 0}});var Rqe=E(iee=>{"use strict";Object.defineProperty(iee,"__esModule",{value:!0});iee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SPOP"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var Nqe=E(aee=>{"use strict";Object.defineProperty(aee,"__esModule",{value:!0});aee.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("SPOP"),t.pushKey(e)},transformReply:void 0}});var Oqe=E(oee=>{"use strict";Object.defineProperty(oee,"__esModule",{value:!0});oee.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SPUBLISH"),t.pushKey(e),t.push(r)},transformReply:void 0}});var uee=E(cee=>{"use strict";Object.defineProperty(cee,"__esModule",{value:!0});cee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("SRANDMEMBER"),t.pushKey(e)},transformReply:void 0}});var kqe=E(bC=>{"use strict";var vcr=bC&&bC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bC,"__esModule",{value:!0});var Pqe=vcr(uee());bC.default={IS_READ_ONLY:Pqe.default.IS_READ_ONLY,parseCommand(t,e,r){Pqe.default.parseCommand(t,e),t.push(r.toString())},transformReply:void 0}});var Dqe=E(lee=>{"use strict";Object.defineProperty(lee,"__esModule",{value:!0});lee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SREM"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var Bqe=E(dee=>{"use strict";Object.defineProperty(dee,"__esModule",{value:!0});var Icr=aC();dee.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("SSCAN"),t.pushKey(e),(0,Icr.parseScanArguments)(t,r,n)},transformReply([t,e]){return{cursor:t,members:e}}}});var Lqe=E(fee=>{"use strict";Object.defineProperty(fee,"__esModule",{value:!0});fee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("STRLEN"),t.pushKey(e)},transformReply:void 0}});var Mqe=E(pee=>{"use strict";Object.defineProperty(pee,"__esModule",{value:!0});pee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SUNION"),t.pushKeys(e)},transformReply:void 0}});var Wqe=E(mee=>{"use strict";Object.defineProperty(mee,"__esModule",{value:!0});mee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SUNIONSTORE"),t.pushKey(e),t.pushKeys(r)},transformReply:void 0}});var $qe=E(hee=>{"use strict";Object.defineProperty(hee,"__esModule",{value:!0});hee.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SWAPDB",e.toString(),r.toString())},transformReply:void 0}});var Fqe=E(gee=>{"use strict";Object.defineProperty(gee,"__esModule",{value:!0});gee.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("TIME")},transformReply:void 0}});var Uqe=E(Aee=>{"use strict";Object.defineProperty(Aee,"__esModule",{value:!0});Aee.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("TOUCH"),t.pushKeys(e)},transformReply:void 0}});var qqe=E(yee=>{"use strict";Object.defineProperty(yee,"__esModule",{value:!0});yee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TTL"),t.pushKey(e)},transformReply:void 0}});var jqe=E(xee=>{"use strict";Object.defineProperty(xee,"__esModule",{value:!0});xee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("TYPE"),t.pushKey(e)},transformReply:void 0}});var Hqe=E(bee=>{"use strict";Object.defineProperty(bee,"__esModule",{value:!0});bee.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("UNLINK"),t.pushKeys(e)},transformReply:void 0}});var Qqe=E(Eee=>{"use strict";Object.defineProperty(Eee,"__esModule",{value:!0});Eee.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("WAIT",e.toString(),r.toString())},transformReply:void 0}});var Gqe=E(_ee=>{"use strict";Object.defineProperty(_ee,"__esModule",{value:!0});_ee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XACK"),t.pushKey(e),t.push(r),t.pushVariadic(n)},transformReply:void 0}});var Kqe=E(See=>{"use strict";Object.defineProperty(See,"__esModule",{value:!0});See.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XACKDEL"),t.pushKey(e),t.push(r),s&&t.push(s),t.push("IDS"),t.pushVariadicWithLength(n)},transformReply:void 0}});var vee=E(EC=>{"use strict";Object.defineProperty(EC,"__esModule",{value:!0});EC.parseXAddArguments=void 0;function Vqe(t,e,r,n,s,i){e.push("XADD"),e.pushKey(r),t&&e.push(t),i?.policy&&e.push(i.policy),i?.IDMPAUTO?e.push("IDMPAUTO",i.IDMPAUTO.pid):i?.IDMP&&e.push("IDMP",i.IDMP.pid,i.IDMP.iid),i?.TRIM&&(i.TRIM.strategy&&e.push(i.TRIM.strategy),i.TRIM.strategyModifier&&e.push(i.TRIM.strategyModifier),e.push(i.TRIM.threshold.toString()),i.TRIM.limit&&e.push("LIMIT",i.TRIM.limit.toString()),i.TRIM.policy&&e.push(i.TRIM.policy)),e.push(n);for(let[a,o]of Object.entries(s))e.push(a,o)}EC.parseXAddArguments=Vqe;EC.default={IS_READ_ONLY:!1,parseCommand(...t){return Vqe(void 0,...t)},transformReply:void 0}});var zqe=E(Iee=>{"use strict";Object.defineProperty(Iee,"__esModule",{value:!0});var Ccr=vee();Iee.default={IS_READ_ONLY:!1,parseCommand(...t){return(0,Ccr.parseXAddArguments)("NOMKSTREAM",...t)},transformReply:void 0}});var Tee=E(Cee=>{"use strict";Object.defineProperty(Cee,"__esModule",{value:!0});var Tcr=Ce();Cee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i,a){t.push("XAUTOCLAIM"),t.pushKey(e),t.push(r,n,s.toString(),i),a?.COUNT&&t.push("COUNT",a.COUNT.toString())},transformReply(t,e,r){return{nextId:t[0],messages:t[1].map(Tcr.transformStreamMessageNullReply.bind(void 0,r)),deletedMessages:t[2]}}}});var Jqe=E(_C=>{"use strict";var wcr=_C&&_C.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_C,"__esModule",{value:!0});var Yqe=wcr(Tee());_C.default={IS_READ_ONLY:Yqe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];Yqe.default.parseCommand(...t),e.push("JUSTID")},transformReply(t){return{nextId:t[0],messages:t[1],deletedMessages:t[2]}}}});var Ree=E(wee=>{"use strict";Object.defineProperty(wee,"__esModule",{value:!0});var Rcr=Ce();wee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i,a){t.push("XCLAIM"),t.pushKey(e),t.push(r,n,s.toString()),t.pushVariadic(i),a?.IDLE!==void 0&&t.push("IDLE",a.IDLE.toString()),a?.TIME!==void 0&&t.push("TIME",(a.TIME instanceof Date?a.TIME.getTime():a.TIME).toString()),a?.RETRYCOUNT!==void 0&&t.push("RETRYCOUNT",a.RETRYCOUNT.toString()),a?.FORCE&&t.push("FORCE"),a?.LASTID!==void 0&&t.push("LASTID",a.LASTID)},transformReply(t,e,r){return t.map(Rcr.transformStreamMessageNullReply.bind(void 0,r))}}});var Zqe=E(SC=>{"use strict";var Ncr=SC&&SC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(SC,"__esModule",{value:!0});var Xqe=Ncr(Ree());SC.default={IS_READ_ONLY:Xqe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];Xqe.default.parseCommand(...t),e.push("JUSTID")},transformReply:void 0}});var e9e=E(Nee=>{"use strict";Object.defineProperty(Nee,"__esModule",{value:!0});Nee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("XCFGSET"),t.pushKey(e),r?.IDMP_DURATION!==void 0&&t.push("IDMP-DURATION",r.IDMP_DURATION.toString()),r?.IDMP_MAXSIZE!==void 0&&t.push("IDMP-MAXSIZE",r.IDMP_MAXSIZE.toString())},transformReply:void 0}});var t9e=E(Oee=>{"use strict";Object.defineProperty(Oee,"__esModule",{value:!0});Oee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("XDEL"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var r9e=E(Pee=>{"use strict";Object.defineProperty(Pee,"__esModule",{value:!0});Pee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XDELEX"),t.pushKey(e),n&&t.push(n),t.push("IDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var n9e=E(kee=>{"use strict";Object.defineProperty(kee,"__esModule",{value:!0});kee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XGROUP","CREATE"),t.pushKey(e),t.push(r,n),s?.MKSTREAM&&t.push("MKSTREAM"),s?.ENTRIESREAD&&t.push("ENTRIESREAD",s.ENTRIESREAD.toString())},transformReply:void 0}});var s9e=E(Dee=>{"use strict";Object.defineProperty(Dee,"__esModule",{value:!0});Dee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XGROUP","CREATECONSUMER"),t.pushKey(e),t.push(r,n)},transformReply:void 0}});var i9e=E(Bee=>{"use strict";Object.defineProperty(Bee,"__esModule",{value:!0});Bee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XGROUP","DELCONSUMER"),t.pushKey(e),t.push(r,n)},transformReply:void 0}});var a9e=E(Lee=>{"use strict";Object.defineProperty(Lee,"__esModule",{value:!0});Lee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("XGROUP","DESTROY"),t.pushKey(e),t.push(r)},transformReply:void 0}});var o9e=E(Mee=>{"use strict";Object.defineProperty(Mee,"__esModule",{value:!0});Mee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XGROUP","SETID"),t.pushKey(e),t.push(r,n),s?.ENTRIESREAD&&t.push("ENTRIESREAD",s.ENTRIESREAD.toString())},transformReply:void 0}});var c9e=E(Wee=>{"use strict";Object.defineProperty(Wee,"__esModule",{value:!0});Wee.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("XINFO","CONSUMERS"),t.pushKey(e),t.push(r)},transformReply:{2:t=>t.map(e=>{let r=e;return{name:r[1],pending:r[3],idle:r[5],inactive:r[7]}}),3:void 0}}});var u9e=E($ee=>{"use strict";Object.defineProperty($ee,"__esModule",{value:!0});$ee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("XINFO","GROUPS"),t.pushKey(e)},transformReply:{2:t=>t.map(e=>{let r=e;return{name:r[1],consumers:r[3],pending:r[5],"last-delivered-id":r[7],"entries-read":r[9],lag:r[11]}}),3:void 0}}});var d9e=E(Fee=>{"use strict";Object.defineProperty(Fee,"__esModule",{value:!0});var l9e=Ce();Fee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("XINFO","STREAM"),t.pushKey(e)},transformReply:{2(t){let e={};for(let r=0;r<t.length;r+=2)switch(t[r]){case"first-entry":case"last-entry":e[t[r]]=bb(t[r+1]);break;default:e[t[r]]=t[r+1];break}return e},3(t){if(t instanceof Map)t.set("first-entry",bb(t.get("first-entry"))),t.set("last-entry",bb(t.get("last-entry")));else if(t instanceof Array)for(let e=0;e<t.length;e+=2)(t[e]==="first-entry"||t[e]==="last-entry")&&(t[e+1]=bb(t[e+1]));else t["first-entry"]=bb(t["first-entry"]),t["last-entry"]=bb(t["last-entry"]);return t}}};function bb(t){if((0,l9e.isNullReply)(t))return t;let[e,r]=t;return{id:e,message:(0,l9e.transformTuplesReply)(r)}}});var f9e=E(Uee=>{"use strict";Object.defineProperty(Uee,"__esModule",{value:!0});Uee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("XLEN"),t.pushKey(e)},transformReply:void 0}});var p9e=E(qee=>{"use strict";Object.defineProperty(qee,"__esModule",{value:!0});qee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s,i,a){t.push("XPENDING"),t.pushKey(e),t.push(r),a?.IDLE!==void 0&&t.push("IDLE",a.IDLE.toString()),t.push(n,s,i.toString()),a?.consumer&&t.push(a.consumer)},transformReply(t){return t.map(e=>{let r=e;return{id:r[0],consumer:r[1],millisecondsSinceLastDelivery:r[2],deliveriesCounter:r[3]}})}}});var m9e=E(jee=>{"use strict";Object.defineProperty(jee,"__esModule",{value:!0});jee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("XPENDING"),t.pushKey(e),t.push(r)},transformReply(t){let e=t[3];return{pending:t[0],firstId:t[1],lastId:t[2],consumers:e===null?null:e.map(r=>{let[n,s]=r;return{name:n,deliveriesCounter:Number(s)}})}}}});var Hee=E(vC=>{"use strict";Object.defineProperty(vC,"__esModule",{value:!0});vC.xRangeArguments=void 0;var Ocr=Ce();function h9e(t,e,r){let n=[t,e];return r?.COUNT&&n.push("COUNT",r.COUNT.toString()),n}vC.xRangeArguments=h9e;vC.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,...r){t.push("XRANGE"),t.pushKey(e),t.pushVariadic(h9e(r[0],r[1],r[2]))},transformReply(t,e,r){return t.map(Ocr.transformStreamMessageReply.bind(void 0,r))}}});var Qee=E(IC=>{"use strict";Object.defineProperty(IC,"__esModule",{value:!0});IC.pushXReadStreams=void 0;var Pcr=Ce();function g9e(t,e){if(t.push("STREAMS"),Array.isArray(e)){for(let r=0;r<e.length;r++)t.pushKey(e[r].key);for(let r=0;r<e.length;r++)t.push(e[r].id)}else t.pushKey(e.key),t.push(e.id)}IC.pushXReadStreams=g9e;IC.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("XREAD"),r?.COUNT&&t.push("COUNT",r.COUNT.toString()),r?.BLOCK!==void 0&&t.push("BLOCK",r.BLOCK.toString()),g9e(t,e)},transformReply:{2:Pcr.transformStreamsMessagesReplyResp2,3:void 0},unstableResp3:!0}});var A9e=E(Gee=>{"use strict";Object.defineProperty(Gee,"__esModule",{value:!0});var kcr=Qee(),Dcr=Ce();Gee.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("XREADGROUP","GROUP",e,r),s?.COUNT!==void 0&&t.push("COUNT",s.COUNT.toString()),s?.BLOCK!==void 0&&t.push("BLOCK",s.BLOCK.toString()),s?.NOACK&&t.push("NOACK"),s?.CLAIM!==void 0&&t.push("CLAIM",s.CLAIM.toString()),(0,kcr.pushXReadStreams)(t,n)},transformReply:{2:Dcr.transformStreamsMessagesReplyResp2,3:void 0}}});var y9e=E(If=>{"use strict";var Bcr=If&&If.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Lcr=If&&If.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Mcr=If&&If.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Bcr(e,t,r);return Lcr(e,t),e};Object.defineProperty(If,"__esModule",{value:!0});var oL=Mcr(Hee());If.default={CACHEABLE:oL.default.CACHEABLE,IS_READ_ONLY:oL.default.IS_READ_ONLY,parseCommand(t,e,...r){t.push("XREVRANGE"),t.pushKey(e),t.pushVariadic((0,oL.xRangeArguments)(r[0],r[1],r[2]))},transformReply:oL.default.transformReply}});var x9e=E(Kee=>{"use strict";Object.defineProperty(Kee,"__esModule",{value:!0});Kee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XSETID"),t.pushKey(e),t.push(r),n?.ENTRIESADDED&&t.push("ENTRIESADDED",n.ENTRIESADDED.toString()),n?.MAXDELETEDID&&t.push("MAXDELETEDID",n.MAXDELETEDID)},transformReply:void 0}});var b9e=E(Vee=>{"use strict";Object.defineProperty(Vee,"__esModule",{value:!0});Vee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XTRIM"),t.pushKey(e),t.push(r),s?.strategyModifier&&t.push(s.strategyModifier),t.push(n.toString()),s?.LIMIT&&t.push("LIMIT",s.LIMIT.toString()),s?.policy&&t.push(s.policy)},transformReply:void 0}});var zee=E(CC=>{"use strict";Object.defineProperty(CC,"__esModule",{value:!0});CC.pushMembers=void 0;var _9e=Ce();CC.default={parseCommand(t,e,r,n){t.push("ZADD"),t.pushKey(e),n?.condition?t.push(n.condition):n?.NX?t.push("NX"):n?.XX&&t.push("XX"),n?.comparison?t.push(n.comparison):n?.LT?t.push("LT"):n?.GT&&t.push("GT"),n?.CH&&t.push("CH"),S9e(t,r)},transformReply:_9e.transformDoubleReply};function S9e(t,e){if(Array.isArray(e))for(let r of e)E9e(t,r);else E9e(t,e)}CC.pushMembers=S9e;function E9e(t,e){t.push((0,_9e.transformDoubleArgument)(e.score),e.value)}});var v9e=E(Yee=>{"use strict";Object.defineProperty(Yee,"__esModule",{value:!0});var Wcr=zee(),$cr=Ce();Yee.default={parseCommand(t,e,r,n){t.push("ZADD"),t.pushKey(e),n?.condition&&t.push(n.condition),n?.comparison&&t.push(n.comparison),n?.CH&&t.push("CH"),t.push("INCR"),(0,Wcr.pushMembers)(t,r)},transformReply:$cr.transformNullableDoubleReply}});var I9e=E(Jee=>{"use strict";Object.defineProperty(Jee,"__esModule",{value:!0});Jee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ZCARD"),t.pushKey(e)},transformReply:void 0}});var T9e=E(Xee=>{"use strict";Object.defineProperty(Xee,"__esModule",{value:!0});var C9e=Ce();Xee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("ZCOUNT"),t.pushKey(e),t.push((0,C9e.transformStringDoubleArgument)(r),(0,C9e.transformStringDoubleArgument)(n))},transformReply:void 0}});var ete=E(Zee=>{"use strict";Object.defineProperty(Zee,"__esModule",{value:!0});Zee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("ZDIFF"),t.pushKeysLength(e)},transformReply:void 0}});var R9e=E(TC=>{"use strict";var Fcr=TC&&TC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(TC,"__esModule",{value:!0});var Ucr=Ce(),w9e=Fcr(ete());TC.default={IS_READ_ONLY:w9e.default.IS_READ_ONLY,parseCommand(t,e){w9e.default.parseCommand(t,e),t.push("WITHSCORES")},transformReply:Ucr.transformSortedSetReply}});var N9e=E(tte=>{"use strict";Object.defineProperty(tte,"__esModule",{value:!0});tte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZDIFFSTORE"),t.pushKey(e),t.pushKeysLength(r)},transformReply:void 0}});var P9e=E(rte=>{"use strict";Object.defineProperty(rte,"__esModule",{value:!0});var O9e=Ce();rte.default={parseCommand(t,e,r,n){t.push("ZINCRBY"),t.pushKey(e),t.push((0,O9e.transformDoubleArgument)(r),n)},transformReply:O9e.transformDoubleReply}});var cL=E(wC=>{"use strict";Object.defineProperty(wC,"__esModule",{value:!0});wC.parseZInterArguments=void 0;var qcr=Ce();function k9e(t,e,r){(0,qcr.parseZKeysArguments)(t,e),r?.AGGREGATE&&t.push("AGGREGATE",r.AGGREGATE)}wC.parseZInterArguments=k9e;wC.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZINTER"),k9e(t,e,r)},transformReply:void 0}});var B9e=E(RC=>{"use strict";var jcr=RC&&RC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RC,"__esModule",{value:!0});var Hcr=Ce(),D9e=jcr(cL());RC.default={IS_READ_ONLY:D9e.default.IS_READ_ONLY,parseCommand(...t){D9e.default.parseCommand(...t),t[0].push("WITHSCORES")},transformReply:Hcr.transformSortedSetReply}});var L9e=E(nte=>{"use strict";Object.defineProperty(nte,"__esModule",{value:!0});nte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZINTERCARD"),t.pushKeysLength(e),typeof r=="number"?t.push("LIMIT",r.toString()):r?.LIMIT&&t.push("LIMIT",r.LIMIT.toString())},transformReply:void 0}});var M9e=E(ste=>{"use strict";Object.defineProperty(ste,"__esModule",{value:!0});var Qcr=cL();ste.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZINTERSTORE"),t.pushKey(e),(0,Qcr.parseZInterArguments)(t,r,n)},transformReply:void 0}});var W9e=E(ite=>{"use strict";Object.defineProperty(ite,"__esModule",{value:!0});ite.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("ZLEXCOUNT"),t.pushKey(e),t.push(r),t.push(n)},transformReply:void 0}});var $9e=E(ate=>{"use strict";Object.defineProperty(ate,"__esModule",{value:!0});var Gcr=Ce();ate.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZMSCORE"),t.pushKey(e),t.pushVariadic(r)},transformReply:{2:(t,e,r)=>t.map((0,Gcr.createTransformNullableDoubleReplyResp2Func)(e,r)),3:void 0}}});var F9e=E(ote=>{"use strict";Object.defineProperty(ote,"__esModule",{value:!0});var Kcr=Ce();ote.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("ZPOPMAX"),t.pushKey(e),t.push(r.toString())},transformReply:Kcr.transformSortedSetReply}});var ute=E(cte=>{"use strict";Object.defineProperty(cte,"__esModule",{value:!0});var Vcr=Ce();cte.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("ZPOPMAX"),t.pushKey(e)},transformReply:{2:(t,e,r)=>t.length===0?null:{value:t[0],score:Vcr.transformDoubleReply[2](t[1],e,r)},3:t=>t.length===0?null:{value:t[0],score:t[1]}}}});var U9e=E(lte=>{"use strict";Object.defineProperty(lte,"__esModule",{value:!0});var zcr=Ce();lte.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("ZPOPMIN"),t.pushKey(e),t.push(r.toString())},transformReply:zcr.transformSortedSetReply}});var q9e=E(NC=>{"use strict";var Ycr=NC&&NC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(NC,"__esModule",{value:!0});var Jcr=Ycr(ute());NC.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("ZPOPMIN"),t.pushKey(e)},transformReply:Jcr.default.transformReply}});var fte=E(dte=>{"use strict";Object.defineProperty(dte,"__esModule",{value:!0});dte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("ZRANDMEMBER"),t.pushKey(e)},transformReply:void 0}});var pte=E(OC=>{"use strict";var Xcr=OC&&OC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(OC,"__esModule",{value:!0});var j9e=Xcr(fte());OC.default={IS_READ_ONLY:j9e.default.IS_READ_ONLY,parseCommand(t,e,r){j9e.default.parseCommand(t,e),t.push(r.toString())},transformReply:void 0}});var Q9e=E(PC=>{"use strict";var Zcr=PC&&PC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(PC,"__esModule",{value:!0});var eur=Ce(),H9e=Zcr(pte());PC.default={IS_READ_ONLY:H9e.default.IS_READ_ONLY,parseCommand(t,e,r){H9e.default.parseCommand(t,e,r),t.push("WITHSCORES")},transformReply:eur.transformSortedSetReply}});var mte=E(kC=>{"use strict";Object.defineProperty(kC,"__esModule",{value:!0});kC.zRangeArgument=void 0;var G9e=Ce();function K9e(t,e,r){let n=[(0,G9e.transformStringDoubleArgument)(t),(0,G9e.transformStringDoubleArgument)(e)];switch(r?.BY){case"SCORE":n.push("BYSCORE");break;case"LEX":n.push("BYLEX");break}return r?.REV&&n.push("REV"),r?.LIMIT&&n.push("LIMIT",r.LIMIT.offset.toString(),r.LIMIT.count.toString()),n}kC.zRangeArgument=K9e;kC.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("ZRANGE"),t.pushKey(e),t.pushVariadic(K9e(r,n,s))},transformReply:void 0}});var V9e=E(DC=>{"use strict";var tur=DC&&DC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(DC,"__esModule",{value:!0});var rur=Ce(),hte=tur(mte());DC.default={CACHEABLE:hte.default.CACHEABLE,IS_READ_ONLY:hte.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];hte.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:rur.transformSortedSetReply}});var Y9e=E(gte=>{"use strict";Object.defineProperty(gte,"__esModule",{value:!0});var z9e=Ce();gte.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("ZRANGEBYLEX"),t.pushKey(e),t.push((0,z9e.transformStringDoubleArgument)(r),(0,z9e.transformStringDoubleArgument)(n)),s?.LIMIT&&t.push("LIMIT",s.LIMIT.offset.toString(),s.LIMIT.count.toString())},transformReply:void 0}});var yte=E(Ate=>{"use strict";Object.defineProperty(Ate,"__esModule",{value:!0});var J9e=Ce();Ate.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("ZRANGEBYSCORE"),t.pushKey(e),t.push((0,J9e.transformStringDoubleArgument)(r),(0,J9e.transformStringDoubleArgument)(n)),s?.LIMIT&&t.push("LIMIT",s.LIMIT.offset.toString(),s.LIMIT.count.toString())},transformReply:void 0}});var X9e=E(BC=>{"use strict";var nur=BC&&BC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BC,"__esModule",{value:!0});var sur=Ce(),xte=nur(yte());BC.default={CACHEABLE:xte.default.CACHEABLE,IS_READ_ONLY:xte.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];xte.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:sur.transformSortedSetReply}});var eje=E(bte=>{"use strict";Object.defineProperty(bte,"__esModule",{value:!0});var Z9e=Ce();bte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){switch(t.push("ZRANGESTORE"),t.pushKey(e),t.pushKey(r),t.push((0,Z9e.transformStringDoubleArgument)(n),(0,Z9e.transformStringDoubleArgument)(s)),i?.BY){case"SCORE":t.push("BYSCORE");break;case"LEX":t.push("BYLEX");break}i?.REV&&t.push("REV"),i?.LIMIT&&t.push("LIMIT",i.LIMIT.offset.toString(),i.LIMIT.count.toString())},transformReply:void 0}});var rje=E(Ete=>{"use strict";Object.defineProperty(Ete,"__esModule",{value:!0});var tje=Ce();Ete.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZREMRANGEBYSCORE"),t.pushKey(e),t.push((0,tje.transformStringDoubleArgument)(r),(0,tje.transformStringDoubleArgument)(n))},transformReply:void 0}});var Ste=E(_te=>{"use strict";Object.defineProperty(_te,"__esModule",{value:!0});_te.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZRANK"),t.pushKey(e),t.push(r)},transformReply:void 0}});var nje=E(LC=>{"use strict";var iur=LC&&LC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(LC,"__esModule",{value:!0});var vte=iur(Ste());LC.default={CACHEABLE:vte.default.CACHEABLE,IS_READ_ONLY:vte.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];vte.default.parseCommand(...t),e.push("WITHSCORE")},transformReply:{2:t=>t===null?null:{rank:t[0],score:Number(t[1])},3:t=>t===null?null:{rank:t[0],score:t[1]}}}});var sje=E(Ite=>{"use strict";Object.defineProperty(Ite,"__esModule",{value:!0});Ite.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("ZREM"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var aje=E(Cte=>{"use strict";Object.defineProperty(Cte,"__esModule",{value:!0});var ije=Ce();Cte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZREMRANGEBYLEX"),t.pushKey(e),t.push((0,ije.transformStringDoubleArgument)(r),(0,ije.transformStringDoubleArgument)(n))},transformReply:void 0}});var oje=E(Tte=>{"use strict";Object.defineProperty(Tte,"__esModule",{value:!0});Tte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZREMRANGEBYRANK"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var cje=E(wte=>{"use strict";Object.defineProperty(wte,"__esModule",{value:!0});wte.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZREVRANK"),t.pushKey(e),t.push(r)},transformReply:void 0}});var uje=E(Rte=>{"use strict";Object.defineProperty(Rte,"__esModule",{value:!0});var aur=aC(),our=Ce();Rte.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("ZSCAN"),t.pushKey(e),(0,aur.parseScanArguments)(t,r,n)},transformReply([t,e]){return{cursor:t,members:our.transformSortedSetReply[2](e)}}}});var lje=E(Nte=>{"use strict";Object.defineProperty(Nte,"__esModule",{value:!0});var cur=Ce();Nte.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZSCORE"),t.pushKey(e),t.push(r)},transformReply:cur.transformNullableDoubleReply}});var Pte=E(Ote=>{"use strict";Object.defineProperty(Ote,"__esModule",{value:!0});var uur=Ce();Ote.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZUNION"),(0,uur.parseZKeysArguments)(t,e),r?.AGGREGATE&&t.push("AGGREGATE",r.AGGREGATE)},transformReply:void 0}});var fje=E(MC=>{"use strict";var lur=MC&&MC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(MC,"__esModule",{value:!0});var dur=Ce(),dje=lur(Pte());MC.default={IS_READ_ONLY:dje.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];dje.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:dur.transformSortedSetReply}});var pje=E(kte=>{"use strict";Object.defineProperty(kte,"__esModule",{value:!0});var fur=Ce();kte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZUNIONSTORE"),t.pushKey(e),(0,fur.parseZKeysArguments)(t,r),n?.AGGREGATE&&t.push("AGGREGATE",n.AGGREGATE)},transformReply:void 0}});var hje=E(Dte=>{"use strict";Object.defineProperty(Dte,"__esModule",{value:!0});var mje=Ce();Dte.default={parseCommand(t,e,r,n,s){t.push("VADD"),t.pushKey(e),s?.REDUCE!==void 0&&t.push("REDUCE",s.REDUCE.toString()),t.push("VALUES",r.length.toString());for(let i of r)t.push((0,mje.transformDoubleArgument)(i));t.push(n),s?.CAS&&t.push("CAS"),s?.QUANT&&t.push(s.QUANT),s?.EF!==void 0&&t.push("EF",s.EF.toString()),s?.SETATTR&&t.push("SETATTR",JSON.stringify(s.SETATTR)),s?.M!==void 0&&t.push("M",s.M.toString())},transformReply:mje.transformBooleanReply}});var gje=E(Bte=>{"use strict";Object.defineProperty(Bte,"__esModule",{value:!0});Bte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("VCARD"),t.pushKey(e)},transformReply:void 0}});var Aje=E(Lte=>{"use strict";Object.defineProperty(Lte,"__esModule",{value:!0});Lte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("VDIM"),t.pushKey(e)},transformReply:void 0}});var Wte=E(Mte=>{"use strict";Object.defineProperty(Mte,"__esModule",{value:!0});var pur=Ce();Mte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VEMB"),t.pushKey(e),t.push(r)},transformReply:pur.transformDoubleArrayReply}});var xje=E(WC=>{"use strict";var mur=WC&&WC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(WC,"__esModule",{value:!0});var yje=Ce(),hur=mur(Wte()),gur={2:t=>({quantization:t[0],raw:t[1],l2Norm:yje.transformDoubleReply[2](t[2]),...t[3]!==void 0&&{quantizationRange:yje.transformDoubleReply[2](t[3])}}),3:t=>({quantization:t[0],raw:t[1],l2Norm:t[2],quantizationRange:t[3]})};WC.default={IS_READ_ONLY:!0,parseCommand(t,e,r){hur.default.parseCommand(t,e,r),t.push("RAW")},transformReply:gur}});var bje=E($te=>{"use strict";Object.defineProperty($te,"__esModule",{value:!0});var Aur=Ce();$te.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VGETATTR"),t.pushKey(e),t.push(r)},transformReply:Aur.transformRedisJsonNullReply}});var Eje=E(Fte=>{"use strict";Object.defineProperty(Fte,"__esModule",{value:!0});Fte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("VINFO"),t.pushKey(e)},transformReply:{2:t=>{let e=Object.create(null);for(let r=0;r<t.length;r+=2)e[t[r].toString()]=t[r+1];return e},3:void 0}}});var qte=E(Ute=>{"use strict";Object.defineProperty(Ute,"__esModule",{value:!0});Ute.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VLINKS"),t.pushKey(e),t.push(r)},transformReply:void 0}});var Sje=E($C=>{"use strict";var yur=$C&&$C.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($C,"__esModule",{value:!0});var xur=Ce(),_je=yur(qte());function bur(t){let e=[];for(let r of t){let n=Object.create(null);for(let s=0;s<r.length;s+=2){let i=r[s],a=xur.transformDoubleReply[2](r[s+1]);n[i.toString()]=a}e.push(n)}return e}$C.default={IS_READ_ONLY:_je.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];_je.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:{2:bur,3:void 0}}});var vje=E(jte=>{"use strict";Object.defineProperty(jte,"__esModule",{value:!0});jte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VRANDMEMBER"),t.pushKey(e),r!==void 0&&t.push(r.toString())},transformReply:void 0}});var Ije=E(Hte=>{"use strict";Object.defineProperty(Hte,"__esModule",{value:!0});Hte.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("VRANGE"),t.pushKey(e),t.push(r,n),s!==void 0&&t.push(s.toString())},transformReply:void 0}});var Cje=E(Qte=>{"use strict";Object.defineProperty(Qte,"__esModule",{value:!0});var Eur=Ce();Qte.default={parseCommand(t,e,r){t.push("VREM"),t.pushKey(e),t.push(r)},transformReply:Eur.transformBooleanReply}});var Tje=E(Gte=>{"use strict";Object.defineProperty(Gte,"__esModule",{value:!0});var _ur=Ce();Gte.default={parseCommand(t,e,r,n){t.push("VSETATTR"),t.pushKey(e),t.push(r),typeof n=="object"&&n!==null?t.push(JSON.stringify(n)):t.push(n)},transformReply:_ur.transformBooleanReply}});var Vte=E(Kte=>{"use strict";Object.defineProperty(Kte,"__esModule",{value:!0});var Sur=Ce();Kte.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){if(t.push("VSIM"),t.pushKey(e),Array.isArray(r)){t.push("VALUES",r.length.toString());for(let s of r)t.push((0,Sur.transformDoubleArgument)(s))}else t.push("ELE",r);n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString()),n?.EPSILON!==void 0&&t.push("EPSILON",n.EPSILON.toString()),n?.EF!==void 0&&t.push("EF",n.EF.toString()),n?.FILTER&&t.push("FILTER",n.FILTER),n?.["FILTER-EF"]!==void 0&&t.push("FILTER-EF",n["FILTER-EF"].toString()),n?.TRUTH&&t.push("TRUTH"),n?.NOTHREAD&&t.push("NOTHREAD")},transformReply:void 0}});var Rje=E(FC=>{"use strict";var vur=FC&&FC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(FC,"__esModule",{value:!0});var Iur=Ce(),wje=vur(Vte());FC.default={IS_READ_ONLY:wje.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];wje.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:{2:t=>{let e=t,r={};for(let n=0;n<e.length;n+=2)r[e[n].toString()]=Iur.transformDoubleReply[2](e[n+1]);return r},3:void 0}}});var Nje=E(zte=>{"use strict";Object.defineProperty(zte,"__esModule",{value:!0});var Cur=Ce(),Tur=t=>t;zte.default={CACHEABLE:!1,IS_READ_ONLY:!0,parseCommand(t,...e){let r=["LATENCY","HISTOGRAM"];e.length!==0&&r.push(...e),t.push(...r)},transformReply:{2:t=>{let e={};if(t.length===0)return e;for(let r=1;r<t.length;r+=2){let n=t[r];e[t[r-1]]={calls:n[1],histogram_usec:(0,Cur.transformTuplesToMap)(n[3],Tur)}}return e},3:void 0}}});var yu=E(Qn=>{"use strict";var wur=Qn&&Qn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Rur=Qn&&Qn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),UC=Qn&&Qn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&wur(e,t,r);return Rur(e,t),e},$=Qn&&Qn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qn,"__esModule",{value:!0});Qn.NON_STICKY_COMMANDS=Qn.REDIS_FLUSH_MODES=Qn.COMMAND_LIST_FILTER_BY=Qn.CLUSTER_SLOT_STATES=Qn.FAILOVER_MODES=Qn.CLIENT_KILL_FILTERS=void 0;var Oje=$(sWe()),Pje=$(iWe()),kje=$(aWe()),Dje=$(oWe()),Bje=$(cWe()),Lje=$(uWe()),Mje=$(lWe()),Wje=$(yWe()),$je=$(jz()),Fje=$(xWe()),Uje=$(bWe()),qje=$(EWe()),jje=$(_We()),Hje=$(SWe()),Qje=$(zz()),Gje=$(vWe()),Kje=$(IWe()),Vje=$(CWe()),zje=$(TWe()),Yje=$(wWe()),Jje=$(RWe()),Xje=$(NWe()),Zje=$(OWe()),eHe=$(PWe()),tHe=$(BWe()),rHe=$(oY()),nHe=$(LWe()),sHe=$(MWe()),iHe=$(UWe()),aHe=$(dY()),oHe=$(jWe()),cHe=$(HWe()),uHe=$(QWe()),lHe=$(GWe()),dHe=$(KWe()),fHe=$(AY()),Yte=UC(zWe());Object.defineProperty(Qn,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return Yte.CLIENT_KILL_FILTERS}});var pHe=$(YWe()),mHe=$(JWe()),hHe=$(XWe()),gHe=$(ZWe()),AHe=$(e$e()),yHe=$(t$e()),xHe=$(r$e()),bHe=$(n$e()),EHe=$(s$e()),_He=$(i$e()),SHe=$(a$e()),vHe=$(o$e()),IHe=$(c$e()),CHe=$(u$e()),THe=$(l$e()),Jte=UC(d$e());Object.defineProperty(Qn,"FAILOVER_MODES",{enumerable:!0,get:function(){return Jte.FAILOVER_MODES}});var wHe=$(f$e()),RHe=$(p$e()),NHe=$(m$e()),OHe=$(h$e()),PHe=$(g$e()),kHe=$(A$e()),DHe=$(y$e()),BHe=$(x$e()),LHe=$(b$e()),MHe=$(E$e()),WHe=$(_$e()),$He=$(S$e()),FHe=$(v$e()),UHe=$(I$e()),qHe=$(C$e()),Xte=UC(T$e());Object.defineProperty(Qn,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return Xte.CLUSTER_SLOT_STATES}});var jHe=$(R$e()),HHe=$(N$e()),QHe=$(O$e()),GHe=$(P$e()),KHe=$(k$e()),Zte=UC(D$e());Object.defineProperty(Qn,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return Zte.COMMAND_LIST_FILTER_BY}});var VHe=$(B$e()),zHe=$(L$e()),YHe=$(M$e()),JHe=$(W$e()),XHe=$($$e()),ZHe=$(F$e()),eQe=$(U$e()),tQe=$(q$e()),rQe=$(j$e()),nQe=$(H$e()),sQe=$(Q$e()),iQe=$(G$e()),aQe=$(K$e()),oQe=$(V$e()),cQe=$(J$e()),uQe=$(cg()),lQe=$(Z$e()),dQe=$(tFe()),fQe=$(nFe()),pQe=$(sFe()),mQe=$(iFe()),hQe=$(aFe()),gQe=$(pFe()),AQe=$(hFe()),yQe=$(AFe()),xQe=$(sL()),bQe=$(JI()),EQe=$(_Fe()),_Qe=$(vFe()),SQe=$(CFe()),vQe=$(hJ()),IQe=$(tC()),CQe=$(XI()),TQe=$(lg()),wQe=$(TFe()),RQe=$(wFe()),NQe=$(RFe()),OQe=$(NFe()),PQe=$(OFe()),kQe=$(PFe()),DQe=$(kFe()),BQe=$(DFe()),LQe=$(BFe()),MQe=$(LFe()),WQe=$(MFe()),ere=UC(WFe());Object.defineProperty(Qn,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return ere.REDIS_FLUSH_MODES}});var $Qe=$($Fe()),FQe=$(UFe()),UQe=$(jFe()),qQe=$(HFe()),jQe=$(QFe()),HQe=$(GFe()),QQe=$(KFe()),GQe=$(VFe()),KQe=$(DJ()),VQe=$(zFe()),zQe=$(YFe()),YQe=$(JFe()),JQe=$(XFe()),XQe=$(UJ()),ZQe=$(ZFe()),eGe=$(eUe()),tGe=$(tUe()),rGe=$(rUe()),nGe=$(nUe()),sGe=$(sUe()),iGe=$(iUe()),aGe=$(aUe()),oGe=$(oUe()),cGe=$(cUe()),uGe=$(uUe()),lGe=$(lUe()),dGe=$(dUe()),fGe=$(fUe()),pGe=$(pUe()),mGe=$(mUe()),hGe=$(hUe()),gGe=$(gUe()),AGe=$(AUe()),yGe=$(yUe()),xGe=$(xUe()),bGe=$(cX()),EGe=$(EUe()),_Ge=$(SUe()),SGe=$(IUe()),vGe=$(CUe()),IGe=$(TUe()),CGe=$(wUe()),TGe=$(RUe()),wGe=$(OUe()),RGe=$(PUe()),NGe=$(kUe()),OGe=$(DUe()),PGe=$(BUe()),kGe=$(LUe()),DGe=$(MUe()),BGe=$(WUe()),LGe=$($Ue()),MGe=$(FUe()),WGe=$(UUe()),$Ge=$(IX()),FGe=$(qUe()),UGe=$(jUe()),qGe=$(HUe()),jGe=$(KUe()),HGe=$(RX()),QGe=$(zUe()),GGe=$(iL()),KGe=$(YUe()),VGe=$(JUe()),zGe=$(XUe()),YGe=$(ZUe()),JGe=$(iY()),Nur=$(e7e()),XGe=$(t7e()),ZGe=$(LX()),eKe=$(r7e()),tKe=$(WX()),rKe=$(n7e()),nKe=$(s7e()),sKe=$(i7e()),iKe=$(a7e()),aKe=$(o7e()),oKe=$(c7e()),cKe=$(u7e()),uKe=$(l7e()),lKe=$(d7e()),dKe=$(f7e()),fKe=$(p7e()),pKe=$(m7e()),mKe=$(h7e()),hKe=$(g7e()),gKe=$(A7e()),AKe=$(y7e()),yKe=$(x7e()),xKe=$(nZ()),bKe=$(S7e()),EKe=$(v7e()),_Ke=$(I7e()),SKe=$(C7e()),vKe=$(T7e()),IKe=$(w7e()),CKe=$(R7e()),TKe=$(N7e()),wKe=$(O7e()),RKe=$(P7e()),NKe=$(k7e()),OKe=$(D7e()),PKe=$(B7e()),kKe=$(L7e()),DKe=$(M7e()),BKe=$(W7e()),LKe=$($7e()),MKe=$(F7e()),WKe=$(U7e()),$Ke=$(q7e()),FKe=$(j7e()),UKe=$(H7e()),qKe=$(Q7e()),jKe=$(G7e()),HKe=$(K7e()),QKe=$(V7e()),GKe=$(z7e()),KKe=$(Y7e()),VKe=$(J7e()),zKe=$(X7e()),YKe=$(Z7e()),JKe=$(eqe()),XKe=$(tqe()),ZKe=$(rqe()),eVe=$(nqe()),tVe=$(sqe()),rVe=$(aC()),nVe=$(iqe()),sVe=$(aqe()),iVe=$(oqe()),aVe=$(cqe()),oVe=$(uqe()),cVe=$(lqe()),uVe=$(dqe()),lVe=$(fqe()),dVe=$(pqe()),fVe=$(mqe()),pVe=$(hqe()),mVe=$(gqe()),hVe=$(Aqe()),gVe=$(yqe()),AVe=$(xqe()),yVe=$(bqe()),xVe=$(Eqe()),bVe=$(_qe()),EVe=$(Sqe()),_Ve=$(vqe()),SVe=$(Tqe()),vVe=$(wqe()),IVe=$(aL()),CVe=$(Rqe()),TVe=$(Nqe()),wVe=$(Oqe()),RVe=$(kqe()),NVe=$(uee()),OVe=$(Dqe()),PVe=$(Bqe()),kVe=$(Lqe()),DVe=$(Mqe()),BVe=$(Wqe()),LVe=$($qe()),MVe=$(Fqe()),WVe=$(Uqe()),$Ve=$(qqe()),FVe=$(jqe()),UVe=$(Hqe()),qVe=$(Qqe()),jVe=$(Gqe()),HVe=$(Kqe()),QVe=$(zqe()),GVe=$(vee()),KVe=$(Jqe()),VVe=$(Tee()),zVe=$(Zqe()),YVe=$(Ree()),JVe=$(e9e()),XVe=$(t9e()),ZVe=$(r9e()),eze=$(n9e()),tze=$(s9e()),rze=$(i9e()),nze=$(a9e()),sze=$(o9e()),ize=$(c9e()),aze=$(u9e()),oze=$(d9e()),cze=$(f9e()),uze=$(p9e()),lze=$(m9e()),dze=$(Hee()),fze=$(Qee()),pze=$(A9e()),mze=$(y9e()),hze=$(x9e()),gze=$(b9e()),Aze=$(v9e()),yze=$(zee()),xze=$(I9e()),bze=$(T9e()),Eze=$(R9e()),_ze=$(ete()),Sze=$(N9e()),vze=$(P9e()),Ize=$(B9e()),Cze=$(cL()),Tze=$(L9e()),wze=$(M9e()),Rze=$(W9e()),Nze=$(uY()),Oze=$($9e()),Pze=$(F9e()),kze=$(ute()),Dze=$(U9e()),Bze=$(q9e()),Lze=$(Q9e()),Mze=$(pte()),Wze=$(fte()),$ze=$(V9e()),Fze=$(mte()),Uze=$(Y9e()),qze=$(X9e()),jze=$(yte()),Hze=$(eje()),Qze=$(rje()),Gze=$(nje()),Kze=$(Ste()),Vze=$(sje()),zze=$(aje()),Yze=$(oje()),Jze=$(cje()),Xze=$(uje()),Zze=$(lje()),eYe=$(fje()),tYe=$(Pte()),rYe=$(pje()),nYe=$(hje()),sYe=$(gje()),iYe=$(Aje()),aYe=$(Wte()),oYe=$(xje()),cYe=$(bje()),uYe=$(Eje()),lYe=$(qte()),dYe=$(Sje()),fYe=$(vje()),pYe=$(Ije()),mYe=$(Cje()),hYe=$(Tje()),gYe=$(Vte()),AYe=$(Rje()),yYe=$(Nje());Qn.default={ACL_CAT:Oje.default,aclCat:Oje.default,ACL_DELUSER:Pje.default,aclDelUser:Pje.default,ACL_DRYRUN:kje.default,aclDryRun:kje.default,ACL_GENPASS:Dje.default,aclGenPass:Dje.default,ACL_GETUSER:Bje.default,aclGetUser:Bje.default,ACL_LIST:Lje.default,aclList:Lje.default,ACL_LOAD:Mje.default,aclLoad:Mje.default,ACL_LOG_RESET:Wje.default,aclLogReset:Wje.default,ACL_LOG:$je.default,aclLog:$je.default,ACL_SAVE:Fje.default,aclSave:Fje.default,ACL_SETUSER:Uje.default,aclSetUser:Uje.default,ACL_USERS:qje.default,aclUsers:qje.default,ACL_WHOAMI:jje.default,aclWhoAmI:jje.default,APPEND:Hje.default,append:Hje.default,ASKING:Qje.default,asking:Qje.default,AUTH:Gje.default,auth:Gje.default,BGREWRITEAOF:Kje.default,bgRewriteAof:Kje.default,BGSAVE:Vje.default,bgSave:Vje.default,BITCOUNT:zje.default,bitCount:zje.default,BITFIELD_RO:Yje.default,bitFieldRo:Yje.default,BITFIELD:Jje.default,bitField:Jje.default,BITOP:Xje.default,bitOp:Xje.default,BITPOS:Zje.default,bitPos:Zje.default,BLMOVE:eHe.default,blMove:eHe.default,BLMPOP:tHe.default,blmPop:tHe.default,BLPOP:rHe.default,blPop:rHe.default,BRPOP:nHe.default,brPop:nHe.default,BRPOPLPUSH:sHe.default,brPopLPush:sHe.default,BZMPOP:iHe.default,bzmPop:iHe.default,BZPOPMAX:aHe.default,bzPopMax:aHe.default,BZPOPMIN:oHe.default,bzPopMin:oHe.default,CLIENT_CACHING:cHe.default,clientCaching:cHe.default,CLIENT_GETNAME:uHe.default,clientGetName:uHe.default,CLIENT_GETREDIR:lHe.default,clientGetRedir:lHe.default,CLIENT_ID:dHe.default,clientId:dHe.default,CLIENT_INFO:fHe.default,clientInfo:fHe.default,CLIENT_KILL:Yte.default,clientKill:Yte.default,CLIENT_LIST:pHe.default,clientList:pHe.default,"CLIENT_NO-EVICT":mHe.default,clientNoEvict:mHe.default,"CLIENT_NO-TOUCH":hHe.default,clientNoTouch:hHe.default,CLIENT_PAUSE:gHe.default,clientPause:gHe.default,CLIENT_SETNAME:AHe.default,clientSetName:AHe.default,CLIENT_TRACKING:yHe.default,clientTracking:yHe.default,CLIENT_TRACKINGINFO:xHe.default,clientTrackingInfo:xHe.default,CLIENT_UNPAUSE:bHe.default,clientUnpause:bHe.default,CLUSTER_ADDSLOTS:EHe.default,clusterAddSlots:EHe.default,CLUSTER_ADDSLOTSRANGE:_He.default,clusterAddSlotsRange:_He.default,CLUSTER_BUMPEPOCH:SHe.default,clusterBumpEpoch:SHe.default,"CLUSTER_COUNT-FAILURE-REPORTS":vHe.default,clusterCountFailureReports:vHe.default,CLUSTER_COUNTKEYSINSLOT:IHe.default,clusterCountKeysInSlot:IHe.default,CLUSTER_DELSLOTS:CHe.default,clusterDelSlots:CHe.default,CLUSTER_DELSLOTSRANGE:THe.default,clusterDelSlotsRange:THe.default,CLUSTER_FAILOVER:Jte.default,clusterFailover:Jte.default,CLUSTER_FLUSHSLOTS:wHe.default,clusterFlushSlots:wHe.default,CLUSTER_FORGET:RHe.default,clusterForget:RHe.default,CLUSTER_GETKEYSINSLOT:NHe.default,clusterGetKeysInSlot:NHe.default,CLUSTER_INFO:OHe.default,clusterInfo:OHe.default,CLUSTER_KEYSLOT:PHe.default,clusterKeySlot:PHe.default,CLUSTER_LINKS:kHe.default,clusterLinks:kHe.default,CLUSTER_MEET:DHe.default,clusterMeet:DHe.default,CLUSTER_MYID:BHe.default,clusterMyId:BHe.default,CLUSTER_MYSHARDID:LHe.default,clusterMyShardId:LHe.default,CLUSTER_NODES:MHe.default,clusterNodes:MHe.default,CLUSTER_REPLICAS:WHe.default,clusterReplicas:WHe.default,CLUSTER_REPLICATE:$He.default,clusterReplicate:$He.default,CLUSTER_RESET:FHe.default,clusterReset:FHe.default,CLUSTER_SAVECONFIG:UHe.default,clusterSaveConfig:UHe.default,"CLUSTER_SET-CONFIG-EPOCH":qHe.default,clusterSetConfigEpoch:qHe.default,CLUSTER_SETSLOT:Xte.default,clusterSetSlot:Xte.default,CLUSTER_SLOTS:jHe.default,clusterSlots:jHe.default,COMMAND_COUNT:HHe.default,commandCount:HHe.default,COMMAND_GETKEYS:QHe.default,commandGetKeys:QHe.default,COMMAND_GETKEYSANDFLAGS:GHe.default,commandGetKeysAndFlags:GHe.default,COMMAND_INFO:KHe.default,commandInfo:KHe.default,COMMAND_LIST:Zte.default,commandList:Zte.default,COMMAND:VHe.default,command:VHe.default,CONFIG_GET:zHe.default,configGet:zHe.default,CONFIG_RESETASTAT:YHe.default,configResetStat:YHe.default,CONFIG_REWRITE:JHe.default,configRewrite:JHe.default,CONFIG_SET:XHe.default,configSet:XHe.default,COPY:ZHe.default,copy:ZHe.default,DBSIZE:eQe.default,dbSize:eQe.default,DECR:tQe.default,decr:tQe.default,DECRBY:rQe.default,decrBy:rQe.default,DEL:nQe.default,del:nQe.default,DELEX:sQe.default,delEx:sQe.default,DIGEST:iQe.default,digest:iQe.default,DUMP:aQe.default,dump:aQe.default,ECHO:oQe.default,echo:oQe.default,EVAL_RO:cQe.default,evalRo:cQe.default,EVAL:uQe.default,eval:uQe.default,EVALSHA_RO:lQe.default,evalShaRo:lQe.default,EVALSHA:dQe.default,evalSha:dQe.default,EXISTS:BQe.default,exists:BQe.default,EXPIRE:LQe.default,expire:LQe.default,EXPIREAT:MQe.default,expireAt:MQe.default,EXPIRETIME:WQe.default,expireTime:WQe.default,FLUSHALL:ere.default,flushAll:ere.default,FLUSHDB:$Qe.default,flushDb:$Qe.default,FCALL:FQe.default,fCall:FQe.default,FCALL_RO:UQe.default,fCallRo:UQe.default,FUNCTION_DELETE:qQe.default,functionDelete:qQe.default,FUNCTION_DUMP:jQe.default,functionDump:jQe.default,FUNCTION_FLUSH:HQe.default,functionFlush:HQe.default,FUNCTION_KILL:QQe.default,functionKill:QQe.default,FUNCTION_LIST_WITHCODE:GQe.default,functionListWithCode:GQe.default,FUNCTION_LIST:KQe.default,functionList:KQe.default,FUNCTION_LOAD:VQe.default,functionLoad:VQe.default,FUNCTION_RESTORE:zQe.default,functionRestore:zQe.default,FUNCTION_STATS:YQe.default,functionStats:YQe.default,GEOADD:fQe.default,geoAdd:fQe.default,GEODIST:pQe.default,geoDist:pQe.default,GEOHASH:mQe.default,geoHash:mQe.default,GEOPOS:hQe.default,geoPos:hQe.default,GEORADIUS_RO_WITH:gQe.default,geoRadiusRoWith:gQe.default,GEORADIUS_RO:AQe.default,geoRadiusRo:AQe.default,GEORADIUS_STORE:yQe.default,geoRadiusStore:yQe.default,GEORADIUS_WITH:xQe.default,geoRadiusWith:xQe.default,GEORADIUS:bQe.default,geoRadius:bQe.default,GEORADIUSBYMEMBER_RO_WITH:EQe.default,geoRadiusByMemberRoWith:EQe.default,GEORADIUSBYMEMBER_RO:_Qe.default,geoRadiusByMemberRo:_Qe.default,GEORADIUSBYMEMBER_STORE:SQe.default,geoRadiusByMemberStore:SQe.default,GEORADIUSBYMEMBER_WITH:vQe.default,geoRadiusByMemberWith:vQe.default,GEORADIUSBYMEMBER:IQe.default,geoRadiusByMember:IQe.default,GEOSEARCH_WITH:CQe.default,geoSearchWith:CQe.default,GEOSEARCH:TQe.default,geoSearch:TQe.default,GEOSEARCHSTORE:wQe.default,geoSearchStore:wQe.default,GET:RQe.default,get:RQe.default,GETBIT:NQe.default,getBit:NQe.default,GETDEL:OQe.default,getDel:OQe.default,GETEX:PQe.default,getEx:PQe.default,GETRANGE:kQe.default,getRange:kQe.default,GETSET:DQe.default,getSet:DQe.default,HDEL:JQe.default,hDel:JQe.default,HELLO:XQe.default,hello:XQe.default,HEXISTS:ZQe.default,hExists:ZQe.default,HEXPIRE:eGe.default,hExpire:eGe.default,HEXPIREAT:tGe.default,hExpireAt:tGe.default,HEXPIRETIME:rGe.default,hExpireTime:rGe.default,HGET:nGe.default,hGet:nGe.default,HGETALL:sGe.default,hGetAll:sGe.default,HGETDEL:iGe.default,hGetDel:iGe.default,HGETEX:aGe.default,hGetEx:aGe.default,HINCRBY:oGe.default,hIncrBy:oGe.default,HINCRBYFLOAT:cGe.default,hIncrByFloat:cGe.default,HKEYS:uGe.default,hKeys:uGe.default,HLEN:lGe.default,hLen:lGe.default,HMGET:dGe.default,hmGet:dGe.default,HPERSIST:fGe.default,hPersist:fGe.default,HPEXPIRE:pGe.default,hpExpire:pGe.default,HPEXPIREAT:mGe.default,hpExpireAt:mGe.default,HPEXPIRETIME:hGe.default,hpExpireTime:hGe.default,HPTTL:gGe.default,hpTTL:gGe.default,HRANDFIELD_COUNT_WITHVALUES:AGe.default,hRandFieldCountWithValues:AGe.default,HRANDFIELD_COUNT:yGe.default,hRandFieldCount:yGe.default,HRANDFIELD:xGe.default,hRandField:xGe.default,HSCAN:bGe.default,hScan:bGe.default,HSCAN_NOVALUES:EGe.default,hScanNoValues:EGe.default,HSET:_Ge.default,hSet:_Ge.default,HSETEX:SGe.default,hSetEx:SGe.default,HSETNX:vGe.default,hSetNX:vGe.default,HSTRLEN:IGe.default,hStrLen:IGe.default,HTTL:CGe.default,hTTL:CGe.default,HVALS:TGe.default,hVals:TGe.default,HOTKEYS_GET:wGe.default,hotkeysGet:wGe.default,HOTKEYS_RESET:RGe.default,hotkeysReset:RGe.default,HOTKEYS_START:NGe.default,hotkeysStart:NGe.default,HOTKEYS_STOP:OGe.default,hotkeysStop:OGe.default,INCR:PGe.default,incr:PGe.default,INCRBY:kGe.default,incrBy:kGe.default,INCRBYFLOAT:DGe.default,incrByFloat:DGe.default,INFO:BGe.default,info:BGe.default,KEYS:LGe.default,keys:LGe.default,LASTSAVE:MGe.default,lastSave:MGe.default,LATENCY_DOCTOR:WGe.default,latencyDoctor:WGe.default,LATENCY_GRAPH:$Ge.default,latencyGraph:$Ge.default,LATENCY_HISTORY:FGe.default,latencyHistory:FGe.default,LATENCY_HISTOGRAM:yYe.default,latencyHistogram:yYe.default,LATENCY_LATEST:UGe.default,latencyLatest:UGe.default,LATENCY_RESET:qGe.default,latencyReset:qGe.default,LCS_IDX_WITHMATCHLEN:jGe.default,lcsIdxWithMatchLen:jGe.default,LCS_IDX:HGe.default,lcsIdx:HGe.default,LCS_LEN:QGe.default,lcsLen:QGe.default,LCS:GGe.default,lcs:GGe.default,LINDEX:KGe.default,lIndex:KGe.default,LINSERT:VGe.default,lInsert:VGe.default,LLEN:zGe.default,lLen:zGe.default,LMOVE:YGe.default,lMove:YGe.default,LMPOP:JGe.default,lmPop:JGe.default,LOLWUT:Nur.default,LPOP_COUNT:XGe.default,lPopCount:XGe.default,LPOP:ZGe.default,lPop:ZGe.default,LPOS_COUNT:eKe.default,lPosCount:eKe.default,LPOS:tKe.default,lPos:tKe.default,LPUSH:rKe.default,lPush:rKe.default,LPUSHX:nKe.default,lPushX:nKe.default,LRANGE:sKe.default,lRange:sKe.default,LREM:iKe.default,lRem:iKe.default,LSET:aKe.default,lSet:aKe.default,LTRIM:oKe.default,lTrim:oKe.default,MEMORY_DOCTOR:cKe.default,memoryDoctor:cKe.default,"MEMORY_MALLOC-STATS":uKe.default,memoryMallocStats:uKe.default,MEMORY_PURGE:lKe.default,memoryPurge:lKe.default,MEMORY_STATS:dKe.default,memoryStats:dKe.default,MEMORY_USAGE:fKe.default,memoryUsage:fKe.default,MGET:pKe.default,mGet:pKe.default,MIGRATE:mKe.default,migrate:mKe.default,MODULE_LIST:hKe.default,moduleList:hKe.default,MODULE_LOAD:gKe.default,moduleLoad:gKe.default,MODULE_UNLOAD:AKe.default,moduleUnload:AKe.default,MOVE:yKe.default,move:yKe.default,MSET:xKe.default,mSet:xKe.default,MSETEX:bKe.default,mSetEx:bKe.default,MSETNX:EKe.default,mSetNX:EKe.default,OBJECT_ENCODING:_Ke.default,objectEncoding:_Ke.default,OBJECT_FREQ:SKe.default,objectFreq:SKe.default,OBJECT_IDLETIME:vKe.default,objectIdleTime:vKe.default,OBJECT_REFCOUNT:IKe.default,objectRefCount:IKe.default,PERSIST:CKe.default,persist:CKe.default,PEXPIRE:TKe.default,pExpire:TKe.default,PEXPIREAT:wKe.default,pExpireAt:wKe.default,PEXPIRETIME:RKe.default,pExpireTime:RKe.default,PFADD:NKe.default,pfAdd:NKe.default,PFCOUNT:OKe.default,pfCount:OKe.default,PFMERGE:PKe.default,pfMerge:PKe.default,PING:kKe.default,ping:kKe.default,PSETEX:DKe.default,pSetEx:DKe.default,PTTL:BKe.default,pTTL:BKe.default,PUBLISH:LKe.default,publish:LKe.default,PUBSUB_CHANNELS:MKe.default,pubSubChannels:MKe.default,PUBSUB_NUMPAT:WKe.default,pubSubNumPat:WKe.default,PUBSUB_NUMSUB:$Ke.default,pubSubNumSub:$Ke.default,PUBSUB_SHARDNUMSUB:FKe.default,pubSubShardNumSub:FKe.default,PUBSUB_SHARDCHANNELS:UKe.default,pubSubShardChannels:UKe.default,RANDOMKEY:qKe.default,randomKey:qKe.default,READONLY:jKe.default,readonly:jKe.default,RENAME:HKe.default,rename:HKe.default,RENAMENX:QKe.default,renameNX:QKe.default,REPLICAOF:GKe.default,replicaOf:GKe.default,"RESTORE-ASKING":KKe.default,restoreAsking:KKe.default,RESTORE:VKe.default,restore:VKe.default,RPOP_COUNT:YKe.default,rPopCount:YKe.default,ROLE:zKe.default,role:zKe.default,RPOP:JKe.default,rPop:JKe.default,RPOPLPUSH:XKe.default,rPopLPush:XKe.default,RPUSH:ZKe.default,rPush:ZKe.default,RPUSHX:eVe.default,rPushX:eVe.default,SADD:tVe.default,sAdd:tVe.default,SCAN:rVe.default,scan:rVe.default,SCARD:nVe.default,sCard:nVe.default,SCRIPT_DEBUG:sVe.default,scriptDebug:sVe.default,SCRIPT_EXISTS:iVe.default,scriptExists:iVe.default,SCRIPT_FLUSH:aVe.default,scriptFlush:aVe.default,SCRIPT_KILL:oVe.default,scriptKill:oVe.default,SCRIPT_LOAD:cVe.default,scriptLoad:cVe.default,SDIFF:uVe.default,sDiff:uVe.default,SDIFFSTORE:lVe.default,sDiffStore:lVe.default,SET:dVe.default,set:dVe.default,SETBIT:fVe.default,setBit:fVe.default,SETEX:pVe.default,setEx:pVe.default,SETNX:mVe.default,setNX:mVe.default,SETRANGE:hVe.default,setRange:hVe.default,SINTER:gVe.default,sInter:gVe.default,SINTERCARD:AVe.default,sInterCard:AVe.default,SINTERSTORE:yVe.default,sInterStore:yVe.default,SISMEMBER:xVe.default,sIsMember:xVe.default,SMEMBERS:bVe.default,sMembers:bVe.default,SMISMEMBER:EVe.default,smIsMember:EVe.default,SMOVE:_Ve.default,sMove:_Ve.default,SORT_RO:SVe.default,sortRo:SVe.default,SORT_STORE:vVe.default,sortStore:vVe.default,SORT:IVe.default,sort:IVe.default,SPOP_COUNT:CVe.default,sPopCount:CVe.default,SPOP:TVe.default,sPop:TVe.default,SPUBLISH:wVe.default,sPublish:wVe.default,SRANDMEMBER_COUNT:RVe.default,sRandMemberCount:RVe.default,SRANDMEMBER:NVe.default,sRandMember:NVe.default,SREM:OVe.default,sRem:OVe.default,SSCAN:PVe.default,sScan:PVe.default,STRLEN:kVe.default,strLen:kVe.default,SUNION:DVe.default,sUnion:DVe.default,SUNIONSTORE:BVe.default,sUnionStore:BVe.default,SWAPDB:LVe.default,swapDb:LVe.default,TIME:MVe.default,time:MVe.default,TOUCH:WVe.default,touch:WVe.default,TTL:$Ve.default,ttl:$Ve.default,TYPE:FVe.default,type:FVe.default,UNLINK:UVe.default,unlink:UVe.default,WAIT:qVe.default,wait:qVe.default,XACK:jVe.default,xAck:jVe.default,XACKDEL:HVe.default,xAckDel:HVe.default,XADD_NOMKSTREAM:QVe.default,xAddNoMkStream:QVe.default,XADD:GVe.default,xAdd:GVe.default,XAUTOCLAIM_JUSTID:KVe.default,xAutoClaimJustId:KVe.default,XAUTOCLAIM:VVe.default,xAutoClaim:VVe.default,XCLAIM_JUSTID:zVe.default,xClaimJustId:zVe.default,XCLAIM:YVe.default,xClaim:YVe.default,XCFGSET:JVe.default,xCfgSet:JVe.default,XDEL:XVe.default,xDel:XVe.default,XDELEX:ZVe.default,xDelEx:ZVe.default,XGROUP_CREATE:eze.default,xGroupCreate:eze.default,XGROUP_CREATECONSUMER:tze.default,xGroupCreateConsumer:tze.default,XGROUP_DELCONSUMER:rze.default,xGroupDelConsumer:rze.default,XGROUP_DESTROY:nze.default,xGroupDestroy:nze.default,XGROUP_SETID:sze.default,xGroupSetId:sze.default,XINFO_CONSUMERS:ize.default,xInfoConsumers:ize.default,XINFO_GROUPS:aze.default,xInfoGroups:aze.default,XINFO_STREAM:oze.default,xInfoStream:oze.default,XLEN:cze.default,xLen:cze.default,XPENDING_RANGE:uze.default,xPendingRange:uze.default,XPENDING:lze.default,xPending:lze.default,XRANGE:dze.default,xRange:dze.default,XREAD:fze.default,xRead:fze.default,XREADGROUP:pze.default,xReadGroup:pze.default,XREVRANGE:mze.default,xRevRange:mze.default,XSETID:hze.default,xSetId:hze.default,XTRIM:gze.default,xTrim:gze.default,ZADD_INCR:Aze.default,zAddIncr:Aze.default,ZADD:yze.default,zAdd:yze.default,ZCARD:xze.default,zCard:xze.default,ZCOUNT:bze.default,zCount:bze.default,ZDIFF_WITHSCORES:Eze.default,zDiffWithScores:Eze.default,ZDIFF:_ze.default,zDiff:_ze.default,ZDIFFSTORE:Sze.default,zDiffStore:Sze.default,ZINCRBY:vze.default,zIncrBy:vze.default,ZINTER_WITHSCORES:Ize.default,zInterWithScores:Ize.default,ZINTER:Cze.default,zInter:Cze.default,ZINTERCARD:Tze.default,zInterCard:Tze.default,ZINTERSTORE:wze.default,zInterStore:wze.default,ZLEXCOUNT:Rze.default,zLexCount:Rze.default,ZMPOP:Nze.default,zmPop:Nze.default,ZMSCORE:Oze.default,zmScore:Oze.default,ZPOPMAX_COUNT:Pze.default,zPopMaxCount:Pze.default,ZPOPMAX:kze.default,zPopMax:kze.default,ZPOPMIN_COUNT:Dze.default,zPopMinCount:Dze.default,ZPOPMIN:Bze.default,zPopMin:Bze.default,ZRANDMEMBER_COUNT_WITHSCORES:Lze.default,zRandMemberCountWithScores:Lze.default,ZRANDMEMBER_COUNT:Mze.default,zRandMemberCount:Mze.default,ZRANDMEMBER:Wze.default,zRandMember:Wze.default,ZRANGE_WITHSCORES:$ze.default,zRangeWithScores:$ze.default,ZRANGE:Fze.default,zRange:Fze.default,ZRANGEBYLEX:Uze.default,zRangeByLex:Uze.default,ZRANGEBYSCORE_WITHSCORES:qze.default,zRangeByScoreWithScores:qze.default,ZRANGEBYSCORE:jze.default,zRangeByScore:jze.default,ZRANGESTORE:Hze.default,zRangeStore:Hze.default,ZRANK_WITHSCORE:Gze.default,zRankWithScore:Gze.default,ZRANK:Kze.default,zRank:Kze.default,ZREM:Vze.default,zRem:Vze.default,ZREMRANGEBYLEX:zze.default,zRemRangeByLex:zze.default,ZREMRANGEBYRANK:Yze.default,zRemRangeByRank:Yze.default,ZREMRANGEBYSCORE:Qze.default,zRemRangeByScore:Qze.default,ZREVRANK:Jze.default,zRevRank:Jze.default,ZSCAN:Xze.default,zScan:Xze.default,ZSCORE:Zze.default,zScore:Zze.default,ZUNION_WITHSCORES:eYe.default,zUnionWithScores:eYe.default,ZUNION:tYe.default,zUnion:tYe.default,ZUNIONSTORE:rYe.default,zUnionStore:rYe.default,VADD:nYe.default,vAdd:nYe.default,VCARD:sYe.default,vCard:sYe.default,VDIM:iYe.default,vDim:iYe.default,VEMB:aYe.default,vEmb:aYe.default,VEMB_RAW:oYe.default,vEmbRaw:oYe.default,VGETATTR:cYe.default,vGetAttr:cYe.default,VINFO:uYe.default,vInfo:uYe.default,VLINKS:lYe.default,vLinks:lYe.default,VLINKS_WITHSCORES:dYe.default,vLinksWithScores:dYe.default,VRANDMEMBER:fYe.default,vRandMember:fYe.default,VRANGE:pYe.default,vRange:pYe.default,VREM:mYe.default,vRem:mYe.default,VSETATTR:hYe.default,vSetAttr:hYe.default,VSIM:gYe.default,vSim:gYe.default,VSIM_WITHSCORES:AYe.default,vSimWithScores:AYe.default};var Our=$(yu()),{HOTKEYS_GET:LJr,hotkeysGet:MJr,HOTKEYS_RESET:WJr,hotkeysReset:$Jr,HOTKEYS_START:FJr,hotkeysStart:UJr,HOTKEYS_STOP:qJr,hotkeysStop:jJr,...Pur}=Our.default;Qn.NON_STICKY_COMMANDS=Pur});var qC=E(ar=>{"use strict";var xYe=ar&&ar.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},bYe;Object.defineProperty(ar,"__esModule",{value:!0});ar.emitDiagnostics=ar.dbgMaintenance=ar.MAINTENANCE_EVENTS=ar.SMIGRATED_EVENT=void 0;var EYe=require("net"),kur=require("dns/promises"),Eb=xYe(require("node:assert")),Dur=require("node:timers/promises"),Bur=xYe(require("node:diagnostics_channel"));ar.SMIGRATED_EVENT="__SMIGRATED";ar.MAINTENANCE_EVENTS={PAUSE_WRITING:"pause-writing",RESUME_WRITING:"resume-writing",TIMEOUTS_UPDATE:"timeouts-update"};var q0={MOVING:"MOVING",MIGRATING:"MIGRATING",MIGRATED:"MIGRATED",FAILING_OVER:"FAILING_OVER",FAILED_OVER:"FAILED_OVER",SMIGRATING:"SMIGRATING",SMIGRATED:"SMIGRATED"},Lur=(...t)=>{if(process.env.REDIS_DEBUG_MAINTENANCE)return console.log(new Date().toISOString().slice(11,23),"[MNT]",...t)};ar.dbgMaintenance=Lur;var Mur=t=>{if(!process.env.REDIS_EMIT_DIAGNOSTICS)return;Bur.default.channel("redis.maintenance").publish(t)};ar.emitDiagnostics=Mur;var uL=class{#e;#t;#r=0;#n;static setupDefaultMaintOptions(e){e.maintNotifications===void 0&&(e.maintNotifications=e?.RESP===3?"auto":"disabled"),e.maintEndpointType===void 0&&(e.maintEndpointType="auto"),e.maintRelaxedSocketTimeout===void 0&&(e.maintRelaxedSocketTimeout=1e4),e.maintRelaxedCommandTimeout===void 0&&(e.maintRelaxedCommandTimeout=1e4)}static async getHandshakeCommand(e){if(e.maintNotifications==="disabled")return;let r=e.url?new URL(e.url).hostname:e.socket?.host;if(!r)return;let n=e.socket?.tls??!1;return{cmd:["CLIENT","MAINT_NOTIFICATIONS","ON","moving-endpoint-type",await $ur(n,r,e)],errorHandler:i=>{if((0,ar.dbgMaintenance)("handshake failed:",i),e.maintNotifications==="enabled")throw i}}}constructor(e,r,n){this.#e=e,this.#t=n,this.#n=r,this.#e.addPushHandler(this.#a)}#a=e=>{if((0,ar.dbgMaintenance)("ONPUSH:",e.map(String)),!Array.isArray(e)||!Object.values(q0).includes(String(e[0])))return!1;let r=String(e[0]);switch((0,ar.emitDiagnostics)({type:r,timestamp:Date.now(),data:{push:e.map(String)}}),r){case q0.MOVING:{let n=e[2],s=e[3]?String(e[3]):null;return(0,ar.dbgMaintenance)("Received MOVING:",n,s),this.#o(n,s),!0}case q0.MIGRATING:case q0.SMIGRATING:case q0.FAILING_OVER:return(0,ar.dbgMaintenance)("Received MIGRATING|SMIGRATING|FAILING_OVER"),this.#s(),!0;case q0.MIGRATED:case q0.FAILED_OVER:return(0,ar.dbgMaintenance)("Received MIGRATED|FAILED_OVER"),this.#i(),!0;case q0.SMIGRATED:return(0,ar.dbgMaintenance)("Received SMIGRATED"),this.#c(e),this.#i(),!0}return!1};#o=async(e,r)=>{this.#s();let n,s;if(r===null){(0,Eb.default)(this.#t.maintEndpointType==="none");let{host:u,port:l}=this.#l();n=u,s=l;let d=e*1e3/2;(0,ar.dbgMaintenance)(`Wait for ${d}ms`),await(0,Dur.setTimeout)(d)}else{let u=r.split(":");n=u[0],s=Number(u[1])}(0,ar.dbgMaintenance)("Pausing writing of new commands to old socket"),this.#n._pause(),(0,ar.dbgMaintenance)("Creating new tmp client");let i=performance.now();if(this.#t.url){let u=new URL(this.#t.url);u.hostname=n,u.port=String(s),this.#t.url=u.toString()}else this.#t.socket={...this.#t.socket,host:n,port:s};let a=this.#n.duplicate();a.on("error",u=>{(0,ar.dbgMaintenance)("[ERR]",u)}),(0,ar.dbgMaintenance)(`Tmp client created in ${(performance.now()-i).toFixed(2)}ms`),(0,ar.dbgMaintenance)(`Set timeout for tmp client to ${this.#t.maintRelaxedSocketTimeout}`),a._maintenanceUpdate({relaxedCommandTimeout:this.#t.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#t.maintRelaxedSocketTimeout}),(0,ar.dbgMaintenance)(`Connecting tmp client: ${n}:${s}`),i=performance.now(),await a.connect(),(0,ar.dbgMaintenance)(`Connected to tmp client in ${(performance.now()-i).toFixed(2)}ms`),(0,ar.dbgMaintenance)("Wait for all in-flight commands to complete"),await this.#e.waitForInflightCommandsToComplete(),(0,ar.dbgMaintenance)("In-flight commands completed"),(0,ar.dbgMaintenance)("Swap client sockets...");let o=this.#n._ejectSocket(),c=a._ejectSocket();this.#n._insertSocket(c),a._insertSocket(o),a.destroy(),(0,ar.dbgMaintenance)("Swap client sockets done."),(0,ar.dbgMaintenance)("Resume writing"),this.#n._unpause(),this.#i()};#s=()=>{if(this.#r++,this.#r>1){(0,ar.dbgMaintenance)("Timeout relaxation already done");return}let e={relaxedCommandTimeout:this.#t.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#t.maintRelaxedSocketTimeout};this.#n._maintenanceUpdate(e)};#i=()=>{if(this.#r=Math.max(this.#r-1,0),this.#r>0){(0,ar.dbgMaintenance)("Not ready to unrelax timeouts yet");return}let e={relaxedCommandTimeout:void 0,relaxedSocketTimeout:void 0};this.#n._maintenanceUpdate(e)};#c=e=>{let r=bYe.parseSMigratedPush(e);(0,ar.dbgMaintenance)("emit smigratedEvent",r),this.#n._handleSmigrated(r)};static parseSMigratedPush(e){let r=new Map;for(let[s,i,a]of e[2]){let o=String(s),[c,u]=String(i).split(":"),l=String(a).split(",").map(p=>{let m=p.indexOf("-");return m===-1?Number(p):[Number(p.substring(0,m)),Number(p.substring(m+1))]}),d=r.get(o)??[],f=d.find(p=>p.addr.host===c&&p.addr.port===Number(u));f?f.slots=f.slots.concat(l):d.push({addr:{host:c,port:Number(u)},slots:l}),r.set(o,d)}let n=[];for(let[s,i]of r.entries()){let[a,o]=s.split(":");n.push({source:{host:a,port:Number(o)},destinations:i})}return{seqId:e[1],entries:n}}#l(){(0,Eb.default)(this.#t.socket!==void 0),(0,Eb.default)("host"in this.#t.socket),(0,Eb.default)(typeof this.#t.socket.host=="string");let e=this.#t.socket.host;(0,Eb.default)(typeof this.#t.socket.port=="number");let r=this.#t.socket.port;return{host:e,port:r}}};bYe=uL;ar.default=uL;function Wur(t){let e=(0,EYe.isIP)(t);if(e===4){let r=t.split(".").map(Number);return r[0]===10||r[0]===172&&r[1]>=16&&r[1]<=31||r[0]===192&&r[1]===168}return e===6?t.startsWith("fc")||t.startsWith("fd")||t==="::1"||t.startsWith("fe80"):!1}async function $ur(t,e,r){if((0,Eb.default)(r.maintEndpointType!==void 0),r.maintEndpointType!=="auto")return(0,ar.dbgMaintenance)(`Determine endpoint type: ${r.maintEndpointType}`),r.maintEndpointType;let n=(0,EYe.isIP)(e)?e:(await(0,kur.lookup)(e,{family:0})).address,s=Wur(n),i;return t?i=s?"internal-fqdn":"external-fqdn":i=s?"internal-ip":"external-ip",(0,ar.dbgMaintenance)(`Determine endpoint type: ${i}`),i}});var TYe=E(jC=>{"use strict";var CYe=jC&&jC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jC,"__esModule",{value:!0});var _Ye=require("node:events"),SYe=CYe(require("node:net")),Fur=CYe(require("node:tls")),Dl=Ol(),vYe=require("node:timers/promises"),IYe=qC(),tre=class extends _Ye.EventEmitter{#e;#t;#r;#n;#a;#o;#s;#i=!1;get isOpen(){return this.#i}#c=!1;get isReady(){return this.#c}#l=!1;#h=0;get socketEpoch(){return this.#h}constructor(e,r){super(),this.#e=e,this.#t=r?.connectTimeout??5e3,this.#r=this.#p(r),this.#n=this.#d(r),this.#a=r?.socketTimeout}#p(e){let r=e?.reconnectStrategy;return r===!1||typeof r=="number"?()=>r:r?(n,s)=>{try{let i=r(n,s);if(i!==!1&&!(i instanceof Error)&&typeof i!="number")throw new TypeError(`Reconnect strategy should return \`false | Error | number\`, got ${i} instead`);return i}catch(i){return this.emit("error",i),this.defaultReconnectStrategy(n,i)}}:this.defaultReconnectStrategy}#d(e){if(e?.tls===!0){let n={...e,port:e?.port??6379,noDelay:e?.noDelay??!0,keepAlive:e?.keepAlive??!0,keepAliveInitialDelay:e?.keepAliveInitialDelay??5e3,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return Fur.default.connect(n)},event:"secureConnect"}}if(e&&"path"in e){let n={...e,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return SYe.default.createConnection(n)},event:"connect"}}let r={...e,port:e?.port??6379,noDelay:e?.noDelay??!0,keepAlive:e?.keepAlive??!0,keepAliveInitialDelay:e?.keepAliveInitialDelay??5e3,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return SYe.default.createConnection(r)},event:"connect"}}#f(e,r){let n=this.#r(e,r);return n===!1?(this.#i=!1,this.emit("error",r),r):n instanceof Error?(this.#i=!1,this.emit("error",r),new Dl.ReconnectStrategyError(n,r)):n}async connect(){if(this.#i)throw new Error("Socket already opened");return this.#i=!0,this.#m()}async#m(){let e=0;do try{this.#s=await this.#y(),this.emit("connect");try{if(await this.#e(),!this.#s||this.#s.destroyed||!this.#s.readable||!this.#s.writable){let r=this.#f(e++,new Dl.SocketClosedUnexpectedlyError);if(typeof r!="number")throw r;await(0,vYe.setTimeout)(r),this.emit("reconnecting");continue}}catch(r){throw this.#s.destroy(),this.#s=void 0,r}this.#c=!0,this.#h++,this.emit("ready")}catch(r){let n=this.#f(e++,r);if(typeof n!="number")throw n;this.emit("error",r),await(0,vYe.setTimeout)(n),this.emit("reconnecting")}while(this.#i&&!this.#c)}setMaintenanceTimeout(e){if((0,IYe.dbgMaintenance)(`Set socket timeout to ${e}`),this.#o===e){(0,IYe.dbgMaintenance)(`Socket already set maintenanceCommandTimeout to ${e}, skipping`);return}this.#o=e,e!==void 0?this.#s?.setTimeout(e):this.#s?.setTimeout(this.#a??0)}async#y(){let e=this.#n.create(),r;return this.#t!==void 0&&(r=()=>e.destroy(new Dl.ConnectionTimeoutError),e.once("timeout",r),e.setTimeout(this.#t)),this.#l&&e.unref(),await(0,_Ye.once)(e,this.#n.event),r&&e.removeListener("timeout",r),this.#a&&(e.once("timeout",()=>{let n=this.#o?new Dl.SocketTimeoutDuringMaintenanceError(this.#o):new Dl.SocketTimeoutError(this.#a);e.destroy(n)}),e.setTimeout(this.#a)),e.once("error",n=>this.#g(n)).once("close",n=>{n||!this.#i||this.#s!==e||this.#g(new Dl.SocketClosedUnexpectedlyError)}).on("drain",()=>this.emit("drain")).on("data",n=>this.emit("data",n)),e}#g(e){let r=this.#c;this.#c=!1,this.emit("error",e),!(!r||!this.#i||typeof this.#f(0,e)!="number")&&(this.emit("reconnecting"),this.#m().catch(()=>{}))}write(e){if(this.#s){this.#s.cork();for(let r of e){for(let n of r)this.#s.write(n);if(this.#s.writableNeedDrain)break}this.#s.uncork()}}async quit(e){if(!this.#i)throw new Dl.ClientClosedError;this.#i=!1;let r=await e();return this.destroySocket(),r}close(){if(!this.#i)throw new Dl.ClientClosedError;this.#i=!1}destroy(){if(!this.#i)throw new Dl.ClientClosedError;this.#i=!1,this.destroySocket()}destroySocket(){this.#c=!1,this.#s&&(this.#s.destroy(),this.#s=void 0),this.emit("end")}ref(){this.#l=!1,this.#s?.ref()}unref(){this.#l=!0,this.#s?.unref()}defaultReconnectStrategy(e,r){if(r instanceof Dl.SocketTimeoutError)return!1;let n=Math.floor(Math.random()*200);return Math.min(Math.pow(2,e)*50,2e3)+n}};jC.default=tre});var nre=E(lL=>{"use strict";Object.defineProperty(lL,"__esModule",{value:!0});lL.Token=void 0;var rre=class{value;expiresAtMs;receivedAtMs;constructor(e,r,n){this.value=e,this.expiresAtMs=r,this.receivedAtMs=n}getTtlMs(e){return this.expiresAtMs<e?0:this.expiresAtMs-e}};lL.Token=rre});var wYe=E(_b=>{"use strict";Object.defineProperty(_b,"__esModule",{value:!0});_b.TokenManager=_b.IDPError=void 0;var Uur=nre(),dL=class extends Error{message;isRetryable;constructor(e,r){super(e),this.message=e,this.isRetryable=r,this.name="IDPError"}};_b.IDPError=dL;var sre=class{identityProvider;config;currentToken=null;refreshTimeout=null;listener=null;retryAttempt=0;constructor(e,r){if(this.identityProvider=e,this.config=r,this.config.expirationRefreshRatio>1)throw new Error("expirationRefreshRatio must be less than or equal to 1");if(this.config.expirationRefreshRatio<0)throw new Error("expirationRefreshRatio must be greater or equal to 0")}start(e,r=0){return this.listener&&this.stop(),this.listener=e,this.retryAttempt=0,this.scheduleNextRefresh(r),{dispose:()=>this.stop()}}calculateRetryDelay(){if(!this.config.retry)return 0;let{initialDelayMs:e,maxDelayMs:r,backoffMultiplier:n,jitterPercentage:s}=this.config.retry,i=e*Math.pow(n,this.retryAttempt-1);if(i=Math.min(i,r),s){let o=i*(s/100),c=Math.random()*o-o/2;i+=c}return Math.max(0,Math.floor(i))}shouldRetry(e){if(!this.config.retry)return!1;let{maxAttempts:r,isRetryable:n}=this.config.retry;return this.retryAttempt>=r?!1:n?n(e,this.retryAttempt):!1}isRunning(){return this.listener!==null}async refresh(){if(!this.listener)throw new Error("TokenManager is not running, but refresh was called");try{await this.identityProvider.requestToken().then(this.handleNewToken),this.retryAttempt=0}catch(e){if(this.shouldRetry(e)){this.retryAttempt++;let r=this.calculateRetryDelay();this.notifyError(`Token refresh failed (attempt ${this.retryAttempt}), retrying in ${r}ms: ${e}`,!0),this.scheduleNextRefresh(r)}else this.notifyError(e,!1),this.stop()}}handleNewToken=async({token:e,ttlMs:r})=>{if(!this.listener)throw new Error("TokenManager is not running, but a new token was received");let n=this.wrapAndSetCurrentToken(e,r);this.listener.onNext(n),this.scheduleNextRefresh(this.calculateRefreshTime(n))};wrapAndSetCurrentToken(e,r){let n=Date.now(),s=new Uur.Token(e,n+r,n);return this.currentToken=s,s}scheduleNextRefresh(e){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null),e===0?this.refresh():this.refreshTimeout=setTimeout(()=>this.refresh(),e)}calculateRefreshTime(e,r=Date.now()){let n=e.getTtlMs(r);return Math.floor(n*this.config.expirationRefreshRatio)}stop(){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null),this.listener=null,this.currentToken=null,this.retryAttempt=0}getCurrentToken(){return this.currentToken}notifyError(e,r){let n=e instanceof Error?e.message:String(e);if(!this.listener)throw new Error(`TokenManager is not running but received an error: ${n}`);this.listener.onError(new dL(n,r))}};_b.TokenManager=sre});var RYe=E(Sb=>{"use strict";Object.defineProperty(Sb,"__esModule",{value:!0});Sb.UnableToObtainNewCredentialsError=Sb.CredentialsError=void 0;var ire=class extends Error{constructor(e){super(`Re-authentication with latest credentials failed: ${e}`),this.name="CredentialsError"}};Sb.CredentialsError=ire;var are=class extends Error{constructor(e){super(`Unable to obtain new credentials : ${e}`),this.name="UnableToObtainNewCredentialsError"}};Sb.UnableToObtainNewCredentialsError=are});var PYe=E(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.Token=Tc.CredentialsError=Tc.UnableToObtainNewCredentialsError=Tc.IDPError=Tc.TokenManager=void 0;var NYe=wYe();Object.defineProperty(Tc,"TokenManager",{enumerable:!0,get:function(){return NYe.TokenManager}});Object.defineProperty(Tc,"IDPError",{enumerable:!0,get:function(){return NYe.IDPError}});var OYe=RYe();Object.defineProperty(Tc,"UnableToObtainNewCredentialsError",{enumerable:!0,get:function(){return OYe.UnableToObtainNewCredentialsError}});Object.defineProperty(Tc,"CredentialsError",{enumerable:!0,get:function(){return OYe.CredentialsError}});var qur=nre();Object.defineProperty(Tc,"Token",{enumerable:!0,get:function(){return qur.Token}})});var pL=E(Bl=>{"use strict";var jur=Bl&&Bl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Bl,"__esModule",{value:!0});Bl.EmptyAwareSinglyLinkedList=Bl.SinglyLinkedList=Bl.DoublyLinkedList=void 0;var Hur=jur(require("events")),ore=class{#e=0;get length(){return this.#e}#t;get head(){return this.#t}#r;get tail(){return this.#r}push(e){return++this.#e,this.#r===void 0?this.#t=this.#r={previous:this.#t,next:void 0,value:e}:this.#r=this.#r.next={previous:this.#r,next:void 0,value:e}}unshift(e){return++this.#e,this.#t===void 0?this.#t=this.#r={previous:void 0,next:void 0,value:e}:this.#t=this.#t.previous={previous:void 0,next:this.#t,value:e}}add(e,r=!1){return r?this.unshift(e):this.push(e)}shift(){if(this.#t===void 0)return;--this.#e;let e=this.#t;return e.next?(e.next.previous=void 0,this.#t=e.next,e.next=void 0):this.#t=this.#r=void 0,e.value}remove(e){this.#e!==0&&(--this.#e,this.#r===e&&(this.#r=e.previous),this.#t===e?this.#t=e.next:(e.previous&&(e.previous.next=e.next),e.next&&(e.next.previous=e.previous)),e.previous=void 0,e.next=void 0)}reset(){this.#e=0,this.#t=this.#r=void 0}*[Symbol.iterator](){let e=this.#t;for(;e!==void 0;)yield e.value,e=e.next}*nodes(){let e=this.#t;for(;e;){let r=e.next;yield e,e=r}}};Bl.DoublyLinkedList=ore;var fL=class{#e=0;get length(){return this.#e}#t;get head(){return this.#t}#r;get tail(){return this.#r}push(e){++this.#e;let r={value:e,next:void 0,removed:!1};return this.#t===void 0?this.#t=this.#r=r:this.#r.next=this.#r=r}remove(e,r){if(e.removed)throw new Error("node already removed");--this.#e,this.#t===e?this.#r===e?this.#t=this.#r=void 0:this.#t=e.next:this.#r===e?(this.#r=r,r.next=void 0):r.next=e.next,e.removed=!0}shift(){if(this.#t===void 0)return;let e=this.#t;return--this.#e===0?this.#t=this.#r=void 0:this.#t=e.next,e.removed=!0,e.value}reset(){this.#e=0,this.#t=this.#r=void 0}*[Symbol.iterator](){let e=this.#t;for(;e!==void 0;)yield e.value,e=e.next}};Bl.SinglyLinkedList=fL;var cre=class extends fL{events=new Hur.default;reset(){let e=this.length;super.reset(),e!==this.length&&this.length===0&&this.events.emit("empty")}shift(){let e=this.length,r=super.shift();return e!==this.length&&this.length===0&&this.events.emit("empty"),r}remove(e,r){let n=this.length;super.remove(e,r),n!==this.length&&this.length===0&&this.events.emit("empty")}};Bl.EmptyAwareSinglyLinkedList=cre});var kYe=E(ure=>{"use strict";Object.defineProperty(ure,"__esModule",{value:!0});var HC=`\r
|
|
`;function Qur(t){let e=[],r="*"+t.length+HC;for(let n=0;n<t.length;n++){let s=t[n];if(typeof s=="string")r+="$"+Buffer.byteLength(s)+HC+s+HC;else if(s instanceof Buffer)e.push(r+"$"+s.length.toString()+HC,s),r=HC;else throw new TypeError(`"arguments[${n}]" must be of type "string | Buffer", got ${typeof s} instead.`)}return e.push(r),e}ure.default=Qur});var dre=E((ZJr,lre)=>{var DYe=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920],Gur=function(e){for(var r,n=0,s=0,i=[],a=e.length;n<a;n++)r=e.charCodeAt(n),r<128?i[s++]=r:r<2048?(i[s++]=r>>6|192,i[s++]=r&63|128):(r&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(r=65536+((r&1023)<<10)+(e.charCodeAt(++n)&1023),i[s++]=r>>18|240,i[s++]=r>>12&63|128,i[s++]=r>>6&63|128,i[s++]=r&63|128):(i[s++]=r>>12|224,i[s++]=r>>6&63|128,i[s++]=r&63|128);return i},BYe=lre.exports=function(e){for(var r,n=0,s=-1,i=0,a=0,o=typeof e=="string"?Gur(e):e,c=o.length;n<c;){if(r=o[n++],s===-1)r===123&&(s=n);else if(r!==125)a=DYe[(r^a>>8)&255]^a<<8;else if(n-1!==s)return a&16383;i=DYe[(r^i>>8)&255]^i<<8}return i&16383};lre.exports.generateMulti=function(e){for(var r=1,n=e.length,s=BYe(e[0]);r<n;)if(BYe(e[r++])!==s)return-1;return s}});var QC=E(kt=>{"use strict";var Kur=kt&&kt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kt,"__esModule",{value:!0});kt.PubSub=kt.PUBSUB_TYPE=void 0;var Vur=Kur(dre());kt.PUBSUB_TYPE={CHANNELS:"CHANNELS",PATTERNS:"PATTERNS",SHARDED:"SHARDED"};var bi={[kt.PUBSUB_TYPE.CHANNELS]:{subscribe:Buffer.from("subscribe"),unsubscribe:Buffer.from("unsubscribe"),message:Buffer.from("message")},[kt.PUBSUB_TYPE.PATTERNS]:{subscribe:Buffer.from("psubscribe"),unsubscribe:Buffer.from("punsubscribe"),message:Buffer.from("pmessage")},[kt.PUBSUB_TYPE.SHARDED]:{subscribe:Buffer.from("ssubscribe"),unsubscribe:Buffer.from("sunsubscribe"),message:Buffer.from("smessage")}},fre=class t{static isStatusReply(e){let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];return bi[kt.PUBSUB_TYPE.CHANNELS].subscribe.equals(r)||bi[kt.PUBSUB_TYPE.CHANNELS].unsubscribe.equals(r)||bi[kt.PUBSUB_TYPE.PATTERNS].subscribe.equals(r)||bi[kt.PUBSUB_TYPE.PATTERNS].unsubscribe.equals(r)||bi[kt.PUBSUB_TYPE.SHARDED].subscribe.equals(r)}static isShardedUnsubscribe(e){let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];return bi[kt.PUBSUB_TYPE.SHARDED].unsubscribe.equals(r)}static#e(e){return Array.isArray(e)?e:[e]}static#t(e,r){return r?e.buffers:e.strings}#r=0;#n=!1;get isActive(){return this.#n}listeners={[kt.PUBSUB_TYPE.CHANNELS]:new Map,[kt.PUBSUB_TYPE.PATTERNS]:new Map,[kt.PUBSUB_TYPE.SHARDED]:new Map};subscribe(e,r,n,s){let i=[bi[e].subscribe],a=t.#e(r);for(let o of a){let c=this.listeners[e].get(o);(!c||c.unsubscribing)&&i.push(o)}if(i.length===1){for(let o of a)t.#t(this.listeners[e].get(o),s).add(n);return}return this.#n=!0,this.#r++,{args:i,channelsCounter:i.length-1,resolve:()=>{this.#r--;for(let o of a){let c=this.listeners[e].get(o);c||(c={unsubscribing:!1,buffers:new Set,strings:new Set},this.listeners[e].set(o,c)),t.#t(c,s).add(n)}},reject:()=>{this.#r--,this.#s()}}}extendChannelListeners(e,r,n){if(this.#a(e,r,n))return this.#n=!0,this.#r++,{args:[bi[e].subscribe,r],channelsCounter:1,resolve:()=>this.#r--,reject:()=>{this.#r--,this.#s()}}}#a(e,r,n){let s=this.listeners[e].get(r);if(!s)return this.listeners[e].set(r,n),!0;for(let i of n.buffers)s.buffers.add(i);for(let i of n.strings)s.strings.add(i);return!1}extendTypeListeners(e,r){let n=[bi[e].subscribe];for(let[s,i]of r)this.#a(e,s,i)&&n.push(s);if(n.length!==1)return this.#n=!0,this.#r++,{args:n,channelsCounter:n.length-1,resolve:()=>this.#r--,reject:()=>{this.#r--,this.#s()}}}unsubscribe(e,r,n,s){let i=this.listeners[e];if(!r)return this.#o([bi[e].unsubscribe],NaN,()=>i.clear());let a=t.#e(r);if(!n)return this.#o([bi[e].unsubscribe,...a],a.length,()=>{for(let c of a)i.delete(c)});let o=[bi[e].unsubscribe];for(let c of a){let u=i.get(c);if(u){let l,d;if(s?(l=u.buffers,d=u.strings):(l=u.strings,d=u.buffers),(l.has(n)?l.size-1:l.size)!==0||d.size!==0)continue;u.unsubscribing=!0}o.push(c)}if(o.length===1){for(let c of a)t.#t(i.get(c),s).delete(n);return}return this.#o(o,o.length-1,()=>{for(let c of a){let u=i.get(c);u&&((s?u.buffers:u.strings).delete(n),u.buffers.size===0&&u.strings.size===0&&i.delete(c))}})}#o(e,r,n){return{args:e,channelsCounter:r,resolve:()=>{n(),this.#s()},reject:void 0}}#s(){this.#n=this.listeners[kt.PUBSUB_TYPE.CHANNELS].size!==0||this.listeners[kt.PUBSUB_TYPE.PATTERNS].size!==0||this.listeners[kt.PUBSUB_TYPE.SHARDED].size!==0||this.#r!==0}reset(){this.#n=!1,this.#r=0}resubscribe(){let e=[];for(let[r,n]of Object.entries(this.listeners))n.size&&(this.#n=!0,r===kt.PUBSUB_TYPE.SHARDED?this.#c(e,n):this.#i(e,r,n));return e}#i(e,r,n){this.#r++;let s=()=>this.#r--;e.push({args:[bi[r].subscribe,...n.keys()],channelsCounter:n.size,resolve:s,reject:s})}#c(e,r){let n=()=>this.#r--;for(let s of r.keys())this.#r++,e.push({args:[bi[kt.PUBSUB_TYPE.SHARDED].subscribe,s],channelsCounter:1,resolve:n,reject:n})}handleMessageReply(e){let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];return bi[kt.PUBSUB_TYPE.CHANNELS].message.equals(r)?(this.#l(kt.PUBSUB_TYPE.CHANNELS,e[2],e[1]),!0):bi[kt.PUBSUB_TYPE.PATTERNS].message.equals(r)?(this.#l(kt.PUBSUB_TYPE.PATTERNS,e[3],e[2],e[1]),!0):bi[kt.PUBSUB_TYPE.SHARDED].message.equals(r)?(this.#l(kt.PUBSUB_TYPE.SHARDED,e[2],e[1]),!0):!1}removeShardedListeners(e){let r=this.listeners[kt.PUBSUB_TYPE.SHARDED].get(e);return this.listeners[kt.PUBSUB_TYPE.SHARDED].delete(e),this.#s(),r}removeAllListeners(){let e={[kt.PUBSUB_TYPE.CHANNELS]:this.listeners[kt.PUBSUB_TYPE.CHANNELS],[kt.PUBSUB_TYPE.PATTERNS]:this.listeners[kt.PUBSUB_TYPE.PATTERNS],[kt.PUBSUB_TYPE.SHARDED]:this.listeners[kt.PUBSUB_TYPE.SHARDED]};return this.#s(),this.listeners[kt.PUBSUB_TYPE.CHANNELS]=new Map,this.listeners[kt.PUBSUB_TYPE.PATTERNS]=new Map,this.listeners[kt.PUBSUB_TYPE.SHARDED]=new Map,e}removeShardedPubSubListenersForSlots(e){let r=new Map;for(let[n,s]of this.listeners[kt.PUBSUB_TYPE.SHARDED])e.has((0,Vur.default)(n))&&(r.set(n,s),this.listeners[kt.PUBSUB_TYPE.SHARDED].delete(n));return this.#s(),{[kt.PUBSUB_TYPE.SHARDED]:r}}#l(e,r,n,s){let i=(s??n).toString(),a=this.listeners[e].get(i);if(!a)return;for(let u of a.buffers)u(r,n);if(!a.strings.size)return;let o=s?n.toString():i,c=o==="__redis__:invalidate"?r===null?null:r.map(u=>u.toString()):r.toString();for(let u of a.strings)u(c,o)}};kt.PubSub=fre});var MYe=E(KC=>{"use strict";var zur=KC&&KC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(KC,"__esModule",{value:!0});var LYe=pL(),Yur=zur(kYe()),GC=eL(),pre=QC(),vb=Ol(),Ib=qC(),Jur=Buffer.from("pong"),Xur=Buffer.from("RESET"),Zur={...GC.PUSH_TYPE_MAPPING,[GC.RESP_TYPES.SIMPLE_STRING]:Buffer},mre=class t{#e;#t;#r=new LYe.DoublyLinkedList;#n=new LYe.EmptyAwareSinglyLinkedList;#a;#o;decoder;#s=new pre.PubSub;#i=[this.#p.bind(this)];#c;setMaintenanceCommandTimeout(e){if(this.#c===e){(0,Ib.dbgMaintenance)(`Queue already set maintenanceCommandTimeout to ${e}, skipping`);return}if((0,Ib.dbgMaintenance)(`Setting maintenance command timeout to ${e}`),this.#c=e,this.#c===void 0){(0,Ib.dbgMaintenance)("Queue will keep maintenanceCommandTimeout for exisitng commands, just to be on the safe side. New commands will receive normal timeouts");return}let r=0,n=this.#r.length;for(let s of this.#r.nodes()){let i=s.value;t.#I(i),r++;let a=this.#c,o=AbortSignal.timeout(a);i.timeout={signal:o,listener:()=>{this.#r.remove(s),i.reject(new vb.CommandTimeoutDuringMaintenanceError(a))},originalTimeout:i.timeout?.originalTimeout},o.addEventListener("abort",i.timeout.listener,{once:!0})}(0,Ib.dbgMaintenance)(`Total of ${r} of ${n} timeouts reset to ${e}`)}get isPubSubActive(){return this.#s.isActive}constructor(e,r,n){this.#e=e,this.#t=r,this.#a=n,this.decoder=this.#f()}#l(e){this.#n.shift().resolve(e)}#h(e){this.#n.shift().reject(e)}#p(e){if(this.#s.handleMessageReply(e))return!0;let r=pre.PubSub.isShardedUnsubscribe(e);if(r&&!this.#n.length){let n=e[1].toString();return this.#a(n,this.#s.removeShardedListeners(n)),!0}else if(r||pre.PubSub.isStatusReply(e)){let n=this.#n.head.value;return(Number.isNaN(n.channelsCounter)&&e[2]===0||--n.channelsCounter===0)&&this.#n.shift().resolve(),!0}return!1}#d(){return this.#n.head.value.typeMapping??{}}#f(){return new GC.Decoder({onReply:e=>this.#l(e),onErrorReply:e=>this.#h(e),onPush:e=>{for(let r of this.#i)if(r(e))return},getTypeMapping:()=>this.#d()})}addPushHandler(e){this.#i.push(e)}async waitForInflightCommandsToComplete(e){if(this.#n.length!==0)return new Promise(r=>{let n=()=>{s&&clearTimeout(s),r()},s,i=e?.timeoutMs;i!==void 0&&i>0&&(s=setTimeout(()=>{this.#n.events.off("empty",n);let a=this.#n.length;(0,Ib.dbgMaintenance)(`waitForInflightCommandsToComplete timed out after ${i}ms with ${a} commands still waiting`),e?.flushOnTimeout&&a>0&&((0,Ib.dbgMaintenance)(`Flushing ${a} commands that timed out waiting for reply`),this.#S(new vb.TimeoutError)),r()},i)),this.#n.events.once("empty",n)})}addCommand(e,r){return this.#t&&this.#r.length+this.#n.length>=this.#t?Promise.reject(new Error("The queue is full")):r?.abortSignal?.aborted?Promise.reject(new vb.AbortError):new Promise((n,s)=>{let i,a={args:e,chainId:r?.chainId,abort:void 0,timeout:void 0,resolve:n,reject:s,channelsCounter:void 0,typeMapping:r?.typeMapping};a.slotNumber=r?.slotNumber;let o=this.#c??r?.timeout,c=this.#c!==void 0;if(o){let l=AbortSignal.timeout(o);a.timeout={signal:l,listener:()=>{this.#r.remove(i),a.reject(c?new vb.CommandTimeoutDuringMaintenanceError(o):new vb.TimeoutError)},originalTimeout:r?.timeout},l.addEventListener("abort",a.timeout.listener,{once:!0})}let u=r?.abortSignal;u&&(a.abort={signal:u,listener:()=>{this.#r.remove(i),a.reject(new vb.AbortError)}},u.addEventListener("abort",a.abort.listener,{once:!0})),i=this.#r.add(a,r?.asap)})}#m(e,r=!1,n){return new Promise((s,i)=>{this.#r.add({args:e.args,chainId:n,abort:void 0,timeout:void 0,resolve(){e.resolve(),s()},reject(a){e.reject?.(),i(a)},channelsCounter:e.channelsCounter,typeMapping:GC.PUSH_TYPE_MAPPING},r)})}#y(){this.#e===2&&(this.decoder.onReply=e=>{if(Array.isArray(e)){if(this.#p(e))return;let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];if(Jur.equals(r)){let{resolve:n,typeMapping:s}=this.#n.shift(),i=e[1].length===0?e[0]:e[1];n(s?.[GC.RESP_TYPES.SIMPLE_STRING]===Buffer?i:i.toString());return}}return this.#l(e)},this.decoder.getTypeMapping=()=>Zur)}subscribe(e,r,n,s){let i=this.#s.subscribe(e,r,n,s);if(i)return this.#y(),this.#m(i)}#g(){this.decoder.onReply=e=>this.#l(e),this.decoder.getTypeMapping=()=>this.#d()}unsubscribe(e,r,n,s){let i=this.#s.unsubscribe(e,r,n,s);if(i){if(i&&this.#e===2){let{resolve:a}=i;i.resolve=()=>{this.#s.isActive||this.#g(),a()}}return this.#m(i)}}removeAllPubSubListeners(){return this.#s.removeAllListeners()}removeShardedPubSubListenersForSlots(e){return this.#s.removeShardedPubSubListenersForSlots(e)}resubscribe(e){let r=this.#s.resubscribe();if(r.length)return this.#y(),Promise.all(r.map(n=>this.#m(n,!0,e)))}extendPubSubChannelListeners(e,r,n){let s=this.#s.extendChannelListeners(e,r,n);if(s)return this.#y(),this.#m(s)}extendPubSubListeners(e,r){let n=this.#s.extendTypeListeners(e,r);if(n)return this.#y(),this.#m(n)}getPubSubListeners(e){return this.#s.listeners[e]}monitor(e,r){return new Promise((n,s)=>{let i=r?.typeMapping??{};this.#r.add({args:["MONITOR"],chainId:r?.chainId,abort:void 0,timeout:void 0,resolve:()=>{this.#E?this.#E=e:this.decoder.onReply=e,this.decoder.getTypeMapping=()=>i,n()},reject:s,channelsCounter:void 0,typeMapping:i},r?.asap)})}resetDecoder(){this.#g(),this.decoder.reset()}#E;async reset(e,r){return new Promise((n,s)=>{this.#E=this.decoder.onReply,this.decoder.onReply=i=>{if(typeof i=="string"&&i==="RESET"||i instanceof Buffer&&Xur.equals(i)){this.#g(),this.#E=void 0,this.#s.reset(),this.#n.shift().resolve(i);return}this.#E(i)},this.#r.push({args:["RESET"],chainId:e,abort:void 0,timeout:void 0,resolve:n,reject:s,channelsCounter:void 0,typeMapping:r})})}isWaitingToWrite(){return this.#r.length>0}*commandsToWrite(){let e=this.#r.shift();for(;e;){let r;try{r=(0,Yur.default)(e.args)}catch(n){e.reject(n),e=this.#r.shift();continue}e.args=void 0,e.abort&&(t.#A(e),e.abort=void 0),e.timeout&&(t.#I(e),e.timeout=void 0),this.#o=e.chainId,e.chainId=void 0,this.#n.push(e),yield r,e=this.#r.shift()}}#S(e){for(let r of this.#n)r.reject(e);this.#n.reset()}static#A(e){e.abort.signal.removeEventListener("abort",e.abort.listener)}static#I(e){e.timeout?.signal.removeEventListener("abort",e.timeout.listener)}static#_(e,r){e.abort&&t.#A(e),e.timeout&&t.#I(e),e.reject(r)}flushWaitingForReply(e){if(this.resetDecoder(),this.#s.reset(),this.#S(e),!!this.#o){for(;this.#r.head?.value.chainId===this.#o;)t.#_(this.#r.shift(),e);this.#o=void 0}}flushAll(e){this.resetDecoder(),this.#s.reset(),this.#S(e);for(let r of this.#r)t.#_(r,e);this.#r.reset()}isEmpty(){return this.#r.length===0&&this.#n.length===0}extractCommandsForSlots(e){let r=[],n=this.#r.head;for(;n!==void 0;)if(n.value.slotNumber!==void 0&&e.has(n.value.slotNumber)){r.push(n.value);let s=n;n=n.next,this.#r.remove(s)}else n=n.next;return r}extractAllCommands(){let e=[],r=this.#r.head;for(;r;)e.push(r.value),this.#r.remove(r),r=r.next;return e}prependCommandsToWrite(e){if(e.length)for(let r=e.length-1;r>=0;r--)this.#r.unshift(e[r])}};KC.default=mre});var Ml=E(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});Ll.scriptArgumentsPrefix=Ll.functionArgumentsPrefix=Ll.getTransformReply=Ll.attachConfig=void 0;function WYe(){throw new Error("Some RESP3 results for Redis Query Engine responses may change. Refer to the readme for guidance")}function elr({BaseClass:t,commands:e,createCommand:r,createModuleCommand:n,createFunctionCommand:s,createScriptCommand:i,config:a}){let o=a?.RESP??2,c=class extends t{};for(let[u,l]of Object.entries(e))a?.RESP==3&&l.unstableResp3&&!a.unstableResp3?c.prototype[u]=WYe:c.prototype[u]=r(l,o);if(a?.modules)for(let[u,l]of Object.entries(a.modules)){let d=Object.create(null);for(let[f,p]of Object.entries(l))a.RESP==3&&p.unstableResp3&&!a.unstableResp3?d[f]=WYe:d[f]=n(p,o);$Ye(c.prototype,u,d)}if(a?.functions)for(let[u,l]of Object.entries(a.functions)){let d=Object.create(null);for(let[f,p]of Object.entries(l))d[f]=s(f,p,o);$Ye(c.prototype,u,d)}if(a?.scripts)for(let[u,l]of Object.entries(a.scripts))c.prototype[u]=i(l,o);return c}Ll.attachConfig=elr;function $Ye(t,e,r){Object.defineProperty(t,e,{get(){let n=Object.create(r);return n._self=this,Object.defineProperty(this,e,{value:n}),n}})}function tlr(t,e){switch(typeof t.transformReply){case"function":return t.transformReply;case"object":return t.transformReply[e]}}Ll.getTransformReply=tlr;function rlr(t,e){let r=[e.IS_READ_ONLY?"FCALL_RO":"FCALL",t];return e.NUMBER_OF_KEYS!==void 0&&r.push(e.NUMBER_OF_KEYS.toString()),r}Ll.functionArgumentsPrefix=rlr;function nlr(t){let e=[t.IS_READ_ONLY?"EVALSHA_RO":"EVALSHA",t.SHA1];return t.NUMBER_OF_KEYS!==void 0&&e.push(t.NUMBER_OF_KEYS.toString()),e}Ll.scriptArgumentsPrefix=nlr});var VC=E(gre=>{"use strict";Object.defineProperty(gre,"__esModule",{value:!0});var FYe=Ol(),hre=class{typeMapping;constructor(e){this.typeMapping=e}queue=[];scriptsInUse=new Set;addCommand(e,r){this.queue.push({args:e,transformReply:r})}addScript(e,r,n){let s=[];s.preserve=r.preserve,this.scriptsInUse.has(e.SHA1)?s.push("EVALSHA",e.SHA1):(this.scriptsInUse.add(e.SHA1),s.push("EVAL",e.SCRIPT)),e.NUMBER_OF_KEYS!==void 0&&s.push(e.NUMBER_OF_KEYS.toString()),s.push(...r),this.addCommand(s,n)}transformReplies(e){let r=[],n=e.map((s,i)=>{if(s instanceof FYe.ErrorReply)return r.push(i),s;let{transformReply:a,args:o}=this.queue[i];return a?a(s,o.preserve,this.typeMapping):s});if(r.length)throw new FYe.MultiErrorReply(n,r);return n}};gre.default=hre});var yre=E(zC=>{"use strict";var UYe=zC&&zC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(zC,"__esModule",{value:!0});var slr=UYe(yu()),ilr=UYe(VC()),Cb=Ml(),mL=Pl(),Are=class t{static#e(e,r){let n=(0,Cb.getTransformReply)(e,r);return function(...s){let i=new mL.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.addCommand(a,n)}}static#t(e,r){let n=(0,Cb.getTransformReply)(e,r);return function(...s){let i=new mL.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this._self.addCommand(a,n)}}static#r(e,r,n){let s=(0,Cb.functionArgumentsPrefix)(e,r),i=(0,Cb.getTransformReply)(r,n);return function(...a){let o=new mL.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;return c.preserve=o.preserve,this._self.addCommand(c,i)}}static#n(e,r){let n=(0,Cb.getTransformReply)(e,r);return function(...s){let i=new mL.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.#c(e,a,n)}}static extend(e){return(0,Cb.attachConfig)({BaseClass:t,commands:slr.default,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e})}#a;#o;#s;#i;constructor(e,r,n){this.#a=new ilr.default(n),this.#o=e,this.#s=r}SELECT(e,r){return this.#i=e,this.#a.addCommand(["SELECT",e.toString()],r),this}select=this.SELECT;addCommand(e,r){return this.#a.addCommand(e,r),this}#c(e,r,n){return this.#a.addScript(e,r,n),this}async exec(e=!1){return e?this.execAsPipeline():this.#a.transformReplies(await this.#o(this.#a.queue,this.#i))}EXEC=this.exec;execTyped(e=!1){return this.exec(e)}async execAsPipeline(){return this.#a.queue.length===0?[]:this.#a.transformReplies(await this.#s(this.#a.queue,this.#i))}execAsPipelineTyped(){return this.execAsPipeline()}};zC.default=Are});var HYe=E(wb=>{"use strict";var qYe=wb&&wb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wb,"__esModule",{value:!0});wb.RedisLegacyClient=void 0;var alr=Ml(),jYe=qYe(yu()),olr=qYe(VC()),Tb=class t{static#e(e,r){let n;return typeof r[r.length-1]=="function"&&(n=r.pop()),t.pushArguments(e,r),n}static pushArguments(e,r){for(let n=0;n<r.length;++n){let s=r[n];Array.isArray(s)?t.pushArguments(e,s):e.push(typeof s=="number"||s instanceof Date?s.toString():s)}}static getTransformReply(e,r){return e.TRANSFORM_LEGACY_REPLY?(0,alr.getTransformReply)(e,r):void 0}static#t(e,r,n){let s=t.getTransformReply(r,n);return function(...i){let a=[e],o=t.#e(a,i),c=this.#r.sendCommand(a);if(!o){c.catch(u=>this.#r.emit("error",u));return}c.then(u=>o(null,s?s(u):u)).catch(u=>o(u))}}#r;#n;constructor(e){this.#r=e;let r=e.options?.RESP??2;for(let[n,s]of Object.entries(jYe.default))this[n]=t.#t(n,s,r);this.#n=xre.factory(r)}sendCommand(...e){let r=[],n=t.#e(r,e),s=this.#r.sendCommand(r);if(!n){s.catch(i=>this.#r.emit("error",i));return}s.then(i=>n(null,i)).catch(i=>n(i))}multi(){return this.#n(this.#r)}};wb.RedisLegacyClient=Tb;var xre=class t{static#e(e,r,n){let s=Tb.getTransformReply(r,n);return function(...i){let a=[e];return Tb.pushArguments(a,i),this.#t.addCommand(a,s),this}}static factory(e){let r=class extends t{};for(let[n,s]of Object.entries(jYe.default))r.prototype[n]=t.#e(n,s,e);return n=>new r(n)}#t=new olr.default;#r;constructor(e){this.#r=e}sendCommand(...e){let r=[];return Tb.pushArguments(r,e),this.#t.addCommand(r),this}exec(e){let r=this.#r._executeMulti(this.#t.queue);if(!e){r.catch(n=>this.#r.emit("error",n));return}r.then(n=>e(null,this.#t.transformReplies(n))).catch(n=>e?.(n))}}});var Rb=E(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.PooledNoRedirectClientSideCache=io.BasicPooledClientSideCache=io.PooledClientSideCacheProvider=io.BasicClientSideCache=io.ClientSideCacheProvider=io.CacheStats=void 0;var clr=require("stream"),YC=class t{hitCount;missCount;loadSuccessCount;loadFailureCount;totalLoadTime;evictionCount;constructor(e,r,n,s,i,a){if(this.hitCount=e,this.missCount=r,this.loadSuccessCount=n,this.loadFailureCount=s,this.totalLoadTime=i,this.evictionCount=a,e<0||r<0||n<0||s<0||i<0||a<0)throw new Error("All statistics values must be non-negative")}static of(e=0,r=0,n=0,s=0,i=0,a=0){return new t(e,r,n,s,i,a)}static empty(){return t.EMPTY_STATS}static EMPTY_STATS=new t(0,0,0,0,0,0);requestCount(){return this.hitCount+this.missCount}hitRate(){let e=this.requestCount();return e===0?1:this.hitCount/e}missRate(){let e=this.requestCount();return e===0?0:this.missCount/e}loadCount(){return this.loadSuccessCount+this.loadFailureCount}loadFailureRate(){let e=this.loadCount();return e===0?0:this.loadFailureCount/e}averageLoadPenalty(){let e=this.loadCount();return e===0?0:this.totalLoadTime/e}minus(e){return t.of(Math.max(0,this.hitCount-e.hitCount),Math.max(0,this.missCount-e.missCount),Math.max(0,this.loadSuccessCount-e.loadSuccessCount),Math.max(0,this.loadFailureCount-e.loadFailureCount),Math.max(0,this.totalLoadTime-e.totalLoadTime),Math.max(0,this.evictionCount-e.evictionCount))}plus(e){return t.of(this.hitCount+e.hitCount,this.missCount+e.missCount,this.loadSuccessCount+e.loadSuccessCount,this.loadFailureCount+e.loadFailureCount,this.totalLoadTime+e.totalLoadTime,this.evictionCount+e.evictionCount)}};io.CacheStats=YC;var hL=class t{static INSTANCE=new t;constructor(){}recordHits(e){}recordMisses(e){}recordLoadSuccess(e){}recordLoadFailure(e){}recordEvictions(e){}snapshot(){return YC.empty()}};function ulr(){return hL.INSTANCE}var gL=class t{#e=0;#t=0;#r=0;#n=0;#a=0;#o=0;recordHits(e){this.#e+=e}recordMisses(e){this.#t+=e}recordLoadSuccess(e){this.#r++,this.#a+=e}recordLoadFailure(e){this.#n++,this.#a+=e}recordEvictions(e){this.#o+=e}snapshot(){return YC.of(this.#e,this.#t,this.#r,this.#n,this.#a,this.#o)}static create(){return new t}};function llr(t){let e=new Array(t.length*2);for(let r=0;r<t.length;r++)e[r]=t[r].length,e[r+t.length]=t[r];return e.join("_")}var AL=class{#e=!1;#t;constructor(e){e==0?this.#t=0:this.#t=Date.now()+e}invalidate(){this.#e=!0}validate(){return!this.#e&&(this.#t==0||Date.now()<this.#t)}},JC=class extends AL{#e;get value(){return this.#e}constructor(e,r){super(e),this.#e=r}},XC=class extends AL{#e;get promise(){return this.#e}constructor(e,r){super(e),this.#e=r}},yL=class extends clr.EventEmitter{};io.ClientSideCacheProvider=yL;var xL=class extends yL{#e;#t;ttl;maxEntries;lru;#r;recordEvictions(e){this.#r.recordEvictions(e)}recordHits(e){this.#r.recordHits(e)}recordMisses(e){this.#r.recordMisses(e)}constructor(e){super(),this.#e=new Map,this.#t=new Map,this.ttl=e?.ttl??0,this.maxEntries=e?.maxEntries??0,this.lru=e?.evictPolicy!=="FIFO";let r=e?.recordStats!==!1;this.#r=r?gL.create():ulr()}async handleCache(e,r,n,s,i){let a,o=llr(r.redisArgs),c=this.get(o);if(c){if(c instanceof JC)return this.#r.recordHits(1),structuredClone(c.value);if(c instanceof XC)this.#r.recordMisses(1),a=await c.promise;else throw new Error("unknown cache entry type")}else{this.#r.recordMisses(1);let l=performance.now(),d=n();c=this.createPromiseEntry(e,d),this.set(o,c,r.keys);try{a=await d;let f=performance.now()-l;this.#r.recordLoadSuccess(f)}catch(f){let p=performance.now()-l;throw this.#r.recordLoadFailure(p),c.validate()&&this.delete(o),f}}let u;return s?u=s(a,r.preserve,i):u=a,c.validate()&&(c=this.createValueEntry(e,u),this.set(o,c,r.keys),this.emit("cached-key",o)),structuredClone(u)}trackingOn(){return["CLIENT","TRACKING","ON"]}invalidate(e){if(e===null){this.clear(!1),this.emit("invalidate",e);return}let r=this.#t.get(e.toString());if(r){for(let n of r){let s=this.#e.get(n);s&&s.invalidate(),this.#e.delete(n)}this.#t.delete(e.toString())}this.emit("invalidate",e)}clear(e=!0){let r=this.#e.size;this.#e.clear(),this.#t.clear(),e?this.#r instanceof hL||(this.#r=gL.create()):r>0&&this.#r.recordEvictions(r)}get(e){let r=this.#e.get(e);if(r&&!r.validate()){this.delete(e),this.#r.recordEvictions(1),this.emit("cache-evict",e);return}return r!==void 0&&this.lru&&(this.#e.delete(e),this.#e.set(e,r)),r}delete(e){let r=this.#e.get(e);r&&(r.invalidate(),this.#e.delete(e))}has(e){return this.#e.has(e)}set(e,r,n){let s=this.#e.size,i=this.#e.get(e);i&&(s--,i.invalidate()),this.maxEntries>0&&s>=this.maxEntries&&(this.deleteOldest(),this.#r.recordEvictions(1)),this.#e.set(e,r);for(let a of n)this.#t.has(a.toString())||this.#t.set(a.toString(),new Set),this.#t.get(a.toString()).add(e)}size(){return this.#e.size}createValueEntry(e,r){return new JC(this.ttl,r)}createPromiseEntry(e,r){return new XC(this.ttl,r)}stats(){return this.#r.snapshot()}onError(){this.clear()}onClose(){this.clear()}deleteOldest(){let r=this.#e[Symbol.iterator]().next();if(!r.done){let n=r.value[0],s=this.#e.get(n);s&&s.invalidate(),this.#e.delete(n)}}entryEntries(){return this.#e.entries()}keySetEntries(){return this.#t.entries()}};io.BasicClientSideCache=xL;var bL=class extends xL{#e=!1;disable(){this.#e=!0}enable(){this.#e=!1}get(e){if(!this.#e)return super.get(e)}has(e){return this.#e?!1:super.has(e)}onPoolClose(){this.clear()}};io.PooledClientSideCacheProvider=bL;var EL=class extends bL{onError(){this.clear(!1)}onClose(){this.clear(!1)}};io.BasicPooledClientSideCache=EL;var bre=class extends JC{#e;constructor(e,r,n){super(e,n),this.#e=r}validate(){let e=super.validate();return this.#e&&(e=e&&this.#e.client.isReady&&this.#e.client.socketEpoch==this.#e.epoch),e}},Ere=class extends XC{#e;constructor(e,r,n){super(e,n),this.#e=r}validate(){return super.validate()&&this.#e.client.isReady&&this.#e.client.socketEpoch==this.#e.epoch}},_re=class extends EL{createValueEntry(e,r){let n={epoch:e.socketEpoch,client:e};return new bre(this.ttl,n,r)}createPromiseEntry(e,r){let n={epoch:e.socketEpoch,client:e};return new Ere(this.ttl,n,r)}onError(){}onClose(){}};io.PooledNoRedirectClientSideCache=_re});var _L=E(vre=>{"use strict";Object.defineProperty(vre,"__esModule",{value:!0});var Sre=class{#e;#t;get(e){return JSON.stringify(e,QYe())===this.#t?this.#e:void 0}set(e,r){this.#e=r,this.#t=JSON.stringify(e,QYe())}};vre.default=Sre;function QYe(){let t=new WeakSet;return function(r,n){return n&&typeof n=="object"?t.has(n)?"circular":(t.add(n),n):n}}});var wre=E(Nb=>{"use strict";var Tre=Nb&&Nb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Nb,"__esModule",{value:!0});Nb.RedisClientPool=void 0;var dlr=yu(),flr=Tre(Ob()),plr=require("node:events"),Ire=pL(),mlr=Ol(),mg=Ml(),hlr=Tre(yre()),GYe=Rb(),SL=Pl(),glr=Tre(_L()),Cre=class t extends plr.EventEmitter{static#e(e,r){let n=(0,mg.getTransformReply)(e,r);return async function(...s){let i=new SL.BasicCommandParser;return e.parseCommand(i,...s),this.execute(a=>a._executeCommand(e,i,this._commandOptions,n))}}static#t(e,r){let n=(0,mg.getTransformReply)(e,r);return async function(...s){let i=new SL.BasicCommandParser;return e.parseCommand(i,...s),this._self.execute(a=>a._executeCommand(e,i,this._self._commandOptions,n))}}static#r(e,r,n){let s=(0,mg.functionArgumentsPrefix)(e,r),i=(0,mg.getTransformReply)(r,n);return async function(...a){let o=new SL.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self.execute(c=>c._executeCommand(r,o,this._self._commandOptions,i))}}static#n(e,r){let n=(0,mg.scriptArgumentsPrefix)(e),s=(0,mg.getTransformReply)(e,r);return async function(...i){let a=new SL.BasicCommandParser;return a.pushVariadic(n),e.parseCommand(a,...i),this.execute(o=>o._executeScript(e,a,this._commandOptions,s))}}static#a=new glr.default;static create(e,r){let n=t.#a.get(e);return n||(n=(0,mg.attachConfig)({BaseClass:t,commands:dlr.NON_STICKY_COMMANDS,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e}),n.prototype.Multi=hlr.default.extend(e),t.#a.set(e,n)),Object.create(new n(e,r))}static#o={minimum:1,maximum:100,acquireTimeout:3e3,cleanupDelay:3e3};#s;#i;#c=new Ire.SinglyLinkedList;get idleClients(){return this._self.#c.length}#l=new Ire.DoublyLinkedList;get clientsInUse(){return this._self.#l.length}get totalClients(){return this._self.#c.length+this._self.#l.length}#h=new Ire.SinglyLinkedList;get tasksQueueLength(){return this._self.#h.length}#p=!1;get isOpen(){return this._self.#p}#d=!1;get isClosing(){return this._self.#d}#f;get clientSideCache(){return this._self.#f}constructor(e,r){if(super(),this.#i={...t.#o,...r},r?.clientSideCache)if(e===void 0&&(e={}),r.clientSideCache instanceof GYe.PooledClientSideCacheProvider)this.#f=e.clientSideCache=r.clientSideCache;else{let n=r.clientSideCache;this.#f=e.clientSideCache=new GYe.BasicPooledClientSideCache(n)}this.#s=flr.default.factory(e).bind(void 0,e)}_self=this;_commandOptions;withCommandOptions(e){let r=Object.create(this._self);return r._commandOptions=e,r}#m(e,r){let n=Object.create(this._self);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._self.#m("typeMapping",e)}withAbortSignal(e){return this._self.#m("abortSignal",e)}asap(){return this._self.#m("asap",!0)}async connect(){if(this._self.#p)return;this._self.#p=!0;let e=[];for(;e.length<this._self.#i.minimum;)e.push(this._self.#y());try{await Promise.all(e)}catch(r){throw this.destroy(),r}return this}async#y(){let e=this._self.#l.push(this._self.#s().on("error",r=>this.emit("error",r)));try{await e.value.connect()}catch(r){throw this._self.#l.remove(e),r}this._self.#E(e)}execute(e){return new Promise((r,n)=>{let s=this._self.#c.shift(),{tail:i}=this._self.#h;if(!s){let o;this._self.#i.acquireTimeout>0&&(o=setTimeout(()=>{this._self.#h.remove(c,i),n(new mlr.TimeoutError("Timeout waiting for a client"))},this._self.#i.acquireTimeout));let c=this._self.#h.push({timeout:o,resolve:r,reject:n,fn:e});this.totalClients<this._self.#i.maximum&&this._self.#y();return}let a=this._self.#l.push(s);this._self.#g(a,r,n,e)})}#g(e,r,n,s){let i=s(e.value);i instanceof Promise?i.then(r,n).finally(()=>this.#E(e)):(r(i),this.#E(e))}#E(e){let r=this.#h.shift();if(r){clearTimeout(r.timeout),this.#g(e,r.resolve,r.reject,r.fn);return}this.#l.remove(e),this.#c.push(e.value),this.#S()}cleanupTimeout;#S(){this.totalClients<=this.#i.minimum||(clearTimeout(this.cleanupTimeout),this.cleanupTimeout=setTimeout(()=>this.#A(),this.#i.cleanupDelay))}#A(){let e=Math.min(this.#c.length,this.totalClients-this.#i.minimum);for(let r=0;r<e;r++)this.#c.shift().destroy()}sendCommand(e,r){return this.execute(n=>n.sendCommand(e,r))}MULTI(){return new this.Multi((e,r)=>this.execute(n=>n._executeMulti(e,r)),e=>this.execute(r=>r._executePipeline(e)),this._commandOptions?.typeMapping)}multi=this.MULTI;async close(){if(!this._self.#d&&this._self.#p){this._self.#d=!0;try{let e=[];for(let r of this._self.#c)e.push(r.close());for(let r of this._self.#l)e.push(r.close());await Promise.all(e),this._self.#f?.onPoolClose(),this._self.#c.reset(),this._self.#l.reset()}catch{}finally{this._self.#d=!1}}}destroy(){for(let e of this._self.#c)e.destroy();this._self.#c.reset();for(let e of this._self.#l)e.destroy();this._self.#f?.onPoolClose(),this._self.#l.reset(),this._self.#p=!1}};Nb.RedisClientPool=Cre});var KYe=E((dXr,Alr)=>{Alr.exports={name:"@redis/client",version:"5.11.0",license:"MIT",main:"./dist/index.js",types:"./dist/index.d.ts",files:["dist/","!dist/tsconfig.tsbuildinfo"],scripts:{test:"nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'",release:"release-it"},dependencies:{"cluster-key-slot":"1.1.2"},devDependencies:{"@node-rs/xxhash":"1.7.6","@redis/test-utils":"*","@types/sinon":"^17.0.3",sinon:"^17.0.1"},peerDependencies:{"@node-rs/xxhash":"^1.1.0"},peerDependenciesMeta:{"@node-rs/xxhash":{optional:!0}},engines:{node:">= 18"},repository:{type:"git",url:"git://github.com/redis/node-redis.git"},bugs:{url:"https://github.com/redis/node-redis/issues"},homepage:"https://github.com/redis/node-redis/tree/master/packages/client",keywords:["redis"]}});var Ob=E(bu=>{"use strict";var ylr=bu&&bu.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),xlr=bu&&bu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),blr=bu&&bu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&ylr(e,t,r);return xlr(e,t),e},Db=bu&&bu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},xu;Object.defineProperty(bu,"__esModule",{value:!0});var Pb=Db(yu()),Elr=Db(TYe()),VYe=PYe(),_lr=Db(MYe()),Slr=require("node:events"),hg=Ml(),j0=Ol(),vlr=require("node:url"),kb=QC(),Ilr=Db(yre()),Clr=Db(UJ()),Tlr=HYe(),wlr=wre(),gg=Ce(),zYe=Rb(),vL=Pl(),Rlr=Db(_L()),Nlr=KYe(),IL=blr(qC()),CL=class extends Slr.EventEmitter{static#e(e,r){let n=(0,hg.getTransformReply)(e,r);return async function(...s){let i=new vL.BasicCommandParser;return e.parseCommand(i,...s),this._self._executeCommand(e,i,this._commandOptions,n)}}static#t(e,r){let n=(0,hg.getTransformReply)(e,r);return async function(...s){let i=new vL.BasicCommandParser;return e.parseCommand(i,...s),this._self._executeCommand(e,i,this._self._commandOptions,n)}}static#r(e,r,n){let s=(0,hg.functionArgumentsPrefix)(e,r),i=(0,hg.getTransformReply)(r,n);return async function(...a){let o=new vL.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self._executeCommand(r,o,this._self._commandOptions,i)}}static#n(e,r){let n=(0,hg.scriptArgumentsPrefix)(e),s=(0,hg.getTransformReply)(e,r);return async function(...i){let a=new vL.BasicCommandParser;return a.push(...n),e.parseCommand(a,...i),this._executeScript(e,a,this._commandOptions,s)}}static#a=new Rlr.default;static factory(e){let r=xu.#a.get(e);return r||(r=(0,hg.attachConfig)({BaseClass:xu,commands:Pb.default,createCommand:xu.#e,createModuleCommand:xu.#t,createFunctionCommand:xu.#r,createScriptCommand:xu.#n,config:e}),r.prototype.Multi=Ilr.default.extend(e),xu.#a.set(e,r)),n=>Object.create(new r(n))}static create(e){return xu.factory(e)(e)}static parseOptions(e){if(e?.url){let r=xu.parseURL(e.url);if(e.socket){if(e.socket.tls!==void 0&&e.socket.tls!==r.socket.tls)throw new TypeError(`tls socket option is set to ${e.socket.tls} which is mismatch with protocol or the URL ${e.url} passed`);r.socket=Object.assign(e.socket,r.socket)}Object.assign(e,r)}return e}static parseURL(e){let{hostname:r,port:n,protocol:s,username:i,password:a,pathname:o}=new vlr.URL(e),c={socket:{host:r.replace(/^\[([0-9a-f:]+)\]$/,"$1"),tls:!1}};if(s!=="redis:"&&s!=="rediss:")throw new TypeError("Invalid protocol");if(c.socket.tls=s==="rediss:",n&&(c.socket.port=Number(n)),i&&(c.username=decodeURIComponent(i)),a&&(c.password=decodeURIComponent(a)),(i||a)&&(c.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:i?decodeURIComponent(i):void 0,password:a?decodeURIComponent(a):void 0})}),o.length>1){let u=Number(o.substring(1));if(isNaN(u))throw new TypeError("Invalid pathname");c.database=u}return c}#o;#s;#i;#c=0;#l;_self=this;_commandOptions;#h;#p;#d;#f=null;#m=!1;get clientSideCache(){return this._self.#d}get options(){return this._self.#o}get isOpen(){return this._self.#s.isOpen}get isReady(){return this._self.#s.isReady}get isPubSubActive(){return this._self.#i.isPubSubActive}get socketEpoch(){return this._self.#s.socketEpoch}get isWatching(){return this._self.#p!==void 0}get isDirtyWatch(){return this._self.#h!==void 0}setDirtyWatch(e){this._self.#h=e}constructor(e){if(super(),this.#y(e),this.#o=this.#g(e),this.#i=this.#E(),this.#s=this.#v(),this.#o.maintNotifications!=="disabled"&&new IL.default(this.#i,this,this.#o),this.#o.clientSideCache){if(this.#o.clientSideCache instanceof zYe.ClientSideCacheProvider)this.#d=this.#o.clientSideCache;else{let r=this.#o.clientSideCache;this.#d=new zYe.BasicClientSideCache(r)}this.#i.addPushHandler(r=>{if(r[0].toString()!=="invalidate")return!1;if(r[1]!==null)for(let n of r[1])this.#d?.invalidate(n);else this.#d?.invalidate(null);return!0})}else e?.emitInvalidate&&this.#i.addPushHandler(r=>{if(r[0].toString()!=="invalidate")return!1;if(r[1]!==null)for(let n of r[1])this.emit("invalidate",n);else this.emit("invalidate",null);return!0})}#y(e){if(e?.clientSideCache&&e?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3");if(e?.emitInvalidate&&e?.RESP!==3)throw new Error("emitInvalidate is only supported with RESP3");if(e?.clientSideCache&&e?.emitInvalidate)throw new Error("emitInvalidate is not supported (or necessary) when clientSideCache is enabled");if(e?.maintNotifications&&e?.maintNotifications!=="disabled"&&e?.RESP!==3)throw new Error("Graceful Maintenance is only supported with RESP3")}#g(e={}){if(!e.credentialsProvider&&(e.username||e.password)&&(e.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:e.username,password:e.password})}),e.database&&(this._self.#c=e.database),e.commandOptions&&(this._commandOptions=e.commandOptions),e.maintNotifications!=="disabled"&&IL.default.setupDefaultMaintOptions(e),e.url){let r=xu.parseOptions(e);return r?.database&&(this._self.#c=r.database),r}return e}#E(){return new _lr.default(this.#o.RESP??2,this.#o.commandsQueueMaxLength,(e,r)=>this.emit("sharded-channel-moved",e,r))}reAuthenticate=async e=>{this.isPubSubActive&&!this.#o.RESP||await this.sendCommand((0,gg.parseArgs)(Pb.default.AUTH,{username:e.username,password:e.password??""}))};#S(e){return e.subscribe({onNext:r=>{this.reAuthenticate(r).catch(n=>{let s=n instanceof Error?n.message:String(n);e.onReAuthenticationError(new VYe.CredentialsError(s))})},onError:r=>{let n=`Error from streaming credentials provider: ${r.message}`;e.onReAuthenticationError(new VYe.UnableToObtainNewCredentialsError(n))}})}async#A(e,r){let n=[],s=await this.#I();r&&s.reverse();for(let{cmd:i,errorHandler:a}of s)n.push(this.#i.addCommand(i,{chainId:e,asap:r}).catch(a));return n}async#I(){let e=[],r=this.#o.credentialsProvider;if(this.#o.RESP){let s={};if(r&&r.type==="async-credentials-provider"){let i=await r.credentials();i.password&&(s.AUTH={username:i.username??"default",password:i.password})}if(r&&r.type==="streaming-credentials-provider"){let[i,a]=await this.#S(r);this.#f=a,i.password&&(s.AUTH={username:i.username??"default",password:i.password})}this.#o.name&&(s.SETNAME=this.#o.name),e.push({cmd:(0,gg.parseArgs)(Clr.default,this.#o.RESP,s)})}else{if(r&&r.type==="async-credentials-provider"){let s=await r.credentials();(s.username||s.password)&&e.push({cmd:(0,gg.parseArgs)(Pb.default.AUTH,{username:s.username,password:s.password??""})})}if(r&&r.type==="streaming-credentials-provider"){let[s,i]=await this.#S(r);this.#f=i,(s.username||s.password)&&e.push({cmd:(0,gg.parseArgs)(Pb.default.AUTH,{username:s.username,password:s.password??""})})}this.#o.name&&e.push({cmd:(0,gg.parseArgs)(Pb.default.CLIENT_SETNAME,this.#o.name)})}this.#c!==0&&e.push({cmd:["SELECT",this.#c.toString()]}),this.#o.readonly&&e.push({cmd:(0,gg.parseArgs)(Pb.default.READONLY)}),this.#o.disableClientInfo||(e.push({cmd:["CLIENT","SETINFO","LIB-VER",Nlr.version],errorHandler:()=>{}}),e.push({cmd:["CLIENT","SETINFO","LIB-NAME",this.#o.clientInfoTag?`node-redis(${this.#o.clientInfoTag})`:"node-redis"],errorHandler:()=>{}})),this.#d&&e.push({cmd:this.#d.trackingOn()}),this.#o?.emitInvalidate&&e.push({cmd:["CLIENT","TRACKING","ON"]});let n=await IL.default.getHandshakeCommand(this.#o);return n&&e.push(n),e}#_(e){e.on("data",r=>{try{this.#i.decoder.write(r)}catch(n){this.#i.resetDecoder(),this.emit("error",n)}}).on("error",r=>{this.emit("error",r),this.#d?.onError(),this.#s.isOpen&&!this.#o.disableOfflineQueue?this.#i.flushWaitingForReply(r):this.#i.flushAll(r)}).on("connect",()=>this.emit("connect")).on("ready",()=>{this.emit("ready"),this.#u(),this.#N()}).on("reconnecting",()=>this.emit("reconnecting")).on("drain",()=>this.#N()).on("end",()=>this.emit("end"))}#v(){let e=async()=>{let n=[],s=Symbol("Socket Initiator"),i=this.#i.resubscribe(s);if(i?.catch(a=>{a.message&&a.message.startsWith("MOVED")&&this.emit("__MOVED",this._self.#i.removeAllPubSubListeners())}),i&&n.push(i),this.#l&&n.push(this.#i.monitor(this.#l,{typeMapping:this._commandOptions?.typeMapping,chainId:s,asap:!0})),n.push(...await this.#A(s,!0)),n.length)return this.#P(),Promise.all(n)},r=new Elr.default(e,this.#o.socket);return this.#_(r),r}#b;#u(){!this.#o.pingInterval||!this.#s.isReady||(clearTimeout(this.#b),this.#b=setTimeout(()=>{this.#s.isReady&&this.sendCommand(["PING"]).then(e=>this.emit("ping-interval",e)).catch(e=>this.emit("error",e)).finally(()=>this.#u())},this.#o.pingInterval))}withCommandOptions(e){let r=Object.create(this._self);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this._self);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}withAbortSignal(e){return this._commandOptionsProxy("abortSignal",e)}asap(){return this._commandOptionsProxy("asap",!0)}legacy(){return new Tlr.RedisLegacyClient(this)}createPool(e){return wlr.RedisClientPool.create(this._self.#o,e)}duplicate(e){return new(Object.getPrototypeOf(this)).constructor({...this._self.#o,commandOptions:this._commandOptions,...e})}async connect(){return await this._self.#s.connect(),this}_ejectSocket(){let e=this._self.#s;return this._self.#s=null,e.removeAllListeners(),e}_insertSocket(e){this._self.#s&&this._self._ejectSocket().destroy(),this._self.#s=e,this._self.#_(this._self.#s)}_maintenanceUpdate(e){this._self.#s.setMaintenanceTimeout(e.relaxedSocketTimeout),this._self.#i.setMaintenanceCommandTimeout(e.relaxedCommandTimeout)}_pause(){this._self.#m=!0}_unpause(){this._self.#m=!1,this._self.#N()}_handleSmigrated(e){this._self.emit(IL.SMIGRATED_EVENT,e)}_getQueue(){return this._self.#i}async _executeCommand(e,r,n,s){let i=this._self.#d,a=this._self.#o.commandOptions===n||this._self.#o.commandOptions?.typeMapping===n?.typeMapping,o=()=>this.sendCommand(r.redisArgs,n);if(i&&e.CACHEABLE&&a)return await i.handleCache(this._self,r,o,s,n?.typeMapping);{let c=await o();return s?s(c,r.preserve,n?.typeMapping):c}}async _executeScript(e,r,n,s){let i=r.redisArgs,a;try{a=await this.sendCommand(i,n)}catch(o){if(!o?.message?.startsWith?.("NOSCRIPT"))throw o;i[0]="EVAL",i[1]=e.SCRIPT,a=await this.sendCommand(i,n)}return s?s(a,r.preserve,n?.typeMapping):a}sendCommand(e,r){if(this._self.#s.isOpen){if(!this._self.#s.isReady&&this._self.#o.disableOfflineQueue)return Promise.reject(new j0.ClientOfflineError)}else return Promise.reject(new j0.ClientClosedError);let n={...this._self._commandOptions,...r},s=this._self.#i.addCommand(e,n);return this._self.#C(),s}async SELECT(e){await this.sendCommand(["SELECT",e.toString()]),this._self.#c=e}select=this.SELECT;#x(e){return e===void 0?Promise.resolve():(this.#C(),e)}SUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.subscribe(kb.PUBSUB_TYPE.CHANNELS,e,r,n))}subscribe=this.SUBSCRIBE;UNSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.unsubscribe(kb.PUBSUB_TYPE.CHANNELS,e,r,n))}unsubscribe=this.UNSUBSCRIBE;PSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.subscribe(kb.PUBSUB_TYPE.PATTERNS,e,r,n))}pSubscribe=this.PSUBSCRIBE;PUNSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.unsubscribe(kb.PUBSUB_TYPE.PATTERNS,e,r,n))}pUnsubscribe=this.PUNSUBSCRIBE;SSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.subscribe(kb.PUBSUB_TYPE.SHARDED,e,r,n))}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.unsubscribe(kb.PUBSUB_TYPE.SHARDED,e,r,n))}sUnsubscribe=this.SUNSUBSCRIBE;async WATCH(e){let r=await this._self.sendCommand((0,gg.pushVariadicArguments)(["WATCH"],e));return this._self.#p??=this._self.socketEpoch,r}watch=this.WATCH;async UNWATCH(){let e=await this._self.sendCommand(["UNWATCH"]);return this._self.#p=void 0,e}unwatch=this.UNWATCH;getPubSubListeners(e){return this._self.#i.getPubSubListeners(e)}extendPubSubChannelListeners(e,r,n){return this._self.#x(this._self.#i.extendPubSubChannelListeners(e,r,n))}extendPubSubListeners(e,r){return this._self.#x(this._self.#i.extendPubSubListeners(e,r))}#P(){this.#m||this.#s.write(this.#i.commandsToWrite())}#T;#C(){!this.#s.isReady||this.#T||(this.#T=setImmediate(()=>{this.#P(),this.#T=void 0}))}#N(){this.#i.isWaitingToWrite()&&this.#C()}async _executePipeline(e,r){if(!this._self.#s.isOpen)return Promise.reject(new j0.ClientClosedError);let n=Symbol("Pipeline Chain"),s=Promise.all(e.map(({args:a})=>this._self.#i.addCommand(a,{chainId:n,typeMapping:this._commandOptions?.typeMapping})));this._self.#C();let i=await s;return r!==void 0&&(this._self.#c=r),i}async _executeMulti(e,r){let n=this._self.#h;this._self.#h=void 0;let s=this._self.#p;if(this._self.#p=void 0,!this._self.#s.isOpen)throw new j0.ClientClosedError;if(n)throw new j0.WatchError(n);if(s&&s!==this._self.socketEpoch)throw new j0.WatchError("Client reconnected after WATCH");let i=this._commandOptions?.typeMapping,a=Symbol("MULTI Chain"),o=[this._self.#i.addCommand(["MULTI"],{chainId:a})];for(let{args:l}of e)o.push(this._self.#i.addCommand(l,{chainId:a,typeMapping:i}));o.push(this._self.#i.addCommand(["EXEC"],{chainId:a})),this._self.#C();let c=await Promise.all(o),u=c[c.length-1];if(u===null)throw new j0.WatchError;return r!==void 0&&(this._self.#c=r),u}MULTI(){return new this.Multi(this._executeMulti.bind(this),this._executePipeline.bind(this),this._commandOptions?.typeMapping)}multi=this.MULTI;async*scanIterator(e){let r=e?.cursor??"0";do{let n=await this.scan(r,e);r=n.cursor,yield n.keys}while(r!=="0")}async*hScanIterator(e,r){let n=r?.cursor??"0";do{let s=await this.hScan(e,n,r);n=s.cursor,yield s.entries}while(n!=="0")}async*hScanValuesIterator(e,r){let n=r?.cursor??"0";do{let s=await this.hScanNoValues(e,n,r);n=s.cursor,yield s.fields}while(n!=="0")}async*hScanNoValuesIterator(e,r){let n=r?.cursor??"0";do{let s=await this.hScanNoValues(e,n,r);n=s.cursor,yield s.fields}while(n!=="0")}async*sScanIterator(e,r){let n=r?.cursor??"0";do{let s=await this.sScan(e,n,r);n=s.cursor,yield s.members}while(n!=="0")}async*zScanIterator(e,r){let n=r?.cursor??"0";do{let s=await this.zScan(e,n,r);n=s.cursor,yield s.members}while(n!=="0")}async MONITOR(e){let r=this._self.#i.monitor(e,{typeMapping:this._commandOptions?.typeMapping});this._self.#C(),await r,this._self.#l=e}monitor=this.MONITOR;async reset(){let e=Symbol("Reset Chain"),r=[this._self.#i.reset(e)],n=this._self.#o?.database??0;this._self.#f?.dispose(),this._self.#f=null,r.push(...await this._self.#A(e,!1)),this._self.#C(),await Promise.all(r),this._self.#c=n,this._self.#l=void 0,this._self.#h=void 0,this._self.#p=void 0}resetIfDirty(){let e=!1;if(this._self.#c!==(this._self.#o?.database??0)&&(console.warn("Returning a client with a different selected DB"),e=!0),this._self.#l&&(console.warn("Returning a client with active MONITOR"),e=!0),this._self.#i.isPubSubActive&&(console.warn("Returning a client with active PubSub"),e=!0),(this._self.#h||this._self.#p)&&(console.warn("Returning a client with active WATCH"),e=!0),e)return this.reset()}QUIT(){return this._self.#f?.dispose(),this._self.#f=null,this._self.#s.quit(async()=>{clearTimeout(this._self.#b);let e=this._self.#i.addCommand(["QUIT"]);return this._self.#C(),e})}quit=this.QUIT;disconnect(){return Promise.resolve(this.destroy())}close(){return new Promise(e=>{if(clearTimeout(this._self.#b),this._self.#s.close(),this._self.#d?.onClose(),this._self.#i.isEmpty())return this._self.#s.destroySocket(),e();let r=()=>{this._self.#i.isEmpty()&&(this._self.#s.off("data",r),this._self.#s.destroySocket(),e())};this._self.#s.on("data",r),this._self.#f?.dispose(),this._self.#f=null})}destroy(){clearTimeout(this._self.#b),this._self.#i.flushAll(new j0.DisconnectsClientError),this._self.#s.destroy(),this._self.#d?.onClose(),this._self.#f?.dispose(),this._self.#f=null}ref(){this._self.#s.ref()}unref(){this._self.#s.unref()}};xu=CL;bu.default=CL});var XYe=E(Wl=>{"use strict";var JYe=Wl&&Wl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Nre;Object.defineProperty(Wl,"__esModule",{value:!0});Wl.RESUBSCRIBE_LISTENERS_EVENT=void 0;var Olr=Ol(),Plr=JYe(Ob()),Do=QC(),Rre=JYe(dre()),YYe=Rb(),ao=qC();Wl.RESUBSCRIBE_LISTENERS_EVENT="__resubscribeListeners";var TL=class{static#e=16384;#t;#r;#n;slots=new Array(Nre.#e);masters=new Array;replicas=new Array;nodeByAddress=new Map;pubSubNode;clientSideCache;smigratedSeqIdsSeen=new Set;#a=!1;get isOpen(){return this.#a}#o(e){if(e?.clientSideCache&&e?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3")}constructor(e,r){this.#o(e),this.#t=e,e?.clientSideCache&&(e.clientSideCache instanceof YYe.PooledClientSideCacheProvider?this.clientSideCache=e.clientSideCache:this.clientSideCache=new YYe.BasicPooledClientSideCache(e.clientSideCache)),this.#r=Plr.default.factory(this.#t),this.#n=r}async connect(){if(this.#a)throw new Error("Cluster already open");this.#a=!0;try{await this.#s(),this.#n("connect")}catch(e){throw this.#a=!1,e}}async#s(){let e=Math.floor(Math.random()*this.#t.rootNodes.length);for(let r=e;r<this.#t.rootNodes.length;r++){if(!this.#a)throw new Error("Cluster closed");if(await this.#c(this.#t.rootNodes[r]))return}for(let r=0;r<e;r++){if(!this.#a)throw new Error("Cluster closed");if(await this.#c(this.#t.rootNodes[r]))return}throw new Olr.RootNodesUnavailableError}#i(){this.slots=new Array(Nre.#e),this.masters=[],this.replicas=[],this._randomNodeIterator=void 0}async#c(e){this.clientSideCache?.clear(),this.clientSideCache?.disable();try{let r=new Set,n=[],s=this.#t.minimizeConnections!==!0,i=await this.#h(e);this.#i();for(let{from:a,to:o,master:c,replicas:u}of i){let l={master:this.#f(c,!1,s,r,n)};this.#t.useReplicas&&(l.replicas=u.map(d=>this.#f(d,!0,s,r,n)));for(let d=a;d<=o;d++)this.slots[d]=l}if(this.pubSubNode&&!r.has(this.pubSubNode.address)){let a=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.CHANNELS),o=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.PATTERNS);this.pubSubNode.client.destroy(),(a.size||o.size)&&n.push(this.#v({[Do.PUBSUB_TYPE.CHANNELS]:a,[Do.PUBSUB_TYPE.PATTERNS]:o}))}for(let[a,o]of this.nodeByAddress.entries()){if(r.has(a))continue;o.client&&o.client.destroy();let{pubSub:c}=o;c&&c.client.destroy(),this.nodeByAddress.delete(a)}return await Promise.all(n),this.clientSideCache?.enable(),!0}catch(r){return this.#n("error",r),!1}}#l=async e=>{if((0,ao.dbgMaintenance)("[CSlots]: handle smigrated",JSON.stringify(e,null,2)),this.smigratedSeqIdsSeen.has(e.seqId)){(0,ao.dbgMaintenance)(`[CSlots]: sequence id ${e.seqId} already seen, abort`);return}this.smigratedSeqIdsSeen.add(e.seqId);for(let r of e.entries){let n=`${r.source.host}:${r.source.port}`,s=this.nodeByAddress.get(n);if((0,ao.dbgMaintenance)(`[CSlots]: Looking for sourceAddress=${n}. Available addresses in nodeByAddress: ${Array.from(this.nodeByAddress.keys()).join(", ")}`),!s){(0,ao.dbgMaintenance)(`[CSlots]: address ${n} not in 'nodeByAddress', skipping this entry`);continue}if(s.client===void 0){(0,ao.dbgMaintenance)(`[CSlots]: Node for ${n} does not have a client, skipping this entry`);continue}let i=new Set;try{s.client?._pause(),"pubSub"in s&&s.pubSub?.client._pause();let a;for(let{addr:{host:d,port:f},slots:p}of r.destinations){let m=`${d}:${f}`,h=this.nodeByAddress.get(m);(0,ao.dbgMaintenance)(`[CSlots]: Looking for destAddress=${m}. Found in nodeByAddress: ${h?"YES":"NO"}`);let A;if(h){let y=[...new Set(this.slots)].map(v=>`${v.master.host}:${v.master.port}`);(0,ao.dbgMaintenance)(`[CSlots]: Searching for shard with host=${d}, port=${f}. Available masters in slots: ${y.join(", ")}`);let x=this.slots.find(v=>v.master.host===d&&v.master.port===f);if(!x)throw(0,ao.dbgMaintenance)("Could not find shard"),new Error("Could not find shard");A=x,h.client?._pause(),h.pubSub?.client._pause()}else{let y=[];h=this.#f({host:d,port:f,id:`smigrated-${d}:${f}`},!1,!0,new Set,y),await Promise.all([...y,this.#b(h)]),h.client?._pause(),h.pubSub?.client._pause(),A={master:h}}a=h;let g=new Set;for(let y of p)if(typeof y=="number")this.slots[y]=A,g.add(y),i.add(y);else for(let x=y[0];x<=y[1];x++)this.slots[x]=A,g.add(x),i.add(x);(0,ao.dbgMaintenance)(`[CSlots]: Updated slots to point to destination ${h.address}. Sample slots: ${Array.from(p).slice(0,5).join(", ")}${p.length>5?"...":""}`);let b=s.client._getQueue().extractCommandsForSlots(g);h.client?._getQueue().prependCommandsToWrite(b),(0,ao.dbgMaintenance)(`[CSlots]: Extracted ${b.length} commands for ${g.size} slots, prepended to ${h.address}`),h.client?._unpause(),h.pubSub?.client._unpause()}(0,ao.dbgMaintenance)(`[CSlots]: Total ${i.size} slots moved from ${n}. Sample: ${Array.from(i).slice(0,10).join(", ")}${i.size>10?"...":""}`);let o=5e3,c=[],u={timeoutMs:o,flushOnTimeout:!0};if(c.push(s.client._getQueue().waitForInflightCommandsToComplete(u)),"pubSub"in s&&s.pubSub!==void 0&&c.push(s.pubSub.client._getQueue().waitForInflightCommandsToComplete(u)),this.pubSubNode?.address===n&&c.push(this.pubSubNode.client._getQueue().waitForInflightCommandsToComplete(u)),await Promise.all(c),this.slots.find(d=>d.master.address===n)!==void 0){if("pubSub"in s){let d=s.pubSub?.client._getQueue().removeShardedPubSubListenersForSlots(i);this.#n(Wl.RESUBSCRIBE_LISTENERS_EVENT,d)}s.client?._unpause(),"pubSub"in s&&s.pubSub?.client._unpause()}else{let d=s.client._getQueue().extractAllCommands();if(d.length>0&&a&&(a.client?._getQueue().prependCommandsToWrite(d),a.client?._unpause(),(0,ao.dbgMaintenance)(`[CSlots]: Moved ${d.length} remaining slotless commands to ${a.address}`)),"pubSub"in s){let f=s.pubSub?.client._getQueue().removeAllPubSubListeners();this.#n(Wl.RESUBSCRIBE_LISTENERS_EVENT,f)}if(this.masters=this.masters.filter(f=>f.address!==n),this.replicas=this.replicas.filter(f=>f.address!==n),this.nodeByAddress.delete(n),this.pubSubNode?.address===n){let f=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.CHANNELS),p=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.PATTERNS),m=this.pubSubNode.client;f.size||p.size?await this.#v({[Do.PUBSUB_TYPE.CHANNELS]:f,[Do.PUBSUB_TYPE.PATTERNS]:p}):this.pubSubNode=void 0,m.destroy()}s.client?.destroy(),"pubSub"in s&&s.pubSub?.client.destroy()}}catch(a){(0,ao.dbgMaintenance)(`[CSlots]: Error during SMIGRATED handling for source ${n}: ${a}`),s.client?._unpause(),"pubSub"in s&&s.pubSub?.client._unpause(),this.#n("error",a)}}};async#h(e){let r=this.#d(e);r.socket??={},r.socket.reconnectStrategy=!1,r.RESP=this.#t.RESP,r.commandOptions=void 0,r.maintNotifications="disabled";let n=await this.#r(r).on("error",s=>this.#n("error",s)).connect();try{return await n.clusterSlots()}finally{n.destroy()}}#p(e){switch(typeof this.#t.nodeAddressMap){case"object":return this.#t.nodeAddressMap[e];case"function":return this.#t.nodeAddressMap(e)}}#d(e){if(!this.#t.defaults)return e;let r;return this.#t.defaults.socket?r={...this.#t.defaults.socket,...e?.socket}:r=e?.socket,{...this.#t.defaults,...e,socket:r}}#f(e,r,n,s,i){let a=`${e.host}:${e.port}`,o=this.nodeByAddress.get(a);return o||(o={...e,address:a,readonly:r,client:void 0,connectPromise:void 0},n&&i.push(this.#y(o)),this.nodeByAddress.set(a,o)),s.has(a)||(s.add(a),(r?this.replicas:this.masters).push(o)),o}#m(e,r=e.readonly){let n=this.#p(e.address)??{host:e.host,port:e.port},s=Object.freeze({host:n.host,port:n.port}),i=this.#n,a=this.#r(this.#d({clientSideCache:this.clientSideCache,RESP:this.#t.RESP,socket:n,readonly:r})).on("error",o=>i("node-error",o,s)).on("reconnecting",()=>i("node-reconnecting",s)).once("ready",()=>i("node-ready",s)).once("connect",()=>i("node-connect",s)).once("end",()=>i("node-disconnect",s)).on(ao.SMIGRATED_EVENT,this.#l).on("__MOVED",async o=>{await this.rediscover(a),this.#n(Wl.RESUBSCRIBE_LISTENERS_EVENT,o)});return a}#y(e,r){let n=e.client=this.#m(e,r);return e.connectPromise=n.connect().finally(()=>e.connectPromise=void 0)}nodeClient(e){return e.connectPromise?e.connectPromise:e.client?Promise.resolve(e.client):this.#y(e)}#g;async rediscover(e){return this.#g??=this.#E(e).finally(()=>{this.#g=void 0}),this.#g}async#E(e){if(!await this.#c(e.options))return this.#s()}quit(){return this.#A(e=>e.quit())}disconnect(){return this.#A(e=>e.disconnect())}close(){return this.#A(e=>e.close())}destroy(){this.#a=!1;for(let e of this.#S())e.destroy();this.pubSubNode&&(this.pubSubNode.client.destroy(),this.pubSubNode=void 0),this.#i(),this.nodeByAddress.clear(),this.#n("disconnect")}*#S(){for(let e of this.masters)e.client&&(yield e.client),e.pubSub&&(yield e.pubSub.client);for(let e of this.replicas)e.client&&(yield e.client)}async#A(e){this.#a=!1;let r=[];for(let n of this.#S())r.push(e(n));this.pubSubNode&&(r.push(e(this.pubSubNode.client)),this.pubSubNode=void 0),this.#i(),this.nodeByAddress.clear(),await Promise.allSettled(r),this.#n("disconnect")}async getClientAndSlotNumber(e,r){if(!e)return{client:await this.nodeClient(this.getRandomNode())};let n=(0,Rre.default)(e);return r?{client:await this.nodeClient(this.getSlotRandomNode(n)),slotNumber:n}:{client:await this.nodeClient(this.slots[n].master),slotNumber:n}}*#I(){if(this.masters.length+this.replicas.length===0)return;let e=Math.floor(Math.random()*(this.masters.length+this.replicas.length));if(e<this.masters.length){do yield this.masters[e];while(++e<this.masters.length);for(let r of this.replicas)yield r}else{e-=this.masters.length;do yield this.replicas[e];while(++e<this.replicas.length)}for(;;){for(let r of this.masters)yield r;for(let r of this.replicas)yield r}}_randomNodeIterator;getRandomNode(){return this._randomNodeIterator??=this.#I(),this._randomNodeIterator.next().value}*#_(e){let r=Math.floor(Math.random()*(1+e.replicas.length));if(r<e.replicas.length)do yield e.replicas[r];while(++r<e.replicas.length);for(;;){yield e.master;for(let n of e.replicas)yield n}}getSlotRandomNode(e){let r=this.slots[e];return r.replicas?.length?(r.nodesIterator??=this.#_(r),r.nodesIterator.next().value):r.master}getMasterByAddress(e){let r=this.nodeByAddress.get(e);if(r)return this.nodeClient(r)}getPubSubClient(){return this.pubSubNode?this.pubSubNode.connectPromise??Promise.resolve(this.pubSubNode.client):this.#v()}async#v(e){let r=Math.floor(Math.random()*(this.masters.length+this.replicas.length)),n=r<this.masters.length?this.masters[r]:this.replicas[r-this.masters.length],s=this.#m(n,!1);return this.pubSubNode={address:n.address,client:s,connectPromise:s.connect().then(async i=>(e&&await Promise.all([i.extendPubSubListeners(Do.PUBSUB_TYPE.CHANNELS,e[Do.PUBSUB_TYPE.CHANNELS]),i.extendPubSubListeners(Do.PUBSUB_TYPE.PATTERNS,e[Do.PUBSUB_TYPE.PATTERNS])]),this.pubSubNode.connectPromise=void 0,i)).catch(i=>{throw this.pubSubNode=void 0,i})},this.pubSubNode.connectPromise}async executeUnsubscribeCommand(e){let r=await this.getPubSubClient();await e(r),r.isPubSubActive||(r.destroy(),this.pubSubNode=void 0)}getShardedPubSubClient(e){let{master:r}=this.slots[(0,Rre.default)(e)];return r.pubSub?r.pubSub.connectPromise??Promise.resolve(r.pubSub.client):this.#b(r)}async#b(e){let r=this.#m(e,!1).on("server-sunsubscribe",async(n,s)=>{try{await this.rediscover(r),await(await this.getShardedPubSubClient(n)).extendPubSubChannelListeners(Do.PUBSUB_TYPE.SHARDED,n,s)}catch(i){this.#n("sharded-shannel-moved-error",i,n,s)}});return e.pubSub={client:r,connectPromise:r.connect().then(n=>(e.pubSub.connectPromise=void 0,n)).catch(n=>{throw e.pubSub=void 0,n})},e.pubSub.connectPromise}async executeShardedUnsubscribeCommand(e,r){let{master:n}=this.slots[(0,Rre.default)(e)];if(!n.pubSub)return;let s=n.pubSub.connectPromise?await n.pubSub.connectPromise:n.pubSub.client;await r(s),s.isPubSubActive||(s.destroy(),n.pubSub=void 0)}};Nre=TL;Wl.default=TL});var ZYe=E(ZC=>{"use strict";var klr=ZC&&ZC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ZC,"__esModule",{value:!0});var Dlr=yu(),Blr=klr(VC()),Bb=Ml(),wL=Pl(),Ore=class t{static#e(e,r){let n=(0,Bb.getTransformReply)(e,r);return function(...s){let i=new wL.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this.addCommand(o,e.IS_READ_ONLY,a,n)}}static#t(e,r){let n=(0,Bb.getTransformReply)(e,r);return function(...s){let i=new wL.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this._self.addCommand(o,e.IS_READ_ONLY,a,n)}}static#r(e,r,n){let s=(0,Bb.functionArgumentsPrefix)(e,r),i=(0,Bb.getTransformReply)(r,n);return function(...a){let o=new wL.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;c.preserve=o.preserve;let u=o.firstKey;return this._self.addCommand(u,r.IS_READ_ONLY,c,i)}}static#n(e,r){let n=(0,Bb.getTransformReply)(e,r);return function(...s){let i=new wL.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this.#h(o,e.IS_READ_ONLY,e,a,n)}}static extend(e){return(0,Bb.attachConfig)({BaseClass:t,commands:Dlr.NON_STICKY_COMMANDS,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e})}#a;#o;#s;#i;#c=!0;constructor(e,r,n,s){this.#a=new Blr.default(s),this.#o=e,this.#s=r,this.#i=n}#l(e,r){this.#i??=e,this.#c&&=r}addCommand(e,r,n,s){return this.#l(e,r),this.#a.addCommand(n,s),this}#h(e,r,n,s,i){return this.#l(e,r),this.#a.addScript(n,s,i),this}async exec(e=!1){return e?this.execAsPipeline():this.#a.transformReplies(await this.#o(this.#i,this.#c,this.#a.queue))}EXEC=this.exec;execTyped(e=!1){return this.exec(e)}async execAsPipeline(){return this.#a.queue.length===0?[]:this.#a.transformReplies(await this.#s(this.#i,this.#c,this.#a.queue))}execAsPipelineTyped(){return this.execAsPipeline()}};ZC.default=Ore});var rJe=E(Eu=>{"use strict";var Llr=Eu&&Eu.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Mlr=Eu&&Eu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Wlr=Eu&&Eu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Llr(e,t,r);return Mlr(e,t),e},tJe=Eu&&Eu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Eu,"__esModule",{value:!0});var $lr=yu(),Flr=require("node:events"),Ag=Ml(),eJe=Wlr(XYe()),Ulr=tJe(ZYe()),qlr=Ol(),RL=Pl(),jlr=zz(),Hlr=tJe(_L()),Pre=class t extends Flr.EventEmitter{static#e(e,r){let n=(0,Ag.getTransformReply)(e,r);return async function(...s){let i=new RL.BasicCommandParser;return e.parseCommand(i,...s),this._self._execute(i.firstKey,e.IS_READ_ONLY,this._commandOptions,(a,o)=>a._executeCommand(e,i,o,n))}}static#t(e,r){let n=(0,Ag.getTransformReply)(e,r);return async function(...s){let i=new RL.BasicCommandParser;return e.parseCommand(i,...s),this._self._execute(i.firstKey,e.IS_READ_ONLY,this._self._commandOptions,(a,o)=>a._executeCommand(e,i,o,n))}}static#r(e,r,n){let s=(0,Ag.functionArgumentsPrefix)(e,r),i=(0,Ag.getTransformReply)(r,n);return async function(...a){let o=new RL.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self._execute(o.firstKey,r.IS_READ_ONLY,this._self._commandOptions,(c,u)=>c._executeCommand(r,o,u,i))}}static#n(e,r){let n=(0,Ag.scriptArgumentsPrefix)(e),s=(0,Ag.getTransformReply)(e,r);return async function(...i){let a=new RL.BasicCommandParser;return a.push(...n),e.parseCommand(a,...i),this._self._execute(a.firstKey,e.IS_READ_ONLY,this._commandOptions,(o,c)=>o._executeScript(e,a,c,s))}}static#a=new Hlr.default;static factory(e){let r=t.#a.get(e);return r||(r=(0,Ag.attachConfig)({BaseClass:t,commands:$lr.NON_STICKY_COMMANDS,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e}),r.prototype.Multi=Ulr.default.extend(e),t.#a.set(e,r)),n=>Object.create(new r(n))}static create(e){return t.factory(e)(e)}_options;_slots;_self=this;_commandOptions;get slots(){return this._self._slots.slots}get clientSideCache(){return this._self._slots.clientSideCache}get masters(){return this._self._slots.masters}get replicas(){return this._self._slots.replicas}get nodeByAddress(){return this._self._slots.nodeByAddress}get pubSubNode(){return this._self._slots.pubSubNode}get isOpen(){return this._self._slots.isOpen}constructor(e){super(),this._options=e,this._slots=new eJe.default(e,this.emit.bind(this)),this.on(eJe.RESUBSCRIBE_LISTENERS_EVENT,this.resubscribeAllPubSubListeners.bind(this)),e?.commandOptions&&(this._commandOptions=e.commandOptions)}duplicate(e){return new(Object.getPrototypeOf(this)).constructor({...this._self._options,commandOptions:this._commandOptions,...e})}async connect(){return await this._self._slots.connect(),this}withCommandOptions(e){let r=Object.create(this);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}_handleAsk(e){return async(r,n)=>{let s=Symbol("asking chain"),i=n?{...n}:{};return i.chainId=s,(await Promise.all([r.sendCommand([jlr.ASKING_CMD],{chainId:s}),e(r,i)]))[1]}}async _execute(e,r,n,s){let i=this._options.maxCommandRedirections??16,{client:a,slotNumber:o}=await this._slots.getClientAndSlotNumber(e,r),c=0,u=s;for(;;)try{let l=n??{};return l.slotNumber=o,await u(a,l)}catch(l){if(u=s,++c>i||!(l instanceof Error))throw l;if(l.message.startsWith("ASK")){let d=l.message.substring(l.message.lastIndexOf(" ")+1),f=await this._slots.getMasterByAddress(d);if(f||(await this._slots.rediscover(a),f=await this._slots.getMasterByAddress(d)),!f)throw new Error(`Cannot find node ${d}`);a=f,u=this._handleAsk(s);continue}if(l.message.startsWith("MOVED")){await this._slots.rediscover(a);let d=await this._slots.getClientAndSlotNumber(e,r);a=d.client,o=d.slotNumber;continue}throw l}}async sendCommand(e,r,n,s){let i={...this._self._commandOptions,...s};return this._self._execute(e,r,i,(a,o)=>a.sendCommand(n,o))}MULTI(e){return new this.Multi(async(r,n,s)=>{let{client:i}=await this._self._slots.getClientAndSlotNumber(r,n);return i._executeMulti(s)},async(r,n,s)=>{let{client:i}=await this._self._slots.getClientAndSlotNumber(r,n);return i._executePipeline(s)},e,this._commandOptions?.typeMapping)}multi=this.MULTI;async SUBSCRIBE(e,r,n){return(await this._self._slots.getPubSubClient()).SUBSCRIBE(e,r,n)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(e,r,n){return this._self._slots.executeUnsubscribeCommand(s=>s.UNSUBSCRIBE(e,r,n))}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(e,r,n){return(await this._self._slots.getPubSubClient()).PSUBSCRIBE(e,r,n)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(e,r,n){return this._self._slots.executeUnsubscribeCommand(s=>s.PUNSUBSCRIBE(e,r,n))}pUnsubscribe=this.PUNSUBSCRIBE;async SSUBSCRIBE(e,r,n){let s=this._self._options.maxCommandRedirections??16,i=Array.isArray(e)?e[0]:e,a=await this._self._slots.getShardedPubSubClient(i);for(let o=0;;o++)try{return await a.SSUBSCRIBE(e,r,n)}catch(c){if(++o>s||!(c instanceof qlr.ErrorReply))throw c;if(c.message.startsWith("MOVED")){await this._self._slots.rediscover(a),a=await this._self._slots.getShardedPubSubClient(i);continue}throw c}}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(e,r,n){return this._self._slots.executeShardedUnsubscribeCommand(Array.isArray(e)?e[0]:e,s=>s.SUNSUBSCRIBE(e,r,n))}resubscribeAllPubSubListeners(e){if(e.CHANNELS)for(let[r,n]of e.CHANNELS)n.buffers.forEach(s=>{this.subscribe(r,s,!0)}),n.strings.forEach(s=>{this.subscribe(r,s)});if(e.PATTERNS)for(let[r,n]of e.PATTERNS)n.buffers.forEach(s=>{this.pSubscribe(r,s,!0)}),n.strings.forEach(s=>{this.pSubscribe(r,s)});if(e.SHARDED)for(let[r,n]of e.SHARDED)n.buffers.forEach(s=>{this.sSubscribe(r,s,!0)}),n.strings.forEach(s=>{this.sSubscribe(r,s)})}sUnsubscribe=this.SUNSUBSCRIBE;quit(){return this._self._slots.quit()}disconnect(){return this._self._slots.disconnect()}close(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.close()}destroy(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.destroy()}nodeClient(e){return this._self._slots.nodeClient(e)}getRandomNode(){return this._self._slots.getRandomNode()}getSlotRandomNode(e){return this._self._slots.getSlotRandomNode(e)}getMasters(){return this.masters}getSlotMaster(e){return this.slots[e].master}};Eu.default=Pre});var sJe=E(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.getMappedNode=si.createScriptCommand=si.createModuleCommand=si.createFunctionCommand=si.createCommand=si.clientSocketToNode=si.createNodeList=si.parseNode=void 0;var NL=Pl(),Lb=Ml();function nJe(t){if(!(t.flags.includes("s_down")||t.flags.includes("disconnected")||t.flags.includes("failover_in_progress")))return{host:t.ip,port:Number(t.port)}}si.parseNode=nJe;function Qlr(t){var e=[];for(let r of t){let n=nJe(r);n!==void 0&&e.push(n)}return e}si.createNodeList=Qlr;function Glr(t){let e=t;return{host:e.host,port:e.port}}si.clientSocketToNode=Glr;function Klr(t,e){let r=(0,Lb.getTransformReply)(t,e);return async function(...n){let s=new NL.BasicCommandParser;return t.parseCommand(s,...n),this._self._execute(t.IS_READ_ONLY,i=>i._executeCommand(t,s,this.commandOptions,r))}}si.createCommand=Klr;function Vlr(t,e,r){let n=(0,Lb.functionArgumentsPrefix)(t,e),s=(0,Lb.getTransformReply)(e,r);return async function(...i){let a=new NL.BasicCommandParser;return a.push(...n),e.parseCommand(a,...i),this._self._execute(e.IS_READ_ONLY,o=>o._executeCommand(e,a,this._self.commandOptions,s))}}si.createFunctionCommand=Vlr;function zlr(t,e){let r=(0,Lb.getTransformReply)(t,e);return async function(...n){let s=new NL.BasicCommandParser;return t.parseCommand(s,...n),this._self._execute(t.IS_READ_ONLY,i=>i._executeCommand(t,s,this._self.commandOptions,r))}}si.createModuleCommand=zlr;function Ylr(t,e){let r=(0,Lb.scriptArgumentsPrefix)(t),n=(0,Lb.getTransformReply)(t,e);return async function(...s){let i=new NL.BasicCommandParser;return i.push(...r),t.parseCommand(i,...s),this._self._execute(t.IS_READ_ONLY,a=>a._executeScript(t,i,this.commandOptions,n))}}si.createScriptCommand=Ylr;function Jlr(t,e,r){if(r===void 0)return{host:t,port:e};let n=`${t}:${e}`;switch(typeof r){case"object":return r[n]??{host:t,port:e};case"function":return r(n)??{host:t,port:e}}}si.getMappedNode=Jlr});var aJe=E(eT=>{"use strict";var Xlr=eT&&eT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(eT,"__esModule",{value:!0});var Zlr=yu(),iJe=Xlr(VC()),Mb=Ml(),OL=Pl(),kre=class t{static _createCommand(e,r){let n=(0,Mb.getTransformReply)(e,r);return function(...s){let i=new OL.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.addCommand(e.IS_READ_ONLY,a,n)}}static _createModuleCommand(e,r){let n=(0,Mb.getTransformReply)(e,r);return function(...s){let i=new OL.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this._self.addCommand(e.IS_READ_ONLY,a,n)}}static _createFunctionCommand(e,r,n){let s=(0,Mb.functionArgumentsPrefix)(e,r),i=(0,Mb.getTransformReply)(r,n);return function(...a){let o=new OL.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;return c.preserve=o.preserve,this._self.addCommand(r.IS_READ_ONLY,c,i)}}static _createScriptCommand(e,r){let n=(0,Mb.getTransformReply)(e,r);return function(...s){let i=new OL.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.#a(e.IS_READ_ONLY,e,a,n)}}static extend(e){return(0,Mb.attachConfig)({BaseClass:t,commands:Zlr.NON_STICKY_COMMANDS,createCommand:t._createCommand,createModuleCommand:t._createModuleCommand,createFunctionCommand:t._createFunctionCommand,createScriptCommand:t._createScriptCommand,config:e})}#e=new iJe.default;#t;#r=!0;constructor(e,r){this.#e=new iJe.default(r),this.#t=e}#n(e){this.#r&&=e}addCommand(e,r,n){return this.#n(e),this.#e.addCommand(r,n),this}#a(e,r,n,s){return this.#n(e),this.#e.addScript(r,n,s),this}async exec(e=!1){return e?this.execAsPipeline():this.#e.transformReplies(await this.#t._executeMulti(this.#r,this.#e.queue))}EXEC=this.exec;execTyped(e=!1){return this.exec(e)}async execAsPipeline(){return this.#e.queue.length===0?[]:this.#e.transformReplies(await this.#t._executePipeline(this.#r,this.#e.queue))}execAsPipelineTyped(){return this.execAsPipeline()}};eT.default=kre});var uJe=E(Wb=>{"use strict";var cJe=Wb&&Wb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Wb,"__esModule",{value:!0});Wb.PubSubProxy=void 0;var edr=cJe(require("node:events")),H0=QC(),oJe=cJe(Ob()),Dre=class extends edr.default{#e;#t;#r;#n;#a;constructor(e,r){super(),this.#e=e,this.#t=r}#o(){if(this.#r===void 0)throw new Error("pubSubProxy: didn't define node to do pubsub against");return new oJe.default({...this.#e,socket:{...this.#e.socket,host:this.#r.host,port:this.#r.port}})}async#s(e=!1){let r=this.#o().on("error",this.#t),n=r.connect().then(async s=>this.#n?.client!==s?(s.destroy(),this.#n?.connectPromise):(e&&this.#a&&await Promise.all([s.extendPubSubListeners(H0.PUBSUB_TYPE.CHANNELS,this.#a[H0.PUBSUB_TYPE.CHANNELS]),s.extendPubSubListeners(H0.PUBSUB_TYPE.PATTERNS,this.#a[H0.PUBSUB_TYPE.PATTERNS])]),this.#n.client!==s?(s.destroy(),this.#n?.connectPromise):(this.#n.connectPromise=void 0,s))).catch(s=>{throw this.#n=void 0,s});return this.#n={client:r,connectPromise:n},n}#i(){return this.#n?this.#n.connectPromise??this.#n.client:this.#s()}async changeNode(e){this.#r=e,this.#n&&(this.#n.connectPromise===void 0&&(this.#a={[H0.PUBSUB_TYPE.CHANNELS]:this.#n.client.getPubSubListeners(H0.PUBSUB_TYPE.CHANNELS),[H0.PUBSUB_TYPE.PATTERNS]:this.#n.client.getPubSubListeners(H0.PUBSUB_TYPE.PATTERNS)},this.#n.client.destroy()),await this.#s(!0))}#c(e){let r=this.#i();return r instanceof oJe.default?e(r):r.then(n=>{if(n!==void 0)return e(n)}).catch(n=>{throw this.#n?.client.isPubSubActive&&(this.#n.client.destroy(),this.#n=void 0),n})}subscribe(e,r,n){return this.#c(s=>s.SUBSCRIBE(e,r,n))}#l(e){return this.#c(async r=>{let n=await e(r);return r.isPubSubActive||(r.destroy(),this.#n=void 0),n})}async unsubscribe(e,r,n){return this.#l(s=>s.UNSUBSCRIBE(e,r,n))}async pSubscribe(e,r,n){return this.#c(s=>s.PSUBSCRIBE(e,r,n))}async pUnsubscribe(e,r,n){return this.#l(s=>s.PUNSUBSCRIBE(e,r,n))}destroy(){this.#a=void 0,this.#n!==void 0&&(this.#n.connectPromise||this.#n.client.destroy(),this.#n=void 0)}};Wb.PubSubProxy=Dre});var lJe=E(Bre=>{"use strict";Object.defineProperty(Bre,"__esModule",{value:!0});var tdr=Ce();Bre.default={parseCommand(t,e){t.push("SENTINEL","MASTER",e)},transformReply:{2:tdr.transformTuplesReply,3:void 0}}});var dJe=E(Lre=>{"use strict";Object.defineProperty(Lre,"__esModule",{value:!0});Lre.default={parseCommand(t,e,r,n,s){t.push("SENTINEL","MONITOR",e,r,n,s)},transformReply:void 0}});var fJe=E(Mre=>{"use strict";Object.defineProperty(Mre,"__esModule",{value:!0});var rdr=Ce();Mre.default={parseCommand(t,e){t.push("SENTINEL","REPLICAS",e)},transformReply:{2:(t,e,r)=>{let n=t,s=[];return n.reduce((i,a)=>(i.push((0,rdr.transformTuplesReply)(a,void 0,r)),i),s)},3:void 0}}});var pJe=E(Wre=>{"use strict";Object.defineProperty(Wre,"__esModule",{value:!0});var ndr=Ce();Wre.default={parseCommand(t,e){t.push("SENTINEL","SENTINELS",e)},transformReply:{2:(t,e,r)=>{let n=t,s=[];return n.reduce((i,a)=>(i.push((0,ndr.transformTuplesReply)(a,void 0,r)),i),s)},3:void 0}}});var mJe=E($re=>{"use strict";Object.defineProperty($re,"__esModule",{value:!0});$re.default={parseCommand(t,e,r){t.push("SENTINEL","SET",e);for(let n of r)t.push(n.option,n.value)},transformReply:void 0}});var bJe=E(tT=>{"use strict";var rT=tT&&tT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tT,"__esModule",{value:!0});var hJe=rT(lJe()),gJe=rT(dJe()),AJe=rT(fJe()),yJe=rT(pJe()),xJe=rT(mJe());tT.default={SENTINEL_SENTINELS:yJe.default,sentinelSentinels:yJe.default,SENTINEL_MASTER:hJe.default,sentinelMaster:hJe.default,SENTINEL_REPLICAS:AJe.default,sentinelReplicas:AJe.default,SENTINEL_MONITOR:gJe.default,sentinelMonitor:gJe.default,SENTINEL_SET:xJe.default,sentinelSet:xJe.default}});var EJe=E(nT=>{"use strict";var sdr=nT&&nT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(nT,"__esModule",{value:!0});var idr=sdr(bJe());nT.default={sentinel:idr.default}});var SJe=E(PL=>{"use strict";Object.defineProperty(PL,"__esModule",{value:!0});PL.WaitQueue=void 0;var _Je=pL(),Fre=class{#e=new _Je.SinglyLinkedList;#t=new _Je.SinglyLinkedList;push(e){let r=this.#t.shift();if(r!==void 0){r(e);return}this.#e.push(e)}shift(){return this.#e.shift()}wait(){return new Promise(e=>this.#t.push(e))}};PL.WaitQueue=Fre});var wJe=E(Cf=>{"use strict";var Hre=Cf&&Cf.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Cf,"__esModule",{value:!0});Cf.RedisSentinelFactory=Cf.RedisSentinelClient=void 0;var Qre=require("node:events"),$b=Hre(Ob()),IJe=Ml(),CJe=yu(),Fn=sJe(),TJe=Hre(aJe()),adr=uJe(),odr=require("node:timers/promises"),kL=Hre(EJe()),cdr=SJe(),vJe=Rb(),sT=class t{#e;#t;_self;get isOpen(){return this._self.#t.isOpen}get isReady(){return this._self.#t.isReady}get commandOptions(){return this._self.#r}#r;constructor(e,r,n){this._self=this,this.#t=e,this.#e=r,this.#r=n}static factory(e){let r=(0,IJe.attachConfig)({BaseClass:t,commands:CJe.NON_STICKY_COMMANDS,createCommand:Fn.createCommand,createModuleCommand:Fn.createModuleCommand,createFunctionCommand:Fn.createFunctionCommand,createScriptCommand:Fn.createScriptCommand,config:e});return r.prototype.Multi=TJe.default.extend(e),(n,s,i)=>Object.create(new r(n,s,i))}static create(e,r,n,s){return t.factory(e)(r,n,s)}withCommandOptions(e){let r=Object.create(this);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this);return n._commandOptions=Object.create(this._self.#r??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}async _execute(e,r){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return await this._self.#t.execute(r,this._self.#e)}async sendCommand(e,r,n){return this._execute(e,s=>s.sendCommand(r,n))}async _executePipeline(e,r){return this._execute(e,n=>n._executePipeline(r))}async _executeMulti(e,r){return this._execute(e,n=>n._executeMulti(r))}MULTI(){return new this.Multi(this)}multi=this.MULTI;WATCH(e){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,r=>r.watch(e))}watch=this.WATCH;UNWATCH(){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,e=>e.unwatch())}unwatch=this.UNWATCH;release(){if(this._self.#e===void 0)throw new Error("RedisSentinelClient lease already released");let e=this._self.#t.releaseClientLease(this._self.#e);return this._self.#e=void 0,e}};Cf.RedisSentinelClient=sT;var Ure=class t extends Qre.EventEmitter{_self;#e;#t;get isOpen(){return this._self.#e.isOpen}get isReady(){return this._self.#e.isReady}get commandOptions(){return this._self.#r}#r;#n=()=>{};#a;#o=0;#s;get clientSideCache(){return this._self.#e.clientSideCache}constructor(e){super(),this._self=this,this.#t=e,e.commandOptions&&(this.#r=e.commandOptions),this.#e=new qre(e),this.#e.on("error",r=>this.emit("error",r)),this.#e.on("topology-change",r=>{this.emit("topology-change",r)||this._self.#n(`RedisSentinel: re-emit for topology-change for ${r.type} event returned false`)})}static factory(e){let r=(0,IJe.attachConfig)({BaseClass:t,commands:CJe.NON_STICKY_COMMANDS,createCommand:Fn.createCommand,createModuleCommand:Fn.createModuleCommand,createFunctionCommand:Fn.createFunctionCommand,createScriptCommand:Fn.createScriptCommand,config:e});return r.prototype.Multi=TJe.default.extend(e),n=>Object.create(new r(n))}static create(e){return t.factory(e)(e)}withCommandOptions(e){let r=Object.create(this);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this);return n._self.#r={...this._self.#r||{},[e]:r},n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}async connect(){return await this._self.#e.connect(),this._self.#t.reserveClient&&(this._self.#a=await this._self.#e.getClientLease()),this}async _execute(e,r){let n;(!e||!this._self.#e.useReplicas)&&(this._self.#a?n=this._self.#a:(this._self.#s??=await this._self.#e.getClientLease(),n=this._self.#s,this._self.#o++));try{return await this._self.#e.execute(r,n)}finally{if(n!==void 0&&n===this._self.#s&&--this._self.#o===0){let s=this._self.#e.releaseClientLease(n);this._self.#s=void 0,s&&await s}}}async use(e){let r=await this._self.#e.getClientLease();try{return await e(sT.create(this._self.#t,this._self.#e,r,this._self.#r))}finally{let n=this._self.#e.releaseClientLease(r);n&&await n}}async sendCommand(e,r,n){return this._execute(e,s=>s.sendCommand(r,n))}async _executePipeline(e,r){return this._execute(e,n=>n._executePipeline(r))}async _executeMulti(e,r){return this._execute(e,n=>n._executeMulti(r))}MULTI(){return new this.Multi(this)}multi=this.MULTI;async close(){return this._self.#e.close()}destroy(){return this._self.#e.destroy()}async SUBSCRIBE(e,r,n){return this._self.#e.subscribe(e,r,n)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(e,r,n){return this._self.#e.unsubscribe(e,r,n)}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(e,r,n){return this._self.#e.pSubscribe(e,r,n)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(e,r,n){return this._self.#e.pUnsubscribe(e,r,n)}pUnsubscribe=this.PUNSUBSCRIBE;async acquire(){let e=await this._self.#e.getClientLease();return sT.create(this._self.#t,this._self.#e,e,this._self.#r)}getSentinelNode(){return this._self.#e.getSentinelNode()}getMasterNode(){return this._self.#e.getMasterNode()}getReplicaNodes(){return this._self.#e.getReplicaNodes()}setTracer(e){e?this._self.#n=r=>{e.push(r)}:this._self.#n=()=>{},this._self.#e.setTracer(e)}};Cf.default=Ure;var qre=class extends Qre.EventEmitter{#e=!1;get isOpen(){return this.#e}#t=!1;get isReady(){return this.#t}#r;#n;#a;#o;#s;#i;#c;#l=!1;#h=0;#p;#d;#f=[];#m;#y;#g=[];#E=0;#S;get useReplicas(){return this.#S>0}#A;#I;#_;#v;#b=!1;#u=()=>{};#x;get clientSideCache(){return this.#x}#P(e){if(e?.clientSideCache&&e?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3")}constructor(e){if(super(),this.#P(e),this.#r=e.name,this.#c=e.RESP,this.#p=Array.from(e.sentinelRootNodes),this.#I=e.maxCommandRediscovers??16,this.#y=e.masterPoolSize??1,this.#S=e.replicaPoolSize??0,this.#o=e.nodeAddressMap,this.#s=e.scanInterval??0,this.#i=e.passthroughClientErrorEvents??!1,this.#n=e.nodeClientOptions?{...e.nodeClientOptions}:{},this.#n.url!==void 0)throw new Error("invalid nodeClientOptions for Sentinel");if(e.clientSideCache)if(e.clientSideCache instanceof vJe.PooledClientSideCacheProvider)this.#x=this.#n.clientSideCache=e.clientSideCache;else{let r=e.clientSideCache;this.#x=this.#n.clientSideCache=new vJe.BasicPooledClientSideCache(r)}if(this.#a=e.sentinelClientOptions?Object.assign({},e.sentinelClientOptions):{},this.#a.modules=kL.default,this.#a.url!==void 0)throw new Error("invalid sentinelClientOptions for Sentinel");this.#m=new cdr.WaitQueue;for(let r=0;r<this.#y;r++)this.#m.push(r);this.#_=new adr.PubSubProxy(this.#n,r=>this.emit("error",r))}#T(e,r,n){let s=(0,Fn.getMappedNode)(e.host,e.port,this.#o);return $b.default.create({RESP:this.#c,...r,socket:{...r.socket,host:s.host,port:s.port,...n!==void 0&&{reconnectStrategy:n}}})}getClientLease(){let e=this.#m.shift();return e!==void 0?Promise.resolve({id:e}):this.#m.wait().then(r=>({id:r}))}releaseClientLease(e){let r=this.#f[e.id];if(r!==void 0){let n=r.resetIfDirty();if(n)return n.then(()=>this.#m.push(e.id))}this.#m.push(e.id)}async connect(){if(this.#e)throw new Error("already attempting to open");try{this.#e=!0,this.#A=this.#C(),await this.#A,this.#t=!0}finally{this.#A=void 0,this.#s>0&&(this.#v=setInterval(this.#O.bind(this),this.#s))}}async#C(){let e=0;for(;;){if(this.#u("starting connect loop"),e+=1,this.#b){this.#u("in #connect and want to destroy");return}try{if(this.#l=!1,await this.transform(this.analyze(await this.observe())),this.#l){this.#u("#connect: anotherReset is true, so continuing");continue}this.#u("#connect: returning");return}catch(r){if(this.#u(`#connect: exception ${r.message}`),!this.#t&&e>this.#I)throw r;r.message!=="no valid master node"&&console.log(r),await(0,odr.setTimeout)(1e3)}finally{this.#u("finished connect")}}}async execute(e,r){let n=0;for(;;){this.#A!==void 0&&await this.#A;let s=this.#R(r);if(!s.isReady){await this.#O();continue}let i=s.options?.socket;this.#u("attemping to send command to "+i?.host+":"+i?.port);try{return await e(s)}catch(a){if(++n>this.#I||!(a instanceof Error))throw a;if(r!==void 0&&(a.message.startsWith("READONLY")||!s.isReady)){await this.#O();continue}throw a}}}async#N(e){return await e.pSubscribe(["switch-master","[-+]sdown","+slave","+sentinel","[-+]odown","+slave-reconf-done"],(r,n)=>{this.#M(n,r)},!0),e}async#M(e,r){this.#u("pubsub control channel message on "+e),this.#O()}#R(e){if(e!==void 0)return this.#f[e.id];if(this.#E>=this.#g.length&&(this.#E=0),this.#g.length==0)throw new Error("no replicas available for read");return this.#g[this.#E++]}async#O(){if(!(this.#t==!1||this.#b==!0)){if(this.#A!==void 0)return this.#l=!0,await this.#A;try{return this.#A=this.#C(),await this.#A}finally{this.#u("finished reconfgure"),this.#A=void 0}}}#k(e){let r=this.#p.findIndex(n=>n.host===e.host&&n.port===e.port);r!==-1&&this.#p.splice(r,1),this.#O()}async close(){this.#b=!0,this.#A!=null&&await this.#A,this.#t=!1,this.#x?.onPoolClose(),this.#v&&(clearInterval(this.#v),this.#v=void 0);let e=[];this.#d!==void 0&&(this.#d.isOpen&&e.push(this.#d.close()),this.#d=void 0);for(let r of this.#f)r.isOpen&&e.push(r.close());this.#f=[];for(let r of this.#g)r.isOpen&&e.push(r.close());this.#g=[],await Promise.all(e),this.#_.destroy(),this.#e=!1}async destroy(){this.#b=!0,this.#A!=null&&await this.#A,this.#t=!1,this.#x?.onPoolClose(),this.#v&&(clearInterval(this.#v),this.#v=void 0),this.#d!==void 0&&(this.#d.isOpen&&this.#d.destroy(),this.#d=void 0);for(let e of this.#f)e.isOpen&&e.destroy();this.#f=[];for(let e of this.#g)e.isOpen&&e.destroy();this.#g=[],this.#_.destroy(),this.#e=!1,this.#b=!1}async subscribe(e,r,n){return this.#_.subscribe(e,r,n)}async unsubscribe(e,r,n){return this.#_.unsubscribe(e,r,n)}async pSubscribe(e,r,n){return this.#_.pSubscribe(e,r,n)}async pUnsubscribe(e,r,n){return this.#_.pUnsubscribe(e,r,n)}async observe(){for(let e of this.#p){let r;try{this.#u(`observe: trying to connect to sentinel: ${e.host}:${e.port}`),r=this.#T(e,this.#a,!1),r.on("error",o=>this.emit("error",`obseve client error: ${o}`)),await r.connect(),this.#u("observe: connected to sentinel");let[n,s,i]=await Promise.all([r.sentinel.sentinelSentinels(this.#r),r.sentinel.sentinelMaster(this.#r),r.sentinel.sentinelReplicas(this.#r)]);return this.#u("observe: got all sentinel data"),{sentinelConnected:e,sentinelData:n,masterData:s,replicaData:i,currentMaster:this.getMasterNode(),currentReplicas:this.getReplicaNodes(),currentSentinel:this.getSentinelNode(),replicaPoolSize:this.#S,useReplicas:this.useReplicas}}catch(n){this.#u(`observe: error ${n}`),this.emit("error",n)}finally{r!==void 0&&r.isOpen&&(this.#u("observe: destroying sentinel client"),r.destroy())}}throw this.#u("observe: none of the sentinels are available"),new Error("None of the sentinels are available")}analyze(e){let r=(0,Fn.parseNode)(e.masterData);if(r===void 0)throw this.#u(`analyze: no valid master node because ${e.masterData.flags}`),new Error("no valid master node");r.host===e.currentMaster?.host&&r.port===e.currentMaster?.port?(this.#u(`analyze: master node hasn't changed from ${e.currentMaster?.host}:${e.currentMaster?.port}`),r=void 0):this.#u(`analyze: master node has changed to ${r.host}:${r.port} from ${e.currentMaster?.host}:${e.currentMaster?.port}`);let n=e.sentinelConnected;n.host===e.currentSentinel?.host&&n.port===e.currentSentinel.port?(this.#u("analyze: sentinel node hasn't changed"),n=void 0):this.#u(`analyze: sentinel node has changed to ${n.host}:${n.port}`);let s=[],i=new Map,a=new Set,o=new Set;if(e.useReplicas){let u=(0,Fn.createNodeList)(e.replicaData);for(let l of u)a.add(JSON.stringify(l));for(let[l,d]of e.currentReplicas)a.has(JSON.stringify(l))?(o.add(JSON.stringify(l)),d!=e.replicaPoolSize&&(i.set(l,e.replicaPoolSize-d),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToOpen`))):(s.push(l),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToClose`));for(let l of u)o.has(JSON.stringify(l))||(i.set(l,e.replicaPoolSize),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToOpen`))}return{sentinelList:[e.sentinelConnected].concat((0,Fn.createNodeList)(e.sentinelData)),epoch:Number(e.masterData["config-epoch"]),sentinelToOpen:n,masterToOpen:r,replicasToClose:s,replicasToOpen:i}}async transform(e){this.#u("transform: enter");let r=[];if(e.sentinelToOpen){this.#u("transform: opening a new sentinel"),this.#d!==void 0&&this.#d.isOpen?(this.#u("transform: destroying old sentinel as open"),this.#d.destroy(),this.#d=void 0):this.#u("transform: not destroying old sentinel as not open"),this.#u(`transform: creating new sentinel to ${e.sentinelToOpen.host}:${e.sentinelToOpen.port}`);let a=e.sentinelToOpen,o=this.#T(e.sentinelToOpen,this.#a,!1);o.on("error",l=>{this.#i&&this.emit("error",new Error(`Sentinel Client (${a.host}:${a.port}): ${l.message}`,{cause:l}));let d={type:"SENTINEL",node:(0,Fn.clientSocketToNode)(o.options.socket),error:l};this.emit("client-error",d),this.#k(a)}).on("end",()=>this.#k(a)),this.#d=o,this.#u("transform: adding sentinel client connect() to promise list");let c=this.#d.connect().then(l=>this.#N(l));r.push(c),this.#u(`created sentinel client to ${e.sentinelToOpen.host}:${e.sentinelToOpen.port}`);let u={type:"SENTINEL_CHANGE",node:e.sentinelToOpen};this.#u("transform: emiting topology-change event for sentinel_change"),this.emit("topology-change",u)||this.#u("transform: emit for topology-change for sentinel_change returned false")}if(e.masterToOpen){this.#u("transform: opening a new master");let a=[],o=[];this.#u("transform: destroying old masters if open");for(let u of this.#f)o.push(u.isWatching||u.isDirtyWatch),u.isOpen&&u.destroy();this.#f=[],this.#u("transform: creating all master clients and adding connect promises");for(let u=0;u<this.#y;u++){let l=e.masterToOpen,d=this.#T(e.masterToOpen,this.#n);d.on("error",f=>{this.#i&&this.emit("error",new Error(`Master Client (${l.host}:${l.port}): ${f.message}`,{cause:f}));let p={type:"MASTER",node:(0,Fn.clientSocketToNode)(d.options.socket),error:f};this.emit("client-error",p)}),o[u]&&d.setDirtyWatch("sentinel config changed in middle of a WATCH Transaction"),this.#f.push(d),a.push(d.connect()),this.#u(`created master client to ${e.masterToOpen.host}:${e.masterToOpen.port}`)}this.#u("transform: adding promise to change #pubSubProxy node"),a.push(this.#_.changeNode(e.masterToOpen)),r.push(...a);let c={type:"MASTER_CHANGE",node:e.masterToOpen};this.#u("transform: emiting topology-change event for master_change"),this.emit("topology-change",c)||this.#u("transform: emit for topology-change for master_change returned false"),this.#h++}let n=new Set;for(let a of e.replicasToClose){let o=JSON.stringify(a);n.add(o)}let s=[],i=new Set;for(let a of this.#g){let o=(0,Fn.clientSocketToNode)(a.options.socket),c=JSON.stringify(o);if(n.has(c)||!a.isOpen){if(a.isOpen){let u=a.options?.socket;this.#u(`destroying replica client to ${u?.host}:${u?.port}`),a.destroy()}if(!i.has(c)){let u={type:"REPLICA_REMOVE",node:o};this.emit("topology-change",u),i.add(c)}}else s.push(a)}if(this.#g=s,e.replicasToOpen.size!=0)for(let[a,o]of e.replicasToOpen){for(let u=0;u<o;u++){let l=this.#T(a,this.#n);l.on("error",d=>{this.#i&&this.emit("error",new Error(`Replica Client (${a.host}:${a.port}): ${d.message}`,{cause:d}));let f={type:"REPLICA",node:(0,Fn.clientSocketToNode)(l.options.socket),error:d};this.emit("client-error",f)}),this.#g.push(l),r.push(l.connect()),this.#u(`created replica client to ${a.host}:${a.port}`)}let c={type:"REPLICA_ADD",node:a};this.emit("topology-change",c)}if(e.sentinelList.length!=this.#p.length){this.#p=e.sentinelList;let a={type:"SENTINE_LIST_CHANGE",size:e.sentinelList.length};this.emit("topology-change",a)}await Promise.all(r),this.#u("transform: exit")}getMasterNode(){if(this.#f.length!=0){for(let e of this.#f)if(e.isReady)return(0,Fn.clientSocketToNode)(e.options.socket)}}getSentinelNode(){if(this.#d!==void 0)return(0,Fn.clientSocketToNode)(this.#d.options.socket)}getReplicaNodes(){let e=new Map,r=new Map;for(let n of this.#g){let s=(0,Fn.clientSocketToNode)(n.options.socket),i=JSON.stringify(s);n.isReady?r.set(i,(r.get(i)??0)+1):r.has(i)||r.set(i,0)}for(let[n,s]of r)e.set(JSON.parse(n),s);return e}setTracer(e){e?this.#u=r=>{e.push(r)}:this.#u=()=>{}}},jre=class extends Qre.EventEmitter{options;#e;#t=-1;constructor(e){super(),this.options=e,this.#e=e.sentinelRootNodes}async updateSentinelRootNodes(){for(let e of this.#e){let r=$b.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:e.host,port:e.port,reconnectStrategy:!1},modules:kL.default}).on("error",n=>this.emit(`updateSentinelRootNodes: ${n}`));try{await r.connect()}catch{r.isOpen&&r.destroy();continue}try{let n=await r.sentinel.sentinelSentinels(this.options.name);this.#e=[e].concat((0,Fn.createNodeList)(n));return}finally{r.destroy()}}throw new Error("Couldn't connect to any sentinel node")}async getMasterNode(){let e=!1;for(let r of this.#e){let n=$b.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:r.host,port:r.port,reconnectStrategy:!1},modules:kL.default}).on("error",s=>this.emit(`getMasterNode: ${s}`));try{await n.connect()}catch{n.isOpen&&n.destroy();continue}e=!0;try{let s=await n.sentinel.sentinelMaster(this.options.name),i=(0,Fn.parseNode)(s);if(i===void 0)continue;return i}finally{n.destroy()}}throw e?new Error("Master Node Not Enumerated"):new Error("couldn't connect to any sentinels")}async getMasterClient(){let e=await this.getMasterNode(),r=(0,Fn.getMappedNode)(e.host,e.port,this.options.nodeAddressMap);return $b.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:r.host,port:r.port}})}async getReplicaNodes(){let e=!1;for(let r of this.#e){let n=$b.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:r.host,port:r.port,reconnectStrategy:!1},modules:kL.default}).on("error",s=>this.emit(`getReplicaNodes: ${s}`));try{await n.connect()}catch{n.isOpen&&n.destroy();continue}e=!0;try{let s=await n.sentinel.sentinelReplicas(this.options.name),i=(0,Fn.createNodeList)(s);if(i.length==0)continue;return i}finally{n.destroy()}}throw e?new Error("No Replicas Nodes Enumerated"):new Error("couldn't connect to any sentinels")}async getReplicaClient(){let e=await this.getReplicaNodes();if(e.length==0)throw new Error("no available replicas");this.#t++,this.#t>=e.length&&(this.#t=0);let r=e[this.#t],n=(0,Fn.getMappedNode)(r.host,r.port,this.options.nodeAddressMap);return $b.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:n.host,port:n.port}})}};Cf.RedisSentinelFactory=jre});var aT=E(Gt=>{"use strict";var udr=Gt&&Gt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),ldr=Gt&&Gt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&udr(e,t,r)},Gre=Gt&&Gt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Gt,"__esModule",{value:!0});Gt.BasicPooledClientSideCache=Gt.BasicClientSideCache=Gt.REDIS_FLUSH_MODES=Gt.COMMAND_LIST_FILTER_BY=Gt.CLUSTER_SLOT_STATES=Gt.FAILOVER_MODES=Gt.CLIENT_KILL_FILTERS=Gt.GEO_REPLY_WITH=Gt.createSentinel=Gt.createCluster=Gt.createClientPool=Gt.createClient=Gt.digest=Gt.defineScript=Gt.VerbatimString=Gt.RESP_TYPES=void 0;var ddr=eL();Object.defineProperty(Gt,"RESP_TYPES",{enumerable:!0,get:function(){return ddr.RESP_TYPES}});var fdr=fz();Object.defineProperty(Gt,"VerbatimString",{enumerable:!0,get:function(){return fdr.VerbatimString}});var pdr=rWe();Object.defineProperty(Gt,"defineScript",{enumerable:!0,get:function(){return pdr.defineScript}});var mdr=nWe();Object.defineProperty(Gt,"digest",{enumerable:!0,get:function(){return mdr.digest}});ldr(Ol(),Gt);var hdr=Gre(Ob());Gt.createClient=hdr.default.create;var gdr=wre();Gt.createClientPool=gdr.RedisClientPool.create;var Adr=Gre(rJe());Gt.createCluster=Adr.default.create;var ydr=Gre(wJe());Gt.createSentinel=ydr.default.create;var xdr=XI();Object.defineProperty(Gt,"GEO_REPLY_WITH",{enumerable:!0,get:function(){return xdr.GEO_REPLY_WITH}});var iT=yu();Object.defineProperty(Gt,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return iT.CLIENT_KILL_FILTERS}});Object.defineProperty(Gt,"FAILOVER_MODES",{enumerable:!0,get:function(){return iT.FAILOVER_MODES}});Object.defineProperty(Gt,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return iT.CLUSTER_SLOT_STATES}});Object.defineProperty(Gt,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return iT.COMMAND_LIST_FILTER_BY}});Object.defineProperty(Gt,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return iT.REDIS_FLUSH_MODES}});var RJe=Rb();Object.defineProperty(Gt,"BasicClientSideCache",{enumerable:!0,get:function(){return RJe.BasicClientSideCache}});Object.defineProperty(Gt,"BasicPooledClientSideCache",{enumerable:!0,get:function(){return RJe.BasicPooledClientSideCache}})});var NJe=E(Kre=>{"use strict";Object.defineProperty(Kre,"__esModule",{value:!0});var bdr=Ce();Kre.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BF.ADD"),t.pushKey(e),t.push(r)},transformReply:bdr.transformBooleanReply}});var OJe=E(Vre=>{"use strict";Object.defineProperty(Vre,"__esModule",{value:!0});Vre.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("BF.CARD"),t.pushKey(e)},transformReply:void 0}});var PJe=E(zre=>{"use strict";Object.defineProperty(zre,"__esModule",{value:!0});var Edr=Ce();zre.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BF.EXISTS"),t.pushKey(e),t.push(r)},transformReply:Edr.transformBooleanReply}});var Yre=E(DL=>{"use strict";Object.defineProperty(DL,"__esModule",{value:!0});DL.transformInfoV2Reply=void 0;var _dr=aT();function Sdr(t,e){switch(e?e[_dr.RESP_TYPES.MAP]:void 0){case Array:return t;case Map:{let n=new Map;for(let s=0;s<t.length;s+=2)n.set(t[s].toString(),t[s+1]);return n}default:{let n=Object.create(null);for(let s=0;s<t.length;s+=2)n[t[s].toString()]=t[s+1];return n}}}DL.transformInfoV2Reply=Sdr});var kJe=E(Jre=>{"use strict";Object.defineProperty(Jre,"__esModule",{value:!0});var vdr=Yre();Jre.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("BF.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,vdr.transformInfoV2Reply)(t,r),3:void 0}}});var DJe=E(Xre=>{"use strict";Object.defineProperty(Xre,"__esModule",{value:!0});var Idr=Ce();Xre.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BF.INSERT"),t.pushKey(e),n?.CAPACITY!==void 0&&t.push("CAPACITY",n.CAPACITY.toString()),n?.ERROR!==void 0&&t.push("ERROR",n.ERROR.toString()),n?.EXPANSION!==void 0&&t.push("EXPANSION",n.EXPANSION.toString()),n?.NOCREATE&&t.push("NOCREATE"),n?.NONSCALING&&t.push("NONSCALING"),t.push("ITEMS"),t.pushVariadic(r)},transformReply:Idr.transformBooleanArrayReply}});var BJe=E(Zre=>{"use strict";Object.defineProperty(Zre,"__esModule",{value:!0});Zre.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BF.LOADCHUNK"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var LJe=E(ene=>{"use strict";Object.defineProperty(ene,"__esModule",{value:!0});var Cdr=Ce();ene.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BF.MADD"),t.pushKey(e),t.pushVariadic(r)},transformReply:Cdr.transformBooleanArrayReply}});var MJe=E(tne=>{"use strict";Object.defineProperty(tne,"__esModule",{value:!0});var Tdr=Ce();tne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BF.MEXISTS"),t.pushKey(e),t.pushVariadic(r)},transformReply:Tdr.transformBooleanArrayReply}});var WJe=E(rne=>{"use strict";Object.defineProperty(rne,"__esModule",{value:!0});rne.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("BF.RESERVE"),t.pushKey(e),t.push(r.toString(),n.toString()),s?.EXPANSION&&t.push("EXPANSION",s.EXPANSION.toString()),s?.NONSCALING&&t.push("NONSCALING")},transformReply:void 0}});var $Je=E(nne=>{"use strict";Object.defineProperty(nne,"__esModule",{value:!0});nne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BF.SCANDUMP"),t.pushKey(e),t.push(r.toString())},transformReply(t){return{iterator:t[0],chunk:t[1]}}}});var Fb=E($l=>{"use strict";var wdr=$l&&$l.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Rdr=$l&&$l.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&wdr(e,t,r)},Fl=$l&&$l.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($l,"__esModule",{value:!0});var FJe=Fl(NJe()),UJe=Fl(OJe()),qJe=Fl(PJe()),jJe=Fl(kJe()),HJe=Fl(DJe()),QJe=Fl(BJe()),GJe=Fl(LJe()),KJe=Fl(MJe()),VJe=Fl(WJe()),zJe=Fl($Je());Rdr(Yre(),$l);$l.default={ADD:FJe.default,add:FJe.default,CARD:UJe.default,card:UJe.default,EXISTS:qJe.default,exists:qJe.default,INFO:jJe.default,info:jJe.default,INSERT:HJe.default,insert:HJe.default,LOADCHUNK:QJe.default,loadChunk:QJe.default,MADD:GJe.default,mAdd:GJe.default,MEXISTS:KJe.default,mExists:KJe.default,RESERVE:VJe.default,reserve:VJe.default,SCANDUMP:zJe.default,scanDump:zJe.default}});var JJe=E(sne=>{"use strict";Object.defineProperty(sne,"__esModule",{value:!0});sne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){if(t.push("CMS.INCRBY"),t.pushKey(e),Array.isArray(r))for(let n of r)YJe(t,n);else YJe(t,r)},transformReply:void 0};function YJe(t,{item:e,incrementBy:r}){t.push(e,r.toString())}});var XJe=E(ine=>{"use strict";Object.defineProperty(ine,"__esModule",{value:!0});var Ndr=Fb();ine.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("CMS.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Ndr.transformInfoV2Reply)(t,r),3:void 0}}});var ZJe=E(ane=>{"use strict";Object.defineProperty(ane,"__esModule",{value:!0});ane.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CMS.INITBYDIM"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var eXe=E(one=>{"use strict";Object.defineProperty(one,"__esModule",{value:!0});one.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CMS.INITBYPROB"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var tXe=E(cne=>{"use strict";Object.defineProperty(cne,"__esModule",{value:!0});cne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){if(t.push("CMS.MERGE"),t.pushKey(e),t.push(r.length.toString()),Odr(r))t.pushVariadic(r);else{for(let n=0;n<r.length;n++)t.push(r[n].name);t.push("WEIGHTS");for(let n=0;n<r.length;n++)t.push(r[n].weight.toString())}},transformReply:void 0};function Odr(t){return typeof t[0]=="string"||t[0]instanceof Buffer}});var rXe=E(une=>{"use strict";Object.defineProperty(une,"__esModule",{value:!0});une.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CMS.QUERY"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var uXe=E(oT=>{"use strict";var Ub=oT&&oT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(oT,"__esModule",{value:!0});var nXe=Ub(JJe()),sXe=Ub(XJe()),iXe=Ub(ZJe()),aXe=Ub(eXe()),oXe=Ub(tXe()),cXe=Ub(rXe());oT.default={INCRBY:nXe.default,incrBy:nXe.default,INFO:sXe.default,info:sXe.default,INITBYDIM:iXe.default,initByDim:iXe.default,INITBYPROB:aXe.default,initByProb:aXe.default,MERGE:oXe.default,merge:oXe.default,QUERY:cXe.default,query:cXe.default}});var lXe=E(lne=>{"use strict";Object.defineProperty(lne,"__esModule",{value:!0});var Pdr=Ce();lne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.ADD"),t.pushKey(e),t.push(r)},transformReply:Pdr.transformBooleanReply}});var dXe=E(dne=>{"use strict";Object.defineProperty(dne,"__esModule",{value:!0});var kdr=Ce();dne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.ADDNX"),t.pushKey(e),t.push(r)},transformReply:kdr.transformBooleanReply}});var fXe=E(fne=>{"use strict";Object.defineProperty(fne,"__esModule",{value:!0});fne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CF.COUNT"),t.pushKey(e),t.push(r)},transformReply:void 0}});var pXe=E(pne=>{"use strict";Object.defineProperty(pne,"__esModule",{value:!0});var Ddr=Ce();pne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.DEL"),t.pushKey(e),t.push(r)},transformReply:Ddr.transformBooleanReply}});var mXe=E(mne=>{"use strict";Object.defineProperty(mne,"__esModule",{value:!0});var Bdr=Ce();mne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.EXISTS"),t.pushKey(e),t.push(r)},transformReply:Bdr.transformBooleanReply}});var hXe=E(hne=>{"use strict";Object.defineProperty(hne,"__esModule",{value:!0});var Ldr=Fb();hne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("CF.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Ldr.transformInfoV2Reply)(t,r),3:void 0}}});var gne=E(cT=>{"use strict";Object.defineProperty(cT,"__esModule",{value:!0});cT.parseCfInsertArguments=void 0;var Mdr=Ce();function gXe(t,e,r,n){t.pushKey(e),n?.CAPACITY!==void 0&&t.push("CAPACITY",n.CAPACITY.toString()),n?.NOCREATE&&t.push("NOCREATE"),t.push("ITEMS"),t.pushVariadic(r)}cT.parseCfInsertArguments=gXe;cT.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("CF.INSERT"),gXe(...t)},transformReply:Mdr.transformBooleanArrayReply}});var AXe=E(Tf=>{"use strict";var Wdr=Tf&&Tf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),$dr=Tf&&Tf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Fdr=Tf&&Tf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Wdr(e,t,r);return $dr(e,t),e};Object.defineProperty(Tf,"__esModule",{value:!0});var Ane=Fdr(gne());Tf.default={IS_READ_ONLY:Ane.default.IS_READ_ONLY,parseCommand(...t){t[0].push("CF.INSERTNX"),(0,Ane.parseCfInsertArguments)(...t)},transformReply:Ane.default.transformReply}});var yXe=E(yne=>{"use strict";Object.defineProperty(yne,"__esModule",{value:!0});yne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CF.LOADCHUNK"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var xXe=E(xne=>{"use strict";Object.defineProperty(xne,"__esModule",{value:!0});xne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CF.RESERVE"),t.pushKey(e),t.push(r.toString()),n?.BUCKETSIZE!==void 0&&t.push("BUCKETSIZE",n.BUCKETSIZE.toString()),n?.MAXITERATIONS!==void 0&&t.push("MAXITERATIONS",n.MAXITERATIONS.toString()),n?.EXPANSION!==void 0&&t.push("EXPANSION",n.EXPANSION.toString())},transformReply:void 0}});var bXe=E(bne=>{"use strict";Object.defineProperty(bne,"__esModule",{value:!0});bne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CF.SCANDUMP"),t.pushKey(e),t.push(r.toString())},transformReply(t){return{iterator:t[0],chunk:t[1]}}}});var PXe=E(uT=>{"use strict";var _u=uT&&uT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uT,"__esModule",{value:!0});var EXe=_u(lXe()),_Xe=_u(dXe()),SXe=_u(fXe()),vXe=_u(pXe()),IXe=_u(mXe()),CXe=_u(hXe()),TXe=_u(gne()),wXe=_u(AXe()),RXe=_u(yXe()),NXe=_u(xXe()),OXe=_u(bXe());uT.default={ADD:EXe.default,add:EXe.default,ADDNX:_Xe.default,addNX:_Xe.default,COUNT:SXe.default,count:SXe.default,DEL:vXe.default,del:vXe.default,EXISTS:IXe.default,exists:IXe.default,INFO:CXe.default,info:CXe.default,INSERT:TXe.default,insert:TXe.default,INSERTNX:wXe.default,insertNX:wXe.default,LOADCHUNK:RXe.default,loadChunk:RXe.default,RESERVE:NXe.default,reserve:NXe.default,SCANDUMP:OXe.default,scanDump:OXe.default}});var kXe=E(Ene=>{"use strict";Object.defineProperty(Ene,"__esModule",{value:!0});Ene.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TDIGEST.ADD"),t.pushKey(e);for(let n of r)t.push(n.toString())},transformReply:void 0}});var _ne=E(lT=>{"use strict";Object.defineProperty(lT,"__esModule",{value:!0});lT.transformByRankArguments=void 0;var Udr=Ce();function DXe(t,e,r){t.pushKey(e);for(let n of r)t.push(n.toString())}lT.transformByRankArguments=DXe;lT.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("TDIGEST.BYRANK"),DXe(...t)},transformReply:Udr.transformDoubleArrayReply}});var BXe=E(wf=>{"use strict";var qdr=wf&&wf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),jdr=wf&&wf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Hdr=wf&&wf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&qdr(e,t,r);return jdr(e,t),e};Object.defineProperty(wf,"__esModule",{value:!0});var Sne=Hdr(_ne());wf.default={IS_READ_ONLY:Sne.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TDIGEST.BYREVRANK"),(0,Sne.transformByRankArguments)(...t)},transformReply:Sne.default.transformReply}});var LXe=E(vne=>{"use strict";Object.defineProperty(vne,"__esModule",{value:!0});var Qdr=Ce();vne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TDIGEST.CDF"),t.pushKey(e);for(let n of r)t.push(n.toString())},transformReply:Qdr.transformDoubleArrayReply}});var MXe=E(Ine=>{"use strict";Object.defineProperty(Ine,"__esModule",{value:!0});Ine.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TDIGEST.CREATE"),t.pushKey(e),r?.COMPRESSION!==void 0&&t.push("COMPRESSION",r.COMPRESSION.toString())},transformReply:void 0}});var WXe=E(Cne=>{"use strict";Object.defineProperty(Cne,"__esModule",{value:!0});var Gdr=Fb();Cne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TDIGEST.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Gdr.transformInfoV2Reply)(t,r),3:void 0}}});var $Xe=E(Tne=>{"use strict";Object.defineProperty(Tne,"__esModule",{value:!0});var Kdr=Ce();Tne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TDIGEST.MAX"),t.pushKey(e)},transformReply:Kdr.transformDoubleReply}});var FXe=E(wne=>{"use strict";Object.defineProperty(wne,"__esModule",{value:!0});wne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("TDIGEST.MERGE"),t.pushKey(e),t.pushKeysLength(r),n?.COMPRESSION!==void 0&&t.push("COMPRESSION",n.COMPRESSION.toString()),n?.OVERRIDE&&t.push("OVERRIDE")},transformReply:void 0}});var UXe=E(Rne=>{"use strict";Object.defineProperty(Rne,"__esModule",{value:!0});var Vdr=Ce();Rne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TDIGEST.MIN"),t.pushKey(e)},transformReply:Vdr.transformDoubleReply}});var qXe=E(Nne=>{"use strict";Object.defineProperty(Nne,"__esModule",{value:!0});var zdr=Ce();Nne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TDIGEST.QUANTILE"),t.pushKey(e);for(let n of r)t.push(n.toString())},transformReply:zdr.transformDoubleArrayReply}});var One=E(dT=>{"use strict";Object.defineProperty(dT,"__esModule",{value:!0});dT.transformRankArguments=void 0;function jXe(t,e,r){t.pushKey(e);for(let n of r)t.push(n.toString())}dT.transformRankArguments=jXe;dT.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("TDIGEST.RANK"),jXe(...t)},transformReply:void 0}});var HXe=E(Pne=>{"use strict";Object.defineProperty(Pne,"__esModule",{value:!0});Pne.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("TDIGEST.RESET"),t.pushKey(e)},transformReply:void 0}});var QXe=E(Rf=>{"use strict";var Ydr=Rf&&Rf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Jdr=Rf&&Rf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Xdr=Rf&&Rf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Ydr(e,t,r);return Jdr(e,t),e};Object.defineProperty(Rf,"__esModule",{value:!0});var kne=Xdr(One());Rf.default={IS_READ_ONLY:kne.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TDIGEST.REVRANK"),(0,kne.transformRankArguments)(...t)},transformReply:kne.default.transformReply}});var GXe=E(Dne=>{"use strict";Object.defineProperty(Dne,"__esModule",{value:!0});var Zdr=Ce();Dne.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("TDIGEST.TRIMMED_MEAN"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:Zdr.transformDoubleReply}});var oZe=E(fT=>{"use strict";var oo=fT&&fT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fT,"__esModule",{value:!0});var KXe=oo(kXe()),VXe=oo(_ne()),zXe=oo(BXe()),YXe=oo(LXe()),JXe=oo(MXe()),XXe=oo(WXe()),ZXe=oo($Xe()),eZe=oo(FXe()),tZe=oo(UXe()),rZe=oo(qXe()),nZe=oo(One()),sZe=oo(HXe()),iZe=oo(QXe()),aZe=oo(GXe());fT.default={ADD:KXe.default,add:KXe.default,BYRANK:VXe.default,byRank:VXe.default,BYREVRANK:zXe.default,byRevRank:zXe.default,CDF:YXe.default,cdf:YXe.default,CREATE:JXe.default,create:JXe.default,INFO:XXe.default,info:XXe.default,MAX:ZXe.default,max:ZXe.default,MERGE:eZe.default,merge:eZe.default,MIN:tZe.default,min:tZe.default,QUANTILE:rZe.default,quantile:rZe.default,RANK:nZe.default,rank:nZe.default,RESET:sZe.default,reset:sZe.default,REVRANK:iZe.default,revRank:iZe.default,TRIMMED_MEAN:aZe.default,trimmedMean:aZe.default}});var cZe=E(Bne=>{"use strict";Object.defineProperty(Bne,"__esModule",{value:!0});Bne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TOPK.ADD"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var uZe=E(Lne=>{"use strict";Object.defineProperty(Lne,"__esModule",{value:!0});Lne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TOPK.COUNT"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var dZe=E(Mne=>{"use strict";Object.defineProperty(Mne,"__esModule",{value:!0});function lZe(t,{item:e,incrementBy:r}){t.push(e,r.toString())}Mne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){if(t.push("TOPK.INCRBY"),t.pushKey(e),Array.isArray(r))for(let n of r)lZe(t,n);else lZe(t,r)},transformReply:void 0}});var fZe=E(Wne=>{"use strict";Object.defineProperty(Wne,"__esModule",{value:!0});var efr=Ce(),tfr=Fb();Wne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TOPK.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(t[7]=efr.transformDoubleReply[2](t[7],e,r),(0,tfr.transformInfoV2Reply)(t,r)),3:void 0}}});var pZe=E($ne=>{"use strict";Object.defineProperty($ne,"__esModule",{value:!0});$ne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TOPK.LIST"),t.pushKey(e),t.push("WITHCOUNT")},transformReply(t){let e=[];for(let r=0;r<t.length;r++)e.push({item:t[r],count:t[++r]});return e}}});var mZe=E(Fne=>{"use strict";Object.defineProperty(Fne,"__esModule",{value:!0});Fne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TOPK.LIST"),t.pushKey(e)},transformReply:void 0}});var hZe=E(Une=>{"use strict";Object.defineProperty(Une,"__esModule",{value:!0});var rfr=Ce();Une.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TOPK.QUERY"),t.pushKey(e),t.pushVariadic(r)},transformReply:rfr.transformBooleanArrayReply}});var gZe=E(qne=>{"use strict";Object.defineProperty(qne,"__esModule",{value:!0});qne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("TOPK.RESERVE"),t.pushKey(e),t.push(r.toString()),n&&t.push(n.width.toString(),n.depth.toString(),n.decay.toString())},transformReply:void 0}});var IZe=E(pT=>{"use strict";var Q0=pT&&pT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pT,"__esModule",{value:!0});var AZe=Q0(cZe()),yZe=Q0(uZe()),xZe=Q0(dZe()),bZe=Q0(fZe()),EZe=Q0(pZe()),_Ze=Q0(mZe()),SZe=Q0(hZe()),vZe=Q0(gZe());pT.default={ADD:AZe.default,add:AZe.default,COUNT:yZe.default,count:yZe.default,INCRBY:xZe.default,incrBy:xZe.default,INFO:bZe.default,info:bZe.default,LIST_WITHCOUNT:EZe.default,listWithCount:EZe.default,LIST:_Ze.default,list:_Ze.default,QUERY:SZe.default,query:SZe.default,RESERVE:vZe.default,reserve:vZe.default}});var CZe=E(mT=>{"use strict";var hT=mT&&mT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mT,"__esModule",{value:!0});var nfr=hT(Fb()),sfr=hT(uXe()),ifr=hT(PXe()),afr=hT(oZe()),ofr=hT(IZe());mT.default={bf:nfr.default,cms:sfr.default,cf:ifr.default,tDigest:afr.default,topK:ofr.default}});var jne=E(qb=>{"use strict";var cfr=qb&&qb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(qb,"__esModule",{value:!0});qb.default=void 0;var ufr=CZe();Object.defineProperty(qb,"default",{enumerable:!0,get:function(){return cfr(ufr).default}})});var wZe=E(Hne=>{"use strict";Object.defineProperty(Hne,"__esModule",{value:!0});var TZe=Ce();Hne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,...s){t.push("JSON.ARRAPPEND"),t.pushKey(e),t.push(r,(0,TZe.transformRedisJsonArgument)(n));for(let i=0;i<s.length;i++)t.push((0,TZe.transformRedisJsonArgument)(s[i]))},transformReply:void 0}});var RZe=E(Qne=>{"use strict";Object.defineProperty(Qne,"__esModule",{value:!0});var lfr=Ce();Qne.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("JSON.ARRINDEX"),t.pushKey(e),t.push(r,(0,lfr.transformRedisJsonArgument)(n)),s?.range&&(t.push(s.range.start.toString()),s.range.stop!==void 0&&t.push(s.range.stop.toString()))},transformReply:void 0}});var OZe=E(Gne=>{"use strict";Object.defineProperty(Gne,"__esModule",{value:!0});var NZe=Ce();Gne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,...i){t.push("JSON.ARRINSERT"),t.pushKey(e),t.push(r,n.toString(),(0,NZe.transformRedisJsonArgument)(s));for(let a=0;a<i.length;a++)t.push((0,NZe.transformRedisJsonArgument)(i[a]))},transformReply:void 0}});var PZe=E(Kne=>{"use strict";Object.defineProperty(Kne,"__esModule",{value:!0});Kne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.ARRLEN"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var kZe=E(zne=>{"use strict";Object.defineProperty(zne,"__esModule",{value:!0});var Vne=Ce();zne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.ARRPOP"),t.pushKey(e),r&&(t.push(r.path),r.index!==void 0&&t.push(r.index.toString()))},transformReply(t){return(0,Vne.isArrayReply)(t)?t.map(e=>(0,Vne.transformRedisJsonNullReply)(e)):(0,Vne.transformRedisJsonNullReply)(t)}}});var DZe=E(Yne=>{"use strict";Object.defineProperty(Yne,"__esModule",{value:!0});Yne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("JSON.ARRTRIM"),t.pushKey(e),t.push(r,n.toString(),s.toString())},transformReply:void 0}});var BZe=E(Jne=>{"use strict";Object.defineProperty(Jne,"__esModule",{value:!0});Jne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.CLEAR"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var LZe=E(Xne=>{"use strict";Object.defineProperty(Xne,"__esModule",{value:!0});Xne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.DEBUG","MEMORY"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var MZe=E(Zne=>{"use strict";Object.defineProperty(Zne,"__esModule",{value:!0});Zne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.DEL"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var WZe=E(ese=>{"use strict";Object.defineProperty(ese,"__esModule",{value:!0});ese.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.FORGET"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var $Ze=E(tse=>{"use strict";Object.defineProperty(tse,"__esModule",{value:!0});var dfr=Ce();tse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.GET"),t.pushKey(e),r?.path!==void 0&&t.pushVariadic(r.path)},transformReply:dfr.transformRedisJsonNullReply}});var FZe=E(rse=>{"use strict";Object.defineProperty(rse,"__esModule",{value:!0});var ffr=Ce();rse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.MERGE"),t.pushKey(e),t.push(r,(0,ffr.transformRedisJsonArgument)(n))},transformReply:void 0}});var UZe=E(nse=>{"use strict";Object.defineProperty(nse,"__esModule",{value:!0});var pfr=Ce();nse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.MGET"),t.pushKeys(e),t.push(r)},transformReply(t){return t.map(e=>(0,pfr.transformRedisJsonNullReply)(e))}}});var qZe=E(sse=>{"use strict";Object.defineProperty(sse,"__esModule",{value:!0});var mfr=Ce();sse.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("JSON.MSET");for(let r=0;r<e.length;r++)t.pushKey(e[r].key),t.push(e[r].path,(0,mfr.transformRedisJsonArgument)(e[r].value))},transformReply:void 0}});var ase=E(ise=>{"use strict";Object.defineProperty(ise,"__esModule",{value:!0});ise.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.NUMINCRBY"),t.pushKey(e),t.push(r,n.toString())},transformReply:{2:t=>JSON.parse(t.toString()),3:void 0}}});var jZe=E(gT=>{"use strict";var hfr=gT&&gT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gT,"__esModule",{value:!0});var gfr=hfr(ase());gT.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.NUMMULTBY"),t.pushKey(e),t.push(r,n.toString())},transformReply:gfr.default.transformReply}});var HZe=E(ose=>{"use strict";Object.defineProperty(ose,"__esModule",{value:!0});ose.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.OBJKEYS"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var QZe=E(cse=>{"use strict";Object.defineProperty(cse,"__esModule",{value:!0});cse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.OBJLEN"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var GZe=E(use=>{"use strict";Object.defineProperty(use,"__esModule",{value:!0});var Afr=Ce();use.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("JSON.SET"),t.pushKey(e),t.push(r,(0,Afr.transformRedisJsonArgument)(n)),s?.condition?t.push(s?.condition):s?.NX?t.push("NX"):s?.XX&&t.push("XX")},transformReply:void 0}});var KZe=E(lse=>{"use strict";Object.defineProperty(lse,"__esModule",{value:!0});var yfr=Ce();lse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.STRAPPEND"),t.pushKey(e),n?.path!==void 0&&t.push(n.path),t.push((0,yfr.transformRedisJsonArgument)(r))},transformReply:void 0}});var VZe=E(dse=>{"use strict";Object.defineProperty(dse,"__esModule",{value:!0});dse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.STRLEN"),t.pushKey(e),r?.path&&t.push(r.path)},transformReply:void 0}});var zZe=E(fse=>{"use strict";Object.defineProperty(fse,"__esModule",{value:!0});fse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.TOGGLE"),t.pushKey(e),t.push(r)},transformReply:void 0}});var YZe=E(pse=>{"use strict";Object.defineProperty(pse,"__esModule",{value:!0});pse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.TYPE"),t.pushKey(e),r?.path&&t.push(r.path)},transformReply:{2:void 0,3:t=>t[0]}}});var Eet=E(Su=>{"use strict";var Gn=Su&&Su.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Su,"__esModule",{value:!0});Su.transformRedisJsonNullReply=Su.transformRedisJsonReply=Su.transformRedisJsonArgument=void 0;var JZe=Gn(wZe()),XZe=Gn(RZe()),ZZe=Gn(OZe()),eet=Gn(PZe()),tet=Gn(kZe()),ret=Gn(DZe()),net=Gn(BZe()),set=Gn(LZe()),iet=Gn(MZe()),aet=Gn(WZe()),oet=Gn($Ze()),cet=Gn(FZe()),uet=Gn(UZe()),det=Gn(qZe()),fet=Gn(ase()),pet=Gn(jZe()),met=Gn(HZe()),het=Gn(QZe()),get=Gn(GZe()),Aet=Gn(KZe()),yet=Gn(VZe()),xet=Gn(zZe()),bet=Gn(YZe()),mse=Ce();Object.defineProperty(Su,"transformRedisJsonArgument",{enumerable:!0,get:function(){return mse.transformRedisJsonArgument}});Object.defineProperty(Su,"transformRedisJsonReply",{enumerable:!0,get:function(){return mse.transformRedisJsonReply}});Object.defineProperty(Su,"transformRedisJsonNullReply",{enumerable:!0,get:function(){return mse.transformRedisJsonNullReply}});Su.default={ARRAPPEND:JZe.default,arrAppend:JZe.default,ARRINDEX:XZe.default,arrIndex:XZe.default,ARRINSERT:ZZe.default,arrInsert:ZZe.default,ARRLEN:eet.default,arrLen:eet.default,ARRPOP:tet.default,arrPop:tet.default,ARRTRIM:ret.default,arrTrim:ret.default,CLEAR:net.default,clear:net.default,DEBUG_MEMORY:set.default,debugMemory:set.default,DEL:iet.default,del:iet.default,FORGET:aet.default,forget:aet.default,GET:oet.default,get:oet.default,MERGE:cet.default,merge:cet.default,MGET:uet.default,mGet:uet.default,MSET:det.default,mSet:det.default,NUMINCRBY:fet.default,numIncrBy:fet.default,NUMMULTBY:pet.default,numMultBy:pet.default,OBJKEYS:met.default,objKeys:met.default,OBJLEN:het.default,objLen:het.default,SET:get.default,set:get.default,STRAPPEND:Aet.default,strAppend:Aet.default,STRLEN:yet.default,strLen:yet.default,TOGGLE:xet.default,toggle:xet.default,TYPE:bet.default,type:bet.default}});var hse=E(jb=>{"use strict";var xfr=jb&&jb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jb,"__esModule",{value:!0});jb.default=void 0;var bfr=Eet();Object.defineProperty(jb,"default",{enumerable:!0,get:function(){return xfr(bfr).default}})});var _et=E(gse=>{"use strict";Object.defineProperty(gse,"__esModule",{value:!0});gse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FT._LIST")},transformReply:{2:void 0,3:void 0}}});var BL=E(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.REDISEARCH_LANGUAGE=Cn.parseSchema=Cn.SCHEMA_GEO_SHAPE_COORD_SYSTEM=Cn.VAMANA_COMPRESSION_ALGORITHM=Cn.SCHEMA_VECTOR_FIELD_ALGORITHM=Cn.SCHEMA_TEXT_FIELD_PHONETIC=Cn.SCHEMA_FIELD_TYPE=void 0;var vet=Ce();Cn.SCHEMA_FIELD_TYPE={TEXT:"TEXT",NUMERIC:"NUMERIC",GEO:"GEO",TAG:"TAG",VECTOR:"VECTOR",GEOSHAPE:"GEOSHAPE"};Cn.SCHEMA_TEXT_FIELD_PHONETIC={DM_EN:"dm:en",DM_FR:"dm:fr",DM_PT:"dm:pt",DM_ES:"dm:es"};Cn.SCHEMA_VECTOR_FIELD_ALGORITHM={FLAT:"FLAT",HNSW:"HNSW",VAMANA:"SVS-VAMANA"};Cn.VAMANA_COMPRESSION_ALGORITHM={LVQ4:"LVQ4",LVQ8:"LVQ8",LVQ4x4:"LVQ4x4",LVQ4x8:"LVQ4x8",LeanVec4x8:"LeanVec4x8",LeanVec8x8:"LeanVec8x8"};Cn.SCHEMA_GEO_SHAPE_COORD_SYSTEM={SPHERICAL:"SPHERICAL",FLAT:"FLAT"};function Ase(t,e){e.SORTABLE&&(t.push("SORTABLE"),e.SORTABLE==="UNF"&&t.push("UNF")),e.NOINDEX&&t.push("NOINDEX")}function Iet(t,e){for(let[r,n]of Object.entries(e)){let s=Array.isArray(n)?n:[n];for(let i of s){if(t.push(r),typeof i=="string"){t.push(i);continue}switch(i.AS&&t.push("AS",i.AS),t.push(i.type),i.INDEXMISSING&&t.push("INDEXMISSING"),i.type){case Cn.SCHEMA_FIELD_TYPE.TEXT:i.NOSTEM&&t.push("NOSTEM"),i.WEIGHT!==void 0&&t.push("WEIGHT",i.WEIGHT.toString()),i.PHONETIC&&t.push("PHONETIC",i.PHONETIC),i.WITHSUFFIXTRIE&&t.push("WITHSUFFIXTRIE"),i.INDEXEMPTY&&t.push("INDEXEMPTY"),Ase(t,i);break;case Cn.SCHEMA_FIELD_TYPE.NUMERIC:case Cn.SCHEMA_FIELD_TYPE.GEO:Ase(t,i);break;case Cn.SCHEMA_FIELD_TYPE.TAG:i.SEPARATOR&&t.push("SEPARATOR",i.SEPARATOR),i.CASESENSITIVE&&t.push("CASESENSITIVE"),i.WITHSUFFIXTRIE&&t.push("WITHSUFFIXTRIE"),i.INDEXEMPTY&&t.push("INDEXEMPTY"),Ase(t,i);break;case Cn.SCHEMA_FIELD_TYPE.VECTOR:t.push(i.ALGORITHM);let a=[];switch(a.push("TYPE",i.TYPE,"DIM",i.DIM.toString(),"DISTANCE_METRIC",i.DISTANCE_METRIC),i.INITIAL_CAP!==void 0&&a.push("INITIAL_CAP",i.INITIAL_CAP.toString()),i.ALGORITHM){case Cn.SCHEMA_VECTOR_FIELD_ALGORITHM.FLAT:i.BLOCK_SIZE!==void 0&&a.push("BLOCK_SIZE",i.BLOCK_SIZE.toString());break;case Cn.SCHEMA_VECTOR_FIELD_ALGORITHM.HNSW:i.M!==void 0&&a.push("M",i.M.toString()),i.EF_CONSTRUCTION!==void 0&&a.push("EF_CONSTRUCTION",i.EF_CONSTRUCTION.toString()),i.EF_RUNTIME!==void 0&&a.push("EF_RUNTIME",i.EF_RUNTIME.toString());break;case Cn.SCHEMA_VECTOR_FIELD_ALGORITHM.VAMANA:i.COMPRESSION&&a.push("COMPRESSION",i.COMPRESSION),i.CONSTRUCTION_WINDOW_SIZE!==void 0&&a.push("CONSTRUCTION_WINDOW_SIZE",i.CONSTRUCTION_WINDOW_SIZE.toString()),i.GRAPH_MAX_DEGREE!==void 0&&a.push("GRAPH_MAX_DEGREE",i.GRAPH_MAX_DEGREE.toString()),i.SEARCH_WINDOW_SIZE!==void 0&&a.push("SEARCH_WINDOW_SIZE",i.SEARCH_WINDOW_SIZE.toString()),i.EPSILON!==void 0&&a.push("EPSILON",i.EPSILON.toString()),i.TRAINING_THRESHOLD!==void 0&&a.push("TRAINING_THRESHOLD",i.TRAINING_THRESHOLD.toString()),i.REDUCE!==void 0&&a.push("REDUCE",i.REDUCE.toString());break}t.pushVariadicWithLength(a);break;case Cn.SCHEMA_FIELD_TYPE.GEOSHAPE:i.COORD_SYSTEM!==void 0&&t.push("COORD_SYSTEM",i.COORD_SYSTEM);break}}}}Cn.parseSchema=Iet;Cn.REDISEARCH_LANGUAGE={ARABIC:"Arabic",BASQUE:"Basque",CATALANA:"Catalan",DANISH:"Danish",DUTCH:"Dutch",ENGLISH:"English",FINNISH:"Finnish",FRENCH:"French",GERMAN:"German",GREEK:"Greek",HUNGARIAN:"Hungarian",INDONESAIN:"Indonesian",IRISH:"Irish",ITALIAN:"Italian",LITHUANIAN:"Lithuanian",NEPALI:"Nepali",NORWEIGAN:"Norwegian",PORTUGUESE:"Portuguese",ROMANIAN:"Romanian",RUSSIAN:"Russian",SPANISH:"Spanish",SWEDISH:"Swedish",TAMIL:"Tamil",TURKISH:"Turkish",CHINESE:"Chinese"};Cn.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.CREATE",e),n?.ON&&t.push("ON",n.ON),(0,vet.parseOptionalVariadicArgument)(t,"PREFIX",n?.PREFIX),n?.FILTER&&t.push("FILTER",n.FILTER),n?.LANGUAGE&&t.push("LANGUAGE",n.LANGUAGE),n?.LANGUAGE_FIELD&&t.push("LANGUAGE_FIELD",n.LANGUAGE_FIELD),n?.SCORE&&t.push("SCORE",n.SCORE.toString()),n?.SCORE_FIELD&&t.push("SCORE_FIELD",n.SCORE_FIELD),n?.MAXTEXTFIELDS&&t.push("MAXTEXTFIELDS"),n?.TEMPORARY&&t.push("TEMPORARY",n.TEMPORARY.toString()),n?.NOOFFSETS&&t.push("NOOFFSETS"),n?.NOHL&&t.push("NOHL"),n?.NOFIELDS&&t.push("NOFIELDS"),n?.NOFREQS&&t.push("NOFREQS"),n?.SKIPINITIALSCAN&&t.push("SKIPINITIALSCAN"),(0,vet.parseOptionalVariadicArgument)(t,"STOPWORDS",n?.STOPWORDS),t.push("SCHEMA"),Iet(t,r)},transformReply:void 0}});var Cet=E(yse=>{"use strict";Object.defineProperty(yse,"__esModule",{value:!0});var Efr=BL();yse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.ALTER",e,"SCHEMA","ADD"),(0,Efr.parseSchema)(t,r)},transformReply:void 0}});var Hb=E(LL=>{"use strict";Object.defineProperty(LL,"__esModule",{value:!0});LL.DEFAULT_DIALECT=void 0;LL.DEFAULT_DIALECT="2"});var xg=E(yg=>{"use strict";Object.defineProperty(yg,"__esModule",{value:!0});yg.parseSearchOptions=yg.parseParamsArgument=void 0;var AT=Ce(),_fr=Hb();function Tet(t,e){if(e){t.push("PARAMS");let r=[];for(let n in e){if(!Object.hasOwn(e,n))continue;let s=e[n];r.push(n,typeof s=="number"?s.toString():s)}t.pushVariadicWithLength(r)}}yg.parseParamsArgument=Tet;function wet(t,e){e?.VERBATIM&&t.push("VERBATIM"),e?.NOSTOPWORDS&&t.push("NOSTOPWORDS"),(0,AT.parseOptionalVariadicArgument)(t,"INKEYS",e?.INKEYS),(0,AT.parseOptionalVariadicArgument)(t,"INFIELDS",e?.INFIELDS),(0,AT.parseOptionalVariadicArgument)(t,"RETURN",e?.RETURN),e?.SUMMARIZE&&(t.push("SUMMARIZE"),typeof e.SUMMARIZE=="object"&&((0,AT.parseOptionalVariadicArgument)(t,"FIELDS",e.SUMMARIZE.FIELDS),e.SUMMARIZE.FRAGS!==void 0&&t.push("FRAGS",e.SUMMARIZE.FRAGS.toString()),e.SUMMARIZE.LEN!==void 0&&t.push("LEN",e.SUMMARIZE.LEN.toString()),e.SUMMARIZE.SEPARATOR!==void 0&&t.push("SEPARATOR",e.SUMMARIZE.SEPARATOR))),e?.HIGHLIGHT&&(t.push("HIGHLIGHT"),typeof e.HIGHLIGHT=="object"&&((0,AT.parseOptionalVariadicArgument)(t,"FIELDS",e.HIGHLIGHT.FIELDS),e.HIGHLIGHT.TAGS&&t.push("TAGS",e.HIGHLIGHT.TAGS.open,e.HIGHLIGHT.TAGS.close))),e?.SLOP!==void 0&&t.push("SLOP",e.SLOP.toString()),e?.TIMEOUT!==void 0&&t.push("TIMEOUT",e.TIMEOUT.toString()),e?.INORDER&&t.push("INORDER"),e?.LANGUAGE&&t.push("LANGUAGE",e.LANGUAGE),e?.EXPANDER&&t.push("EXPANDER",e.EXPANDER),e?.SCORER&&t.push("SCORER",e.SCORER),e?.SORTBY&&(t.push("SORTBY"),typeof e.SORTBY=="string"||e.SORTBY instanceof Buffer?t.push(e.SORTBY):(t.push(e.SORTBY.BY),e.SORTBY.DIRECTION&&t.push(e.SORTBY.DIRECTION))),e?.LIMIT&&t.push("LIMIT",e.LIMIT.from.toString(),e.LIMIT.size.toString()),Tet(t,e?.PARAMS),e?.DIALECT?t.push("DIALECT",e.DIALECT.toString()):t.push("DIALECT",_fr.DEFAULT_DIALECT)}yg.parseSearchOptions=wet;yg.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.SEARCH",e,r),wet(t,n)},transformReply:{2:t=>{let e=t.length>2&&!Array.isArray(t[2]),r=[],n=1;for(;n<t.length;)r.push({id:t[n++],value:e?Object.create(null):Sfr(t[n++])});return{total:t[0],documents:r}},3:void 0},unstableResp3:!0};function Sfr(t){let e=Object.create(null);if(!t)return e;let r=0;for(;r<t.length;){let n=t[r++],s=t[r++];if(n==="$")try{Object.assign(e,JSON.parse(s));continue}catch{}e[n]=s}return e}});var Qb=E(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.parseGroupByReducer=on.parseAggregateOptions=on.FT_AGGREGATE_GROUP_BY_REDUCERS=on.FT_AGGREGATE_STEPS=void 0;var vfr=xg(),Ifr=Ce(),Cfr=Hb();on.FT_AGGREGATE_STEPS={GROUPBY:"GROUPBY",SORTBY:"SORTBY",APPLY:"APPLY",LIMIT:"LIMIT",FILTER:"FILTER"};on.FT_AGGREGATE_GROUP_BY_REDUCERS={COUNT:"COUNT",COUNT_DISTINCT:"COUNT_DISTINCT",COUNT_DISTINCTISH:"COUNT_DISTINCTISH",SUM:"SUM",MIN:"MIN",MAX:"MAX",AVG:"AVG",STDDEV:"STDDEV",QUANTILE:"QUANTILE",TOLIST:"TOLIST",FIRST_VALUE:"FIRST_VALUE",RANDOM_SAMPLE:"RANDOM_SAMPLE"};on.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r,n){return t.push("FT.AGGREGATE",e,r),Oet(t,n)},transformReply:{2:(t,e,r)=>{let n=[];for(let s=1;s<t.length;s++)n.push((0,Ifr.transformTuplesReply)(t[s],e,r));return{total:Number(t[0]),results:n}},3:void 0},unstableResp3:!0};function Oet(t,e){if(e?.VERBATIM&&t.push("VERBATIM"),e?.ADDSCORES&&t.push("ADDSCORES"),e?.LOAD){let r=[];if(Array.isArray(e.LOAD))for(let n of e.LOAD)Ret(r,n);else Ret(r,e.LOAD);t.push("LOAD"),t.pushVariadicWithLength(r)}if(e?.TIMEOUT!==void 0&&t.push("TIMEOUT",e.TIMEOUT.toString()),e?.STEPS)for(let r of e.STEPS)switch(t.push(r.type),r.type){case on.FT_AGGREGATE_STEPS.GROUPBY:if(r.properties?t.pushVariadicWithLength(r.properties):t.push("0"),Array.isArray(r.REDUCE))for(let s of r.REDUCE)xse(t,s);else xse(t,r.REDUCE);break;case on.FT_AGGREGATE_STEPS.SORTBY:let n=[];if(Array.isArray(r.BY))for(let s of r.BY)Net(n,s);else Net(n,r.BY);r.MAX&&n.push("MAX",r.MAX.toString()),t.pushVariadicWithLength(n);break;case on.FT_AGGREGATE_STEPS.APPLY:t.push(r.expression,"AS",r.AS);break;case on.FT_AGGREGATE_STEPS.LIMIT:t.push(r.from.toString(),r.size.toString());break;case on.FT_AGGREGATE_STEPS.FILTER:t.push(r.expression);break}(0,vfr.parseParamsArgument)(t,e?.PARAMS),e?.DIALECT?t.push("DIALECT",e.DIALECT.toString()):t.push("DIALECT",Cfr.DEFAULT_DIALECT)}on.parseAggregateOptions=Oet;function Ret(t,e){typeof e=="string"||e instanceof Buffer?t.push(e):(t.push(e.identifier),e.AS&&t.push("AS",e.AS))}function xse(t,e){switch(t.push("REDUCE",e.type),e.type){case on.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT:t.push("0");break;case on.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCT:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCTISH:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.SUM:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.MIN:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.MAX:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.AVG:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.STDDEV:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.TOLIST:t.push("1",e.property);break;case on.FT_AGGREGATE_GROUP_BY_REDUCERS.QUANTILE:t.push("2",e.property,e.quantile.toString());break;case on.FT_AGGREGATE_GROUP_BY_REDUCERS.FIRST_VALUE:{let r=[e.property];e.BY&&(r.push("BY"),typeof e.BY=="string"||e.BY instanceof Buffer?r.push(e.BY):(r.push(e.BY.property),e.BY.direction&&r.push(e.BY.direction))),t.pushVariadicWithLength(r);break}case on.FT_AGGREGATE_GROUP_BY_REDUCERS.RANDOM_SAMPLE:t.push("2",e.property,e.sampleSize.toString());break}e.AS&&t.push("AS",e.AS)}on.parseGroupByReducer=xse;function Net(t,e){typeof e=="string"||e instanceof Buffer?t.push(e):(t.push(e.BY),e.DIRECTION&&t.push(e.DIRECTION))}});var Ese=E(yT=>{"use strict";var Tfr=yT&&yT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yT,"__esModule",{value:!0});var bse=Tfr(Qb());yT.default={IS_READ_ONLY:bse.default.IS_READ_ONLY,parseCommand(t,e,r,n){bse.default.parseCommand(t,e,r,n),t.push("WITHCURSOR"),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString()),n?.MAXIDLE!==void 0&&t.push("MAXIDLE",n.MAXIDLE.toString())},transformReply:{2:t=>({...bse.default.transformReply[2](t[0]),cursor:t[1]}),3:void 0},unstableResp3:!0}});var Pet=E(_se=>{"use strict";Object.defineProperty(_se,"__esModule",{value:!0});_se.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.ALIASADD",e,r)},transformReply:void 0}});var ket=E(Sse=>{"use strict";Object.defineProperty(Sse,"__esModule",{value:!0});Sse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.ALIASDEL",e)},transformReply:void 0}});var Det=E(vse=>{"use strict";Object.defineProperty(vse,"__esModule",{value:!0});vse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.ALIASUPDATE",e,r)},transformReply:void 0}});var Bet=E(Ise=>{"use strict";Object.defineProperty(Ise,"__esModule",{value:!0});Ise.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.CONFIG","GET",e)},transformReply(t){let e=Object.create(null);for(let r of t){let[n,s]=r;e[n.toString()]=s}return e}}});var Let=E(Cse=>{"use strict";Object.defineProperty(Cse,"__esModule",{value:!0});Cse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.CONFIG","SET",e,r)},transformReply:void 0}});var Met=E(Tse=>{"use strict";Object.defineProperty(Tse,"__esModule",{value:!0});Tse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.CURSOR","DEL",e,r.toString())},transformReply:void 0}});var Wet=E(xT=>{"use strict";var wfr=xT&&xT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xT,"__esModule",{value:!0});var Rfr=wfr(Ese());xT.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.CURSOR","READ",e,r.toString()),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString())},transformReply:Rfr.default.transformReply,unstableResp3:!0}});var $et=E(wse=>{"use strict";Object.defineProperty(wse,"__esModule",{value:!0});wse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.DICTADD",e),t.pushVariadic(r)},transformReply:void 0}});var Fet=E(Rse=>{"use strict";Object.defineProperty(Rse,"__esModule",{value:!0});Rse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.DICTDEL",e),t.pushVariadic(r)},transformReply:void 0}});var Uet=E(Nse=>{"use strict";Object.defineProperty(Nse,"__esModule",{value:!0});Nse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.DICTDUMP",e)},transformReply:{2:void 0,3:void 0}}});var qet=E(Ose=>{"use strict";Object.defineProperty(Ose,"__esModule",{value:!0});Ose.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.DROPINDEX",e),r?.DD&&t.push("DD")},transformReply:{2:void 0,3:void 0}}});var jet=E(Pse=>{"use strict";Object.defineProperty(Pse,"__esModule",{value:!0});var Nfr=xg(),Ofr=Hb();Pse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.EXPLAIN",e,r),(0,Nfr.parseParamsArgument)(t,n?.PARAMS),n?.DIALECT?t.push("DIALECT",n.DIALECT.toString()):t.push("DIALECT",Ofr.DEFAULT_DIALECT)},transformReply:void 0}});var Het=E(kse=>{"use strict";Object.defineProperty(kse,"__esModule",{value:!0});var Pfr=Hb();kse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.EXPLAINCLI",e,r),n?.DIALECT?t.push("DIALECT",n.DIALECT.toString()):t.push("DIALECT",Pfr.DEFAULT_DIALECT)},transformReply:void 0}});var Ket=E(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.FT_HYBRID_COMBINE_METHOD=vu.FT_HYBRID_VECTOR_METHOD=void 0;var Qet=Ce(),kfr=xg(),Dfr=Qb();vu.FT_HYBRID_VECTOR_METHOD={KNN:"KNN",RANGE:"RANGE"};vu.FT_HYBRID_COMBINE_METHOD={RRF:"RRF",LINEAR:"LINEAR"};function Bfr(t,e){t.push("SEARCH",e.query),e.SCORER&&t.push("SCORER",e.SCORER),e.YIELD_SCORE_AS&&t.push("YIELD_SCORE_AS",e.YIELD_SCORE_AS)}function Lfr(t,e){if(t.push("VSIM",e.field,e.vector),e.method){if(e.method.type===vu.FT_HYBRID_VECTOR_METHOD.KNN){let r=2;e.method.EF_RUNTIME!==void 0&&(r+=2),t.push("KNN",r.toString(),"K",e.method.K.toString()),e.method.EF_RUNTIME!==void 0&&t.push("EF_RUNTIME",e.method.EF_RUNTIME.toString())}if(e.method.type===vu.FT_HYBRID_VECTOR_METHOD.RANGE){let r=2;e.method.EPSILON!==void 0&&(r+=2),t.push("RANGE",r.toString(),"RADIUS",e.method.RADIUS.toString()),e.method.EPSILON!==void 0&&t.push("EPSILON",e.method.EPSILON.toString())}}e.FILTER&&t.push("FILTER",e.FILTER),e.YIELD_SCORE_AS&&t.push("YIELD_SCORE_AS",e.YIELD_SCORE_AS)}function Mfr(t,e){if(e){if(t.push("COMBINE"),e.method.type===vu.FT_HYBRID_COMBINE_METHOD.RRF){let r=0;e.method.WINDOW!==void 0&&(r+=2),e.method.CONSTANT!==void 0&&(r+=2),e.YIELD_SCORE_AS&&(r+=2),t.push("RRF",r.toString()),e.method.WINDOW!==void 0&&t.push("WINDOW",e.method.WINDOW.toString()),e.method.CONSTANT!==void 0&&t.push("CONSTANT",e.method.CONSTANT.toString())}if(e.method.type===vu.FT_HYBRID_COMBINE_METHOD.LINEAR){let r=0;e.method.ALPHA!==void 0&&(r+=2),e.method.BETA!==void 0&&(r+=2),e.method.WINDOW!==void 0&&(r+=2),e.YIELD_SCORE_AS&&(r+=2),t.push("LINEAR",r.toString()),e.method.ALPHA!==void 0&&t.push("ALPHA",e.method.ALPHA.toString()),e.method.BETA!==void 0&&t.push("BETA",e.method.BETA.toString()),e.method.WINDOW!==void 0&&t.push("WINDOW",e.method.WINDOW.toString())}e.YIELD_SCORE_AS&&t.push("YIELD_SCORE_AS",e.YIELD_SCORE_AS)}}function Wfr(t,e){t.push("APPLY",e.expression),e.AS&&t.push("AS",e.AS)}function $fr(t,e){if(Bfr(t,e.SEARCH),Lfr(t,e.VSIM),e.COMBINE&&Mfr(t,e.COMBINE),e.LOAD&&(e.LOAD==="*"?t.push("LOAD","*"):(0,Qet.parseOptionalVariadicArgument)(t,"LOAD",e.LOAD)),e.GROUPBY&&((0,Qet.parseOptionalVariadicArgument)(t,"GROUPBY",e.GROUPBY.fields),e.GROUPBY.REDUCE)){let n=Array.isArray(e.GROUPBY.REDUCE)?e.GROUPBY.REDUCE:[e.GROUPBY.REDUCE];for(let s of n)(0,Dfr.parseGroupByReducer)(t,s)}if(e.APPLY){let n=Array.isArray(e.APPLY)?e.APPLY:[e.APPLY];for(let s of n)Wfr(t,s)}if(e.SORTBY){let n=e.SORTBY.fields.reduce((s,i)=>i.direction?s+2:s+1,0);t.push("SORTBY",n.toString());for(let s of e.SORTBY.fields)t.push(s.field),s.direction&&t.push(s.direction)}e.NOSORT&&t.push("NOSORT"),e.FILTER&&t.push("FILTER",e.FILTER),e.LIMIT&&t.push("LIMIT",e.LIMIT.offset.toString(),e.LIMIT.count.toString());let r=e.PARAMS&&Object.keys(e.PARAMS).length>0;(0,kfr.parseParamsArgument)(t,r?e.PARAMS:void 0),e.TIMEOUT!==void 0&&t.push("TIMEOUT",e.TIMEOUT.toString())}vu.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.HYBRID",e),$fr(t,r)},transformReply:{2:t=>Ffr(t),3:void 0},unstableResp3:!0};function Ffr(t){let e=Get(t),r=e.total_results??0,n=e.results??[],s=e.warnings??[],i=e.execution_time?Number.parseFloat(e.execution_time):0,a=[];for(let o of n){let c=Get(o),u=Object.create(null);for(let[l,d]of Object.entries(c))if(l==="$")try{Object.assign(u,JSON.parse(d))}catch{u[l]=d}else u[l]=d;a.push(u)}return{totalResults:r,executionTime:i,warnings:s,results:a}}function Get(t){let e={};if(!Array.isArray(t))return e;for(let r=0;r<t.length;r+=2){let n=t[r],s=t[r+1];typeof n=="string"&&(e[n]=s)}return e}});var Vet=E(Bse=>{"use strict";Object.defineProperty(Bse,"__esModule",{value:!0});var Dse=Ce();Bse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.INFO",e)},transformReply:{2:Ufr,3:void 0},unstableResp3:!0};function Ufr(t,e,r){let n=(0,Dse.createTransformTuplesReplyFunc)(e,r),s={};for(let i=0;i<t.length;i+=2){let a=t[i].toString();switch(a){case"index_name":case"index_options":case"num_docs":case"max_doc_id":case"num_terms":case"num_records":case"total_inverted_index_blocks":case"hash_indexing_failures":case"indexing":case"number_of_uses":case"cleaning":case"stopwords_list":s[a]=t[i+1];break;case"inverted_sz_mb":case"vector_index_sz_mb":case"offset_vectors_sz_mb":case"doc_table_size_mb":case"sortable_values_size_mb":case"key_table_size_mb":case"text_overhead_sz_mb":case"tag_overhead_sz_mb":case"total_index_memory_sz_mb":case"geoshapes_sz_mb":case"records_per_doc_avg":case"bytes_per_record_avg":case"offsets_per_term_avg":case"offset_bits_per_record_avg":case"total_indexing_time":case"percent_indexed":s[a]=Dse.transformDoubleReply[2](t[i+1],void 0,r);break;case"index_definition":s[a]=n(t[i+1]);break;case"attributes":s[a]=t[i+1].map(o=>n(o));break;case"gc_stats":{let o={},c=t[i+1];for(let u=0;u<c.length;u+=2){let l=c[u].toString();switch(l){case"bytes_collected":case"total_ms_run":case"total_cycles":case"average_cycle_time_ms":case"last_run_time_ms":case"gc_numeric_trees_missed":case"gc_blocks_denied":o[l]=Dse.transformDoubleReply[2](c[u+1],void 0,r);break}}s[a]=o;break}case"cursor_stats":{let o={},c=t[i+1];for(let u=0;u<c.length;u+=2){let l=c[u].toString();switch(l){case"global_idle":case"global_total":case"index_capacity":case"index_total":o[l]=c[u+1];break}}s[a]=o;break}}}return s}});var Yet=E(Nf=>{"use strict";var qfr=Nf&&Nf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),jfr=Nf&&Nf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Hfr=Nf&&Nf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&qfr(e,t,r);return jfr(e,t),e};Object.defineProperty(Nf,"__esModule",{value:!0});var zet=Hfr(xg());Nf.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.PROFILE",e,"SEARCH"),n?.LIMITED&&t.push("LIMITED"),t.push("QUERY",r),(0,zet.parseSearchOptions)(t,n)},transformReply:{2:t=>({results:zet.default.transformReply[2](t[0]),profile:t[1]}),3:t=>t},unstableResp3:!0}});var Xet=E(Of=>{"use strict";var Qfr=Of&&Of.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Gfr=Of&&Of.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Kfr=Of&&Of.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Qfr(e,t,r);return Gfr(e,t),e};Object.defineProperty(Of,"__esModule",{value:!0});var Jet=Kfr(Qb());Of.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.PROFILE",e,"AGGREGATE"),n?.LIMITED&&t.push("LIMITED"),t.push("QUERY",r),(0,Jet.parseAggregateOptions)(t,n)},transformReply:{2:t=>({results:Jet.default.transformReply[2](t[0]),profile:t[1]}),3:t=>t},unstableResp3:!0}});var Zet=E(bT=>{"use strict";var Vfr=bT&&bT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bT,"__esModule",{value:!0});var Lse=Vfr(xg());bT.default={NOT_KEYED_COMMAND:Lse.default.NOT_KEYED_COMMAND,IS_READ_ONLY:Lse.default.IS_READ_ONLY,parseCommand(...t){Lse.default.parseCommand(...t),t[0].push("NOCONTENT")},transformReply:{2:t=>({total:t[0],documents:t.slice(1)}),3:void 0},unstableResp3:!0}});var ttt=E(Mse=>{"use strict";Object.defineProperty(Mse,"__esModule",{value:!0});var zfr=Hb();Mse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){if(t.push("FT.SPELLCHECK",e,r),n?.DISTANCE&&t.push("DISTANCE",n.DISTANCE.toString()),n?.TERMS)if(Array.isArray(n.TERMS))for(let s of n.TERMS)ett(t,s);else ett(t,n.TERMS);n?.DIALECT?t.push("DIALECT",n.DIALECT.toString()):t.push("DIALECT",zfr.DEFAULT_DIALECT)},transformReply:{2:t=>t.map(([,e,r])=>({term:e,suggestions:r.map(([n,s])=>({score:Number(n),suggestion:s}))})),3:void 0},unstableResp3:!0};function ett(t,{mode:e,dictionary:r}){t.push("TERMS",e,r)}});var rtt=E(Wse=>{"use strict";Object.defineProperty(Wse,"__esModule",{value:!0});Wse.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("FT.SUGADD"),t.pushKey(e),t.push(r,n.toString()),s?.INCR&&t.push("INCR"),s?.PAYLOAD&&t.push("PAYLOAD",s.PAYLOAD)},transformReply:void 0}});var ntt=E($se=>{"use strict";Object.defineProperty($se,"__esModule",{value:!0});$se.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.SUGDEL"),t.pushKey(e),t.push(r)},transformReply:void 0}});var ET=E(Fse=>{"use strict";Object.defineProperty(Fse,"__esModule",{value:!0});Fse.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.SUGGET"),t.pushKey(e),t.push(r),n?.FUZZY&&t.push("FUZZY"),n?.MAX!==void 0&&t.push("MAX",n.MAX.toString())},transformReply:void 0}});var itt=E(_T=>{"use strict";var Yfr=_T&&_T.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_T,"__esModule",{value:!0});var Jfr=Ce(),stt=Yfr(ET());_T.default={IS_READ_ONLY:stt.default.IS_READ_ONLY,parseCommand(...t){stt.default.parseCommand(...t),t[0].push("WITHPAYLOADS")},transformReply(t){if((0,Jfr.isNullReply)(t))return null;let e=new Array(t.length/2),r=0,n=0;for(;r<t.length;)e[n++]={suggestion:t[r++],payload:t[r++]};return e}}});var ott=E(ST=>{"use strict";var Xfr=ST&&ST.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ST,"__esModule",{value:!0});var Use=Ce(),att=Xfr(ET());ST.default={IS_READ_ONLY:att.default.IS_READ_ONLY,parseCommand(...t){att.default.parseCommand(...t),t[0].push("WITHSCORES","WITHPAYLOADS")},transformReply:{2:(t,e,r)=>{if((0,Use.isNullReply)(t))return null;let n=new Array(t.length/3),s=0,i=0;for(;s<t.length;)n[i++]={suggestion:t[s++],score:Use.transformDoubleReply[2](t[s++],e,r),payload:t[s++]};return n},3:t=>{if((0,Use.isNullReply)(t))return null;let e=new Array(t.length/3),r=0,n=0;for(;r<t.length;)e[n++]={suggestion:t[r++],score:t[r++],payload:t[r++]};return e}}}});var utt=E(vT=>{"use strict";var Zfr=vT&&vT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vT,"__esModule",{value:!0});var qse=Ce(),ctt=Zfr(ET());vT.default={IS_READ_ONLY:ctt.default.IS_READ_ONLY,parseCommand(...t){ctt.default.parseCommand(...t),t[0].push("WITHSCORES")},transformReply:{2:(t,e,r)=>{if((0,qse.isNullReply)(t))return null;let n=new Array(t.length/2),s=0,i=0;for(;s<t.length;)n[i++]={suggestion:t[s++],score:qse.transformDoubleReply[2](t[s++],e,r)};return n},3:t=>{if((0,qse.isNullReply)(t))return null;let e=new Array(t.length/2),r=0,n=0;for(;r<t.length;)e[n++]={suggestion:t[r++],score:t[r++]};return e}}}});var ltt=E(jse=>{"use strict";Object.defineProperty(jse,"__esModule",{value:!0});jse.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.SUGLEN",e)},transformReply:void 0}});var dtt=E(Hse=>{"use strict";Object.defineProperty(Hse,"__esModule",{value:!0});Hse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.SYNDUMP",e)},transformReply:{2:t=>{let e={},r=0;for(;r<t.length;){let n=t[r++].toString(),s=t[r++];e[n]=s}return e},3:void 0}}});var ftt=E(Qse=>{"use strict";Object.defineProperty(Qse,"__esModule",{value:!0});Qse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("FT.SYNUPDATE",e,r),s?.SKIPINITIALSCAN&&t.push("SKIPINITIALSCAN"),t.pushVariadic(n)},transformReply:void 0}});var ptt=E(Gse=>{"use strict";Object.defineProperty(Gse,"__esModule",{value:!0});Gse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.TAGVALS",e,r)},transformReply:{2:void 0,3:void 0}}});var ztt=E(IT=>{"use strict";var Er=IT&&IT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(IT,"__esModule",{value:!0});var mtt=Er(_et()),htt=Er(Cet()),gtt=Er(Ese()),Att=Er(Qb()),ytt=Er(Pet()),xtt=Er(ket()),btt=Er(Det()),Ett=Er(Bet()),_tt=Er(Let()),Stt=Er(BL()),vtt=Er(Met()),Itt=Er(Wet()),Ctt=Er($et()),Ttt=Er(Fet()),wtt=Er(Uet()),Rtt=Er(qet()),Ntt=Er(jet()),Ott=Er(Het()),Ptt=Er(Ket()),ktt=Er(Vet()),Dtt=Er(Yet()),Btt=Er(Xet()),Ltt=Er(Zet()),Mtt=Er(xg()),Wtt=Er(ttt()),$tt=Er(rtt()),Ftt=Er(ntt()),Utt=Er(itt()),qtt=Er(ott()),jtt=Er(utt()),Htt=Er(ET()),Qtt=Er(ltt()),Gtt=Er(dtt()),Ktt=Er(ftt()),Vtt=Er(ptt());IT.default={_LIST:mtt.default,_list:mtt.default,ALTER:htt.default,alter:htt.default,AGGREGATE_WITHCURSOR:gtt.default,aggregateWithCursor:gtt.default,AGGREGATE:Att.default,aggregate:Att.default,ALIASADD:ytt.default,aliasAdd:ytt.default,ALIASDEL:xtt.default,aliasDel:xtt.default,ALIASUPDATE:btt.default,aliasUpdate:btt.default,CONFIG_GET:Ett.default,configGet:Ett.default,CONFIG_SET:_tt.default,configSet:_tt.default,CREATE:Stt.default,create:Stt.default,CURSOR_DEL:vtt.default,cursorDel:vtt.default,CURSOR_READ:Itt.default,cursorRead:Itt.default,DICTADD:Ctt.default,dictAdd:Ctt.default,DICTDEL:Ttt.default,dictDel:Ttt.default,DICTDUMP:wtt.default,dictDump:wtt.default,DROPINDEX:Rtt.default,dropIndex:Rtt.default,EXPLAIN:Ntt.default,explain:Ntt.default,EXPLAINCLI:Ott.default,explainCli:Ott.default,HYBRID:Ptt.default,hybrid:Ptt.default,INFO:ktt.default,info:ktt.default,PROFILESEARCH:Dtt.default,profileSearch:Dtt.default,PROFILEAGGREGATE:Btt.default,profileAggregate:Btt.default,SEARCH_NOCONTENT:Ltt.default,searchNoContent:Ltt.default,SEARCH:Mtt.default,search:Mtt.default,SPELLCHECK:Wtt.default,spellCheck:Wtt.default,SUGADD:$tt.default,sugAdd:$tt.default,SUGDEL:Ftt.default,sugDel:Ftt.default,SUGGET_WITHPAYLOADS:Utt.default,sugGetWithPayloads:Utt.default,SUGGET_WITHSCORES_WITHPAYLOADS:qtt.default,sugGetWithScoresWithPayloads:qtt.default,SUGGET_WITHSCORES:jtt.default,sugGetWithScores:jtt.default,SUGGET:Htt.default,sugGet:Htt.default,SUGLEN:Qtt.default,sugLen:Qtt.default,SYNDUMP:Gtt.default,synDump:Gtt.default,SYNUPDATE:Ktt.default,synUpdate:Ktt.default,TAGVALS:Vtt.default,tagVals:Vtt.default}});var Kse=E(ii=>{"use strict";var epr=ii&&ii.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ii,"__esModule",{value:!0});ii.FT_AGGREGATE_STEPS=ii.FT_AGGREGATE_GROUP_BY_REDUCERS=ii.SCHEMA_VECTOR_FIELD_ALGORITHM=ii.SCHEMA_TEXT_FIELD_PHONETIC=ii.SCHEMA_FIELD_TYPE=ii.REDISEARCH_LANGUAGE=ii.default=void 0;var tpr=ztt();Object.defineProperty(ii,"default",{enumerable:!0,get:function(){return epr(tpr).default}});var ML=BL();Object.defineProperty(ii,"REDISEARCH_LANGUAGE",{enumerable:!0,get:function(){return ML.REDISEARCH_LANGUAGE}});Object.defineProperty(ii,"SCHEMA_FIELD_TYPE",{enumerable:!0,get:function(){return ML.SCHEMA_FIELD_TYPE}});Object.defineProperty(ii,"SCHEMA_TEXT_FIELD_PHONETIC",{enumerable:!0,get:function(){return ML.SCHEMA_TEXT_FIELD_PHONETIC}});Object.defineProperty(ii,"SCHEMA_VECTOR_FIELD_ALGORITHM",{enumerable:!0,get:function(){return ML.SCHEMA_VECTOR_FIELD_ALGORITHM}});var Ytt=Qb();Object.defineProperty(ii,"FT_AGGREGATE_GROUP_BY_REDUCERS",{enumerable:!0,get:function(){return Ytt.FT_AGGREGATE_GROUP_BY_REDUCERS}});Object.defineProperty(ii,"FT_AGGREGATE_STEPS",{enumerable:!0,get:function(){return Ytt.FT_AGGREGATE_STEPS}})});var ai=E(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.transformRESP2LabelsWithSources=hr.transformRESP2Labels=hr.parseSelectedLabelsArguments=hr.resp3MapToValue=hr.resp2MapToValue=hr.transformSamplesReply=hr.transformSampleReply=hr.parseLabelsArgument=hr.transformTimestampArgument=hr.parseDuplicatePolicy=hr.TIME_SERIES_DUPLICATE_POLICIES=hr.parseChunkSizeArgument=hr.parseEncodingArgument=hr.TIME_SERIES_ENCODING=hr.parseRetentionArgument=hr.parseIgnoreArgument=void 0;var Vse=aT();function rpr(t,e){e!==void 0&&t.push("IGNORE",e.maxTimeDiff.toString(),e.maxValDiff.toString())}hr.parseIgnoreArgument=rpr;function npr(t,e){e!==void 0&&t.push("RETENTION",e.toString())}hr.parseRetentionArgument=npr;hr.TIME_SERIES_ENCODING={COMPRESSED:"COMPRESSED",UNCOMPRESSED:"UNCOMPRESSED"};function spr(t,e){e!==void 0&&t.push("ENCODING",e)}hr.parseEncodingArgument=spr;function ipr(t,e){e!==void 0&&t.push("CHUNK_SIZE",e.toString())}hr.parseChunkSizeArgument=ipr;hr.TIME_SERIES_DUPLICATE_POLICIES={BLOCK:"BLOCK",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM"};function apr(t,e){e!==void 0&&t.push("DUPLICATE_POLICY",e)}hr.parseDuplicatePolicy=apr;function opr(t){return typeof t=="string"?t:(typeof t=="number"?t:t.getTime()).toString()}hr.transformTimestampArgument=opr;function cpr(t,e){if(e){t.push("LABELS");for(let[r,n]of Object.entries(e))t.push(r,n)}}hr.parseLabelsArgument=cpr;hr.transformSampleReply={2(t){let[e,r]=t;return{timestamp:e,value:Number(r)}},3(t){let[e,r]=t;return{timestamp:e,value:r}}};hr.transformSamplesReply={2(t){return t.map(e=>hr.transformSampleReply[2](e))},3(t){return t.map(e=>hr.transformSampleReply[3](e))}};function upr(t,e,r){let n=t;switch(r?.[Vse.RESP_TYPES.MAP]){case Map:{let s=new Map;for(let i of n){let a=i,o=a[0];s.set(o.toString(),e(a))}return s}case Array:{for(let s of n){let i=s;i[1]=e(i)}return n}default:{let s=Object.create(null);for(let i of n){let a=i,o=a[0];s[o.toString()]=e(a)}return s}}}hr.resp2MapToValue=upr;function lpr(t,e){let r=t;if(r instanceof Array)for(let n=1;n<r.length;n+=2)r[n]=e(r[n]);else if(r instanceof Map)for(let[n,s]of r.entries())r.set(n,e(s));else for(let[n,s]of Object.entries(r))r[n]=e(s);return r}hr.resp3MapToValue=lpr;function dpr(t,e){t.push("SELECTED_LABELS"),t.pushVariadic(e)}hr.parseSelectedLabelsArguments=dpr;function fpr(t,e){let r=t;switch(e?.[Vse.RESP_TYPES.MAP]){case Map:let n=new Map;for(let i of r){let[a,o]=i,c=a;n.set(c.toString(),o)}return n;case Array:return r.flat();case Object:default:let s=Object.create(null);for(let i of r){let[a,o]=i,c=a;s[c.toString()]=o}return s}}hr.transformRESP2Labels=fpr;function ppr(t,e){let r=t,n=r.length-2,s;switch(e?.[Vse.RESP_TYPES.MAP]){case Map:let c=new Map;for(let l=0;l<n;l++){let[d,f]=r[l],p=d;c.set(p.toString(),f)}s=c;break;case Array:s=r.slice(0,n).flat();break;case Object:default:let u=Object.create(null);for(let l=0;l<n;l++){let[d,f]=r[l],p=d;u[p.toString()]=f}s=u;break}let a=r[r.length-1],o=mpr(a[1]);return{labels:s,sources:o}}hr.transformRESP2LabelsWithSources=ppr;function mpr(t){let e=t;if(typeof e=="string")return e.split(",");let r=e.indexOf(",");if(r===-1)return[e];let n=[e.subarray(0,r)],s=r+1;for(;;){let i=e.indexOf(",",s);if(i===-1){n.push(e.subarray(s));break}let a=e.subarray(s,i);n.push(a),s=i+1}return n}});var Jtt=E(zse=>{"use strict";Object.defineProperty(zse,"__esModule",{value:!0});var Gb=ai();zse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("TS.ADD"),t.pushKey(e),t.push((0,Gb.transformTimestampArgument)(r),n.toString()),(0,Gb.parseRetentionArgument)(t,s?.RETENTION),(0,Gb.parseEncodingArgument)(t,s?.ENCODING),(0,Gb.parseChunkSizeArgument)(t,s?.CHUNK_SIZE),s?.ON_DUPLICATE&&t.push("ON_DUPLICATE",s.ON_DUPLICATE),(0,Gb.parseLabelsArgument)(t,s?.LABELS),(0,Gb.parseIgnoreArgument)(t,s?.IGNORE)},transformReply:void 0}});var Xtt=E(Yse=>{"use strict";Object.defineProperty(Yse,"__esModule",{value:!0});var CT=ai();Yse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TS.ALTER"),t.pushKey(e),(0,CT.parseRetentionArgument)(t,r?.RETENTION),(0,CT.parseChunkSizeArgument)(t,r?.CHUNK_SIZE),(0,CT.parseDuplicatePolicy)(t,r?.DUPLICATE_POLICY),(0,CT.parseLabelsArgument)(t,r?.LABELS),(0,CT.parseIgnoreArgument)(t,r?.IGNORE)},transformReply:void 0}});var Ztt=E(Jse=>{"use strict";Object.defineProperty(Jse,"__esModule",{value:!0});var Kb=ai();Jse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TS.CREATE"),t.pushKey(e),(0,Kb.parseRetentionArgument)(t,r?.RETENTION),(0,Kb.parseEncodingArgument)(t,r?.ENCODING),(0,Kb.parseChunkSizeArgument)(t,r?.CHUNK_SIZE),(0,Kb.parseDuplicatePolicy)(t,r?.DUPLICATE_POLICY),(0,Kb.parseLabelsArgument)(t,r?.LABELS),(0,Kb.parseIgnoreArgument)(t,r?.IGNORE)},transformReply:void 0}});var Xse=E(TT=>{"use strict";Object.defineProperty(TT,"__esModule",{value:!0});TT.TIME_SERIES_AGGREGATION_TYPE=void 0;TT.TIME_SERIES_AGGREGATION_TYPE={AVG:"AVG",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM",RANGE:"RANGE",COUNT:"COUNT",COUNT_NAN:"COUNTNAN",COUNT_ALL:"COUNTALL",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S",TWA:"TWA"};TT.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("TS.CREATERULE"),t.pushKeys([e,r]),t.push("AGGREGATION",n,s.toString()),i!==void 0&&t.push(i.toString())},transformReply:void 0}});var Zse=E(RT=>{"use strict";Object.defineProperty(RT,"__esModule",{value:!0});RT.parseIncrByArguments=void 0;var wT=ai();function ert(t,e,r,n){t.pushKey(e),t.push(r.toString()),n?.TIMESTAMP!==void 0&&n?.TIMESTAMP!==null&&t.push("TIMESTAMP",(0,wT.transformTimestampArgument)(n.TIMESTAMP)),(0,wT.parseRetentionArgument)(t,n?.RETENTION),n?.UNCOMPRESSED&&t.push("UNCOMPRESSED"),(0,wT.parseChunkSizeArgument)(t,n?.CHUNK_SIZE),(0,wT.parseLabelsArgument)(t,n?.LABELS),(0,wT.parseIgnoreArgument)(t,n?.IGNORE)}RT.parseIncrByArguments=ert;RT.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("TS.INCRBY"),ert(...t)},transformReply:void 0}});var trt=E(Pf=>{"use strict";var hpr=Pf&&Pf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),gpr=Pf&&Pf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Apr=Pf&&Pf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&hpr(e,t,r);return gpr(e,t),e};Object.defineProperty(Pf,"__esModule",{value:!0});var eie=Apr(Zse());Pf.default={IS_READ_ONLY:eie.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TS.DECRBY"),(0,eie.parseIncrByArguments)(...t)},transformReply:eie.default.transformReply}});var nrt=E(tie=>{"use strict";Object.defineProperty(tie,"__esModule",{value:!0});var rrt=ai();tie.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("TS.DEL"),t.pushKey(e),t.push((0,rrt.transformTimestampArgument)(r),(0,rrt.transformTimestampArgument)(n))},transformReply:void 0}});var srt=E(rie=>{"use strict";Object.defineProperty(rie,"__esModule",{value:!0});rie.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TS.DELETERULE"),t.pushKeys([e,r])},transformReply:void 0}});var irt=E(nie=>{"use strict";Object.defineProperty(nie,"__esModule",{value:!0});nie.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TS.GET"),t.pushKey(e),r?.LATEST&&t.push("LATEST")},transformReply:{2(t){return t.length===0?null:{timestamp:t[0],value:Number(t[1])}},3(t){return t.length===0?null:{timestamp:t[0],value:t[1]}}}}});var iie=E(sie=>{"use strict";Object.defineProperty(sie,"__esModule",{value:!0});var ypr=Ce();sie.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TS.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>{let n={};for(let s=0;s<t.length;s+=2){let i=t[s].toString();switch(i){case"totalSamples":case"memoryUsage":case"firstTimestamp":case"lastTimestamp":case"retentionTime":case"chunkCount":case"chunkSize":case"chunkType":case"duplicatePolicy":case"sourceKey":case"ignoreMaxTimeDiff":n[i]=t[s+1];break;case"labels":n[i]=t[s+1].map(([a,o])=>({name:a,value:o}));break;case"rules":n[i]=t[s+1].map(([a,o,c])=>({key:a,timeBucket:o,aggregationType:c}));break;case"ignoreMaxValDiff":n[i]=ypr.transformDoubleReply[2](t[27],void 0,r);break}}return n},3:void 0},unstableResp3:!0}});var art=E(NT=>{"use strict";var xpr=NT&&NT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(NT,"__esModule",{value:!0});var aie=xpr(iie());NT.default={IS_READ_ONLY:aie.default.IS_READ_ONLY,parseCommand(t,e){aie.default.parseCommand(t,e),t.push("DEBUG")},transformReply:{2:(t,e,r)=>{let n=aie.default.transformReply[2](t,e,r);for(let s=0;s<t.length;s+=2){let i=t[s].toString();switch(i){case"keySelfName":{n[i]=t[s+1];break}case"Chunks":{n.chunks=t[s+1].map(a=>({startTimestamp:a[1],endTimestamp:a[3],samples:a[5],size:a[7],bytesPerSample:a[9]}));break}}}return n},3:void 0},unstableResp3:!0}});var ort=E(oie=>{"use strict";Object.defineProperty(oie,"__esModule",{value:!0});var bpr=ai();oie.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("TS.MADD");for(let{key:r,timestamp:n,value:s}of e)t.pushKey(r),t.push((0,bpr.transformTimestampArgument)(n),s.toString())},transformReply:void 0}});var Ul=E(bg=>{"use strict";Object.defineProperty(bg,"__esModule",{value:!0});bg.parseFilterArgument=bg.parseLatestArgument=void 0;var WL=ai();function crt(t,e){e&&t.push("LATEST")}bg.parseLatestArgument=crt;function urt(t,e){t.push("FILTER"),t.pushVariadic(e)}bg.parseFilterArgument=urt;bg.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TS.MGET"),crt(t,r?.LATEST),urt(t,e)},transformReply:{2(t,e,r){return(0,WL.resp2MapToValue)(t,([,,n])=>({sample:WL.transformSampleReply[2](n)}),r)},3(t){return(0,WL.resp3MapToValue)(t,([,e])=>({sample:WL.transformSampleReply[3](e)}))}}}});var cie=E(PT=>{"use strict";Object.defineProperty(PT,"__esModule",{value:!0});PT.createTransformMGetLabelsReply=void 0;var lrt=Ul(),OT=ai();function drt(){return{2(t,e,r){return(0,OT.resp2MapToValue)(t,([,n,s])=>({labels:(0,OT.transformRESP2Labels)(n),sample:OT.transformSampleReply[2](s)}),r)},3(t){return(0,OT.resp3MapToValue)(t,([e,r])=>({labels:e,sample:OT.transformSampleReply[3](r)}))}}}PT.createTransformMGetLabelsReply=drt;PT.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TS.MGET"),(0,lrt.parseLatestArgument)(t,r?.LATEST),t.push("WITHLABELS"),(0,lrt.parseFilterArgument)(t,e)},transformReply:drt()}});var prt=E(uie=>{"use strict";Object.defineProperty(uie,"__esModule",{value:!0});var frt=Ul(),Epr=ai(),_pr=cie();uie.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("TS.MGET"),(0,frt.parseLatestArgument)(t,n?.LATEST),(0,Epr.parseSelectedLabelsArguments)(t,r),(0,frt.parseFilterArgument)(t,e)},transformReply:(0,_pr.createTransformMGetLabelsReply)()}});var ql=E(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.transformRangeArguments=kf.parseRangeArguments=kf.TIME_SERIES_BUCKET_TIMESTAMP=void 0;var Eg=ai();kf.TIME_SERIES_BUCKET_TIMESTAMP={LOW:"-",MIDDLE:"~",END:"+"};function mrt(t,e,r,n){if(t.push((0,Eg.transformTimestampArgument)(e),(0,Eg.transformTimestampArgument)(r)),n?.LATEST&&t.push("LATEST"),n?.FILTER_BY_TS){t.push("FILTER_BY_TS");for(let s of n.FILTER_BY_TS)t.push((0,Eg.transformTimestampArgument)(s))}n?.FILTER_BY_VALUE&&t.push("FILTER_BY_VALUE",n.FILTER_BY_VALUE.min.toString(),n.FILTER_BY_VALUE.max.toString()),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString()),n?.AGGREGATION&&(n?.ALIGN!==void 0&&t.push("ALIGN",(0,Eg.transformTimestampArgument)(n.ALIGN)),t.push("AGGREGATION",n.AGGREGATION.type,(0,Eg.transformTimestampArgument)(n.AGGREGATION.timeBucket)),n.AGGREGATION.BUCKETTIMESTAMP&&t.push("BUCKETTIMESTAMP",n.AGGREGATION.BUCKETTIMESTAMP),n.AGGREGATION.EMPTY&&t.push("EMPTY"))}kf.parseRangeArguments=mrt;function hrt(t,e,r,n,s){t.pushKey(e),mrt(t,r,n,s)}kf.transformRangeArguments=hrt;kf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("TS.RANGE"),hrt(...t)},transformReply:{2(t){return Eg.transformSamplesReply[2](t)},3(t){return Eg.transformSamplesReply[3](t)}}}});var Vb=E(Iu=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});Iu.extractResp3MRangeSources=Iu.createTransformMRangeGroupByArguments=Iu.parseGroupByArguments=Iu.TIME_SERIES_REDUCERS=void 0;var $L=ai(),Spr=ql(),vpr=Ul();Iu.TIME_SERIES_REDUCERS={AVG:"AVG",SUM:"SUM",MIN:"MIN",MAX:"MAX",RANGE:"RANGE",COUNT:"COUNT",COUNTNAN:"COUNTNAN",COUNTALL:"COUNTALL",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S"};function grt(t,e){t.push("GROUPBY",e.label,"REDUCE",e.REDUCE)}Iu.parseGroupByArguments=grt;function Art(t){return(e,r,n,s,i,a)=>{e.push(t),(0,Spr.parseRangeArguments)(e,r,n,a),(0,vpr.parseFilterArgument)(e,s),grt(e,i)}}Iu.createTransformMRangeGroupByArguments=Art;function yrt(t){let e=t;return e instanceof Map?e.get("sources"):e instanceof Array?e[1]:e.sources}Iu.extractResp3MRangeSources=yrt;Iu.default={IS_READ_ONLY:!0,parseCommand:Art("TS.MRANGE"),transformReply:{2(t,e,r){return(0,$L.resp2MapToValue)(t,([n,s,i])=>({samples:$L.transformSamplesReply[2](i)}),r)},3(t){return(0,$L.resp3MapToValue)(t,([e,r,n,s])=>({sources:yrt(n),samples:$L.transformSamplesReply[3](s)}))}}}});var FL=E(kT=>{"use strict";Object.defineProperty(kT,"__esModule",{value:!0});kT.createTransformMRangeSelectedLabelsArguments=void 0;var zb=ai(),Ipr=ql(),Cpr=Ul();function xrt(t){return(e,r,n,s,i,a)=>{e.push(t),(0,Ipr.parseRangeArguments)(e,r,n,a),(0,zb.parseSelectedLabelsArguments)(e,s),(0,Cpr.parseFilterArgument)(e,i)}}kT.createTransformMRangeSelectedLabelsArguments=xrt;kT.default={IS_READ_ONLY:!0,parseCommand:xrt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,zb.resp2MapToValue)(t,([n,s,i])=>({labels:(0,zb.transformRESP2Labels)(s,r),samples:zb.transformSamplesReply[2](i)}),r)},3(t){return(0,zb.resp3MapToValue)(t,([e,r,n])=>({labels:r,samples:zb.transformSamplesReply[3](n)}))}}}});var die=E(_g=>{"use strict";var Tpr=_g&&_g.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_g,"__esModule",{value:!0});_g.createMRangeSelectedLabelsGroupByTransformArguments=void 0;var lie=ai(),wpr=ql(),brt=Vb(),Rpr=Ul(),Npr=Tpr(FL());function Ert(t){return(e,r,n,s,i,a,o)=>{e.push(t),(0,wpr.parseRangeArguments)(e,r,n,o),(0,lie.parseSelectedLabelsArguments)(e,s),(0,Rpr.parseFilterArgument)(e,i),(0,brt.parseGroupByArguments)(e,a)}}_g.createMRangeSelectedLabelsGroupByTransformArguments=Ert;_g.default={IS_READ_ONLY:!0,parseCommand:Ert("TS.MRANGE"),transformReply:{2:Npr.default.transformReply[2],3(t){return(0,lie.resp3MapToValue)(t,([e,r,n,s])=>({labels:e,sources:(0,brt.extractResp3MRangeSources)(n),samples:lie.transformSamplesReply[3](s)}))}}}});var fie=E(BT=>{"use strict";Object.defineProperty(BT,"__esModule",{value:!0});BT.createMRangeWithLabelsGroupByTransformArguments=void 0;var DT=ai(),Opr=ql(),_rt=Vb(),Ppr=Ul();function Srt(t){return(e,r,n,s,i,a)=>{e.push(t),(0,Opr.parseRangeArguments)(e,r,n,a),e.push("WITHLABELS"),(0,Ppr.parseFilterArgument)(e,s),(0,_rt.parseGroupByArguments)(e,i)}}BT.createMRangeWithLabelsGroupByTransformArguments=Srt;BT.default={IS_READ_ONLY:!0,parseCommand:Srt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,DT.resp2MapToValue)(t,([n,s,i])=>{let a=(0,DT.transformRESP2LabelsWithSources)(s);return{labels:a.labels,sources:a.sources,samples:DT.transformSamplesReply[2](i)}},r)},3(t){return(0,DT.resp3MapToValue)(t,([e,r,n,s])=>({labels:e,sources:(0,_rt.extractResp3MRangeSources)(n),samples:DT.transformSamplesReply[3](s)}))}}}});var pie=E(LT=>{"use strict";Object.defineProperty(LT,"__esModule",{value:!0});LT.createTransformMRangeWithLabelsArguments=void 0;var UL=ai(),kpr=ql(),Dpr=Ul();function vrt(t){return(e,r,n,s,i)=>{e.push(t),(0,kpr.parseRangeArguments)(e,r,n,i),e.push("WITHLABELS"),(0,Dpr.parseFilterArgument)(e,s)}}LT.createTransformMRangeWithLabelsArguments=vrt;LT.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:vrt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,UL.resp2MapToValue)(t,([n,s,i])=>{let a=s,o=Object.create(null);for(let c of a){let[u,l]=c,d=u;o[d.toString()]=l}return{labels:o,samples:UL.transformSamplesReply[2](i)}},r)},3(t){return(0,UL.resp3MapToValue)(t,([e,r,n])=>({labels:e,samples:UL.transformSamplesReply[3](n)}))}}}});var mie=E(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0});MT.createTransformMRangeArguments=void 0;var qL=ai(),Bpr=ql(),Lpr=Ul();function Irt(t){return(e,r,n,s,i)=>{e.push(t),(0,Bpr.parseRangeArguments)(e,r,n,i),(0,Lpr.parseFilterArgument)(e,s)}}MT.createTransformMRangeArguments=Irt;MT.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:Irt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,qL.resp2MapToValue)(t,([n,s,i])=>qL.transformSamplesReply[2](i),r)},3(t){return(0,qL.resp3MapToValue)(t,([e,r,n])=>qL.transformSamplesReply[3](n))}}}});var Crt=E(Df=>{"use strict";var Mpr=Df&&Df.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Wpr=Df&&Df.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),$pr=Df&&Df.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Mpr(e,t,r);return Wpr(e,t),e};Object.defineProperty(Df,"__esModule",{value:!0});var hie=$pr(Vb());Df.default={IS_READ_ONLY:hie.default.IS_READ_ONLY,parseCommand:(0,hie.createTransformMRangeGroupByArguments)("TS.MREVRANGE"),transformReply:hie.default.transformReply}});var Trt=E(Bf=>{"use strict";var Fpr=Bf&&Bf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Upr=Bf&&Bf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qpr=Bf&&Bf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Fpr(e,t,r);return Upr(e,t),e};Object.defineProperty(Bf,"__esModule",{value:!0});var gie=qpr(die());Bf.default={IS_READ_ONLY:gie.default.IS_READ_ONLY,parseCommand:(0,gie.createMRangeSelectedLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:gie.default.transformReply}});var wrt=E(Lf=>{"use strict";var jpr=Lf&&Lf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Hpr=Lf&&Lf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Qpr=Lf&&Lf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&jpr(e,t,r);return Hpr(e,t),e};Object.defineProperty(Lf,"__esModule",{value:!0});var Aie=Qpr(FL());Lf.default={IS_READ_ONLY:Aie.default.IS_READ_ONLY,parseCommand:(0,Aie.createTransformMRangeSelectedLabelsArguments)("TS.MREVRANGE"),transformReply:Aie.default.transformReply}});var Rrt=E(Mf=>{"use strict";var Gpr=Mf&&Mf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Kpr=Mf&&Mf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Vpr=Mf&&Mf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Gpr(e,t,r);return Kpr(e,t),e};Object.defineProperty(Mf,"__esModule",{value:!0});var yie=Vpr(fie());Mf.default={IS_READ_ONLY:yie.default.IS_READ_ONLY,parseCommand:(0,yie.createMRangeWithLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:yie.default.transformReply}});var Nrt=E(Wf=>{"use strict";var zpr=Wf&&Wf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ypr=Wf&&Wf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Jpr=Wf&&Wf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&zpr(e,t,r);return Ypr(e,t),e};Object.defineProperty(Wf,"__esModule",{value:!0});var jL=Jpr(pie());Wf.default={NOT_KEYED_COMMAND:jL.default.NOT_KEYED_COMMAND,IS_READ_ONLY:jL.default.IS_READ_ONLY,parseCommand:(0,jL.createTransformMRangeWithLabelsArguments)("TS.MREVRANGE"),transformReply:jL.default.transformReply}});var Ort=E($f=>{"use strict";var Xpr=$f&&$f.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Zpr=$f&&$f.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),e0r=$f&&$f.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Xpr(e,t,r);return Zpr(e,t),e};Object.defineProperty($f,"__esModule",{value:!0});var HL=e0r(mie());$f.default={NOT_KEYED_COMMAND:HL.default.NOT_KEYED_COMMAND,IS_READ_ONLY:HL.default.IS_READ_ONLY,parseCommand:(0,HL.createTransformMRangeArguments)("TS.MREVRANGE"),transformReply:HL.default.transformReply}});var Prt=E(xie=>{"use strict";Object.defineProperty(xie,"__esModule",{value:!0});xie.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("TS.QUERYINDEX"),t.pushVariadic(e)},transformReply:{2:void 0,3:void 0}}});var krt=E(Ff=>{"use strict";var t0r=Ff&&Ff.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),r0r=Ff&&Ff.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),n0r=Ff&&Ff.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&t0r(e,t,r);return r0r(e,t),e};Object.defineProperty(Ff,"__esModule",{value:!0});var bie=n0r(ql());Ff.default={IS_READ_ONLY:bie.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TS.REVRANGE"),(0,bie.transformRangeArguments)(...t)},transformReply:bie.default.transformReply}});var lnt=E(jl=>{"use strict";var s0r=jl&&jl.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),i0r=jl&&jl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&s0r(e,t,r)},zr=jl&&jl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jl,"__esModule",{value:!0});var Drt=zr(Jtt()),Brt=zr(Xtt()),Lrt=zr(Ztt()),Mrt=zr(Xse()),Wrt=zr(trt()),$rt=zr(nrt()),Frt=zr(srt()),Urt=zr(irt()),qrt=zr(Zse()),jrt=zr(art()),Hrt=zr(iie()),Qrt=zr(ort()),Grt=zr(prt()),Krt=zr(cie()),Vrt=zr(Ul()),zrt=zr(Vb()),Yrt=zr(die()),Jrt=zr(FL()),Xrt=zr(fie()),Zrt=zr(pie()),ent=zr(mie()),tnt=zr(Crt()),rnt=zr(Trt()),nnt=zr(wrt()),snt=zr(Rrt()),int=zr(Nrt()),ant=zr(Ort()),ont=zr(Prt()),cnt=zr(ql()),unt=zr(krt());i0r(ai(),jl);jl.default={ADD:Drt.default,add:Drt.default,ALTER:Brt.default,alter:Brt.default,CREATE:Lrt.default,create:Lrt.default,CREATERULE:Mrt.default,createRule:Mrt.default,DECRBY:Wrt.default,decrBy:Wrt.default,DEL:$rt.default,del:$rt.default,DELETERULE:Frt.default,deleteRule:Frt.default,GET:Urt.default,get:Urt.default,INCRBY:qrt.default,incrBy:qrt.default,INFO_DEBUG:jrt.default,infoDebug:jrt.default,INFO:Hrt.default,info:Hrt.default,MADD:Qrt.default,mAdd:Qrt.default,MGET_SELECTED_LABELS:Grt.default,mGetSelectedLabels:Grt.default,MGET_WITHLABELS:Krt.default,mGetWithLabels:Krt.default,MGET:Vrt.default,mGet:Vrt.default,MRANGE_GROUPBY:zrt.default,mRangeGroupBy:zrt.default,MRANGE_SELECTED_LABELS_GROUPBY:Yrt.default,mRangeSelectedLabelsGroupBy:Yrt.default,MRANGE_SELECTED_LABELS:Jrt.default,mRangeSelectedLabels:Jrt.default,MRANGE_WITHLABELS_GROUPBY:Xrt.default,mRangeWithLabelsGroupBy:Xrt.default,MRANGE_WITHLABELS:Zrt.default,mRangeWithLabels:Zrt.default,MRANGE:ent.default,mRange:ent.default,MREVRANGE_GROUPBY:tnt.default,mRevRangeGroupBy:tnt.default,MREVRANGE_SELECTED_LABELS_GROUPBY:rnt.default,mRevRangeSelectedLabelsGroupBy:rnt.default,MREVRANGE_SELECTED_LABELS:nnt.default,mRevRangeSelectedLabels:nnt.default,MREVRANGE_WITHLABELS_GROUPBY:snt.default,mRevRangeWithLabelsGroupBy:snt.default,MREVRANGE_WITHLABELS:int.default,mRevRangeWithLabels:int.default,MREVRANGE:ant.default,mRevRange:ant.default,QUERYINDEX:ont.default,queryIndex:ont.default,RANGE:cnt.default,range:cnt.default,REVRANGE:unt.default,revRange:unt.default}});var _ie=E(Ki=>{"use strict";var a0r=Ki&&Ki.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ki,"__esModule",{value:!0});Ki.TIME_SERIES_REDUCERS=Ki.TIME_SERIES_BUCKET_TIMESTAMP=Ki.TIME_SERIES_AGGREGATION_TYPE=Ki.TIME_SERIES_DUPLICATE_POLICIES=Ki.TIME_SERIES_ENCODING=Ki.default=void 0;var Eie=lnt();Object.defineProperty(Ki,"default",{enumerable:!0,get:function(){return a0r(Eie).default}});Object.defineProperty(Ki,"TIME_SERIES_ENCODING",{enumerable:!0,get:function(){return Eie.TIME_SERIES_ENCODING}});Object.defineProperty(Ki,"TIME_SERIES_DUPLICATE_POLICIES",{enumerable:!0,get:function(){return Eie.TIME_SERIES_DUPLICATE_POLICIES}});var o0r=Xse();Object.defineProperty(Ki,"TIME_SERIES_AGGREGATION_TYPE",{enumerable:!0,get:function(){return o0r.TIME_SERIES_AGGREGATION_TYPE}});var c0r=ql();Object.defineProperty(Ki,"TIME_SERIES_BUCKET_TIMESTAMP",{enumerable:!0,get:function(){return c0r.TIME_SERIES_BUCKET_TIMESTAMP}});var u0r=Vb();Object.defineProperty(Ki,"TIME_SERIES_REDUCERS",{enumerable:!0,get:function(){return u0r.TIME_SERIES_REDUCERS}})});var dnt=E(gs=>{"use strict";var l0r=gs&&gs.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),WT=gs&&gs.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&l0r(e,t,r)},QL=gs&&gs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gs,"__esModule",{value:!0});gs.createSentinel=gs.createCluster=gs.createClientPool=gs.createClient=void 0;var GL=aT(),d0r=QL(jne()),f0r=QL(hse()),p0r=QL(Kse()),m0r=QL(_ie());WT(aT(),gs);WT(jne(),gs);WT(hse(),gs);WT(Kse(),gs);WT(_ie(),gs);var KL={...d0r.default,json:f0r.default,ft:p0r.default,ts:m0r.default};function h0r(t){return(0,GL.createClient)({...t,modules:{...KL,...t?.modules}})}gs.createClient=h0r;function g0r(t,e){return(0,GL.createClientPool)({...t,modules:{...KL,...t?.modules}},e)}gs.createClientPool=g0r;function A0r(t){return(0,GL.createCluster)({...t,modules:{...KL,...t?.modules}})}gs.createCluster=A0r;function y0r(t){return(0,GL.createSentinel)({...t,modules:{...KL,...t?.modules}})}gs.createSentinel=y0r});var YL={};is(YL,{closeLocalRedisConnection:()=>_0r,getLocalRedisCaches:()=>b0r,getLocalRedisKey:()=>fnt,judgeLocalRedisValid:()=>E0r,setLocalRedisKey:()=>VL,setLocalRedisKeyWithExpiry:()=>x0r,updateLocalRedisCaches:()=>zL});async function Yb(){if(rs)return rs;let t=O.localRedisUrl;try{_("info","[Utils] [Local-Redis] \u6B63\u5728\u8FDE\u63A5\u672C\u5730 Redis");let{createClient:e}=await Promise.resolve().then(()=>Re(dnt(),1));return rs=e({url:t,socket:{reconnectStrategy:r=>r>=0?new Error("\u5DF2\u8FBE\u5230\u6700\u5927\u91CD\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u91CD\u8FDE"):1e3}}),rs.on("error",r=>{_("error","[Utils] [Local-Redis] \u8FDE\u63A5\u9519\u8BEF"),O.localRedisValid=!1}),rs.on("connect",()=>{_("info","[Utils] [Local-Redis] \u8FDE\u63A5\u6210\u529F")}),await rs.connect(),O.localRedisValid=!0,_("info","[Utils] [Local-Redis] Redis \u5BA2\u6237\u7AEF\u521D\u59CB\u5316\u5B8C\u6210"),rs}catch(e){return _("error","[Utils] [Local-Redis] \u521D\u59CB\u5316\u5931\u8D25:",e.message),O.localRedisValid=!1,null}}async function Jb(){if(!rs)return!1;try{return await rs.ping()==="PONG"}catch(t){return _("error","[Utils] [Local-Redis] \u8FDE\u63A5\u68C0\u67E5\u5931\u8D25:",t.message),O.localRedisValid=!1,!1}}async function fnt(t){try{if(await Jb()||await Yb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");return await rs.get(t)}catch(e){return _("error","[Utils] [Local-Redis] GET \u8BF7\u6C42\u5931\u8D25:",e.message),null}}async function VL(t,e){let r=db(t,e),n=an(r);if(O.lastHashes[t]===n)return _("info",`[Utils] [Local-Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SET \u8BF7\u6C42`),{result:"OK"};try{if(await Jb()||await Yb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let s=await rs.set(t,r);return O.lastHashes[t]=n,_("info",`[Utils] [Local-Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F`),{result:s}}catch(s){return _("error","[Utils] [Local-Redis] SET \u8BF7\u6C42\u5931\u8D25:",s.message),{result:"ERROR"}}}async function x0r(t,e,r){let n=db(t,e),s=an(n);if(O.lastHashes[t]===s)return _("info",`[Utils] [Local-Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SETEX \u8BF7\u6C42`),{result:"OK"};try{if(await Jb()||await Yb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let i=await rs.setEx(t,r,n);return O.lastHashes[t]=s,_("info",`[Utils] [Local-Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F\uFF08\u5E26\u8FC7\u671F\u65F6\u95F4 ${r}s\uFF09`),{result:i}}catch(i){return _("error","[Utils] [Local-Redis] SETEX \u8BF7\u6C42\u5931\u8D25:",i.message),{result:"ERROR"}}}async function b0r(){if(!O.localCacheInitialized)try{if(_("info","[Utils] [Local-Redis] getLocalRedisCaches start."),await Jb()||await Yb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let t=["animes","episodeIds","episodeNum","reqRecords","lastSelectMap","todayReqNum"],e=await Promise.all(t.map(n=>fnt(n)));O.animes=e[0]?JSON.parse(e[0]):O.animes,O.episodeIds=e[1]?JSON.parse(e[1]):O.episodeIds,O.episodeNum=e[2]?JSON.parse(e[2]):O.episodeNum,O.reqRecords=e[3]?JSON.parse(e[3]):O.reqRecords;let r=e[4]?JSON.parse(e[4]):null;r&&typeof r=="object"&&(O.lastSelectMap=new Map(Object.entries(r)),_("info",`[Utils] [Local-Redis] Restored lastSelectMap from Local Redis with ${O.lastSelectMap.size} entries`)),O.todayReqNum=e[5]?parseInt(e[5],10):O.todayReqNum,O.lastHashes.animes=an(JSON.stringify(O.animes)),O.lastHashes.episodeIds=an(JSON.stringify(O.episodeIds)),O.lastHashes.episodeNum=an(JSON.stringify(O.episodeNum)),O.lastHashes.reqRecords=an(JSON.stringify(O.reqRecords)),O.lastHashes.lastSelectMap=an(JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.lastHashes.todayReqNum=an(JSON.stringify(O.todayReqNum)),O.localCacheInitialized=!0,_("info","[Utils] [Local-Redis] getLocalRedisCaches completed successfully.")}catch(t){_("error",`[Utils] [Local-Redis] getLocalRedisCaches failed: ${t.message}`,t.stack),O.localCacheInitialized=!0}}async function zL(){try{if(_("info","[Utils] [Local-Redis] updateLocalRedisCaches start."),await Jb()||await Yb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let t=[],e=[{key:"animes",value:O.animes},{key:"episodeIds",value:O.episodeIds},{key:"episodeNum",value:O.episodeNum},{key:"reqRecords",value:O.reqRecords},{key:"lastSelectMap",value:O.lastSelectMap},{key:"todayReqNum",value:O.todayReqNum}];for(let{key:r,value:n}of e){let s=JSON.stringify(r==="lastSelectMap"?Object.fromEntries(n):n),i=an(s);i!==O.lastHashes[r]&&t.push({key:r,value:n,hash:i})}if(t.length>0){_("info",`[Utils] [Local-Redis] Updating ${t.length} changed keys: ${t.map(a=>a.key).join(", ")}`);let r=t.map(async({key:a,value:o})=>VL(a,o)),n=await Promise.all(r),s=0,i=0;n.forEach((a,o)=>{a&&a.result==="OK"?s++:(i++,_("warn",`[Utils] [Local-Redis] Failed to update Local Redis key: ${t[o]?.key}, result: ${JSON.stringify(a)}`))}),i===0?(t.forEach(({key:a,hash:o})=>{O.lastHashes[a]=o}),_("info",`[Utils] [Local-Redis] Local Redis update completed successfully: ${s} keys updated`)):_("warn",`[Utils] [Local-Redis] Local Redis update partially failed: ${s} succeeded, ${i} failed`)}else _("info","[Utils] [Local-Redis] No changes detected, skipping Local Redis update.")}catch(t){_("error",`[Utils] [Local-Redis] updateLocalRedisCaches failed: ${t.message}`,t.stack),_("error",`[Utils] [Local-Redis] Error details - Name: ${t.name}, Cause: ${t.cause?t.cause.message:"N/A"}`)}}async function E0r(t){if(!O.localRedisValid&&O.localRedisUrl&&t!=="/favicon.ico"&&t!=="/robots.txt")try{await Jb()||await Yb(),rs&&await rs.ping()==="PONG"&&(O.localRedisValid=!0)}catch(e){_("error","[Utils] [Local-Redis] \u8FDE\u63A5\u68C0\u67E5\u5931\u8D25:",e.message),O.localRedisValid=!1}}async function _0r(){if(rs)try{await rs.quit(),rs=null,O.localRedisValid=!1,_("info","[Utils] [Local-Redis] \u8FDE\u63A5\u5DF2\u5173\u95ED")}catch(t){_("error","[Utils] [Local-Redis] \u5173\u95ED\u8FDE\u63A5\u5931\u8D25:",t.message)}}var rs,$T=lr(()=>{Ot();_t();Ts();rs=null});var Lo,sE=lr(()=>{Ot();_t();Lo=class{constructor(){}updateLocalEnv(e,r){return typeof O.env<"u"?O.env[e]=r:typeof process<"u"&&(process.env[e]=r),O.reInit(),_("info",`[system] [Server] \u2713 Environment variable updated successfully: ${e}`),!0}delLocalEnv(e){return typeof O.env<"u"&&O.env[e]?delete O.env[e]:typeof process<"u"&&process.env?.[e]&&delete process.env[e],O.reInit(),_("info",`[system] [Server] \u2713 Environment variable deleted successfully: ${e}`),!0}getAllEnv(){let e=O.originalEnvVars,r=O.envVarConfig,n={};for(let[s,i]of Object.entries(e)){let a=r[s]||{category:"system",type:"text",description:"\u672A\u5206\u7C7B\u914D\u7F6E\u9879"};n[s]={value:i,category:a.category,type:a.type,description:a.description,options:a.options}}return n}getEnv(e){return this.getAllEnv()[e]}async setEnv(e,r){throw new Error("Method 'setEnv' must be implemented")}async addEnv(e,r){throw new Error("Method 'addEnv' must be implemented")}async delEnv(e){throw new Error("Method 'delEnv' must be implemented")}async checkParams(e,r,n){throw new Error("Method 'checkParams' must be implemented")}async deploy(e,r,n){throw new Error("Method 'deploy' must be implemented")}}});var Qst={};is(Qst,{CloudflareHandler:()=>jie});var jie,Gst=lr(()=>{sE();Ot();_t();ir();jie=class extends Lo{API_URL="https://api.cloudflare.com";async _getAllEnvs(e,r,n){let s=`${this.API_URL}/client/v4/accounts/${e}/workers/scripts/${r}/settings`,i={headers:{Authorization:`Bearer ${n}`}},a=await ge(s,i);return a&&a?.data&&a?.data?.result&&a?.data?.result?.bindings?a?.data?.result?.bindings:null}_setEnv(e,r,n){let s=e.findIndex(i=>i.name===r);return n==null?s!==-1&&e.splice(s,1):s!==-1?e[s].text=n:e.push({name:r,text:n,type:"plain_text"}),e}async setEnv(e,r){try{let n=await this._getAllEnvs(O.deployPlatformAccount,O.deployPlatformProject,O.deployPlatformToken);if(n===null){_("error","[system] [Server] \u2717 Failed to set environment variable: envs is null");return}let s=`${this.API_URL}/client/v4/accounts/${O.deployPlatformAccount}/workers/scripts/${O.deployPlatformProject}/settings`,i={headers:{Authorization:`Bearer ${O.deployPlatformToken}`}},a=new FormData,o={bindings:this._setEnv(n,e,r==null?null:r.toString())};return a.append("settings",new Blob([JSON.stringify(o)],{type:"application/json"}),"settings.json"),await wB(s,a,i),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){return await this.setEnv(e,r)}async delEnv(e){return await this.setEnv(e,null),this.delLocalEnv(e)}async checkParams(e,r,n){try{return await this._getAllEnvs(e,r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){return _("info","[system] [Server] After modifying the environment variables on the cloudflare platform, it will be automatically deployed."),!0}}});var Kst={};is(Kst,{VercelHandler:()=>Hie});var Hie,Vst=lr(()=>{sE();Ot();_t();ir();Hie=class extends Lo{API_URL="https://api.vercel.com";async _getAllEnvs(e,r){let n=`${this.API_URL}/v10/projects/${e}/env`,s={headers:{Authorization:`Bearer ${r}`}};return(await ge(n,s)).data.envs}async _getEevId(e){try{let n=(await this._getAllEnvs(O.deployPlatformProject,O.deployPlatformToken)).find(s=>s.key===e);return n||null}catch(r){_("error","[system] [Server] \u2717 Failed to _getEevId:",r.message)}}async setEnv(e,r){let n=await this._getEevId(e);if(!n){_("error","[system] [Server] Error setEnv: \u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u73AF\u5883\u53D8\u91CF\uFF01");return}try{let s=`${this.API_URL}/v9/projects/${O.deployPlatformProject}/env/${n.id}`,i={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},a={key:e,value:r.toString(),target:n.target,type:n.type};return await wB(s,JSON.stringify(a),i),this.updateLocalEnv(e,r)}catch(s){_("error","[system] [Server] \u2717 Failed to set environment variable:",s.message)}}async addEnv(e,r){try{let n=`${this.API_URL}/v10/projects/${O.deployPlatformProject}/env`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},i={key:e,value:r.toString(),target:["production","preview","development"],type:"encrypted"};return await Kr(n,JSON.stringify(i),s),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async delEnv(e){let r=await this._getEevId(e);if(!r){_("error","[system] [Server] Error setEnv: \u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u73AF\u5883\u53D8\u91CF\uFF01");return}try{let n=`${this.API_URL}/v9/projects/${O.deployPlatformProject}/env/${r.id}`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}};return await ub(n,s),this.delLocalEnv(e)}catch(n){_("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! projectId or token is not valid:",s.message),!1}}async deploy(){try{let e=`${this.API_URL}/v6/deployments?projectId=${O.deployPlatformProject}&limit=1`,r={headers:{Authorization:`Bearer ${O.deployPlatformToken}`}},n=await ge(e,r),s;if(n?.data&&n?.data?.deployments&&n?.data?.deployments.length>0)s=n.data.deployments[0].uid;else return _("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(n?.data)),!1;let i=`${this.API_URL}/v13/deployments`,a={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},o={name:O.deployPlatformProject,deploymentId:s,target:"production"},c=await Kr(i,JSON.stringify(o),a);return c?.data?.id?!0:(_("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(c?.data)),!1)}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var zst={};is(zst,{NetlifyHandler:()=>Qie});var Qie,Yst=lr(()=>{sE();Ot();_t();ir();Qie=class extends Lo{API_URL="https://api.netlify.com";async _getAllEnvs(e,r,n){let s=`${this.API_URL}/api/v1/accounts/${e}/env?site_id=${r}`,i={headers:{Authorization:`Bearer ${n}`}};return await ge(s,i)}async setEnv(e,r){try{let n=`${this.API_URL}/api/v1/accounts/${O.deployPlatformAccount}/env/${e}?site_id=${O.deployPlatformProject}`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},i={key:e,values:[{context:"all",value:r.toString()}]};return await b8e(n,JSON.stringify(i),s),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){try{let n=`${this.API_URL}/api/v1/accounts/${O.deployPlatformAccount}/env?site_id=${O.deployPlatformProject}`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}};return await Kr(n,JSON.stringify([{key:e,values:[{context:"all",value:r}]}]),s),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async delEnv(e){try{let r=`${this.API_URL}/api/v1/accounts/${O.deployPlatformAccount}/env/${e}?site_id=${O.deployPlatformProject}`,n={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}};return await ub(r,n),this.delLocalEnv(e)}catch(r){_("error","[system] [Server] \u2717 Failed to add environment variable:",r.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(e,r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let e=`${this.API_URL}/api/v1/sites/${O.deployPlatformProject}/builds`,r={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},s=await Kr(e,JSON.stringify({}),r);return s?.data?.id?!0:(_("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(s?.data)),!1)}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var Jst={};is(Jst,{EdgeoneHandler:()=>Gie});var Gie,Xst=lr(()=>{sE();Ot();_t();ir();Gie=class extends Lo{API_URL="https://pages-api.cloud.tencent.com/v1";async _httpPost(e,r){let n=`${this.API_URL}`,s={headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}};return await Kr(n,JSON.stringify(r),s)}async _getAllEnvs(e,r){let n={Action:"ModifyPagesProjectEnvs",ProjectId:e},s=await this._httpPost(r,n);if(s?.data?.Code!==0)return null;let i=s?.data.Data?.Response?.EnvVars??[];return Object.fromEntries(i.map(({Key:a,Value:o})=>[a,o]))}async setEnv(e,r){try{let n={Action:"ModifyPagesProjectEnvs",ProjectId:O.deployPlatformProject,EnvVars:[{Key:e,Value:r.toString()}]};return await this._httpPost(O.deployPlatformToken,n),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){return await this.setEnv(e,r)}async delEnv(e){try{let r={Action:"DeletePagesProjectEnvs",ProjectId:O.deployPlatformProject,EnvVars:[e]};return await this._httpPost(O.deployPlatformToken,r),this.delLocalEnv(e)}catch(r){_("error","[system] [Server] \u2717 Failed to del environment variable:",r.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let e={Action:"CreatePagesDeployment",ProjectId:O.deployPlatformProject,RepoBranch:"main",ViaMeta:"Github",Provider:"Github"},r=await this._httpPost(O.deployPlatformToken,e);return r?.data?.Code!==0?(_("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(r?.data)),!1):!0}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var Zst={};is(Zst,{HuggingfaceHandler:()=>Kie});var Kie,eit=lr(()=>{sE();Ot();_t();ir();Kie=class extends Lo{API_URL="https://huggingface.co";get repoId(){return`${O.deployPlatformAccount}/${O.deployPlatformProject}`}_getOptions(e=O.deployPlatformToken){return{headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}}}_getVariablesUrl(e){return`${this.API_URL}/api/spaces/${e}/variables`}async _getAllEnvs(e,r,n){let s=`${e}/${r}`,i=this._getVariablesUrl(s);return(await ge(i,this._getOptions(n)))?.data}async setEnv(e,r){try{let n=this._getVariablesUrl(this.repoId),s={key:e,value:r.toString()};return await Kr(n,JSON.stringify(s),this._getOptions()),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){return await this.setEnv(e,r)}async delEnv(e){try{let r=this._getVariablesUrl(this.repoId);return await ub(r,{...this._getOptions(),body:JSON.stringify({key:e})}),this.delLocalEnv(e)}catch(r){_("error","[system] [Server] \u2717 Failed to del environment variable:",r.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(e,r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let e=`${this.API_URL}/api/spaces/${this.repoId}/restart`;return await Kr(e,void 0,this._getOptions()),!0}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var Hlt=E(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.removeTrailingChar=cA.merge=void 0;var UTr=(...t)=>{let e={};return t.forEach(function(r){var n;for(n in r)n in e&&e[n]===null?e[n]=r[n]:n in e&&Array.isArray(e[n])?e[n]=e[n].concat(r[n]):n in e&&typeof e[n]=="object"?e[n]=(0,cA.merge)(e[n],r[n]):e[n]=r[n]}),e};cA.merge=UTr;var qTr=(t,e)=>t.length>1&&t.endsWith(e)?t.substring(0,t.length-1):t;cA.removeTrailingChar=qTr});var PE=E(cm=>{"use strict";Object.defineProperty(cm,"__esModule",{value:!0});cm.DataError=cm.DatabaseError=cm.NestedError=void 0;var n2=class extends Error{inner;id;constructor(e,r,n){super(e),this.inner=n,this.id=r,this.name=this.constructor.name}toString(){let e=this.name+": "+this.message;return this.inner?e+`:
|
|
`+this.inner:e}};cm.NestedError=n2;var aue=class extends n2{};cm.DatabaseError=aue;var oue=class extends n2{};cm.DataError=oue});var fue=E(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.getArrayIndicies=Sa.validateArrayIndex=Sa.validateArrayIndicies=Sa.isInt=Sa.ArrayInfo=Sa.arrayRegex=void 0;var kM=PE(),jTr=()=>/^([\.0-9a-zA-Z_$\-][0-9a-zA-Z_\-$\.]*)\[((?!(\]|\[)).*|)\]$/gm;Sa.arrayRegex=jTr;var cue={},uue=class t{property;index=0;append=!1;indicies=[];constructor(e,r){this.property=e;let n=r[0]??0;if(this.append=n===""||r[r.length-1]==="",this.indicies=r,lue(n))this.index=parseInt(n);else if(!this.append)throw new kM.DataError("Only numerical values accepted for array index",200)}static processArray(e){if(typeof e>"u")return null;if(cue[e])return cue[e];let n=(0,Sa.arrayRegex)().exec(e.trim());if(n!=null){let s=n[1],i="["+n[2].toString()+"]",a=due(i);return Qlt(a),cue[e]=new t(s,a)}return null}getIndex(e,r){if(this.append)return-1;let n=this.index;if(n==-1){let s=r?e:e[this.property];return s.length===0?0:s.length-1}return n}getData(e){if(this.append)throw new kM.DataError("Can't get data when appending",100);let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(e);return n[r]}setData(e,r){if(this.append){let n=e[this.property];this.indicies.forEach(s=>{s!==""&&(s=+s,s===-1&&(s=n.length-1),n=n[+s])}),n.push(r)}else{let{index:n,dataForProperty:s}=this.getArrayDataAndIndexFromProperty(e);n===-1?s.push(r):s[n]=r}}delete(e){if(this.append)throw new kM.DataError("Can't delete an appended data",10);let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(e);n.splice(r,1)}isValid(e){let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(e);return n.hasOwnProperty(r)}getArrayDataAndIndexFromProperty(e){let r=0,n=e instanceof Array?e:e[this.property]??e;if(this.indicies.length>0){r=+this.indicies[this.indicies.length-1];for(let s=0;s<this.indicies.length-1;s++){let i=+this.indicies[s];i===-1&&(i=n.length-1),n=n[i]}r===-1&&(r=n.length-1)}return{index:r,dataForProperty:n}}isMultiDimensional(){return this.indicies.length>1}};Sa.ArrayInfo=uue;function lue(t){return!isNaN(t)&&Number(t)==t&&!isNaN(parseInt(t,10))}Sa.isInt=lue;function Qlt(t){let e=t.filter(r=>r==="");if(e.length>1)throw Error("Only one append index is supported for nested arrays");if(e.length===1&&t[t.length-1]!=="")throw Error("Append index must be at the end of the nested array")}Sa.validateArrayIndicies=Qlt;function Glt(t){if(t.length!==0&&!lue(t))throw new kM.DataError("Only numerical values accepted for array index",200)}Sa.validateArrayIndex=Glt;function due(t){if(t.length===0)return[];if(t.charAt(0)!=="[")throw new Error("Invalid array syntax detected");let e=t.substring(1,t.indexOf("]"));Glt(e);let r=e.length+2;return[e,...due(t.substring(r))]}Sa.getArrayIndicies=due});var zlt=E(DM=>{"use strict";Object.defineProperty(DM,"__esModule",{value:!0});DM.DBParentData=void 0;var Klt=fue(),Vlt=PE(),pue=class{parent;data;db;dataPath;constructor(e,r,n,s){this.parent=s,this.data=e,this.db=r,this.dataPath=n}checkArray(e=!1){let r=Klt.ArrayInfo.processArray(this.parent);if(r&&(!r.append||e)&&!r.isValid(this.data))throw new Vlt.DataError("DataPath: /"+this.dataPath+". Can't find index "+r.index+" in array "+r.property,10);return r}getData(){if(this.parent===void 0)return this.data;let e=this.checkArray();return e?e.getData(this.data):this.data[this.parent]}setData(e){if(this.parent===void 0){this.db.resetData(e);return}let r=Klt.ArrayInfo.processArray(this.parent);if(r){if(!this.data.hasOwnProperty(r.property))this.data[r.property]=[];else if(!Array.isArray(this.data[r.property]))throw new Vlt.DataError("DataPath: /"+this.dataPath+". "+r.property+" is not an array.",11);r.setData(this.data,e)}else this.data[this.parent]=e}delete(){if(this.parent===void 0){this.db.resetData({});return}let e=this.checkArray(!0);e?e.delete(this.data):delete this.data[this.parent]}};DM.DBParentData=pue});var Jlt=E((a0n,Ylt)=>{Ylt.exports=function(){"use strict";function t(){this.readers=0,this.queue=[]}function e(i,a,o){var c;typeof i!="function"?(s.hasOwnProperty(i)||(s[i]=new t),c=s[i]):(o=a,a=i,c=n),o||(o={});var u=null;o.hasOwnProperty("scope")&&(u=o.scope);var l=function(){var p=!1;return function(){p||(p=!0,c.readers--,c.queue.length&&c.queue[0]())}}();if(c.readers<0||c.queue.length){var d=!1;if(c.queue.push(function(){!d&&c.readers>=0&&(d=!0,c.queue.shift(),c.readers++,a.call(u,l),c.queue.length&&c.queue[0]())}),o.hasOwnProperty("timeout")){var f=null;o.hasOwnProperty("timeoutCallback")&&(f=o.timeoutCallback),setTimeout(function(){d||(d=!0,c.queue.shift(),f&&f.call(o.scope))},o.timeout)}}else c.readers++,a.call(o.scope,l)}function r(i,a,o){var c;typeof i!="function"?(s.hasOwnProperty(i)||(s[i]=new t),c=s[i]):(o=a,a=i,c=n),o||(o={});var u=null;o.hasOwnProperty("scope")&&(u=o.scope);var l=function(){var p=!1;return function(){p||(p=!0,c.readers=0,c.queue.length&&c.queue[0]())}}();if(c.readers||c.queue.length){var d=!1;if(c.queue.push(function(){d||c.readers||(d=!0,c.queue.shift(),c.readers=-1,a.call(o.scope,l))}),o.hasOwnProperty("timeout")){var f=null;o.hasOwnProperty("timeoutCallback")&&(f=o.timeoutCallback),setTimeout(function(){d||(d=!0,c.queue.shift(),f&&f.call(u))},o.timeout)}}else c.readers=-1,a.call(o.scope,l)}var n=new t,s={};this.readLock=e,this.writeLock=r,this.async={readLock:function(i,a,o){typeof i!="function"?e(i,function(c){a.call(this,null,c)},o):(a=i,o=a,e(function(c){a.call(this,null,c)},o))},writeLock:function(i,a,o){typeof i!="function"?r(i,function(c){a.call(this,null,c)},o):(a=i,o=a,r(function(c){a.call(this,null,c)},o))}}}});var Xlt=E(BM=>{"use strict";Object.defineProperty(BM,"__esModule",{value:!0});BM.TimeoutError=void 0;var HTr=PE(),mue=class extends HTr.NestedError{};BM.TimeoutError=mue});var tdt=E(kE=>{"use strict";Object.defineProperty(kE,"__esModule",{value:!0});kE.writeLockAsync=kE.readLockAsync=void 0;var QTr=Jlt(),Zlt=Xlt(),edt=new QTr,GTr=(t,e=null)=>{let r={};return e!=null&&(r={timeout:e}),new Promise((n,s)=>{edt.readLock(async i=>{try{let a=await t();n(a)}catch(a){s(a)}finally{i()}},{...r,timeoutCallback(){s(new Zlt.TimeoutError("Timeout",100))}})})};kE.readLockAsync=GTr;var KTr=(t,e=null)=>{let r={};return e!=null&&(r={timeout:e}),new Promise((n,s)=>{edt.writeLock(async i=>{try{let a=await t();n(a)}catch(a){s(a)}finally{i()}},{...r,timeoutCallback(){s(new Zlt.TimeoutError("Timeout",100))}})})};kE.writeLockAsync=KTr});var gue=E(LM=>{"use strict";Object.defineProperty(LM,"__esModule",{value:!0});LM.JsonAdapter=void 0;var hue=class{adapter;humanReadable;dateRegex=new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}","m");constructor(e,r=!1){this.adapter=e,this.humanReadable=r}replacer(e,r){return r}reviver(e,r){return typeof r=="string"&&this.dateRegex.exec(r)!=null?new Date(r):r}async readAsync(){let e=await this.adapter.readAsync();return e==null?(await this.writeAsync({}),{}):JSON.parse(e,this.reviver.bind(this))}writeAsync(e){let r="";return this.humanReadable?r=JSON.stringify(e,this.replacer.bind(this),4):r=JSON.stringify(e,this.replacer.bind(this)),this.adapter.writeAsync(r)}};LM.JsonAdapter=hue});var yue=E(WM=>{"use strict";Object.defineProperty(WM,"__esModule",{value:!0});WM.FileAdapter=void 0;var MM=require("fs/promises"),VTr=require("path"),Aue=class{filename;fsync;constructor(e,r){this.filename=e,this.fsync=r}async readAsync(){try{return await(0,MM.readFile)(this.filename,{encoding:"utf-8"})}catch(e){if(e.code==="ENOENT")return null;throw e}}async writeAsync(e){let r=null;try{r=await(0,MM.open)(this.filename,"w")}catch(n){if(n.code!=="ENOENT")throw n;let s=VTr.dirname(this.filename);await(0,MM.mkdir)(s,{recursive:!0}),r=await(0,MM.open)(this.filename,"w")}try{await r.writeFile(e,{encoding:"utf-8"}),this.fsync&&await r.sync()}finally{await r.close()}}};WM.FileAdapter=Aue});var rdt=E(DE=>{"use strict";Object.defineProperty(DE,"__esModule",{value:!0});DE.ConfigWithAdapter=DE.Config=void 0;var zTr=require("path"),YTr=gue(),JTr=yue(),xue=class{adapter;filename;saveOnPush;separator;constructor(e,r=!0,n=!1,s="/",i=!1){this.filename=e,zTr.extname(e)===""&&(this.filename+=".json"),this.saveOnPush=r,this.separator=s,this.adapter=new YTr.JsonAdapter(new JTr.FileAdapter(this.filename,i),n)}};DE.Config=xue;var bue=class{adapter;saveOnPush;separator;constructor(e,r=!0,n="/"){this.adapter=e,this.saveOnPush=r,this.separator=n}};DE.ConfigWithAdapter=bue});var adt=E(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.JsonDB=Ji.FileAdapter=Ji.JsonAdapter=Ji.DataError=Ji.DatabaseError=Ji.ConfigWithAdapter=Ji.Config=void 0;var ndt=Hlt(),Yi=PE(),XTr=zlt(),ZTr=fue(),Eue=tdt(),sdt=rdt();Object.defineProperty(Ji,"Config",{enumerable:!0,get:function(){return sdt.Config}});Object.defineProperty(Ji,"ConfigWithAdapter",{enumerable:!0,get:function(){return sdt.ConfigWithAdapter}});var idt=PE();Object.defineProperty(Ji,"DatabaseError",{enumerable:!0,get:function(){return idt.DatabaseError}});Object.defineProperty(Ji,"DataError",{enumerable:!0,get:function(){return idt.DataError}});var ewr=gue();Object.defineProperty(Ji,"JsonAdapter",{enumerable:!0,get:function(){return ewr.JsonAdapter}});var twr=yue();Object.defineProperty(Ji,"FileAdapter",{enumerable:!0,get:function(){return twr.FileAdapter}});var _ue=class{loaded=!1;data={};config;constructor(e){this.config=e}processDataPath(e){if(e===void 0||!e.trim())throw new Yi.DataError("The Data Path can't be empty",6);if(e==this.config.separator)return[];e=(0,ndt.removeTrailingChar)(e,this.config.separator);let r=e.split(this.config.separator);return r.shift(),r}async retrieveData(e,r=!1){await this.load();let n=this,s=(i,a)=>{let o=e[a];function c(l=!1){if(i.hasOwnProperty(o))i=i[o];else if(r)l?i[o]=[]:i[o]={},i=i[o];else throw new Yi.DataError(`Can't find dataPath: ${n.config.separator}${e.join(n.config.separator)}. Stopped at ${o}`,5)}let u=ZTr.ArrayInfo.processArray(o);if(u){if(o=u.property,c(!0),!Array.isArray(i))throw new Yi.DataError(`DataPath: ${n.config.separator}${e.join(n.config.separator)}. ${o} is not an array.`,11);let l=u.getIndex(i,!0);if(!u.append&&i.hasOwnProperty(l))i=u.getData(i);else if(r)u.append?(i.push({}),i=i[i.length-1]):(i[l]={},i=i[l]);else throw new Yi.DataError(`DataPath: ${n.config.separator}${e.join(n.config.separator)}. . Can't find index ${u.index} in array ${o}`,10)}else c();return e.length==++a?i:s(i,a)};return e.length===0?this.data:s(this.data,0)}async getParentData(e,r){let n=this.processDataPath(e),s=n.pop();return new XTr.DBParentData(await this.retrieveData(n,r),this,e,s)}getData(e){return(0,Eue.readLockAsync)(async()=>{let r=this.processDataPath(e);return this.retrieveData(r,!1)})}getObject(e){return this.getData(e)}async getObjectDefault(e,r){try{return await this.getData(e)}catch(n){if(!(n instanceof Yi.DataError)||n.id!=5)throw n;return r}}async exists(e){try{return await this.getData(e),!0}catch(r){if(r instanceof Yi.DataError)return!1;throw r}}async count(e){let r=await this.getData(e);if(!Array.isArray(r))throw new Yi.DataError(`DataPath: ${e} is not an array.`,11);let n=this.processDataPath(e);return(await this.retrieveData(n,!1)).length}async getIndex(e,r,n="id"){return(await this.getArrayData(e)).map(function(i){return i[n]}).indexOf(r)}async getIndexValue(e,r){return(await this.getArrayData(e)).indexOf(r)}async getArrayData(e){let r=await this.getData(e);if(!Array.isArray(r))throw new Yi.DataError(`DataPath: ${e} is not an array.`,11);let n=this.processDataPath(e);return this.retrieveData(n,!1)}async filter(e,r){let n=await this.getData(e);if(Array.isArray(n))return n.filter(r);if(n instanceof Object){let i=Object.entries(n).filter(a=>r(a[1],a[0]));return!i||i.length<1?void 0:i.map(a=>a[1])}throw new Yi.DataError("The entry at the path ("+e+") needs to be either an Object or an Array",12)}async find(e,r){let n=await this.getData(e);if(Array.isArray(n))return n.find(r);if(n instanceof Object){let i=Object.entries(n).find(a=>r(a[1],a[0]));return!i||i.length<2?void 0:i[1]}throw new Yi.DataError("The entry at the path ("+e+") needs to be either an Object or an Array",12)}async push(e,r,n=!0){return(0,Eue.writeLockAsync)(async()=>{let s=await this.getParentData(e,!0),i=r;if(!n){if(Array.isArray(r)){let a=s.getData();if(a===void 0)a=[];else if(!Array.isArray(a))throw new Yi.DataError("Can't merge another type of data with an Array",3);i=a.concat(r)}else if(r===Object(r)){if(Array.isArray(s.getData()))throw new Yi.DataError("Can't merge an Array with an Object",4);i=(0,ndt.merge)(s.getData(),r)}}s.setData(i),this.config.saveOnPush&&await this.save()})}async delete(e){await(0,Eue.writeLockAsync)(async()=>{(await this.getParentData(e,!0)).delete(),this.config.saveOnPush&&await this.save()})}resetData(e){this.data=e}async reload(){this.loaded=!1,await this.load()}async load(){if(!this.loaded)try{this.data=await this.config.adapter.readAsync(),this.loaded=!0}catch(e){throw new Yi.DatabaseError("Can't Load Database",1,e)}}async save(e){if(e=e||!1,!e&&!this.loaded)throw new Yi.DatabaseError("DataBase not loaded. Can't write",7);try{await this.config.adapter.writeAsync(this.data)}catch(r){throw new Yi.DatabaseError("Can't save the database",2,r)}}async fromPath(e,r="id"){let[,...n]=e.split("/"),s=n.reduce((a,o,c)=>{if(c%2===0)a[`${o}`]="";else{let l=Object.keys(a);a[`${l[l.length-1]}`]=`${o}`}return a},{}),i=[];for await(let a of Object.keys(s)){i.push(`/${a}`);let o=s[a];try{let c=await this.getIndex(i.join(""),o,r);i.push(`[${c}]`)}catch(c){throw new Yi.DataError(`DataPath: ${i.join("")}/${o} not found.`,13,c)}}return i.join("")}};Ji.JsonDB=_ue});var aOr={};is(aOr,{start:()=>sOr,stop:()=>iOr});module.exports=K0t(aOr);var lpt=Re(Ywe(),1);var NE=Re(require("node:fs/promises"),1),Ws=Re(require("node:path"),1),OM=require("node:crypto"),Olt=require("node:module"),rue=require("node:url");function RS(t,e){return function(){return t.apply(e,arguments)}}var{toString:e9t}=Object.prototype,{getPrototypeOf:xj}=Object,rk=(t=>e=>{let r=e9t.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),ul=t=>(t=t.toLowerCase(),e=>rk(e)===t),nk=t=>e=>typeof e===t,{isArray:sx}=Array,NS=nk("undefined");function t9t(t){return t!==null&&!NS(t)&&t.constructor!==null&&!NS(t.constructor)&&lc(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var Zwe=ul("ArrayBuffer");function r9t(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Zwe(t.buffer),e}var n9t=nk("string"),lc=nk("function"),e2e=nk("number"),sk=t=>t!==null&&typeof t=="object",s9t=t=>t===!0||t===!1,tk=t=>{if(rk(t)!=="object")return!1;let e=xj(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},i9t=ul("Date"),a9t=ul("File"),o9t=ul("Blob"),c9t=ul("FileList"),u9t=t=>sk(t)&&lc(t.pipe),l9t=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||lc(t.append)&&((e=rk(t))==="formdata"||e==="object"&&lc(t.toString)&&t.toString()==="[object FormData]"))},d9t=ul("URLSearchParams"),f9t=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function OS(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let n,s;if(typeof t!="object"&&(t=[t]),sx(t))for(n=0,s=t.length;n<s;n++)e.call(null,t[n],n,t);else{let i=r?Object.getOwnPropertyNames(t):Object.keys(t),a=i.length,o;for(n=0;n<a;n++)o=i[n],e.call(null,t[o],o,t)}}function t2e(t,e){e=e.toLowerCase();let r=Object.keys(t),n=r.length,s;for(;n-- >0;)if(s=r[n],e===s.toLowerCase())return s;return null}var r2e=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,n2e=t=>!NS(t)&&t!==r2e;function yj(){let{caseless:t}=n2e(this)&&this||{},e={},r=(n,s)=>{let i=t&&t2e(e,s)||s;tk(e[i])&&tk(n)?e[i]=yj(e[i],n):tk(n)?e[i]=yj({},n):sx(n)?e[i]=n.slice():e[i]=n};for(let n=0,s=arguments.length;n<s;n++)arguments[n]&&OS(arguments[n],r);return e}var p9t=(t,e,r,{allOwnKeys:n}={})=>(OS(e,(s,i)=>{r&&lc(s)?t[i]=RS(s,r):t[i]=s},{allOwnKeys:n}),t),m9t=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),h9t=(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},g9t=(t,e,r,n)=>{let s,i,a,o={};if(e=e||{},t==null)return e;do{for(s=Object.getOwnPropertyNames(t),i=s.length;i-- >0;)a=s[i],(!n||n(a,t,e))&&!o[a]&&(e[a]=t[a],o[a]=!0);t=r!==!1&&xj(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},A9t=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;let n=t.indexOf(e,r);return n!==-1&&n===r},y9t=t=>{if(!t)return null;if(sx(t))return t;let e=t.length;if(!e2e(e))return null;let r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},x9t=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&xj(Uint8Array)),b9t=(t,e)=>{let n=(t&&t[Symbol.iterator]).call(t),s;for(;(s=n.next())&&!s.done;){let i=s.value;e.call(t,i[0],i[1])}},E9t=(t,e)=>{let r,n=[];for(;(r=t.exec(e))!==null;)n.push(r);return n},_9t=ul("HTMLFormElement"),S9t=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,s){return n.toUpperCase()+s}),Jwe=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),v9t=ul("RegExp"),s2e=(t,e)=>{let r=Object.getOwnPropertyDescriptors(t),n={};OS(r,(s,i)=>{let a;(a=e(s,i,t))!==!1&&(n[i]=a||s)}),Object.defineProperties(t,n)},I9t=t=>{s2e(t,(e,r)=>{if(lc(t)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=t[r];if(lc(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},C9t=(t,e)=>{let r={},n=s=>{s.forEach(i=>{r[i]=!0})};return sx(t)?n(t):n(String(t).split(e)),r},T9t=()=>{},w9t=(t,e)=>(t=+t,Number.isFinite(t)?t:e),Aj="abcdefghijklmnopqrstuvwxyz",Xwe="0123456789",i2e={DIGIT:Xwe,ALPHA:Aj,ALPHA_DIGIT:Aj+Aj.toUpperCase()+Xwe},R9t=(t=16,e=i2e.ALPHA_DIGIT)=>{let r="",{length:n}=e;for(;t--;)r+=e[Math.random()*n|0];return r};function N9t(t){return!!(t&&lc(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}var O9t=t=>{let e=new Array(10),r=(n,s)=>{if(sk(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[s]=n;let i=sx(n)?[]:{};return OS(n,(a,o)=>{let c=r(a,s+1);!NS(c)&&(i[o]=c)}),e[s]=void 0,i}}return n};return r(t,0)},P9t=ul("AsyncFunction"),k9t=t=>t&&(sk(t)||lc(t))&&lc(t.then)&&lc(t.catch),le={isArray:sx,isArrayBuffer:Zwe,isBuffer:t9t,isFormData:l9t,isArrayBufferView:r9t,isString:n9t,isNumber:e2e,isBoolean:s9t,isObject:sk,isPlainObject:tk,isUndefined:NS,isDate:i9t,isFile:a9t,isBlob:o9t,isRegExp:v9t,isFunction:lc,isStream:u9t,isURLSearchParams:d9t,isTypedArray:x9t,isFileList:c9t,forEach:OS,merge:yj,extend:p9t,trim:f9t,stripBOM:m9t,inherits:h9t,toFlatObject:g9t,kindOf:rk,kindOfTest:ul,endsWith:A9t,toArray:y9t,forEachEntry:b9t,matchAll:E9t,isHTMLForm:_9t,hasOwnProperty:Jwe,hasOwnProp:Jwe,reduceDescriptors:s2e,freezeMethods:I9t,toObjectSet:C9t,toCamelCase:S9t,noop:T9t,toFiniteNumber:w9t,findKey:t2e,global:r2e,isContextDefined:n2e,ALPHABET:i2e,generateString:R9t,isSpecCompliantForm:N9t,toJSONObject:O9t,isAsyncFn:P9t,isThenable:k9t};function ix(t,e,r,n,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),s&&(this.response=s)}le.inherits(ix,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:le.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var a2e=ix.prototype,o2e={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{o2e[t]={value:t}});Object.defineProperties(ix,o2e);Object.defineProperty(a2e,"isAxiosError",{value:!0});ix.from=(t,e,r,n,s,i)=>{let a=Object.create(a2e);return le.toFlatObject(t,a,function(c){return c!==Error.prototype},o=>o!=="isAxiosError"),ix.call(a,t.message,e,r,n,s),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};var Xe=ix;var uNe=Re(cNe(),1),mk=uNe.default;function Fj(t){return le.isPlainObject(t)||le.isArray(t)}function dNe(t){return le.endsWith(t,"[]")?t.slice(0,-2):t}function lNe(t,e,r){return t?t.concat(e).map(function(s,i){return s=dNe(s),!r&&i?"["+s+"]":s}).join(r?".":""):e}function yHt(t){return le.isArray(t)&&!t.some(Fj)}var xHt=le.toFlatObject(le,{},null,function(e){return/^is[A-Z]/.test(e)});function bHt(t,e,r){if(!le.isObject(t))throw new TypeError("target must be an object");e=e||new(mk||FormData),r=le.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,A){return!le.isUndefined(A[h])});let n=r.metaTokens,s=r.visitor||l,i=r.dots,a=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&le.isSpecCompliantForm(e);if(!le.isFunction(s))throw new TypeError("visitor must be a function");function u(m){if(m===null)return"";if(le.isDate(m))return m.toISOString();if(!c&&le.isBlob(m))throw new Xe("Blob is not supported. Use a Buffer instead.");return le.isArrayBuffer(m)||le.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function l(m,h,A){let g=m;if(m&&!A&&typeof m=="object"){if(le.endsWith(h,"{}"))h=n?h:h.slice(0,-2),m=JSON.stringify(m);else if(le.isArray(m)&&yHt(m)||(le.isFileList(m)||le.endsWith(h,"[]"))&&(g=le.toArray(m)))return h=dNe(h),g.forEach(function(y,x){!(le.isUndefined(y)||y===null)&&e.append(a===!0?lNe([h],x,i):a===null?h:h+"[]",u(y))}),!1}return Fj(m)?!0:(e.append(lNe(A,h,i),u(m)),!1)}let d=[],f=Object.assign(xHt,{defaultVisitor:l,convertValue:u,isVisitable:Fj});function p(m,h){if(!le.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(m),le.forEach(m,function(g,b){(!(le.isUndefined(g)||g===null)&&s.call(e,g,le.isString(b)?b.trim():b,h,f))===!0&&p(g,h?h.concat(b):[b])}),d.pop()}}if(!le.isObject(t))throw new TypeError("data must be an object");return p(t),e}var Vp=bHt;function fNe(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function pNe(t,e){this._pairs=[],t&&Vp(t,this,e)}var mNe=pNe.prototype;mNe.append=function(e,r){this._pairs.push([e,r])};mNe.toString=function(e){let r=e?function(n){return e.call(this,n,fNe)}:fNe;return this._pairs.map(function(s){return r(s[0])+"="+r(s[1])},"").join("&")};var hNe=pNe;function EHt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function fh(t,e,r){if(!e)return t;let n=r&&r.encode||EHt,s=r&&r.serialize,i;if(s?i=s(e,r):i=le.isURLSearchParams(e)?e.toString():new hNe(e,r).toString(n),i){let a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t}var Uj=class{constructor(){this.handlers=[]}use(e,r,n){return this.handlers.push({fulfilled:e,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){le.forEach(this.handlers,function(n){n!==null&&e(n)})}},qj=Uj;var lx={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var gNe=Re(require("url"),1),ANe=gNe.default.URLSearchParams;var yNe={isNode:!0,classes:{URLSearchParams:ANe,FormData:mk,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]};var jj={};is(jj,{hasBrowserEnv:()=>xNe,hasStandardBrowserEnv:()=>_Ht,hasStandardBrowserWebWorkerEnv:()=>SHt});var xNe=typeof window<"u"&&typeof document<"u",_Ht=(t=>xNe&&["ReactNative","NativeScript","NS"].indexOf(t)<0)(typeof navigator<"u"&&navigator.product),SHt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function";var Rs={...jj,...yNe};function Hj(t,e){return Vp(t,new Rs.classes.URLSearchParams,Object.assign({visitor:function(r,n,s,i){return Rs.isNode&&le.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},e))}function vHt(t){return le.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function IHt(t){let e={},r=Object.keys(t),n,s=r.length,i;for(n=0;n<s;n++)i=r[n],e[i]=t[i];return e}function CHt(t){function e(r,n,s,i){let a=r[i++];if(a==="__proto__")return!0;let o=Number.isFinite(+a),c=i>=r.length;return a=!a&&le.isArray(s)?s.length:a,c?(le.hasOwnProp(s,a)?s[a]=[s[a],n]:s[a]=n,!o):((!s[a]||!le.isObject(s[a]))&&(s[a]=[]),e(r,n,s[a],i)&&le.isArray(s[a])&&(s[a]=IHt(s[a])),!o)}if(le.isFormData(t)&&le.isFunction(t.entries)){let r={};return le.forEachEntry(t,(n,s)=>{e(vHt(n),s,r,0)}),r}return null}var hk=CHt;function THt(t,e,r){if(le.isString(t))try{return(e||JSON.parse)(t),le.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(t)}var Qj={transitional:lx,adapter:["xhr","http"],transformRequest:[function(e,r){let n=r.getContentType()||"",s=n.indexOf("application/json")>-1,i=le.isObject(e);if(i&&le.isHTMLForm(e)&&(e=new FormData(e)),le.isFormData(e))return s?JSON.stringify(hk(e)):e;if(le.isArrayBuffer(e)||le.isBuffer(e)||le.isStream(e)||le.isFile(e)||le.isBlob(e))return e;if(le.isArrayBufferView(e))return e.buffer;if(le.isURLSearchParams(e))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Hj(e,this.formSerializer).toString();if((o=le.isFileList(e))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return Vp(o?{"files[]":e}:e,c&&new c,this.formSerializer)}}return i||s?(r.setContentType("application/json",!1),THt(e)):e}],transformResponse:[function(e){let r=this.transitional||Qj.transitional,n=r&&r.forcedJSONParsing,s=this.responseType==="json";if(e&&le.isString(e)&&(n&&!this.responseType||s)){let a=!(r&&r.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(o){if(a)throw o.name==="SyntaxError"?Xe.from(o,Xe.ERR_BAD_RESPONSE,this,null,this.response):o}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Rs.classes.FormData,Blob:Rs.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};le.forEach(["delete","get","head","post","put","patch"],t=>{Qj.headers[t]={}});var dx=Qj;var wHt=le.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"]),bNe=t=>{let e={},r,n,s;return t&&t.split(`
|
|
`).forEach(function(a){s=a.indexOf(":"),r=a.substring(0,s).trim().toLowerCase(),n=a.substring(s+1).trim(),!(!r||e[r]&&wHt[r])&&(r==="set-cookie"?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)}),e};var ENe=Symbol("internals");function MS(t){return t&&String(t).trim().toLowerCase()}function gk(t){return t===!1||t==null?t:le.isArray(t)?t.map(gk):String(t)}function RHt(t){let e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}var NHt=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Gj(t,e,r,n,s){if(le.isFunction(n))return n.call(this,e,r);if(s&&(e=r),!!le.isString(e)){if(le.isString(n))return e.indexOf(n)!==-1;if(le.isRegExp(n))return n.test(e)}}function OHt(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,r,n)=>r.toUpperCase()+n)}function PHt(t,e){let r=le.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+r,{value:function(s,i,a){return this[n].call(this,e,s,i,a)},configurable:!0})})}var fx=class{constructor(e){e&&this.set(e)}set(e,r,n){let s=this;function i(o,c,u){let l=MS(c);if(!l)throw new Error("header name must be a non-empty string");let d=le.findKey(s,l);(!d||s[d]===void 0||u===!0||u===void 0&&s[d]!==!1)&&(s[d||c]=gk(o))}let a=(o,c)=>le.forEach(o,(u,l)=>i(u,l,c));return le.isPlainObject(e)||e instanceof this.constructor?a(e,r):le.isString(e)&&(e=e.trim())&&!NHt(e)?a(bNe(e),r):e!=null&&i(r,e,n),this}get(e,r){if(e=MS(e),e){let n=le.findKey(this,e);if(n){let s=this[n];if(!r)return s;if(r===!0)return RHt(s);if(le.isFunction(r))return r.call(this,s,n);if(le.isRegExp(r))return r.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,r){if(e=MS(e),e){let n=le.findKey(this,e);return!!(n&&this[n]!==void 0&&(!r||Gj(this,this[n],n,r)))}return!1}delete(e,r){let n=this,s=!1;function i(a){if(a=MS(a),a){let o=le.findKey(n,a);o&&(!r||Gj(n,n[o],o,r))&&(delete n[o],s=!0)}}return le.isArray(e)?e.forEach(i):i(e),s}clear(e){let r=Object.keys(this),n=r.length,s=!1;for(;n--;){let i=r[n];(!e||Gj(this,this[i],i,e,!0))&&(delete this[i],s=!0)}return s}normalize(e){let r=this,n={};return le.forEach(this,(s,i)=>{let a=le.findKey(n,i);if(a){r[a]=gk(s),delete r[i];return}let o=e?OHt(i):String(i).trim();o!==i&&delete r[i],r[o]=gk(s),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let r=Object.create(null);return le.forEach(this,(n,s)=>{n!=null&&n!==!1&&(r[s]=e&&le.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,r])=>e+": "+r).join(`
|
|
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...r){let n=new this(e);return r.forEach(s=>n.set(s)),n}static accessor(e){let n=(this[ENe]=this[ENe]={accessors:{}}).accessors,s=this.prototype;function i(a){let o=MS(a);n[o]||(PHt(s,a),n[o]=!0)}return le.isArray(e)?e.forEach(i):i(e),this}};fx.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);le.reduceDescriptors(fx.prototype,({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(n){this[r]=n}}});le.freezeMethods(fx);var Ns=fx;function WS(t,e){let r=this||dx,n=e||r,s=Ns.from(n.headers),i=n.data;return le.forEach(t,function(o){i=o.call(r,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function $S(t){return!!(t&&t.__CANCEL__)}function _Ne(t,e,r){Xe.call(this,t??"canceled",Xe.ERR_CANCELED,e,r),this.name="CanceledError"}le.inherits(_Ne,Xe,{__CANCEL__:!0});var nu=_Ne;function zp(t,e,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?t(r):e(new Xe("Request failed with status code "+r.status,[Xe.ERR_BAD_REQUEST,Xe.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Kj(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Vj(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function ph(t,e){return t&&!Kj(e)?Vj(t,e):e}var nOe=Re(vNe(),1),sOe=Re(require("http"),1),iOe=Re(require("https"),1),aOe=Re(require("util"),1),oOe=Re(jNe(),1),Bd=Re(require("zlib"),1);var Ah="1.6.7";function HS(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}var AQt=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function dH(t,e,r){let n=r&&r.Blob||Rs.classes.Blob,s=HS(t);if(e===void 0&&n&&(e=!0),s==="data"){t=s.length?t.slice(s.length+1):t;let i=AQt.exec(t);if(!i)throw new Xe("Invalid URL",Xe.ERR_INVALID_URL);let a=i[1],o=i[2],c=i[3],u=Buffer.from(decodeURIComponent(c),o?"base64":"utf8");if(e){if(!n)throw new Xe("Blob is not supported",Xe.ERR_NOT_SUPPORT);return new n([u],{type:a})}return u}throw new Xe("Unsupported protocol "+s,Xe.ERR_NOT_SUPPORT)}var yh=Re(require("stream"),1);var QNe=Re(require("stream"),1);function yQt(t,e){let r=0,n=1e3/e,s=null;return function(a,o){let c=Date.now();if(a||c-r>n)return s&&(clearTimeout(s),s=null),r=c,t.apply(null,o);s||(s=setTimeout(()=>(s=null,r=Date.now(),t.apply(null,o)),n-(c-r)))}}var HNe=yQt;function xQt(t,e){t=t||10;let r=new Array(t),n=new Array(t),s=0,i=0,a;return e=e!==void 0?e:1e3,function(c){let u=Date.now(),l=n[i];a||(a=u),r[s]=c,n[s]=u;let d=i,f=0;for(;d!==s;)f+=r[d++],d=d%t;if(s=(s+1)%t,s===i&&(i=(i+1)%t),u-a<e)return;let p=l&&u-l;return p?Math.round(f*1e3/p):void 0}}var Ek=xQt;var _k=Symbol("internals"),fH=class extends QNe.default.Transform{constructor(e){e=le.toFlatObject(e,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(o,c)=>!le.isUndefined(c[o])),super({readableHighWaterMark:e.chunkSize});let r=this,n=this[_k]={length:e.length,timeWindow:e.timeWindow,ticksRate:e.ticksRate,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null},s=Ek(n.ticksRate*e.samplesCount,n.timeWindow);this.on("newListener",o=>{o==="progress"&&(n.isCaptured||(n.isCaptured=!0))});let i=0;n.updateProgress=HNe(function(){let c=n.length,u=n.bytesSeen,l=u-i;if(!l||r.destroyed)return;let d=s(l);i=u,process.nextTick(()=>{r.emit("progress",{loaded:u,total:c,progress:c?u/c:void 0,bytes:l,rate:d||void 0,estimated:d&&c&&u<=c?(c-u)/d:void 0})})},n.ticksRate);let a=()=>{n.updateProgress(!0)};this.once("end",a),this.once("error",a)}_read(e){let r=this[_k];return r.onReadCallback&&r.onReadCallback(),super._read(e)}_transform(e,r,n){let s=this,i=this[_k],a=i.maxRate,o=this.readableHighWaterMark,c=i.timeWindow,u=1e3/c,l=a/u,d=i.minChunkSize!==!1?Math.max(i.minChunkSize,l*.01):0;function f(m,h){let A=Buffer.byteLength(m);i.bytesSeen+=A,i.bytes+=A,i.isCaptured&&i.updateProgress(),s.push(m)?process.nextTick(h):i.onReadCallback=()=>{i.onReadCallback=null,process.nextTick(h)}}let p=(m,h)=>{let A=Buffer.byteLength(m),g=null,b=o,y,x=0;if(a){let v=Date.now();(!i.ts||(x=v-i.ts)>=c)&&(i.ts=v,y=l-i.bytes,i.bytes=y<0?-y:0,x=0),y=l-i.bytes}if(a){if(y<=0)return setTimeout(()=>{h(null,m)},c-x);y<b&&(b=y)}b&&A>b&&A-b>d&&(g=m.subarray(b),m=m.subarray(0,b)),f(m,g?()=>{process.nextTick(h,null,g)}:h)};p(e,function m(h,A){if(h)return n(h);A?p(A,m):n(null)})}setLength(e){return this[_k].length=+e,this}},pH=fH;var cOe=Re(require("events"),1);var KNe=require("util"),VNe=require("stream");var{asyncIterator:GNe}=Symbol,bQt=async function*(t){t.stream?yield*t.stream():t.arrayBuffer?yield await t.arrayBuffer():t[GNe]?yield*t[GNe]():yield t},Sk=bQt;var EQt=le.ALPHABET.ALPHA_DIGIT+"-_",QS=new KNe.TextEncoder,Jp=`\r
|
|
`,_Qt=QS.encode(Jp),SQt=2,mH=class{constructor(e,r){let{escapeName:n}=this.constructor,s=le.isString(r),i=`Content-Disposition: form-data; name="${n(e)}"${!s&&r.name?`; filename="${n(r.name)}"`:""}${Jp}`;s?r=QS.encode(String(r).replace(/\r?\n|\r\n?/g,Jp)):i+=`Content-Type: ${r.type||"application/octet-stream"}${Jp}`,this.headers=QS.encode(i+Jp),this.contentLength=s?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+SQt,this.name=e,this.value=r}async*encode(){yield this.headers;let{value:e}=this;le.isTypedArray(e)?yield e:yield*Sk(e),yield _Qt}static escapeName(e){return String(e).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},vQt=(t,e,r)=>{let{tag:n="form-data-boundary",size:s=25,boundary:i=n+"-"+le.generateString(s,EQt)}=r||{};if(!le.isFormData(t))throw TypeError("FormData instance required");if(i.length<1||i.length>70)throw Error("boundary must be 10-70 characters long");let a=QS.encode("--"+i+Jp),o=QS.encode("--"+i+"--"+Jp+Jp),c=o.byteLength,u=Array.from(t.entries()).map(([d,f])=>{let p=new mH(d,f);return c+=p.size,p});c+=a.byteLength*u.length,c=le.toFiniteNumber(c);let l={"Content-Type":`multipart/form-data; boundary=${i}`};return Number.isFinite(c)&&(l["Content-Length"]=c),e&&e(l),VNe.Readable.from(async function*(){for(let d of u)yield a,yield*d.encode();yield o}())},zNe=vQt;var YNe=Re(require("stream"),1),hH=class extends YNe.default.Transform{__transform(e,r,n){this.push(e),n()}_transform(e,r,n){if(e.length!==0&&(this._transform=this.__transform,e[0]!==120)){let s=Buffer.alloc(2);s[0]=120,s[1]=156,this.push(s,r)}this.__transform(e,r,n)}},JNe=hH;var IQt=(t,e)=>le.isAsyncFn(t)?function(...r){let n=r.pop();t.apply(this,r).then(s=>{try{e?n(null,...e(s)):n(null,s)}catch(i){n(i)}},n)}:t,XNe=IQt;var ZNe={flush:Bd.default.constants.Z_SYNC_FLUSH,finishFlush:Bd.default.constants.Z_SYNC_FLUSH},CQt={flush:Bd.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Bd.default.constants.BROTLI_OPERATION_FLUSH},eOe=le.isFunction(Bd.default.createBrotliDecompress),{http:TQt,https:wQt}=oOe.default,RQt=/https:?/,tOe=Rs.protocols.map(t=>t+":");function NQt(t,e){t.beforeRedirects.proxy&&t.beforeRedirects.proxy(t),t.beforeRedirects.config&&t.beforeRedirects.config(t,e)}function uOe(t,e,r){let n=e;if(!n&&n!==!1){let s=(0,nOe.getProxyForUrl)(r);s&&(n=new URL(s))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){(n.auth.username||n.auth.password)&&(n.auth=(n.auth.username||"")+":"+(n.auth.password||""));let i=Buffer.from(n.auth,"utf8").toString("base64");t.headers["Proxy-Authorization"]="Basic "+i}t.headers.host=t.hostname+(t.port?":"+t.port:"");let s=n.hostname||n.host;t.hostname=s,t.host=s,t.port=n.port,t.path=r,n.protocol&&(t.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}t.beforeRedirects.proxy=function(i){uOe(i,e,i.href)}}var OQt=typeof process<"u"&&le.kindOf(process)==="process",PQt=t=>new Promise((e,r)=>{let n,s,i=(c,u)=>{s||(s=!0,n&&n(c,u))},a=c=>{i(c),e(c)},o=c=>{i(c,!0),r(c)};t(a,o,c=>n=c).catch(o)}),kQt=({address:t,family:e})=>{if(!le.isString(t))throw TypeError("address must be a string");return{address:t,family:e||(t.indexOf(".")<0?6:4)}},rOe=(t,e)=>kQt(le.isObject(t)?t:{address:t,family:e}),lOe=OQt&&function(e){return PQt(async function(n,s,i){let{data:a,lookup:o,family:c}=e,{responseType:u,responseEncoding:l}=e,d=e.method.toUpperCase(),f,p=!1,m;if(o){let F=XNe(o,K=>le.isArray(K)?K:[K]);o=(K,j,J)=>{F(K,j,(se,oe,ue)=>{if(se)return J(se);let Ie=le.isArray(oe)?oe.map(we=>rOe(we)):[rOe(oe,ue)];j.all?J(se,Ie):J(se,Ie[0].address,Ie[0].family)})}}let h=new cOe.default,A=()=>{e.cancelToken&&e.cancelToken.unsubscribe(g),e.signal&&e.signal.removeEventListener("abort",g),h.removeAllListeners()};i((F,K)=>{f=!0,K&&(p=!0,A())});function g(F){h.emit("abort",!F||F.type?new nu(null,e,m):F)}h.once("abort",s),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(g),e.signal&&(e.signal.aborted?g():e.signal.addEventListener("abort",g)));let b=ph(e.baseURL,e.url),y=new URL(b,"http://localhost"),x=y.protocol||tOe[0];if(x==="data:"){let F;if(d!=="GET")return zp(n,s,{status:405,statusText:"method not allowed",headers:{},config:e});try{F=dH(e.url,u==="blob",{Blob:e.env&&e.env.Blob})}catch(K){throw Xe.from(K,Xe.ERR_BAD_REQUEST,e)}return u==="text"?(F=F.toString(l),(!l||l==="utf8")&&(F=le.stripBOM(F))):u==="stream"&&(F=yh.default.Readable.from(F)),zp(n,s,{data:F,status:200,statusText:"OK",headers:new Ns,config:e})}if(tOe.indexOf(x)===-1)return s(new Xe("Unsupported protocol "+x,Xe.ERR_BAD_REQUEST,e));let v=Ns.from(e.headers).normalize();v.set("User-Agent","axios/"+Ah,!1);let I=e.onDownloadProgress,R=e.onUploadProgress,w=e.maxRate,N,P;if(le.isSpecCompliantForm(a)){let F=v.getContentType(/boundary=([-_\w\d]{10,70})/i);a=zNe(a,K=>{v.set(K)},{tag:`axios-${Ah}-boundary`,boundary:F&&F[1]||void 0})}else if(le.isFormData(a)&&le.isFunction(a.getHeaders)){if(v.set(a.getHeaders()),!v.hasContentLength())try{let F=await aOe.default.promisify(a.getLength).call(a);Number.isFinite(F)&&F>=0&&v.setContentLength(F)}catch{}}else if(le.isBlob(a))a.size&&v.setContentType(a.type||"application/octet-stream"),v.setContentLength(a.size||0),a=yh.default.Readable.from(Sk(a));else if(a&&!le.isStream(a)){if(!Buffer.isBuffer(a))if(le.isArrayBuffer(a))a=Buffer.from(new Uint8Array(a));else if(le.isString(a))a=Buffer.from(a,"utf-8");else return s(new Xe("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",Xe.ERR_BAD_REQUEST,e));if(v.setContentLength(a.length,!1),e.maxBodyLength>-1&&a.length>e.maxBodyLength)return s(new Xe("Request body larger than maxBodyLength limit",Xe.ERR_BAD_REQUEST,e))}let B=le.toFiniteNumber(v.getContentLength());le.isArray(w)?(N=w[0],P=w[1]):N=P=w,a&&(R||N)&&(le.isStream(a)||(a=yh.default.Readable.from(a,{objectMode:!1})),a=yh.default.pipeline([a,new pH({length:B,maxRate:le.toFiniteNumber(N)})],le.noop),R&&a.on("progress",F=>{R(Object.assign(F,{upload:!0}))}));let M;if(e.auth){let F=e.auth.username||"",K=e.auth.password||"";M=F+":"+K}if(!M&&y.username){let F=y.username,K=y.password;M=F+":"+K}M&&v.delete("authorization");let D;try{D=fh(y.pathname+y.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(F){let K=new Error(F.message);return K.config=e,K.url=e.url,K.exists=!0,s(K)}v.set("Accept-Encoding","gzip, compress, deflate"+(eOe?", br":""),!1);let L={path:D,method:d,headers:v.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:M,protocol:x,family:c,beforeRedirect:NQt,beforeRedirects:{}};!le.isUndefined(o)&&(L.lookup=o),e.socketPath?L.socketPath=e.socketPath:(L.hostname=y.hostname,L.port=y.port,uOe(L,e.proxy,x+"//"+y.hostname+(y.port?":"+y.port:"")+L.path));let Z,W=RQt.test(L.protocol);if(L.agent=W?e.httpsAgent:e.httpAgent,e.transport?Z=e.transport:e.maxRedirects===0?Z=W?iOe.default:sOe.default:(e.maxRedirects&&(L.maxRedirects=e.maxRedirects),e.beforeRedirect&&(L.beforeRedirects.config=e.beforeRedirect),Z=W?wQt:TQt),e.maxBodyLength>-1?L.maxBodyLength=e.maxBodyLength:L.maxBodyLength=1/0,e.insecureHTTPParser&&(L.insecureHTTPParser=e.insecureHTTPParser),m=Z.request(L,function(K){if(m.destroyed)return;let j=[K],J=+K.headers["content-length"];if(I){let we=new pH({length:le.toFiniteNumber(J),maxRate:le.toFiniteNumber(P)});I&&we.on("progress",qe=>{I(Object.assign(qe,{download:!0}))}),j.push(we)}let se=K,oe=K.req||m;if(e.decompress!==!1&&K.headers["content-encoding"])switch((d==="HEAD"||K.statusCode===204)&&delete K.headers["content-encoding"],(K.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":j.push(Bd.default.createUnzip(ZNe)),delete K.headers["content-encoding"];break;case"deflate":j.push(new JNe),j.push(Bd.default.createUnzip(ZNe)),delete K.headers["content-encoding"];break;case"br":eOe&&(j.push(Bd.default.createBrotliDecompress(CQt)),delete K.headers["content-encoding"])}se=j.length>1?yh.default.pipeline(j,le.noop):j[0];let ue=yh.default.finished(se,()=>{ue(),A()}),Ie={status:K.statusCode,statusText:K.statusMessage,headers:new Ns(K.headers),config:e,request:oe};if(u==="stream")Ie.data=se,zp(n,s,Ie);else{let we=[],qe=0;se.on("data",function(_e){we.push(_e),qe+=_e.length,e.maxContentLength>-1&&qe>e.maxContentLength&&(p=!0,se.destroy(),s(new Xe("maxContentLength size of "+e.maxContentLength+" exceeded",Xe.ERR_BAD_RESPONSE,e,oe)))}),se.on("aborted",function(){if(p)return;let _e=new Xe("maxContentLength size of "+e.maxContentLength+" exceeded",Xe.ERR_BAD_RESPONSE,e,oe);se.destroy(_e),s(_e)}),se.on("error",function(_e){m.destroyed||s(Xe.from(_e,null,e,oe))}),se.on("end",function(){try{let _e=we.length===1?we[0]:Buffer.concat(we);u!=="arraybuffer"&&(_e=_e.toString(l),(!l||l==="utf8")&&(_e=le.stripBOM(_e))),Ie.data=_e}catch(_e){return s(Xe.from(_e,null,e,Ie.request,Ie))}zp(n,s,Ie)})}h.once("abort",we=>{se.destroyed||(se.emit("error",we),se.destroy())})}),h.once("abort",F=>{s(F),m.destroy(F)}),m.on("error",function(K){s(Xe.from(K,null,e,m))}),m.on("socket",function(K){K.setKeepAlive(!0,1e3*60)}),e.timeout){let F=parseInt(e.timeout,10);if(Number.isNaN(F)){s(new Xe("error trying to parse `config.timeout` to int",Xe.ERR_BAD_OPTION_VALUE,e,m));return}m.setTimeout(F,function(){if(f)return;let j=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",J=e.transitional||lx;e.timeoutErrorMessage&&(j=e.timeoutErrorMessage),s(new Xe(j,J.clarifyTimeoutError?Xe.ETIMEDOUT:Xe.ECONNABORTED,e,m)),g()})}if(le.isStream(a)){let F=!1,K=!1;a.on("end",()=>{F=!0}),a.once("error",j=>{K=!0,m.destroy(j)}),a.on("close",()=>{!F&&!K&&g(new nu("Request stream has been aborted",e,m))}),a.pipe(m)}else m.end(a)})};var dOe=Rs.hasStandardBrowserEnv?{write(t,e,r,n,s,i){let a=[t+"="+encodeURIComponent(e)];le.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),le.isString(n)&&a.push("path="+n),le.isString(s)&&a.push("domain="+s),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read(t){let e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var fOe=Rs.hasStandardBrowserEnv?function(){let e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function s(i){let a=i;return e&&(r.setAttribute("href",a),a=r.href),r.setAttribute("href",a),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=s(window.location.href),function(a){let o=le.isString(a)?s(a):a;return o.protocol===n.protocol&&o.host===n.host}}():function(){return function(){return!0}}();function pOe(t,e){let r=0,n=Ek(50,250);return s=>{let i=s.loaded,a=s.lengthComputable?s.total:void 0,o=i-r,c=n(o),u=i<=a;r=i;let l={loaded:i,total:a,progress:a?i/a:void 0,bytes:o,rate:c||void 0,estimated:c&&a&&u?(a-i)/c:void 0,event:s};l[e?"download":"upload"]=!0,t(l)}}var DQt=typeof XMLHttpRequest<"u",mOe=DQt&&function(t){return new Promise(function(r,n){let s=t.data,i=Ns.from(t.headers).normalize(),{responseType:a,withXSRFToken:o}=t,c;function u(){t.cancelToken&&t.cancelToken.unsubscribe(c),t.signal&&t.signal.removeEventListener("abort",c)}let l;if(le.isFormData(s)){if(Rs.hasStandardBrowserEnv||Rs.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if((l=i.getContentType())!==!1){let[h,...A]=l?l.split(";").map(g=>g.trim()).filter(Boolean):[];i.setContentType([h||"multipart/form-data",...A].join("; "))}}let d=new XMLHttpRequest;if(t.auth){let h=t.auth.username||"",A=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";i.set("Authorization","Basic "+btoa(h+":"+A))}let f=ph(t.baseURL,t.url);d.open(t.method.toUpperCase(),fh(f,t.params,t.paramsSerializer),!0),d.timeout=t.timeout;function p(){if(!d)return;let h=Ns.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),g={data:!a||a==="text"||a==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:h,config:t,request:d};zp(function(y){r(y),u()},function(y){n(y),u()},g),d=null}if("onloadend"in d?d.onloadend=p:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(p)},d.onabort=function(){d&&(n(new Xe("Request aborted",Xe.ECONNABORTED,t,d)),d=null)},d.onerror=function(){n(new Xe("Network Error",Xe.ERR_NETWORK,t,d)),d=null},d.ontimeout=function(){let A=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",g=t.transitional||lx;t.timeoutErrorMessage&&(A=t.timeoutErrorMessage),n(new Xe(A,g.clarifyTimeoutError?Xe.ETIMEDOUT:Xe.ECONNABORTED,t,d)),d=null},Rs.hasStandardBrowserEnv&&(o&&le.isFunction(o)&&(o=o(t)),o||o!==!1&&fOe(f))){let h=t.xsrfHeaderName&&t.xsrfCookieName&&dOe.read(t.xsrfCookieName);h&&i.set(t.xsrfHeaderName,h)}s===void 0&&i.setContentType(null),"setRequestHeader"in d&&le.forEach(i.toJSON(),function(A,g){d.setRequestHeader(g,A)}),le.isUndefined(t.withCredentials)||(d.withCredentials=!!t.withCredentials),a&&a!=="json"&&(d.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&d.addEventListener("progress",pOe(t.onDownloadProgress,!0)),typeof t.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",pOe(t.onUploadProgress)),(t.cancelToken||t.signal)&&(c=h=>{d&&(n(!h||h.type?new nu(null,t,d):h),d.abort(),d=null)},t.cancelToken&&t.cancelToken.subscribe(c),t.signal&&(t.signal.aborted?c():t.signal.addEventListener("abort",c)));let m=HS(f);if(m&&Rs.protocols.indexOf(m)===-1){n(new Xe("Unsupported protocol "+m+":",Xe.ERR_BAD_REQUEST,t));return}d.send(s||null)})};var gH={http:lOe,xhr:mOe};le.forEach(gH,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});var hOe=t=>`- ${t}`,BQt=t=>le.isFunction(t)||t===null||t===!1,vk={getAdapter:t=>{t=le.isArray(t)?t:[t];let{length:e}=t,r,n,s={};for(let i=0;i<e;i++){r=t[i];let a;if(n=r,!BQt(r)&&(n=gH[(a=String(r)).toLowerCase()],n===void 0))throw new Xe(`Unknown adapter '${a}'`);if(n)break;s[a||"#"+i]=n}if(!n){let i=Object.entries(s).map(([o,c])=>`adapter ${o} `+(c===!1?"is not supported by the environment":"is not available in the build")),a=e?i.length>1?`since :
|
|
`+i.map(hOe).join(`
|
|
`):" "+hOe(i[0]):"as no adapter specified";throw new Xe("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n},adapters:gH};function AH(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new nu(null,t)}function Ik(t){return AH(t),t.headers=Ns.from(t.headers),t.data=WS.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),vk.getAdapter(t.adapter||dx.adapter)(t).then(function(n){return AH(t),n.data=WS.call(t,t.transformResponse,n),n.headers=Ns.from(n.headers),n},function(n){return $S(n)||(AH(t),n&&n.response&&(n.response.data=WS.call(t,t.transformResponse,n.response),n.response.headers=Ns.from(n.response.headers))),Promise.reject(n)})}var gOe=t=>t instanceof Ns?t.toJSON():t;function Ld(t,e){e=e||{};let r={};function n(u,l,d){return le.isPlainObject(u)&&le.isPlainObject(l)?le.merge.call({caseless:d},u,l):le.isPlainObject(l)?le.merge({},l):le.isArray(l)?l.slice():l}function s(u,l,d){if(le.isUndefined(l)){if(!le.isUndefined(u))return n(void 0,u,d)}else return n(u,l,d)}function i(u,l){if(!le.isUndefined(l))return n(void 0,l)}function a(u,l){if(le.isUndefined(l)){if(!le.isUndefined(u))return n(void 0,u)}else return n(void 0,l)}function o(u,l,d){if(d in e)return n(u,l);if(d in t)return n(void 0,u)}let c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:o,headers:(u,l)=>s(gOe(u),gOe(l),!0)};return le.forEach(Object.keys(Object.assign({},t,e)),function(l){let d=c[l]||s,f=d(t[l],e[l],l);le.isUndefined(f)&&d!==o||(r[l]=f)}),r}var yH={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{yH[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var AOe={};yH.transitional=function(e,r,n){function s(i,a){return"[Axios v"+Ah+"] Transitional option '"+i+"'"+a+(n?". "+n:"")}return(i,a,o)=>{if(e===!1)throw new Xe(s(a," has been removed"+(r?" in "+r:"")),Xe.ERR_DEPRECATED);return r&&!AOe[a]&&(AOe[a]=!0,console.warn(s(a," has been deprecated since v"+r+" and will be removed in the near future"))),e?e(i,a,o):!0}};function LQt(t,e,r){if(typeof t!="object")throw new Xe("options must be an object",Xe.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),s=n.length;for(;s-- >0;){let i=n[s],a=e[i];if(a){let o=t[i],c=o===void 0||a(o,i,t);if(c!==!0)throw new Xe("option "+i+" must be "+c,Xe.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new Xe("Unknown option "+i,Xe.ERR_BAD_OPTION)}}var Ck={assertOptions:LQt,validators:yH};var Xp=Ck.validators,Ax=class{constructor(e){this.defaults=e,this.interceptors={request:new qj,response:new qj}}async request(e,r){try{return await this._request(e,r)}catch(n){if(n instanceof Error){let s;Error.captureStackTrace?Error.captureStackTrace(s={}):s=new Error;let i=s.stack?s.stack.replace(/^.+\n/,""):"";n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=`
|
|
`+i):n.stack=i}throw n}}_request(e,r){typeof e=="string"?(r=r||{},r.url=e):r=e||{},r=Ld(this.defaults,r);let{transitional:n,paramsSerializer:s,headers:i}=r;n!==void 0&&Ck.assertOptions(n,{silentJSONParsing:Xp.transitional(Xp.boolean),forcedJSONParsing:Xp.transitional(Xp.boolean),clarifyTimeoutError:Xp.transitional(Xp.boolean)},!1),s!=null&&(le.isFunction(s)?r.paramsSerializer={serialize:s}:Ck.assertOptions(s,{encode:Xp.function,serialize:Xp.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let a=i&&le.merge(i.common,i[r.method]);i&&le.forEach(["delete","get","head","post","put","patch","common"],m=>{delete i[m]}),r.headers=Ns.concat(a,i);let o=[],c=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(r)===!1||(c=c&&h.synchronous,o.unshift(h.fulfilled,h.rejected))});let u=[];this.interceptors.response.forEach(function(h){u.push(h.fulfilled,h.rejected)});let l,d=0,f;if(!c){let m=[Ik.bind(this),void 0];for(m.unshift.apply(m,o),m.push.apply(m,u),f=m.length,l=Promise.resolve(r);d<f;)l=l.then(m[d++],m[d++]);return l}f=o.length;let p=r;for(d=0;d<f;){let m=o[d++],h=o[d++];try{p=m(p)}catch(A){h.call(this,A);break}}try{l=Ik.call(this,p)}catch(m){return Promise.reject(m)}for(d=0,f=u.length;d<f;)l=l.then(u[d++],u[d++]);return l}getUri(e){e=Ld(this.defaults,e);let r=ph(e.baseURL,e.url);return fh(r,e.params,e.paramsSerializer)}};le.forEach(["delete","get","head","options"],function(e){Ax.prototype[e]=function(r,n){return this.request(Ld(n||{},{method:e,url:r,data:(n||{}).data}))}});le.forEach(["post","put","patch"],function(e){function r(n){return function(i,a,o){return this.request(Ld(o||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}Ax.prototype[e]=r(),Ax.prototype[e+"Form"]=r(!0)});var GS=Ax;var xH=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});let n=this;this.promise.then(s=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](s);n._listeners=null}),this.promise.then=s=>{let i,a=new Promise(o=>{n.subscribe(o),i=o}).then(s);return a.cancel=function(){n.unsubscribe(i)},a},e(function(i,a,o){n.reason||(n.reason=new nu(i,a,o),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}static source(){let e;return{token:new t(function(s){e=s}),cancel:e}}},yOe=xH;function bH(t){return function(r){return t.apply(null,r)}}function EH(t){return le.isObject(t)&&t.isAxiosError===!0}var _H={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(_H).forEach(([t,e])=>{_H[e]=t});var xOe=_H;function bOe(t){let e=new GS(t),r=RS(GS.prototype.request,e);return le.extend(r,GS.prototype,e,{allOwnKeys:!0}),le.extend(r,e,null,{allOwnKeys:!0}),r.create=function(s){return bOe(Ld(t,s))},r}var bs=bOe(dx);bs.Axios=GS;bs.CanceledError=nu;bs.CancelToken=yOe;bs.isCancel=$S;bs.VERSION=Ah;bs.toFormData=Vp;bs.AxiosError=Xe;bs.Cancel=bs.CanceledError;bs.all=function(e){return Promise.all(e)};bs.spread=bH;bs.isAxiosError=EH;bs.mergeConfig=Ld;bs.AxiosHeaders=Ns;bs.formToJSON=t=>hk(le.isHTMLForm(t)?new FormData(t):t);bs.getAdapter=vk.getAdapter;bs.HttpStatusCode=xOe;bs.default=bs;var Ae=bs;var{Axios:eWr,AxiosError:tWr,CanceledError:rWr,isCancel:nWr,CancelToken:sWr,VERSION:iWr,all:aWr,Cancel:oWr,isAxiosError:cWr,spread:uWr,toFormData:lWr,AxiosHeaders:dWr,HttpStatusCode:fWr,formToJSON:pWr,getAdapter:mWr,mergeConfig:hWr}=Ae;var EOe=Re(require("https"),1),_Oe=Re(require("http"),1),MQt=Number.parseInt(process.env.CATPAW_REQ_TIMEOUT_MS||"20000",10)||2e4,WQt=Ae.create({timeout:MQt,httpsAgent:new EOe.default.Agent({keepAlive:!1,rejectUnauthorized:!1,maxCachedSessions:0}),httpAgent:new _Oe.default.Agent({keepAlive:!1}),proxy:!1}),he=WQt;var _v={};is(_v,{contains:()=>rJt,default:()=>tJt,html:()=>BH,load:()=>Me,merge:()=>nJt,parseHTML:()=>sJt,root:()=>iJt,text:()=>Fd,xml:()=>LH});var $Qt={xml:!1,decodeEntities:!0},KS=$Qt,SOe={_useHtmlParser2:!0,xmlMode:!0};function VS(t){return t?.xml?typeof t.xml=="boolean"?SOe:{...SOe,...t.xml}:t??void 0}var r0={};is(r0,{contains:()=>MH,html:()=>BH,merge:()=>NGt,parseHTML:()=>wGt,root:()=>RGt,text:()=>Fd,xml:()=>LH});var t0={};is(t0,{DocumentPosition:()=>pc,append:()=>lGt,appendChild:()=>uGt,compareDocumentPosition:()=>JOe,existsOne:()=>zOe,filter:()=>_x,find:()=>$k,findAll:()=>mGt,findOne:()=>Fk,findOneChild:()=>pGt,getAttributeValue:()=>iGt,getChildren:()=>Ex,getElementById:()=>yGt,getElements:()=>AGt,getElementsByClassName:()=>xGt,getElementsByTagName:()=>Sh,getElementsByTagType:()=>bGt,getFeed:()=>DH,getInnerHTML:()=>sGt,getName:()=>oGt,getOuterHTML:()=>KOe,getParent:()=>VOe,getSiblings:()=>PH,getText:()=>Lk,hasAttrib:()=>aGt,hasChildren:()=>rn,innerText:()=>tv,isCDATA:()=>yx,isComment:()=>_h,isDocument:()=>su,isTag:()=>st,isText:()=>Va,nextElementSibling:()=>Mk,prepend:()=>fGt,prependChild:()=>dGt,prevElementSibling:()=>Wk,removeElement:()=>$d,removeSubsets:()=>EGt,replaceElement:()=>cGt,testElement:()=>gGt,textContent:()=>Wd,uniqueSort:()=>Zp});var Tr;(function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"})(Tr||(Tr={}));function vOe(t){return t.type===Tr.Tag||t.type===Tr.Script||t.type===Tr.Style}var IOe=Tr.Root,COe=Tr.Text,TOe=Tr.Directive,wOe=Tr.Comment,ROe=Tr.Script,NOe=Tr.Style,OOe=Tr.Tag,POe=Tr.CDATA,kOe=Tr.Doctype;var Tk=class{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(e){this.parent=e}get previousSibling(){return this.prev}set previousSibling(e){this.prev=e}get nextSibling(){return this.next}set nextSibling(e){this.next=e}cloneNode(e=!1){return XS(this,e)}},zS=class extends Tk{constructor(e){super(),this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}},ll=class extends zS{constructor(){super(...arguments),this.type=Tr.Text}get nodeType(){return 3}},xh=class extends zS{constructor(){super(...arguments),this.type=Tr.Comment}get nodeType(){return 8}},bh=class extends zS{constructor(e,r){super(r),this.name=e,this.type=Tr.Directive}get nodeType(){return 1}},YS=class extends Tk{constructor(e){super(),this.children=e}get firstChild(){var e;return(e=this.children[0])!==null&&e!==void 0?e:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}},JS=class extends YS{constructor(){super(...arguments),this.type=Tr.CDATA}get nodeType(){return 4}},_o=class extends YS{constructor(){super(...arguments),this.type=Tr.Root}get nodeType(){return 9}},Eh=class extends YS{constructor(e,r,n=[],s=e==="script"?Tr.Script:e==="style"?Tr.Style:Tr.Tag){super(n),this.name=e,this.attribs=r,this.type=s}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map(e=>{var r,n;return{name:e,value:this.attribs[e],namespace:(r=this["x-attribsNamespace"])===null||r===void 0?void 0:r[e],prefix:(n=this["x-attribsPrefix"])===null||n===void 0?void 0:n[e]}})}};function st(t){return vOe(t)}function yx(t){return t.type===Tr.CDATA}function Va(t){return t.type===Tr.Text}function _h(t){return t.type===Tr.Comment}function wk(t){return t.type===Tr.Directive}function su(t){return t.type===Tr.Root}function rn(t){return Object.prototype.hasOwnProperty.call(t,"children")}function XS(t,e=!1){let r;if(Va(t))r=new ll(t.data);else if(_h(t))r=new xh(t.data);else if(st(t)){let n=e?SH(t.children):[],s=new Eh(t.name,{...t.attribs},n);n.forEach(i=>i.parent=s),t.namespace!=null&&(s.namespace=t.namespace),t["x-attribsNamespace"]&&(s["x-attribsNamespace"]={...t["x-attribsNamespace"]}),t["x-attribsPrefix"]&&(s["x-attribsPrefix"]={...t["x-attribsPrefix"]}),r=s}else if(yx(t)){let n=e?SH(t.children):[],s=new JS(n);n.forEach(i=>i.parent=s),r=s}else if(su(t)){let n=e?SH(t.children):[],s=new _o(n);n.forEach(i=>i.parent=s),t["x-mode"]&&(s["x-mode"]=t["x-mode"]),r=s}else if(wk(t)){let n=new bh(t.name,t.data);t["x-name"]!=null&&(n["x-name"]=t["x-name"],n["x-publicId"]=t["x-publicId"],n["x-systemId"]=t["x-systemId"]),r=n}else throw new Error(`Not implemented yet: ${t.type}`);return r.startIndex=t.startIndex,r.endIndex=t.endIndex,t.sourceCodeLocation!=null&&(r.sourceCodeLocation=t.sourceCodeLocation),r}function SH(t){let e=t.map(r=>XS(r,!0));for(let r=1;r<e.length;r++)e[r].prev=e[r-1],e[r-1].next=e[r];return e}var BOe={withStartIndices:!1,withEndIndices:!1,xmlMode:!1},xx=class{constructor(e,r,n){this.dom=[],this.root=new _o(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,typeof r=="function"&&(n=r,r=BOe),typeof e=="object"&&(r=e,e=void 0),this.callback=e??null,this.options=r??BOe,this.elementCB=n??null}onparserinit(e){this.parser=e}onreset(){this.dom=[],this.root=new _o(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(e){this.handleCallback(e)}onclosetag(){this.lastNode=null;let e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)}onopentag(e,r){let n=this.options.xmlMode?Tr.Tag:void 0,s=new Eh(e,r,void 0,n);this.addNode(s),this.tagStack.push(s)}ontext(e){let{lastNode:r}=this;if(r&&r.type===Tr.Text)r.data+=e,this.options.withEndIndices&&(r.endIndex=this.parser.endIndex);else{let n=new ll(e);this.addNode(n),this.lastNode=n}}oncomment(e){if(this.lastNode&&this.lastNode.type===Tr.Comment){this.lastNode.data+=e;return}let r=new xh(e);this.addNode(r),this.lastNode=r}oncommentend(){this.lastNode=null}oncdatastart(){let e=new ll(""),r=new JS([e]);this.addNode(r),e.parent=r,this.lastNode=e}oncdataend(){this.lastNode=null}onprocessinginstruction(e,r){let n=new bh(e,r);this.addNode(n)}handleCallback(e){if(typeof this.callback=="function")this.callback(e,this.dom);else if(e)throw e}addNode(e){let r=this.tagStack[this.tagStack.length-1],n=r.children[r.children.length-1];this.options.withStartIndices&&(e.startIndex=this.parser.startIndex),this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),r.children.push(e),n&&(e.prev=n,n.next=e),e.parent=r,this.lastNode=null}};var Rk=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(t=>t.charCodeAt(0)));var Nk=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(t=>t.charCodeAt(0)));var vH,FQt=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),bx=(vH=String.fromCodePoint)!==null&&vH!==void 0?vH:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|t&1023),e+=String.fromCharCode(t),e};function ZS(t){var e;return t>=55296&&t<=57343||t>1114111?65533:(e=FQt.get(t))!==null&&e!==void 0?e:t}var Xs;(function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"})(Xs||(Xs={}));var UQt=32,fc;(function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"})(fc||(fc={}));function IH(t){return t>=Xs.ZERO&&t<=Xs.NINE}function qQt(t){return t>=Xs.UPPER_A&&t<=Xs.UPPER_F||t>=Xs.LOWER_A&&t<=Xs.LOWER_F}function jQt(t){return t>=Xs.UPPER_A&&t<=Xs.UPPER_Z||t>=Xs.LOWER_A&&t<=Xs.LOWER_Z||IH(t)}function HQt(t){return t===Xs.EQUALS||jQt(t)}var Js;(function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"})(Js||(Js={}));var Md;(function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"})(Md||(Md={}));var Ok=class{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=Js.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Md.Strict}startEntity(e){this.decodeMode=e,this.state=Js.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case Js.EntityStart:return e.charCodeAt(r)===Xs.NUM?(this.state=Js.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=Js.NamedEntity,this.stateNamedEntity(e,r));case Js.NumericStart:return this.stateNumericStart(e,r);case Js.NumericDecimal:return this.stateNumericDecimal(e,r);case Js.NumericHex:return this.stateNumericHex(e,r);case Js.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|UQt)===Xs.LOWER_X?(this.state=Js.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=Js.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,s){if(r!==n){let i=n-r;this.result=this.result*Math.pow(s,i)+parseInt(e.substr(r,i),s),this.consumed+=i}}stateNumericHex(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(IH(s)||qQt(s))r+=1;else return this.addToNumericResult(e,n,r,16),this.emitNumericEntity(s,3)}return this.addToNumericResult(e,n,r,16),-1}stateNumericDecimal(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(IH(s))r+=1;else return this.addToNumericResult(e,n,r,10),this.emitNumericEntity(s,2)}return this.addToNumericResult(e,n,r,10),-1}emitNumericEntity(e,r){var n;if(this.consumed<=r)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Xs.SEMI)this.consumed+=1;else if(this.decodeMode===Md.Strict)return 0;return this.emitCodePoint(ZS(this.result),this.consumed),this.errors&&(e!==Xs.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,r){let{decodeTree:n}=this,s=n[this.treeIndex],i=(s&fc.VALUE_LENGTH)>>14;for(;r<e.length;r++,this.excess++){let a=e.charCodeAt(r);if(this.treeIndex=CH(n,s,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===Md.Attribute&&(i===0||HQt(a))?0:this.emitNotTerminatedNamedEntity();if(s=n[this.treeIndex],i=(s&fc.VALUE_LENGTH)>>14,i!==0){if(a===Xs.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==Md.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:r,decodeTree:n}=this,s=(n[r]&fc.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,s,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){let{decodeTree:s}=this;return this.emitCodePoint(r===1?s[e]&~fc.VALUE_LENGTH:s[e+1],n),r===3&&this.emitCodePoint(s[e+2],n),n}end(){var e;switch(this.state){case Js.NamedEntity:return this.result!==0&&(this.decodeMode!==Md.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Js.NumericDecimal:return this.emitNumericEntity(0,2);case Js.NumericHex:return this.emitNumericEntity(0,3);case Js.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Js.EntityStart:return 0}}};function LOe(t){let e="",r=new Ok(t,n=>e+=bx(n));return function(s,i){let a=0,o=0;for(;(o=s.indexOf("&",o))>=0;){e+=s.slice(a,o),r.startEntity(i);let u=r.write(s,o+1);if(u<0){a=o+r.end();break}a=o+u,o=u===0?a+1:a}let c=e+s.slice(a);return e="",c}}function CH(t,e,r,n){let s=(e&fc.BRANCH_LENGTH)>>7,i=e&fc.JUMP_TABLE;if(s===0)return i!==0&&n===i?r:-1;if(i){let c=n-i;return c<0||c>=s?-1:t[r+c]-1}let a=r,o=a+s-1;for(;a<=o;){let c=a+o>>>1,u=t[c];if(u<n)a=c+1;else if(u>n)o=c-1;else return t[c+s]}return-1}var kWr=LOe(Rk),DWr=LOe(Nk);function Pk(t){for(let e=1;e<t.length;e++)t[e][0]+=t[e-1][0]+1;return t}var QQt=new Map(Pk([[9,"	"],[0,"
"],[22,"!"],[0,"""],[0,"#"],[0,"$"],[0,"%"],[0,"&"],[0,"'"],[0,"("],[0,")"],[0,"*"],[0,"+"],[0,","],[1,"."],[0,"/"],[10,":"],[0,";"],[0,{v:"<",n:8402,o:"<⃒"}],[0,{v:"=",n:8421,o:"=⃥"}],[0,{v:">",n:8402,o:">⃒"}],[0,"?"],[0,"@"],[26,"["],[0,"\"],[0,"]"],[0,"^"],[0,"_"],[0,"`"],[5,{n:106,o:"fj"}],[20,"{"],[0,"|"],[0,"}"],[34," "],[0,"¡"],[0,"¢"],[0,"£"],[0,"¤"],[0,"¥"],[0,"¦"],[0,"§"],[0,"¨"],[0,"©"],[0,"ª"],[0,"«"],[0,"¬"],[0,"­"],[0,"®"],[0,"¯"],[0,"°"],[0,"±"],[0,"²"],[0,"³"],[0,"´"],[0,"µ"],[0,"¶"],[0,"·"],[0,"¸"],[0,"¹"],[0,"º"],[0,"»"],[0,"¼"],[0,"½"],[0,"¾"],[0,"¿"],[0,"À"],[0,"Á"],[0,"Â"],[0,"Ã"],[0,"Ä"],[0,"Å"],[0,"Æ"],[0,"Ç"],[0,"È"],[0,"É"],[0,"Ê"],[0,"Ë"],[0,"Ì"],[0,"Í"],[0,"Î"],[0,"Ï"],[0,"Ð"],[0,"Ñ"],[0,"Ò"],[0,"Ó"],[0,"Ô"],[0,"Õ"],[0,"Ö"],[0,"×"],[0,"Ø"],[0,"Ù"],[0,"Ú"],[0,"Û"],[0,"Ü"],[0,"Ý"],[0,"Þ"],[0,"ß"],[0,"à"],[0,"á"],[0,"â"],[0,"ã"],[0,"ä"],[0,"å"],[0,"æ"],[0,"ç"],[0,"è"],[0,"é"],[0,"ê"],[0,"ë"],[0,"ì"],[0,"í"],[0,"î"],[0,"ï"],[0,"ð"],[0,"ñ"],[0,"ò"],[0,"ó"],[0,"ô"],[0,"õ"],[0,"ö"],[0,"÷"],[0,"ø"],[0,"ù"],[0,"ú"],[0,"û"],[0,"ü"],[0,"ý"],[0,"þ"],[0,"ÿ"],[0,"Ā"],[0,"ā"],[0,"Ă"],[0,"ă"],[0,"Ą"],[0,"ą"],[0,"Ć"],[0,"ć"],[0,"Ĉ"],[0,"ĉ"],[0,"Ċ"],[0,"ċ"],[0,"Č"],[0,"č"],[0,"Ď"],[0,"ď"],[0,"Đ"],[0,"đ"],[0,"Ē"],[0,"ē"],[2,"Ė"],[0,"ė"],[0,"Ę"],[0,"ę"],[0,"Ě"],[0,"ě"],[0,"Ĝ"],[0,"ĝ"],[0,"Ğ"],[0,"ğ"],[0,"Ġ"],[0,"ġ"],[0,"Ģ"],[1,"Ĥ"],[0,"ĥ"],[0,"Ħ"],[0,"ħ"],[0,"Ĩ"],[0,"ĩ"],[0,"Ī"],[0,"ī"],[2,"Į"],[0,"į"],[0,"İ"],[0,"ı"],[0,"IJ"],[0,"ij"],[0,"Ĵ"],[0,"ĵ"],[0,"Ķ"],[0,"ķ"],[0,"ĸ"],[0,"Ĺ"],[0,"ĺ"],[0,"Ļ"],[0,"ļ"],[0,"Ľ"],[0,"ľ"],[0,"Ŀ"],[0,"ŀ"],[0,"Ł"],[0,"ł"],[0,"Ń"],[0,"ń"],[0,"Ņ"],[0,"ņ"],[0,"Ň"],[0,"ň"],[0,"ʼn"],[0,"Ŋ"],[0,"ŋ"],[0,"Ō"],[0,"ō"],[2,"Ő"],[0,"ő"],[0,"Œ"],[0,"œ"],[0,"Ŕ"],[0,"ŕ"],[0,"Ŗ"],[0,"ŗ"],[0,"Ř"],[0,"ř"],[0,"Ś"],[0,"ś"],[0,"Ŝ"],[0,"ŝ"],[0,"Ş"],[0,"ş"],[0,"Š"],[0,"š"],[0,"Ţ"],[0,"ţ"],[0,"Ť"],[0,"ť"],[0,"Ŧ"],[0,"ŧ"],[0,"Ũ"],[0,"ũ"],[0,"Ū"],[0,"ū"],[0,"Ŭ"],[0,"ŭ"],[0,"Ů"],[0,"ů"],[0,"Ű"],[0,"ű"],[0,"Ų"],[0,"ų"],[0,"Ŵ"],[0,"ŵ"],[0,"Ŷ"],[0,"ŷ"],[0,"Ÿ"],[0,"Ź"],[0,"ź"],[0,"Ż"],[0,"ż"],[0,"Ž"],[0,"ž"],[19,"ƒ"],[34,"Ƶ"],[63,"ǵ"],[65,"ȷ"],[142,"ˆ"],[0,"ˇ"],[16,"˘"],[0,"˙"],[0,"˚"],[0,"˛"],[0,"˜"],[0,"˝"],[51,"̑"],[127,"Α"],[0,"Β"],[0,"Γ"],[0,"Δ"],[0,"Ε"],[0,"Ζ"],[0,"Η"],[0,"Θ"],[0,"Ι"],[0,"Κ"],[0,"Λ"],[0,"Μ"],[0,"Ν"],[0,"Ξ"],[0,"Ο"],[0,"Π"],[0,"Ρ"],[1,"Σ"],[0,"Τ"],[0,"Υ"],[0,"Φ"],[0,"Χ"],[0,"Ψ"],[0,"Ω"],[7,"α"],[0,"β"],[0,"γ"],[0,"δ"],[0,"ε"],[0,"ζ"],[0,"η"],[0,"θ"],[0,"ι"],[0,"κ"],[0,"λ"],[0,"μ"],[0,"ν"],[0,"ξ"],[0,"ο"],[0,"π"],[0,"ρ"],[0,"ς"],[0,"σ"],[0,"τ"],[0,"υ"],[0,"φ"],[0,"χ"],[0,"ψ"],[0,"ω"],[7,"ϑ"],[0,"ϒ"],[2,"ϕ"],[0,"ϖ"],[5,"Ϝ"],[0,"ϝ"],[18,"ϰ"],[0,"ϱ"],[3,"ϵ"],[0,"϶"],[10,"Ё"],[0,"Ђ"],[0,"Ѓ"],[0,"Є"],[0,"Ѕ"],[0,"І"],[0,"Ї"],[0,"Ј"],[0,"Љ"],[0,"Њ"],[0,"Ћ"],[0,"Ќ"],[1,"Ў"],[0,"Џ"],[0,"А"],[0,"Б"],[0,"В"],[0,"Г"],[0,"Д"],[0,"Е"],[0,"Ж"],[0,"З"],[0,"И"],[0,"Й"],[0,"К"],[0,"Л"],[0,"М"],[0,"Н"],[0,"О"],[0,"П"],[0,"Р"],[0,"С"],[0,"Т"],[0,"У"],[0,"Ф"],[0,"Х"],[0,"Ц"],[0,"Ч"],[0,"Ш"],[0,"Щ"],[0,"Ъ"],[0,"Ы"],[0,"Ь"],[0,"Э"],[0,"Ю"],[0,"Я"],[0,"а"],[0,"б"],[0,"в"],[0,"г"],[0,"д"],[0,"е"],[0,"ж"],[0,"з"],[0,"и"],[0,"й"],[0,"к"],[0,"л"],[0,"м"],[0,"н"],[0,"о"],[0,"п"],[0,"р"],[0,"с"],[0,"т"],[0,"у"],[0,"ф"],[0,"х"],[0,"ц"],[0,"ч"],[0,"ш"],[0,"щ"],[0,"ъ"],[0,"ы"],[0,"ь"],[0,"э"],[0,"ю"],[0,"я"],[1,"ё"],[0,"ђ"],[0,"ѓ"],[0,"є"],[0,"ѕ"],[0,"і"],[0,"ї"],[0,"ј"],[0,"љ"],[0,"њ"],[0,"ћ"],[0,"ќ"],[1,"ў"],[0,"џ"],[7074," "],[0," "],[0," "],[0," "],[1," "],[0," "],[0," "],[0," "],[0,"​"],[0,"‌"],[0,"‍"],[0,"‎"],[0,"‏"],[0,"‐"],[2,"–"],[0,"—"],[0,"―"],[0,"‖"],[1,"‘"],[0,"’"],[0,"‚"],[1,"“"],[0,"”"],[0,"„"],[1,"†"],[0,"‡"],[0,"•"],[2,"‥"],[0,"…"],[9,"‰"],[0,"‱"],[0,"′"],[0,"″"],[0,"‴"],[0,"‵"],[3,"‹"],[0,"›"],[3,"‾"],[2,"⁁"],[1,"⁃"],[0,"⁄"],[10,"⁏"],[7,"⁗"],[7,{v:" ",n:8202,o:"  "}],[0,"⁠"],[0,"⁡"],[0,"⁢"],[0,"⁣"],[72,"€"],[46,"⃛"],[0,"⃜"],[37,"ℂ"],[2,"℅"],[4,"ℊ"],[0,"ℋ"],[0,"ℌ"],[0,"ℍ"],[0,"ℎ"],[0,"ℏ"],[0,"ℐ"],[0,"ℑ"],[0,"ℒ"],[0,"ℓ"],[1,"ℕ"],[0,"№"],[0,"℗"],[0,"℘"],[0,"ℙ"],[0,"ℚ"],[0,"ℛ"],[0,"ℜ"],[0,"ℝ"],[0,"℞"],[3,"™"],[1,"ℤ"],[2,"℧"],[0,"ℨ"],[0,"℩"],[2,"ℬ"],[0,"ℭ"],[1,"ℯ"],[0,"ℰ"],[0,"ℱ"],[1,"ℳ"],[0,"ℴ"],[0,"ℵ"],[0,"ℶ"],[0,"ℷ"],[0,"ℸ"],[12,"ⅅ"],[0,"ⅆ"],[0,"ⅇ"],[0,"ⅈ"],[10,"⅓"],[0,"⅔"],[0,"⅕"],[0,"⅖"],[0,"⅗"],[0,"⅘"],[0,"⅙"],[0,"⅚"],[0,"⅛"],[0,"⅜"],[0,"⅝"],[0,"⅞"],[49,"←"],[0,"↑"],[0,"→"],[0,"↓"],[0,"↔"],[0,"↕"],[0,"↖"],[0,"↗"],[0,"↘"],[0,"↙"],[0,"↚"],[0,"↛"],[1,{v:"↝",n:824,o:"↝̸"}],[0,"↞"],[0,"↟"],[0,"↠"],[0,"↡"],[0,"↢"],[0,"↣"],[0,"↤"],[0,"↥"],[0,"↦"],[0,"↧"],[1,"↩"],[0,"↪"],[0,"↫"],[0,"↬"],[0,"↭"],[0,"↮"],[1,"↰"],[0,"↱"],[0,"↲"],[0,"↳"],[1,"↵"],[0,"↶"],[0,"↷"],[2,"↺"],[0,"↻"],[0,"↼"],[0,"↽"],[0,"↾"],[0,"↿"],[0,"⇀"],[0,"⇁"],[0,"⇂"],[0,"⇃"],[0,"⇄"],[0,"⇅"],[0,"⇆"],[0,"⇇"],[0,"⇈"],[0,"⇉"],[0,"⇊"],[0,"⇋"],[0,"⇌"],[0,"⇍"],[0,"⇎"],[0,"⇏"],[0,"⇐"],[0,"⇑"],[0,"⇒"],[0,"⇓"],[0,"⇔"],[0,"⇕"],[0,"⇖"],[0,"⇗"],[0,"⇘"],[0,"⇙"],[0,"⇚"],[0,"⇛"],[1,"⇝"],[6,"⇤"],[0,"⇥"],[15,"⇵"],[7,"⇽"],[0,"⇾"],[0,"⇿"],[0,"∀"],[0,"∁"],[0,{v:"∂",n:824,o:"∂̸"}],[0,"∃"],[0,"∄"],[0,"∅"],[1,"∇"],[0,"∈"],[0,"∉"],[1,"∋"],[0,"∌"],[2,"∏"],[0,"∐"],[0,"∑"],[0,"−"],[0,"∓"],[0,"∔"],[1,"∖"],[0,"∗"],[0,"∘"],[1,"√"],[2,"∝"],[0,"∞"],[0,"∟"],[0,{v:"∠",n:8402,o:"∠⃒"}],[0,"∡"],[0,"∢"],[0,"∣"],[0,"∤"],[0,"∥"],[0,"∦"],[0,"∧"],[0,"∨"],[0,{v:"∩",n:65024,o:"∩︀"}],[0,{v:"∪",n:65024,o:"∪︀"}],[0,"∫"],[0,"∬"],[0,"∭"],[0,"∮"],[0,"∯"],[0,"∰"],[0,"∱"],[0,"∲"],[0,"∳"],[0,"∴"],[0,"∵"],[0,"∶"],[0,"∷"],[0,"∸"],[1,"∺"],[0,"∻"],[0,{v:"∼",n:8402,o:"∼⃒"}],[0,{v:"∽",n:817,o:"∽̱"}],[0,{v:"∾",n:819,o:"∾̳"}],[0,"∿"],[0,"≀"],[0,"≁"],[0,{v:"≂",n:824,o:"≂̸"}],[0,"≃"],[0,"≄"],[0,"≅"],[0,"≆"],[0,"≇"],[0,"≈"],[0,"≉"],[0,"≊"],[0,{v:"≋",n:824,o:"≋̸"}],[0,"≌"],[0,{v:"≍",n:8402,o:"≍⃒"}],[0,{v:"≎",n:824,o:"≎̸"}],[0,{v:"≏",n:824,o:"≏̸"}],[0,{v:"≐",n:824,o:"≐̸"}],[0,"≑"],[0,"≒"],[0,"≓"],[0,"≔"],[0,"≕"],[0,"≖"],[0,"≗"],[1,"≙"],[0,"≚"],[1,"≜"],[2,"≟"],[0,"≠"],[0,{v:"≡",n:8421,o:"≡⃥"}],[0,"≢"],[1,{v:"≤",n:8402,o:"≤⃒"}],[0,{v:"≥",n:8402,o:"≥⃒"}],[0,{v:"≦",n:824,o:"≦̸"}],[0,{v:"≧",n:824,o:"≧̸"}],[0,{v:"≨",n:65024,o:"≨︀"}],[0,{v:"≩",n:65024,o:"≩︀"}],[0,{v:"≪",n:new Map(Pk([[824,"≪̸"],[7577,"≪⃒"]]))}],[0,{v:"≫",n:new Map(Pk([[824,"≫̸"],[7577,"≫⃒"]]))}],[0,"≬"],[0,"≭"],[0,"≮"],[0,"≯"],[0,"≰"],[0,"≱"],[0,"≲"],[0,"≳"],[0,"≴"],[0,"≵"],[0,"≶"],[0,"≷"],[0,"≸"],[0,"≹"],[0,"≺"],[0,"≻"],[0,"≼"],[0,"≽"],[0,"≾"],[0,{v:"≿",n:824,o:"≿̸"}],[0,"⊀"],[0,"⊁"],[0,{v:"⊂",n:8402,o:"⊂⃒"}],[0,{v:"⊃",n:8402,o:"⊃⃒"}],[0,"⊄"],[0,"⊅"],[0,"⊆"],[0,"⊇"],[0,"⊈"],[0,"⊉"],[0,{v:"⊊",n:65024,o:"⊊︀"}],[0,{v:"⊋",n:65024,o:"⊋︀"}],[1,"⊍"],[0,"⊎"],[0,{v:"⊏",n:824,o:"⊏̸"}],[0,{v:"⊐",n:824,o:"⊐̸"}],[0,"⊑"],[0,"⊒"],[0,{v:"⊓",n:65024,o:"⊓︀"}],[0,{v:"⊔",n:65024,o:"⊔︀"}],[0,"⊕"],[0,"⊖"],[0,"⊗"],[0,"⊘"],[0,"⊙"],[0,"⊚"],[0,"⊛"],[1,"⊝"],[0,"⊞"],[0,"⊟"],[0,"⊠"],[0,"⊡"],[0,"⊢"],[0,"⊣"],[0,"⊤"],[0,"⊥"],[1,"⊧"],[0,"⊨"],[0,"⊩"],[0,"⊪"],[0,"⊫"],[0,"⊬"],[0,"⊭"],[0,"⊮"],[0,"⊯"],[0,"⊰"],[1,"⊲"],[0,"⊳"],[0,{v:"⊴",n:8402,o:"⊴⃒"}],[0,{v:"⊵",n:8402,o:"⊵⃒"}],[0,"⊶"],[0,"⊷"],[0,"⊸"],[0,"⊹"],[0,"⊺"],[0,"⊻"],[1,"⊽"],[0,"⊾"],[0,"⊿"],[0,"⋀"],[0,"⋁"],[0,"⋂"],[0,"⋃"],[0,"⋄"],[0,"⋅"],[0,"⋆"],[0,"⋇"],[0,"⋈"],[0,"⋉"],[0,"⋊"],[0,"⋋"],[0,"⋌"],[0,"⋍"],[0,"⋎"],[0,"⋏"],[0,"⋐"],[0,"⋑"],[0,"⋒"],[0,"⋓"],[0,"⋔"],[0,"⋕"],[0,"⋖"],[0,"⋗"],[0,{v:"⋘",n:824,o:"⋘̸"}],[0,{v:"⋙",n:824,o:"⋙̸"}],[0,{v:"⋚",n:65024,o:"⋚︀"}],[0,{v:"⋛",n:65024,o:"⋛︀"}],[2,"⋞"],[0,"⋟"],[0,"⋠"],[0,"⋡"],[0,"⋢"],[0,"⋣"],[2,"⋦"],[0,"⋧"],[0,"⋨"],[0,"⋩"],[0,"⋪"],[0,"⋫"],[0,"⋬"],[0,"⋭"],[0,"⋮"],[0,"⋯"],[0,"⋰"],[0,"⋱"],[0,"⋲"],[0,"⋳"],[0,"⋴"],[0,{v:"⋵",n:824,o:"⋵̸"}],[0,"⋶"],[0,"⋷"],[1,{v:"⋹",n:824,o:"⋹̸"}],[0,"⋺"],[0,"⋻"],[0,"⋼"],[0,"⋽"],[0,"⋾"],[6,"⌅"],[0,"⌆"],[1,"⌈"],[0,"⌉"],[0,"⌊"],[0,"⌋"],[0,"⌌"],[0,"⌍"],[0,"⌎"],[0,"⌏"],[0,"⌐"],[1,"⌒"],[0,"⌓"],[1,"⌕"],[0,"⌖"],[5,"⌜"],[0,"⌝"],[0,"⌞"],[0,"⌟"],[2,"⌢"],[0,"⌣"],[9,"⌭"],[0,"⌮"],[7,"⌶"],[6,"⌽"],[1,"⌿"],[60,"⍼"],[51,"⎰"],[0,"⎱"],[2,"⎴"],[0,"⎵"],[0,"⎶"],[37,"⏜"],[0,"⏝"],[0,"⏞"],[0,"⏟"],[2,"⏢"],[4,"⏧"],[59,"␣"],[164,"Ⓢ"],[55,"─"],[1,"│"],[9,"┌"],[3,"┐"],[3,"└"],[3,"┘"],[3,"├"],[7,"┤"],[7,"┬"],[7,"┴"],[7,"┼"],[19,"═"],[0,"║"],[0,"╒"],[0,"╓"],[0,"╔"],[0,"╕"],[0,"╖"],[0,"╗"],[0,"╘"],[0,"╙"],[0,"╚"],[0,"╛"],[0,"╜"],[0,"╝"],[0,"╞"],[0,"╟"],[0,"╠"],[0,"╡"],[0,"╢"],[0,"╣"],[0,"╤"],[0,"╥"],[0,"╦"],[0,"╧"],[0,"╨"],[0,"╩"],[0,"╪"],[0,"╫"],[0,"╬"],[19,"▀"],[3,"▄"],[3,"█"],[8,"░"],[0,"▒"],[0,"▓"],[13,"□"],[8,"▪"],[0,"▫"],[1,"▭"],[0,"▮"],[2,"▱"],[1,"△"],[0,"▴"],[0,"▵"],[2,"▸"],[0,"▹"],[3,"▽"],[0,"▾"],[0,"▿"],[2,"◂"],[0,"◃"],[6,"◊"],[0,"○"],[32,"◬"],[2,"◯"],[8,"◸"],[0,"◹"],[0,"◺"],[0,"◻"],[0,"◼"],[8,"★"],[0,"☆"],[7,"☎"],[49,"♀"],[1,"♂"],[29,"♠"],[2,"♣"],[1,"♥"],[0,"♦"],[3,"♪"],[2,"♭"],[0,"♮"],[0,"♯"],[163,"✓"],[3,"✗"],[8,"✠"],[21,"✶"],[33,"❘"],[25,"❲"],[0,"❳"],[84,"⟈"],[0,"⟉"],[28,"⟦"],[0,"⟧"],[0,"⟨"],[0,"⟩"],[0,"⟪"],[0,"⟫"],[0,"⟬"],[0,"⟭"],[7,"⟵"],[0,"⟶"],[0,"⟷"],[0,"⟸"],[0,"⟹"],[0,"⟺"],[1,"⟼"],[2,"⟿"],[258,"⤂"],[0,"⤃"],[0,"⤄"],[0,"⤅"],[6,"⤌"],[0,"⤍"],[0,"⤎"],[0,"⤏"],[0,"⤐"],[0,"⤑"],[0,"⤒"],[0,"⤓"],[2,"⤖"],[2,"⤙"],[0,"⤚"],[0,"⤛"],[0,"⤜"],[0,"⤝"],[0,"⤞"],[0,"⤟"],[0,"⤠"],[2,"⤣"],[0,"⤤"],[0,"⤥"],[0,"⤦"],[0,"⤧"],[0,"⤨"],[0,"⤩"],[0,"⤪"],[8,{v:"⤳",n:824,o:"⤳̸"}],[1,"⤵"],[0,"⤶"],[0,"⤷"],[0,"⤸"],[0,"⤹"],[2,"⤼"],[0,"⤽"],[7,"⥅"],[2,"⥈"],[0,"⥉"],[0,"⥊"],[0,"⥋"],[2,"⥎"],[0,"⥏"],[0,"⥐"],[0,"⥑"],[0,"⥒"],[0,"⥓"],[0,"⥔"],[0,"⥕"],[0,"⥖"],[0,"⥗"],[0,"⥘"],[0,"⥙"],[0,"⥚"],[0,"⥛"],[0,"⥜"],[0,"⥝"],[0,"⥞"],[0,"⥟"],[0,"⥠"],[0,"⥡"],[0,"⥢"],[0,"⥣"],[0,"⥤"],[0,"⥥"],[0,"⥦"],[0,"⥧"],[0,"⥨"],[0,"⥩"],[0,"⥪"],[0,"⥫"],[0,"⥬"],[0,"⥭"],[0,"⥮"],[0,"⥯"],[0,"⥰"],[0,"⥱"],[0,"⥲"],[0,"⥳"],[0,"⥴"],[0,"⥵"],[0,"⥶"],[1,"⥸"],[0,"⥹"],[1,"⥻"],[0,"⥼"],[0,"⥽"],[0,"⥾"],[0,"⥿"],[5,"⦅"],[0,"⦆"],[4,"⦋"],[0,"⦌"],[0,"⦍"],[0,"⦎"],[0,"⦏"],[0,"⦐"],[0,"⦑"],[0,"⦒"],[0,"⦓"],[0,"⦔"],[0,"⦕"],[0,"⦖"],[3,"⦚"],[1,"⦜"],[0,"⦝"],[6,"⦤"],[0,"⦥"],[0,"⦦"],[0,"⦧"],[0,"⦨"],[0,"⦩"],[0,"⦪"],[0,"⦫"],[0,"⦬"],[0,"⦭"],[0,"⦮"],[0,"⦯"],[0,"⦰"],[0,"⦱"],[0,"⦲"],[0,"⦳"],[0,"⦴"],[0,"⦵"],[0,"⦶"],[0,"⦷"],[1,"⦹"],[1,"⦻"],[0,"⦼"],[1,"⦾"],[0,"⦿"],[0,"⧀"],[0,"⧁"],[0,"⧂"],[0,"⧃"],[0,"⧄"],[0,"⧅"],[3,"⧉"],[3,"⧍"],[0,"⧎"],[0,{v:"⧏",n:824,o:"⧏̸"}],[0,{v:"⧐",n:824,o:"⧐̸"}],[11,"⧜"],[0,"⧝"],[0,"⧞"],[4,"⧣"],[0,"⧤"],[0,"⧥"],[5,"⧫"],[8,"⧴"],[1,"⧶"],[9,"⨀"],[0,"⨁"],[0,"⨂"],[1,"⨄"],[1,"⨆"],[5,"⨌"],[0,"⨍"],[2,"⨐"],[0,"⨑"],[0,"⨒"],[0,"⨓"],[0,"⨔"],[0,"⨕"],[0,"⨖"],[0,"⨗"],[10,"⨢"],[0,"⨣"],[0,"⨤"],[0,"⨥"],[0,"⨦"],[0,"⨧"],[1,"⨩"],[0,"⨪"],[2,"⨭"],[0,"⨮"],[0,"⨯"],[0,"⨰"],[0,"⨱"],[1,"⨳"],[0,"⨴"],[0,"⨵"],[0,"⨶"],[0,"⨷"],[0,"⨸"],[0,"⨹"],[0,"⨺"],[0,"⨻"],[0,"⨼"],[2,"⨿"],[0,"⩀"],[1,"⩂"],[0,"⩃"],[0,"⩄"],[0,"⩅"],[0,"⩆"],[0,"⩇"],[0,"⩈"],[0,"⩉"],[0,"⩊"],[0,"⩋"],[0,"⩌"],[0,"⩍"],[2,"⩐"],[2,"⩓"],[0,"⩔"],[0,"⩕"],[0,"⩖"],[0,"⩗"],[0,"⩘"],[1,"⩚"],[0,"⩛"],[0,"⩜"],[0,"⩝"],[1,"⩟"],[6,"⩦"],[3,"⩪"],[2,{v:"⩭",n:824,o:"⩭̸"}],[0,"⩮"],[0,"⩯"],[0,{v:"⩰",n:824,o:"⩰̸"}],[0,"⩱"],[0,"⩲"],[0,"⩳"],[0,"⩴"],[0,"⩵"],[1,"⩷"],[0,"⩸"],[0,"⩹"],[0,"⩺"],[0,"⩻"],[0,"⩼"],[0,{v:"⩽",n:824,o:"⩽̸"}],[0,{v:"⩾",n:824,o:"⩾̸"}],[0,"⩿"],[0,"⪀"],[0,"⪁"],[0,"⪂"],[0,"⪃"],[0,"⪄"],[0,"⪅"],[0,"⪆"],[0,"⪇"],[0,"⪈"],[0,"⪉"],[0,"⪊"],[0,"⪋"],[0,"⪌"],[0,"⪍"],[0,"⪎"],[0,"⪏"],[0,"⪐"],[0,"⪑"],[0,"⪒"],[0,"⪓"],[0,"⪔"],[0,"⪕"],[0,"⪖"],[0,"⪗"],[0,"⪘"],[0,"⪙"],[0,"⪚"],[2,"⪝"],[0,"⪞"],[0,"⪟"],[0,"⪠"],[0,{v:"⪡",n:824,o:"⪡̸"}],[0,{v:"⪢",n:824,o:"⪢̸"}],[1,"⪤"],[0,"⪥"],[0,"⪦"],[0,"⪧"],[0,"⪨"],[0,"⪩"],[0,"⪪"],[0,"⪫"],[0,{v:"⪬",n:65024,o:"⪬︀"}],[0,{v:"⪭",n:65024,o:"⪭︀"}],[0,"⪮"],[0,{v:"⪯",n:824,o:"⪯̸"}],[0,{v:"⪰",n:824,o:"⪰̸"}],[2,"⪳"],[0,"⪴"],[0,"⪵"],[0,"⪶"],[0,"⪷"],[0,"⪸"],[0,"⪹"],[0,"⪺"],[0,"⪻"],[0,"⪼"],[0,"⪽"],[0,"⪾"],[0,"⪿"],[0,"⫀"],[0,"⫁"],[0,"⫂"],[0,"⫃"],[0,"⫄"],[0,{v:"⫅",n:824,o:"⫅̸"}],[0,{v:"⫆",n:824,o:"⫆̸"}],[0,"⫇"],[0,"⫈"],[2,{v:"⫋",n:65024,o:"⫋︀"}],[0,{v:"⫌",n:65024,o:"⫌︀"}],[2,"⫏"],[0,"⫐"],[0,"⫑"],[0,"⫒"],[0,"⫓"],[0,"⫔"],[0,"⫕"],[0,"⫖"],[0,"⫗"],[0,"⫘"],[0,"⫙"],[0,"⫚"],[0,"⫛"],[8,"⫤"],[1,"⫦"],[0,"⫧"],[0,"⫨"],[0,"⫩"],[1,"⫫"],[0,"⫬"],[0,"⫭"],[0,"⫮"],[0,"⫯"],[0,"⫰"],[0,"⫱"],[0,"⫲"],[0,"⫳"],[9,{v:"⫽",n:8421,o:"⫽⃥"}],[44343,{n:new Map(Pk([[56476,"𝒜"],[1,"𝒞"],[0,"𝒟"],[2,"𝒢"],[2,"𝒥"],[0,"𝒦"],[2,"𝒩"],[0,"𝒪"],[0,"𝒫"],[0,"𝒬"],[1,"𝒮"],[0,"𝒯"],[0,"𝒰"],[0,"𝒱"],[0,"𝒲"],[0,"𝒳"],[0,"𝒴"],[0,"𝒵"],[0,"𝒶"],[0,"𝒷"],[0,"𝒸"],[0,"𝒹"],[1,"𝒻"],[1,"𝒽"],[0,"𝒾"],[0,"𝒿"],[0,"𝓀"],[0,"𝓁"],[0,"𝓂"],[0,"𝓃"],[1,"𝓅"],[0,"𝓆"],[0,"𝓇"],[0,"𝓈"],[0,"𝓉"],[0,"𝓊"],[0,"𝓋"],[0,"𝓌"],[0,"𝓍"],[0,"𝓎"],[0,"𝓏"],[52,"𝔄"],[0,"𝔅"],[1,"𝔇"],[0,"𝔈"],[0,"𝔉"],[0,"𝔊"],[2,"𝔍"],[0,"𝔎"],[0,"𝔏"],[0,"𝔐"],[0,"𝔑"],[0,"𝔒"],[0,"𝔓"],[0,"𝔔"],[1,"𝔖"],[0,"𝔗"],[0,"𝔘"],[0,"𝔙"],[0,"𝔚"],[0,"𝔛"],[0,"𝔜"],[1,"𝔞"],[0,"𝔟"],[0,"𝔠"],[0,"𝔡"],[0,"𝔢"],[0,"𝔣"],[0,"𝔤"],[0,"𝔥"],[0,"𝔦"],[0,"𝔧"],[0,"𝔨"],[0,"𝔩"],[0,"𝔪"],[0,"𝔫"],[0,"𝔬"],[0,"𝔭"],[0,"𝔮"],[0,"𝔯"],[0,"𝔰"],[0,"𝔱"],[0,"𝔲"],[0,"𝔳"],[0,"𝔴"],[0,"𝔵"],[0,"𝔶"],[0,"𝔷"],[0,"𝔸"],[0,"𝔹"],[1,"𝔻"],[0,"𝔼"],[0,"𝔽"],[0,"𝔾"],[1,"𝕀"],[0,"𝕁"],[0,"𝕂"],[0,"𝕃"],[0,"𝕄"],[1,"𝕆"],[3,"𝕊"],[0,"𝕋"],[0,"𝕌"],[0,"𝕍"],[0,"𝕎"],[0,"𝕏"],[0,"𝕐"],[1,"𝕒"],[0,"𝕓"],[0,"𝕔"],[0,"𝕕"],[0,"𝕖"],[0,"𝕗"],[0,"𝕘"],[0,"𝕙"],[0,"𝕚"],[0,"𝕛"],[0,"𝕜"],[0,"𝕝"],[0,"𝕞"],[0,"𝕟"],[0,"𝕠"],[0,"𝕡"],[0,"𝕢"],[0,"𝕣"],[0,"𝕤"],[0,"𝕥"],[0,"𝕦"],[0,"𝕧"],[0,"𝕨"],[0,"𝕩"],[0,"𝕪"],[0,"𝕫"]]))}],[8906,"ff"],[0,"fi"],[0,"fl"],[0,"ffi"],[0,"ffl"]]));var TH=/["&'<>$\x80-\uFFFF]/g,MOe=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),WOe=String.prototype.codePointAt!=null?(t,e)=>t.codePointAt(e):(t,e)=>(t.charCodeAt(e)&64512)===55296?(t.charCodeAt(e)-55296)*1024+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e);function ev(t){let e="",r=0,n;for(;(n=TH.exec(t))!==null;){let s=n.index,i=t.charCodeAt(s),a=MOe.get(i);a!==void 0?(e+=t.substring(r,s)+a,r=s+1):(e+=`${t.substring(r,s)}&#x${WOe(t,s).toString(16)};`,r=TH.lastIndex+=+((i&64512)===55296))}return e+t.substr(r)}function wH(t,e){return function(n){let s,i=0,a="";for(;s=t.exec(n);)i!==s.index&&(a+=n.substring(i,s.index)),a+=e.get(s[0].charCodeAt(0)),i=s.index+1;return a+n.substring(i)}}var $Oe=wH(/[&<>'"]/g,MOe),kk=wH(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),Dk=wH(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));var FOe;(function(t){t[t.XML=0]="XML",t[t.HTML=1]="HTML"})(FOe||(FOe={}));var UOe;(function(t){t[t.UTF8=0]="UTF8",t[t.ASCII=1]="ASCII",t[t.Extensive=2]="Extensive",t[t.Attribute=3]="Attribute",t[t.Text=4]="Text"})(UOe||(UOe={}));var HOe=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),QOe=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t]));var KQt=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function VQt(t){return t.replace(/"/g,""")}function zQt(t,e){var r;if(!t)return;let n=((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)===!1?VQt:e.xmlMode||e.encodeEntities!=="utf8"?ev:kk;return Object.keys(t).map(s=>{var i,a;let o=(i=t[s])!==null&&i!==void 0?i:"";return e.xmlMode==="foreign"&&(s=(a=QOe.get(s))!==null&&a!==void 0?a:s),!e.emptyAttrs&&!e.xmlMode&&o===""?s:`${s}="${n(o)}"`}).join(" ")}var GOe=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function OH(t,e={}){let r="length"in t?t:[t],n="";for(let s=0;s<r.length;s++)n+=YQt(r[s],e);return n}var Bk=OH;function YQt(t,e){switch(t.type){case IOe:return OH(t.children,e);case kOe:case TOe:return eGt(t);case wOe:return nGt(t);case POe:return rGt(t);case ROe:case NOe:case OOe:return ZQt(t,e);case COe:return tGt(t,e)}}var JQt=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),XQt=new Set(["svg","math"]);function ZQt(t,e){var r;e.xmlMode==="foreign"&&(t.name=(r=HOe.get(t.name))!==null&&r!==void 0?r:t.name,t.parent&&JQt.has(t.parent.name)&&(e={...e,xmlMode:!1})),!e.xmlMode&&XQt.has(t.name)&&(e={...e,xmlMode:"foreign"});let n=`<${t.name}`,s=zQt(t.attribs,e);return s&&(n+=` ${s}`),t.children.length===0&&(e.xmlMode?e.selfClosingTags!==!1:e.selfClosingTags&&GOe.has(t.name))?(e.xmlMode||(n+=" "),n+="/>"):(n+=">",t.children.length>0&&(n+=OH(t.children,e)),(e.xmlMode||!GOe.has(t.name))&&(n+=`</${t.name}>`)),n}function eGt(t){return`<${t.data}>`}function tGt(t,e){var r;let n=t.data||"";return((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)!==!1&&!(!e.xmlMode&&t.parent&&KQt.has(t.parent.name))&&(n=e.xmlMode||e.encodeEntities!=="utf8"?ev(n):Dk(n)),n}function rGt(t){return`<![CDATA[${t.children[0].data}]]>`}function nGt(t){return`<!--${t.data}-->`}function KOe(t,e){return Bk(t,e)}function sGt(t,e){return rn(t)?t.children.map(r=>KOe(r,e)).join(""):""}function Lk(t){return Array.isArray(t)?t.map(Lk).join(""):st(t)?t.name==="br"?`
|
|
`:Lk(t.children):yx(t)?Lk(t.children):Va(t)?t.data:""}function Wd(t){return Array.isArray(t)?t.map(Wd).join(""):rn(t)&&!_h(t)?Wd(t.children):Va(t)?t.data:""}function tv(t){return Array.isArray(t)?t.map(tv).join(""):rn(t)&&(t.type===Tr.Tag||yx(t))?tv(t.children):Va(t)?t.data:""}function Ex(t){return rn(t)?t.children:[]}function VOe(t){return t.parent||null}function PH(t){let e=VOe(t);if(e!=null)return Ex(e);let r=[t],{prev:n,next:s}=t;for(;n!=null;)r.unshift(n),{prev:n}=n;for(;s!=null;)r.push(s),{next:s}=s;return r}function iGt(t,e){var r;return(r=t.attribs)===null||r===void 0?void 0:r[e]}function aGt(t,e){return t.attribs!=null&&Object.prototype.hasOwnProperty.call(t.attribs,e)&&t.attribs[e]!=null}function oGt(t){return t.name}function Mk(t){let{next:e}=t;for(;e!==null&&!st(e);)({next:e}=e);return e}function Wk(t){let{prev:e}=t;for(;e!==null&&!st(e);)({prev:e}=e);return e}function $d(t){if(t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.parent){let e=t.parent.children,r=e.lastIndexOf(t);r>=0&&e.splice(r,1)}t.next=null,t.prev=null,t.parent=null}function cGt(t,e){let r=e.prev=t.prev;r&&(r.next=e);let n=e.next=t.next;n&&(n.prev=e);let s=e.parent=t.parent;if(s){let i=s.children;i[i.lastIndexOf(t)]=e,t.parent=null}}function uGt(t,e){if($d(e),e.next=null,e.parent=t,t.children.push(e)>1){let r=t.children[t.children.length-2];r.next=e,e.prev=r}else e.prev=null}function lGt(t,e){$d(e);let{parent:r}=t,n=t.next;if(e.next=n,e.prev=t,t.next=e,e.parent=r,n){if(n.prev=e,r){let s=r.children;s.splice(s.lastIndexOf(n),0,e)}}else r&&r.children.push(e)}function dGt(t,e){if($d(e),e.parent=t,e.prev=null,t.children.unshift(e)!==1){let r=t.children[1];r.prev=e,e.next=r}else e.next=null}function fGt(t,e){$d(e);let{parent:r}=t;if(r){let n=r.children;n.splice(n.indexOf(t),0,e)}t.prev&&(t.prev.next=e),e.parent=r,e.prev=t.prev,e.next=t,t.prev=e}function _x(t,e,r=!0,n=1/0){return $k(t,Array.isArray(e)?e:[e],r,n)}function $k(t,e,r,n){let s=[],i=[Array.isArray(e)?e:[e]],a=[0];for(;;){if(a[0]>=i[0].length){if(a.length===1)return s;i.shift(),a.shift();continue}let o=i[0][a[0]++];if(t(o)&&(s.push(o),--n<=0))return s;r&&rn(o)&&o.children.length>0&&(a.unshift(0),i.unshift(o.children))}}function pGt(t,e){return e.find(t)}function Fk(t,e,r=!0){let n=Array.isArray(e)?e:[e];for(let s=0;s<n.length;s++){let i=n[s];if(st(i)&&t(i))return i;if(r&&rn(i)&&i.children.length>0){let a=Fk(t,i.children,!0);if(a)return a}}return null}function zOe(t,e){return(Array.isArray(e)?e:[e]).some(r=>st(r)&&t(r)||rn(r)&&zOe(t,r.children))}function mGt(t,e){let r=[],n=[Array.isArray(e)?e:[e]],s=[0];for(;;){if(s[0]>=n[0].length){if(n.length===1)return r;n.shift(),s.shift();continue}let i=n[0][s[0]++];st(i)&&t(i)&&r.push(i),rn(i)&&i.children.length>0&&(s.unshift(0),n.unshift(i.children))}}var Uk={tag_name(t){return typeof t=="function"?e=>st(e)&&t(e.name):t==="*"?st:e=>st(e)&&e.name===t},tag_type(t){return typeof t=="function"?e=>t(e.type):e=>e.type===t},tag_contains(t){return typeof t=="function"?e=>Va(e)&&t(e.data):e=>Va(e)&&e.data===t}};function kH(t,e){return typeof e=="function"?r=>st(r)&&e(r.attribs[t]):r=>st(r)&&r.attribs[t]===e}function hGt(t,e){return r=>t(r)||e(r)}function YOe(t){let e=Object.keys(t).map(r=>{let n=t[r];return Object.prototype.hasOwnProperty.call(Uk,r)?Uk[r](n):kH(r,n)});return e.length===0?null:e.reduce(hGt)}function gGt(t,e){let r=YOe(t);return r?r(e):!0}function AGt(t,e,r,n=1/0){let s=YOe(t);return s?_x(s,e,r,n):[]}function yGt(t,e,r=!0){return Array.isArray(e)||(e=[e]),Fk(kH("id",t),e,r)}function Sh(t,e,r=!0,n=1/0){return _x(Uk.tag_name(t),e,r,n)}function xGt(t,e,r=!0,n=1/0){return _x(kH("class",t),e,r,n)}function bGt(t,e,r=!0,n=1/0){return _x(Uk.tag_type(t),e,r,n)}function EGt(t){let e=t.length;for(;--e>=0;){let r=t[e];if(e>0&&t.lastIndexOf(r,e-1)>=0){t.splice(e,1);continue}for(let n=r.parent;n;n=n.parent)if(t.includes(n)){t.splice(e,1);break}}return t}var pc;(function(t){t[t.DISCONNECTED=1]="DISCONNECTED",t[t.PRECEDING=2]="PRECEDING",t[t.FOLLOWING=4]="FOLLOWING",t[t.CONTAINS=8]="CONTAINS",t[t.CONTAINED_BY=16]="CONTAINED_BY"})(pc||(pc={}));function JOe(t,e){let r=[],n=[];if(t===e)return 0;let s=rn(t)?t:t.parent;for(;s;)r.unshift(s),s=s.parent;for(s=rn(e)?e:e.parent;s;)n.unshift(s),s=s.parent;let i=Math.min(r.length,n.length),a=0;for(;a<i&&r[a]===n[a];)a++;if(a===0)return pc.DISCONNECTED;let o=r[a-1],c=o.children,u=r[a],l=n[a];return c.indexOf(u)>c.indexOf(l)?o===e?pc.FOLLOWING|pc.CONTAINED_BY:pc.FOLLOWING:o===t?pc.PRECEDING|pc.CONTAINS:pc.PRECEDING}function Zp(t){return t=t.filter((e,r,n)=>!n.includes(e,r+1)),t.sort((e,r)=>{let n=JOe(e,r);return n&pc.PRECEDING?-1:n&pc.FOLLOWING?1:0}),t}function DH(t){let e=qk(CGt,t);return e?e.name==="feed"?_Gt(e):SGt(e):null}function _Gt(t){var e;let r=t.children,n={type:"atom",items:Sh("entry",r).map(a=>{var o;let{children:c}=a,u={media:XOe(c)};za(u,"id","id",c),za(u,"title","title",c);let l=(o=qk("link",c))===null||o===void 0?void 0:o.attribs.href;l&&(u.link=l);let d=e0("summary",c)||e0("content",c);d&&(u.description=d);let f=e0("updated",c);return f&&(u.pubDate=new Date(f)),u})};za(n,"id","id",r),za(n,"title","title",r);let s=(e=qk("link",r))===null||e===void 0?void 0:e.attribs.href;s&&(n.link=s),za(n,"description","subtitle",r);let i=e0("updated",r);return i&&(n.updated=new Date(i)),za(n,"author","email",r,!0),n}function SGt(t){var e,r;let n=(r=(e=qk("channel",t.children))===null||e===void 0?void 0:e.children)!==null&&r!==void 0?r:[],s={type:t.name.substr(0,3),id:"",items:Sh("item",t.children).map(a=>{let{children:o}=a,c={media:XOe(o)};za(c,"id","guid",o),za(c,"title","title",o),za(c,"link","link",o),za(c,"description","description",o);let u=e0("pubDate",o)||e0("dc:date",o);return u&&(c.pubDate=new Date(u)),c})};za(s,"title","title",n),za(s,"link","link",n),za(s,"description","description",n);let i=e0("lastBuildDate",n);return i&&(s.updated=new Date(i)),za(s,"author","managingEditor",n,!0),s}var vGt=["url","type","lang"],IGt=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function XOe(t){return Sh("media:content",t).map(e=>{let{attribs:r}=e,n={medium:r.medium,isDefault:!!r.isDefault};for(let s of vGt)r[s]&&(n[s]=r[s]);for(let s of IGt)r[s]&&(n[s]=parseInt(r[s],10));return r.expression&&(n.expression=r.expression),n})}function qk(t,e){return Sh(t,e,!0,1)[0]}function e0(t,e,r=!1){return Wd(Sh(t,e,r,1)).trim()}function za(t,e,r,n,s=!1){let i=e0(r,n,s);i&&(t[e]=i)}function CGt(t){return t==="rss"||t==="feed"||t==="rdf:RDF"}function ePe(t,e,r){return t?t(e??t._root.children,null,void 0,r).toString():""}function TGt(t,e){return!e&&typeof t=="object"&&t!=null&&!("length"in t)&&!("type"in t)}function BH(t,e){let r=TGt(t)?(e=t,void 0):t,n={...KS,...this===null||this===void 0?void 0:this._options,...VS(e??{})};return ePe(this,r,n)}function LH(t){let e={...this._options,xmlMode:!0};return ePe(this,t,e)}function Fd(t){let e=t||(this?this.root():[]),r="";for(let n=0;n<e.length;n++)r+=Wd(e[n]);return r}function wGt(t,e,r=typeof e=="boolean"?e:!1){if(!t||typeof t!="string")return null;typeof e=="boolean"&&(r=e);let n=this.load(t,KS,!1);return r||n("script").remove(),n.root()[0].children.slice()}function RGt(){return this(this._root)}function MH(t,e){if(e===t)return!1;let r=e;for(;r&&r!==r.parent;)if(r=r.parent,r===t)return!0;return!1}function NGt(t,e){if(!ZOe(t)||!ZOe(e))return;let r=t.length,n=+e.length;for(let s=0;s<n;s++)t[r++]=e[s];return t.length=r,t}function ZOe(t){if(Array.isArray(t))return!0;if(typeof t!="object"||!Object.prototype.hasOwnProperty.call(t,"length")||typeof t.length!="number"||t.length<0)return!1;for(let e=0;e<t.length;e++)if(!(e in t))return!1;return!0}var UH={};is(UH,{addClass:()=>cPe,attr:()=>PGt,data:()=>DGt,hasClass:()=>MGt,prop:()=>kGt,removeAttr:()=>LGt,removeClass:()=>uPe,toggleClass:()=>lPe,val:()=>BGt});function So(t){return t.cheerio!=null}function tPe(t){return t.replace(/[_.-](\w|$)/g,(e,r)=>r.toUpperCase())}function rPe(t){return t.replace(/[A-Z]/g,"-$&").toLowerCase()}function mn(t,e){let r=t.length;for(let n=0;n<r;n++)e(t[n],n);return t}function jk(t){let e="length"in t?Array.prototype.map.call(t,n=>XS(n,!0)):[XS(t,!0)],r=new _o(e);return e.forEach(n=>{n.parent=r}),e}var vh;(function(t){t[t.LowerA=97]="LowerA",t[t.LowerZ=122]="LowerZ",t[t.UpperA=65]="UpperA",t[t.UpperZ=90]="UpperZ",t[t.Exclamation=33]="Exclamation"})(vh||(vh={}));function rv(t){let e=t.indexOf("<");if(e<0||e>t.length-3)return!1;let r=t.charCodeAt(e+1);return(r>=vh.LowerA&&r<=vh.LowerZ||r>=vh.UpperA&&r<=vh.UpperZ||r===vh.Exclamation)&&t.includes(">",e+2)}var Sx=Object.prototype.hasOwnProperty,nv=/\s+/,WH="data-",nPe={null:null,true:!0,false:!1},FH=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,OGt=/^{[^]*}$|^\[[^]*]$/;function Hk(t,e,r){var n;if(!(!t||!st(t))){if((n=t.attribs)!==null&&n!==void 0||(t.attribs={}),!e)return t.attribs;if(Sx.call(t.attribs,e))return!r&&FH.test(e)?e:t.attribs[e];if(t.name==="option"&&e==="value")return Fd(t.children);if(t.name==="input"&&(t.attribs.type==="radio"||t.attribs.type==="checkbox")&&e==="value")return"on"}}function vx(t,e,r){r===null?oPe(t,e):t.attribs[e]=`${r}`}function PGt(t,e){if(typeof t=="object"||e!==void 0){if(typeof e=="function"){if(typeof t!="string")throw new Error("Bad combination of arguments.");return mn(this,(r,n)=>{st(r)&&vx(r,t,e.call(r,n,r.attribs[t]))})}return mn(this,r=>{st(r)&&(typeof t=="object"?Object.keys(t).forEach(n=>{let s=t[n];vx(r,n,s)}):vx(r,t,e))})}return arguments.length>1?this:Hk(this[0],t,this.options.xmlMode)}function sPe(t,e,r){return e in t?t[e]:!r&&FH.test(e)?Hk(t,e,!1)!==void 0:Hk(t,e,r)}function $H(t,e,r,n){e in t?t[e]=r:vx(t,e,!n&&FH.test(e)?r?"":null:`${r}`)}function kGt(t,e){var r;if(typeof t=="string"&&e===void 0){let n=this[0];if(!n||!st(n))return;switch(t){case"style":{let s=this.css(),i=Object.keys(s);return i.forEach((a,o)=>{s[o]=a}),s.length=i.length,s}case"tagName":case"nodeName":return n.name.toUpperCase();case"href":case"src":{let s=(r=n.attribs)===null||r===void 0?void 0:r[t];return typeof URL<"u"&&(t==="href"&&(n.tagName==="a"||n.name==="link")||t==="src"&&(n.tagName==="img"||n.tagName==="iframe"||n.tagName==="audio"||n.tagName==="video"||n.tagName==="source"))&&s!==void 0&&this.options.baseURI?new URL(s,this.options.baseURI).href:s}case"innerText":return tv(n);case"textContent":return Wd(n);case"outerHTML":return this.clone().wrap("<container />").parent().html();case"innerHTML":return this.html();default:return sPe(n,t,this.options.xmlMode)}}if(typeof t=="object"||e!==void 0){if(typeof e=="function"){if(typeof t=="object")throw new Error("Bad combination of arguments.");return mn(this,(n,s)=>{st(n)&&$H(n,t,e.call(n,s,sPe(n,t,this.options.xmlMode)),this.options.xmlMode)})}return mn(this,n=>{st(n)&&(typeof t=="object"?Object.keys(t).forEach(s=>{let i=t[s];$H(n,s,i,this.options.xmlMode)}):$H(n,t,e,this.options.xmlMode))})}}function iPe(t,e,r){var n;let s=t;(n=s.data)!==null&&n!==void 0||(s.data={}),typeof e=="object"?Object.assign(s.data,e):typeof e=="string"&&r!==void 0&&(s.data[e]=r)}function aPe(t,e){let r,n,s;e==null?(r=Object.keys(t.attribs).filter(i=>i.startsWith(WH)),n=r.map(i=>tPe(i.slice(WH.length)))):(r=[WH+rPe(e)],n=[e]);for(let i=0;i<r.length;++i){let a=r[i],o=n[i];if(Sx.call(t.attribs,a)&&!Sx.call(t.data,o)){if(s=t.attribs[a],Sx.call(nPe,s))s=nPe[s];else if(s===String(Number(s)))s=Number(s);else if(OGt.test(s))try{s=JSON.parse(s)}catch{}t.data[o]=s}}return e==null?t.data:s}function DGt(t,e){var r;let n=this[0];if(!n||!st(n))return;let s=n;return(r=s.data)!==null&&r!==void 0||(s.data={}),t?typeof t=="object"||e!==void 0?(mn(this,i=>{st(i)&&(typeof t=="object"?iPe(i,t):iPe(i,t,e))}),this):Sx.call(s.data,t)?s.data[t]:aPe(s,t):aPe(s)}function BGt(t){let e=arguments.length===0,r=this[0];if(!r||!st(r))return e?void 0:this;switch(r.name){case"textarea":return this.text(t);case"select":{let n=this.find("option:selected");if(!e){if(this.attr("multiple")==null&&typeof t=="object")return this;this.find("option").removeAttr("selected");let s=typeof t!="object"?[t]:t;for(let i=0;i<s.length;i++)this.find(`option[value="${s[i]}"]`).attr("selected","");return this}return this.attr("multiple")?n.toArray().map(s=>Fd(s.children)):n.attr("value")}case"input":case"option":return e?this.attr("value"):this.attr("value",t)}}function oPe(t,e){!t.attribs||!Sx.call(t.attribs,e)||delete t.attribs[e]}function Qk(t){return t?t.trim().split(nv):[]}function LGt(t){let e=Qk(t);for(let r=0;r<e.length;r++)mn(this,n=>{st(n)&&oPe(n,e[r])});return this}function MGt(t){return this.toArray().some(e=>{let r=st(e)&&e.attribs.class,n=-1;if(r&&t.length)for(;(n=r.indexOf(t,n+1))>-1;){let s=n+t.length;if((n===0||nv.test(r[n-1]))&&(s===r.length||nv.test(r[s])))return!0}return!1})}function cPe(t){if(typeof t=="function")return mn(this,(n,s)=>{if(st(n)){let i=n.attribs.class||"";cPe.call([n],t.call(n,s,i))}});if(!t||typeof t!="string")return this;let e=t.split(nv),r=this.length;for(let n=0;n<r;n++){let s=this[n];if(!st(s))continue;let i=Hk(s,"class",!1);if(!i)vx(s,"class",e.join(" ").trim());else{let a=` ${i} `;for(let o=0;o<e.length;o++){let c=`${e[o]} `;a.includes(` ${c}`)||(a+=c)}vx(s,"class",a.trim())}}return this}function uPe(t){if(typeof t=="function")return mn(this,(s,i)=>{st(s)&&uPe.call([s],t.call(s,i,s.attribs.class||""))});let e=Qk(t),r=e.length,n=arguments.length===0;return mn(this,s=>{if(st(s))if(n)s.attribs.class="";else{let i=Qk(s.attribs.class),a=!1;for(let o=0;o<r;o++){let c=i.indexOf(e[o]);c>=0&&(i.splice(c,1),a=!0,o--)}a&&(s.attribs.class=i.join(" "))}})}function lPe(t,e){if(typeof t=="function")return mn(this,(a,o)=>{st(a)&&lPe.call([a],t.call(a,o,a.attribs.class||"",e),e)});if(!t||typeof t!="string")return this;let r=t.split(nv),n=r.length,s=typeof e=="boolean"?e?1:-1:0,i=this.length;for(let a=0;a<i;a++){let o=this[a];if(!st(o))continue;let c=Qk(o.attribs.class);for(let u=0;u<n;u++){let l=c.indexOf(r[u]);s>=0&&l<0?c.push(r[u]):s<=0&&l>=0&&c.splice(l,1)}o.attribs.class=c.join(" ")}return this}var lQ={};is(lQ,{add:()=>QKt,addBack:()=>GKt,children:()=>RKt,closest:()=>EKt,contents:()=>NKt,each:()=>OKt,end:()=>HKt,eq:()=>$Kt,filter:()=>kKt,filterArray:()=>uQ,find:()=>AKt,first:()=>MKt,get:()=>FKt,has:()=>LKt,index:()=>qKt,is:()=>DKt,last:()=>WKt,map:()=>PKt,next:()=>_Kt,nextAll:()=>SKt,nextUntil:()=>vKt,not:()=>BKt,parent:()=>yKt,parents:()=>xKt,parentsUntil:()=>bKt,prev:()=>IKt,prevAll:()=>CKt,prevUntil:()=>TKt,siblings:()=>wKt,slice:()=>jKt,toArray:()=>UKt});var Ja=Re(wx(),1);var ZH=Re(n0(),1);var iu=Re(wx(),1),qd=Re(n0(),1);var ua=Re(wx(),1),IPe=new Map([[ua.SelectorType.Universal,50],[ua.SelectorType.Tag,30],[ua.SelectorType.Attribute,1],[ua.SelectorType.Pseudo,0]]);function iv(t){return!IPe.has(t.type)}var XGt=new Map([[ua.AttributeAction.Exists,10],[ua.AttributeAction.Equals,8],[ua.AttributeAction.Not,7],[ua.AttributeAction.Start,6],[ua.AttributeAction.End,6],[ua.AttributeAction.Any,5]]);function jH(t){let e=t.map(CPe);for(let r=1;r<t.length;r++){let n=e[r];if(!(n<0))for(let s=r-1;s>=0&&n<e[s];s--){let i=t[s+1];t[s+1]=t[s],t[s]=i,e[s+1]=e[s],e[s]=n}}}function CPe(t){var e,r;let n=(e=IPe.get(t.type))!==null&&e!==void 0?e:-1;return t.type===ua.SelectorType.Attribute?(n=(r=XGt.get(t.action))!==null&&r!==void 0?r:4,t.action===ua.AttributeAction.Equals&&t.name==="id"&&(n=9),t.ignoreCase&&(n>>=1)):t.type===ua.SelectorType.Pseudo&&(t.data?t.name==="has"||t.name==="contains"?n=0:Array.isArray(t.data)?(n=Math.min(...t.data.map(s=>Math.min(...s.map(CPe)))),n<0&&(n=0)):n=2:n=3),n}var av=Re(n0(),1),ZGt=/[-[\]{}()*+?.,\\^$|#\s]/g;function TPe(t){return t.replace(ZGt,"\\$&")}var eKt=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function Ih(t,e){return typeof t.ignoreCase=="boolean"?t.ignoreCase:t.ignoreCase==="quirks"?!!e.quirksMode:!e.xmlMode&&eKt.has(t.name)}var wPe={equals(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e;return Ih(e,r)?(i=i.toLowerCase(),a=>{let o=n.getAttributeValue(a,s);return o!=null&&o.length===i.length&&o.toLowerCase()===i&&t(a)}):a=>n.getAttributeValue(a,s)===i&&t(a)},hyphen(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e,a=i.length;return Ih(e,r)?(i=i.toLowerCase(),function(c){let u=n.getAttributeValue(c,s);return u!=null&&(u.length===a||u.charAt(a)==="-")&&u.substr(0,a).toLowerCase()===i&&t(c)}):function(c){let u=n.getAttributeValue(c,s);return u!=null&&(u.length===a||u.charAt(a)==="-")&&u.substr(0,a)===i&&t(c)}},element(t,e,r){let{adapter:n}=r,{name:s,value:i}=e;if(/\s/.test(i))return av.default.falseFunc;let a=new RegExp(`(?:^|\\s)${TPe(i)}(?:$|\\s)`,Ih(e,r)?"i":"");return function(c){let u=n.getAttributeValue(c,s);return u!=null&&u.length>=i.length&&a.test(u)&&t(c)}},exists(t,{name:e},{adapter:r}){return n=>r.hasAttrib(n,e)&&t(n)},start(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e,a=i.length;return a===0?av.default.falseFunc:Ih(e,r)?(i=i.toLowerCase(),o=>{let c=n.getAttributeValue(o,s);return c!=null&&c.length>=a&&c.substr(0,a).toLowerCase()===i&&t(o)}):o=>{var c;return!!(!((c=n.getAttributeValue(o,s))===null||c===void 0)&&c.startsWith(i))&&t(o)}},end(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e,a=-i.length;return a===0?av.default.falseFunc:Ih(e,r)?(i=i.toLowerCase(),o=>{var c;return((c=n.getAttributeValue(o,s))===null||c===void 0?void 0:c.substr(a).toLowerCase())===i&&t(o)}):o=>{var c;return!!(!((c=n.getAttributeValue(o,s))===null||c===void 0)&&c.endsWith(i))&&t(o)}},any(t,e,r){let{adapter:n}=r,{name:s,value:i}=e;if(i==="")return av.default.falseFunc;if(Ih(e,r)){let a=new RegExp(TPe(i),"i");return function(c){let u=n.getAttributeValue(c,s);return u!=null&&u.length>=i.length&&a.test(u)&&t(c)}}return a=>{var o;return!!(!((o=n.getAttributeValue(a,s))===null||o===void 0)&&o.includes(i))&&t(a)}},not(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e;return i===""?a=>!!n.getAttributeValue(a,s)&&t(a):Ih(e,r)?(i=i.toLowerCase(),a=>{let o=n.getAttributeValue(a,s);return(o==null||o.length!==i.length||o.toLowerCase()!==i)&&t(a)}):a=>n.getAttributeValue(a,s)!==i&&t(a)}};var PPe=Re(wx(),1);var tKt=new Set([9,10,12,13,32]),RPe=48,rKt=57;function NPe(t){if(t=t.trim().toLowerCase(),t==="even")return[2,0];if(t==="odd")return[2,1];let e=0,r=0,n=i(),s=a();if(e<t.length&&t.charAt(e)==="n"&&(e++,r=n*(s??1),o(),e<t.length?(n=i(),o(),s=a()):n=s=0),s===null||e<t.length)throw new Error(`n-th rule couldn't be parsed ('${t}')`);return[r,n*s];function i(){return t.charAt(e)==="-"?(e++,-1):(t.charAt(e)==="+"&&e++,1)}function a(){let c=e,u=0;for(;e<t.length&&t.charCodeAt(e)>=RPe&&t.charCodeAt(e)<=rKt;)u=u*10+(t.charCodeAt(e)-RPe),e++;return e===c?null:u}function o(){for(;e<t.length&&tKt.has(t.charCodeAt(e));)e++}}var HH=Re(n0(),1);function OPe(t){let e=t[0],r=t[1]-1;if(r<0&&e<=0)return HH.default.falseFunc;if(e===-1)return i=>i<=r;if(e===0)return i=>i===r;if(e===1)return r<0?HH.default.trueFunc:i=>i>=r;let n=Math.abs(e),s=(r%n+n)%n;return e>1?i=>i>=r&&i%n===s:i=>i<=r&&i%n===s}function Rx(t){return OPe(NPe(t))}var Ya=Re(n0(),1);function Vk(t,e){return r=>{let n=e.getParent(r);return n!=null&&e.isTag(n)&&t(r)}}var Nx={contains(t,e,{adapter:r}){return function(s){return t(s)&&r.getText(s).includes(e)}},icontains(t,e,{adapter:r}){let n=e.toLowerCase();return function(i){return t(i)&&r.getText(i).toLowerCase().includes(n)}},"nth-child"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Vk(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=0;u<o.length&&!n(a,o[u]);u++)r.isTag(o[u])&&c++;return s(c)&&t(a)}},"nth-last-child"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Vk(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=o.length-1;u>=0&&!n(a,o[u]);u--)r.isTag(o[u])&&c++;return s(c)&&t(a)}},"nth-of-type"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Vk(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=0;u<o.length;u++){let l=o[u];if(n(a,l))break;r.isTag(l)&&r.getName(l)===r.getName(a)&&c++}return s(c)&&t(a)}},"nth-last-of-type"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Vk(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=o.length-1;u>=0;u--){let l=o[u];if(n(a,l))break;r.isTag(l)&&r.getName(l)===r.getName(a)&&c++}return s(c)&&t(a)}},root(t,e,{adapter:r}){return n=>{let s=r.getParent(n);return(s==null||!r.isTag(s))&&t(n)}},scope(t,e,r,n){let{equals:s}=r;return!n||n.length===0?Nx.root(t,e,r):n.length===1?i=>s(n[0],i)&&t(i):i=>n.includes(i)&&t(i)},hover:QH("isHovered"),visited:QH("isVisited"),active:QH("isActive")};function QH(t){return function(r,n,{adapter:s}){let i=s[t];return typeof i!="function"?Ya.default.falseFunc:function(o){return i(o)&&r(o)}}}var ov={empty(t,{adapter:e}){return!e.getChildren(t).some(r=>e.isTag(r)||e.getText(r)!=="")},"first-child"(t,{adapter:e,equals:r}){if(e.prevElementSibling)return e.prevElementSibling(t)==null;let n=e.getSiblings(t).find(s=>e.isTag(s));return n!=null&&r(t,n)},"last-child"(t,{adapter:e,equals:r}){let n=e.getSiblings(t);for(let s=n.length-1;s>=0;s--){if(r(t,n[s]))return!0;if(e.isTag(n[s]))break}return!1},"first-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),s=e.getName(t);for(let i=0;i<n.length;i++){let a=n[i];if(r(t,a))return!0;if(e.isTag(a)&&e.getName(a)===s)break}return!1},"last-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),s=e.getName(t);for(let i=n.length-1;i>=0;i--){let a=n[i];if(r(t,a))return!0;if(e.isTag(a)&&e.getName(a)===s)break}return!1},"only-of-type"(t,{adapter:e,equals:r}){let n=e.getName(t);return e.getSiblings(t).every(s=>r(t,s)||!e.isTag(s)||e.getName(s)!==n)},"only-child"(t,{adapter:e,equals:r}){return e.getSiblings(t).every(n=>r(t,n)||!e.isTag(n))}};function GH(t,e,r,n){if(r===null){if(t.length>n)throw new Error(`Pseudo-class :${e} requires an argument`)}else if(t.length===n)throw new Error(`Pseudo-class :${e} doesn't have any arguments`)}var zk={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is(
|
|
:is(button, input, select, textarea, optgroup, option)[disabled],
|
|
optgroup[disabled] > option,
|
|
fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)
|
|
)`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"};var mc=Re(n0(),1);var zH={};function YH(t,e){return t===mc.default.falseFunc?mc.default.falseFunc:r=>e.isTag(r)&&t(r)}function JH(t,e){let r=e.getSiblings(t);if(r.length<=1)return[];let n=r.indexOf(t);return n<0||n===r.length-1?[]:r.slice(n+1).filter(e.isTag)}function VH(t){return{xmlMode:!!t.xmlMode,lowerCaseAttributeNames:!!t.lowerCaseAttributeNames,lowerCaseTags:!!t.lowerCaseTags,quirksMode:!!t.quirksMode,cacheResults:!!t.cacheResults,pseudos:t.pseudos,adapter:t.adapter,equals:t.equals}}var KH=(t,e,r,n,s)=>{let i=s(e,VH(r),n);return i===mc.default.trueFunc?t:i===mc.default.falseFunc?mc.default.falseFunc:a=>i(a)&&t(a)},Yk={is:KH,matches:KH,where:KH,not(t,e,r,n,s){let i=s(e,VH(r),n);return i===mc.default.falseFunc?t:i===mc.default.trueFunc?mc.default.falseFunc:a=>!i(a)&&t(a)},has(t,e,r,n,s){let{adapter:i}=r,a=VH(r);a.relativeSelector=!0;let o=e.some(l=>l.some(iv))?[zH]:void 0,c=s(e,a,o);if(c===mc.default.falseFunc)return mc.default.falseFunc;let u=YH(c,i);if(o&&c!==mc.default.trueFunc){let{shouldTestNextSiblings:l=!1}=c;return d=>{if(!t(d))return!1;o[0]=d;let f=i.getChildren(d),p=l?[...f,...JH(d,i)]:f;return i.existsOne(u,p)}}return l=>t(l)&&i.existsOne(u,i.getChildren(l))}};function kPe(t,e,r,n,s){var i;let{name:a,data:o}=e;if(Array.isArray(o)){if(!(a in Yk))throw new Error(`Unknown pseudo-class :${a}(${o})`);return Yk[a](t,o,r,n,s)}let c=(i=r.pseudos)===null||i===void 0?void 0:i[a],u=typeof c=="string"?c:zk[a];if(typeof u=="string"){if(o!=null)throw new Error(`Pseudo ${a} doesn't have any arguments`);let l=(0,PPe.parse)(u);return Yk.is(t,l,r,n,s)}if(typeof c=="function")return GH(c,a,o,1),l=>c(l,o)&&t(l);if(a in Nx)return Nx[a](t,o,r,n);if(a in ov){let l=ov[a];return GH(l,a,o,2),d=>l(d,r,o)&&t(d)}throw new Error(`Unknown pseudo-class :${a}`)}var hc=Re(wx(),1);function XH(t,e){let r=e.getParent(t);return r&&e.isTag(r)?r:null}function DPe(t,e,r,n,s){let{adapter:i,equals:a}=r;switch(e.type){case hc.SelectorType.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case hc.SelectorType.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case hc.SelectorType.Attribute:{if(e.namespace!=null)throw new Error("Namespaced attributes are not yet supported by css-select");return(!r.xmlMode||r.lowerCaseAttributeNames)&&(e.name=e.name.toLowerCase()),wPe[e.action](t,e,r)}case hc.SelectorType.Pseudo:return kPe(t,e,r,n,s);case hc.SelectorType.Tag:{if(e.namespace!=null)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:o}=e;return(!r.xmlMode||r.lowerCaseTags)&&(o=o.toLowerCase()),function(u){return i.getName(u)===o&&t(u)}}case hc.SelectorType.Descendant:{if(r.cacheResults===!1||typeof WeakSet>"u")return function(u){let l=u;for(;l=XH(l,i);)if(t(l))return!0;return!1};let o=new WeakSet;return function(u){let l=u;for(;l=XH(l,i);)if(!o.has(l)){if(i.isTag(l)&&t(l))return!0;o.add(l)}return!1}}case"_flexibleDescendant":return function(c){let u=c;do if(t(u))return!0;while(u=XH(u,i));return!1};case hc.SelectorType.Parent:return function(c){return i.getChildren(c).some(u=>i.isTag(u)&&t(u))};case hc.SelectorType.Child:return function(c){let u=i.getParent(c);return u!=null&&i.isTag(u)&&t(u)};case hc.SelectorType.Sibling:return function(c){let u=i.getSiblings(c);for(let l=0;l<u.length;l++){let d=u[l];if(a(c,d))break;if(i.isTag(d)&&t(d))return!0}return!1};case hc.SelectorType.Adjacent:return i.prevElementSibling?function(c){let u=i.prevElementSibling(c);return u!=null&&t(u)}:function(c){let u=i.getSiblings(c),l;for(let d=0;d<u.length;d++){let f=u[d];if(a(c,f))break;i.isTag(f)&&(l=f)}return!!l&&t(l)};case hc.SelectorType.Universal:{if(e.namespace!=null&&e.namespace!=="*")throw new Error("Namespaced universal selectors are not yet supported by css-select");return t}}}function BPe(t,e,r){let n=Jk(t,e,r);return YH(n,e.adapter)}function Jk(t,e,r){let n=typeof t=="string"?(0,iu.parse)(t):t;return Xk(n,e,r)}function LPe(t){return t.type===iu.SelectorType.Pseudo&&(t.name==="scope"||Array.isArray(t.data)&&t.data.some(e=>e.some(LPe)))}var nKt={type:iu.SelectorType.Descendant},sKt={type:"_flexibleDescendant"},iKt={type:iu.SelectorType.Pseudo,name:"scope",data:null};function aKt(t,{adapter:e},r){let n=!!r?.every(s=>{let i=e.isTag(s)&&e.getParent(s);return s===zH||i&&e.isTag(i)});for(let s of t){if(!(s.length>0&&iv(s[0])&&s[0].type!==iu.SelectorType.Descendant))if(n&&!s.some(LPe))s.unshift(nKt);else continue;s.unshift(iKt)}}function Xk(t,e,r){var n;t.forEach(jH),r=(n=e.context)!==null&&n!==void 0?n:r;let s=Array.isArray(r),i=r&&(Array.isArray(r)?r:[r]);if(e.relativeSelector!==!1)aKt(t,e,i);else if(t.some(c=>c.length>0&&iv(c[0])))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let a=!1,o=t.map(c=>{if(c.length>=2){let[u,l]=c;u.type!==iu.SelectorType.Pseudo||u.name!=="scope"||(s&&l.type===iu.SelectorType.Descendant?c[1]=sKt:(l.type===iu.SelectorType.Adjacent||l.type===iu.SelectorType.Sibling)&&(a=!0))}return oKt(c,e,i)}).reduce(cKt,qd.default.falseFunc);return o.shouldTestNextSiblings=a,o}function oKt(t,e,r){var n;return t.reduce((s,i)=>s===qd.default.falseFunc?qd.default.falseFunc:DPe(s,i,e,r,Xk),(n=e.rootFunc)!==null&&n!==void 0?n:qd.default.trueFunc)}function cKt(t,e){return e===qd.default.falseFunc||t===qd.default.trueFunc?t:t===qd.default.falseFunc||e===qd.default.trueFunc?e:function(n){return t(n)||e(n)}}var MPe=(t,e)=>t===e,uKt={adapter:t0,equals:MPe};function WPe(t){var e,r,n,s;let i=t??uKt;return(e=i.adapter)!==null&&e!==void 0||(i.adapter=t0),(r=i.equals)!==null&&r!==void 0||(i.equals=(s=(n=i.adapter)===null||n===void 0?void 0:n.equals)!==null&&s!==void 0?s:MPe),i}function eQ(t){return function(r,n,s){let i=WPe(n);return t(r,i,s)}}var pFr=eQ(BPe),mFr=eQ(Jk),Zk=eQ(Xk);function $Pe(t){return function(r,n,s){let i=WPe(s);typeof r!="function"&&(r=Jk(r,i,n));let a=eD(n,i.adapter,r.shouldTestNextSiblings);return t(r,a,i)}}function eD(t,e,r=!1){return r&&(t=lKt(t,e)),Array.isArray(t)?e.removeSubsets(t):e.getChildren(t)}function lKt(t,e){let r=Array.isArray(t)?t.slice(0):[t],n=r.length;for(let s=0;s<n;s++){let i=JH(r[s],e);r.push(...i)}return r}var hFr=$Pe((t,e,r)=>t===ZH.default.falseFunc||!e||e.length===0?[]:r.adapter.findAll(t,e)),gFr=$Pe((t,e,r)=>t===ZH.default.falseFunc||!e||e.length===0?null:r.adapter.findOne(t,e));var rD=Re(n0(),1);var dKt=new Set(["first","last","eq","gt","nth","lt","even","odd"]);function Ox(t){return t.type!=="pseudo"?!1:dKt.has(t.name)?!0:t.name==="not"&&Array.isArray(t.data)?t.data.some(e=>e.some(Ox)):!1}function FPe(t,e,r){let n=e!=null?parseInt(e,10):NaN;switch(t){case"first":return 1;case"nth":case"eq":return isFinite(n)?n>=0?n+1:1/0:0;case"lt":return isFinite(n)?n>=0?Math.min(n,r):1/0:0;case"gt":return isFinite(n)?1/0:0;case"odd":return 2*r;case"even":return 2*r-1;case"last":case"not":return 1/0}}function UPe(t){for(;t.parent;)t=t.parent;return t}function tD(t){let e=[],r=[];for(let n of t)n.some(Ox)?e.push(n):r.push(n);return[r,e]}var fKt={type:Ja.SelectorType.Universal,namespace:null},pKt={type:Ja.SelectorType.Pseudo,name:"scope",data:null};function nQ(t,e,r={}){return sQ([t],e,r)}function sQ(t,e,r={}){if(typeof e=="function")return t.some(e);let[n,s]=tD((0,Ja.parse)(e));return n.length>0&&t.some(Zk(n,r))||s.some(i=>jPe(i,t,r).length>0)}function mKt(t,e,r,n){let s=typeof r=="string"?parseInt(r,10):NaN;switch(t){case"first":case"lt":return e;case"last":return e.length>0?[e[e.length-1]]:e;case"nth":case"eq":return isFinite(s)&&Math.abs(s)<e.length?[s<0?e[e.length+s]:e[s]]:[];case"gt":return isFinite(s)?e.slice(s+1):[];case"even":return e.filter((i,a)=>a%2===0);case"odd":return e.filter((i,a)=>a%2===1);case"not":{let i=new Set(qPe(r,e,n));return e.filter(a=>!i.has(a))}}}function iQ(t,e,r={}){return qPe((0,Ja.parse)(t),e,r)}function qPe(t,e,r){if(e.length===0)return[];let[n,s]=tD(t),i;if(n.length){let a=rQ(e,n,r);if(s.length===0)return a;a.length&&(i=new Set(a))}for(let a=0;a<s.length&&i?.size!==e.length;a++){let o=s[a];if((i?e.filter(l=>st(l)&&!i.has(l)):e).length===0)break;let u=jPe(o,e,r);if(u.length)if(i)u.forEach(l=>i.add(l));else{if(a===s.length-1)return u;i=new Set(u)}}return typeof i<"u"?i.size===e.length?e:e.filter(a=>i.has(a)):[]}function jPe(t,e,r){var n;if(t.some(Ja.isTraversal)){let s=(n=r.root)!==null&&n!==void 0?n:UPe(e[0]),i={...r,context:e,relativeSelector:!1};return t.push(pKt),nD(s,t,i,!0,e.length)}return nD(e,t,r,!1,e.length)}function HPe(t,e,r={},n=1/0){if(typeof t=="function")return QPe(e,t);let[s,i]=tD((0,Ja.parse)(t)),a=i.map(o=>nD(e,o,r,!0,n));return s.length&&a.push(tQ(e,s,r,n)),a.length===0?[]:a.length===1?a[0]:Zp(a.reduce((o,c)=>[...o,...c]))}function nD(t,e,r,n,s){let i=e.findIndex(Ox),a=e.slice(0,i),o=e[i],c=e.length-1===i?s:1/0,u=FPe(o.name,o.data,c);if(u===0)return[];let d=(a.length===0&&!Array.isArray(t)?Ex(t).filter(st):a.length===0?(Array.isArray(t)?t:[t]).filter(st):n||a.some(Ja.isTraversal)?tQ(t,[a],r,u):rQ(t,[a],r)).slice(0,u),f=mKt(o.name,d,o.data,r);if(f.length===0||e.length===i+1)return f;let p=e.slice(i+1),m=p.some(Ja.isTraversal);if(m){if((0,Ja.isTraversal)(p[0])){let{type:h}=p[0];(h===Ja.SelectorType.Sibling||h===Ja.SelectorType.Adjacent)&&(f=eD(f,t0,!0)),p.unshift(fKt)}r={...r,relativeSelector:!1,rootFunc:h=>f.includes(h)}}else r.rootFunc&&r.rootFunc!==rD.trueFunc&&(r={...r,rootFunc:rD.trueFunc});return p.some(Ox)?nD(f,p,r,!1,s):m?tQ(f,[p],r,s):rQ(f,[p],r)}function tQ(t,e,r,n){let s=Zk(e,r,t);return QPe(t,s,n)}function QPe(t,e,r=1/0){let n=eD(t,t0,e.shouldTestNextSiblings);return $k(s=>st(s)&&e(s),n,!0,r)}function rQ(t,e,r){let n=(Array.isArray(t)?t:[t]).filter(st);if(n.length===0)return n;let s=Zk(e,r);return s===rD.trueFunc?n:n.filter(s)}var gKt=/^\s*[~+]/;function AKt(t){var e;if(!t)return this._make([]);let r=this.toArray();if(typeof t!="string"){let i=So(t)?t.toArray():[t];return this._make(i.filter(a=>r.some(o=>MH(o,a))))}let n=gKt.test(t)?r:this.children().toArray(),s={context:r,root:(e=this._root)===null||e===void 0?void 0:e[0],xmlMode:this.options.xmlMode,lowerCaseTags:this.options.lowerCaseTags,lowerCaseAttributeNames:this.options.lowerCaseAttributeNames,pseudos:this.options.pseudos,quirksMode:this.options.quirksMode};return this._make(HPe(t,n,s))}function aQ(t){return function(e,...r){return function(n){var s;let i=t(e,this);return n&&(i=uQ(i,n,this.options.xmlMode,(s=this._root)===null||s===void 0?void 0:s[0])),this._make(this.length>1&&i.length>1?r.reduce((a,o)=>o(a),i):i)}}}var cv=aQ((t,e)=>{let r=[];for(let n=0;n<e.length;n++){let s=t(e[n]);r.push(s)}return new Array().concat(...r)}),oQ=aQ((t,e)=>{let r=[];for(let n=0;n<e.length;n++){let s=t(e[n]);s!==null&&r.push(s)}return r});function cQ(t,...e){let r=null,n=aQ((s,i)=>{let a=[];return mn(i,o=>{for(let c;(c=s(o))&&!r?.(c,a.length);o=c)a.push(c)}),a})(t,...e);return function(s,i){r=typeof s=="string"?o=>nQ(o,s,this.options):s?uv(s):null;let a=n.call(this,i);return r=null,a}}function Px(t){return Array.from(new Set(t))}var yKt=oQ(({parent:t})=>t&&!su(t)?t:null,Px),xKt=cv(t=>{let e=[];for(;t.parent&&!su(t.parent);)e.push(t.parent),t=t.parent;return e},Zp,t=>t.reverse()),bKt=cQ(({parent:t})=>t&&!su(t)?t:null,Zp,t=>t.reverse());function EKt(t){var e;let r=[];if(!t)return this._make(r);let n={xmlMode:this.options.xmlMode,root:(e=this._root)===null||e===void 0?void 0:e[0]},s=typeof t=="string"?i=>nQ(i,t,n):uv(t);return mn(this,i=>{for(;i&&st(i);){if(s(i,0)){r.includes(i)||r.push(i);break}i=i.parent}}),this._make(r)}var _Kt=oQ(t=>Mk(t)),SKt=cv(t=>{let e=[];for(;t.next;)t=t.next,st(t)&&e.push(t);return e},Px),vKt=cQ(t=>Mk(t),Px),IKt=oQ(t=>Wk(t)),CKt=cv(t=>{let e=[];for(;t.prev;)t=t.prev,st(t)&&e.push(t);return e},Px),TKt=cQ(t=>Wk(t),Px),wKt=cv(t=>PH(t).filter(e=>st(e)&&e!==t),Zp),RKt=cv(t=>Ex(t).filter(st),Px);function NKt(){let t=this.toArray().reduce((e,r)=>rn(r)?e.concat(r.children):e,[]);return this._make(t)}function OKt(t){let e=0,r=this.length;for(;e<r&&t.call(this[e],e,this[e])!==!1;)++e;return this}function PKt(t){let e=[];for(let r=0;r<this.length;r++){let n=this[r],s=t.call(n,r,n);s!=null&&(e=e.concat(s))}return this._make(e)}function uv(t){return typeof t=="function"?(e,r)=>t.call(e,r,e):So(t)?e=>Array.prototype.includes.call(t,e):function(e){return t===e}}function kKt(t){var e;return this._make(uQ(this.toArray(),t,this.options.xmlMode,(e=this._root)===null||e===void 0?void 0:e[0]))}function uQ(t,e,r,n){return typeof e=="string"?iQ(e,t,{xmlMode:r,root:n}):t.filter(uv(e))}function DKt(t){let e=this.toArray();return typeof t=="string"?sQ(e.filter(st),t,this.options):t?e.some(uv(t)):!1}function BKt(t){let e=this.toArray();if(typeof t=="string"){let r=new Set(iQ(t,e,this.options));e=e.filter(n=>!r.has(n))}else{let r=uv(t);e=e.filter((n,s)=>!r(n,s))}return this._make(e)}function LKt(t){return this.filter(typeof t=="string"?`:has(${t})`:(e,r)=>this._make(r).find(t).length>0)}function MKt(){return this.length>1?this._make(this[0]):this}function WKt(){return this.length>0?this._make(this[this.length-1]):this}function $Kt(t){var e;return t=+t,t===0&&this.length<=1?this:(t<0&&(t=this.length+t),this._make((e=this[t])!==null&&e!==void 0?e:[]))}function FKt(t){return t==null?this.toArray():this[t<0?this.length+t:t]}function UKt(){return Array.prototype.slice.call(this)}function qKt(t){let e,r;return t==null?(e=this.parent().children(),r=this[0]):typeof t=="string"?(e=this._make(t),r=this[0]):(e=this,r=So(t)?t[0]:t),Array.prototype.indexOf.call(e,r)}function jKt(t,e){return this._make(Array.prototype.slice.call(this,t,e))}function HKt(){var t;return(t=this.prevObject)!==null&&t!==void 0?t:this._make([])}function QKt(t,e){let r=this._make(t,e),n=Zp([...this.get(),...r.get()]);return this._make(n)}function GKt(t){return this.prevObject?this.add(t?this.prevObject.filter(t):this.prevObject):this}var dQ={};is(dQ,{_makeDomArray:()=>KKt,after:()=>rVt,append:()=>YKt,appendTo:()=>VKt,before:()=>sVt,clone:()=>fVt,empty:()=>cVt,html:()=>uVt,insertAfter:()=>nVt,insertBefore:()=>iVt,prepend:()=>JKt,prependTo:()=>zKt,remove:()=>aVt,replaceWith:()=>oVt,text:()=>dVt,toString:()=>lVt,unwrap:()=>eVt,wrap:()=>XKt,wrapAll:()=>tVt,wrapInner:()=>ZKt});function GPe(t){return function(r,n,s,i){if(typeof Buffer<"u"&&Buffer.isBuffer(r)&&(r=r.toString()),typeof r=="string")return t(r,n,s,i);let a=r;if(!Array.isArray(a)&&su(a))return a;let o=new _o([]);return s0(a,o),o}}function s0(t,e){let r=Array.isArray(t)?t:[t];e?e.children=r:e=null;for(let n=0;n<r.length;n++){let s=r[n];s.parent&&s.parent.children!==r&&$d(s),e?(s.prev=r[n-1]||null,s.next=r[n+1]||null):s.prev=s.next=null,s.parent=e}return e}function KKt(t,e){return t==null?[]:So(t)?e?jk(t.get()):t.get():Array.isArray(t)?t.reduce((r,n)=>r.concat(this._makeDomArray(n,e)),[]):typeof t=="string"?this._parse(t,this.options,!1,null).children:e?jk([t]):[t]}function KPe(t){return function(...e){let r=this.length-1;return mn(this,(n,s)=>{if(!rn(n))return;let i=typeof e[0]=="function"?e[0].call(n,s,this._render(n.children)):e,a=this._makeDomArray(i,s<r);t(a,n.children,n)})}}function i0(t,e,r,n,s){var i,a;let o=[e,r,...n],c=e===0?null:t[e-1],u=e+r>=t.length?null:t[e+r];for(let l=0;l<n.length;++l){let d=n[l],f=d.parent;if(f){let m=f.children.indexOf(d);m>-1&&(f.children.splice(m,1),s===f&&e>m&&o[0]--)}d.parent=s,d.prev&&(d.prev.next=(i=d.next)!==null&&i!==void 0?i:null),d.next&&(d.next.prev=(a=d.prev)!==null&&a!==void 0?a:null),d.prev=l===0?c:n[l-1],d.next=l===n.length-1?u:n[l+1]}return c&&(c.next=n[0]),u&&(u.prev=n[n.length-1]),t.splice(...o)}function VKt(t){return(So(t)?t:this._make(t)).append(this),this}function zKt(t){return(So(t)?t:this._make(t)).prepend(this),this}var YKt=KPe((t,e,r)=>{i0(e,e.length,0,t,r)}),JKt=KPe((t,e,r)=>{i0(e,0,0,t,r)});function VPe(t){return function(e){let r=this.length-1,n=this.parents().last();for(let s=0;s<this.length;s++){let i=this[s],a=typeof e=="function"?e.call(i,s,i):typeof e=="string"&&!rv(e)?n.find(e).clone():e,[o]=this._makeDomArray(a,s<r);if(!o||!rn(o))continue;let c=o,u=0;for(;u<c.children.length;){let l=c.children[u];st(l)?(c=l,u=0):u++}t(i,c,[o])}return this}}var XKt=VPe((t,e,r)=>{let{parent:n}=t;if(!n)return;let s=n.children,i=s.indexOf(t);s0([t],e),i0(s,i,0,r,n)}),ZKt=VPe((t,e,r)=>{rn(t)&&(s0(t.children,e),s0(r,t))});function eVt(t){return this.parent(t).not("body").each((e,r)=>{this._make(r).replaceWith(r.children)}),this}function tVt(t){let e=this[0];if(e){let r=this._make(typeof t=="function"?t.call(e,0,e):t).insertBefore(e),n;for(let i=0;i<r.length;i++)r[i].type==="tag"&&(n=r[i]);let s=0;for(;n&&s<n.children.length;){let i=n.children[s];i.type==="tag"?(n=i,s=0):s++}n&&this._make(n).append(this)}return this}function rVt(...t){let e=this.length-1;return mn(this,(r,n)=>{let{parent:s}=r;if(!rn(r)||!s)return;let i=s.children,a=i.indexOf(r);if(a<0)return;let o=typeof t[0]=="function"?t[0].call(r,n,this._render(r.children)):t,c=this._makeDomArray(o,n<e);i0(i,a+1,0,c,s)})}function nVt(t){typeof t=="string"&&(t=this._make(t)),this.remove();let e=[];return this._makeDomArray(t).forEach(r=>{let n=this.clone().toArray(),{parent:s}=r;if(!s)return;let i=s.children,a=i.indexOf(r);a<0||(i0(i,a+1,0,n,s),e.push(...n))}),this._make(e)}function sVt(...t){let e=this.length-1;return mn(this,(r,n)=>{let{parent:s}=r;if(!rn(r)||!s)return;let i=s.children,a=i.indexOf(r);if(a<0)return;let o=typeof t[0]=="function"?t[0].call(r,n,this._render(r.children)):t,c=this._makeDomArray(o,n<e);i0(i,a,0,c,s)})}function iVt(t){let e=this._make(t);this.remove();let r=[];return mn(e,n=>{let s=this.clone().toArray(),{parent:i}=n;if(!i)return;let a=i.children,o=a.indexOf(n);o<0||(i0(a,o,0,s,i),r.push(...s))}),this._make(r)}function aVt(t){let e=t?this.filter(t):this;return mn(e,r=>{$d(r),r.prev=r.next=r.parent=null}),this}function oVt(t){return mn(this,(e,r)=>{let{parent:n}=e;if(!n)return;let s=n.children,i=typeof t=="function"?t.call(e,r,e):t,a=this._makeDomArray(i);s0(a,null);let o=s.indexOf(e);i0(s,o,1,a,n),a.includes(e)||(e.parent=e.prev=e.next=null)})}function cVt(){return mn(this,t=>{rn(t)&&(t.children.forEach(e=>{e.next=e.prev=e.parent=null}),t.children.length=0)})}function uVt(t){if(t===void 0){let e=this[0];return!e||!rn(e)?null:this._render(e.children)}return mn(this,e=>{if(!rn(e))return;e.children.forEach(n=>{n.next=n.prev=n.parent=null});let r=So(t)?t.toArray():this._parse(`${t}`,this.options,!1,e).children;s0(r,e)})}function lVt(){return this._render(this)}function dVt(t){return t===void 0?Fd(this):typeof t=="function"?mn(this,(e,r)=>this._make(e).text(t.call(e,r,Fd([e])))):mn(this,e=>{if(!rn(e))return;e.children.forEach(n=>{n.next=n.prev=n.parent=null});let r=new ll(`${t}`);s0(r,e)})}function fVt(){return this._make(jk(this.get()))}var fQ={};is(fQ,{css:()=>pVt});function pVt(t,e){if(t!=null&&e!=null||typeof t=="object"&&!Array.isArray(t))return mn(this,(r,n)=>{st(r)&&zPe(r,t,e,n)});if(this.length!==0)return YPe(this[0],t)}function zPe(t,e,r,n){if(typeof e=="string"){let s=YPe(t),i=typeof r=="function"?r.call(t,n,s[e]):r;i===""?delete s[e]:i!=null&&(s[e]=i),t.attribs.style=mVt(s)}else typeof e=="object"&&Object.keys(e).forEach((s,i)=>{zPe(t,s,e[s],i)})}function YPe(t,e){if(!t||!st(t))return;let r=hVt(t.attribs.style);if(typeof e=="string")return r[e];if(Array.isArray(e)){let n={};return e.forEach(s=>{r[s]!=null&&(n[s]=r[s])}),n}return r}function mVt(t){return Object.keys(t).reduce((e,r)=>`${e}${e?" ":""}${r}: ${t[r]};`,"")}function hVt(t){if(t=(t||"").trim(),!t)return{};let e={},r;for(let n of t.split(";")){let s=n.indexOf(":");if(s<1||s===n.length-1){let i=n.trimEnd();i.length>0&&r!==void 0&&(e[r]+=`;${i}`)}else r=n.slice(0,s).trim(),e[r]=n.slice(s+1).trim()}return e}var pQ={};is(pQ,{serialize:()=>AVt,serializeArray:()=>yVt});var JPe="input,select,textarea,keygen",gVt=/%20/g,XPe=/\r?\n/g;function AVt(){return this.serializeArray().map(r=>`${encodeURIComponent(r.name)}=${encodeURIComponent(r.value)}`).join("&").replace(gVt,"+")}function yVt(){return this.map((t,e)=>{let r=this._make(e);return st(e)&&e.name==="form"?r.find(JPe).toArray():r.filter(JPe).toArray()}).filter('[name!=""]:enabled:not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map((t,e)=>{var r;let n=this._make(e),s=n.attr("name"),i=(r=n.val())!==null&&r!==void 0?r:"";return Array.isArray(i)?i.map(a=>({name:s,value:a.replace(XPe,`\r
|
|
`)})):{name:s,value:i.replace(XPe,`\r
|
|
`)}}).toArray()}var a0=class{constructor(e,r,n){if(this.length=0,this.options=n,this._root=r,e){for(let s=0;s<e.length;s++)this[s]=e[s];this.length=e.length}}};a0.prototype.cheerio="[cheerio object]";a0.prototype.splice=Array.prototype.splice;a0.prototype[Symbol.iterator]=Array.prototype[Symbol.iterator];Object.assign(a0.prototype,UH,lQ,dQ,fQ,pQ);function ZPe(t,e){return function r(n,s,i=!0){if(n==null)throw new Error("cheerio.load() expects a string");let a={...KS,...VS(s)},o=t(n,a,i,null);class c extends a0{_make(d,f){let p=u(d,f);return p.prevObject=this,p}_parse(d,f,p,m){return t(d,f,p,m)}_render(d){return e(d,this.options)}}function u(l,d,f=o,p){if(l&&So(l))return l;let m={...a,...VS(p)},h=typeof f=="string"?[t(f,m,!1,null)]:"length"in f?f:[f],A=So(h)?h:new c(h,null,m);if(A._root=A,!l)return new c(void 0,A,m);let g=typeof l=="string"&&rv(l)?t(l,m,!1,null).children:xVt(l)?[l]:Array.isArray(l)?l:void 0,b=new c(g,A,m);if(g)return b;if(typeof l!="string")throw new Error("Unexpected type of selector");let y=l,x=d?typeof d=="string"?rv(d)?new c([t(d,m,!1,null)],A,m):(y=`${d} ${y}`,A):So(d)?d:new c(Array.isArray(d)?d:[d],A,m):A;return x?x.find(y):b}return Object.assign(u,r0,{load:r,_root:o,_options:a,fn:c.prototype,prototype:c.prototype}),u}}function xVt(t){return!!t.name||t.type==="root"||t.type==="text"||t.type==="comment"}var bVt=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),_n="\uFFFD",Q;(function(t){t[t.EOF=-1]="EOF",t[t.NULL=0]="NULL",t[t.TABULATION=9]="TABULATION",t[t.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",t[t.LINE_FEED=10]="LINE_FEED",t[t.FORM_FEED=12]="FORM_FEED",t[t.SPACE=32]="SPACE",t[t.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",t[t.QUOTATION_MARK=34]="QUOTATION_MARK",t[t.AMPERSAND=38]="AMPERSAND",t[t.APOSTROPHE=39]="APOSTROPHE",t[t.HYPHEN_MINUS=45]="HYPHEN_MINUS",t[t.SOLIDUS=47]="SOLIDUS",t[t.DIGIT_0=48]="DIGIT_0",t[t.DIGIT_9=57]="DIGIT_9",t[t.SEMICOLON=59]="SEMICOLON",t[t.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",t[t.EQUALS_SIGN=61]="EQUALS_SIGN",t[t.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",t[t.QUESTION_MARK=63]="QUESTION_MARK",t[t.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",t[t.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",t[t.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",t[t.GRAVE_ACCENT=96]="GRAVE_ACCENT",t[t.LATIN_SMALL_A=97]="LATIN_SMALL_A",t[t.LATIN_SMALL_Z=122]="LATIN_SMALL_Z"})(Q||(Q={}));var la={DASH_DASH:"--",CDATA_START:"[CDATA[",DOCTYPE:"doctype",SCRIPT:"script",PUBLIC:"public",SYSTEM:"system"};function sD(t){return t>=55296&&t<=57343}function eke(t){return t>=56320&&t<=57343}function tke(t,e){return(t-55296)*1024+9216+e}function iD(t){return t!==32&&t!==10&&t!==13&&t!==9&&t!==12&&t>=1&&t<=31||t>=127&&t<=159}function aD(t){return t>=64976&&t<=65007||bVt.has(t)}var me;(function(t){t.controlCharacterInInputStream="control-character-in-input-stream",t.noncharacterInInputStream="noncharacter-in-input-stream",t.surrogateInInputStream="surrogate-in-input-stream",t.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",t.endTagWithAttributes="end-tag-with-attributes",t.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",t.unexpectedSolidusInTag="unexpected-solidus-in-tag",t.unexpectedNullCharacter="unexpected-null-character",t.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",t.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",t.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",t.missingEndTagName="missing-end-tag-name",t.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",t.unknownNamedCharacterReference="unknown-named-character-reference",t.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",t.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",t.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",t.eofBeforeTagName="eof-before-tag-name",t.eofInTag="eof-in-tag",t.missingAttributeValue="missing-attribute-value",t.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",t.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",t.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",t.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",t.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",t.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",t.missingDoctypePublicIdentifier="missing-doctype-public-identifier",t.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",t.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",t.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",t.cdataInHtmlContent="cdata-in-html-content",t.incorrectlyOpenedComment="incorrectly-opened-comment",t.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",t.eofInDoctype="eof-in-doctype",t.nestedComment="nested-comment",t.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",t.eofInComment="eof-in-comment",t.incorrectlyClosedComment="incorrectly-closed-comment",t.eofInCdata="eof-in-cdata",t.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",t.nullCharacterReference="null-character-reference",t.surrogateCharacterReference="surrogate-character-reference",t.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",t.controlCharacterReference="control-character-reference",t.noncharacterCharacterReference="noncharacter-character-reference",t.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",t.missingDoctypeName="missing-doctype-name",t.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",t.duplicateAttribute="duplicate-attribute",t.nonConformingDoctype="non-conforming-doctype",t.missingDoctype="missing-doctype",t.misplacedDoctype="misplaced-doctype",t.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",t.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",t.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",t.openElementsLeftAfterEof="open-elements-left-after-eof",t.abandonedHeadElementChild="abandoned-head-element-child",t.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",t.nestedNoscriptInHead="nested-noscript-in-head",t.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(me||(me={}));var _Vt=65536,oD=class{constructor(e){this.handler=e,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=_Vt,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(e,r){let{line:n,col:s,offset:i}=this,a=s+r,o=i+r;return{code:e,startLine:n,endLine:n,startCol:a,endCol:a,startOffset:o,endOffset:o}}_err(e){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(e,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.html.length-1){let r=this.html.charCodeAt(this.pos+1);if(eke(r))return this.pos++,this._addGap(),tke(e,r)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,Q.EOF;return this._err(me.surrogateInInputStream),e}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(e,r){this.html.length>0?this.html+=e:this.html=e,this.endOfChunkHit=!1,this.lastChunkWritten=r}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(e,r){if(this.pos+e.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(r)return this.html.startsWith(e,this.pos);for(let n=0;n<e.length;n++)if((this.html.charCodeAt(this.pos+n)|32)!==e.charCodeAt(n))return!1;return!0}peek(e){let r=this.pos+e;if(r>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Q.EOF;let n=this.html.charCodeAt(r);return n===Q.CARRIAGE_RETURN?Q.LINE_FEED:n}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Q.EOF;let e=this.html.charCodeAt(this.pos);return e===Q.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Q.LINE_FEED):e===Q.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,sD(e)&&(e=this._processSurrogate(e)),this.handler.onParseError===null||e>31&&e<127||e===Q.LINE_FEED||e===Q.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}_checkForProblematicCharacters(e){iD(e)?this._err(me.controlCharacterInInputStream):aD(e)&&this._err(me.noncharacterInInputStream)}retreat(e){for(this.pos-=e;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}};var xr;(function(t){t[t.CHARACTER=0]="CHARACTER",t[t.NULL_CHARACTER=1]="NULL_CHARACTER",t[t.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",t[t.START_TAG=3]="START_TAG",t[t.END_TAG=4]="END_TAG",t[t.COMMENT=5]="COMMENT",t[t.DOCTYPE=6]="DOCTYPE",t[t.EOF=7]="EOF",t[t.HIBERNATION=8]="HIBERNATION"})(xr||(xr={}));function cD(t,e){for(let r=t.attrs.length-1;r>=0;r--)if(t.attrs[r].name===e)return t.attrs[r].value;return null}var uD=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(t=>t.charCodeAt(0)));var mQ,vVt=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),rke=(mQ=String.fromCodePoint)!==null&&mQ!==void 0?mQ:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|t&1023),e+=String.fromCharCode(t),e};function hQ(t){var e;return t>=55296&&t<=57343||t>1114111?65533:(e=vVt.get(t))!==null&&e!==void 0?e:t}var ei;(function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"})(ei||(ei={}));var CVt=32,o0;(function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"})(o0||(o0={}));function gQ(t){return t>=ei.ZERO&&t<=ei.NINE}function TVt(t){return t>=ei.UPPER_A&&t<=ei.UPPER_F||t>=ei.LOWER_A&&t<=ei.LOWER_F}function wVt(t){return t>=ei.UPPER_A&&t<=ei.UPPER_Z||t>=ei.LOWER_A&&t<=ei.LOWER_Z||gQ(t)}function RVt(t){return t===ei.EQUALS||wVt(t)}var Zs;(function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"})(Zs||(Zs={}));var fl;(function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"})(fl||(fl={}));var lD=class{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=Zs.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=fl.Strict}startEntity(e){this.decodeMode=e,this.state=Zs.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case Zs.EntityStart:return e.charCodeAt(r)===ei.NUM?(this.state=Zs.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=Zs.NamedEntity,this.stateNamedEntity(e,r));case Zs.NumericStart:return this.stateNumericStart(e,r);case Zs.NumericDecimal:return this.stateNumericDecimal(e,r);case Zs.NumericHex:return this.stateNumericHex(e,r);case Zs.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|CVt)===ei.LOWER_X?(this.state=Zs.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=Zs.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,s){if(r!==n){let i=n-r;this.result=this.result*Math.pow(s,i)+Number.parseInt(e.substr(r,i),s),this.consumed+=i}}stateNumericHex(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(gQ(s)||TVt(s))r+=1;else return this.addToNumericResult(e,n,r,16),this.emitNumericEntity(s,3)}return this.addToNumericResult(e,n,r,16),-1}stateNumericDecimal(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(gQ(s))r+=1;else return this.addToNumericResult(e,n,r,10),this.emitNumericEntity(s,2)}return this.addToNumericResult(e,n,r,10),-1}emitNumericEntity(e,r){var n;if(this.consumed<=r)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===ei.SEMI)this.consumed+=1;else if(this.decodeMode===fl.Strict)return 0;return this.emitCodePoint(hQ(this.result),this.consumed),this.errors&&(e!==ei.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,r){let{decodeTree:n}=this,s=n[this.treeIndex],i=(s&o0.VALUE_LENGTH)>>14;for(;r<e.length;r++,this.excess++){let a=e.charCodeAt(r);if(this.treeIndex=NVt(n,s,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===fl.Attribute&&(i===0||RVt(a))?0:this.emitNotTerminatedNamedEntity();if(s=n[this.treeIndex],i=(s&o0.VALUE_LENGTH)>>14,i!==0){if(a===ei.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==fl.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:r,decodeTree:n}=this,s=(n[r]&o0.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,s,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){let{decodeTree:s}=this;return this.emitCodePoint(r===1?s[e]&~o0.VALUE_LENGTH:s[e+1],n),r===3&&this.emitCodePoint(s[e+2],n),n}end(){var e;switch(this.state){case Zs.NamedEntity:return this.result!==0&&(this.decodeMode!==fl.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Zs.NumericDecimal:return this.emitNumericEntity(0,2);case Zs.NumericHex:return this.emitNumericEntity(0,3);case Zs.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Zs.EntityStart:return 0}}};function NVt(t,e,r,n){let s=(e&o0.BRANCH_LENGTH)>>7,i=e&o0.JUMP_TABLE;if(s===0)return i!==0&&n===i?r:-1;if(i){let c=n-i;return c<0||c>=s?-1:t[r+c]-1}let a=r,o=a+s-1;for(;a<=o;){let c=a+o>>>1,u=t[c];if(u<n)a=c+1;else if(u>n)o=c-1;else return t[c+s]}return-1}var dD={};is(dD,{ATTRS:()=>pl,DOCUMENT_MODE:()=>Ui,NS:()=>Ee,NUMBERED_HEADERS:()=>kx,SPECIAL_ELEMENTS:()=>AQ,TAG_ID:()=>C,TAG_NAMES:()=>de,getTagID:()=>c0,hasUnescapedText:()=>yQ});var Ee;(function(t){t.HTML="http://www.w3.org/1999/xhtml",t.MATHML="http://www.w3.org/1998/Math/MathML",t.SVG="http://www.w3.org/2000/svg",t.XLINK="http://www.w3.org/1999/xlink",t.XML="http://www.w3.org/XML/1998/namespace",t.XMLNS="http://www.w3.org/2000/xmlns/"})(Ee||(Ee={}));var pl;(function(t){t.TYPE="type",t.ACTION="action",t.ENCODING="encoding",t.PROMPT="prompt",t.NAME="name",t.COLOR="color",t.FACE="face",t.SIZE="size"})(pl||(pl={}));var Ui;(function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"})(Ui||(Ui={}));var de;(function(t){t.A="a",t.ADDRESS="address",t.ANNOTATION_XML="annotation-xml",t.APPLET="applet",t.AREA="area",t.ARTICLE="article",t.ASIDE="aside",t.B="b",t.BASE="base",t.BASEFONT="basefont",t.BGSOUND="bgsound",t.BIG="big",t.BLOCKQUOTE="blockquote",t.BODY="body",t.BR="br",t.BUTTON="button",t.CAPTION="caption",t.CENTER="center",t.CODE="code",t.COL="col",t.COLGROUP="colgroup",t.DD="dd",t.DESC="desc",t.DETAILS="details",t.DIALOG="dialog",t.DIR="dir",t.DIV="div",t.DL="dl",t.DT="dt",t.EM="em",t.EMBED="embed",t.FIELDSET="fieldset",t.FIGCAPTION="figcaption",t.FIGURE="figure",t.FONT="font",t.FOOTER="footer",t.FOREIGN_OBJECT="foreignObject",t.FORM="form",t.FRAME="frame",t.FRAMESET="frameset",t.H1="h1",t.H2="h2",t.H3="h3",t.H4="h4",t.H5="h5",t.H6="h6",t.HEAD="head",t.HEADER="header",t.HGROUP="hgroup",t.HR="hr",t.HTML="html",t.I="i",t.IMG="img",t.IMAGE="image",t.INPUT="input",t.IFRAME="iframe",t.KEYGEN="keygen",t.LABEL="label",t.LI="li",t.LINK="link",t.LISTING="listing",t.MAIN="main",t.MALIGNMARK="malignmark",t.MARQUEE="marquee",t.MATH="math",t.MENU="menu",t.META="meta",t.MGLYPH="mglyph",t.MI="mi",t.MO="mo",t.MN="mn",t.MS="ms",t.MTEXT="mtext",t.NAV="nav",t.NOBR="nobr",t.NOFRAMES="noframes",t.NOEMBED="noembed",t.NOSCRIPT="noscript",t.OBJECT="object",t.OL="ol",t.OPTGROUP="optgroup",t.OPTION="option",t.P="p",t.PARAM="param",t.PLAINTEXT="plaintext",t.PRE="pre",t.RB="rb",t.RP="rp",t.RT="rt",t.RTC="rtc",t.RUBY="ruby",t.S="s",t.SCRIPT="script",t.SEARCH="search",t.SECTION="section",t.SELECT="select",t.SOURCE="source",t.SMALL="small",t.SPAN="span",t.STRIKE="strike",t.STRONG="strong",t.STYLE="style",t.SUB="sub",t.SUMMARY="summary",t.SUP="sup",t.TABLE="table",t.TBODY="tbody",t.TEMPLATE="template",t.TEXTAREA="textarea",t.TFOOT="tfoot",t.TD="td",t.TH="th",t.THEAD="thead",t.TITLE="title",t.TR="tr",t.TRACK="track",t.TT="tt",t.U="u",t.UL="ul",t.SVG="svg",t.VAR="var",t.WBR="wbr",t.XMP="xmp"})(de||(de={}));var C;(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A=1]="A",t[t.ADDRESS=2]="ADDRESS",t[t.ANNOTATION_XML=3]="ANNOTATION_XML",t[t.APPLET=4]="APPLET",t[t.AREA=5]="AREA",t[t.ARTICLE=6]="ARTICLE",t[t.ASIDE=7]="ASIDE",t[t.B=8]="B",t[t.BASE=9]="BASE",t[t.BASEFONT=10]="BASEFONT",t[t.BGSOUND=11]="BGSOUND",t[t.BIG=12]="BIG",t[t.BLOCKQUOTE=13]="BLOCKQUOTE",t[t.BODY=14]="BODY",t[t.BR=15]="BR",t[t.BUTTON=16]="BUTTON",t[t.CAPTION=17]="CAPTION",t[t.CENTER=18]="CENTER",t[t.CODE=19]="CODE",t[t.COL=20]="COL",t[t.COLGROUP=21]="COLGROUP",t[t.DD=22]="DD",t[t.DESC=23]="DESC",t[t.DETAILS=24]="DETAILS",t[t.DIALOG=25]="DIALOG",t[t.DIR=26]="DIR",t[t.DIV=27]="DIV",t[t.DL=28]="DL",t[t.DT=29]="DT",t[t.EM=30]="EM",t[t.EMBED=31]="EMBED",t[t.FIELDSET=32]="FIELDSET",t[t.FIGCAPTION=33]="FIGCAPTION",t[t.FIGURE=34]="FIGURE",t[t.FONT=35]="FONT",t[t.FOOTER=36]="FOOTER",t[t.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",t[t.FORM=38]="FORM",t[t.FRAME=39]="FRAME",t[t.FRAMESET=40]="FRAMESET",t[t.H1=41]="H1",t[t.H2=42]="H2",t[t.H3=43]="H3",t[t.H4=44]="H4",t[t.H5=45]="H5",t[t.H6=46]="H6",t[t.HEAD=47]="HEAD",t[t.HEADER=48]="HEADER",t[t.HGROUP=49]="HGROUP",t[t.HR=50]="HR",t[t.HTML=51]="HTML",t[t.I=52]="I",t[t.IMG=53]="IMG",t[t.IMAGE=54]="IMAGE",t[t.INPUT=55]="INPUT",t[t.IFRAME=56]="IFRAME",t[t.KEYGEN=57]="KEYGEN",t[t.LABEL=58]="LABEL",t[t.LI=59]="LI",t[t.LINK=60]="LINK",t[t.LISTING=61]="LISTING",t[t.MAIN=62]="MAIN",t[t.MALIGNMARK=63]="MALIGNMARK",t[t.MARQUEE=64]="MARQUEE",t[t.MATH=65]="MATH",t[t.MENU=66]="MENU",t[t.META=67]="META",t[t.MGLYPH=68]="MGLYPH",t[t.MI=69]="MI",t[t.MO=70]="MO",t[t.MN=71]="MN",t[t.MS=72]="MS",t[t.MTEXT=73]="MTEXT",t[t.NAV=74]="NAV",t[t.NOBR=75]="NOBR",t[t.NOFRAMES=76]="NOFRAMES",t[t.NOEMBED=77]="NOEMBED",t[t.NOSCRIPT=78]="NOSCRIPT",t[t.OBJECT=79]="OBJECT",t[t.OL=80]="OL",t[t.OPTGROUP=81]="OPTGROUP",t[t.OPTION=82]="OPTION",t[t.P=83]="P",t[t.PARAM=84]="PARAM",t[t.PLAINTEXT=85]="PLAINTEXT",t[t.PRE=86]="PRE",t[t.RB=87]="RB",t[t.RP=88]="RP",t[t.RT=89]="RT",t[t.RTC=90]="RTC",t[t.RUBY=91]="RUBY",t[t.S=92]="S",t[t.SCRIPT=93]="SCRIPT",t[t.SEARCH=94]="SEARCH",t[t.SECTION=95]="SECTION",t[t.SELECT=96]="SELECT",t[t.SOURCE=97]="SOURCE",t[t.SMALL=98]="SMALL",t[t.SPAN=99]="SPAN",t[t.STRIKE=100]="STRIKE",t[t.STRONG=101]="STRONG",t[t.STYLE=102]="STYLE",t[t.SUB=103]="SUB",t[t.SUMMARY=104]="SUMMARY",t[t.SUP=105]="SUP",t[t.TABLE=106]="TABLE",t[t.TBODY=107]="TBODY",t[t.TEMPLATE=108]="TEMPLATE",t[t.TEXTAREA=109]="TEXTAREA",t[t.TFOOT=110]="TFOOT",t[t.TD=111]="TD",t[t.TH=112]="TH",t[t.THEAD=113]="THEAD",t[t.TITLE=114]="TITLE",t[t.TR=115]="TR",t[t.TRACK=116]="TRACK",t[t.TT=117]="TT",t[t.U=118]="U",t[t.UL=119]="UL",t[t.SVG=120]="SVG",t[t.VAR=121]="VAR",t[t.WBR=122]="WBR",t[t.XMP=123]="XMP"})(C||(C={}));var OVt=new Map([[de.A,C.A],[de.ADDRESS,C.ADDRESS],[de.ANNOTATION_XML,C.ANNOTATION_XML],[de.APPLET,C.APPLET],[de.AREA,C.AREA],[de.ARTICLE,C.ARTICLE],[de.ASIDE,C.ASIDE],[de.B,C.B],[de.BASE,C.BASE],[de.BASEFONT,C.BASEFONT],[de.BGSOUND,C.BGSOUND],[de.BIG,C.BIG],[de.BLOCKQUOTE,C.BLOCKQUOTE],[de.BODY,C.BODY],[de.BR,C.BR],[de.BUTTON,C.BUTTON],[de.CAPTION,C.CAPTION],[de.CENTER,C.CENTER],[de.CODE,C.CODE],[de.COL,C.COL],[de.COLGROUP,C.COLGROUP],[de.DD,C.DD],[de.DESC,C.DESC],[de.DETAILS,C.DETAILS],[de.DIALOG,C.DIALOG],[de.DIR,C.DIR],[de.DIV,C.DIV],[de.DL,C.DL],[de.DT,C.DT],[de.EM,C.EM],[de.EMBED,C.EMBED],[de.FIELDSET,C.FIELDSET],[de.FIGCAPTION,C.FIGCAPTION],[de.FIGURE,C.FIGURE],[de.FONT,C.FONT],[de.FOOTER,C.FOOTER],[de.FOREIGN_OBJECT,C.FOREIGN_OBJECT],[de.FORM,C.FORM],[de.FRAME,C.FRAME],[de.FRAMESET,C.FRAMESET],[de.H1,C.H1],[de.H2,C.H2],[de.H3,C.H3],[de.H4,C.H4],[de.H5,C.H5],[de.H6,C.H6],[de.HEAD,C.HEAD],[de.HEADER,C.HEADER],[de.HGROUP,C.HGROUP],[de.HR,C.HR],[de.HTML,C.HTML],[de.I,C.I],[de.IMG,C.IMG],[de.IMAGE,C.IMAGE],[de.INPUT,C.INPUT],[de.IFRAME,C.IFRAME],[de.KEYGEN,C.KEYGEN],[de.LABEL,C.LABEL],[de.LI,C.LI],[de.LINK,C.LINK],[de.LISTING,C.LISTING],[de.MAIN,C.MAIN],[de.MALIGNMARK,C.MALIGNMARK],[de.MARQUEE,C.MARQUEE],[de.MATH,C.MATH],[de.MENU,C.MENU],[de.META,C.META],[de.MGLYPH,C.MGLYPH],[de.MI,C.MI],[de.MO,C.MO],[de.MN,C.MN],[de.MS,C.MS],[de.MTEXT,C.MTEXT],[de.NAV,C.NAV],[de.NOBR,C.NOBR],[de.NOFRAMES,C.NOFRAMES],[de.NOEMBED,C.NOEMBED],[de.NOSCRIPT,C.NOSCRIPT],[de.OBJECT,C.OBJECT],[de.OL,C.OL],[de.OPTGROUP,C.OPTGROUP],[de.OPTION,C.OPTION],[de.P,C.P],[de.PARAM,C.PARAM],[de.PLAINTEXT,C.PLAINTEXT],[de.PRE,C.PRE],[de.RB,C.RB],[de.RP,C.RP],[de.RT,C.RT],[de.RTC,C.RTC],[de.RUBY,C.RUBY],[de.S,C.S],[de.SCRIPT,C.SCRIPT],[de.SEARCH,C.SEARCH],[de.SECTION,C.SECTION],[de.SELECT,C.SELECT],[de.SOURCE,C.SOURCE],[de.SMALL,C.SMALL],[de.SPAN,C.SPAN],[de.STRIKE,C.STRIKE],[de.STRONG,C.STRONG],[de.STYLE,C.STYLE],[de.SUB,C.SUB],[de.SUMMARY,C.SUMMARY],[de.SUP,C.SUP],[de.TABLE,C.TABLE],[de.TBODY,C.TBODY],[de.TEMPLATE,C.TEMPLATE],[de.TEXTAREA,C.TEXTAREA],[de.TFOOT,C.TFOOT],[de.TD,C.TD],[de.TH,C.TH],[de.THEAD,C.THEAD],[de.TITLE,C.TITLE],[de.TR,C.TR],[de.TRACK,C.TRACK],[de.TT,C.TT],[de.U,C.U],[de.UL,C.UL],[de.SVG,C.SVG],[de.VAR,C.VAR],[de.WBR,C.WBR],[de.XMP,C.XMP]]);function c0(t){var e;return(e=OVt.get(t))!==null&&e!==void 0?e:C.UNKNOWN}var Oe=C,AQ={[Ee.HTML]:new Set([Oe.ADDRESS,Oe.APPLET,Oe.AREA,Oe.ARTICLE,Oe.ASIDE,Oe.BASE,Oe.BASEFONT,Oe.BGSOUND,Oe.BLOCKQUOTE,Oe.BODY,Oe.BR,Oe.BUTTON,Oe.CAPTION,Oe.CENTER,Oe.COL,Oe.COLGROUP,Oe.DD,Oe.DETAILS,Oe.DIR,Oe.DIV,Oe.DL,Oe.DT,Oe.EMBED,Oe.FIELDSET,Oe.FIGCAPTION,Oe.FIGURE,Oe.FOOTER,Oe.FORM,Oe.FRAME,Oe.FRAMESET,Oe.H1,Oe.H2,Oe.H3,Oe.H4,Oe.H5,Oe.H6,Oe.HEAD,Oe.HEADER,Oe.HGROUP,Oe.HR,Oe.HTML,Oe.IFRAME,Oe.IMG,Oe.INPUT,Oe.LI,Oe.LINK,Oe.LISTING,Oe.MAIN,Oe.MARQUEE,Oe.MENU,Oe.META,Oe.NAV,Oe.NOEMBED,Oe.NOFRAMES,Oe.NOSCRIPT,Oe.OBJECT,Oe.OL,Oe.P,Oe.PARAM,Oe.PLAINTEXT,Oe.PRE,Oe.SCRIPT,Oe.SECTION,Oe.SELECT,Oe.SOURCE,Oe.STYLE,Oe.SUMMARY,Oe.TABLE,Oe.TBODY,Oe.TD,Oe.TEMPLATE,Oe.TEXTAREA,Oe.TFOOT,Oe.TH,Oe.THEAD,Oe.TITLE,Oe.TR,Oe.TRACK,Oe.UL,Oe.WBR,Oe.XMP]),[Ee.MATHML]:new Set([Oe.MI,Oe.MO,Oe.MN,Oe.MS,Oe.MTEXT,Oe.ANNOTATION_XML]),[Ee.SVG]:new Set([Oe.TITLE,Oe.FOREIGN_OBJECT,Oe.DESC]),[Ee.XLINK]:new Set,[Ee.XML]:new Set,[Ee.XMLNS]:new Set},kx=new Set([Oe.H1,Oe.H2,Oe.H3,Oe.H4,Oe.H5,Oe.H6]),PVt=new Set([de.STYLE,de.SCRIPT,de.XMP,de.IFRAME,de.NOEMBED,de.NOFRAMES,de.PLAINTEXT]);function yQ(t,e){return PVt.has(t)||e&&t===de.NOSCRIPT}var Y;(function(t){t[t.DATA=0]="DATA",t[t.RCDATA=1]="RCDATA",t[t.RAWTEXT=2]="RAWTEXT",t[t.SCRIPT_DATA=3]="SCRIPT_DATA",t[t.PLAINTEXT=4]="PLAINTEXT",t[t.TAG_OPEN=5]="TAG_OPEN",t[t.END_TAG_OPEN=6]="END_TAG_OPEN",t[t.TAG_NAME=7]="TAG_NAME",t[t.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",t[t.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",t[t.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",t[t.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",t[t.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",t[t.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",t[t.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",t[t.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",t[t.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",t[t.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",t[t.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",t[t.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",t[t.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",t[t.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",t[t.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",t[t.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",t[t.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",t[t.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",t[t.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",t[t.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",t[t.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",t[t.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",t[t.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",t[t.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",t[t.BOGUS_COMMENT=40]="BOGUS_COMMENT",t[t.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",t[t.COMMENT_START=42]="COMMENT_START",t[t.COMMENT_START_DASH=43]="COMMENT_START_DASH",t[t.COMMENT=44]="COMMENT",t[t.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",t[t.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",t[t.COMMENT_END_DASH=49]="COMMENT_END_DASH",t[t.COMMENT_END=50]="COMMENT_END",t[t.COMMENT_END_BANG=51]="COMMENT_END_BANG",t[t.DOCTYPE=52]="DOCTYPE",t[t.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",t[t.DOCTYPE_NAME=54]="DOCTYPE_NAME",t[t.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",t[t.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",t[t.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",t[t.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",t[t.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",t[t.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",t[t.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",t[t.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",t[t.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",t[t.CDATA_SECTION=68]="CDATA_SECTION",t[t.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",t[t.CDATA_SECTION_END=70]="CDATA_SECTION_END",t[t.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",t[t.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(Y||(Y={}));var qi={DATA:Y.DATA,RCDATA:Y.RCDATA,RAWTEXT:Y.RAWTEXT,SCRIPT_DATA:Y.SCRIPT_DATA,PLAINTEXT:Y.PLAINTEXT,CDATA_SECTION:Y.CDATA_SECTION};function kVt(t){return t>=Q.DIGIT_0&&t<=Q.DIGIT_9}function lv(t){return t>=Q.LATIN_CAPITAL_A&&t<=Q.LATIN_CAPITAL_Z}function DVt(t){return t>=Q.LATIN_SMALL_A&&t<=Q.LATIN_SMALL_Z}function u0(t){return DVt(t)||lv(t)}function nke(t){return u0(t)||kVt(t)}function fD(t){return t+32}function ike(t){return t===Q.SPACE||t===Q.LINE_FEED||t===Q.TABULATION||t===Q.FORM_FEED}function ske(t){return ike(t)||t===Q.SOLIDUS||t===Q.GREATER_THAN_SIGN}function BVt(t){return t===Q.NULL?me.nullCharacterReference:t>1114111?me.characterReferenceOutsideUnicodeRange:sD(t)?me.surrogateCharacterReference:aD(t)?me.noncharacterCharacterReference:iD(t)||t===Q.CARRIAGE_RETURN?me.controlCharacterReference:null}var dv=class{constructor(e,r){this.options=e,this.handler=r,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=Y.DATA,this.returnState=Y.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new oD(r),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new lD(uD,(n,s)=>{this.preprocessor.pos=this.entityStartPos+s-1,this._flushCodePointConsumedAsCharacterReference(n)},r.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(me.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:n=>{this._err(me.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+n)},validateNumericCharacterReference:n=>{let s=BVt(n);s&&this._err(s,1)}}:void 0)}_err(e,r=0){var n,s;(s=(n=this.handler).onParseError)===null||s===void 0||s.call(n,this.preprocessor.getError(e,r))}getCurrentLocation(e){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-e,startOffset:this.preprocessor.offset-e,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;let e=this._consume();this._ensureHibernation()||this._callState(e)}this.inLoop=!1}}pause(){this.paused=!0}resume(e){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||e?.())}write(e,r,n){this.active=!0,this.preprocessor.write(e,r),this._runParsingLoop(),this.paused||n?.()}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(e){this.consumedAfterSnapshot+=e;for(let r=0;r<e;r++)this.preprocessor.advance()}_consumeSequenceIfMatch(e,r){return this.preprocessor.startsWith(e,r)?(this._advanceBy(e.length-1),!0):!1}_createStartTagToken(){this.currentToken={type:xr.START_TAG,tagName:"",tagID:C.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:xr.END_TAG,tagName:"",tagID:C.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(e){this.currentToken={type:xr.COMMENT,data:"",location:this.getCurrentLocation(e)}}_createDoctypeToken(e){this.currentToken={type:xr.DOCTYPE,name:e,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(e,r){this.currentCharacterToken={type:e,chars:r,location:this.currentLocation}}_createAttr(e){this.currentAttr={name:e,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var e,r;let n=this.currentToken;if(cD(n,this.currentAttr.name)===null){if(n.attrs.push(this.currentAttr),n.location&&this.currentLocation){let s=(e=(r=n.location).attrs)!==null&&e!==void 0?e:r.attrs=Object.create(null);s[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue()}}else this._err(me.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(e){this._emitCurrentCharacterToken(e.location),this.currentToken=null,e.location&&(e.location.endLine=this.preprocessor.line,e.location.endCol=this.preprocessor.col+1,e.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){let e=this.currentToken;this.prepareToken(e),e.tagID=c0(e.tagName),e.type===xr.START_TAG?(this.lastStartTagName=e.tagName,this.handler.onStartTag(e)):(e.attrs.length>0&&this._err(me.endTagWithAttributes),e.selfClosing&&this._err(me.endTagWithTrailingSolidus),this.handler.onEndTag(e)),this.preprocessor.dropParsedChunk()}emitCurrentComment(e){this.prepareToken(e),this.handler.onComment(e),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(e){this.prepareToken(e),this.handler.onDoctype(e),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(e){if(this.currentCharacterToken){switch(e&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=e.startLine,this.currentCharacterToken.location.endCol=e.startCol,this.currentCharacterToken.location.endOffset=e.startOffset),this.currentCharacterToken.type){case xr.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case xr.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case xr.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){let e=this.getCurrentLocation(0);e&&(e.endLine=e.startLine,e.endCol=e.startCol,e.endOffset=e.startOffset),this._emitCurrentCharacterToken(e),this.handler.onEof({type:xr.EOF,location:e}),this.active=!1}_appendCharToCurrentCharacterToken(e,r){if(this.currentCharacterToken)if(this.currentCharacterToken.type===e){this.currentCharacterToken.chars+=r;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(e,r)}_emitCodePoint(e){let r=ike(e)?xr.WHITESPACE_CHARACTER:e===Q.NULL?xr.NULL_CHARACTER:xr.CHARACTER;this._appendCharToCurrentCharacterToken(r,String.fromCodePoint(e))}_emitChars(e){this._appendCharToCurrentCharacterToken(xr.CHARACTER,e)}_startCharacterReference(){this.returnState=this.state,this.state=Y.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?fl.Attribute:fl.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(e){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(e):this._emitCodePoint(e)}_callState(e){switch(this.state){case Y.DATA:{this._stateData(e);break}case Y.RCDATA:{this._stateRcdata(e);break}case Y.RAWTEXT:{this._stateRawtext(e);break}case Y.SCRIPT_DATA:{this._stateScriptData(e);break}case Y.PLAINTEXT:{this._statePlaintext(e);break}case Y.TAG_OPEN:{this._stateTagOpen(e);break}case Y.END_TAG_OPEN:{this._stateEndTagOpen(e);break}case Y.TAG_NAME:{this._stateTagName(e);break}case Y.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(e);break}case Y.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(e);break}case Y.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(e);break}case Y.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(e);break}case Y.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(e);break}case Y.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(e);break}case Y.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(e);break}case Y.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(e);break}case Y.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(e);break}case Y.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(e);break}case Y.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(e);break}case Y.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(e);break}case Y.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(e);break}case Y.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(e);break}case Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(e);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(e);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(e);break}case Y.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(e);break}case Y.ATTRIBUTE_NAME:{this._stateAttributeName(e);break}case Y.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(e);break}case Y.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(e);break}case Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(e);break}case Y.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(e);break}case Y.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(e);break}case Y.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(e);break}case Y.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(e);break}case Y.BOGUS_COMMENT:{this._stateBogusComment(e);break}case Y.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(e);break}case Y.COMMENT_START:{this._stateCommentStart(e);break}case Y.COMMENT_START_DASH:{this._stateCommentStartDash(e);break}case Y.COMMENT:{this._stateComment(e);break}case Y.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(e);break}case Y.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(e);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(e);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(e);break}case Y.COMMENT_END_DASH:{this._stateCommentEndDash(e);break}case Y.COMMENT_END:{this._stateCommentEnd(e);break}case Y.COMMENT_END_BANG:{this._stateCommentEndBang(e);break}case Y.DOCTYPE:{this._stateDoctype(e);break}case Y.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(e);break}case Y.DOCTYPE_NAME:{this._stateDoctypeName(e);break}case Y.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(e);break}case Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(e);break}case Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(e);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(e);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(e);break}case Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(e);break}case Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(e);break}case Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(e);break}case Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(e);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(e);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(e);break}case Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(e);break}case Y.BOGUS_DOCTYPE:{this._stateBogusDoctype(e);break}case Y.CDATA_SECTION:{this._stateCdataSection(e);break}case Y.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(e);break}case Y.CDATA_SECTION_END:{this._stateCdataSectionEnd(e);break}case Y.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case Y.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(e);break}default:throw new Error("Unknown state")}}_stateData(e){switch(e){case Q.LESS_THAN_SIGN:{this.state=Y.TAG_OPEN;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitCodePoint(e);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateRcdata(e){switch(e){case Q.AMPERSAND:{this._startCharacterReference();break}case Q.LESS_THAN_SIGN:{this.state=Y.RCDATA_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateRawtext(e){switch(e){case Q.LESS_THAN_SIGN:{this.state=Y.RAWTEXT_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptData(e){switch(e){case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_statePlaintext(e){switch(e){case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateTagOpen(e){if(u0(e))this._createStartTagToken(),this.state=Y.TAG_NAME,this._stateTagName(e);else switch(e){case Q.EXCLAMATION_MARK:{this.state=Y.MARKUP_DECLARATION_OPEN;break}case Q.SOLIDUS:{this.state=Y.END_TAG_OPEN;break}case Q.QUESTION_MARK:{this._err(me.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(e);break}case Q.EOF:{this._err(me.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(me.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Y.DATA,this._stateData(e)}}_stateEndTagOpen(e){if(u0(e))this._createEndTagToken(),this.state=Y.TAG_NAME,this._stateTagName(e);else switch(e){case Q.GREATER_THAN_SIGN:{this._err(me.missingEndTagName),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break}default:this._err(me.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(e)}}_stateTagName(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case Q.SOLIDUS:{this.state=Y.SELF_CLOSING_START_TAG;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.tagName+=_n;break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:r.tagName+=String.fromCodePoint(lv(e)?fD(e):e)}}_stateRcdataLessThanSign(e){e===Q.SOLIDUS?this.state=Y.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=Y.RCDATA,this._stateRcdata(e))}_stateRcdataEndTagOpen(e){u0(e)?(this.state=Y.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(e)):(this._emitChars("</"),this.state=Y.RCDATA,this._stateRcdata(e))}handleSpecialEndTag(e){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();this._createEndTagToken();let r=this.currentToken;switch(r.tagName=this.lastStartTagName,this.preprocessor.peek(this.lastStartTagName.length)){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=Y.BEFORE_ATTRIBUTE_NAME,!1;case Q.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=Y.SELF_CLOSING_START_TAG,!1;case Q.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=Y.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.RCDATA,this._stateRcdata(e))}_stateRawtextLessThanSign(e){e===Q.SOLIDUS?this.state=Y.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=Y.RAWTEXT,this._stateRawtext(e))}_stateRawtextEndTagOpen(e){u0(e)?(this.state=Y.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(e)):(this._emitChars("</"),this.state=Y.RAWTEXT,this._stateRawtext(e))}_stateRawtextEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.RAWTEXT,this._stateRawtext(e))}_stateScriptDataLessThanSign(e){switch(e){case Q.SOLIDUS:{this.state=Y.SCRIPT_DATA_END_TAG_OPEN;break}case Q.EXCLAMATION_MARK:{this.state=Y.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break}default:this._emitChars("<"),this.state=Y.SCRIPT_DATA,this._stateScriptData(e)}}_stateScriptDataEndTagOpen(e){u0(e)?(this.state=Y.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(e)):(this._emitChars("</"),this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEscapeStart(e){e===Q.HYPHEN_MINUS?(this.state=Y.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEscapeStartDash(e){e===Q.HYPHEN_MINUS?(this.state=Y.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEscaped(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptDataEscapedDash(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedDashDash(e){switch(e){case Q.HYPHEN_MINUS:{this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case Q.GREATER_THAN_SIGN:{this.state=Y.SCRIPT_DATA,this._emitChars(">");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedLessThanSign(e){e===Q.SOLIDUS?this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:u0(e)?(this._emitChars("<"),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(e)):(this._emitChars("<"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataEscapedEndTagOpen(e){u0(e)?(this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(e)):(this._emitChars("</"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataEscapedEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataDoubleEscapeStart(e){if(this.preprocessor.startsWith(la.SCRIPT,!1)&&ske(this.preprocessor.peek(la.SCRIPT.length))){this._emitCodePoint(e);for(let r=0;r<la.SCRIPT.length;r++)this._emitCodePoint(this._consume());this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataDoubleEscaped(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedDash(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedDashDash(e){switch(e){case Q.HYPHEN_MINUS:{this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case Q.GREATER_THAN_SIGN:{this.state=Y.SCRIPT_DATA,this._emitChars(">");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedLessThanSign(e){e===Q.SOLIDUS?(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateScriptDataDoubleEscapeEnd(e){if(this.preprocessor.startsWith(la.SCRIPT,!1)&&ske(this.preprocessor.peek(la.SCRIPT.length))){this._emitCodePoint(e);for(let r=0;r<la.SCRIPT.length;r++)this._emitCodePoint(this._consume());this.state=Y.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateBeforeAttributeName(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.SOLIDUS:case Q.GREATER_THAN_SIGN:case Q.EOF:{this.state=Y.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(e);break}case Q.EQUALS_SIGN:{this._err(me.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=Y.ATTRIBUTE_NAME;break}default:this._createAttr(""),this.state=Y.ATTRIBUTE_NAME,this._stateAttributeName(e)}}_stateAttributeName(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:case Q.SOLIDUS:case Q.GREATER_THAN_SIGN:case Q.EOF:{this._leaveAttrName(),this.state=Y.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(e);break}case Q.EQUALS_SIGN:{this._leaveAttrName(),this.state=Y.BEFORE_ATTRIBUTE_VALUE;break}case Q.QUOTATION_MARK:case Q.APOSTROPHE:case Q.LESS_THAN_SIGN:{this._err(me.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(e);break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.name+=_n;break}default:this.currentAttr.name+=String.fromCodePoint(lv(e)?fD(e):e)}}_stateAfterAttributeName(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.SOLIDUS:{this.state=Y.SELF_CLOSING_START_TAG;break}case Q.EQUALS_SIGN:{this.state=Y.BEFORE_ATTRIBUTE_VALUE;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this._createAttr(""),this.state=Y.ATTRIBUTE_NAME,this._stateAttributeName(e)}}_stateBeforeAttributeValue(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.QUOTATION_MARK:{this.state=Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this.state=Y.ATTRIBUTE_VALUE_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingAttributeValue),this.state=Y.DATA,this.emitCurrentTagToken();break}default:this.state=Y.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(e)}}_stateAttributeValueDoubleQuoted(e){switch(e){case Q.QUOTATION_MARK:{this.state=Y.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.value+=_n;break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAttributeValueSingleQuoted(e){switch(e){case Q.APOSTROPHE:{this.state=Y.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.value+=_n;break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAttributeValueUnquoted(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this._leaveAttrValue(),this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.value+=_n;break}case Q.QUOTATION_MARK:case Q.APOSTROPHE:case Q.LESS_THAN_SIGN:case Q.EQUALS_SIGN:case Q.GRAVE_ACCENT:{this._err(me.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(e);break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAfterAttributeValueQuoted(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this._leaveAttrValue(),this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case Q.SOLIDUS:{this._leaveAttrValue(),this.state=Y.SELF_CLOSING_START_TAG;break}case Q.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this._err(me.missingWhitespaceBetweenAttributes),this.state=Y.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(e)}}_stateSelfClosingStartTag(e){switch(e){case Q.GREATER_THAN_SIGN:{let r=this.currentToken;r.selfClosing=!0,this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this._err(me.unexpectedSolidusInTag),this.state=Y.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(e)}}_stateBogusComment(e){let r=this.currentToken;switch(e){case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EOF:{this.emitCurrentComment(r),this._emitEOFToken();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.data+=_n;break}default:r.data+=String.fromCodePoint(e)}}_stateMarkupDeclarationOpen(e){this._consumeSequenceIfMatch(la.DASH_DASH,!0)?(this._createCommentToken(la.DASH_DASH.length+1),this.state=Y.COMMENT_START):this._consumeSequenceIfMatch(la.DOCTYPE,!1)?(this.currentLocation=this.getCurrentLocation(la.DOCTYPE.length+1),this.state=Y.DOCTYPE):this._consumeSequenceIfMatch(la.CDATA_START,!0)?this.inForeignNode?this.state=Y.CDATA_SECTION:(this._err(me.cdataInHtmlContent),this._createCommentToken(la.CDATA_START.length+1),this.currentToken.data="[CDATA[",this.state=Y.BOGUS_COMMENT):this._ensureHibernation()||(this._err(me.incorrectlyOpenedComment),this._createCommentToken(2),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(e))}_stateCommentStart(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_START_DASH;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptClosingOfEmptyComment),this.state=Y.DATA;let r=this.currentToken;this.emitCurrentComment(r);break}default:this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentStartDash(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_END;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptClosingOfEmptyComment),this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="-",this.state=Y.COMMENT,this._stateComment(e)}}_stateComment(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_END_DASH;break}case Q.LESS_THAN_SIGN:{r.data+="<",this.state=Y.COMMENT_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.data+=_n;break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+=String.fromCodePoint(e)}}_stateCommentLessThanSign(e){let r=this.currentToken;switch(e){case Q.EXCLAMATION_MARK:{r.data+="!",this.state=Y.COMMENT_LESS_THAN_SIGN_BANG;break}case Q.LESS_THAN_SIGN:{r.data+="<";break}default:this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentLessThanSignBang(e){e===Q.HYPHEN_MINUS?this.state=Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=Y.COMMENT,this._stateComment(e))}_stateCommentLessThanSignBangDash(e){e===Q.HYPHEN_MINUS?this.state=Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=Y.COMMENT_END_DASH,this._stateCommentEndDash(e))}_stateCommentLessThanSignBangDashDash(e){e!==Q.GREATER_THAN_SIGN&&e!==Q.EOF&&this._err(me.nestedComment),this.state=Y.COMMENT_END,this._stateCommentEnd(e)}_stateCommentEndDash(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_END;break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="-",this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentEnd(e){let r=this.currentToken;switch(e){case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EXCLAMATION_MARK:{this.state=Y.COMMENT_END_BANG;break}case Q.HYPHEN_MINUS:{r.data+="-";break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="--",this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentEndBang(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{r.data+="--!",this.state=Y.COMMENT_END_DASH;break}case Q.GREATER_THAN_SIGN:{this._err(me.incorrectlyClosedComment),this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="--!",this.state=Y.COMMENT,this._stateComment(e)}}_stateDoctype(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_NAME;break}case Q.GREATER_THAN_SIGN:{this.state=Y.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(e);break}case Q.EOF:{this._err(me.eofInDoctype),this._createDoctypeToken(null);let r=this.currentToken;r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingWhitespaceBeforeDoctypeName),this.state=Y.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(e)}}_stateBeforeDoctypeName(e){if(lv(e))this._createDoctypeToken(String.fromCharCode(fD(e))),this.state=Y.DOCTYPE_NAME;else switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.NULL:{this._err(me.unexpectedNullCharacter),this._createDoctypeToken(_n),this.state=Y.DOCTYPE_NAME;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypeName),this._createDoctypeToken(null);let r=this.currentToken;r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),this._createDoctypeToken(null);let r=this.currentToken;r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(e)),this.state=Y.DOCTYPE_NAME}}_stateDoctypeName(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.AFTER_DOCTYPE_NAME;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.name+=_n;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.name+=String.fromCodePoint(lv(e)?fD(e):e)}}_stateAfterDoctypeName(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._consumeSequenceIfMatch(la.PUBLIC,!1)?this.state=Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch(la.SYSTEM,!1)?this.state=Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(me.invalidCharacterSequenceAfterDoctypeName),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e))}}_stateAfterDoctypePublicKeyword(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break}case Q.QUOTATION_MARK:{this._err(me.missingWhitespaceAfterDoctypePublicKeyword),r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this._err(me.missingWhitespaceAfterDoctypePublicKeyword),r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBeforeDoctypePublicIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.QUOTATION_MARK:{r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateDoctypePublicIdentifierDoubleQuoted(e){let r=this.currentToken;switch(e){case Q.QUOTATION_MARK:{this.state=Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.publicId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypePublicIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.publicId+=String.fromCodePoint(e)}}_stateDoctypePublicIdentifierSingleQuoted(e){let r=this.currentToken;switch(e){case Q.APOSTROPHE:{this.state=Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.publicId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypePublicIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.publicId+=String.fromCodePoint(e)}}_stateAfterDoctypePublicIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.QUOTATION_MARK:{this._err(me.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this._err(me.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBetweenDoctypePublicAndSystemIdentifiers(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.GREATER_THAN_SIGN:{this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.QUOTATION_MARK:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateAfterDoctypeSystemKeyword(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break}case Q.QUOTATION_MARK:{this._err(me.missingWhitespaceAfterDoctypeSystemKeyword),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this._err(me.missingWhitespaceAfterDoctypeSystemKeyword),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBeforeDoctypeSystemIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.QUOTATION_MARK:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateDoctypeSystemIdentifierDoubleQuoted(e){let r=this.currentToken;switch(e){case Q.QUOTATION_MARK:{this.state=Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.systemId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypeSystemIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.systemId+=String.fromCodePoint(e)}}_stateDoctypeSystemIdentifierSingleQuoted(e){let r=this.currentToken;switch(e){case Q.APOSTROPHE:{this.state=Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.systemId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypeSystemIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.systemId+=String.fromCodePoint(e)}}_stateAfterDoctypeSystemIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.GREATER_THAN_SIGN:{this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBogusDoctype(e){let r=this.currentToken;switch(e){case Q.GREATER_THAN_SIGN:{this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.NULL:{this._err(me.unexpectedNullCharacter);break}case Q.EOF:{this.emitCurrentDoctype(r),this._emitEOFToken();break}default:}}_stateCdataSection(e){switch(e){case Q.RIGHT_SQUARE_BRACKET:{this.state=Y.CDATA_SECTION_BRACKET;break}case Q.EOF:{this._err(me.eofInCdata),this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateCdataSectionBracket(e){e===Q.RIGHT_SQUARE_BRACKET?this.state=Y.CDATA_SECTION_END:(this._emitChars("]"),this.state=Y.CDATA_SECTION,this._stateCdataSection(e))}_stateCdataSectionEnd(e){switch(e){case Q.GREATER_THAN_SIGN:{this.state=Y.DATA;break}case Q.RIGHT_SQUARE_BRACKET:{this._emitChars("]");break}default:this._emitChars("]]"),this.state=Y.CDATA_SECTION,this._stateCdataSection(e)}}_stateCharacterReference(){let e=this.entityDecoder.write(this.preprocessor.html,this.preprocessor.pos);if(e<0)if(this.preprocessor.lastChunkWritten)e=this.entityDecoder.end();else{this.active=!1,this.preprocessor.pos=this.preprocessor.html.length-1,this.consumedAfterSnapshot=0,this.preprocessor.endOfChunkHit=!0;return}e===0?(this.preprocessor.pos=this.entityStartPos,this._flushCodePointConsumedAsCharacterReference(Q.AMPERSAND),this.state=!this._isCharacterReferenceInAttribute()&&nke(this.preprocessor.peek(1))?Y.AMBIGUOUS_AMPERSAND:this.returnState):this.state=this.returnState}_stateAmbiguousAmpersand(e){nke(e)?this._flushCodePointConsumedAsCharacterReference(e):(e===Q.SEMICOLON&&this._err(me.unknownNamedCharacterReference),this.state=this.returnState,this._callState(e))}};var uke=new Set([C.DD,C.DT,C.LI,C.OPTGROUP,C.OPTION,C.P,C.RB,C.RP,C.RT,C.RTC]),ake=new Set([...uke,C.CAPTION,C.COLGROUP,C.TBODY,C.TD,C.TFOOT,C.TH,C.THEAD,C.TR]),pD=new Set([C.APPLET,C.CAPTION,C.HTML,C.MARQUEE,C.OBJECT,C.TABLE,C.TD,C.TEMPLATE,C.TH]),LVt=new Set([...pD,C.OL,C.UL]),MVt=new Set([...pD,C.BUTTON]),oke=new Set([C.ANNOTATION_XML,C.MI,C.MN,C.MO,C.MS,C.MTEXT]),cke=new Set([C.DESC,C.FOREIGN_OBJECT,C.TITLE]),WVt=new Set([C.TR,C.TEMPLATE,C.HTML]),$Vt=new Set([C.TBODY,C.TFOOT,C.THEAD,C.TEMPLATE,C.HTML]),FVt=new Set([C.TABLE,C.TEMPLATE,C.HTML]),UVt=new Set([C.TD,C.TH]),mD=class{get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}constructor(e,r,n){this.treeAdapter=r,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=C.UNKNOWN,this.current=e}_indexOf(e){return this.items.lastIndexOf(e,this.stackTop)}_isInTemplate(){return this.currentTagId===C.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===Ee.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(e,r){this.stackTop++,this.items[this.stackTop]=e,this.current=e,this.tagIDs[this.stackTop]=r,this.currentTagId=r,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(e,r,!0)}pop(){let e=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!0)}replace(e,r){let n=this._indexOf(e);this.items[n]=r,n===this.stackTop&&(this.current=r)}insertAfter(e,r,n){let s=this._indexOf(e)+1;this.items.splice(s,0,r),this.tagIDs.splice(s,0,n),this.stackTop++,s===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,s===this.stackTop)}popUntilTagNamePopped(e){let r=this.stackTop+1;do r=this.tagIDs.lastIndexOf(e,r-1);while(r>0&&this.treeAdapter.getNamespaceURI(this.items[r])!==Ee.HTML);this.shortenToLength(Math.max(r,0))}shortenToLength(e){for(;this.stackTop>=e;){let r=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(r,this.stackTop<e)}}popUntilElementPopped(e){let r=this._indexOf(e);this.shortenToLength(Math.max(r,0))}popUntilPopped(e,r){let n=this._indexOfTagNames(e,r);this.shortenToLength(Math.max(n,0))}popUntilNumberedHeaderPopped(){this.popUntilPopped(kx,Ee.HTML)}popUntilTableCellPopped(){this.popUntilPopped(UVt,Ee.HTML)}popAllUpToHtmlElement(){this.tmplCount=0,this.shortenToLength(1)}_indexOfTagNames(e,r){for(let n=this.stackTop;n>=0;n--)if(e.has(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===r)return n;return-1}clearBackTo(e,r){let n=this._indexOfTagNames(e,r);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(FVt,Ee.HTML)}clearBackToTableBodyContext(){this.clearBackTo($Vt,Ee.HTML)}clearBackToTableRowContext(){this.clearBackTo(WVt,Ee.HTML)}remove(e){let r=this._indexOf(e);r>=0&&(r===this.stackTop?this.pop():(this.items.splice(r,1),this.tagIDs.splice(r,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===C.BODY?this.items[1]:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let r=this._indexOf(e)-1;return r>=0?this.items[r]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===C.HTML}hasInDynamicScope(e,r){for(let n=this.stackTop;n>=0;n--){let s=this.tagIDs[n];switch(this.treeAdapter.getNamespaceURI(this.items[n])){case Ee.HTML:{if(s===e)return!0;if(r.has(s))return!1;break}case Ee.SVG:{if(cke.has(s))return!1;break}case Ee.MATHML:{if(oke.has(s))return!1;break}}}return!0}hasInScope(e){return this.hasInDynamicScope(e,pD)}hasInListItemScope(e){return this.hasInDynamicScope(e,LVt)}hasInButtonScope(e){return this.hasInDynamicScope(e,MVt)}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){let r=this.tagIDs[e];switch(this.treeAdapter.getNamespaceURI(this.items[e])){case Ee.HTML:{if(kx.has(r))return!0;if(pD.has(r))return!1;break}case Ee.SVG:{if(cke.has(r))return!1;break}case Ee.MATHML:{if(oke.has(r))return!1;break}}}return!0}hasInTableScope(e){for(let r=this.stackTop;r>=0;r--)if(this.treeAdapter.getNamespaceURI(this.items[r])===Ee.HTML)switch(this.tagIDs[r]){case e:return!0;case C.TABLE:case C.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--)if(this.treeAdapter.getNamespaceURI(this.items[e])===Ee.HTML)switch(this.tagIDs[e]){case C.TBODY:case C.THEAD:case C.TFOOT:return!0;case C.TABLE:case C.HTML:return!1}return!0}hasInSelectScope(e){for(let r=this.stackTop;r>=0;r--)if(this.treeAdapter.getNamespaceURI(this.items[r])===Ee.HTML)switch(this.tagIDs[r]){case e:return!0;case C.OPTION:case C.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&uke.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&ake.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;this.currentTagId!==void 0&&this.currentTagId!==e&&ake.has(this.currentTagId);)this.pop()}};var au;(function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"})(au||(au={}));var lke={type:au.Marker},hD=class{constructor(e){this.treeAdapter=e,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(e,r){let n=[],s=r.length,i=this.treeAdapter.getTagName(e),a=this.treeAdapter.getNamespaceURI(e);for(let o=0;o<this.entries.length;o++){let c=this.entries[o];if(c.type===au.Marker)break;let{element:u}=c;if(this.treeAdapter.getTagName(u)===i&&this.treeAdapter.getNamespaceURI(u)===a){let l=this.treeAdapter.getAttrList(u);l.length===s&&n.push({idx:o,attrs:l})}}return n}_ensureNoahArkCondition(e){if(this.entries.length<3)return;let r=this.treeAdapter.getAttrList(e),n=this._getNoahArkConditionCandidates(e,r);if(n.length<3)return;let s=new Map(r.map(a=>[a.name,a.value])),i=0;for(let a=0;a<n.length;a++){let o=n[a];o.attrs.every(c=>s.get(c.name)===c.value)&&(i+=1,i>=3&&this.entries.splice(o.idx,1))}}insertMarker(){this.entries.unshift(lke)}pushElement(e,r){this._ensureNoahArkCondition(e),this.entries.unshift({type:au.Element,element:e,token:r})}insertElementAfterBookmark(e,r){let n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:au.Element,element:e,token:r})}removeEntry(e){let r=this.entries.indexOf(e);r!==-1&&this.entries.splice(r,1)}clearToLastMarker(){let e=this.entries.indexOf(lke);e===-1?this.entries.length=0:this.entries.splice(0,e+1)}getElementEntryInScopeWithTagName(e){let r=this.entries.find(n=>n.type===au.Marker||this.treeAdapter.getTagName(n.element)===e);return r&&r.type===au.Element?r:null}getElementEntry(e){return this.entries.find(r=>r.type===au.Element&&r.element===e)}};var gc={createDocument(){return{nodeName:"#document",mode:Ui.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(t,e,r){return{nodeName:t,tagName:t,attrs:r,namespaceURI:e,childNodes:[],parentNode:null}},createCommentNode(t){return{nodeName:"#comment",data:t,parentNode:null}},createTextNode(t){return{nodeName:"#text",value:t,parentNode:null}},appendChild(t,e){t.childNodes.push(e),e.parentNode=t},insertBefore(t,e,r){let n=t.childNodes.indexOf(r);t.childNodes.splice(n,0,e),e.parentNode=t},setTemplateContent(t,e){t.content=e},getTemplateContent(t){return t.content},setDocumentType(t,e,r,n){let s=t.childNodes.find(i=>i.nodeName==="#documentType");if(s)s.name=e,s.publicId=r,s.systemId=n;else{let i={nodeName:"#documentType",name:e,publicId:r,systemId:n,parentNode:null};gc.appendChild(t,i)}},setDocumentMode(t,e){t.mode=e},getDocumentMode(t){return t.mode},detachNode(t){if(t.parentNode){let e=t.parentNode.childNodes.indexOf(t);t.parentNode.childNodes.splice(e,1),t.parentNode=null}},insertText(t,e){if(t.childNodes.length>0){let r=t.childNodes[t.childNodes.length-1];if(gc.isTextNode(r)){r.value+=e;return}}gc.appendChild(t,gc.createTextNode(e))},insertTextBefore(t,e,r){let n=t.childNodes[t.childNodes.indexOf(r)-1];n&&gc.isTextNode(n)?n.value+=e:gc.insertBefore(t,gc.createTextNode(e),r)},adoptAttributes(t,e){let r=new Set(t.attrs.map(n=>n.name));for(let n=0;n<e.length;n++)r.has(e[n].name)||t.attrs.push(e[n])},getFirstChild(t){return t.childNodes[0]},getChildNodes(t){return t.childNodes},getParentNode(t){return t.parentNode},getAttrList(t){return t.attrs},getTagName(t){return t.tagName},getNamespaceURI(t){return t.namespaceURI},getTextNodeContent(t){return t.value},getCommentNodeContent(t){return t.data},getDocumentTypeNodeName(t){return t.name},getDocumentTypeNodePublicId(t){return t.publicId},getDocumentTypeNodeSystemId(t){return t.systemId},isTextNode(t){return t.nodeName==="#text"},isCommentNode(t){return t.nodeName==="#comment"},isDocumentTypeNode(t){return t.nodeName==="#documentType"},isElementNode(t){return Object.prototype.hasOwnProperty.call(t,"tagName")},setNodeSourceCodeLocation(t,e){t.sourceCodeLocation=e},getNodeSourceCodeLocation(t){return t.sourceCodeLocation},updateNodeSourceCodeLocation(t,e){t.sourceCodeLocation={...t.sourceCodeLocation,...e}}};var fke="html",qVt="about:legacy-compat",jVt="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd",pke=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],HVt=[...pke,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],QVt=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),mke=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],GVt=[...mke,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function dke(t,e){return e.some(r=>t.startsWith(r))}function hke(t){return t.name===fke&&t.publicId===null&&(t.systemId===null||t.systemId===qVt)}function gke(t){if(t.name!==fke)return Ui.QUIRKS;let{systemId:e}=t;if(e&&e.toLowerCase()===jVt)return Ui.QUIRKS;let{publicId:r}=t;if(r!==null){if(r=r.toLowerCase(),QVt.has(r))return Ui.QUIRKS;let n=e===null?HVt:pke;if(dke(r,n))return Ui.QUIRKS;if(n=e===null?mke:GVt,dke(r,n))return Ui.LIMITED_QUIRKS}return Ui.NO_QUIRKS}var Ake={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},VVt="definitionurl",zVt="definitionURL",YVt=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t])),JVt=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Ee.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Ee.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Ee.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Ee.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Ee.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Ee.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Ee.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:Ee.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Ee.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Ee.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Ee.XMLNS}]]),XVt=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),ZVt=new Set([C.B,C.BIG,C.BLOCKQUOTE,C.BODY,C.BR,C.CENTER,C.CODE,C.DD,C.DIV,C.DL,C.DT,C.EM,C.EMBED,C.H1,C.H2,C.H3,C.H4,C.H5,C.H6,C.HEAD,C.HR,C.I,C.IMG,C.LI,C.LISTING,C.MENU,C.META,C.NOBR,C.OL,C.P,C.PRE,C.RUBY,C.S,C.SMALL,C.SPAN,C.STRONG,C.STRIKE,C.SUB,C.SUP,C.TABLE,C.TT,C.U,C.UL,C.VAR]);function yke(t){let e=t.tagID;return e===C.FONT&&t.attrs.some(({name:n})=>n===pl.COLOR||n===pl.SIZE||n===pl.FACE)||ZVt.has(e)}function xQ(t){for(let e=0;e<t.attrs.length;e++)if(t.attrs[e].name===VVt){t.attrs[e].name=zVt;break}}function bQ(t){for(let e=0;e<t.attrs.length;e++){let r=YVt.get(t.attrs[e].name);r!=null&&(t.attrs[e].name=r)}}function gD(t){for(let e=0;e<t.attrs.length;e++){let r=JVt.get(t.attrs[e].name);r&&(t.attrs[e].prefix=r.prefix,t.attrs[e].name=r.name,t.attrs[e].namespace=r.namespace)}}function xke(t){let e=XVt.get(t.tagName);e!=null&&(t.tagName=e,t.tagID=c0(t.tagName))}function ezt(t,e){return e===Ee.MATHML&&(t===C.MI||t===C.MO||t===C.MN||t===C.MS||t===C.MTEXT)}function tzt(t,e,r){if(e===Ee.MATHML&&t===C.ANNOTATION_XML){for(let n=0;n<r.length;n++)if(r[n].name===pl.ENCODING){let s=r[n].value.toLowerCase();return s===Ake.TEXT_HTML||s===Ake.APPLICATION_XML}}return e===Ee.SVG&&(t===C.FOREIGN_OBJECT||t===C.DESC||t===C.TITLE)}function bke(t,e,r,n){return(!n||n===Ee.HTML)&&tzt(t,e,r)||(!n||n===Ee.MATHML)&&ezt(t,e)}var rzt="hidden",nzt=8,szt=3,te;(function(t){t[t.INITIAL=0]="INITIAL",t[t.BEFORE_HTML=1]="BEFORE_HTML",t[t.BEFORE_HEAD=2]="BEFORE_HEAD",t[t.IN_HEAD=3]="IN_HEAD",t[t.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",t[t.AFTER_HEAD=5]="AFTER_HEAD",t[t.IN_BODY=6]="IN_BODY",t[t.TEXT=7]="TEXT",t[t.IN_TABLE=8]="IN_TABLE",t[t.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",t[t.IN_CAPTION=10]="IN_CAPTION",t[t.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",t[t.IN_TABLE_BODY=12]="IN_TABLE_BODY",t[t.IN_ROW=13]="IN_ROW",t[t.IN_CELL=14]="IN_CELL",t[t.IN_SELECT=15]="IN_SELECT",t[t.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",t[t.IN_TEMPLATE=17]="IN_TEMPLATE",t[t.AFTER_BODY=18]="AFTER_BODY",t[t.IN_FRAMESET=19]="IN_FRAMESET",t[t.AFTER_FRAMESET=20]="AFTER_FRAMESET",t[t.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",t[t.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"})(te||(te={}));var izt={startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1},Ike=new Set([C.TABLE,C.TBODY,C.TFOOT,C.THEAD,C.TR]),_ke={scriptingEnabled:!0,sourceCodeLocationInfo:!1,treeAdapter:gc,onParseError:null},Dx=class{constructor(e,r,n=null,s=null){this.fragmentContext=n,this.scriptHandler=s,this.currentToken=null,this.stopped=!1,this.insertionMode=te.INITIAL,this.originalInsertionMode=te.INITIAL,this.headElement=null,this.formElement=null,this.currentNotInHTML=!1,this.tmplInsertionModeStack=[],this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1,this.options={..._ke,...e},this.treeAdapter=this.options.treeAdapter,this.onParseError=this.options.onParseError,this.onParseError&&(this.options.sourceCodeLocationInfo=!0),this.document=r??this.treeAdapter.createDocument(),this.tokenizer=new dv(this.options,this),this.activeFormattingElements=new hD(this.treeAdapter),this.fragmentContextID=n?c0(this.treeAdapter.getTagName(n)):C.UNKNOWN,this._setContextModes(n??this.document,this.fragmentContextID),this.openElements=new mD(this.document,this.treeAdapter,this)}static parse(e,r){let n=new this(r);return n.tokenizer.write(e,!0),n.document}static getFragmentParser(e,r){let n={..._ke,...r};e??(e=n.treeAdapter.createElement(de.TEMPLATE,Ee.HTML,[]));let s=n.treeAdapter.createElement("documentmock",Ee.HTML,[]),i=new this(n,s,e);return i.fragmentContextID===C.TEMPLATE&&i.tmplInsertionModeStack.unshift(te.IN_TEMPLATE),i._initTokenizerForFragmentParsing(),i._insertFakeRootElement(),i._resetInsertionMode(),i._findFormInFragmentContext(),i}getFragment(){let e=this.treeAdapter.getFirstChild(this.document),r=this.treeAdapter.createDocumentFragment();return this._adoptNodes(e,r),r}_err(e,r,n){var s;if(!this.onParseError)return;let i=(s=e.location)!==null&&s!==void 0?s:izt,a={code:r,startLine:i.startLine,startCol:i.startCol,startOffset:i.startOffset,endLine:n?i.startLine:i.endLine,endCol:n?i.startCol:i.endCol,endOffset:n?i.startOffset:i.endOffset};this.onParseError(a)}onItemPush(e,r,n){var s,i;(i=(s=this.treeAdapter).onItemPush)===null||i===void 0||i.call(s,e),n&&this.openElements.stackTop>0&&this._setContextModes(e,r)}onItemPop(e,r){var n,s;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(e,this.currentToken),(s=(n=this.treeAdapter).onItemPop)===null||s===void 0||s.call(n,e,this.openElements.current),r){let i,a;this.openElements.stackTop===0&&this.fragmentContext?(i=this.fragmentContext,a=this.fragmentContextID):{current:i,currentTagId:a}=this.openElements,this._setContextModes(i,a)}}_setContextModes(e,r){let n=e===this.document||e&&this.treeAdapter.getNamespaceURI(e)===Ee.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&e!==void 0&&r!==void 0&&!this._isIntegrationPoint(r,e)}_switchToTextParsing(e,r){this._insertElement(e,Ee.HTML),this.tokenizer.state=r,this.originalInsertionMode=this.insertionMode,this.insertionMode=te.TEXT}switchToPlaintextParsing(){this.insertionMode=te.TEXT,this.originalInsertionMode=te.IN_BODY,this.tokenizer.state=qi.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;for(;e;){if(this.treeAdapter.getTagName(e)===de.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==Ee.HTML))switch(this.fragmentContextID){case C.TITLE:case C.TEXTAREA:{this.tokenizer.state=qi.RCDATA;break}case C.STYLE:case C.XMP:case C.IFRAME:case C.NOEMBED:case C.NOFRAMES:case C.NOSCRIPT:{this.tokenizer.state=qi.RAWTEXT;break}case C.SCRIPT:{this.tokenizer.state=qi.SCRIPT_DATA;break}case C.PLAINTEXT:{this.tokenizer.state=qi.PLAINTEXT;break}default:}}_setDocumentType(e){let r=e.name||"",n=e.publicId||"",s=e.systemId||"";if(this.treeAdapter.setDocumentType(this.document,r,n,s),e.location){let a=this.treeAdapter.getChildNodes(this.document).find(o=>this.treeAdapter.isDocumentTypeNode(o));a&&this.treeAdapter.setNodeSourceCodeLocation(a,e.location)}}_attachElementToTree(e,r){if(this.options.sourceCodeLocationInfo){let n=r&&{...r,startTag:r};this.treeAdapter.setNodeSourceCodeLocation(e,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{let n=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(n??this.document,e)}}_appendElement(e,r){let n=this.treeAdapter.createElement(e.tagName,r,e.attrs);this._attachElementToTree(n,e.location)}_insertElement(e,r){let n=this.treeAdapter.createElement(e.tagName,r,e.attrs);this._attachElementToTree(n,e.location),this.openElements.push(n,e.tagID)}_insertFakeElement(e,r){let n=this.treeAdapter.createElement(e,Ee.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,r)}_insertTemplate(e){let r=this.treeAdapter.createElement(e.tagName,Ee.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(r,n),this._attachElementToTree(r,e.location),this.openElements.push(r,e.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){let e=this.treeAdapter.createElement(de.HTML,Ee.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(e,null),this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e,C.HTML)}_appendCommentNode(e,r){let n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(r,n),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,e.location)}_insertCharacters(e){let r,n;if(this._shouldFosterParentOnInsertion()?({parent:r,beforeElement:n}=this._findFosterParentingLocation(),n?this.treeAdapter.insertTextBefore(r,e.chars,n):this.treeAdapter.insertText(r,e.chars)):(r=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(r,e.chars)),!e.location)return;let s=this.treeAdapter.getChildNodes(r),i=n?s.lastIndexOf(n):s.length,a=s[i-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){let{endLine:c,endCol:u,endOffset:l}=e.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:c,endCol:u,endOffset:l})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,e.location)}_adoptNodes(e,r){for(let n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(r,n)}_setEndLocation(e,r){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&r.location){let n=r.location,s=this.treeAdapter.getTagName(e),i=r.type===xr.END_TAG&&s===r.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(e,i)}}shouldProcessStartTagTokenInForeignContent(e){if(!this.currentNotInHTML)return!1;let r,n;return this.openElements.stackTop===0&&this.fragmentContext?(r=this.fragmentContext,n=this.fragmentContextID):{current:r,currentTagId:n}=this.openElements,e.tagID===C.SVG&&this.treeAdapter.getTagName(r)===de.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(r)===Ee.MATHML?!1:this.tokenizer.inForeignNode||(e.tagID===C.MGLYPH||e.tagID===C.MALIGNMARK)&&n!==void 0&&!this._isIntegrationPoint(n,r,Ee.HTML)}_processToken(e){switch(e.type){case xr.CHARACTER:{this.onCharacter(e);break}case xr.NULL_CHARACTER:{this.onNullCharacter(e);break}case xr.COMMENT:{this.onComment(e);break}case xr.DOCTYPE:{this.onDoctype(e);break}case xr.START_TAG:{this._processStartTag(e);break}case xr.END_TAG:{this.onEndTag(e);break}case xr.EOF:{this.onEof(e);break}case xr.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(e);break}}}_isIntegrationPoint(e,r,n){let s=this.treeAdapter.getNamespaceURI(r),i=this.treeAdapter.getAttrList(r);return bke(e,s,i,n)}_reconstructActiveFormattingElements(){let e=this.activeFormattingElements.entries.length;if(e){let r=this.activeFormattingElements.entries.findIndex(s=>s.type===au.Marker||this.openElements.contains(s.element)),n=r===-1?e-1:r-1;for(let s=n;s>=0;s--){let i=this.activeFormattingElements.entries[s];this._insertElement(i.token,this.treeAdapter.getNamespaceURI(i.element)),i.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=te.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(C.P),this.openElements.popUntilTagNamePopped(C.P)}_resetInsertionMode(){for(let e=this.openElements.stackTop;e>=0;e--)switch(e===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[e]){case C.TR:{this.insertionMode=te.IN_ROW;return}case C.TBODY:case C.THEAD:case C.TFOOT:{this.insertionMode=te.IN_TABLE_BODY;return}case C.CAPTION:{this.insertionMode=te.IN_CAPTION;return}case C.COLGROUP:{this.insertionMode=te.IN_COLUMN_GROUP;return}case C.TABLE:{this.insertionMode=te.IN_TABLE;return}case C.BODY:{this.insertionMode=te.IN_BODY;return}case C.FRAMESET:{this.insertionMode=te.IN_FRAMESET;return}case C.SELECT:{this._resetInsertionModeForSelect(e);return}case C.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case C.HTML:{this.insertionMode=this.headElement?te.AFTER_HEAD:te.BEFORE_HEAD;return}case C.TD:case C.TH:{if(e>0){this.insertionMode=te.IN_CELL;return}break}case C.HEAD:{if(e>0){this.insertionMode=te.IN_HEAD;return}break}}this.insertionMode=te.IN_BODY}_resetInsertionModeForSelect(e){if(e>0)for(let r=e-1;r>0;r--){let n=this.openElements.tagIDs[r];if(n===C.TEMPLATE)break;if(n===C.TABLE){this.insertionMode=te.IN_SELECT_IN_TABLE;return}}this.insertionMode=te.IN_SELECT}_isElementCausesFosterParenting(e){return Ike.has(e)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let e=this.openElements.stackTop;e>=0;e--){let r=this.openElements.items[e];switch(this.openElements.tagIDs[e]){case C.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(r)===Ee.HTML)return{parent:this.treeAdapter.getTemplateContent(r),beforeElement:null};break}case C.TABLE:{let n=this.treeAdapter.getParentNode(r);return n?{parent:n,beforeElement:r}:{parent:this.openElements.items[e-1],beforeElement:null}}default:}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(e){let r=this._findFosterParentingLocation();r.beforeElement?this.treeAdapter.insertBefore(r.parent,e,r.beforeElement):this.treeAdapter.appendChild(r.parent,e)}_isSpecialElement(e,r){let n=this.treeAdapter.getNamespaceURI(e);return AQ[n].has(r)}onCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){BYt(this,e);return}switch(this.insertionMode){case te.INITIAL:{fv(this,e);break}case te.BEFORE_HTML:{mv(this,e);break}case te.BEFORE_HEAD:{hv(this,e);break}case te.IN_HEAD:{gv(this,e);break}case te.IN_HEAD_NO_SCRIPT:{Av(this,e);break}case te.AFTER_HEAD:{yv(this,e);break}case te.IN_BODY:case te.IN_CAPTION:case te.IN_CELL:case te.IN_TEMPLATE:{Tke(this,e);break}case te.TEXT:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:{this._insertCharacters(e);break}case te.IN_TABLE:case te.IN_TABLE_BODY:case te.IN_ROW:{EQ(this,e);break}case te.IN_TABLE_TEXT:{kke(this,e);break}case te.IN_COLUMN_GROUP:{yD(this,e);break}case te.AFTER_BODY:{xD(this,e);break}case te.AFTER_AFTER_BODY:{AD(this,e);break}default:}}onNullCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){DYt(this,e);return}switch(this.insertionMode){case te.INITIAL:{fv(this,e);break}case te.BEFORE_HTML:{mv(this,e);break}case te.BEFORE_HEAD:{hv(this,e);break}case te.IN_HEAD:{gv(this,e);break}case te.IN_HEAD_NO_SCRIPT:{Av(this,e);break}case te.AFTER_HEAD:{yv(this,e);break}case te.TEXT:{this._insertCharacters(e);break}case te.IN_TABLE:case te.IN_TABLE_BODY:case te.IN_ROW:{EQ(this,e);break}case te.IN_COLUMN_GROUP:{yD(this,e);break}case te.AFTER_BODY:{xD(this,e);break}case te.AFTER_AFTER_BODY:{AD(this,e);break}default:}}onComment(e){if(this.skipNextNewLine=!1,this.currentNotInHTML){_Q(this,e);return}switch(this.insertionMode){case te.INITIAL:case te.BEFORE_HTML:case te.BEFORE_HEAD:case te.IN_HEAD:case te.IN_HEAD_NO_SCRIPT:case te.AFTER_HEAD:case te.IN_BODY:case te.IN_TABLE:case te.IN_CAPTION:case te.IN_COLUMN_GROUP:case te.IN_TABLE_BODY:case te.IN_ROW:case te.IN_CELL:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:case te.IN_TEMPLATE:case te.IN_FRAMESET:case te.AFTER_FRAMESET:{_Q(this,e);break}case te.IN_TABLE_TEXT:{pv(this,e);break}case te.AFTER_BODY:{fzt(this,e);break}case te.AFTER_AFTER_BODY:case te.AFTER_AFTER_FRAMESET:{pzt(this,e);break}default:}}onDoctype(e){switch(this.skipNextNewLine=!1,this.insertionMode){case te.INITIAL:{mzt(this,e);break}case te.BEFORE_HEAD:case te.IN_HEAD:case te.IN_HEAD_NO_SCRIPT:case te.AFTER_HEAD:{this._err(e,me.misplacedDoctype);break}case te.IN_TABLE_TEXT:{pv(this,e);break}default:}}onStartTag(e){this.skipNextNewLine=!1,this.currentToken=e,this._processStartTag(e),e.selfClosing&&!e.ackSelfClosing&&this._err(e,me.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(e){this.shouldProcessStartTagTokenInForeignContent(e)?LYt(this,e):this._startTagOutsideForeignContent(e)}_startTagOutsideForeignContent(e){switch(this.insertionMode){case te.INITIAL:{fv(this,e);break}case te.BEFORE_HTML:{hzt(this,e);break}case te.BEFORE_HEAD:{Azt(this,e);break}case te.IN_HEAD:{ou(this,e);break}case te.IN_HEAD_NO_SCRIPT:{bzt(this,e);break}case te.AFTER_HEAD:{_zt(this,e);break}case te.IN_BODY:{ji(this,e);break}case te.IN_TABLE:{Bx(this,e);break}case te.IN_TABLE_TEXT:{pv(this,e);break}case te.IN_CAPTION:{yYt(this,e);break}case te.IN_COLUMN_GROUP:{CQ(this,e);break}case te.IN_TABLE_BODY:{_D(this,e);break}case te.IN_ROW:{SD(this,e);break}case te.IN_CELL:{EYt(this,e);break}case te.IN_SELECT:{Lke(this,e);break}case te.IN_SELECT_IN_TABLE:{SYt(this,e);break}case te.IN_TEMPLATE:{IYt(this,e);break}case te.AFTER_BODY:{TYt(this,e);break}case te.IN_FRAMESET:{wYt(this,e);break}case te.AFTER_FRAMESET:{NYt(this,e);break}case te.AFTER_AFTER_BODY:{PYt(this,e);break}case te.AFTER_AFTER_FRAMESET:{kYt(this,e);break}default:}}onEndTag(e){this.skipNextNewLine=!1,this.currentToken=e,this.currentNotInHTML?MYt(this,e):this._endTagOutsideForeignContent(e)}_endTagOutsideForeignContent(e){switch(this.insertionMode){case te.INITIAL:{fv(this,e);break}case te.BEFORE_HTML:{gzt(this,e);break}case te.BEFORE_HEAD:{yzt(this,e);break}case te.IN_HEAD:{xzt(this,e);break}case te.IN_HEAD_NO_SCRIPT:{Ezt(this,e);break}case te.AFTER_HEAD:{Szt(this,e);break}case te.IN_BODY:{ED(this,e);break}case te.TEXT:{cYt(this,e);break}case te.IN_TABLE:{xv(this,e);break}case te.IN_TABLE_TEXT:{pv(this,e);break}case te.IN_CAPTION:{xYt(this,e);break}case te.IN_COLUMN_GROUP:{bYt(this,e);break}case te.IN_TABLE_BODY:{SQ(this,e);break}case te.IN_ROW:{Bke(this,e);break}case te.IN_CELL:{_Yt(this,e);break}case te.IN_SELECT:{Mke(this,e);break}case te.IN_SELECT_IN_TABLE:{vYt(this,e);break}case te.IN_TEMPLATE:{CYt(this,e);break}case te.AFTER_BODY:{$ke(this,e);break}case te.IN_FRAMESET:{RYt(this,e);break}case te.AFTER_FRAMESET:{OYt(this,e);break}case te.AFTER_AFTER_BODY:{AD(this,e);break}default:}}onEof(e){switch(this.insertionMode){case te.INITIAL:{fv(this,e);break}case te.BEFORE_HTML:{mv(this,e);break}case te.BEFORE_HEAD:{hv(this,e);break}case te.IN_HEAD:{gv(this,e);break}case te.IN_HEAD_NO_SCRIPT:{Av(this,e);break}case te.AFTER_HEAD:{yv(this,e);break}case te.IN_BODY:case te.IN_TABLE:case te.IN_CAPTION:case te.IN_COLUMN_GROUP:case te.IN_TABLE_BODY:case te.IN_ROW:case te.IN_CELL:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:{Oke(this,e);break}case te.TEXT:{uYt(this,e);break}case te.IN_TABLE_TEXT:{pv(this,e);break}case te.IN_TEMPLATE:{Wke(this,e);break}case te.AFTER_BODY:case te.IN_FRAMESET:case te.AFTER_FRAMESET:case te.AFTER_AFTER_BODY:case te.AFTER_AFTER_FRAMESET:{IQ(this,e);break}default:}}onWhitespaceCharacter(e){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,e.chars.charCodeAt(0)===Q.LINE_FEED)){if(e.chars.length===1)return;e.chars=e.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(e);return}switch(this.insertionMode){case te.IN_HEAD:case te.IN_HEAD_NO_SCRIPT:case te.AFTER_HEAD:case te.TEXT:case te.IN_COLUMN_GROUP:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:case te.IN_FRAMESET:case te.AFTER_FRAMESET:{this._insertCharacters(e);break}case te.IN_BODY:case te.IN_CAPTION:case te.IN_CELL:case te.IN_TEMPLATE:case te.AFTER_BODY:case te.AFTER_AFTER_BODY:case te.AFTER_AFTER_FRAMESET:{Cke(this,e);break}case te.IN_TABLE:case te.IN_TABLE_BODY:case te.IN_ROW:{EQ(this,e);break}case te.IN_TABLE_TEXT:{Pke(this,e);break}default:}}};function azt(t,e){let r=t.activeFormattingElements.getElementEntryInScopeWithTagName(e.tagName);return r?t.openElements.contains(r.element)?t.openElements.hasInScope(e.tagID)||(r=null):(t.activeFormattingElements.removeEntry(r),r=null):Nke(t,e),r}function ozt(t,e){let r=null,n=t.openElements.stackTop;for(;n>=0;n--){let s=t.openElements.items[n];if(s===e.element)break;t._isSpecialElement(s,t.openElements.tagIDs[n])&&(r=s)}return r||(t.openElements.shortenToLength(Math.max(n,0)),t.activeFormattingElements.removeEntry(e)),r}function czt(t,e,r){let n=e,s=t.openElements.getCommonAncestor(e);for(let i=0,a=s;a!==r;i++,a=s){s=t.openElements.getCommonAncestor(a);let o=t.activeFormattingElements.getElementEntry(a),c=o&&i>=szt;!o||c?(c&&t.activeFormattingElements.removeEntry(o),t.openElements.remove(a)):(a=uzt(t,o),n===e&&(t.activeFormattingElements.bookmark=o),t.treeAdapter.detachNode(n),t.treeAdapter.appendChild(a,n),n=a)}return n}function uzt(t,e){let r=t.treeAdapter.getNamespaceURI(e.element),n=t.treeAdapter.createElement(e.token.tagName,r,e.token.attrs);return t.openElements.replace(e.element,n),e.element=n,n}function lzt(t,e,r){let n=t.treeAdapter.getTagName(e),s=c0(n);if(t._isElementCausesFosterParenting(s))t._fosterParentElement(r);else{let i=t.treeAdapter.getNamespaceURI(e);s===C.TEMPLATE&&i===Ee.HTML&&(e=t.treeAdapter.getTemplateContent(e)),t.treeAdapter.appendChild(e,r)}}function dzt(t,e,r){let n=t.treeAdapter.getNamespaceURI(r.element),{token:s}=r,i=t.treeAdapter.createElement(s.tagName,n,s.attrs);t._adoptNodes(e,i),t.treeAdapter.appendChild(e,i),t.activeFormattingElements.insertElementAfterBookmark(i,s),t.activeFormattingElements.removeEntry(r),t.openElements.remove(r.element),t.openElements.insertAfter(e,i,s.tagID)}function vQ(t,e){for(let r=0;r<nzt;r++){let n=azt(t,e);if(!n)break;let s=ozt(t,n);if(!s)break;t.activeFormattingElements.bookmark=n;let i=czt(t,s,n.element),a=t.openElements.getCommonAncestor(n.element);t.treeAdapter.detachNode(i),a&&lzt(t,a,i),dzt(t,s,n)}}function _Q(t,e){t._appendCommentNode(e,t.openElements.currentTmplContentOrNode)}function fzt(t,e){t._appendCommentNode(e,t.openElements.items[0])}function pzt(t,e){t._appendCommentNode(e,t.document)}function IQ(t,e){if(t.stopped=!0,e.location){let r=t.fragmentContext?0:2;for(let n=t.openElements.stackTop;n>=r;n--)t._setEndLocation(t.openElements.items[n],e);if(!t.fragmentContext&&t.openElements.stackTop>=0){let n=t.openElements.items[0],s=t.treeAdapter.getNodeSourceCodeLocation(n);if(s&&!s.endTag&&(t._setEndLocation(n,e),t.openElements.stackTop>=1)){let i=t.openElements.items[1],a=t.treeAdapter.getNodeSourceCodeLocation(i);a&&!a.endTag&&t._setEndLocation(i,e)}}}}function mzt(t,e){t._setDocumentType(e);let r=e.forceQuirks?Ui.QUIRKS:gke(e);hke(e)||t._err(e,me.nonConformingDoctype),t.treeAdapter.setDocumentMode(t.document,r),t.insertionMode=te.BEFORE_HTML}function fv(t,e){t._err(e,me.missingDoctype,!0),t.treeAdapter.setDocumentMode(t.document,Ui.QUIRKS),t.insertionMode=te.BEFORE_HTML,t._processToken(e)}function hzt(t,e){e.tagID===C.HTML?(t._insertElement(e,Ee.HTML),t.insertionMode=te.BEFORE_HEAD):mv(t,e)}function gzt(t,e){let r=e.tagID;(r===C.HTML||r===C.HEAD||r===C.BODY||r===C.BR)&&mv(t,e)}function mv(t,e){t._insertFakeRootElement(),t.insertionMode=te.BEFORE_HEAD,t._processToken(e)}function Azt(t,e){switch(e.tagID){case C.HTML:{ji(t,e);break}case C.HEAD:{t._insertElement(e,Ee.HTML),t.headElement=t.openElements.current,t.insertionMode=te.IN_HEAD;break}default:hv(t,e)}}function yzt(t,e){let r=e.tagID;r===C.HEAD||r===C.BODY||r===C.HTML||r===C.BR?hv(t,e):t._err(e,me.endTagWithoutMatchingOpenElement)}function hv(t,e){t._insertFakeElement(de.HEAD,C.HEAD),t.headElement=t.openElements.current,t.insertionMode=te.IN_HEAD,t._processToken(e)}function ou(t,e){switch(e.tagID){case C.HTML:{ji(t,e);break}case C.BASE:case C.BASEFONT:case C.BGSOUND:case C.LINK:case C.META:{t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case C.TITLE:{t._switchToTextParsing(e,qi.RCDATA);break}case C.NOSCRIPT:{t.options.scriptingEnabled?t._switchToTextParsing(e,qi.RAWTEXT):(t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_HEAD_NO_SCRIPT);break}case C.NOFRAMES:case C.STYLE:{t._switchToTextParsing(e,qi.RAWTEXT);break}case C.SCRIPT:{t._switchToTextParsing(e,qi.SCRIPT_DATA);break}case C.TEMPLATE:{t._insertTemplate(e),t.activeFormattingElements.insertMarker(),t.framesetOk=!1,t.insertionMode=te.IN_TEMPLATE,t.tmplInsertionModeStack.unshift(te.IN_TEMPLATE);break}case C.HEAD:{t._err(e,me.misplacedStartTagForHeadElement);break}default:gv(t,e)}}function xzt(t,e){switch(e.tagID){case C.HEAD:{t.openElements.pop(),t.insertionMode=te.AFTER_HEAD;break}case C.BODY:case C.BR:case C.HTML:{gv(t,e);break}case C.TEMPLATE:{Ch(t,e);break}default:t._err(e,me.endTagWithoutMatchingOpenElement)}}function Ch(t,e){t.openElements.tmplCount>0?(t.openElements.generateImpliedEndTagsThoroughly(),t.openElements.currentTagId!==C.TEMPLATE&&t._err(e,me.closingOfElementWithOpenChildElements),t.openElements.popUntilTagNamePopped(C.TEMPLATE),t.activeFormattingElements.clearToLastMarker(),t.tmplInsertionModeStack.shift(),t._resetInsertionMode()):t._err(e,me.endTagWithoutMatchingOpenElement)}function gv(t,e){t.openElements.pop(),t.insertionMode=te.AFTER_HEAD,t._processToken(e)}function bzt(t,e){switch(e.tagID){case C.HTML:{ji(t,e);break}case C.BASEFONT:case C.BGSOUND:case C.HEAD:case C.LINK:case C.META:case C.NOFRAMES:case C.STYLE:{ou(t,e);break}case C.NOSCRIPT:{t._err(e,me.nestedNoscriptInHead);break}default:Av(t,e)}}function Ezt(t,e){switch(e.tagID){case C.NOSCRIPT:{t.openElements.pop(),t.insertionMode=te.IN_HEAD;break}case C.BR:{Av(t,e);break}default:t._err(e,me.endTagWithoutMatchingOpenElement)}}function Av(t,e){let r=e.type===xr.EOF?me.openElementsLeftAfterEof:me.disallowedContentInNoscriptInHead;t._err(e,r),t.openElements.pop(),t.insertionMode=te.IN_HEAD,t._processToken(e)}function _zt(t,e){switch(e.tagID){case C.HTML:{ji(t,e);break}case C.BODY:{t._insertElement(e,Ee.HTML),t.framesetOk=!1,t.insertionMode=te.IN_BODY;break}case C.FRAMESET:{t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_FRAMESET;break}case C.BASE:case C.BASEFONT:case C.BGSOUND:case C.LINK:case C.META:case C.NOFRAMES:case C.SCRIPT:case C.STYLE:case C.TEMPLATE:case C.TITLE:{t._err(e,me.abandonedHeadElementChild),t.openElements.push(t.headElement,C.HEAD),ou(t,e),t.openElements.remove(t.headElement);break}case C.HEAD:{t._err(e,me.misplacedStartTagForHeadElement);break}default:yv(t,e)}}function Szt(t,e){switch(e.tagID){case C.BODY:case C.HTML:case C.BR:{yv(t,e);break}case C.TEMPLATE:{Ch(t,e);break}default:t._err(e,me.endTagWithoutMatchingOpenElement)}}function yv(t,e){t._insertFakeElement(de.BODY,C.BODY),t.insertionMode=te.IN_BODY,bD(t,e)}function bD(t,e){switch(e.type){case xr.CHARACTER:{Tke(t,e);break}case xr.WHITESPACE_CHARACTER:{Cke(t,e);break}case xr.COMMENT:{_Q(t,e);break}case xr.START_TAG:{ji(t,e);break}case xr.END_TAG:{ED(t,e);break}case xr.EOF:{Oke(t,e);break}default:}}function Cke(t,e){t._reconstructActiveFormattingElements(),t._insertCharacters(e)}function Tke(t,e){t._reconstructActiveFormattingElements(),t._insertCharacters(e),t.framesetOk=!1}function vzt(t,e){t.openElements.tmplCount===0&&t.treeAdapter.adoptAttributes(t.openElements.items[0],e.attrs)}function Izt(t,e){let r=t.openElements.tryPeekProperlyNestedBodyElement();r&&t.openElements.tmplCount===0&&(t.framesetOk=!1,t.treeAdapter.adoptAttributes(r,e.attrs))}function Czt(t,e){let r=t.openElements.tryPeekProperlyNestedBodyElement();t.framesetOk&&r&&(t.treeAdapter.detachNode(r),t.openElements.popAllUpToHtmlElement(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_FRAMESET)}function Tzt(t,e){t.openElements.hasInButtonScope(C.P)&&t._closePElement(),t._insertElement(e,Ee.HTML)}function wzt(t,e){t.openElements.hasInButtonScope(C.P)&&t._closePElement(),t.openElements.currentTagId!==void 0&&kx.has(t.openElements.currentTagId)&&t.openElements.pop(),t._insertElement(e,Ee.HTML)}function Rzt(t,e){t.openElements.hasInButtonScope(C.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),t.skipNextNewLine=!0,t.framesetOk=!1}function Nzt(t,e){let r=t.openElements.tmplCount>0;(!t.formElement||r)&&(t.openElements.hasInButtonScope(C.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),r||(t.formElement=t.openElements.current))}function Ozt(t,e){t.framesetOk=!1;let r=e.tagID;for(let n=t.openElements.stackTop;n>=0;n--){let s=t.openElements.tagIDs[n];if(r===C.LI&&s===C.LI||(r===C.DD||r===C.DT)&&(s===C.DD||s===C.DT)){t.openElements.generateImpliedEndTagsWithExclusion(s),t.openElements.popUntilTagNamePopped(s);break}if(s!==C.ADDRESS&&s!==C.DIV&&s!==C.P&&t._isSpecialElement(t.openElements.items[n],s))break}t.openElements.hasInButtonScope(C.P)&&t._closePElement(),t._insertElement(e,Ee.HTML)}function Pzt(t,e){t.openElements.hasInButtonScope(C.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),t.tokenizer.state=qi.PLAINTEXT}function kzt(t,e){t.openElements.hasInScope(C.BUTTON)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(C.BUTTON)),t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.framesetOk=!1}function Dzt(t,e){let r=t.activeFormattingElements.getElementEntryInScopeWithTagName(de.A);r&&(vQ(t,e),t.openElements.remove(r.element),t.activeFormattingElements.removeEntry(r)),t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}function Bzt(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}function Lzt(t,e){t._reconstructActiveFormattingElements(),t.openElements.hasInScope(C.NOBR)&&(vQ(t,e),t._reconstructActiveFormattingElements()),t._insertElement(e,Ee.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}function Mzt(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.activeFormattingElements.insertMarker(),t.framesetOk=!1}function Wzt(t,e){t.treeAdapter.getDocumentMode(t.document)!==Ui.QUIRKS&&t.openElements.hasInButtonScope(C.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),t.framesetOk=!1,t.insertionMode=te.IN_TABLE}function wke(t,e){t._reconstructActiveFormattingElements(),t._appendElement(e,Ee.HTML),t.framesetOk=!1,e.ackSelfClosing=!0}function Rke(t){let e=cD(t,pl.TYPE);return e!=null&&e.toLowerCase()===rzt}function $zt(t,e){t._reconstructActiveFormattingElements(),t._appendElement(e,Ee.HTML),Rke(e)||(t.framesetOk=!1),e.ackSelfClosing=!0}function Fzt(t,e){t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0}function Uzt(t,e){t.openElements.hasInButtonScope(C.P)&&t._closePElement(),t._appendElement(e,Ee.HTML),t.framesetOk=!1,e.ackSelfClosing=!0}function qzt(t,e){e.tagName=de.IMG,e.tagID=C.IMG,wke(t,e)}function jzt(t,e){t._insertElement(e,Ee.HTML),t.skipNextNewLine=!0,t.tokenizer.state=qi.RCDATA,t.originalInsertionMode=t.insertionMode,t.framesetOk=!1,t.insertionMode=te.TEXT}function Hzt(t,e){t.openElements.hasInButtonScope(C.P)&&t._closePElement(),t._reconstructActiveFormattingElements(),t.framesetOk=!1,t._switchToTextParsing(e,qi.RAWTEXT)}function Qzt(t,e){t.framesetOk=!1,t._switchToTextParsing(e,qi.RAWTEXT)}function Ske(t,e){t._switchToTextParsing(e,qi.RAWTEXT)}function Gzt(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.framesetOk=!1,t.insertionMode=t.insertionMode===te.IN_TABLE||t.insertionMode===te.IN_CAPTION||t.insertionMode===te.IN_TABLE_BODY||t.insertionMode===te.IN_ROW||t.insertionMode===te.IN_CELL?te.IN_SELECT_IN_TABLE:te.IN_SELECT}function Kzt(t,e){t.openElements.currentTagId===C.OPTION&&t.openElements.pop(),t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML)}function Vzt(t,e){t.openElements.hasInScope(C.RUBY)&&t.openElements.generateImpliedEndTags(),t._insertElement(e,Ee.HTML)}function zzt(t,e){t.openElements.hasInScope(C.RUBY)&&t.openElements.generateImpliedEndTagsWithExclusion(C.RTC),t._insertElement(e,Ee.HTML)}function Yzt(t,e){t._reconstructActiveFormattingElements(),xQ(e),gD(e),e.selfClosing?t._appendElement(e,Ee.MATHML):t._insertElement(e,Ee.MATHML),e.ackSelfClosing=!0}function Jzt(t,e){t._reconstructActiveFormattingElements(),bQ(e),gD(e),e.selfClosing?t._appendElement(e,Ee.SVG):t._insertElement(e,Ee.SVG),e.ackSelfClosing=!0}function vke(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML)}function ji(t,e){switch(e.tagID){case C.I:case C.S:case C.B:case C.U:case C.EM:case C.TT:case C.BIG:case C.CODE:case C.FONT:case C.SMALL:case C.STRIKE:case C.STRONG:{Bzt(t,e);break}case C.A:{Dzt(t,e);break}case C.H1:case C.H2:case C.H3:case C.H4:case C.H5:case C.H6:{wzt(t,e);break}case C.P:case C.DL:case C.OL:case C.UL:case C.DIV:case C.DIR:case C.NAV:case C.MAIN:case C.MENU:case C.ASIDE:case C.CENTER:case C.FIGURE:case C.FOOTER:case C.HEADER:case C.HGROUP:case C.DIALOG:case C.DETAILS:case C.ADDRESS:case C.ARTICLE:case C.SEARCH:case C.SECTION:case C.SUMMARY:case C.FIELDSET:case C.BLOCKQUOTE:case C.FIGCAPTION:{Tzt(t,e);break}case C.LI:case C.DD:case C.DT:{Ozt(t,e);break}case C.BR:case C.IMG:case C.WBR:case C.AREA:case C.EMBED:case C.KEYGEN:{wke(t,e);break}case C.HR:{Uzt(t,e);break}case C.RB:case C.RTC:{Vzt(t,e);break}case C.RT:case C.RP:{zzt(t,e);break}case C.PRE:case C.LISTING:{Rzt(t,e);break}case C.XMP:{Hzt(t,e);break}case C.SVG:{Jzt(t,e);break}case C.HTML:{vzt(t,e);break}case C.BASE:case C.LINK:case C.META:case C.STYLE:case C.TITLE:case C.SCRIPT:case C.BGSOUND:case C.BASEFONT:case C.TEMPLATE:{ou(t,e);break}case C.BODY:{Izt(t,e);break}case C.FORM:{Nzt(t,e);break}case C.NOBR:{Lzt(t,e);break}case C.MATH:{Yzt(t,e);break}case C.TABLE:{Wzt(t,e);break}case C.INPUT:{$zt(t,e);break}case C.PARAM:case C.TRACK:case C.SOURCE:{Fzt(t,e);break}case C.IMAGE:{qzt(t,e);break}case C.BUTTON:{kzt(t,e);break}case C.APPLET:case C.OBJECT:case C.MARQUEE:{Mzt(t,e);break}case C.IFRAME:{Qzt(t,e);break}case C.SELECT:{Gzt(t,e);break}case C.OPTION:case C.OPTGROUP:{Kzt(t,e);break}case C.NOEMBED:case C.NOFRAMES:{Ske(t,e);break}case C.FRAMESET:{Czt(t,e);break}case C.TEXTAREA:{jzt(t,e);break}case C.NOSCRIPT:{t.options.scriptingEnabled?Ske(t,e):vke(t,e);break}case C.PLAINTEXT:{Pzt(t,e);break}case C.COL:case C.TH:case C.TD:case C.TR:case C.HEAD:case C.FRAME:case C.TBODY:case C.TFOOT:case C.THEAD:case C.CAPTION:case C.COLGROUP:break;default:vke(t,e)}}function Xzt(t,e){if(t.openElements.hasInScope(C.BODY)&&(t.insertionMode=te.AFTER_BODY,t.options.sourceCodeLocationInfo)){let r=t.openElements.tryPeekProperlyNestedBodyElement();r&&t._setEndLocation(r,e)}}function Zzt(t,e){t.openElements.hasInScope(C.BODY)&&(t.insertionMode=te.AFTER_BODY,$ke(t,e))}function eYt(t,e){let r=e.tagID;t.openElements.hasInScope(r)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(r))}function tYt(t){let e=t.openElements.tmplCount>0,{formElement:r}=t;e||(t.formElement=null),(r||e)&&t.openElements.hasInScope(C.FORM)&&(t.openElements.generateImpliedEndTags(),e?t.openElements.popUntilTagNamePopped(C.FORM):r&&t.openElements.remove(r))}function rYt(t){t.openElements.hasInButtonScope(C.P)||t._insertFakeElement(de.P,C.P),t._closePElement()}function nYt(t){t.openElements.hasInListItemScope(C.LI)&&(t.openElements.generateImpliedEndTagsWithExclusion(C.LI),t.openElements.popUntilTagNamePopped(C.LI))}function sYt(t,e){let r=e.tagID;t.openElements.hasInScope(r)&&(t.openElements.generateImpliedEndTagsWithExclusion(r),t.openElements.popUntilTagNamePopped(r))}function iYt(t){t.openElements.hasNumberedHeaderInScope()&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilNumberedHeaderPopped())}function aYt(t,e){let r=e.tagID;t.openElements.hasInScope(r)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(r),t.activeFormattingElements.clearToLastMarker())}function oYt(t){t._reconstructActiveFormattingElements(),t._insertFakeElement(de.BR,C.BR),t.openElements.pop(),t.framesetOk=!1}function Nke(t,e){let r=e.tagName,n=e.tagID;for(let s=t.openElements.stackTop;s>0;s--){let i=t.openElements.items[s],a=t.openElements.tagIDs[s];if(n===a&&(n!==C.UNKNOWN||t.treeAdapter.getTagName(i)===r)){t.openElements.generateImpliedEndTagsWithExclusion(n),t.openElements.stackTop>=s&&t.openElements.shortenToLength(s);break}if(t._isSpecialElement(i,a))break}}function ED(t,e){switch(e.tagID){case C.A:case C.B:case C.I:case C.S:case C.U:case C.EM:case C.TT:case C.BIG:case C.CODE:case C.FONT:case C.NOBR:case C.SMALL:case C.STRIKE:case C.STRONG:{vQ(t,e);break}case C.P:{rYt(t);break}case C.DL:case C.UL:case C.OL:case C.DIR:case C.DIV:case C.NAV:case C.PRE:case C.MAIN:case C.MENU:case C.ASIDE:case C.BUTTON:case C.CENTER:case C.FIGURE:case C.FOOTER:case C.HEADER:case C.HGROUP:case C.DIALOG:case C.ADDRESS:case C.ARTICLE:case C.DETAILS:case C.SEARCH:case C.SECTION:case C.SUMMARY:case C.LISTING:case C.FIELDSET:case C.BLOCKQUOTE:case C.FIGCAPTION:{eYt(t,e);break}case C.LI:{nYt(t);break}case C.DD:case C.DT:{sYt(t,e);break}case C.H1:case C.H2:case C.H3:case C.H4:case C.H5:case C.H6:{iYt(t);break}case C.BR:{oYt(t);break}case C.BODY:{Xzt(t,e);break}case C.HTML:{Zzt(t,e);break}case C.FORM:{tYt(t);break}case C.APPLET:case C.OBJECT:case C.MARQUEE:{aYt(t,e);break}case C.TEMPLATE:{Ch(t,e);break}default:Nke(t,e)}}function Oke(t,e){t.tmplInsertionModeStack.length>0?Wke(t,e):IQ(t,e)}function cYt(t,e){var r;e.tagID===C.SCRIPT&&((r=t.scriptHandler)===null||r===void 0||r.call(t,t.openElements.current)),t.openElements.pop(),t.insertionMode=t.originalInsertionMode}function uYt(t,e){t._err(e,me.eofInElementThatCanContainOnlyText),t.openElements.pop(),t.insertionMode=t.originalInsertionMode,t.onEof(e)}function EQ(t,e){if(t.openElements.currentTagId!==void 0&&Ike.has(t.openElements.currentTagId))switch(t.pendingCharacterTokens.length=0,t.hasNonWhitespacePendingCharacterToken=!1,t.originalInsertionMode=t.insertionMode,t.insertionMode=te.IN_TABLE_TEXT,e.type){case xr.CHARACTER:{kke(t,e);break}case xr.WHITESPACE_CHARACTER:{Pke(t,e);break}}else bv(t,e)}function lYt(t,e){t.openElements.clearBackToTableContext(),t.activeFormattingElements.insertMarker(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_CAPTION}function dYt(t,e){t.openElements.clearBackToTableContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_COLUMN_GROUP}function fYt(t,e){t.openElements.clearBackToTableContext(),t._insertFakeElement(de.COLGROUP,C.COLGROUP),t.insertionMode=te.IN_COLUMN_GROUP,CQ(t,e)}function pYt(t,e){t.openElements.clearBackToTableContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_TABLE_BODY}function mYt(t,e){t.openElements.clearBackToTableContext(),t._insertFakeElement(de.TBODY,C.TBODY),t.insertionMode=te.IN_TABLE_BODY,_D(t,e)}function hYt(t,e){t.openElements.hasInTableScope(C.TABLE)&&(t.openElements.popUntilTagNamePopped(C.TABLE),t._resetInsertionMode(),t._processStartTag(e))}function gYt(t,e){Rke(e)?t._appendElement(e,Ee.HTML):bv(t,e),e.ackSelfClosing=!0}function AYt(t,e){!t.formElement&&t.openElements.tmplCount===0&&(t._insertElement(e,Ee.HTML),t.formElement=t.openElements.current,t.openElements.pop())}function Bx(t,e){switch(e.tagID){case C.TD:case C.TH:case C.TR:{mYt(t,e);break}case C.STYLE:case C.SCRIPT:case C.TEMPLATE:{ou(t,e);break}case C.COL:{fYt(t,e);break}case C.FORM:{AYt(t,e);break}case C.TABLE:{hYt(t,e);break}case C.TBODY:case C.TFOOT:case C.THEAD:{pYt(t,e);break}case C.INPUT:{gYt(t,e);break}case C.CAPTION:{lYt(t,e);break}case C.COLGROUP:{dYt(t,e);break}default:bv(t,e)}}function xv(t,e){switch(e.tagID){case C.TABLE:{t.openElements.hasInTableScope(C.TABLE)&&(t.openElements.popUntilTagNamePopped(C.TABLE),t._resetInsertionMode());break}case C.TEMPLATE:{Ch(t,e);break}case C.BODY:case C.CAPTION:case C.COL:case C.COLGROUP:case C.HTML:case C.TBODY:case C.TD:case C.TFOOT:case C.TH:case C.THEAD:case C.TR:break;default:bv(t,e)}}function bv(t,e){let r=t.fosterParentingEnabled;t.fosterParentingEnabled=!0,bD(t,e),t.fosterParentingEnabled=r}function Pke(t,e){t.pendingCharacterTokens.push(e)}function kke(t,e){t.pendingCharacterTokens.push(e),t.hasNonWhitespacePendingCharacterToken=!0}function pv(t,e){let r=0;if(t.hasNonWhitespacePendingCharacterToken)for(;r<t.pendingCharacterTokens.length;r++)bv(t,t.pendingCharacterTokens[r]);else for(;r<t.pendingCharacterTokens.length;r++)t._insertCharacters(t.pendingCharacterTokens[r]);t.insertionMode=t.originalInsertionMode,t._processToken(e)}var Dke=new Set([C.CAPTION,C.COL,C.COLGROUP,C.TBODY,C.TD,C.TFOOT,C.TH,C.THEAD,C.TR]);function yYt(t,e){let r=e.tagID;Dke.has(r)?t.openElements.hasInTableScope(C.CAPTION)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(C.CAPTION),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=te.IN_TABLE,Bx(t,e)):ji(t,e)}function xYt(t,e){let r=e.tagID;switch(r){case C.CAPTION:case C.TABLE:{t.openElements.hasInTableScope(C.CAPTION)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(C.CAPTION),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=te.IN_TABLE,r===C.TABLE&&xv(t,e));break}case C.BODY:case C.COL:case C.COLGROUP:case C.HTML:case C.TBODY:case C.TD:case C.TFOOT:case C.TH:case C.THEAD:case C.TR:break;default:ED(t,e)}}function CQ(t,e){switch(e.tagID){case C.HTML:{ji(t,e);break}case C.COL:{t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case C.TEMPLATE:{ou(t,e);break}default:yD(t,e)}}function bYt(t,e){switch(e.tagID){case C.COLGROUP:{t.openElements.currentTagId===C.COLGROUP&&(t.openElements.pop(),t.insertionMode=te.IN_TABLE);break}case C.TEMPLATE:{Ch(t,e);break}case C.COL:break;default:yD(t,e)}}function yD(t,e){t.openElements.currentTagId===C.COLGROUP&&(t.openElements.pop(),t.insertionMode=te.IN_TABLE,t._processToken(e))}function _D(t,e){switch(e.tagID){case C.TR:{t.openElements.clearBackToTableBodyContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_ROW;break}case C.TH:case C.TD:{t.openElements.clearBackToTableBodyContext(),t._insertFakeElement(de.TR,C.TR),t.insertionMode=te.IN_ROW,SD(t,e);break}case C.CAPTION:case C.COL:case C.COLGROUP:case C.TBODY:case C.TFOOT:case C.THEAD:{t.openElements.hasTableBodyContextInTableScope()&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE,Bx(t,e));break}default:Bx(t,e)}}function SQ(t,e){let r=e.tagID;switch(e.tagID){case C.TBODY:case C.TFOOT:case C.THEAD:{t.openElements.hasInTableScope(r)&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE);break}case C.TABLE:{t.openElements.hasTableBodyContextInTableScope()&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE,xv(t,e));break}case C.BODY:case C.CAPTION:case C.COL:case C.COLGROUP:case C.HTML:case C.TD:case C.TH:case C.TR:break;default:xv(t,e)}}function SD(t,e){switch(e.tagID){case C.TH:case C.TD:{t.openElements.clearBackToTableRowContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_CELL,t.activeFormattingElements.insertMarker();break}case C.CAPTION:case C.COL:case C.COLGROUP:case C.TBODY:case C.TFOOT:case C.THEAD:case C.TR:{t.openElements.hasInTableScope(C.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY,_D(t,e));break}default:Bx(t,e)}}function Bke(t,e){switch(e.tagID){case C.TR:{t.openElements.hasInTableScope(C.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY);break}case C.TABLE:{t.openElements.hasInTableScope(C.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY,SQ(t,e));break}case C.TBODY:case C.TFOOT:case C.THEAD:{(t.openElements.hasInTableScope(e.tagID)||t.openElements.hasInTableScope(C.TR))&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY,SQ(t,e));break}case C.BODY:case C.CAPTION:case C.COL:case C.COLGROUP:case C.HTML:case C.TD:case C.TH:break;default:xv(t,e)}}function EYt(t,e){let r=e.tagID;Dke.has(r)?(t.openElements.hasInTableScope(C.TD)||t.openElements.hasInTableScope(C.TH))&&(t._closeTableCell(),SD(t,e)):ji(t,e)}function _Yt(t,e){let r=e.tagID;switch(r){case C.TD:case C.TH:{t.openElements.hasInTableScope(r)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(r),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=te.IN_ROW);break}case C.TABLE:case C.TBODY:case C.TFOOT:case C.THEAD:case C.TR:{t.openElements.hasInTableScope(r)&&(t._closeTableCell(),Bke(t,e));break}case C.BODY:case C.CAPTION:case C.COL:case C.COLGROUP:case C.HTML:break;default:ED(t,e)}}function Lke(t,e){switch(e.tagID){case C.HTML:{ji(t,e);break}case C.OPTION:{t.openElements.currentTagId===C.OPTION&&t.openElements.pop(),t._insertElement(e,Ee.HTML);break}case C.OPTGROUP:{t.openElements.currentTagId===C.OPTION&&t.openElements.pop(),t.openElements.currentTagId===C.OPTGROUP&&t.openElements.pop(),t._insertElement(e,Ee.HTML);break}case C.HR:{t.openElements.currentTagId===C.OPTION&&t.openElements.pop(),t.openElements.currentTagId===C.OPTGROUP&&t.openElements.pop(),t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case C.INPUT:case C.KEYGEN:case C.TEXTAREA:case C.SELECT:{t.openElements.hasInSelectScope(C.SELECT)&&(t.openElements.popUntilTagNamePopped(C.SELECT),t._resetInsertionMode(),e.tagID!==C.SELECT&&t._processStartTag(e));break}case C.SCRIPT:case C.TEMPLATE:{ou(t,e);break}default:}}function Mke(t,e){switch(e.tagID){case C.OPTGROUP:{t.openElements.stackTop>0&&t.openElements.currentTagId===C.OPTION&&t.openElements.tagIDs[t.openElements.stackTop-1]===C.OPTGROUP&&t.openElements.pop(),t.openElements.currentTagId===C.OPTGROUP&&t.openElements.pop();break}case C.OPTION:{t.openElements.currentTagId===C.OPTION&&t.openElements.pop();break}case C.SELECT:{t.openElements.hasInSelectScope(C.SELECT)&&(t.openElements.popUntilTagNamePopped(C.SELECT),t._resetInsertionMode());break}case C.TEMPLATE:{Ch(t,e);break}default:}}function SYt(t,e){let r=e.tagID;r===C.CAPTION||r===C.TABLE||r===C.TBODY||r===C.TFOOT||r===C.THEAD||r===C.TR||r===C.TD||r===C.TH?(t.openElements.popUntilTagNamePopped(C.SELECT),t._resetInsertionMode(),t._processStartTag(e)):Lke(t,e)}function vYt(t,e){let r=e.tagID;r===C.CAPTION||r===C.TABLE||r===C.TBODY||r===C.TFOOT||r===C.THEAD||r===C.TR||r===C.TD||r===C.TH?t.openElements.hasInTableScope(r)&&(t.openElements.popUntilTagNamePopped(C.SELECT),t._resetInsertionMode(),t.onEndTag(e)):Mke(t,e)}function IYt(t,e){switch(e.tagID){case C.BASE:case C.BASEFONT:case C.BGSOUND:case C.LINK:case C.META:case C.NOFRAMES:case C.SCRIPT:case C.STYLE:case C.TEMPLATE:case C.TITLE:{ou(t,e);break}case C.CAPTION:case C.COLGROUP:case C.TBODY:case C.TFOOT:case C.THEAD:{t.tmplInsertionModeStack[0]=te.IN_TABLE,t.insertionMode=te.IN_TABLE,Bx(t,e);break}case C.COL:{t.tmplInsertionModeStack[0]=te.IN_COLUMN_GROUP,t.insertionMode=te.IN_COLUMN_GROUP,CQ(t,e);break}case C.TR:{t.tmplInsertionModeStack[0]=te.IN_TABLE_BODY,t.insertionMode=te.IN_TABLE_BODY,_D(t,e);break}case C.TD:case C.TH:{t.tmplInsertionModeStack[0]=te.IN_ROW,t.insertionMode=te.IN_ROW,SD(t,e);break}default:t.tmplInsertionModeStack[0]=te.IN_BODY,t.insertionMode=te.IN_BODY,ji(t,e)}}function CYt(t,e){e.tagID===C.TEMPLATE&&Ch(t,e)}function Wke(t,e){t.openElements.tmplCount>0?(t.openElements.popUntilTagNamePopped(C.TEMPLATE),t.activeFormattingElements.clearToLastMarker(),t.tmplInsertionModeStack.shift(),t._resetInsertionMode(),t.onEof(e)):IQ(t,e)}function TYt(t,e){e.tagID===C.HTML?ji(t,e):xD(t,e)}function $ke(t,e){var r;if(e.tagID===C.HTML){if(t.fragmentContext||(t.insertionMode=te.AFTER_AFTER_BODY),t.options.sourceCodeLocationInfo&&t.openElements.tagIDs[0]===C.HTML){t._setEndLocation(t.openElements.items[0],e);let n=t.openElements.items[1];n&&!(!((r=t.treeAdapter.getNodeSourceCodeLocation(n))===null||r===void 0)&&r.endTag)&&t._setEndLocation(n,e)}}else xD(t,e)}function xD(t,e){t.insertionMode=te.IN_BODY,bD(t,e)}function wYt(t,e){switch(e.tagID){case C.HTML:{ji(t,e);break}case C.FRAMESET:{t._insertElement(e,Ee.HTML);break}case C.FRAME:{t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case C.NOFRAMES:{ou(t,e);break}default:}}function RYt(t,e){e.tagID===C.FRAMESET&&!t.openElements.isRootHtmlElementCurrent()&&(t.openElements.pop(),!t.fragmentContext&&t.openElements.currentTagId!==C.FRAMESET&&(t.insertionMode=te.AFTER_FRAMESET))}function NYt(t,e){switch(e.tagID){case C.HTML:{ji(t,e);break}case C.NOFRAMES:{ou(t,e);break}default:}}function OYt(t,e){e.tagID===C.HTML&&(t.insertionMode=te.AFTER_AFTER_FRAMESET)}function PYt(t,e){e.tagID===C.HTML?ji(t,e):AD(t,e)}function AD(t,e){t.insertionMode=te.IN_BODY,bD(t,e)}function kYt(t,e){switch(e.tagID){case C.HTML:{ji(t,e);break}case C.NOFRAMES:{ou(t,e);break}default:}}function DYt(t,e){e.chars=_n,t._insertCharacters(e)}function BYt(t,e){t._insertCharacters(e),t.framesetOk=!1}function Fke(t){for(;t.treeAdapter.getNamespaceURI(t.openElements.current)!==Ee.HTML&&t.openElements.currentTagId!==void 0&&!t._isIntegrationPoint(t.openElements.currentTagId,t.openElements.current);)t.openElements.pop()}function LYt(t,e){if(yke(e))Fke(t),t._startTagOutsideForeignContent(e);else{let r=t._getAdjustedCurrentElement(),n=t.treeAdapter.getNamespaceURI(r);n===Ee.MATHML?xQ(e):n===Ee.SVG&&(xke(e),bQ(e)),gD(e),e.selfClosing?t._appendElement(e,n):t._insertElement(e,n),e.ackSelfClosing=!0}}function MYt(t,e){if(e.tagID===C.P||e.tagID===C.BR){Fke(t),t._endTagOutsideForeignContent(e);return}for(let r=t.openElements.stackTop;r>0;r--){let n=t.openElements.items[r];if(t.treeAdapter.getNamespaceURI(n)===Ee.HTML){t._endTagOutsideForeignContent(e);break}let s=t.treeAdapter.getTagName(n);if(s.toLowerCase()===e.tagName){e.tagName=s,t.openElements.shortenToLength(r);break}}}var wUr=String.prototype.codePointAt==null?(t,e)=>(t.charCodeAt(e)&64512)===55296?(t.charCodeAt(e)-55296)*1024+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e):(t,e)=>t.codePointAt(e);function Uke(t,e){return function(n){let s,i=0,a="";for(;s=t.exec(n);)i!==s.index&&(a+=n.substring(i,s.index)),a+=e.get(s[0].charCodeAt(0)),i=s.index+1;return a+n.substring(i)}}var qke=Uke(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),jke=Uke(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));var WYt=new Set([de.AREA,de.BASE,de.BASEFONT,de.BGSOUND,de.BR,de.COL,de.EMBED,de.FRAME,de.HR,de.IMG,de.INPUT,de.KEYGEN,de.LINK,de.META,de.PARAM,de.SOURCE,de.TRACK,de.WBR]);function $Yt(t,e){return e.treeAdapter.isElementNode(t)&&e.treeAdapter.getNamespaceURI(t)===Ee.HTML&&WYt.has(e.treeAdapter.getTagName(t))}var FYt={treeAdapter:gc,scriptingEnabled:!0};function TQ(t,e){let r={...FYt,...e};return Hke(t,r)}function UYt(t,e){let r="",n=e.treeAdapter.isElementNode(t)&&e.treeAdapter.getTagName(t)===de.TEMPLATE&&e.treeAdapter.getNamespaceURI(t)===Ee.HTML?e.treeAdapter.getTemplateContent(t):t,s=e.treeAdapter.getChildNodes(n);if(s)for(let i of s)r+=Hke(i,e);return r}function Hke(t,e){return e.treeAdapter.isElementNode(t)?qYt(t,e):e.treeAdapter.isTextNode(t)?HYt(t,e):e.treeAdapter.isCommentNode(t)?QYt(t,e):e.treeAdapter.isDocumentTypeNode(t)?GYt(t,e):""}function qYt(t,e){let r=e.treeAdapter.getTagName(t);return`<${r}${jYt(t,e)}>${$Yt(t,e)?"":`${UYt(t,e)}</${r}>`}`}function jYt(t,{treeAdapter:e}){let r="";for(let n of e.getAttrList(t)){if(r+=" ",n.namespace)switch(n.namespace){case Ee.XML:{r+=`xml:${n.name}`;break}case Ee.XMLNS:{n.name!=="xmlns"&&(r+="xmlns:"),r+=n.name;break}case Ee.XLINK:{r+=`xlink:${n.name}`;break}default:r+=`${n.prefix}:${n.name}`}else r+=n.name;r+=`="${qke(n.value)}"`}return r}function HYt(t,e){let{treeAdapter:r}=e,n=r.getTextNodeContent(t),s=r.getParentNode(t),i=s&&r.isElementNode(s)&&r.getTagName(s);return i&&r.getNamespaceURI(s)===Ee.HTML&&yQ(i,e.scriptingEnabled)?n:jke(n)}function QYt(t,{treeAdapter:e}){return`<!--${e.getCommentNodeContent(t)}-->`}function GYt(t,{treeAdapter:e}){return`<!DOCTYPE ${e.getDocumentTypeNodeName(t)}>`}function Qke(t,e){return Dx.parse(t,e)}function Gke(t,e,r){typeof t=="string"&&(r=e,e=t,t=null);let n=Dx.getFragmentParser(t,r);return n.tokenizer.write(e,!0),n.getFragment()}function Kke(t){let e=t.includes('"')?"'":'"';return e+t+e}function KYt(t,e,r){let n="!DOCTYPE ";return t&&(n+=t),e?n+=` PUBLIC ${Kke(e)}`:r&&(n+=" SYSTEM"),r&&(n+=` ${Kke(r)}`),n}var jd={isCommentNode:_h,isElementNode:st,isTextNode:Va,createDocument(){let t=new _o([]);return t["x-mode"]=dD.DOCUMENT_MODE.NO_QUIRKS,t},createDocumentFragment(){return new _o([])},createElement(t,e,r){let n=Object.create(null),s=Object.create(null),i=Object.create(null);for(let o=0;o<r.length;o++){let c=r[o].name;n[c]=r[o].value,s[c]=r[o].namespace,i[c]=r[o].prefix}let a=new Eh(t,n,[]);return a.namespace=e,a["x-attribsNamespace"]=s,a["x-attribsPrefix"]=i,a},createCommentNode(t){return new xh(t)},createTextNode(t){return new ll(t)},appendChild(t,e){let r=t.children[t.children.length-1];r&&(r.next=e,e.prev=r),t.children.push(e),e.parent=t},insertBefore(t,e,r){let n=t.children.indexOf(r),{prev:s}=r;s&&(s.next=e,e.prev=s),r.prev=e,e.next=r,t.children.splice(n,0,e),e.parent=t},setTemplateContent(t,e){jd.appendChild(t,e)},getTemplateContent(t){return t.children[0]},setDocumentType(t,e,r,n){let s=KYt(e,r,n),i=t.children.find(a=>wk(a)&&a.name==="!doctype");i?i.data=s??null:(i=new bh("!doctype",s),jd.appendChild(t,i)),i["x-name"]=e,i["x-publicId"]=r,i["x-systemId"]=n},setDocumentMode(t,e){t["x-mode"]=e},getDocumentMode(t){return t["x-mode"]},detachNode(t){if(t.parent){let e=t.parent.children.indexOf(t),{prev:r,next:n}=t;t.prev=null,t.next=null,r&&(r.next=n),n&&(n.prev=r),t.parent.children.splice(e,1),t.parent=null}},insertText(t,e){let r=t.children[t.children.length-1];r&&Va(r)?r.data+=e:jd.appendChild(t,jd.createTextNode(e))},insertTextBefore(t,e,r){let n=t.children[t.children.indexOf(r)-1];n&&Va(n)?n.data+=e:jd.insertBefore(t,jd.createTextNode(e),r)},adoptAttributes(t,e){for(let r=0;r<e.length;r++){let n=e[r].name;t.attribs[n]===void 0&&(t.attribs[n]=e[r].value,t["x-attribsNamespace"][n]=e[r].namespace,t["x-attribsPrefix"][n]=e[r].prefix)}},getFirstChild(t){return t.children[0]},getChildNodes(t){return t.children},getParentNode(t){return t.parent},getAttrList(t){return t.attributes},getTagName(t){return t.name},getNamespaceURI(t){return t.namespace},getTextNodeContent(t){return t.data},getCommentNodeContent(t){return t.data},getDocumentTypeNodeName(t){var e;return(e=t["x-name"])!==null&&e!==void 0?e:""},getDocumentTypeNodePublicId(t){var e;return(e=t["x-publicId"])!==null&&e!==void 0?e:""},getDocumentTypeNodeSystemId(t){var e;return(e=t["x-systemId"])!==null&&e!==void 0?e:""},isDocumentTypeNode(t){return wk(t)&&t.name==="!doctype"},setNodeSourceCodeLocation(t,e){e&&(t.startIndex=e.startOffset,t.endIndex=e.endOffset),t.sourceCodeLocation=e},getNodeSourceCodeLocation(t){return t.sourceCodeLocation},updateNodeSourceCodeLocation(t,e){e.endOffset!=null&&(t.endIndex=e.endOffset),t.sourceCodeLocation={...t.sourceCodeLocation,...e}}};function Vke(t,e,r,n){let s={scriptingEnabled:typeof e.scriptingEnabled=="boolean"?e.scriptingEnabled:!0,treeAdapter:jd,sourceCodeLocationInfo:e.sourceCodeLocationInfo};return r?Qke(t,s):Gke(n,t,s)}var VYt={treeAdapter:jd};function zke(t){let e="length"in t?t:[t];for(let n=0;n<e.length;n+=1){let s=e[n];su(s)&&Array.prototype.splice.call(e,n,1,...s.children)}let r="";for(let n=0;n<e.length;n+=1){let s=e[n];r+=TQ(s,VYt)}return r}var Ve;(function(t){t[t.Tab=9]="Tab",t[t.NewLine=10]="NewLine",t[t.FormFeed=12]="FormFeed",t[t.CarriageReturn=13]="CarriageReturn",t[t.Space=32]="Space",t[t.ExclamationMark=33]="ExclamationMark",t[t.Number=35]="Number",t[t.Amp=38]="Amp",t[t.SingleQuote=39]="SingleQuote",t[t.DoubleQuote=34]="DoubleQuote",t[t.Dash=45]="Dash",t[t.Slash=47]="Slash",t[t.Zero=48]="Zero",t[t.Nine=57]="Nine",t[t.Semi=59]="Semi",t[t.Lt=60]="Lt",t[t.Eq=61]="Eq",t[t.Gt=62]="Gt",t[t.Questionmark=63]="Questionmark",t[t.UpperA=65]="UpperA",t[t.LowerA=97]="LowerA",t[t.UpperF=70]="UpperF",t[t.LowerF=102]="LowerF",t[t.UpperZ=90]="UpperZ",t[t.LowerZ=122]="LowerZ",t[t.LowerX=120]="LowerX",t[t.OpeningSquareBracket=91]="OpeningSquareBracket"})(Ve||(Ve={}));var ve;(function(t){t[t.Text=1]="Text",t[t.BeforeTagName=2]="BeforeTagName",t[t.InTagName=3]="InTagName",t[t.InSelfClosingTag=4]="InSelfClosingTag",t[t.BeforeClosingTagName=5]="BeforeClosingTagName",t[t.InClosingTagName=6]="InClosingTagName",t[t.AfterClosingTagName=7]="AfterClosingTagName",t[t.BeforeAttributeName=8]="BeforeAttributeName",t[t.InAttributeName=9]="InAttributeName",t[t.AfterAttributeName=10]="AfterAttributeName",t[t.BeforeAttributeValue=11]="BeforeAttributeValue",t[t.InAttributeValueDq=12]="InAttributeValueDq",t[t.InAttributeValueSq=13]="InAttributeValueSq",t[t.InAttributeValueNq=14]="InAttributeValueNq",t[t.BeforeDeclaration=15]="BeforeDeclaration",t[t.InDeclaration=16]="InDeclaration",t[t.InProcessingInstruction=17]="InProcessingInstruction",t[t.BeforeComment=18]="BeforeComment",t[t.CDATASequence=19]="CDATASequence",t[t.InSpecialComment=20]="InSpecialComment",t[t.InCommentLike=21]="InCommentLike",t[t.BeforeSpecialS=22]="BeforeSpecialS",t[t.SpecialStartSequence=23]="SpecialStartSequence",t[t.InSpecialTag=24]="InSpecialTag",t[t.BeforeEntity=25]="BeforeEntity",t[t.BeforeNumericEntity=26]="BeforeNumericEntity",t[t.InNamedEntity=27]="InNamedEntity",t[t.InNumericEntity=28]="InNumericEntity",t[t.InHexEntity=29]="InHexEntity"})(ve||(ve={}));function Hd(t){return t===Ve.Space||t===Ve.NewLine||t===Ve.Tab||t===Ve.FormFeed||t===Ve.CarriageReturn}function vD(t){return t===Ve.Slash||t===Ve.Gt||Hd(t)}function Yke(t){return t>=Ve.Zero&&t<=Ve.Nine}function zYt(t){return t>=Ve.LowerA&&t<=Ve.LowerZ||t>=Ve.UpperA&&t<=Ve.UpperZ}function YYt(t){return t>=Ve.UpperA&&t<=Ve.UpperF||t>=Ve.LowerA&&t<=Ve.LowerF}var cu;(function(t){t[t.NoValue=0]="NoValue",t[t.Unquoted=1]="Unquoted",t[t.Single=2]="Single",t[t.Double=3]="Double"})(cu||(cu={}));var Xa={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},Lx=class{constructor({xmlMode:e=!1,decodeEntities:r=!0},n){this.cbs=n,this.state=ve.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=ve.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=e,this.decodeEntities=r,this.entityTrie=e?Nk:Rk}reset(){this.state=ve.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=ve.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()}getIndex(){return this.index}getSectionStart(){return this.sectionStart}stateText(e){e===Ve.Lt||!this.decodeEntities&&this.fastForwardTo(Ve.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=ve.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===Ve.Amp&&(this.state=ve.BeforeEntity)}stateSpecialStartSequence(e){let r=this.sequenceIndex===this.currentSequence.length;if(!(r?vD(e):(e|32)===this.currentSequence[this.sequenceIndex]))this.isSpecial=!1;else if(!r){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=ve.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===Ve.Gt||Hd(e)){let r=this.index-this.currentSequence.length;if(this.sectionStart<r){let n=this.index;this.index=r,this.cbs.ontext(this.sectionStart,r),this.index=n}this.isSpecial=!1,this.sectionStart=r+2,this.stateInClosingTagName(e);return}this.sequenceIndex=0}(e|32)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:this.sequenceIndex===0?this.currentSequence===Xa.TitleEnd?this.decodeEntities&&e===Ve.Amp&&(this.state=ve.BeforeEntity):this.fastForwardTo(Ve.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=+(e===Ve.Lt)}stateCDATASequence(e){e===Xa.Cdata[this.sequenceIndex]?++this.sequenceIndex===Xa.Cdata.length&&(this.state=ve.InCommentLike,this.currentSequence=Xa.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=ve.InDeclaration,this.stateInDeclaration(e))}fastForwardTo(e){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===e)return!0;return this.index=this.buffer.length+this.offset-1,!1}stateInCommentLike(e){e===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===Xa.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=ve.Text):this.sequenceIndex===0?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):e!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}isTagStartChar(e){return this.xmlMode?!vD(e):zYt(e)}startSpecial(e,r){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=r,this.state=ve.SpecialStartSequence}stateBeforeTagName(e){if(e===Ve.ExclamationMark)this.state=ve.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===Ve.Questionmark)this.state=ve.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){let r=e|32;this.sectionStart=this.index,!this.xmlMode&&r===Xa.TitleEnd[2]?this.startSpecial(Xa.TitleEnd,3):this.state=!this.xmlMode&&r===Xa.ScriptEnd[2]?ve.BeforeSpecialS:ve.InTagName}else e===Ve.Slash?this.state=ve.BeforeClosingTagName:(this.state=ve.Text,this.stateText(e))}stateInTagName(e){vD(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){Hd(e)||(e===Ve.Gt?this.state=ve.Text:(this.state=this.isTagStartChar(e)?ve.InClosingTagName:ve.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===Ve.Gt||Hd(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=ve.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===Ve.Gt||this.fastForwardTo(Ve.Gt))&&(this.state=ve.Text,this.baseState=ve.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===Ve.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=ve.InSpecialTag,this.sequenceIndex=0):this.state=ve.Text,this.baseState=this.state,this.sectionStart=this.index+1):e===Ve.Slash?this.state=ve.InSelfClosingTag:Hd(e)||(this.state=ve.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===Ve.Gt?(this.cbs.onselfclosingtag(this.index),this.state=ve.Text,this.baseState=ve.Text,this.sectionStart=this.index+1,this.isSpecial=!1):Hd(e)||(this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===Ve.Eq||vD(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=ve.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===Ve.Eq?this.state=ve.BeforeAttributeValue:e===Ve.Slash||e===Ve.Gt?(this.cbs.onattribend(cu.NoValue,this.index),this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e)):Hd(e)||(this.cbs.onattribend(cu.NoValue,this.index),this.state=ve.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===Ve.DoubleQuote?(this.state=ve.InAttributeValueDq,this.sectionStart=this.index+1):e===Ve.SingleQuote?(this.state=ve.InAttributeValueSq,this.sectionStart=this.index+1):Hd(e)||(this.sectionStart=this.index,this.state=ve.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,r){e===r||!this.decodeEntities&&this.fastForwardTo(r)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(r===Ve.DoubleQuote?cu.Double:cu.Single,this.index),this.state=ve.BeforeAttributeName):this.decodeEntities&&e===Ve.Amp&&(this.baseState=this.state,this.state=ve.BeforeEntity)}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,Ve.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,Ve.SingleQuote)}stateInAttributeValueNoQuotes(e){Hd(e)||e===Ve.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(cu.Unquoted,this.index),this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===Ve.Amp&&(this.baseState=this.state,this.state=ve.BeforeEntity)}stateBeforeDeclaration(e){e===Ve.OpeningSquareBracket?(this.state=ve.CDATASequence,this.sequenceIndex=0):this.state=e===Ve.Dash?ve.BeforeComment:ve.InDeclaration}stateInDeclaration(e){(e===Ve.Gt||this.fastForwardTo(Ve.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=ve.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===Ve.Gt||this.fastForwardTo(Ve.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=ve.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===Ve.Dash?(this.state=ve.InCommentLike,this.currentSequence=Xa.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=ve.InDeclaration}stateInSpecialComment(e){(e===Ve.Gt||this.fastForwardTo(Ve.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=ve.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){let r=e|32;r===Xa.ScriptEnd[3]?this.startSpecial(Xa.ScriptEnd,4):r===Xa.StyleEnd[3]?this.startSpecial(Xa.StyleEnd,4):(this.state=ve.InTagName,this.stateInTagName(e))}stateBeforeEntity(e){this.entityExcess=1,this.entityResult=0,e===Ve.Number?this.state=ve.BeforeNumericEntity:e===Ve.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=ve.InNamedEntity,this.stateInNamedEntity(e))}stateInNamedEntity(e){if(this.entityExcess+=1,this.trieIndex=CH(this.entityTrie,this.trieCurrent,this.trieIndex+1,e),this.trieIndex<0){this.emitNamedEntity(),this.index--;return}this.trieCurrent=this.entityTrie[this.trieIndex];let r=this.trieCurrent&fc.VALUE_LENGTH;if(r){let n=(r>>14)-1;if(!this.allowLegacyEntity()&&e!==Ve.Semi)this.trieIndex+=n;else{let s=this.index-this.entityExcess+1;s>this.sectionStart&&this.emitPartial(this.sectionStart,s),this.entityResult=this.trieIndex,this.trieIndex+=n,this.entityExcess=0,this.sectionStart=this.index+1,n===0&&this.emitNamedEntity()}}}emitNamedEntity(){if(this.state=this.baseState,this.entityResult===0)return;switch((this.entityTrie[this.entityResult]&fc.VALUE_LENGTH)>>14){case 1:{this.emitCodePoint(this.entityTrie[this.entityResult]&~fc.VALUE_LENGTH);break}case 2:{this.emitCodePoint(this.entityTrie[this.entityResult+1]);break}case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(e){(e|32)===Ve.LowerX?(this.entityExcess++,this.state=ve.InHexEntity):(this.state=ve.InNumericEntity,this.stateInNumericEntity(e))}emitNumericEntity(e){let r=this.index-this.entityExcess-1;r+2+ +(this.state===ve.InHexEntity)!==this.index&&(r>this.sectionStart&&this.emitPartial(this.sectionStart,r),this.sectionStart=this.index+Number(e),this.emitCodePoint(ZS(this.entityResult))),this.state=this.baseState}stateInNumericEntity(e){e===Ve.Semi?this.emitNumericEntity(!0):Yke(e)?(this.entityResult=this.entityResult*10+(e-Ve.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(e){e===Ve.Semi?this.emitNumericEntity(!0):Yke(e)?(this.entityResult=this.entityResult*16+(e-Ve.Zero),this.entityExcess++):YYt(e)?(this.entityResult=this.entityResult*16+((e|32)-Ve.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===ve.Text||this.baseState===ve.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===ve.Text||this.state===ve.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===ve.InAttributeValueDq||this.state===ve.InAttributeValueSq||this.state===ve.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index<this.buffer.length+this.offset&&this.running}parse(){for(;this.shouldContinue();){let e=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case ve.Text:{this.stateText(e);break}case ve.SpecialStartSequence:{this.stateSpecialStartSequence(e);break}case ve.InSpecialTag:{this.stateInSpecialTag(e);break}case ve.CDATASequence:{this.stateCDATASequence(e);break}case ve.InAttributeValueDq:{this.stateInAttributeValueDoubleQuotes(e);break}case ve.InAttributeName:{this.stateInAttributeName(e);break}case ve.InCommentLike:{this.stateInCommentLike(e);break}case ve.InSpecialComment:{this.stateInSpecialComment(e);break}case ve.BeforeAttributeName:{this.stateBeforeAttributeName(e);break}case ve.InTagName:{this.stateInTagName(e);break}case ve.InClosingTagName:{this.stateInClosingTagName(e);break}case ve.BeforeTagName:{this.stateBeforeTagName(e);break}case ve.AfterAttributeName:{this.stateAfterAttributeName(e);break}case ve.InAttributeValueSq:{this.stateInAttributeValueSingleQuotes(e);break}case ve.BeforeAttributeValue:{this.stateBeforeAttributeValue(e);break}case ve.BeforeClosingTagName:{this.stateBeforeClosingTagName(e);break}case ve.AfterClosingTagName:{this.stateAfterClosingTagName(e);break}case ve.BeforeSpecialS:{this.stateBeforeSpecialS(e);break}case ve.InAttributeValueNq:{this.stateInAttributeValueNoQuotes(e);break}case ve.InSelfClosingTag:{this.stateInSelfClosingTag(e);break}case ve.InDeclaration:{this.stateInDeclaration(e);break}case ve.BeforeDeclaration:{this.stateBeforeDeclaration(e);break}case ve.BeforeComment:{this.stateBeforeComment(e);break}case ve.InProcessingInstruction:{this.stateInProcessingInstruction(e);break}case ve.InNamedEntity:{this.stateInNamedEntity(e);break}case ve.BeforeEntity:{this.stateBeforeEntity(e);break}case ve.InHexEntity:{this.stateInHexEntity(e);break}case ve.InNumericEntity:{this.stateInNumericEntity(e);break}default:this.stateBeforeNumericEntity(e)}this.index++}this.cleanup()}finish(){this.state===ve.InNamedEntity&&this.emitNamedEntity(),this.sectionStart<this.index&&this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){let e=this.buffer.length+this.offset;this.state===ve.InCommentLike?this.currentSequence===Xa.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===ve.InNumericEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===ve.InHexEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===ve.InTagName||this.state===ve.BeforeAttributeName||this.state===ve.BeforeAttributeValue||this.state===ve.AfterAttributeName||this.state===ve.InAttributeName||this.state===ve.InAttributeValueSq||this.state===ve.InAttributeValueDq||this.state===ve.InAttributeValueNq||this.state===ve.InClosingTagName||this.cbs.ontext(this.sectionStart,e)}emitPartial(e,r){this.baseState!==ve.Text&&this.baseState!==ve.InSpecialTag?this.cbs.onattribdata(e,r):this.cbs.ontext(e,r)}emitCodePoint(e){this.baseState!==ve.Text&&this.baseState!==ve.InSpecialTag?this.cbs.onattribentity(e):this.cbs.ontextentity(e)}};var Mx=new Set(["input","option","optgroup","select","button","datalist","textarea"]),nn=new Set(["p"]),Jke=new Set(["thead","tbody"]),Xke=new Set(["dd","dt"]),Zke=new Set(["rt","rp"]),JYt=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",nn],["h1",nn],["h2",nn],["h3",nn],["h4",nn],["h5",nn],["h6",nn],["select",Mx],["input",Mx],["output",Mx],["button",Mx],["datalist",Mx],["textarea",Mx],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",Xke],["dt",Xke],["address",nn],["article",nn],["aside",nn],["blockquote",nn],["details",nn],["div",nn],["dl",nn],["fieldset",nn],["figcaption",nn],["figure",nn],["footer",nn],["form",nn],["header",nn],["hr",nn],["main",nn],["nav",nn],["ol",nn],["pre",nn],["section",nn],["table",nn],["ul",nn],["rt",Zke],["rp",Zke],["tbody",Jke],["tfoot",Jke]]),XYt=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),eDe=new Set(["math","svg"]),tDe=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),ZYt=/\s|\//,Ev=class{constructor(e,r={}){var n,s,i,a,o;this.options=r,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=e??{},this.lowerCaseTagNames=(n=r.lowerCaseTags)!==null&&n!==void 0?n:!r.xmlMode,this.lowerCaseAttributeNames=(s=r.lowerCaseAttributeNames)!==null&&s!==void 0?s:!r.xmlMode,this.tokenizer=new((i=r.Tokenizer)!==null&&i!==void 0?i:Lx)(this.options,this),(o=(a=this.cbs).onparserinit)===null||o===void 0||o.call(a,this)}ontext(e,r){var n,s;let i=this.getSlice(e,r);this.endIndex=r-1,(s=(n=this.cbs).ontext)===null||s===void 0||s.call(n,i),this.startIndex=r}ontextentity(e){var r,n;let s=this.tokenizer.getSectionStart();this.endIndex=s-1,(n=(r=this.cbs).ontext)===null||n===void 0||n.call(r,bx(e)),this.startIndex=s}isVoidElement(e){return!this.options.xmlMode&&XYt.has(e)}onopentagname(e,r){this.endIndex=r;let n=this.getSlice(e,r);this.lowerCaseTagNames&&(n=n.toLowerCase()),this.emitOpenTag(n)}emitOpenTag(e){var r,n,s,i;this.openTagStart=this.startIndex,this.tagname=e;let a=!this.options.xmlMode&&JYt.get(e);if(a)for(;this.stack.length>0&&a.has(this.stack[this.stack.length-1]);){let o=this.stack.pop();(n=(r=this.cbs).onclosetag)===null||n===void 0||n.call(r,o,!0)}this.isVoidElement(e)||(this.stack.push(e),eDe.has(e)?this.foreignContext.push(!0):tDe.has(e)&&this.foreignContext.push(!1)),(i=(s=this.cbs).onopentagname)===null||i===void 0||i.call(s,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var r,n;this.startIndex=this.openTagStart,this.attribs&&((n=(r=this.cbs).onopentag)===null||n===void 0||n.call(r,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,r){var n,s,i,a,o,c;this.endIndex=r;let u=this.getSlice(e,r);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),(eDe.has(u)||tDe.has(u))&&this.foreignContext.pop(),this.isVoidElement(u))!this.options.xmlMode&&u==="br"&&((s=(n=this.cbs).onopentagname)===null||s===void 0||s.call(n,"br"),(a=(i=this.cbs).onopentag)===null||a===void 0||a.call(i,"br",{},!0),(c=(o=this.cbs).onclosetag)===null||c===void 0||c.call(o,"br",!1));else{let l=this.stack.lastIndexOf(u);if(l!==-1)if(this.cbs.onclosetag){let d=this.stack.length-l;for(;d--;)this.cbs.onclosetag(this.stack.pop(),d!==0)}else this.stack.length=l;else!this.options.xmlMode&&u==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=r+1}onselfclosingtag(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var r,n;let s=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===s&&((n=(r=this.cbs).onclosetag)===null||n===void 0||n.call(r,s,!e),this.stack.pop())}onattribname(e,r){this.startIndex=e;let n=this.getSlice(e,r);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(e,r){this.attribvalue+=this.getSlice(e,r)}onattribentity(e){this.attribvalue+=bx(e)}onattribend(e,r){var n,s;this.endIndex=r,(s=(n=this.cbs).onattribute)===null||s===void 0||s.call(n,this.attribname,this.attribvalue,e===cu.Double?'"':e===cu.Single?"'":e===cu.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){let r=e.search(ZYt),n=r<0?e:e.substr(0,r);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(e,r){this.endIndex=r;let n=this.getSlice(e,r);if(this.cbs.onprocessinginstruction){let s=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${s}`,`!${n}`)}this.startIndex=r+1}onprocessinginstruction(e,r){this.endIndex=r;let n=this.getSlice(e,r);if(this.cbs.onprocessinginstruction){let s=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${s}`,`?${n}`)}this.startIndex=r+1}oncomment(e,r,n){var s,i,a,o;this.endIndex=r,(i=(s=this.cbs).oncomment)===null||i===void 0||i.call(s,this.getSlice(e,r-n)),(o=(a=this.cbs).oncommentend)===null||o===void 0||o.call(a),this.startIndex=r+1}oncdata(e,r,n){var s,i,a,o,c,u,l,d,f,p;this.endIndex=r;let m=this.getSlice(e,r-n);this.options.xmlMode||this.options.recognizeCDATA?((i=(s=this.cbs).oncdatastart)===null||i===void 0||i.call(s),(o=(a=this.cbs).ontext)===null||o===void 0||o.call(a,m),(u=(c=this.cbs).oncdataend)===null||u===void 0||u.call(c)):((d=(l=this.cbs).oncomment)===null||d===void 0||d.call(l,`[CDATA[${m}]]`),(p=(f=this.cbs).oncommentend)===null||p===void 0||p.call(f)),this.startIndex=r+1}onend(){var e,r;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let n=this.stack.length;n>0;this.cbs.onclosetag(this.stack[--n],!0));}(r=(e=this.cbs).onend)===null||r===void 0||r.call(e)}reset(){var e,r,n,s;(r=(e=this.cbs).onreset)===null||r===void 0||r.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(s=(n=this.cbs).onparserinit)===null||s===void 0||s.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(e){this.reset(),this.end(e)}getSlice(e,r){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(e-this.bufferOffset,r-this.bufferOffset);for(;r-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,r-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var r,n;if(this.ended){(n=(r=this.cbs).onerror)===null||n===void 0||n.call(r,new Error(".write() after done!"));return}this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++)}end(e){var r,n;if(this.ended){(n=(r=this.cbs).onerror)===null||n===void 0||n.call(r,new Error(".end() after done!"));return}e&&this.write(e),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()}parseChunk(e){this.write(e)}done(e){this.end(e)}};function rDe(t,e){let r=new xx(void 0,e);return new Ev(r,e).end(t),r.root}var eJt=GPe((t,e,r,n)=>e.xmlMode||e._useHtmlParser2?rDe(t,e):Vke(t,e,r,n)),Me=ZPe(eJt,(t,e)=>e.xmlMode||e._useHtmlParser2?Bk(t,e):zke(t)),tJt=Me([]),{contains:rJt}=r0,{merge:nJt}=r0,{parseHTML:sJt}=r0,{root:iJt}=r0;var Sv="abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";function nDe(t,e){return Math.floor(Math.random()*(e-t+1))+t}function Th(t,e,r){var n="";let s=e===void 0?!0:e;for(var i=0;i<t;i++){let a=r?nDe(Sv.length-10,Sv.length-1):nDe(0,s?Sv.length-1:Sv.length-11);n+=Sv[a]}return n}function wQ(){return Th(8).toLowerCase()+"-"+Th(4).toLowerCase()+"-"+Th(4).toLowerCase()+"-"+Th(4).toLowerCase()+"-"+Th(12).toLowerCase()}var sDe="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";var l0="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";function iDe(t,e){return t.trim()==e.trim()?e:e.trim().replaceAll(t,"").replace(/<|>|《|》/g,"").replace(/\$|#/g," ").trim()}function Hi(t){let e=t/1048576;return e>1024?`${(e/1024).toFixed(2)}GB`:`${parseInt(e).toFixed(0)}MB`}function RQ(t,e){if(!t||!e)return{length:0,sequence:"",offset:0};for(var r="",n=t.length,s=e.length,i=new Array(n),a=0,o=0,c=0;c<n;c++){for(var u=new Array(s),l=0;l<s;l++)u[l]=0;i[c]=u}var d=null;for(c=0;c<n;c++)for(l=0;l<s;l++)t[c]!==e[l]?i[c][l]=0:(c===0||l===0?i[c][l]=1:i[c][l]=1+i[c-1][l-1],i[c][l]>a&&(a=i[c][l],d=c-i[c][l]+1,o===d?r+=t[c]:(o=d,r="",r+=t.substr(o,c+1-o))));return{length:a,sequence:r,offset:d}}function ml(t,e){let r=[],n=0;for(let i=0;i<e.length;i++){let a=RQ(t.name,e[i].name);r.push({target:e[i],lcs:a}),a.length>r[n].lcs.length&&(n=i)}let s=r[n];return{allLCS:r,bestMatch:s,bestMatchIndex:n}}function Qd(t){return new Promise(e=>setTimeout(e,t))}var hl=t=>t.map(e=>e.split(";")[0]+";");var lu=Re(vv(),1),Nv=Re(Jn(),1);var DQ=Re(Jn(),1),wh=require("path"),ms=Re(require("fs"),1),m3e=require("stream");async function aJt(t,e){let r=await he.get(t,{responseType:"stream",headers:Object.assign({Range:"bytes=0-0"},e)}).catch(n=>(console.error(n),n.response||{status:500,data:{}}));if(r&&r.status===206){let n=r.headers["accept-ranges"]==="bytes",s=r.headers["content-range"],i=parseInt(r.headers["content-length"]),a=n||!!s||i===1,o=s?parseInt(s.split("/")[1]):i;return delete r.headers["content-range"],delete r.headers["content-length"],o&&(r.headers["content-length"]=o.toString()),[a,r.headers]}else return[!1,null]}var Cv={},p3e="",Rh=(process.env.NODE_PATH||".")+"/vod_cache",oJt=1024*1024*100;async function h3e(t){try{if(ms.default.existsSync(t)){let e=await ms.default.promises.readdir(t);await Promise.all(e.map(async r=>{let n=`${t}/${r}`;(await ms.default.promises.stat(n)).isDirectory()?await h3e(n):await ms.default.promises.unlink(n)})),await ms.default.promises.rmdir(t)}}catch(e){console.error("Error deleting folder:",e)}}h3e(Rh);function cJt(t){try{ms.default.readdir(Rh,(e,r)=>{if(r)for(let n of r){if(n===t)continue;let s=(0,wh.join)(Rh,n);ms.default.stat(s,(i,a)=>{a&&a.isDirectory()&&ms.default.readdir(s,(o,c)=>{if(c)for(let u of c)u.endsWith(".p")||ms.default.rm((0,wh.join)(s,u),{recursive:!0},()=>{})})})}})}catch(e){console.error(e)}}async function uJt(t,e,r,n,s,i){if(n=n||DQ.default.enc.Hex.stringify(DQ.default.MD5(r)).toString(),p3e!==n&&(cJt(n),p3e=n),!Cv[n]){let[P,B]=await aJt(r,s);if(!P||!B["content-length"]){e.redirect(r);return}Cv[n]=B}let a=!0;await ms.default.promises.access((0,wh.join)(Rh,n)).catch(P=>a=!1),a||await ms.default.promises.mkdir((0,wh.join)(Rh,n),{recursive:!0});let o=parseInt(Cv[n]["content-length"]),c=Math.max(0,parseInt(i?.skipBytes||0)||0),u=Math.min(c,Math.max(0,o-1)),l=o-u;if(!Number.isFinite(l)||l<=0){e.redirect(r);return}let d=0,f=l-1,p={};if(t.headers.range){let P=t.headers.range.trim().replace(/^bytes=/i,"").split("-"),B=P[0]!=="",M=P.length>1&&P[1]!=="";if(M){let D=parseInt(P[1],10);Number.isFinite(D)&&(f=D)}if(B){let D=parseInt(P[0],10);Number.isFinite(D)&&(d=D)}if(d=Math.max(0,Number.isFinite(d)?d:0),!M||!Number.isFinite(f)?f=l-1:f=Math.min(l-1,f),d>f){e.code(416),e.headers({"content-range":`bytes */${l}`});return}Object.assign(p,Cv[n]),p["content-length"]=(f-d+1).toString(),p["content-range"]=`bytes ${d}-${f}/${l}`,e.code(206)}else Object.assign(p,Cv[n]),p["content-length"]=l.toString(),e.code(200);i=i||{chunkSize:1024*512,poolSize:10,timeout:1e3*10};let m=i.chunkSize,h=i.poolSize,A=i.timeout,g=u+d,b=u+f,y=Math.ceil(o/m),x=Math.floor(b/m),v=Math.floor(g/m),I=v,R=!1,w={};for(let P=0;P<h&&P<y;P++)new Promise(B=>{(async function M(D){if(R||v>x){B();return}if(D===void 0&&(v-I)*m>=oJt){setTimeout(M,5);return}let L=D!==void 0?D:v++,Z=`${t.id}-${L}`;try{let W=(0,wh.join)(Rh,n,`${t.id}-${L}.p`),F=!0;if(await ms.default.promises.access(W).catch(K=>F=!1),!F){let K=L*m,j=Math.min(o-1,(L+1)*m-1),J=await he.get(r,{responseType:"stream",timeout:A,headers:Object.assign({Range:`bytes=${K}-${j}`},s)}),se=(0,wh.join)(Rh,n,`${t.id}-${L}.dl`),oe=ms.default.createWriteStream(se),ue=setTimeout(()=>{oe.destroy(new Error(`${Z} read timeout`))},A),Ie=new Promise(qe=>{oe.on("finish",async()=>{R?await ms.default.promises.rm(se).catch(Fe=>console.error(Fe)):(await ms.default.promises.rename(se,W).catch(Fe=>console.error(Fe)),w[Z]=W),qe(!0)}),oe.on("error",async Fe=>{console.error(Fe),await ms.default.promises.rm(se).catch(_e=>console.error(_e)),qe(!1)})});J.data.pipe(oe);let we=await Ie;if(clearTimeout(ue),!we){setTimeout(()=>{M(L)},15);return}}setTimeout(M,5)}catch(W){console.error(W),setTimeout(()=>{M(L)},15)}})()});e.headers(p);let N=new m3e.PassThrough;return new Promise(P=>{let B=!0;(async function M(){try{if(I>x||R){N.end(),P();return}if(!B){setTimeout(M,5);return}let D=`${t.id}-${I}`;if(!w[D]){setTimeout(M,5);return}let L=I*m,Z=Math.min(o-1,(I+1)*m-1),W=Math.max(g,L)-L,K=Math.min(b,Z)-L-W+1,j=w[D];delete w[D];let J=await ms.default.promises.open(j,"r");if(K<=0){await J.close().catch(oe=>console.error(oe)),await ms.default.promises.rm(j).catch(oe=>console.error(oe)),I++,setTimeout(M,5);return}let se=Buffer.alloc(K);await J.read(se,0,K,W),await J.close().catch(oe=>console.error(oe)),await ms.default.promises.rm(j).catch(oe=>console.error(oe)),B=N.write(se),B||N.once("drain",()=>{B=!0}),I++,setTimeout(M,5)}catch{setTimeout(M,5)}})()}),N.on("close",async()=>{Object.keys(w).forEach(P=>{P.startsWith(t.id)&&(ms.default.rm(w[P],{recursive:!0},()=>{}),delete w[P])}),R=!0}),N}var Wx=uJt;var F3e=Re(R3e(),1);var SXt=["\u9884\u544A"],vXt=t=>{if(!t)return!1;let e=String(t);return SXt.some(r=>e.includes(r))};function N3e(t){let e=/(E|EP)0?([1-9]\d*).*/.exec(t);if(e)return Number(e[2]);let r=/.*?([1-9]\d*).*/.exec(t);return r?Number(r[1]):null}function O3e(t){return t.replace(/\.[^.]+$/,"").replace(/^(S\d+)?E?P?\d+\.?/i,"")}function P3e(t){return t==null?"":String(t)}function IXt(t,e){let r=P3e(t),n=P3e(e);return r===n?0:r.localeCompare(n,void 0,{numeric:!0,sensitivity:"base"})}function Ps(t,e){let r={};return e.length===0||(e=e.filter(n=>!vXt(n?.vod_name)),e.length===0)||(e.sort((n,s)=>{let i=IXt(n.vod_group,s.vod_group);if(i!==0)return i;let a=N3e(n.vod_name),o=N3e(s.vod_name);if(a!==null&&o!==null&&a!==o)return a-o;let c=O3e(n.vod_name),u=O3e(s.vod_name);return c!==u?c.localeCompare(u):a!==null&&o!==null?a-o:n.vod_name.localeCompare(s.vod_name)}),e=e.map(n=>{let s=Hi(n.vod_size);return{vod_id:n.vod_id,vod_name:iDe("",` ${n.vod_name.replace(/.[^.]+$/,"")} [${s}]`)}}),r.from=t,r.url=e.map(n=>n.vod_name+"$"+n.vod_id).join("#")),r}async function Xn(t,e,r={}){let n=(Array.isArray(t)?t:[t]).filter(Boolean).map(o=>String(o).trim()).filter(o=>o.length>0);if(n.length===0)return"";let s=Number(r?.timeoutMs)>0?Number(r.timeoutMs):5e3,i=Array.isArray(r?.methods)&&r.methods.length>0?r.methods:["HEAD","GET"],a={"User-Agent":l0,...e&&typeof e=="object"?e:{}};return await new Promise(o=>{let c=!1,u=f=>{c||(c=!0,o(f))},l=setTimeout(()=>u(n[0]),s*i.length+200),d=async f=>{for(let p of i)try{let m=await Ae.request({url:f,method:p,headers:a,proxy:!1,timeout:s,maxRedirects:5,validateStatus:()=>!0});if(m?.status>=200&&m.status<400){clearTimeout(l),u(f);return}}catch{}};n.forEach(f=>{d(f)})})}var gl=t=>globalThis.getPanEnabled?globalThis.getPanEnabled(t):!0,l3=t=>gl("ali")&&/www.alipan.com|www.aliyundrive.com/.test(t),d3=t=>gl("quark")&&t.includes("https://pan.quark.cn"),f3=t=>gl("uc")&&t.includes("https://drive.uc.cn"),k3e=t=>gl("tianyi")&&/cloud\.189\.cn/.test(t),D3e=t=>gl("yidong")&&/caiyun\.139\.com|yun\.139\.com/.test(t),B3e=t=>gl("123")&&/(?:www\.)?(?:123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)/.test(t),L3e=t=>gl("115")&&(/115.com|anxia.com|115cdn.com/.test(t)||/^(?:magnet:\?|ed2k:\/\/)/i.test(String(t||"").trim())),M3e=t=>gl("baidu")&&/pan\.baidu\.com/.test(t),W3e=t=>gl("xunlei")&&/pan\.xunlei\.com/.test(t),$3e=t=>gl("guangyapan")&&/guangyapan\.com\/s\//.test(t);var Ut=Ss;(function(t,e){let r=Ss,n=t();for(;;)try{if(-parseInt(r(439,"3AZo"))/1+parseInt(r(484,"L83n"))/2+-parseInt(r(1032,"l5&D"))/3*(parseInt(r(950,"66US"))/4)+-parseInt(r(589,"]mj0"))/5*(parseInt(r(925,"*Ewm"))/6)+parseInt(r(940,"c)HT"))/7*(-parseInt(r(850,"yim#"))/8)+-parseInt(r(625,"t2gG"))/9+parseInt(r(809,"erUG"))/10*(parseInt(r(934,"!pe*"))/11)===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(p3,-103030+12*48322+-84559*1);function p3(){let t=["g0Xw","smotW4JcV8kT","WO5VzWJcNCovW5dcTxeE","WQa/B8omrmkvWQVcI8kkka","AmowW4xcVSk1WRddHKLC","WPqdWOFcM08","W4KLbcGc","pSofeq","W6n9xG","jCoYW6/dOmkeWOLzgCokfW","rbpdQwldU8o8","aSk+WO7dGG","EIRcM2tdGG","W7qJC8kXbW","DfpdH8o5","W4FdV8ohyW","fSkYWPhdLYldH2pdRa","WQyNtSoLW4pdRmknrW","W5lcOmohWONcQq","WQXUuYJcNW","EHFdJSkbhmkmWOZdLN5O","W7dcI8of","WPaTW6hcPsXs","WObQDG4","W5WXhtiehqlcUCoTWRa","CtmEECoc","WQxcQCo+WONcNrmi","gmoZjG","W63cNCoCWPZcSNdcR29eW5W","WQ0TaCorW5xdPG","WRG0a8ozW4RdSmkIW6WADq","WQ44eSoeW43dPG","E8o7WQlcPve","W7ZdSKhdTMu","WRn1mX5U","x8oxkSk5ia","W4FdUCoa","W5xdUmocC3O","W4hdHNhdI1y","W43dHSoyth8","WO8ayITJs8kdsNPq","WOqJWQlcScvjW6pcJL4C","kY3cTcG","W7dcJSouWQxcShFcTa","W6r/b8o+W5BdPSkMW5K","W7W8W5dcJxVdMwhdGq","mSkMvbpcHG7cGtjiW6G","WRxcQCo2WONcRsuCtMNdTq","w8oEWOlcO0e","AmkVW4pdQCk+WQjQlG","WPHfofi","b8ksW7/cINFdMK9/oxC","WQZcN8o+WOxcSq4","tHNdQ2hdQSoM","W6VcGCoLWQpcTG","jmk9W6lcNuu","kSoLhCkUWOC","cmkBW64","FsLvDCoDCam7fSoT","fCo9W5uCaW","CKJdMmoXiCkbpa","it3cUq","WRTseH5/","CCkfuq","WO1wkK/dHee","C8oCW5/cTmkFWR3dVq","WPaGW5xcPIC","y8oGpCk9","WQpdKCkDW7CM","tSkynIW","W57dSSobka","WOawpCokWQy","WPC6lmoEWOuItG","WPj3yXtcVSo1W5G","WQqXDSoir8k5","oCo4W6BdG8kNn8o1BwlcKW","WOCKW63cTeZdISksvConWPO","WPmYrSoRW4u","WReKuSoatSkVWRdcOSkika","p8ojcr/dNxG","mLtcSSo4","WQyEwrjZ","WQ4LcCov","c8kiWO7dJJ7dNq","zmobW63cVSk3WRRdTufshG","qmkWW68/kq","pCkvW6aKFZxdOSkr","Fmo4WQVcKeO4ca","W79xEGWP","W4ldR8ofyK0SW5hdIaG","netcSSoFWObsWPfaq1C","W6Syx8kt","C8ksW64Fja","WQG8f8orW4ZdSmk1W6WsBW","omoDzJ3cHa","W48qDmkvba","as4wWP/cTG","WRfip1hdRG","FmkgW7uMiW","qxVcGCogzv9RW5pcPhu","w8k/W54","WONcS8o0WPJcKa","WR/dOCktW4yS","FSksvSkoWOS","WO1Eka","FGVdJmkbgmkmW7W","BtqEzSkEFH86pmo7","WRJdTCkMW4SS","WPj6CbdcVSoo","CSkfxSkCWOSbWO4","W5hdImo8xNq","lCoUrJpcLHpcHsnyW4K","W6RdVfJdSx0","gmobgSkHWOS","nJmi","W5WNcsGHeqxcJG","AZmx","smk6W4eqmSkTWPa","DZdcVKZdKCoFWQG","nSoqabtdI2JdNseQWRa","bGu5WOtcSa","sSkxW5GZda","WO4hBc0","DeddNmoZg8kC","ztdcP2ZdNG","WQfseInZ","lSohdCkZ","W5xdV8obyG","WOaGjmoAWOu","zfpdH8oIgW","v8kBgWVdPq","bWy5WPZcSW","WOHJW6dcVr/dKSklv8ktWPO","nmknW703","oK/cRCk/WOvDWOb8rhS","n8o+W67dTCk3WOfj","W6OXW4lcKgddIfldKhFdOW","W6ZdS3W","BXRdJCka","kCoAW5xcUSoeW4rEW7uOnW","jJhcTIxcG8oIsWJdNCoq","iwtdM8kzjtpcN8kmWOJcMG","vSoeW7JcSmkA","W4rSrIW8","mZOO","gSovW4/dOmk/","WPuIW5lcPqtdGSkqxG","WR5+WOtdIsFcMdZcLhJdL8oaWOKWfq","AmogW6JcO8kYWRxdOa","WPqRW6NcQa","WP/dOSkA","aYyG","lf/cImoyx8oyWPddHgjodK8","D8oWWRpcLN0","BqRdJCkyaCkhWQddHW","W6NdVMhdOa","trddI0ZdNq","evpcNmo7WRO","WOKAAG","zdhcPxe","dImJWPVcMa","W4JdUmoDjq","kCoSw8odW6nPt8o8ymoR","hh/dVmkWhq","d8odddxdGa","CCo0WQK","pmk4WQRdSYu","m8oxWOpcR8o3W4bgW7iTnG","Amo0WRtcMMaJd8olWQ/cLW","bMxdL8kxoq","W6GqqSkCleG","AfxdMSoKdCosD8kBWPxcQq","WRGkzaLr","l8oWW7JdLCoT","qby1E8oH","W7ZdPwtdIhC","WQ48h8ozW4W","EsSs","WPf+CbxcVG","WPHbpY5j","W7lcL8oHWQlcJa","WPJdV8kzW7a","WRWOaCozW47dSmo+W4vbna","W6VcNCovWOxcRhtcUh5oW4C","WPLscvldMG","WRy/cGjQDSo+W5ldRv0","v8o/W4KcbW","xSo4W40","aSotymogW7C","W5e9gsSfqL7dIq","nSoiWRlcRmo/","jd06WPBcQYL2","W6mLWOJcJMddHhNdGq","FSoOi8kXoG","gXb5","ECk7beZdHuJcOYzzW4ympq","WPeSW4lcUHu","Ce3dH8oNcG","WOW3lmoiWOuzwq","W6mGpYnUBmozW4O","ymogW5RcUmkNWRO","y03dH8oXemkCb8oDWOy","hmoAW4xdK8oV","W5BdPCoaFW","gmk7DSoBjG","EsSsnmovDG0GlCo7","WPe8jmou","W7auuCkzjeKa","WO4nCdzZzSkuqe5r","WPy9hZOyc14","cSkgWQ/dIqG","pmoyfrpdPNNdGruMWRa","WQm2d11DvSk4W5KdW7ax","bSotW5BdMCkC","W6pdVNJdPa","WOeMWOlcS30","WRi5AmomDCkJWRS","qY7dLfxdIa","DYxdMmkdia","WPCXW6NcUcypW7JdJ1Wz","WRmPc8oeW6FdUmkWW4eyFG","omodbH/dP2/dRt4GWRu","FI/cQwFdTSovWQW7B2C","zmkMftVdKG","W64EjriJ","W7FdImoVnCkj","iJSFWOFcHIL8bq","E8ksmd7dMa","f0flW6rU","vCoRWOtcJf0","W6/cQSojWPRcUW","n8kMW6uUyc4","C1xdNmo9emkpmCosWPS","lmkwW7OZ","pmoAgmkPWPJdG0W","WPmfCbff","oCoIxri","CSobWONcUmkhW4LiW7COFa","WPj3yXtcVSoJW5xcTa","W6ONW5e","DCkUgmkcWQnRi8kPFSoXafa","pYRcQq","fvbAW6LaW5z/yqu8","dmoBWOpcK8o8","W4/dR8or","omktW6C/qa","o8k0zCoSrslcPmkWd8ocW4zL","ttmDla","xSkyid0","w8oiW5SrkG","W7JdRxK","g27dHmkZlG","W7KDwCkElvqgWRpcT8oL","yCkHnCk1aMdcLq","oCoBwSoRW7e","uGNdTM4","h8kEW6lcIxJdM090g3W","W6v7vH4EAa","iYZcPs3cRW","WRXXfqi","pq7cRmoJWO1w","W4xcVSkuW60k","g0tcVG","k2tdGCkzvstcGSkDWP8","sCkYiGddOq","iCoIW7hdUa","WPy1WPFcVMy","vqq9ECoG","pxJdNSku","pwhdHmkpdG","g8oAxmoLW4q","W4W7aq","WOG+W4dcOWtdISkh","WOHRzWVcQa","WQu9qmoJW4NdHSkg","lmoLW6VdLmo8kmolD2lcPa","WQ8LbCovW6FdVmk1","WOjntrhcTa","W4pdPmoq","W70jqmkum14SWQpcGCoV","WQC1ASon","DSo4WRhcKeOLhSopWP7cGa","WRTJorvPySoI","p2JdNSktdZxcJSkiWRNcJq","W6jGEWuCFSkEW6SOW4W","W6xdJCohbmkp","eGejWPdcHW","W4pdSSodyLWSW5hdLqv+","lSkRBmoopW","p8o5xG","WPeNt8oUyq","WPiMCI1S","tI3dImkLpq","gmodjHVdOG","tqZdOgJdMmoNWP7dHCoHFG","Emo0WRtcGvGWgmonWPG","DvldI8oMrmkkoCohWOFdSG","o8ogfmk3","WQ05amoy","iCotaCkoWQO","W4ZdQmowoq","WODCbxddQW","WQSPaCoVW4ZdRCkLWO4sDW","WROPb8oGW5NdU8kFW5iEFG","W5KeFWRcMa","W5aaqCkrda","bSoKpmkrWRq","mmoIW7BdUa","AwVdUSoFka","EGdcOgddG8oi","WPXjo18","B8o/WQ7cJq","pmkwFmoBgWJdRmoilhO","bmo6WQ7cNmom","W7XhFcK/","hmkfW6S","p8ojcX4","lIRcQtBcUq","amksW7dcOvJdM090dxS","k8kpDmoF","j8ogdCkRWO7cSaFdNCo2W7S","W77dTM/dPa","vXldRh4","W40MitqbhqpcPCoLWQ0","W7hcJmofWPZcRq","Amo0WQpcNgC0d8oA","FI4xCCoUCb4","W788W4hcKq","wCkspZNdMCkVdmkDW6tcGa","W58GaZ8","v2dcNSovlG","W7GQlJOa","w8kMW4mD","oCkFWPpcTmoBW5K","nmo0W7pdLq","m8o9xmoCW6uHa8k2umo/","W483rCkuiW","W6S8W4hcRNG","BdusEq","WQaPDmom","WReWvq","W6BdJmoegSk+","C0NdJ8oMg8kHpa","DmoaWORcM1a","W70qvmorj1iFWRldKSoJ","k8oqEmk8WPSCWR/dSq","c8kwW7tcMX7cGW","WRDhzd7cIa","W6JdSSoxk8ku","ldCuWRNcSa","WR3dSCkYW6WH","igzJWOdcNcfGbZKX","EaRdISk4d8khWP3dG3PG","i27dImkYdYRcJ8kiWPq","WPaTW6hcTbzjW6q","WQ8PamoFW43dP8kYW5ySFW","W5pdRCoap8kznrK0WPpcOa","WRdcPCoGWPRcPWG","WQaxhSoV","BSkpvmkDWOaSWONdO1FdQq","Ft8lFCodFaKreCoN","e0rlW68","WRLUwWm","W6VcMCo9WOFcNW","WRxcL8oKWQRcSW","W47dTmotnmkanre","emoYW4/dVCk4","BtJdV8kWba","iSo/sbNcUa","WQ9OkLVdHW","k2hdJmkB","W7bGrs8kEmke","WRKqv8ojW5y","E8ketCkrWPGwW5ldRbxcOW","WOyReSoFWOGkwf8","AmkfwCkkWOSaWPxdHvpdOW","FSo0mSkSg2dcGmkV","CSotWO7cR8oaW4jvW6K8nG","jYyDWQdcMW","WRzIerf+","smk2W4qAgmk2WPDRkSo8","W5JcOCoeWRDsW73cSxPVWRe/WQqh","FCklW5yuaG","omkrEq","tSk8W6qbh8kTWPPP","WQZcJ8oBWRxcRW","W77dVhy","lSkmE8oEgta","c8oGW5VdTCo7","amkbW6lcT0BdKue","w2BcG8otoayRWPhdQNy","WPabB8oZW5S","o8oBWPFcVSo3W4rd","jZNcSa","r2dcNSoo","p0RcOmotWQK","g1vlW68","AuxdMSo8","x8kypt0","vCoBj8kHbW","jSoghmk2WO4","dGiVWQpcSG","WPKCrZzXESkBsNbr","kZVcOYxcR8oLzH3dNmoi","WQa/smogxCkVWQ3cSCkBpG","WPG0r8o9W40","WOr5zIpcRW","aSoreSkqWRW","omk5W63dOmkeWOfEcmk7dW","n8o+W7NdKG","WOa6WORcPq","gSknuCoPgW","DJRcUa","lSogW5VcSSoVWQFdReXhvq","pmoIvHNcMYBcKdjjW7S","WO9vpW","ntSOWPRcMIDnfGCU","arRcUJJcVq","lenwW4Hs","BKddG8oX","rdZcLSopiKvXW5ddR3e","vX7dJ8keiW","lCo4W7ZdG8oxmSo4","o8o4W6VdVG","WR0JCa","o8o7W6tdNSoB","WRa0smo9W4NdQW","WOuHWPdcTq","WPD9CrhcVG","W6VcNCoxWP7cU2lcS1vVW5O","WOj8wIdcKa","W4OShY0tcI7cK8o3WRS","W6y6W4y","eaNcOqVcVq","W7JcM8osWONcRwlcHh50W54","WQPvzIlcLq","ySoAW43cTa","yvtcUCo6aq","WOX9CalcRW","dvldP2/dSa","WRW1zCont8k4WQW","WPb1grv+Cq","W5G6hJirfG","WPrXAX4","umoeW6lcQCkz","gSobesRdTwS","pSovWO/cQ8oJ","FtdcR2JdHmovWQ8W","rmkbn2FdLSkHfCox","W4JdUmoiiCkZpqe0W6pcRG","ndCoWRFcTG","k8offrBdTx/dLW","gSoAsY7cKa","WP7dV8kDW6ek","FCo0WRm","ymohW4ZcJSk0WRVdSKTD","ldhcRcxcG8oZqr3dLSon","WOyXWPhcQ2SO","WQuDcmo6WRq","kmkuW4tcN14","v0FcUSoUaq","WOaZoCon","W5hdPmoBwvS","lSoBWOJcSSoG","WRCcpSoFWRK","lSkCW7OOzIJdTmkqW700","WQlcO8oXWONcSqKZsgpdQa","W6rQrauEACkpW40wW5S","W7W5W57cKgy","WOTEDZpcQq","W407bdy","WPFcR8ouWO/cSq","WQRcTmo3WOhcSq","m8oBW6tdRSo9","W5ldPCoyBKa","WR4Rb8oaW7m","eLtcSSo/W4jzWOfxxZm","W6vMramJ","WOqHWORcVMufz8kOWR5Z","CCoeW78BdKS","iSo5w8owW7C8eSkQ","WO9TzHdcVa","h1HpW650W5PmCem2","CSoqW78t","WQf1hWP+BCoVW5i","CSoaW78mbKO","WPqVo8o2W7e","qSkxCSk8WQO","oCo+uaG","uhVcO8ooaa","ox/dMmkz","oSoWWOhcKCop","WRKLrmo/W6RdPSkotSkwBa","Amo4WRhcKeO4ca","W707W53cIYG","bHaBWRJcMa","pHW5WOlcPa","oSoafq","ACo5WQBcH3ayca","WO18iSoCWOWcwu4wpq","pN3dGCkvdG","WRuJD8oatCkK","WRWkW6VcLa0","EcVcQwtdGW","nmoQqW","W4OMad4","sCkwjIG","WRCXrCoJW4NdVmkr","rNZcNSoB","WPKZW6m","lmosda","W4K8hJm","ddm/WQlcJa","WRDOhqq","i8o+W7tdTCk3WOfj","BmoIm8k9awFcS8k+lSo5","WRdcQmoZWP7cPYuyu2FdPG","W6OyrSkyhLix","iSo5w8oqW7G","DmoxW6e","A8kNWR3cL8k7y8oFzgFcPSo9iW","nKlcSSk/","fCktyCoHbG","WQmSW7lcTedcNW","f8k/WOpdLsJdOhq","oCoUuW7cLXhcScfEW6W","p8kWySoRrcddLCkog8oZW5jhhG","BWpdL8kBgG","WOWDCde","xmk8W5Srcmk2","bNJdLCk1kG","CteEoSosDHC","WQFdRCoIWP7cRq4d","qxVcGCogffvG","p2tdM8kzjs7cIq","B8kovSka","B8oIeSkCma","WOyGWOlcR3OPrSkOWQ5+","W5FdICocxei","W64AxCkvaG","WODalLtdRLXlq8kxkq","WPzAvdlcSG","pmogba/dUgG","W6VdRxRdRa","kCopfG4","WRmYvmoJW4a","x8kRW4CCh8kHWQT6hmo1","DmohW4a","WQ7dGmkNW6ic","bCk0WOhdGJ7dMK/dVsGK","W6Syq8kucq","WQ8fWPVcRhS","k2tdGCkzjs7cIq","FCoToCkRbG","W5NdS8klmmkZnqWKW5lcOW","eCkKWOFdLwldJNxdVqm9","WPHrovVdHuy","fCo9W5Pggmo8","owldVSkicc7cG8kk","lmo0W6VdLmoRm8omF2tcRq","od3cSY/cQCoKwGZdRmoh","W6VcNCobWOdcV3lcVG","W4JdR8ompa","l8oxWP/cSSoAW4HeW7q","WPFcPSogWQJcQG","WO3cQSktyCoQAurHW5RcNGldQduM","lZtcPttcUq","WPPxzfVdHfXesSoxma","WQz2rrZcSq","WPaTW6hcTbzfW7JcLLqh","W5OKWPhcSNyJpSkGWRz/","e8oYW6pdOSknWPO","WRPKdbDOoCk0WO7dUf4","AIiDyCocFa","n8ocWPFcJCo7","W60dxa","C0tdICo5g8kglmoh","xdhcUK/dGG","WRdcTmoZWP7cTGK7vxJdQW","W4evvCkpnG","pSoYW6NdG8o7kmodANNcPW","WP4nCc1lDCkdrNK","W5JcV8kxW6ChWQBdVvbbW78","W79/FqqF","W7NdSh7dPfO","iuJcSmo1W4XBWPToghW","BmoXimk0g3FcJCk+kmo9","xxtcMa","WP4nv8ovW64","p8kgzSoihZNdQCoe","imoTw8oB","omo0W74","lmoscq","B8oJWQS","rWJdK2/dUSoRWP3dSmk8Fa","DsiFFCoqsH8/dCoS","l1ldNmo3uCkApCoqWOVcRa","D8omW6KFda","BSofW4ZcV8kgWR3dTuSChq","jZ3cSZpcVCoXxa","WPmbWRpcT3q","W6vQvHGiC8k8W4K7W54","EmkjumkkWPq","W5xdVSosEvO6W5NdIbH7","WRHNDG3cNq","AHlcSSoEWOXlWOnj","BSoiWRXXiw7dUmkVW7aMiNS","uSk2W5yrcmk2WOC","W5COad4","A8oMWQBcSvS","dKBdOSkjhq","WPiOu8oItq","s8ofWRhcNfm","W5ecbJuL","WRDOca5PzSoeW5xdSem","osZcSINcSSoX","WQqWrCo4W57dQSkbx8oMFq","BmoQe8kHbG","fSokdCkWWRS","cCklW6u","i8oBd8k+WQldVLRcK8o5W7G","odhcTIxcG8o/xq","FSkbs8kz","bCkIWPBdJ2ldNgpdRdu8","jIyPWPxcNtG","a03cH8oAWOa","WOldPmkcW7q","W7hcJmofWPZcRsVdTcv6W4u","W4/dRCojomkR","wc7dKxZdIW","WQqhBCouW4y","pwldNSki","aSk+WOZdGW","g8ooDIZcKW","pmkWaCkaixNcOmkn","ktFcPcNcSSoXzH3dKSoq","WQy1ymoawmkVWRZcHG","WPmzBIfC","WOWFkfVdHfLfr8oBlG","lSouW77dKCoI","W6/cISoLWO/cMG","W4eJx8k7jW","BSo+WPtcGwC4aSoj","jCkFWP3cTmoAW5PgW7iInG","vCoJW5BcL30","WOi7BSosW5G","medcSSoZWOO","pCosdaZdSq","DNNcS8osdW","iSo3s8ow","CYZdN3BdNW","jCo5w8os","WR01C8o2wSkMWR7cI8kLja","W6/dPMhdPhGGWPBdTSoqWO4","EGVdNCkmna","l8oxWOJcTmoDW59eW6uznW","W73dKLJdQKq","rH3dSwC","W6OEx8kj","sSkYW4ugca","j0tcQ8oGWO5zWObgAhO","BmojhmkifG","p8otc8k6WPddUq","mmo1iSkTfY/dJmkUm8o7","WPmyzJDaFCkBqd5z","WO8CyI1J","WONdV8ksW60kWQ4","W73cISoyWPRcUW","kmocjXldPG","urxdTM/dLG","AZmAymoeAG","W6RcJmodWOxcShBcSMXI","W4DLW5BdQZXUFSkBWOHGW718","WO7dOSkFW7ib","o8oaemk2","nmoVW7BdOSkj","WOiLW7tcVX3dUmkxq8ks","WQCLbSoHWOy","nCknW6WQya","WOm3W6JcOXzjW6q","n8obcb8","B8kvue7cOYRdUJabWO7dNIC","WPPvkK7dJq","WQORbCokW6G","rCkdjJNdHSo0v8oxW5tcMq","DLBcVCoKjW","vbBdKSkLoW","Amo3W4pcQmkK","DHRcN2RdHa","fvfsW79C","WRZcRKtdMwCOWRtdLG","WR52BadcTa","zK7dGSoWg8kAeCoq","vCkKW5K","WOi2W6tcVa","DIeu","zSkPW4VdN8oEeCoBta","zmoXgSk2bG","lmkmW7OV","W7ZcLSovWP/cIxJcR2i","omoUqrpcGqVcGYvZW6K","gmksCmo6oa","eCo5qCoa","WPj3yXtcVSoSW4VcTa","vetcR8oqda","WR07qa","W7BdUCkQW5VdTdC4tuBdJmoO","WPqJW6xcTbddGSkqxmkt","yIRcRN3dMCoiWQW7","WQf4grv+sSo/","av/dLmk2ma","W4a5W5FcL1pdMhNdJd7dIW","pSoHW6ZdSCok","WPRdPCkfW6W","WPT7grb9","WQC8tSoDza","CCoaW5RcUq","WOJdVSoa","WPiQW7NcMGu","WPHFjfBdU1XDqW","WOjWzG/cTCoB","wGesFCo+","hCkyW6ZcM0BdQfP0iNC","W6S7W5VcJ3FcGNVcLtdcVG","WPCQgmoPWPe","WP7dICkpW5Wt","o8oxfmkRWPhdQ1ZcL8oiW7W","gCojyCoCW4a","WOy9WPFcUa","hmkdW6hdHG","WPK0ASovW4e","WOSayI0","cSocW7/dKSog","WRq3WQdcVhG","o8ofW6NdQSkU","W5BdQ8obEeS","WO4bDtWOD8kysd5u","WOaXWRhcMvO","WQK1a8ov","dmkfW7xcKvO","E8oOnCkViNJcJCkZcmo8","W6jQwHOhESkyW40wW5y","W58Gat4Peru","WRiNsmoNW4K"];return p3=function(){return t},p3()}var H3e=async t=>{let e=Ss;return globalThis[e(547,"l5&D")]?await globalThis[e(596,"PPq4")](t):t};function CXt(){let t=Ss;return(globalThis[t(946,"L83n")]||[])[t(560,"*Ewm")](r=>r[t(1049,"6)p7")]===t(1088,"J)[o"))||{}}function Q3e(t){let e=Ss,r={KBzxa:function(n,s){return n(s)},pDoFa:function(n,s){return n||s}};return r[e(661,"6)p7")](String,r[e(1109,"J)[o")](t,""))[e(744,"fq[@")](",")[-2897+-2897*-1][e(714,"$HhF")]()}function U3e(t){let e=Ss;return{TqQSs:function(n,s){return n(s)}}[e(632,"c)HT")](Q3e,t)[e(695,"*Ewm")](/^\w+:\/\//,"")[e(872,"erUG")]("/")[-103*-87+4073*2+-17107][e(938,"Y)yb")]()}function Ss(t,e){let r=p3();return Ss=function(n,s){n=n-(-8150+-1777*-1+6753);let i=r[n];if(Ss.OXhLTJ===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};Ss.PqeeAc=l,t=arguments,Ss.OXhLTJ=!0}let o=r[0],c=n+o,u=t[c];return u?i=u:(Ss.Lqwxjl===void 0&&(Ss.Lqwxjl=!0),i=Ss.PqeeAc(i,s),t[c]=i),i},Ss(t,e)}function TXt(t){let e=Ss,r={AcCav:function(u,l){return u(l)},aRQSV:e(887,"NEJh")+e(577,"NEJh"),MCFmQ:e(1034,"3AZo")+e(776,"66US"),KuxIP:e(433,"$HhF"),YRoFf:e(568,"p)02"),ajePD:e(1121,"yim#"),ZQxqu:function(u,l){return u(l)}},n=r[e(575,"$HhF")](String,t?.[e(729,"%T3)")]?.[e(751,"Qx%e")]?.()?.[e(559,"%sKo")]||"")[e(582,"o%qk")](),s=r[e(537,"*Ewm")](U3e,t?.[e(851,"J)[o")]?.[r[e(461,"TBbP")]]),i=s||r[e(703,"%sKo")](U3e,t?.[e(442,"Or9[")]?.[e(653,"c)HT")]);if(!i)return n;let a=r[e(977,"p@yA")](Q3e,t?.[e(1097,"]mj0")]?.[r[e(511,"o%qk")]]),o=n[e(781,"p@yA")](r[e(774,"fq[@")])?r[e(885,"tS!P")]:r[e(1020,"bizp")];return(a||r[e(795,"p@yA")](String,t?.[e(1005,"Qx%e")]||"")[e(638,"3zTb")]()||o)+e(431,"IO11")+i}function wXt(t){let e=Ss,r={zlIBP:function(n,s){return n(s)},akCyt:function(n,s){return n??s}};return Nv.default[e(1092,"5v4*")][e(506,"t06k")][e(476,"9)DA")](Nv.default[e(438,"bUVl")](r[e(1118,"9sdl")](String,r[e(861,"s6oL")](t,""))))[e(802,"fq[@")]()}function q3e(t,e=11242+109*-103){let r=Ss,n={QTviF:function(i,a){return i(a)},PQuwD:function(i,a){return i||a},vbswe:function(i,a){return i<a},QBvMS:function(i,a){return i-a},gcMpI:function(i,a,o){return i(a,o)},RFNYJ:function(i){return i()}},s=n[r(856,"bizp")](String,n[r(1108,"bUVl")](t,""))[r(397,"bizp")](/x-oss-expires=(\d+)/i);return s?n[r(672,"Y3Ac")](n[r(536,"PPq4")](n[r(1100,"!pe*")](parseInt,s[-32*-167+-2548+-1*2795],1*115+315*1+-70*6),n[r(681,"3zTb")](lu.default)[r(779,"]mj0")]()),e):!1}function G3e(t){let e=Ss,r={ToFcs:e(685,"x(]*"),qzqIC:function(s,i){return s+i},VZDxd:function(s){return s()}};if(!t?.[e(710,"66US")+"en"])return{};let n={...t};return n[e(1068,"t06k")]||=(n[e(966,"%sKo")]||r[e(715,"66US")])+" "+n[e(793,"IO11")+"en"],!n[e(523,"tS!P")+"e"]&&n[e(1012,"$HhF")]&&(n[e(726,")3Hd")+"e"]=r[e(419,"!pe*")](r[e(430,"%T3)")](lu.default)[e(752,"3zTb")](),n[e(604,"o%qk")])),n}function RXt(t){let e=Ss,r={BrZkX:function(n,s){return n!==s},sBjDh:e(951,"mS5d"),pMMkp:e(590,"%sKo"),BFiiO:e(973,"%sKo")};return t?r[e(401,"t06k")](typeof Buffer,r[e(1113,"x(]*")])?JSON[e(979,"!8I4")](Buffer[e(787,"!pe*")](t,r[e(900,"!pe*")])[e(628,"J)[o")](r[e(965,"o%qk")])):JSON[e(417,"c)HT")](Nv.default[e(522,"!8I4")][e(767,"mS5d")][e(903,"J)[o")](t)[e(470,"bUVl")](Nv.default[e(483,"4%*V")][e(491,"o%qk")])):null}function K3e(t){let e=Ss,r={XptYv:e(642,"9sdl")},n=/https:\/\/www\.alipan\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?|https:\/\/www\.aliyundrive\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?/,s=n[e(757,"x(]*")](t);return s?{shareId:s[1259*-1+1492+-232]||s[-1900+-2*-952],folderId:s[-128+300*14+-1*4069]||s[-5840+1*8081+-2235]||r[e(766,"$fs8")]}:null}var NXt=Ut(564,"7oLE")+Ut(1120,"mS5d")+Ut(775,"o%qk"),OXt=Ut(406,"L83n")+Ut(1046,"o%qk")+Ut(980,"3rkV")+Ut(967,"4%*V"),p0={},PXt=[Ut(488,"erUG"),Ut(1024,"!8I4"),Ut(630,"!pe*"),Ut(1104,"o%qk"),Ut(541,"7oLE")],Ov=Ut(606,"O6A$"),V3e=Ut(1112,"#(BC"),z3e=Ut(1107,"*Ewm")+Ut(935,"Y3Ac"),j3e=Ut(689,"*Ewm"),sn={},m0={},Ux=null,Al=null,ZQ="",kh="",m3={"User-Agent":l0,Referer:Ut(415,"9)DA")+Ut(664,"3zTb")+Ut(692,"9sdl")};async function Pv(t){let e=Ut,r={djnxS:function(a,o){return a(o)},wBOUZ:function(a,o){return a(o)},AOEVT:function(a,o){return a(o)}};Ux=t[e(1096,"Y3Ac")].db;let n=t[e(701,"p@yA")][e(631,"$fs8")]?.[e(1045,"%sKo")]||{},s=await Ux[e(1099,"3AZo")+e(786,"*Ewm")](Ov,{});ZQ=r[e(489,"yim#")](wXt,n[e(718,"!8I4")]),kh=r[e(1098,"!8I4")](String,s[V3e]||"")[e(938,"Y)yb")]()||r[e(702,"Or9[")](String,s[ZQ]||"")[e(918,"7oLE")]()||r[e(669,"c)HT")](String,n[e(697,"t2gG")]||"")[e(1002,"9)DA")]();let i=await Ux[e(1078,"t06k")+e(1052,"5v4*")](Ov+"/"+z3e,{});m0=r[e(1036,"bizp")](G3e,i)}async function kXt(t){let e=Ut,r={RVzaR:function(n,s){return n(s)},GiGzj:function(n,s){return n||s}};kh=r[e(1023,"s6oL")](String,r[e(812,"Y3Ac")](t,""))[e(806,"erUG")](),kh&&(await Ux[e(542,"l5&D")](Ov+"/"+V3e,kh),await Ux[e(671,"p@yA")](Ov+"/"+ZQ,kh))}async function DXt(t){let e=Ut;m0={kuWmr:function(n,s){return n(s)}}[e(1e3,"#(BC")](G3e,t),m0[e(824,"c)HT")+"en"]&&await Ux[e(957,"t2gG")](Ov+"/"+z3e,m0)}async function h3(t,e,r,n){let s=Ut,i={htzeL:function(u,l){return u||l},Eggzi:s(1093,"PPq4"),KXvew:function(u,l){return u||l},PlAJb:function(u,l){return u===l},lRCLF:function(u,l){return u>l},ZvZKu:function(u,l){return u(l)},jAuUr:function(u,l,d,f,p){return u(l,d,f,p)},IVEJI:function(u,l){return u-l}};r=i[s(612,"3AZo")](r,{});let a=t[s(822,"66US")](i[s(1065,"Qx%e")]);Object[s(686,"$HhF")](r,m3),a&&sn[s(1030,"6)p7")]&&Object[s(745,"Mwi6")](r,{Authorization:sn[s(576,"J)[o")]});let o=await he[s(875,"fq[@")](NXt+"/"+t,e,{headers:r})[s(510,"p@yA")](u=>u[s(833,"$fs8")]||{status:500,data:{}}),c=i[s(1006,"p)02")](n,-4789*-1+3240+-8026);return i[s(869,"t06k")](o[s(914,"o%qk")],-15*-13+2380+-2146)&&i[s(1001,"tS!P")](c,2*185+-6*-1123+-1777*4)?(await i[s(1069,"3rkV")](Qd,-163*-17+3*1769+1*-7078),i[s(713,"Y3Ac")](h3,t,e,r,i[s(550,"7oLE")](c,8210+1*-973+-67*108))):o[s(901,"TBbP")]||{}}async function Ac(t,e,r,n){let s=Ut,i={EDJGl:function(c,u){return c||u},eWduz:function(c,u){return c||u},nrdvg:function(c,u){return c===u},vkmhC:function(c,u){return c>u},jRkzF:function(c,u){return c(u)},QqKxY:function(c,u,l,d,f){return c(u,l,d,f)},vWvFq:function(c,u){return c-u}};r=i[s(929,"3zTb")](r,{}),m0[s(1011,"Y3Ac")]&&Object[s(444,"MeVL")](r,{Authorization:m0[s(551,"pLbL")]});let a=await he[s(788,"*Ewm")](OXt+"/"+t,e,{headers:r})[s(762,"L83n")](c=>c[s(398,"PPq4")]||{status:500,data:{}}),o=i[s(1044,"7oLE")](n,5534+1*8516+-14047);return i[s(725,"Y3Ac")](a[s(501,"O6A$")],1018*5+342*15+-9791)&&i[s(783,"tS!P")](o,1385+3326*3+1*-11363)?(await i[s(978,"pLbL")](Qd,1e3),i[s(688,"MeVL")](Ac,t,e,r,i[s(608,"66US")](o,705*-5+-4531+-8057*-1))):a[s(866,"]mj0")]||{}}async function eG(){let t=Ut,e={RcqFW:function(r,n){return r<n},vrTcD:function(r,n){return r-n},IAksB:function(r){return r()},wnhRu:t(634,"3zTb")+t(383,"NEJh")+t(1087,"3zTb")+t(826,"t2gG")+t(828,"!pe*"),cROwo:t(619,"]mj0")+t(409,"bizp"),XVcPF:function(r,n){return r===n},qbBhr:function(r,n){return r(n)}};if(kh&&(!sn[t(923,"Y)yb")]||e[t(387,"O6A$")](e[t(884,"p)02")](sn[t(1008,"PPq4")+"e"],e[t(1056,"t2gG")](lu.default)[t(654,"p@yA")]()),1*-7925+-4224+1*12269))){let r=await he[t(477,"yim#")](e[t(706,"!8I4")],{refresh_token:kh,grant_type:e[t(521,"Y3Ac")]},{headers:m3})[t(890,"t06k")](n=>n[t(1004,"IO11")]||{status:500,data:{}});e[t(645,"bUVl")](r[t(1019,"l5&D")],-461*1+-1095+4*439)&&(sn=r[t(399,"!pe*")],sn[t(790,"J)[o")+"e"]=e[t(912,"*Ewm")](lu.default,r[t(399,"!pe*")][t(523,"tS!P")+"e"])[t(450,"Or9[")](),sn[t(640,")3Hd")]=sn[t(991,"Mwi6")]+" "+sn[t(759,"s6oL")+"en"],await e[t(428,"5v4*")](kXt,sn[t(673,"p)02")+t(1051,"]mj0")]))}}async function Y3e(){let t=Ut,e={KBMpW:function(r,n){return r>=n},jHKCT:function(r,n){return r-n},KUJdV:function(r){return r()},rRLEj:function(r,n){return r<n},KJdDN:function(r,n){return r-n},XQNoP:function(r){return r()},HXvDB:t(871,"p)02")+t(743,"Or9[")+t(811,"5v4*")+t(429,"x(]*"),MqQND:t(1074,"yim#"),QPZpA:t(496,"tS!P")+"o",SPssY:t(734,"fq[@"),biorz:t(928,"9sdl")+t(798,"erUG")+t(829,"t06k")+t(867,"IO11")+t(621,"NEJh"),iBjyd:t(540,"9)DA")+t(1064,"mS5d")+t(588,"tS!P")+t(436,"4%*V"),qrQSo:t(445,"9)DA"),ZmVkI:t(860,"Qx%e")+"ri",edcdZ:t(909,"3rkV"),hKknS:t(680,"MeVL"),UXccV:t(830,"s6oL")+t(504,"t06k"),WqQaZ:t(720,"t06k")+t(670,"Qx%e"),srqxT:t(816,"x(]*")+t(652,"pLbL")+t(1029,"Y)yb")+t(882,"5v4*"),ryTOh:t(675,"$HhF")+t(907,"s6oL")+t(546,"l5&D")+t(992,"MeVL"),DbgPW:function(r,n){return r(n)},apfWB:t(815,"pLbL"),ZQaKa:function(r,n){return r+n},LYdJb:function(r){return r()},PDWKl:function(r){return r()},jplVS:function(r,n){return r(n)},aWdFA:t(955,"4%*V")+t(738,"4%*V")};if(!(m0[t(465,"*Ewm")+"en"]&&e[t(389,"pLbL")](e[t(558,"O6A$")](m0[t(531,"!8I4")+"e"],e[t(469,"erUG")](lu.default)[t(403,"#(BC")]()),-107*-80+9205+-17645))&&((!sn[t(834,"L83n")]||e[t(874,"Qx%e")](e[t(679,"Y3Ac")](sn[t(858,"x(]*")+"e"],e[t(418,"o%qk")](lu.default)[t(566,"TBbP")]()),-1*-9445+19*398+-16947))&&await e[t(971,"L83n")](eG),!!sn[t(1114,"7oLE")]))try{let r=await he[t(995,"*Ewm")](e[t(832,"Qx%e")],{params:{driver:e[t(1007,"Y3Ac")],driver_txt:e[t(894,"TBbP")],server_use:e[t(708,"Or9[")]}}),n=new URL(r[t(895,"L83n")]?.[t(405,"erUG")]),s=await he[t(447,"!8I4")](e[t(846,"]mj0")],{authorize:1,scope:e[t(1050,"x(]*")]},{params:{client_id:n[t(803,"c)HT")+"ms"][t(659,"5v4*")](e[t(622,"bUVl")]),redirect_uri:n[t(845,"O6A$")+"ms"][t(835,"c)HT")](e[t(493,"%T3)")]),scope:e[t(931,"MeVL")],state:n[t(769,"3AZo")+"ms"][t(656,"#(BC")](e[t(898,"PPq4")]),response_type:e[t(857,"$HhF")]},headers:{...m3,"Content-Type":e[t(448,"$fs8")],Authorization:sn[t(1003,"!8I4")]}}),i=s[t(705,"Or9[")]?.[t(427,"p)02")+"i"],a=i?.[t(472,")3Hd")](/code=([a-zA-Z0-9]+)/)?.[147*-10+9249+-2*3889];if(!a)throw new Error(e[t(386,"MeVL")]);let o=await he[t(584,"Qx%e")](e[t(1025,"!8I4")],{params:{code:a},headers:{Cookie:e[t(1042,"p)02")],"User-Agent":l0},maxRedirects:0,validateStatus:l=>l>=5862+-19*298&&l<-1*2813+-245*26+-7*-1369}),c=o[t(684,"Mwi6")]?.[t(691,"#(BC")]?.[t(712,"4%*V")]("#")[8134+55*-105+-2358],u=e[t(416,"3rkV")](RXt,c);if(u?.[t(647,"6)p7")+"en"]){let l={...u,auth:(u[t(603,"]mj0")]||e[t(956,"c)HT")])+" "+u[t(678,"p)02")+"en"],expire_time:u[t(1018,"l5&D")]?e[t(677,"6)p7")](e[t(1026,"!pe*")](lu.default)[t(687,"Y3Ac")](),u[t(455,"*Ewm")]):e[t(585,"erUG")](e[t(739,"bUVl")](lu.default)[t(654,"p@yA")](),7200)};await e[t(818,"NEJh")](DXt,l)}}catch(r){console[t(983,"%sKo")](e[t(993,"p@yA")],r[t(843,"6)p7")])}}async function BXt(){let t=Ut,e={UqeBH:function(n,s,i){return n(s,i)},XwMDD:t(784,"5v4*")+t(1009,"p)02"),RePOH:function(n,s){return n>s},ccXFK:t(736,"Qx%e")+t(810,"6)p7")};if(!Al||!sn[t(917,"t2gG")]?.[t(709,"yim#")+t(1105,"J)[o")])return;let r=await e[t(945,"$fs8")](Ac,e[t(731,"]mj0")],{drive_id:sn[t(911,"p)02")][t(944,"3AZo")+t(778,"fq[@")],parent_file_id:Al,limit:100});if(Array[t(516,"mS5d")](r[t(747,"#(BC")])&&e[t(1095,"t2gG")](r[t(716,"66US")][t(1041,"TBbP")],2*-4411+1*-78+-50*-178))for(let n of r[t(1013,"o%qk")])await e[t(1090,"t2gG")](Ac,e[t(674,"Y3Ac")],{drive_id:sn[t(1117,"9)DA")][t(711,"O6A$")+t(666,"c)HT")],file_id:n[t(1014,"66US")]})}async function LXt(){let t=Ut,e={oqmxZ:function(o,c,u){return o(c,u)},kLkGQ:t(1094,"o%qk")+t(633,"%sKo"),fUPjz:t(908,"3rkV")+t(668,"Mwi6"),olNJC:t(902,"tS!P"),dUMMJ:t(1081,"l5&D"),qCqWl:t(602,"Or9["),PQyRd:function(o,c,u){return o(c,u)},qEtwj:t(466,"#(BC")+t(926,"5v4*"),nNqtj:t(817,"o%qk"),xCuXa:t(998,"TBbP")};if(!sn[t(1077,"!8I4")])return null;if(Al)return Al;let r=await e[t(933,")3Hd")](Ac,e[t(1027,"!8I4")],{});if(!r[t(624,"J)[o")+t(865,"6)p7")])return null;sn[t(891,"*Ewm")]=r;let n=r[t(452,"3rkV")+t(761,"tS!P")],s=await e[t(881,"3rkV")](Ac,e[t(844,"p@yA")],{drive_id:n,parent_file_id:e[t(545,"5v4*")],limit:100,order_by:e[t(704,"3zTb")],order_direction:e[t(782,"!8I4")]}),i=Array[t(392,"MeVL")](s[t(747,"#(BC")])?s[t(644,"7oLE")][t(573,"$HhF")](o=>o[t(458,"!pe*")]===j3e):null;return i?.[t(796,"fq[@")]?(Al=i[t(570,"o%qk")],Al):(Al=(await e[t(696,"3AZo")](Ac,e[t(883,"c)HT")],{check_name_mode:e[t(535,"3rkV")],drive_id:n,name:j3e,parent_file_id:e[t(400,"TBbP")],type:e[t(498,"L83n")]}))[t(1075,"bizp")]||null,Al)}async function tG(){let t=Ut,e={omsHC:function(r){return r()},YPbUP:function(r){return r()},ZgsQx:function(r,n,s){return r(n,s)},XZwyu:t(799,"IO11")+t(1031,"p)02")};if(await e[t(479,"3rkV")](eG),await e[t(529,"erUG")](Y3e),!sn[t(623,"x(]*")]?.[t(527,"fq[@")+t(435,"bUVl")]){let r=await e[t(756,"bUVl")](Ac,e[t(643,"s6oL")],{});r[t(709,"yim#")+t(777,"3zTb")]&&(sn[t(561,"6)p7")]=r)}return sn[t(574,"3zTb")]?.[t(412,"bizp")+t(609,"erUG")]||""}async function MXt(t){let e=Ut,r={lJnHu:function(i){return i()},wEVTi:function(i,a){return i||a},vRxve:function(i,a,o){return i(a,o)},CwKMf:e(842,"MeVL")+e(1072,"MeVL")+e(395,"bUVl")},n=await r[e(717,"c)HT")](tG);if(r[e(785,"Y3Ac")](!n,!t))return null;let s=await r[e(474,"p)02")](Ac,r[e(921,"Or9[")],{file_id:t,drive_id:n});return s?.[e(533,"3AZo")]?s:null}async function WXt(t){let e=Ut,r={iJTKV:function(a){return a()},JNfED:function(a,o){return a||o},LRyJJ:function(a,o,c){return a(o,c)},wgvzP:e(486,")3Hd")+e(838,"TBbP")+e(984,"s6oL")+"fo",iXMfB:e(385,"fq[@")+e(910,"t2gG"),sxUEq:e(548,"5v4*")},n=await r[e(552,"9)DA")](tG);if(r[e(746,"Y)yb")](!n,!t))return null;let s=await r[e(954,"fq[@")](Ac,r[e(927,"l5&D")],{file_id:t,drive_id:n,category:r[e(1076,"O6A$")],url_expire_sec:r[e(968,"Or9[")]}),i=s?.[e(658,"3AZo")+e(562,"%sKo")+e(939,"o%qk")];return i?.[e(722,"p@yA")+e(1071,"IO11")]??i?.[e(384,"6)p7")+e(879,"6)p7")+e(475,"yim#")]??null}async function J3e(t,e=Ut(1110,"3rkV"),r=""){let n=Ut,s={paCkc:function(o,c){return o(c)},Xwohl:function(o){return o()},OzCyH:function(o,c,u){return o(c,u)},KhzkC:n(990,"Y3Ac")+n(676,"4%*V"),FxWKg:function(o,c){return o||c},IQGrg:n(425,"t2gG"),TnOCt:n(663,"9)DA"),tYyXw:n(949,"3rkV"),koPNR:function(o,c){return o||c},TorzK:function(o,c){return o(c)}};await s[n(440,"mS5d")](Pv,t);let i=await s[n(404,"bUVl")](tG);if(!i)return{items:[],next_marker:""};let a=await s[n(473,"bizp")](Ac,s[n(413,"fq[@")],{drive_id:i,parent_file_id:s[n(855,"Mwi6")](e,s[n(467,"9sdl")]),limit:200,order_by:s[n(889,"Qx%e")],order_direction:s[n(969,"t2gG")],marker:s[n(424,"p)02")](r,"")});return{items:Array[n(526,"x(]*")](a?.[n(922,"yim#")])?a[n(517,"Y3Ac")]:[],next_marker:s[n(592,"erUG")](String,a?.[n(464,"l5&D")+"r"]||""),drive_id:i}}async function X3e(t){let e=Ut,r={Ikawf:function(n,s){return n<s},dEpIT:function(n,s){return n-s},WFuib:function(n){return n()},FTNbw:function(n,s,i){return n(s,i)},zRTzU:e(595,"bUVl")+e(1122,"t06k")+e(699,"MeVL"),DPQff:function(n,s){return n(s)}};if(!p0[t[e(1060,"Or9[")]]||r[e(958,"x(]*")](r[e(508,"9sdl")](p0[t[e(518,"Qx%e")]][e(380,"4%*V")+"e"],r[e(580,"tS!P")](lu.default)[e(555,"bizp")]()),120)){delete p0[t[e(1061,"Y3Ac")]];let n=await r[e(635,"Qx%e")](h3,r[e(873,"TBbP")],{share_id:t[e(586,"9)DA")],share_pwd:t[e(947,"Y3Ac")]||""});n[e(380,"4%*V")+"e"]&&(n[e(858,"x(]*")+"e"]=r[e(792,"t2gG")](lu.default,n[e(790,"J)[o")+"e"])[e(566,"TBbP")](),p0[t[e(953,"x(]*")]]=n)}}async function $Xt(t){let e=Ut,r={GXaao:function(o,c,u,l){return o(c,u,l)},KylMU:e(617,"]mj0")+e(1063,"c)HT")+e(618,"Or9["),sgxKs:e(852,"$HhF"),aHLPd:e(1015,"*Ewm"),MnvFr:function(o,c){return o||c},sisiH:function(o,c){return o===c},VXfXS:e(773,"J)[o"),nQMnE:e(999,"IO11"),Ifanm:e(841,"%T3)"),WnDQk:function(o,c){return o<c},bcBDB:function(o,c){return o*c},zcXJD:function(o,c,u){return o(c,u)},oEvXz:e(859,"6)p7"),cgtpK:function(o,c){return o(c)},Wsczv:function(o,c,u){return o(c,u)},gBzJg:function(o,c){return o>c}},n=r[e(794,"tS!P")](typeof t,r[e(616,"Qx%e")])?r[e(719,"l5&D")](K3e,t):t;if(!n)return[];if(await r[e(690,"NEJh")](X3e,n),!p0[n[e(768,"IO11")]])return[];let s=[],i=[],a=async(o,c,u)=>{let l=e,d=await r[l(626,"J)[o")](h3,r[l(930,"PPq4")],{share_id:o,parent_file_id:c,limit:200,order_by:r[l(962,"mS5d")],order_direction:r[l(905,"s6oL")],marker:r[l(821,"#(BC")](u,"")},{"X-Share-Token":p0[o][l(1028,"3rkV")+"n"]}),f=d[l(502,"6)p7")];if(!f)return[];if(d[l(1039,"%sKo")+"r"]){let m=await r[l(613,"5v4*")](a,o,c,d[l(411,"NEJh")+"r"]);for(let h of m)f[l(755,"$HhF")](h)}let p=[];for(let m of f)if(r[l(913,"TBbP")](m[l(583,"Mwi6")],r[l(591,"Y3Ac")]))p[l(571,"4%*V")](m);else if(r[l(437,"s6oL")](m[l(554,"5v4*")],r[l(587,"bizp")])&&r[l(707,"NEJh")](m[l(724,"L83n")],r[l(989,"MeVL")])){if(r[l(655,"$fs8")](m[l(1070,"l5&D")],r[l(694,"bUVl")](r[l(780,"s6oL")](14*-631+-2114+146*82,167*55+-1*-2167+-10328),5)))continue;m[l(1055,"s6oL")]=m[l(924,"*Ewm")][l(805,"p)02")](/玩å¶å“¥.*ã€ç¥žç§˜çš„哥哥们】/g,""),s[l(382,"PPq4")](m)}else r[l(721,"O6A$")](m[l(982,"l5&D")],r[l(454,"IO11")])&&m[l(700,"6)p7")+l(480,"3AZo")]&&PXt[l(749,"$HhF")](h=>m[l(813,"Y)yb")+l(1079,"tS!P")][l(943,"p)02")](h))&&i[l(960,"MeVL")](m);for(let m of p){let h=await r[l(1073,"J)[o")](a,m[l(482,"Y3Ac")],m[l(796,"fq[@")]);for(let A of h)f[l(1038,"5v4*")](A)}return f};return await r[e(1101,"7oLE")](a,n[e(742,"bizp")],n[e(936,"9)DA")]),r[e(735,"NEJh")](i[e(1041,"TBbP")],9381+1*-4229+28*-184)&&s[e(1106,"#(BC")](o=>{let c=e,u=r[c(593,"bUVl")](ml,o,i);u[c(825,"3rkV")]&&(o[c(952,"#(BC")]=u[c(539,"bizp")][c(1111,"9)DA")])}),s}var Ph={};async function Z3e(t,e){let r=Ut,n={YxtkF:function(i){return i()},QixHT:function(i){return i()},EkDqD:function(i,a){return i(a)},cHyvO:function(i,a,o,c){return i(a,o,c)},raLkA:r(426,"l5&D")+r(507,"fq[@")};if(await n[r(1085,"5v4*")](eG),await n[r(862,"7oLE")](Y3e),await n[r(848,"Y3Ac")](LXt),!Al||!sn[r(1091,"]mj0")]?.[r(599,"l5&D")+r(520,"l5&D")])return null;if(Ph[e])return Ph[e];await n[r(487,"NEJh")](BXt);for(let i of Object[r(578,"c)HT")](Ph))delete Ph[i];if(await n[r(892,"3zTb")](X3e,{shareId:t}),!p0[t])return null;let s=await n[r(532,"$fs8")](h3,n[r(607,"p)02")],{file_id:e,share_id:t,auto_rename:!0,to_parent_file_id:Al,to_drive_id:sn[r(1117,"9)DA")][r(579,"L83n")+r(1053,"MeVL")]},{"X-Share-Token":p0[t][r(760,"66US")+"n"]});return s[r(1123,"pLbL")]?(Ph[e]=s[r(460,"Mwi6")],s[r(598,"Y)yb")]):null}async function rG(t,e,r=!0){let n=Ut,s={slJtN:function(u,l){return u===l},lkfCK:n(753,"Y)yb"),mbrdt:function(u,l){return u(l)},WaDhE:function(u,l,d){return u(l,d)},naxUW:n(600,"erUG")+n(1066,"Mwi6")+n(500,"%sKo")+"fo",WzZlB:n(525,"bizp")+n(964,"Y3Ac"),QrQLg:n(888,"IO11"),ueRDT:function(u,l){return u&&l},rVTAp:function(u,l,d,f){return u(l,d,f)}};if(s[n(959,"Mwi6")](t,s[n(639,"t06k")]))return await s[n(682,"Y3Ac")](WXt,e);let i=await s[n(594,"t2gG")](Z3e,t,e);if(!i||!sn[n(987,"Qx%e")]?.[n(804,"6)p7")+n(737,"bizp")])return null;let a=await s[n(1083,"tS!P")](Ac,s[n(543,"7oLE")],{file_id:i,drive_id:sn[n(574,"3zTb")][n(709,"yim#")+n(609,"erUG")],category:s[n(1084,"bUVl")],url_expire_sec:s[n(407,"fq[@")]}),o=a?.[n(1035,"66US")+n(896,"Mwi6")+n(831,"3zTb")],c=o?.[n(556,"$fs8")+n(1040,"66US")]??o?.[n(864,"7oLE")+n(660,"bUVl")+n(553,"#(BC")]??null;return s[n(981,"p@yA")](!c,r)?(delete Ph[e],s[n(1082,"3AZo")](rG,t,e,!1)):c}async function eBe(t,e,r=!0){let n=Ut,s={USutN:function(o,c){return o===c},Vebwm:n(937,"J)[o"),QRuoG:function(o,c){return o(c)},WWHIU:function(o,c,u){return o(c,u)},OaKDm:function(o,c,u){return o(c,u)},dusWj:n(538,"TBbP")+n(646,"3rkV")+n(863,"yim#"),IcHFI:function(o,c,u,l){return o(c,u,l)}};if(s[n(976,"c)HT")](t,s[n(471,"9sdl")]))return await s[n(1119,"bUVl")](MXt,e);let i=await s[n(468,"$HhF")](Z3e,t,e);if(!i||!sn[n(1116,"Or9[")]?.[n(899,"NEJh")+n(1048,"9)DA")])return null;let a=await s[n(974,"Qx%e")](Ac,s[n(581,"4%*V")],{file_id:i,drive_id:sn[n(911,"p)02")][n(579,"L83n")+n(758,"pLbL")]});return a[n(394,"t2gG")]?a:r?(delete Ph[e],s[n(730,"l5&D")](eBe,t,e,!1)):null}async function tBe(t){let e=Ut,r={WDTIt:function(i,a){return i(a)},YHUGd:function(i,a){return i(a)},efdEt:function(i,a){return i(a)},dDpfF:function(i,a,o){return i(a,o)},Nafla:function(i,a){return i(a)},DUEcs:e(421,"o%qk")};if(!r[e(457,"pLbL")](l3,t))return null;let n=r[e(557,"NEJh")](K3e,t);if(!n)return null;let s=await r[e(650,"Y3Ac")]($Xt,n);return s=s[e(637,"6)p7")](i=>{let a=e;return{vod_id:[i[a(482,"Y3Ac")],i[a(986,"$HhF")],i[a(620,"s6oL")]?i[a(1033,"4%*V")][a(636,"NEJh")]:""][a(667,"pLbL")]("*"),vod_name:i[a(503,"x(]*")],vod_size:i[a(565,"!pe*")]}}),r[e(1059,"Or9[")](Ps,await r[e(649,"Qx%e")](H3e,r[e(530,"bUVl")]),s)}var Oh={},Fx={};async function g3(t,e){let r=Ut,n={ZBsVT:function(m,h){return m(h)},hJfkN:function(m,h){return m!==h},JQGIR:r(381,"!pe*"),CKOug:function(m,h){return m===h},gVXsG:r(459,"p@yA"),ipJnt:function(m,h){return m(h)},VciOT:function(m,h,A){return m(h,A)},QEDPg:r(870,"t2gG"),qmTwQ:r(961,"!8I4"),gESct:r(463,"Y)yb")+r(789,"Qx%e"),TfTDh:r(449,"o%qk")+r(497,"s6oL"),IAYjI:r(569,"bizp"),Yderw:r(732,"3AZo"),FUBSN:function(m){return m()},MckKA:function(m,h,A,g,b,y,x){return m(h,A,g,b,y,x)},hHuqP:function(m,h){return m*h},kzIwW:function(m,h){return m*h}};await n[r(514,"L83n")](Pv,t);let s=t[r(906,"7oLE")][r(972,"p@yA")],i=t[r(723,"%T3)")][r(975,"3rkV")],a=t[r(1062,"Mwi6")][r(478,"7oLE")],o=t[r(414,"tS!P")][r(1067,"*Ewm")];if(n[r(462,"PPq4")](s,n[r(423,"x(]*")]))return;let c=t[r(800,"5v4*")][r(563,"$fs8")],u=t[r(1017,"l5&D")][r(388,"bUVl")];if(n[r(432,"L83n")](i,n[r(948,"3zTb")])){if(Oh[o]){let A=Oh[o][r(876,"IO11")](g=>g[r(904,"t06k")+"d"][r(648,"Mwi6")+"e"]()===c);A?.[r(763,"%T3)")]&&n[r(941,"s6oL")](q3e,A[r(494,"!pe*")])&&delete Oh[o]}!Oh[o]&&(Oh[o]=await n[r(662,")3Hd")](rG,a,o));let m=Oh[o]?.[r(876,"IO11")](A=>A[r(985,"O6A$")+"d"][r(567,"$HhF")+"e"]()===c);if(!m?.[r(837,"bizp")])return;if(!m[r(797,"s6oL")]){let A=await he[r(698,"bizp")](m[r(819,"tS!P")],{headers:{"User-Agent":l0}});m[r(441,"9)DA")]=F3e[r(422,"Y3Ac")](A[r(750,"9sdl")]);for(let g of m[r(994,"$HhF")][r(728,"x(]*")])!g[r(791,"MeVL")][r(519,"c)HT")](n[r(877,"3AZo")])&&(g[r(485,"6)p7")]=new URL(g[r(754,"*Ewm")],m[r(741,"7oLE")])[r(886,"bizp")]()),g[r(1115,"!8I4")]=g[r(402,"3rkV")],g[r(996,"O6A$")]=g[r(839,"o%qk")+r(597,"fq[@")]+r(1102,"o%qk")}if(u[r(1103,"$HhF")](n[r(1021,"!pe*")])){let A=n[r(495,"fq[@")](parseInt,u[r(805,"p)02")](n[r(1054,"mS5d")],""),10);e[r(807,"NEJh")](m[r(771,"PPq4")][r(820,"9)DA")][A][r(727,"%T3)")]);return}let h=F3e[r(915,"p)02")](m[r(513,"fq[@")]);return e[r(893,"L83n")](-263*17+-4540+-1*-9211)[r(451,"tS!P")]({"content-type":n[r(932,"#(BC")],"content-length":Buffer[r(897,"!pe*")](h)[r(390,"mS5d")]()}),h}Fx[o]?.[r(836,"*Ewm")]&&n[r(827,"O6A$")](q3e,Fx[o][r(741,"7oLE")])&&delete Fx[o],!Fx[o]&&(Fx[o]=await n[r(408,"*Ewm")](eBe,a,o));let l=Fx[o]?.[r(748,"L83n")];if(!l){e[r(1057,"9sdl")](500),e[r(524,"Mwi6")](n[r(808,"66US")]);return}if(n[r(446,"c)HT")](c,n[r(1080,"J)[o")])||n[r(854,"fq[@")](c,n[r(823,"tS!P")])){e[r(880,"Mwi6")](l);return}let d=n[r(1086,"J)[o")](CXt),f=d[r(920,"mS5d")]||27*297+-277*3+-7060,p=d[r(963,"5v4*")]||-5153*-1+12*-50+-4533;return await n[r(651,"7oLE")](Wx,t,e,l,o,m3,{chunkSize:n[r(740,"bUVl")](-6473+-8453*1+-110*-145,f),poolSize:p,timeout:n[r(434,"NEJh")](1822+1*-667+155*-1,-5406*1+-236*-16+1640)})}async function A3(t,e){let r=Ut,n={oOIYm:function(f,p){return f(p)},XoHTh:function(f,p){return f(p)},aeKyu:r(988,")3Hd"),qwaDN:function(f,p){return f+p},MJecm:function(f,p){return f+p},AeMmP:function(f,p){return f(p)},ciTmK:r(814,"p@yA"),rWAXj:function(f,p,m){return f(p,m)}};await n[r(629,"66US")](Pv,t);let s=t[r(1058,"erUG")][r(614,"fq[@")],i=t[r(393,"Y)yb")].id[r(420,"l5&D")]("*"),a=await n[r(410,"IO11")](H3e,n[r(1022,"x(]*")]);if(!s[r(847,"!8I4")](a))return;let o=n[r(853,"bizp")](n[r(1043,"%sKo")](n[r(610,"pLbL")](TXt,t),t[r(601,"66US")][r(868,"bUVl")]),n[r(733,"3zTb")]),c={parse:0,url:[]};i[-3510+-95*87+-11777*-1]&&(c[r(919,"pLbL")]={subt:o+r(657,"MeVL")+i[19*1+-3058*-3+-9193]+"/"+i[-7378+2*884+2806*2]+r(683,"TBbP")});let u=(await n[r(611,"PPq4")](rG,i[-18503+-1*-18503],i[2094+-3*-1411+6326*-1]))?.[r(1010,"Y)yb")](f=>f?.[r(627,"$fs8")])||[];Oh[i[2107+-3571*2+-1*-5036]]=u,u[r(492,"9sdl")]((f,p)=>(p[r(997,"pLbL")+r(641,"9)DA")]||9082+9082*-1)-(f[r(970,"7oLE")+r(605,")3Hd")]||1*7523+7220+-641*23));let l=c[r(515,"$HhF")],d={QHD:"\u8F6C\u7801",FHD:"\u8D85\u6E05",HD:"\u9AD8\u6E05",SD:"\u6807\u6E05",LD:"\u666E\u753B"};return u[r(615,"O6A$")](f=>{let p=r;l[p(499,"TBbP")](d[f[p(693,"erUG")+"d"]]||f[p(572,"9sdl")+"d"]),l[p(772,"3rkV")](o+p(453,"$HhF")+f[p(1016,"p)02")+"d"][p(528,"O6A$")+"e"]()+"/"+i[5525+7*-1237+3134]+"/"+i[-5*-1535+2*-3204+-1266]+p(801,"J)[o"))}),l[r(512,"fq[@")]("\u4EE3\u7406"),l[r(544,"erUG")](o+r(481,"NEJh")+i[-5006+-1*3631+8637]+"/"+i[5130*-1+-7177*1+12308]+r(505,"t2gG")),l[r(509,"pLbL")]("\u539F\u753B"),l[r(942,"yim#")](o+(r(840,"9)DA")+r(765,"t06k"))+i[-15027+-1*-15027]+"/"+i[-2711+-14*43+-1657*-2]+r(1047,"J)[o")),c}var sG=Re(Jn(),1);function du(t,e){let r=b3();return du=function(n,s){n=n-(-6519+-227*-5+-226*-25);let i=r[n];if(du.woRUlk===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};du.ijfBCA=l,t=arguments,du.woRUlk=!0}let o=r[-1*4321+-5*-571+1466],c=n+o,u=t[c];return u?i=u:(du.tjKJVf===void 0&&(du.tjKJVf=!0),i=du.ijfBCA(i,s),t[c]=i),i},du(t,e)}var je=du;(function(t,e){let r=du,n=t();for(;;)try{if(-parseInt(r(1010,"yxuT"))/1*(-parseInt(r(629,"j*zV"))/2)+-parseInt(r(388,"Gmb("))/3*(parseInt(r(719,"oODV"))/4)+-parseInt(r(928,"LdZ7"))/5*(-parseInt(r(457,"PLva"))/6)+parseInt(r(805,"snsi"))/7+parseInt(r(459,"s]bs"))/8+-parseInt(r(1002,"wgCG"))/9*(parseInt(r(411,"LdZ7"))/10)+-parseInt(r(777,")2Yv"))/11===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(b3,-262163*1+-761*-257+-1*-323774);var cBe=async t=>{let e=du;return globalThis[e(868,"fLji")]?await globalThis[e(717,"n*PT")](t):t},FXt=[je(451,"HMO1"),je(964,"wgCG"),je(1034,"n*PT"),je(279,"s]bs"),je(356,"i#*h"),je(396,"PlI^"),je(534,"Ybex"),je(553,"uZ@5"),je(1001,"%hwX"),je(357,"2vLy"),je(294,"oODV"),je(612,"!$Ln"),je(474,"PlI^"),je(767,"%Z*W"),je(483,"Fzxt"),je(885,"3M6]")],UXt=t=>{let e=je,r={jEbGA:function(s,i){return s(i)}};if(!t)return!1;let n=r[e(921,"QWuT")](String,t)[e(531,"oODV")+"e"]();return FXt[e(520,"3M6]")](s=>n[e(705,"uZ@5")](s))};function uBe(t){let e=je,r={LtHxp:function(n,s){return n(s)},gqGvX:function(n,s){return n||s}};return r[e(631,"jMYK")](String,r[e(611,"n*PT")](t,""))[e(578,"s]bs")](",")[-7562+-199*-38][e(824,"j*zV")]()}function nBe(t){let e=je;return{gaTDe:function(n,s){return n(s)}}[e(633,"wgCG")](uBe,t)[e(976,"FlDb")](/^\w+:\/\//,"")[e(594,"wgCG")]("/")[-2333+-1*8585+-103*-106][e(270,"PLva")]()}function qXt(t){let e=je,r={jCacr:function(u,l){return u(l)},RQJuJ:function(u,l){return u(l)},RCvCL:e(874,"n&P]")+e(1068,"nTP("),PFSfj:e(919,"Ybex")+e(618,"Fzxt"),MiUat:e(1019,"nTP("),UeTbg:e(1024,"sAc1"),CLIZv:e(299,"3P7O"),Zojgv:function(u,l){return u(l)}},n=r[e(697,"PLva")](String,t?.[e(615,"smET")]?.[e(954,"lFql")]?.()?.[e(574,"Tf(V")]||"")[e(730,"q0$o")](),s=r[e(908,"Wg$5")](nBe,t?.[e(571,"M9FG")]?.[r[e(319,"%hwX")]]),i=s||r[e(842,"sAc1")](nBe,t?.[e(852,"q@6)")]?.[e(580,"5f2!")]);if(!i)return n;let a=r[e(526,"R[2q")](uBe,t?.[e(700,"lQpT")]?.[r[e(282,"fLji")]]),o=n[e(1082,"j*zV")](r[e(644,"Flqq")])?r[e(859,"s]bs")]:r[e(373,"p3E!")];return(a||r[e(537,"n*PT")](String,t?.[e(544,"lFql")]||"")[e(274,"fLji")]()||o)+e(310,"R[2q")+i}function lBe(t){let e=je,r=/https:\/\/pan\.quark\.cn\/s\/([^\\|#/]+)/,n=r[e(435,"Z[9h")](t);return n?{shareId:n[1],folderId:"0"}:null}var Za=je(421,"s]bs")+je(809,"4iKp"),qx={"User-Agent":je(648,"3P7O")+je(677,"Flqq")+je(849,"3M6]")+je(903,"Flqq")+je(514,"lQpT")+je(1e3,"FlDb")+je(759,")2Yv")+je(323,"!$Ln")+je(973,"Flqq")+je(496,"jMYK")+je(858,"q0$o")+je(848,"sAc1")+je(1046,"IwqU")+je(458,"p3E!")+je(343,"PLva")+je(481,"%e99")+je(911,"yxuT")+je(872,"M9FG")+je(997,"PLva")+"ch",Referer:je(958,"%e99")+je(762,"3ASk")},iG=null,y3=null,sBe=je(1051,"PlI^")+je(590,"3ASk")+je(975,"Ybex")+je(657,"sAc1"),yc="",zd={},iBe=je(269,"Ybex"),Dh=null;async function kv(t){let e=je;iG=t[e(455,"snsi")].db;let r=t[e(409,"p3E!")][e(685,"3ASk")][e(729,"n*PT")];yc=r[e(1070,"uZ@5")],y3=sG.default[e(794,"lQpT")][e(831,"lFql")][e(773,"Z[9h")](sG.default[e(869,"IwqU")](r[e(977,"M9FG")]))[e(586,"PlI^")]();let n=await iG[e(545,"Z[9h")+e(601,"fLji")](e(609,"3ASk"),{});n[y3]&&(yc=n[y3])}async function eo(t,e,r,n,s){let i=je,a={rqgRf:function(u,l){return u===l},SyYRB:function(u,l){return u(l)},rhuEs:i(856,"BYRA"),RpcAe:i(368,"3P7O")+i(549,"3ASk")+i(905,"3ASk"),nlObe:function(u,l){return u===l},HWzCR:function(u,l){return u||l},iqsnW:function(u,l){return u||l},zOsls:i(500,"%e99"),qSmoq:function(u,l){return u==l},KjZNS:i(348,"p3E!"),zCRHm:function(u,l){return u||l},sgsma:i(507,"i#*h"),vTTwS:i(518,"jMYK"),TxcgE:function(u,l){return u!=l},zYeIY:function(u,l){return u>l},SzeLp:function(u,l,d,f,p,m){return u(l,d,f,p,m)},sTnAy:function(u,l){return u-l}};r=a[i(428,"%e99")](r,{}),Object[i(469,"sAc1")](r,qx),Object[i(505,"oODV")](r,{Cookie:a[i(475,"yxuT")](yc,"")}),n=a[i(649,"lQpT")](n,a[i(328,"n&P]")]);let o=a[i(670,"betL")](n,a[i(513,"LdZ7")])?await he[i(687,"LdZ7")](sBe+"/"+t,{headers:r})[i(785,"smET")](u=>{let l=i;return console[l(452,"%hwX")](u),a[l(1062,"lFql")](u?.[l(690,"3M6]")]?.[l(371,"fLji")],-6*373+2001*-1+4640)&&a[l(605,"fLji")](messageToDart,{action:a[l(966,"!$Ln")],opt:{message:a[l(591,"R[2q")],duration:5}}),u[l(889,"Gmb(")]||{status:500,data:{}}}):await he[i(1012,"4iKp")](sBe+"/"+t,e,{headers:r})[i(515,"fLji")](u=>{let l=i;return console[l(497,")2Yv")](u),a[l(846,"Z[9h")](u?.[l(880,"Wg$5")]?.[l(804,"lFql")],3246+-1478*-1+393*-11)&&a[l(397,"3ASk")](messageToDart,{action:a[l(1081,"BYRA")],opt:{message:a[l(334,"%hwX")],duration:5}}),u[l(655,"Flqq")]||{status:500,data:{}}}),c=a[i(838,")2Yv")](s,-5853+183*32);if(o[i(566,"2vLy")][a[i(845,"p3E!")]]){let u=o[i(527,"Flqq")][a[i(639,"4iKp")]][i(707,"uZ@5")](a[i(548,"2vLy")])[i(364,"uZ@5")](/__puus=([^;]+)/);u&&a[i(1029,"%hwX")](yc[i(613,"lQpT")](/__puus=([^;]+)/)[-33*81+-3*-3314+-7268],u[-4717+-2*-2419+60*-2])&&(yc=yc[i(302,"jMYK")](/__puus=[^;]+/,i(939,"Ybex")+u[-278*11+4653+-1594]),await iG[i(506,"LdZ7")](i(751,"i#*h")+y3,yc))}return a[i(738,"PLva")](o[i(536,"wrcr")],-11*-174+-110*-20+-3685)&&a[i(808,"smET")](c,-1865+-7233*-1+122*-44)?(await a[i(658,"q0$o")](Qd,79*13+-8794+8767*1),await a[i(857,"Fzxt")](eo,t,e,r,n,a[i(810,"fLji")](c,-1*-4129+4*-1075+-86*-2))):o[i(460,"Z[9h")]||{}}async function aBe(){let t=je,e={PZjHB:function(n,s,i,a,o){return n(s,i,a,o)},mlQMM:t(422,"3M6]"),sxGpW:function(n,s){return n>s},aDoUC:function(n,s,i){return n(s,i)}},r=await e[t(741,"!$Ln")](eo,t(317,"M9FG")+Za+t(547,"Wg$5")+Dh+(t(1067,"LdZ7")+t(1040,"Fzxt")+t(668,"Tf(V")+t(1032,"Wg$5")+t(306,"HMO1")+t(768,"Z[9h")),{},{},e[t(355,"Flqq")]);if(r[t(899,"Tf(V")]&&r[t(743,"Ybex")][t(860,"nTP(")]&&e[t(898,"3P7O")](r[t(1009,"yxuT")][t(895,")2Yv")][t(333,"wrcr")],3567*1+1351+1*-4918)){let n=await e[t(781,"n*PT")](eo,t(667,"q@6)")+"e?"+Za,{action_type:2,filelist:r[t(351,"BYRA")][t(599,"%Z*W")][t(362,"Tf(V")](s=>s[t(630,"q@6)")]),exclude_fids:[]});console[t(560,"yxuT")](n)}}async function jXt(t){let e=je,r={WgIFC:function(s){return s()},ZEMiz:function(s,i,a,o,c){return s(i,a,o,c)},jJmBH:e(1004,"snsi"),TPDfB:function(s,i){return s===i},BjWUC:function(s){return s()},MmxWb:function(s,i,a){return s(i,a)}};if(Dh){t&&await r[e(523,"5f2!")](aBe);return}let n=await r[e(829,"LdZ7")](eo,e(1014,"Gmb(")+Za+(e(818,"j*zV")+e(695,"betL")+e(350,"j*zV")+e(945,"%Z*W")+e(957,"3P7O")+e(904,"Tf(V")+e(312,"PlI^")),{},{},r[e(788,"%e99")]);if(n[e(370,"i#*h")]&&n[e(383,"QWuT")][e(860,"nTP(")]){for(let s of n[e(1085,"3P7O")][e(365,"q0$o")])if(r[e(937,"j*zV")](s[e(692,"Z[9h")],iBe)){Dh=s[e(754,"yxuT")],await r[e(305,"PLva")](aBe);break}}if(!Dh){let s=await r[e(689,"lQpT")](eo,e(866,"QWuT")+Za,{pdir_fid:"0",file_name:iBe,dir_path:"",dir_init_lock:!1});console[e(557,"IwqU")](s),s[e(289,"5f2!")]&&s[e(661,"s]bs")][e(280,"uZ@5")]&&(Dh=s[e(287,"Fzxt")][e(772,"q0$o")])}}async function cG(t){let e=je,r={wUoDT:function(n,s,i){return n(s,i)}};if(!zd[t[e(673,")2Yv")]]){delete zd[t[e(650,"snsi")]];let n=await r[e(1074,"%Z*W")](eo,e(865,"jMYK")+e(322,"nTP(")+"n?"+Za,{pwd_id:t[e(733,"lFql")],passcode:t[e(1039,"Ybex")]||""});n[e(292,"FlDb")]&&n[e(662,"j*zV")][e(404,"wrcr")]&&(zd[t[e(839,"Flqq")]]=n[e(936,"q0$o")])}}var HXt=[je(374,"PlI^"),je(994,"LdZ7"),je(890,"yxuT"),je(714,"n&P]"),je(390,"QWuT")];async function QXt(t){let e=je,r={CeeGQ:function(c,u){return c||u},dvouh:function(c,u){return c||u},nUlKV:function(c,u,l,d,f){return c(u,l,d,f)},VeDal:function(c,u){return c(u)},kAMvF:e(573,"lQpT"),aEgYM:function(c,u){return c===u},AaILP:function(c,u){return c===u},pnzKl:function(c,u){return c===u},EaoOJ:e(393,"PlI^"),eRFRH:function(c,u){return c===u},VpoRL:e(709,"uZ@5"),UwEHB:e(369,"2vLy"),eEqqS:function(c,u){return c===u},AIINL:e(722,"s]bs"),eCjUF:function(c,u,l){return c(u,l)},puohi:function(c,u){return c&&u},DRSXj:function(c,u){return c===u},yDfBB:e(731,"LdZ7"),UekML:function(c,u){return c<u},NtpLA:function(c,u){return c*u},dqyGs:function(c,u){return c*u},uTaUe:function(c,u){return c/u},PfYgW:function(c,u){return c+u},BJIew:function(c,u,l,d,f){return c(u,l,d,f)},RkHTM:e(927,")2Yv"),AjqGq:function(c,u){return c(u)},IGhkL:function(c,u){return c(u)},bPPsW:function(c,u){return c>u}},n=r[e(1069,"oODV")](typeof t,r[e(492,"!$Ln")])?r[e(726,"QWuT")](lBe,t):t;if(!n)return[];if(await r[e(844,"%Z*W")](cG,n),!zd[n[e(465,"Gmb(")]])return[];let s=[],i=[],a=(c,u)=>c?c+"/"+u:u,o=async function(c,u,l,d){let f=e,p=r[f(909,"2vLy")](d,""),m=-564+3512*2+-6360;l=r[f(402,"!$Ln")](l,-2*-4413+-7752+-1073);let h=await r[f(621,"PlI^")](eo,f(1066,"lFql")+f(867,"Fzxt")+f(1027,"n&P]")+Za+f(1013,"Wg$5")+c+f(716,"jMYK")+r[f(414,"PLva")](encodeURIComponent,zd[c][f(446,"snsi")])+f(635,"Z[9h")+u+(f(682,"oODV")+f(825,"j*zV"))+l+f(820,"HMO1")+m+(f(339,"i#*h")+f(486,"BYRA")+f(640,"!$Ln")+f(432,"snsi")),{},{},r[f(991,")2Yv")]);if(!h[f(407,"q@6)")])return[];let A=h[f(679,"IwqU")][f(442,"!$Ln")];if(!A)return[];let g=[];for(let b of A){let y=r[f(337,"sAc1")](b[f(780,"Flqq")],!0)||r[f(478,"fLji")](b[f(902,"oODV")],1)||r[f(1054,"QWuT")](b[f(774,"Fzxt")],r[f(833,"Fzxt")])||r[f(681,"s]bs")](b[f(1065,"lQpT")],r[f(471,"wgCG")]),x=r[f(913,"wrcr")](b[f(965,"q@6)")],!0)||r[f(638,"FlDb")](b[f(742,"Z[9h")],-1*-831+80*65+-6030)||r[f(275,")2Yv")](b[f(283,"q0$o")],r[f(382,"3M6]")]),v=r[f(349,"%hwX")](UXt,b[f(441,"2vLy")]),I=r[f(850,"yxuT")](b[f(568,"M9FG")+"ry"],r[f(841,"Ybex")])||v;if(y)g[f(454,"QWuT")]({fid:b[f(378,"lFql")],path:r[f(342,"BYRA")](a,p,b[f(828,"PlI^")])});else if(r[f(708,"Gmb(")](x,I)){if(r[f(918,"lQpT")](typeof b[f(892,"Fzxt")],r[f(1078,"wgCG")])&&r[f(949,"BYRA")](b[f(524,"lQpT")],r[f(978,"HMO1")](r[f(326,"QWuT")](713*3+-6696+5581,-529*-1+-12*698+-2957*-3),1732*-3+4*1697+-1587)))continue;b[f(1033,"q0$o")]=zd[n[f(321,"FlDb")]][f(522,"lQpT")],b[f(659,"%Z*W")]=p,s[f(511,"!$Ln")](b)}else x&&HXt[f(797,"PLva")](R=>String(b[f(559,"4iKp")]||"")[f(814,"Fzxt")](R))&&i[f(813,"lQpT")](b)}if(r[f(1016,"Flqq")](l,Math[f(372,"sAc1")](r[f(626,"snsi")](h[f(798,"p3E!")][f(284,"Ybex")],m)))){let b=await r[f(316,"lFql")](o,c,u,r[f(806,"n&P]")](l,1),p);for(let y of b)A[f(721,"yxuT")](y)}for(let b of g){let y=await r[f(466,"R[2q")](o,c,b[f(360,"Tf(V")],1,b[f(792,"i#*h")]);for(let x of y)A[f(721,"yxuT")](x)}return A};return await r[e(1041,"5f2!")](o,n[e(812,"oODV")],n[e(468,"q@6)")],3789+1217*-6+3514,""),r[e(1045,"R[2q")](i[e(914,"3ASk")],4*-2351+174*29+4358)&&s[e(879,"wgCG")](c=>{let u=e;var l=r[u(504,"%Z*W")](ml,c,i);l[u(588,"M9FG")]&&(c[u(698,"betL")]=l[u(925,"%Z*W")][u(770,"n&P]")])}),s}async function uG(t){let e=je,r={NrKrX:function(s,i,a){return s(i,a)}};if(!t)return null;let n=await r[e(935,"%hwX")](eo,e(361,"Tf(V")+e(734,"Ybex")+Za,{fids:[t]});return Array[e(861,"Flqq")](n?.[e(982,"3M6]")])&&n[e(811,"3ASk")][0]?.[e(525,"n*PT")+"rl"]?n[e(1003,")2Yv")][-37*19+-1*1022+1725*1]:null}async function GXt(t){let e=je,r={glMUm:function(s,i,a){return s(i,a)},TrXxx:e(971,"M9FG")+e(315,"3ASk")+e(309,"HMO1"),SERpE:e(1077,"R[2q")};if(!t)return null;let n=await r[e(291,")2Yv")](eo,e(272,"PLva")+e(296,"3ASk")+Za,{fid:t,resolutions:r[e(985,"uZ@5")],supports:r[e(303,"Tf(V")]});return Array[e(329,"!$Ln")](n?.[e(383,"QWuT")]?.[e(766,"Fzxt")])?n[e(289,"5f2!")][e(963,"IwqU")]:null}async function dBe(t,e="0",r=7893+-5*453+-5627){let n=je,s={NROdE:function(o,c){return o(c)},swdty:function(o,c,u,l,d){return o(c,u,l,d)},GRqGW:function(o,c){return o(c)},aHVGP:function(o,c){return o||c},muVGW:n(298,"oODV")};await s[n(399,"jMYK")](kv,t);let i=Number[n(336,"snsi")](r,3779*2+-23*2+-7502)||-12987+-34*-382,a=await s[n(950,"sAc1")](eo,n(786,"FlDb")+Za+n(1058,")2Yv")+s[n(870,"Ybex")](encodeURIComponent,s[n(341,"QWuT")](e,"0"))+n(643,"3M6]")+i+(n(646,"Tf(V")+n(930,"%hwX")+n(437,"sAc1")+n(1042,"4iKp")+n(385,"3ASk")),{},{},s[n(826,"n&P]")]);return Array[n(550,"3ASk")](a?.[n(723,"Flqq")]?.[n(278,"Ybex")])?a[n(679,"IwqU")][n(910,"3M6]")]:[]}function b3(){let t=["BwrTW4Dc","cSorWRldPW","WQqKWQldPa","gmosWRTlWOS","oWJdGq","WQ9aCSkqevnrWPhcVaq","g8oaWQldP8oLzqhcGZNdJW","6l2J6kcK6ysN57+k","ChnyW5P0iq","WOvza8kBoq","WPRcG8odbri","WO5WiCkkia","sSkQrmka","WRVdSXuOWQKKWRGwWOVcLW","B3byW7LB","WP8vtSoicW","W5qnbmodbCom","WRf7C8kkW7K","WOLQx8oVFq","nSorWPLlWOldOmkjsSkSwW","vSo3WO8Bgq","kSktWOHkWPZdUmkjxmkxsW","W7FdIrRdOSk4eNPI","vh7cL0ldSG","W6NdMtGjWPiDuG","WQ/cLqtdI8kMeLK","amo2WQ/dR8oC","kmolaCkWWQz/tmk6bG","BCkkdNHPWOldQcW","W6VdKSkFfsddHq","nmkPWRa2WQ3dLJS/","WP9mAa","kmo9WRKHFCk/pCoAFSo1","qCkXya0C","vCkJW5ZcKmkC","lbtdKqXThHNcTW","rSk+WQxcUG","qmoqWPq2uq","WOnop8oe","s8k/ow5e","g03cRCoZBG8","dCoHWP5qWPVdVmov","p8oHA8kxW7u","FSoaWRiKb8or","lr5Zrea","orpdNaa","rmkSu8kn","fCoDhCk2WP8JxSkWaSkZ","WOyiECoIfmoVWRddRa","FxjEW7vN","eCojeWa","nXauW5JcIW","ghThb34","W5NdG3RdH8o/WODppW","W4BdMfldMry","qmkQw8katXK","W6r4xmoOWQVdGwq","W4RdGmkTWOGhWQ/cV2S","x0VcHwNdMGNcRCkdW7RdIG","qwHtW4DWDZFcT33cGa","W4VdH8kuWPKhW77dTsddHmkV","W6TWuSolWQa","W4tdGK3dLSo1WQfh","wflcMwddUG4","WOTiASodEGKc","kmovW5CYWRVdK8omeSk2kG","w8ofdbC","iCo6rmkF","WRZdMfldSLy","cWyYW7tcTmkGWQzX","kSo5W6CzWOW","A8oPW40llW","dXNdIsj3","W6qtWPddKH5mtCo+WQ3dRq","lCoiW5W8WRhdOG","W5HyACohvWnCWORdPL8","W6ddHK7dOq4","mCoqW4euW4hdRmkeqCkgsG","v8oAvCk9WO3dUt8","W6KtWO3dLbzf","sCoAW4GHiW","q8ksW6NcLmkW","CSo0WPaQWPldTti","W4bSWP4b","qSkIq8kv","DColW5WeebddSSoL","W5NdJvRdMmosWODf","j8k0WQtcPaO","xSk4W7pcVmkSgwS","WQ0SWRG","h8kPWOS","WOhcS8oMgIW","WQFdNelcMehdHIqaxIe","W7pdP8kGcGG","W53dNZy1WPG","ASo5WOGR","l8o9WOiR","W71MCmo/WOm","e8oUWQXTWOu","W4ldPK3dQbpcL8oEWQW7ra","aSkQW7FcUSoCcN3dS8oxaG","ACoXWOGXEW","BSowuCo+W5NcQw07amkZ","imopWQ8J","rSkEufbJWR3dJfNdImoCWQGQ","W7ZdH8kzhq","WQ94ya","W7pcQCkHWQpdGG","WRuOv8oWdG","WPOnWQxdOau","W5FdGCkbWOCh","WR7dOaHM","W6ZcTIHsW614W79A","W6VdQCkdWRKG","WRBcLbpdMG","W67cOSo+faFdJSkega","WQySWRRdOgVcTJrtjmoj","W41gw8okWPO","WQ1mD8oRAq","oSoBaCkS","ASodWQSL","W4xdMf3dG8o+W5qoDW","W71cWR8wwG","WO/cM8opsg/dHG","W5aChSouaSkEW5BdJvec","BhLoW55NkdxcSa","a3Hxa3q","CHZdJuldLh5qWQa","WRtcQmkbWRtdMmk6WO4","AaxcKa","WPrhkSoxxCkRWRNdQCoQWPK","wSoAWRWJta","BN1yW5z4pG","BMLzW58","WRZcQ8o5fwldHSktrI5B","WPrBjmooxCkA","W7PYWQXrW5i","BmkWrJ8","WQfsmCkRpa","AJnjW5H7o3NcONFdGa","AmoTW7qcjG","iCowWO9xWOVdN8kFsG","u8k6WQ/dQ8kbgmkWja1a","imoDt8o6kG","WRldHG7dJ8kZobL5laK","W6ZdMd0EWPGlx3q8Fa","W5aFWQNdMGy","C2eRW4tcKG","zSkfWOv5W6xcUSkqw8kamG","pSo5WPTdWQm","bCkZWPFcSJy","WQrMbSk4f8k6WR3dGa","WRxcJW/dHCk7mW","rCkTW7hcQCkaqJFcUmoAaG","WRtdHbr/W68","edBdSbvs","tLxcJ07dNW","wJ4AqZpcT8kGrG0DW70","DmofW5eDiaZdPCo0tW","WRldQbTV","WR7dLSkjftZdVuhdHqPt","W5hdLSkrWPmY","WR/dPrrIW5u","ySklrJmx","W7DTx8oiWQG","WPLdWQj3W48","q8kGWPtdTSox","zSoCWQWM","W7z0wCoOWQVcNwtdV8knWRm","j8odWOe5WPddMwTFWR3cKG","W4NcGuhdNmo+WPO","lW/dIszZ","emkPWPpcTXVcVG","pbldSHv0","W6JdNSkCgtS","W5ldISk4eIS","pCo7hCkaWR8","lSopbSkL","r8kNca","D1WlWOm","dmoSasmz","D8kfWRZdPSor","jGX6zwu","eb0kW5dcTa","BmkBhhPYWP/dJcdcImoN","zqJdM1C","smkfxSkDzW","EN1EW5y","s8kjCCkXEW","BmkhhhPJWRpdVsdcMmoq","WQH2mmoI","B8k2tYi0","eCoFWPPZWOhdQ8kNxSkwqa","W5xdV0/dMG","Emkxkvf2","W4FdPeRdKLpcLCkeW6y5DW","W4T/WPiWua","W6/cRSkAWRG","W5NdH8kKmb4","xhCqW7pcTq","zSkNWQZcI8kX","pSoxWP1r","tILbrq","fCkVWPG","W4KegmoQpW","W4VcMSkGWRpdNa","WPnwo8oa","dCokWOfrWO/dOW","WQr0ESkr","q8owsCk0W4pdVJvIxCoP","rmkYWQhdRW","WRFdH1BdLuK","kSoPv8oq","WPejWRtdLYG","W7/dISkGksm","qCoEuCkW","W5VdOrSZWPW","CrxdGa","lSojW4a/","W5Krvq","WOHCB8oo","oatdHW","DMHEW4C","W7DHWR0ctW","WO5MWOjwW4y","W5zOWPOmwCkgpa","pCo1WPtdTSou","W4KRCSoHtmozWOyg","W6pdP3hdOJ8","D8okW5KzbXhdJSoWsmoR","bbWB","pCo8qSofcCkd","DCkcWOOgtKhdUG","kX5u","WQeuumoMkq","f8k9W6dcQSkq","WR/dSW5OW64","DvapW5y","WPqaa8odgCkiWORcL1eg","W6TjvmorWPG","W6WvWO7dMLbtdSoGWRBcPq","W53dG0BdN8oEWODBpq","xmoHWQKhrq","lSo1FmkFW4O","vSoxrmkJWONdKZ4","W4JdNeJdLmoOW4fvnWxdLq","WQFdM0lcL2ldJdafxwC","W4RdICkHhIO","W7GxW4ZdNbepumk9WQhdTG","wKRcJeldGa","lq5CAge","EYBdNfRdJG","WQFdG2BdHvFdIcO","uujoWQhcKSkmWPTeg8oe","WQz5aSkf","vCowWP4SWRi","WOmEwSoKe8oS","xmosWRWfBa","hmobzCo3","WRH8zSkjW7mFWOOj","cKLekKO","W7X9WPKkDG","a8kFWRlcRCkhW4JdICkiW6FdTW","CCohW5WidsRdVCo4t8kL","x3pcO0ldOW","bZyvW4dcGq","WPlcOXpcMuJdJSouW71+iW","umknWQpcKSk5","WQyvCSoRhG","u8kJWRNdP8oi","s8kWW6e","W73dLc0","wmohWPSLzq","qmkCfhjJW5hcQxNdJmkP","bHqlW7q","WQHLjCkQfmoZWQVdKYVcHq","wL/cH2ZdHq/dO8kuW7VdHa","W5yhgmojemoiW5xcJK4u","WPvftCoRAa","c8k3WQZcTa","W6n4Cmk7","WOWuumoM","mSoKW4SNWRm","cmozWQi","cmozWQRdO8k+zaRcQZBdLW","a8orWRy","b8ogWQpcQ8oIBWBcTtNdLW","hSkNWOJcVXO","WOTgomor","WPnagmorsSkDWRhdPW","D8kmW7hcKCkz","5AsM5ywxxSoyFIG45Bs26l+z5P6Z","WQT8kmkO","qCkHWRxcOW","W6JcQmksWQhdG8k6","cgLkhW","W5NdVraHWOe","a8kQW7FcRq","bMvn","W7VdPGKbWRy","ebaEW7hcKSkcWQ1HyCkN","W6n1xa","W6NdLqldH8kW","BwHlW4nGpG","u8kVqCk8rG","C8k0CSk8Aa","wLRcGwq","WRvsWPLjW74","W5WngmkzemoxWPO","W5mWDmoWxCoIWOW","D8kNWOVcLCkH","W7n1W6pcSNddSafubmkAtKy","iCoAmCkIWQ0","ee/cGwJdNW","W7/dOhRdOCop","pCoDW4C0WRW","sCkWW7C","CCkgDCkK","gmoprSo3WP/dOYKOv8oK","a8k/W6NcRW","W6Srm8o2mW","ymo/WPi9WOtdJZCmW7FcQa","W6PFWQueFq","WQL0mmkS","W55DFCovtJCyWO3cTW","WQRdHKJdGK0","kmoYtmof","WPWpw8oOaSoQ","W6pcPSkQWPZdMq","eCohea83W6ddV1xdMmol","i8oYxmkB","zbhcKG","W6NdLcSnWPiM","WRNdRHHI","mmkSWRa6WRNdVX04","smkqWO/cKSk0","WRGcC8oada","W7FdQgldLHa","DCoZWPO9WPK","yCk8uq","WRBcPaBdH8k6lG","W5ZdVq8","DmomWRaMxmopg8kPpq8","cSopv8k+WPtdO3vKrSoK","edOkwxlcRHRdKmofWOG","qCkMqW","WOZcNCknWPLa","y8ogWRSoWR4","gNLcawZdHCklysWz","W6NcUCkaWQxdMCkNW5iq","kmodz8kUW48","W6VdPmkAWQOM","wCoJWOKvnW","a8ohaZ48W73dSutdTW","W5VdI3ZdPGu","W7j8z8kz","WQZcS8o9eq","WQGvw8onca","W58MDCo2","WPDAomon","h21ptJBdG8kWFtqf","WOSuq8oTmSo2WRK","W4K3zmoW","FCo2zSkfWPy","WQT8kmkOlSkYWRNdNZG","WQldMvtdGW","tMJcSgBdHG","BCk2zXqe","WPLzBmoktaSqWP3dO18","WRTPE8krW7m4","pmk1vSosdmkchmkSW7T0","amkNWORcUs3cUHK","rSk6WRNdUSozwa","WPddRsLPW7K","kCodW4Hz","A8oqWQ0REW","WR99aSoOta","tK7cHM0","WRT4zSkmW7mK","mdddOcLA","WPlcUHFcGYNcPmoUWPGasG","W7/dKI0jWPG6gsTIpq","uNKpgsxdRfZdH8kHWR3cK8k7yq","W54/zmo0","r8oUWPqIiG","WQ/cHmoliGK","W6ulWOW","CWZdNfNdKx9iWQXTDa","WRmTWRFdTYhcJd8","u3SYW5lcSG","xCk4W7FcUmkEcW","iCo8rmkEW4BdRCkFWPe","cN9qgMdcIW","nG/dLWHNiX4","i8oycdmx","W69cWQSXCG","WQvQWRFdPJxcSdjtnCkP","a8oQW6lcQq","WRpdSa9PW4S","vSo2WOO2jW","vCokvSk5","W5RcVCk6WPNdPG","omoHr8oue8kVh8oJW65Y","wMGmW6xcJq","WPFcISorW5HeW7tdULZdLCkO","WQjkv8odxa","dSkHWRJdUmoE","W6VdJ8kxgq","W4xdOLhdMrdcJmoxWQ0wBG","bYOlW6ZcT8kUW7L0iCo2","WQFcGL8","WO5TjmkIeCkFW5OfWQ1alZRcUa","W6VdKSkcfYVdJa","W6BdHgdcJ0xcGG","WRTzbCklgG","WPZdM2/dO2G","pK1MjL4","FSo1WQ8UgW","WPZcTSoMnXu","W5fPW4CesSkml8kxe1C","W73dLmkFeZW","W5bIWQypt8kak8kXxry","W7lcQSkwW7JdHSkQWO8eFCou","W5pdNmktWP0","wSk4rIG","cSoUsSoFoq","WQNcOCo6gt/dIq","l8oTgmkrWQ0","pHldGar4aG","CCoPWOiW","vSkLWRxdR8kwW5pcM8kfW6FdVG","W7/cS8keWRVdMSkMW4arv8oa","WQVcGrGzWRKxFuW","WPzAkSoxuW","WR7dHvtdNW","i8o8x8kuW4/dSmk3WPhdO8kd","sSo2WQSwWQq","o8kfWP0Za8ovtmorkae","W7JcVCkhWRBdNG","W5FdPt8oWPu","qhiiW4BcSq","WP82W5e","W5FdRfddLbO","vCkSwSkr","x8k6W4/cJSkA","yCorWRmOfSox","gCoVASo3pW","yComWQyM","WRbQWR5DW5pdUwbYhMG","E3iAW5tcTW","WPbmFCocqbOc","W7vdxSoZWQRdGq","jmkbgmk3WOrW","dCoLWQpdNSoZ","kW7dVWjOcqRcJwtdKq","v8kAW7ZcO8kW","q8otrmk2","FmotWOft","f8oWW7hdTmocWORdHmkeW6hdJc3dSae","WPWpvCo3eSo3","WO5QWQnuW4K","DqBdVeldJ2nsWQi","EmksW43cUmkI","wmo9WOSBoa","z8kvnw1l","W4SCc8owbCoxWQ7cI1ul","CSkodq","W7vUv8oUWQhdKxJdUW","W507zmoAr8ohWO8aWOL9","WQdcIq/dGW","W67cOSoTgsRdUmkgtgyt","WRTbemk6iG","77606k6F5yIN5BYK44gH6yEP576x44oZ56U45RUZ","W5eBk8owa8ofWOa","F8ouW6eKdq","Dx3cOfpdTW","xCkRWOZcUru","WRxcJGldMSk3kvnd","WQXCWQ1eW5e","W5bSWPKlbW","mSotW5q","W43dQeJdKaJcIW","WQdcKGZdI8kbm15ljG","WRBdRHS","o8oqWOPaWPBdGmko","s8k+WOhdO8oz","sCk7dLT1","bbKEW7i","W4tdHmkQWOWy","WQvWjCkPfmkUWQS","w1tcKNZdKq","W6uEWOJdObXbfCo3WQxdTq","jZGgW7NcKW","qCodWRtdPCk+CXdcVIZcLa","W6izWOpdMXPseG","W4SybSonbq","DCoaWQG","g8ocWQO","pSobiCkWWPL3vSk+","W58+kmo2ia","C8obW5mida","eZHBrwu","y8opW4Wm","jSoNumof","C8k2WRJdISoi","jSolhmkJWP92","W7KjWOddNG1samoR","W6JdICkEca","mxhcGmo/CW","wCk2W5BcRCkbexBdSa","dqir","W6GzWPhdIZjbfCoXWQO","mSozW50WWQddPa","W5eEd8kkamorWPJcKePn","q0eyW7BcOa","hSoQaaGC","s8kpvCkoCW","bSoycWGV","WRlcLaVdI8kW","cMhcUmoZBri","h8ohdG8","W4xdMSkmWP0rWRy","jSohaCkW","WQL6m8kJhCkZWRNdLGlcLq","W77cUSksWQddMSk9","eCoBw8kyW6u","FSkDd2L/WO7dRI/cMSoQ","CmoPWPaQWPW","W4JcPCkQWOFdTa","WRZdLupdNLFdJdaA","vCoNsCk2WQq","W5STC8o8ta","WPCzh8ofa8op","CmkAeuzd","WRn0WO5fW6C","W6ddNrxdG1y","F8oeWQGGgW","nmkyWO9CwKFdG8o5C8kZW4JdSq","ghFcUCoSBW4","ASonWQGQzCkZnmoHvCoV","W6JdHLVdP8o0","rmo+WQxdVmotxSoV","p8opW5a+WR0","umk4pNbl","q8kmW6NcKSkL","ufdcK3ddNG","WPWovSoIfCo2WRtdSq","WOT+WPGdf8kbnSkfuKO","b2LnfhpcJq","WR1jDCkVW7m","wSkgbqG1","FfGv","lSoDrdGYWR7dLahcQSoLka","iCo6ta","W6H5WQiysa","WQJdMuVdKNRdHZidvW","eSojmYu+","iColWOXeWPZdVCkjvW","WPWUDmo8v8oYWOWkWPKe","pCoGqSodgCoFamoIW7X0","ASk/WOddOmoz","zmoEBmkDWRW","WRxcNbpdG8k/","W6ldLK7dM0ddTJ0pxYS","oW3dRbLWbX3cOdRdKG","B8oAW4WDeu/cVSk+wmkJ","amkCr8kvtq4j","WRvasCohuq","WPWAqSoMomoLWQBdLY7cSq","smoVWRxdR8oRzvJdRMJcIW","emoJW6u","u3nqW555itFdQYVcGG","wSoYWQyaiq","WRT1DCkiW7mFWOa","A25g","atTerxBcSa","lmkqWOe8W7JcUmol","tSk3q8kewveBnIxcLG","WOPmB8owsGycWOW","WPBcNXpdRmkF","d35kbwldIG","WRrweSo3EG","pmobfSkBWOXSv8kShG","aCkJWO/cSX7cRH7cICoyWR4","bcLdtq","E8kocwK","nmoYxSkFW7ZdVSkL","sCoAs8k2WPJdSG","WPb3imo1ya","dsJdTsS","iCo6rmkFWOZdU8kZWPNdMCkc","hCoFWRtdSSkSzGZcSd3dPa","jHddOGXs","E8kkrtqN","rxhcPCk1o1pdUeCzW4e","sxlcJw3dHq","W6VdJSkmdIVdQ0m","EstdLLxdJq","Amk9sSktW40","W5SRWPldLqK","W4GjnmoXtayvWOBdVum","D8kmWPlcKmk3","oSoDW4C2","sCkfWRNdQ8ok","brPXFLK","EqFdNb98cuxdVIpdVq","rmkJWQlcP8kgW4/cLCkmW6ldVG","fCoqWOfRWOe","W5Shbmocgmod","dqVdHtxcG1O","zSo5WOu","WRHYz8ko","x8oiWQqueq","vmkMrmkerqvhFa","WQpcIrldGCkS","W5W3FmoWESodWOSoWPG","f8kNWOJcVq","C8obW7qcfrddO8osxCkI","oSo/DYS3W7NdV8o4W67dUq","W402CCoH","W4VdJKFdLa4","ECkSsI8/W6RdTSkG","ixdcGSoZxq","ESoaWR0NfSolwG","rmkvWORcGmkI","wCowWOOGzW","ACkHWOtdMCoM","CmkwjgPG","fSkOWPJcRYxcSH7cIa","WP7cL8oZgY4","gCkPWPxcSG","WRaWWRNdRs0","fCkPWPdcUbFcQq","W6iYWP1MW47dUxf0","W6NcUCkaWRRdMSk8W5uCz8oB","zv4qW5lcQW","oWddHWW","lXRdM1O","BSkAhhPT","WOj+WP4pu8kan8op","WRnGWR1JW57dUe93lhG","t8ojWOy9WPy","BLpdIsf5iZ3cIG","q8orWRBdR8k/CrdcVsRdKa","WQRdTa9V","fIftsx4","WPXiAmoh","W5D4WPOfsG","WQr4ESkDW6i+","F1hcHeldGG","W4VdHuxdH8oOWPW","WRH8zSkBW7SL","WQvWWQHbW5q","WPnDiSoi","B8oPWPW6WPldJG","ggFcQCoUyWJdT04","W7z0wCoOWQVdU3m","pCoFWOOA","t8kKWRS","gw9bhhe","W7KDWPtdMIbbeSonWRBdTq","W5pdVehdPrO","W6OGcCoqgW","hSoNWQbHWP0","WP7dQK3dV2C","W5W3FmoW","nSoFWPPe","W4K/zSoWESomWPK8WOLw","vmk2cLPo","FKqFW5pcT2fsWQXceG","W6NdKCkPWOaJ","WPNdNKVdR0C","WP1BBSojvW","WPy2ECoYtCkbWPKwWO1C","cSkXWRtcO8khW5FdMW","ySowW4WFaW","pCoRA8kZW4W","WRZdQbG","W7tdNI4","WQyYFSkjW7K4","WRVcT8o7bJ3dLq","hN5p","WRJcJSkMnbRdR2VcGe4c","BmkRrZy","W6DZxmoJ","W5zgg8oremowWPldJein","vx12qKVcTaxdRG","W6JdLcOlWPG6rx8","W7/dS8kzeIq","vSk6WRhdQ8otDCoSFvHR","zmoChW","W547y8o2","W5eVASoIyW","DqJdNvhdMh4","omooW5W6","WOfglW","W4KQySo8s8okWOmfWOq","vmkQWQxdQW","uCooWQ47hW","W78qWPtdTXm","WQZcLCozs3RcKbFdIJ4xsuJcNq","W7OoWOFdMrzy","rCoaWPerxG","WPXaBG","WRvbWQzMW7W","B8kod2LRWP8","BCkpAGKh","EeiYW5NcSw1dWQWF","chpcV8o5yG","q8owsCk0W4pdQtvNr8k6","bJm6W43cGa","W4NdUCknWQS8","W5eBj8ofaSopWPZcHG","i8oGfamD","W5WXySoqrmooWOi","vCkHWRxcQG","nZxdSbXm","D8olWR8","WRldTc5XW6G","W7BdO0RdRX4","W5ldOKVdKG","W7FdLc0AWPm1qNS","W43dKmkMWO8Z","w8oqWRnKBmkXjCoXCW","WPDECG","ed1era","WQRcNG7dICkQnq","W7zOwCoUWRVdGq","W7OTjmomWQfGW5qxW75yWP5BW6K","uq/dTLhdQG","A3ZcJ33dGq","euVcRSotuW","WRtdHHddJq","W6JcImkDWPtdJW","W5WjhSof","laNdKH96jrW","ySoqWQ8R","rCk9WRhdVCoRq8o0Fa","g19Mehi","W6jRCSo/WQi","n8oYwSkBW47dRa","oCkFgwf0WRpdVsdcMmkY","dgLx","iCoXW4SegbdcRa","WPRcKmonaH0","W5v4WOSsuW","W77dKc0A","A8kDfgu","B8kogM07","BbZdUxhdQG","WR56mCoxFq","s8kWW6NcVmkSfNNdUSoB","w8ozWRWXWO0","W7Xlymo3WRy","W415qa","amkJWPlcUa","zCkYWRRdGCo2","kHbGDfO","a8oRf8k+WRG","WOxcImopiGe","WQXMn8kKfSkY","W6ldPCk/ncm","WOTbFCouqcev","WRNdQqLPW7DeW6zcW50","e8o3WQDRWQi","ov1PbK0","WO3cMs7dU8kj","a8oPgSkVWQC","W6NdLIOwWPy","W5qYx8o3qa","emkNWOJcVXO","bMKmqJFdLCobpNvd","bSkny8oug1SAkxRdHa","WR/dHa12W48","y8ojWQ4npq","l8o2sCkEW4BdRCkL","cIRdUWXo","ymonWOWLF8k5gmoQBSo/","WPDgcmonhW","fHOEW6BcSW","C8kPWRddGSom","W4KAzCkxcmouWPZdQmo8WQK","ns1JtNy","W4hdHvRdHW","WPfAxCouvWKi","z217W5zy","WPpcVb7cGKJdKCkcWRelseRcRqq","bCoDfaK","W5DLWOSsxCokkSkAxrC","wflcMwdcJa","rCkJWRtdQCozbCoKCv9+","W7ZcUCkhWOxdL8kNW68uzCoq","e8o4WOy","fCoSWP9IWRK","qCosqCkvWPy","WQO/WORdNHfobmo+W63dQG","espdPGjv","EutdIvNdJ31DWRDMFW","nmkEWO1AvKddI8oKAmk9W6hdKa","A8k0WOBdUCoB","d2nuhq","Amo6rSofdSkjlmoJW7nI","e8ohfsq6W6ZdTG","WRRcT8o6adFdICktqa","W7xcS8kGWRtdGmkSW6WABmoq","iCoWWQDjWOq","FmovWRyQl8kQmmk4oCk0","W6hdG1xdLaRdJtWzxge","cmkQrmkB","WRL0n8kMlSk1WRW","WR7dRGTPW7b4W65CW6FdLa","pmofW4CYWQFcSCkqvG","WRiGWQxdTsVcQYHe","W7tdSH9K","W7JdQ1pdI8o/","u8k6WQ/dQW","WObtrCoVsG","cmoxiCk8WQa","W7tdJ8kEca","WQmKWQldPIW","WQtcT8oNfYZdJW"];return b3=function(){return t},b3()}var h0={};async function KXt(){let t=je,e={BySxK:function(i,a){return i||a},HLGVH:t(445,"Flqq")+t(756,"snsi"),TdoGM:t(642,"HMO1")+t(363,"Tf(V")+t(720,"Tf(V")+t(671,"smET")+t(353,"QWuT")+t(1037,"3P7O")+t(473,"Gmb(")+t(641,"oODV")+t(447,"5f2!")+t(395,"FlDb")+t(883,"%hwX")+"19",MFkDp:function(i,a){return i===a}},r=Date[t(755,"p3E!")](),n=Object[t(652,"s]bs")]({Cookie:e[t(894,"%Z*W")](yc,""),"Content-Type":e[t(907,"2vLy")]},qx),s=await he[t(584,")2Yv")](e[t(495,"Wg$5")],{conversation_id:t(686,"QWuT")+r,conversation_type:3,msg_id:r+t(647,"Fzxt")},{headers:n})[t(896,"Gmb(")](i=>{let a=t;return console[a(313,"yxuT")](i),i[a(926,"j*zV")]||{status:500,data:{}}});return e[t(1063,"n*PT")](s?.[t(371,"fLji")],-1*-98+4864*-1+4966)&&e[t(327,"s]bs")](s?.[t(679,"IwqU")]?.[t(308,"5f2!")],200)&&e[t(276,"R[2q")](s?.[t(713,"oODV")]?.[t(410,"yxuT")],4845+-17*285)&&s?.[t(1083,"n&P]")]?.[t(400,"2vLy")]?.[t(577,"HMO1")]||""}async function fBe(t,e,r,n){let s=je,i={csAxk:function(l,d){return l||d},iVlev:function(l,d){return l(d)},QCsqt:function(l){return l()},YUzrE:s(956,"QWuT")+s(529,"%Z*W"),oCLoD:function(l,d){return l===d}};if(i[s(1071,"oODV")](!t,!r)||!n||(!e&&(await i[s(680,"Fzxt")](cG,{shareId:t}),e=zd[t]?.[s(1050,"4iKp")]||""),!e))return null;let a={fids:[r],fids_token:[n],pwd_id:t,stoken:e,speedup_session:""},o=await i[s(517,"R[2q")](KXt);o&&(a[s(595,"4iKp")]=o);let c=Object[s(503,"Wg$5")]({Cookie:i[s(1064,"Fzxt")](yc,""),"Content-Type":i[s(827,"q0$o")]},qx),u=await he[s(688,"snsi")](s(654,"3M6]")+s(499,"fLji")+s(325,"M9FG")+s(746,"R[2q")+s(990,"!$Ln")+s(1076,"3M6]")+Za,a,{headers:c})[s(392,"IwqU")](l=>{let d=s;return console[d(749,"Flqq")](l),l[d(764,"p3E!")]||{status:500,data:{}}});return i[s(1038,"HMO1")](u?.[s(380,"3P7O")],-3449+-7*-787+-3*620)&&u?.[s(900,"Gmb(")]?.[s(351,"BYRA")]?.[-374*23+-1432+1*10034]?.[s(512,"q@6)")+"rl"]?u[s(292,"FlDb")][s(823,"p3E!")][0]:null}async function pBe(t,e,r,n,s){let i=je,a={OWCxM:function(c,u){return c(u)},Ckrxl:function(c,u,l){return c(u,l)},IrQWZ:i(285,"snsi"),gSWur:function(c,u,l,d,f){return c(u,l,d,f)},NUwea:i(819,"sAc1"),JXWXK:function(c,u){return c>u},RHctj:function(c,u){return c(u)}};if(await a[i(620,"j*zV")](jXt,s),s){let c=Object[i(993,"LdZ7")](h0);for(let u of c)delete h0[u]}if(!Dh||!e&&(await a[i(1053,"oODV")](cG,{shareId:t}),!zd[t]))return null;let o=await a[i(775,"lQpT")](eo,i(636,"5f2!")+i(352,"2vLy")+"?"+Za,{fid_list:[r],fid_token_list:[n],to_pdir_fid:Dh,pwd_id:t,stoken:e||zd[t][i(489,")2Yv")],pdir_fid:"0",scene:a[i(703,"Fzxt")]});if(o[i(289,"5f2!")]&&o[i(981,"jMYK")][i(886,"2vLy")]){let c=0;for(;;){let u=await a[i(999,"%hwX")](eo,i(556,"jMYK")+Za+i(401,"Flqq")+o[i(936,"q0$o")][i(984,"nTP(")]+(i(878,"5f2!")+i(408,"n&P]"))+c,{},{},a[i(718,"LdZ7")]);if(u[i(433,"Wg$5")]&&u[i(693,"uZ@5")][i(663,"q@6)")]&&u[i(948,"wgCG")][i(448,"uZ@5")][i(737,"M9FG")+i(938,"smET")]&&a[i(540,"lQpT")](u[i(1018,"%hwX")][i(962,"Flqq")][i(645,"wrcr")+i(417,"4iKp")][i(625,"sAc1")],1*-6+-2*4784+9574))return u[i(579,"HMO1")][i(986,"PlI^")][i(744,"Z[9h")+i(528,"lFql")][1*6937+-7*763+-1596];if(c++,a[i(834,"s]bs")](c,5))break;await a[i(739,"3ASk")](Qd,9706+-537*-16+-62*279)}}return!1}async function mBe(t,e,r,n){let s=je,i={aUKBW:function(o,c){return o===c},mPNPA:s(735,"Fzxt"),zCyzC:function(o,c){return o(c)},TJotE:function(o,c,u,l,d,f){return o(c,u,l,d,f)},goOOR:function(o,c,u){return o(c,u)},QLbRl:s(354,"3ASk")+s(750,"Z[9h")+s(653,"IwqU"),oyYbf:s(934,"Fzxt")};if(i[s(701,"i#*h")](t,i[s(412,"i#*h")]))return await i[s(532,"PlI^")](GXt,r);if(!h0[r]){let o=await i[s(332,"LdZ7")](pBe,t,e,r,n,!0);if(!o)return null;h0[r]=o}let a=await i[s(444,"betL")](eo,s(419,"lQpT")+s(487,"4iKp")+Za,{fid:h0[r],resolutions:i[s(290,"Gmb(")],supports:i[s(704,"j*zV")]});return a[s(723,"Flqq")]&&a[s(314,"R[2q")][s(479,"5f2!")]?a[s(370,"i#*h")][s(340,"HMO1")]:null}async function lG(t,e,r,n,s){let i=je,a={SlWbw:function(c,u){return c===u},reqzF:i(463,"M9FG"),XICTz:function(c,u){return c(u)},wXkPX:function(c,u,l,d,f,p){return c(u,l,d,f,p)},EMylT:function(c,u,l){return c(u,l)}};if(a[i(300,"jMYK")](t,a[i(1059,"%e99")]))return await a[i(440,"FlDb")](uG,r);if(!h0[r]){let c=await a[i(665,"q0$o")](pBe,t,e,r,n,s);if(!c)return null;h0[r]=c}let o=await a[i(569,"BYRA")](eo,i(286,"FlDb")+i(403,"q@6)")+Za,{fids:[h0[r]]});return o[i(661,"s]bs")]?o[i(407,"q@6)")][-5*162+5258+4*-1112]:null}async function VXt(t,e,r,n,s){let i=je,a={LYNDs:function(c,u){return c===u},DSVuT:i(587,"BYRA"),cntBr:function(c,u){return c(u)},XRIMt:function(c,u,l,d,f){return c(u,l,d,f)},VTsSs:function(c,u,l,d,f,p){return c(u,l,d,f,p)}};if(a[i(740,"Ybex")](t,a[i(476,"lQpT")]))return await a[i(947,"3P7O")](uG,r);let o=await a[i(453,"q0$o")](fBe,t,e,r,n);return o?.[i(406,"wgCG")+"rl"]?o:await a[i(563,"j*zV")](lG,t,e,r,n,s)}async function hBe(t){let e=je,r={sNIlj:function(n,s){return n(s)},SemDt:e(1022,"3ASk")+e(762,"3ASk"),yqQaM:function(n,s){return n(s)},oulNE:function(n,s){return n(s)},xMycp:function(n,s,i){return n(s,i)},ZScsi:e(604,"LdZ7")};if(r[e(882,"Ybex")](d3,r[e(581,"Fzxt")])){let n=r[e(669,"oODV")](lBe,t);if(n){let s=await r[e(610,"j*zV")](QXt,n);return s=s[e(543,"j*zV")](i=>{let a=e;return{vod_id:[n[a(980,"LdZ7")],i[a(972,"IwqU")],i[a(307,"BYRA")],i[a(1028,"q0$o")+a(415,"LdZ7")],i[a(554,"4iKp")]?i[a(1025,"n&P]")][a(347,"PlI^")]:"",i[a(732,"smET")]?i[a(304,"Z[9h")][a(266,"j*zV")+a(712,"R[2q")]:""][a(597,"wgCG")]("*"),vod_name:i[a(632,"!$Ln")],vod_size:i[a(484,")2Yv")],vod_group:i[a(430,"wgCG")]}}),r[e(674,"n&P]")](Ps,await r[e(862,"3P7O")](cBe,r[e(1006,"wrcr")]),s)}else return{}}}var x3={},Bh={},oBe={},nG=(7318+-1*1222+-2536*2)*(-11*-89+7444*-1+6977),dG=(9130+4408*2+-16922)*(-4490+-172*-2+4402);function aG(){let t=je;return(globalThis[t(501,"betL")]||[])[t(1035,"betL")](r=>r[t(416,"betL")]===t(510,"q0$o"))||{}}function zXt(t){let e=je,r={InFhy:function(n,s){return n<s},VHsbF:function(n,s){return n>=s},gVBRQ:function(n,s){return n===s},RLSRB:function(n,s){return n===s},KYwRH:function(n,s){return n===s},UKHaQ:function(n,s){return n===s},XpsjN:function(n,s){return n===s},KbNUW:function(n,s){return n===s},vLAFk:function(n,s){return n===s},KhHVJ:function(n,s){return n>=s},lGufM:e(608,"Z[9h"),qCCIX:e(1021,"Wg$5"),ncFfG:function(n,s){return n===s},hTCqS:e(490,"PLva"),rcbov:e(666,"oODV"),pxqeu:function(n,s){return n===s},nljQn:e(394,"3M6]"),wIxhv:function(n,s){return n===s}};if(!t||r[e(345,"wrcr")](t[e(664,"FlDb")],-4*-2179+-3215*3+3*311))return!1;if(r[e(790,"wgCG")](t[e(941,"lQpT")],4215*1+298*27+-12253)&&r[e(462,"Wg$5")](t[3937+1*2613+-6550],-9*345+-2*85+3412)&&r[e(783,"betL")](t[331*21+-3928+-3022],-1*-9166+6341*1+1*-15427)&&r[e(391,"nTP(")](t[1282*-4+-7092+12222],-50*116+9875+-571*7)&&r[e(576,"3ASk")](t[-2*724+-1828*-1+13*-29],71)&&r[e(480,"R[2q")](t[-7065*-1+-6025*1+-1036],-38*237+1573+7446)&&r[e(853,"oODV")](t[10*-239+-97*-2+2201],4529+-1*-5398+-9917)&&r[e(678,"i#*h")](t[6],-261*-23+-4155+-1822)&&r[e(338,"jMYK")](t[-1318+-1*-1325],1*6106+58*93+1*-11490)||r[e(745,"j*zV")](t[3*2903+-8831+122],5275+-5*1004)&&r[e(779,"%hwX")](t[-821*2+5521+-3878],-11462+2*5839)&&r[e(491,"2vLy")](t[-3*-41+8*-122+5*171],10*-13+-1*-3243+-2858))return!0;if(r[e(931,"betL")](t[e(582,"%Z*W")],-1*751+-1278+2035)){let n=t[e(623,"wrcr")](0,6)[e(951,"nTP(")](r[e(969,"HMO1")]);if(r[e(461,"lQpT")](n,r[e(916,"Flqq")])||r[e(799,"%e99")](n,r[e(793,"oODV")]))return!0}return r[e(602,"q@6)")](t[e(803,"4iKp")],1*4723+-6666*-1+-1*11377)&&r[e(539,"PlI^")](t[e(933,"oODV")](51*-98+1*9686+-4*1172,-8761*-1+4*108+-9189)[e(538,"n&P]")](r[e(1036,"2vLy")]),r[e(736,"sAc1")])&&r[e(1072,")2Yv")](t[e(634,"Ybex")](8,1*4791+-4256+523*-1)[e(575,"%Z*W")](r[e(1047,"Ybex")]),r[e(959,"lFql")])?!0:r[e(843,"4iKp")](t[-1719+206*20+-2401],4209+1381*-3)&&r[e(672,"QWuT")](t[-1751+6558*-1+8310],17*141+-7*-601+-6527)}function YXt(t){let e=je,r={edheI:function(s,i){return s-i},HZcPT:function(s,i){return s+i},vavcf:function(s,i){return s<=i},qlrNN:function(s,i){return s===i},MZFRY:function(s,i){return s+i},kBgiG:function(s,i){return s===i},PdsBA:function(s,i){return s+i},tETNX:function(s,i){return s+i},NodeN:function(s,i){return s>=i}},n=Math[e(628,"R[2q")](r[e(1060,"yxuT")](t[e(897,"Wg$5")],-1757*5+-1784+10577),r[e(1011,"%e99")](dG,1*4322+-2869+-2643*-1));for(let s=-790*12+5041*-1+1*14522;r[e(519,"PLva")](s,n);s++)if(r[e(281,"3ASk")](t[r[e(1015,"lFql")](s,-197*-50+-3*-1812+-15282)],4026*1+-3803+-121)&&r[e(851,"lQpT")](t[r[e(836,"Wg$5")](s,-35*-10+8880+-9225)],-6*-776+-5486+2*473)&&r[e(592,"wgCG")](t[r[e(656,"4iKp")](s,-11860+-698*-17)],8968+8847*-1)&&r[e(912,"3P7O")](t[r[e(968,"IwqU")](s,5181+381*3+-6317)],49*-188+-9380+18704)){let i=t[e(377,"BYRA")+"BE"](s);if(r[e(311,"wrcr")](i,1117*4+-7509+3049))return s}return-(-15*321+1084*6+-8*211)}function JXt(t){let e=je,r={ktCfF:e(335,"5f2!"),mLbzY:function(i,a){return i>a},nKlMC:function(i,a){return i<=a},FDMIt:function(i,a){return i+a},ifTei:function(i,a){return i===a},nFiiM:function(i,a){return i+a},gxTYp:e(619,"IwqU"),AKhVr:e(331,"q0$o"),QWpjv:function(i,a){return i+a}},n=Buffer[e(760,"betL")](r[e(389,"%Z*W")]),s=t[e(470,"oODV")](n,1);for(;r[e(593,"3M6]")](s,61*-17+-1442+-2479*-1);){if(r[e(979,"PlI^")](r[e(1080,"s]bs")](s,-1*5149+1*-6432+1*11593),t[e(558,"PLva")])&&r[e(320,"q@6)")](t[e(583,"M9FG")](r[e(924,"Tf(V")](s,-901*3+4987+1138*-2),r[e(1084,"3M6]")](s,-446*4+-4844+6640))[e(366,"q0$o")](r[e(271,"j*zV")]),r[e(974,"PLva")]))return s;s=t[e(561,"Ybex")](n,r[e(676,"M9FG")](s,-82*71+-8106*-1+-1*2283))}return-(7*-746+-1*957+6180)}function XXt(t){let e=je,r={lPsmh:function(s,i){return s-i},CgmID:function(s,i){return s+i},Iaojt:function(s,i){return s<=i},WnlXb:function(s,i){return s===i},uMbPL:function(s,i){return s+i},kmTme:function(s,i){return s===i},yfgpo:function(s,i){return s+i}},n=Math[e(987,"Gmb(")](r[e(494,"lQpT")](t[e(725,"snsi")],-2989+255*-32+11525),r[e(277,"i#*h")](dG,4180+-58*-59+-7414));for(let s=2791+155*-18;r[e(989,"Wg$5")](s,n);s++)if(r[e(796,"PLva")](t[s],67*-1+-24*-317+-83*90)&&r[e(748,"!$Ln")](t[r[e(344,"i#*h")](s,967*-1+521*9+-3534*1)],4813+-4759*1+17)&&r[e(562,"Fzxt")](t[r[e(915,"snsi")](s,1*-9357+-2923+1808*7)],46*-1+-3781*-1+458*-8))return s;return-(557*17+-3387+-1*6081)}function ZXt(t){let e=je,r={pSEcu:function(i,a){return i(a)},eogyb:function(i,a){return i(a)},ywqbl:e(418,"p3E!"),xYdwn:function(i,a){return i<=a},dmdDz:function(i,a){return i>a}};if(!r[e(443,"QWuT")](zXt,t))return 0;let n=[r[e(268,"betL")](YXt,t),t[e(923,"4iKp")](Buffer[e(943,"oODV")](r[e(288,"!$Ln")]),1*-454+3911+-3456),t[e(386,"Z[9h")](Buffer[e(546,"4iKp")]([26,69,81*5+6*1300+-7982,-194*-13+-3242*-1+-3*1867]),-8735+624*14),r[e(567,"QWuT")](JXt,t),r[e(815,"sAc1")](XXt,t)][e(727,"nTP(")](i=>Number[e(784,"R[2q")](i)&&i>2878+3478*1+-1*6356);if(!n[e(589,"IwqU")])return 0;let s=Math[e(375,"sAc1")](...n);return r[e(555,"n*PT")](s,-537*-7+9045+66*-194)||r[e(871,"FlDb")](s,dG)?-2223+-39*-57:s}async function eZt(t){let e=je,r={RBDrE:e(603,"j*zV")+"r",PxzOh:function(a,o){return a*o},nkfum:function(a,o){return a+o},zxCIo:function(a,o){return a+o},yWXmx:function(a,o){return a||o},orxPh:function(a,o){return a-o},KOAQJ:function(a,o){return a(o)},aWPzA:function(a,o){return a>o}};if(!t)return{isMasked:!1,skipBytes:0};let n=await he[e(929,"Flqq")](t,{responseType:r[e(821,"Wg$5")],timeout:r[e(970,"oODV")](5173+-107*39,-58*46+-6006+8682),maxContentLength:r[e(622,"QWuT")](nG,-92*-20+13*323+-5015),maxBodyLength:r[e(753,"q@6)")](nG,-7*17+3897+-2754),headers:Object[e(837,"2vLy")]({Cookie:r[e(830,"lFql")](yc,""),Range:e(888,"IwqU")+r[e(273,"jMYK")](nG,1)},qx)})[e(847,"uZ@5")](a=>{let o=e;return console[o(691,"4iKp")](a),a[o(426,"fLji")]||null});if(!n||!n[e(460,"Z[9h")])return{isMasked:!1,skipBytes:0};let s=Buffer[e(1049,"2vLy")](n[e(433,"Wg$5")])?n[e(1075,"%Z*W")]:Buffer[e(771,"IwqU")](n[e(351,"BYRA")]),i=r[e(472,"jMYK")](ZXt,s);return{isMasked:r[e(384,"n*PT")](i,-471*3+1138*-8+809*13),skipBytes:r[e(376,"p3E!")](i,0)?i:223*-19+-142*9+-5515*-1}}async function oG(t,e){let r=je,n={RgJWT:function(o,c){return o||c},APBHk:function(o,c){return o===c},dFEXG:function(o,c){return o(c)}};if(n[r(387,"i#*h")](!t,!e))return{isMasked:!1,skipBytes:0};let s=oBe[t];if(s&&n[r(996,"Ybex")](s[r(438,"wrcr")],e))return s;let i=await n[r(787,"BYRA")](eZt,e),a={downUrl:e,isMasked:n[r(293,"p3E!")](i[r(789,"3ASk")],!0),skipBytes:i[r(1056,"HMO1")]||4329+1443*-3};return oBe[t]=a,a}async function E3(t,e){let r=je,n={JlUne:function(c,u){return c(u)},xzYIo:function(c,u){return c==u},YOUvb:r(715,"j*zV"),WtUdn:r(1008,"%e99"),ZUtHj:function(c,u,l,d,f){return c(u,l,d,f)},ulvHl:function(c){return c()},zFZQy:function(c,u){return c===u},MVDhQ:function(c,u,l,d,f,p){return c(u,l,d,f,p)},GnoNo:r(877,"sAc1"),WyGCk:function(c,u,l,d,f,p){return c(u,l,d,f,p)},oPOTl:function(c,u){return c==u},hRnhA:r(425,"sAc1")+r(800,"%hwX"),nEhxs:r(606,"!$Ln"),ZHseA:function(c,u,l){return c(u,l)},VEzkv:function(c,u){return c==u},RoLbd:function(c,u,l,d,f,p,m){return c(u,l,d,f,p,m)},xzHeM:function(c,u){return c*u}};await n[r(450,"yxuT")](kv,t);let s=t[r(1030,"3P7O")][r(439,"Z[9h")],i=t[r(467,"PlI^")][r(696,"Z[9h")],a=t[r(817,"q@6)")][r(922,"p3E!")],o=t[r(728,"snsi")][r(961,"QWuT")];if(n[r(893,"Flqq")](s,n[r(1020,"jMYK")])){let c="",u=o[r(346,"Fzxt")]("*"),l=t[r(782,"j*zV")][r(533,"FlDb")];if(n[r(551,"HMO1")](i,n[r(702,"%hwX")])){!x3[u[-579*1+-1*7391+7971]]&&(x3[u[-7451+-39*-141+1953]]=(await n[r(367,"PlI^")](mBe,a,n[r(637,"Fzxt")](decodeURIComponent,u[-2*-3358+1771+3*-2829]),u[-9803+1*3209+6595],u[2]))[r(449,"Fzxt")](A=>A[r(398,"LdZ7")])),c=x3[u[1]][r(953,"3M6]")](A=>A[r(711,"fLji")][r(694,"HMO1")+"e"]()==l)[1*-5237+-9095+14332][r(1043,"p3E!")][r(758,"sAc1")],e[r(1023,"3P7O")](c);return}else{let A=n[r(381,"3M6]")](aG),g=n[r(431,"PLva")](A[r(881,"fLji")],!0);if(!Bh[u[1*-9283+9327+1*-43]]){let b=g?await n[r(942,"s]bs")](VXt,a,n[r(901,"Ybex")](decodeURIComponent,u[0]),u[1],u[2],n[r(932,"PlI^")](l,n[r(684,"Ybex")])):await n[r(413,"wrcr")](lG,a,n[r(1073,")2Yv")](decodeURIComponent,u[0]),u[1],u[2],n[r(427,"q@6)")](l,n[r(434,"wrcr")]));b?.[r(600,"2vLy")+"rl"]&&(Bh[u[-1*5993+6470+-476*1]]=b)}if(c=Bh[u[-43*181+64+7720*1]]?.[r(508,"fLji")+"rl"],!c){e[r(358,"wrcr")](109*-39+-2577+7328),e[r(832,"uZ@5")](n[r(1061,"betL")]);return}if(n[r(405,"fLji")](l,n[r(1052,"yxuT")])){e[r(983,"HMO1")](c);return}}let d=n[r(776,"M9FG")](aG),f=d[r(840,"yxuT")]||512,p=d[r(318,"nTP(")]||-3282+-7867*-1+-4575*1,m=await n[r(1007,"Gmb(")](oG,u[-2664+1*2341+-6*-54],c),h=m[r(967,"BYRA")]&&n[r(706,"Wg$5")](l,n[r(992,"p3E!")])?m[r(1056,"HMO1")]:65*125+1*6131+3*-4752;return await n[r(324,")2Yv")](Wx,t,e,c,u[1283*-1+1*-5226+6510],Object[r(469,"sAc1")]({Cookie:yc},qx),{chunkSize:n[r(541,"j*zV")](-278*29+-9884+-1897*-10,f),poolSize:p,timeout:n[r(995,"lFql")](-1165*8+-3358+-14*-977,-569*-7+-8*443+-429),skipBytes:h})}}async function _3(t,e){let r=je,n={ZcKey:function(c,u){return c(u)},gUtnj:function(c,u){return c(u)},vuknD:function(c,u){return c(u)},rcJWi:r(822,"jMYK"),UGzxr:function(c,u){return c+u},kqzwF:r(420,"FlDb")+"rk",UAEUY:function(c,u){return c(u)},KFUVD:function(c){return c()},NBUoJ:function(c,u){return c===u},oQSDE:function(c,u){return c===u},MTfub:r(801,"Flqq"),cUeXb:function(c,u){return c(u)},JbIiW:function(c,u,l,d,f){return c(u,l,d,f)},IEezS:function(c,u,l){return c(u,l)},mJFEQ:function(c){return c()},EjrTy:function(c,u,l,d,f,p){return c(u,l,d,f,p)},WVihm:function(c,u,l){return c(u,l)},bZJVI:function(c){return c()},DfinE:r(724,"jMYK"),lXxpg:r(1057,"yxuT"),KgSwg:r(988,"uZ@5"),xrCmV:r(906,"3P7O"),pXlgH:function(c){return c()}};await n[r(482,"Flqq")](kv,t);let s=t[r(944,"3M6]")][r(564,"BYRA")],i=t[r(761,"lFql")].id,a=i[r(572,"3ASk")]("*"),o=-3889*-2+-797*-11+3309*-5;if(s[r(542,"3ASk")](await n[r(1048,"uZ@5")](cBe,n[r(521,"PlI^")]))){let c=n[r(891,"nTP(")](n[r(807,"QWuT")](n[r(952,"PLva")](qXt,t),t[r(757,"Wg$5")][r(778,"M9FG")]),n[r(769,"Z[9h")]),u={parse:0,url:[],header:Object[r(596,"smET")]({Cookie:yc},qx)};a[-4*-1672+-317*5+1*-5099]&&(u[r(752,"HMO1")]={subt:c+r(570,"Tf(V")+a[212*24+174*-23+2*-543]+"/"+n[r(493,"sAc1")](encodeURIComponent,a[6229+-9493*1+3265])+"*"+a[-712+-1*-7134+6418*-1]+"*"+a[-7994+-197*1+3*2732]+r(627,"wgCG")});let l=n[r(552,"QWuT")](aG),d=n[r(873,"oODV")](l[r(854,"%hwX")],!0),f=u[r(651,"3P7O")],p=()=>{let y=r;f[y(802,"s]bs")]("\u4EE3\u7406"),f[y(297,"Flqq")](c+y(884,"!$Ln")+a[83*83+-917+-5972]+"/"+n[y(585,"smET")](encodeURIComponent,a[7*1338+-1366*1+-7999])+"*"+a[-7185*1+-4869+-1507*-8]+"*"+a[93*-33+-9007+12079]+y(379,"4iKp"))},m=()=>{let y=r;f[y(477,"FlDb")]("\u4EE3\u7406"),f[y(1017,"%Z*W")](c+y(624,"jMYK")+a[41*-116+-8187+12943]+"/"+n[y(765,")2Yv")](encodeURIComponent,a[1*-9025+3734+7*756])+"*"+a[-1166+146*8]+"*"+a[3]+y(675,"q@6)")),f[y(1031,"3P7O")]("\u539F\u753B"),f[y(295,"IwqU")](c+(y(998,"PlI^")+y(267,"2vLy"))+a[-1709+1*3419+-1710]+"/"+n[y(1044,"M9FG")](encodeURIComponent,a[-5102*-1+3*-1201+1*-1498])+"*"+a[4*-1228+-715+433*13]+"*"+a[-491*-8+2245+-6170]+y(855,"3ASk"))};if(d){let y=n[r(456,"oODV")](a[0],n[r(516,"p3E!")])?await n[r(530,"Tf(V")](uG,a[2]):await n[r(699,"smET")](fBe,a[0],a[1],a[2],a[3]);if(y?.[r(616,"%hwX")+"rl"])return Bh[a[2]]=y,(await n[r(835,"%Z*W")](oG,a[-5239+5*1652+-3019],y[r(917,"Ybex")+"rl"]))[r(955,"%e99")]?(n[r(429,"lQpT")](p),u):(n[r(1086,"3M6]")](m),u)}if(!Bh[a[-4957+2*-3239+11437*1]]){let y=await n[r(617,"nTP(")](lG,a[0],a[1],a[2],a[3],!1);y?.[r(485,"PLva")+"rl"]&&(Bh[a[881*-7+7489+-1320]]=y)}let h=Bh[a[736*3+-1313+19*-47]]?.[r(887,"yxuT")+"rl"];if(h&&(await n[r(1079,"Fzxt")](oG,a[2],h))[r(946,"wrcr")])return n[r(424,"LdZ7")](p),u;let A=(await n[r(747,"%e99")](mBe,a[-19*477+-79*59+-13724*-1],a[-10*-159+-1*9403+-7814*-1],a[-100*-89+-4657*-1+1*-13555],a[6132+1*-6129])||[])[r(598,"%e99")](y=>y[r(683,"i#*h")]);x3[a[2]]=A;let g=["\u8D85\u6E05","\u84DD\u5149","\u9AD8\u6E05","\u6807\u6E05","\u666E\u753B","\u6781\u901F"],b=["4k","2k",n[r(502,"5f2!")],n[r(359,"IwqU")],n[r(876,"Fzxt")],n[r(940,"q@6)")]];return n[r(607,"FlDb")](m),A[r(791,"Z[9h")](y=>{let x=r;o=b[x(960,"nTP(")](y[x(660,"uZ@5")]),f[x(864,"wgCG")](g[o]),f[x(436,"q0$o")](c+x(1026,"fLji")+y[x(464,"n&P]")][x(498,"jMYK")+"e"]()+"/"+a[2208+1688*2+-5584]+"/"+n[x(301,"n*PT")](encodeURIComponent,a[-31*35+-291*6+2832*1])+"*"+a[-3946*1+-2486+-3217*-2]+"*"+a[14*-221+405+4*673]+x(423,"%e99"))}),u}}var bl=Re(Jn(),1);var C4e=Re(S0(),1),Jd=Re(Jn(),1);var M3="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",Gv={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},I4e={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},gtr=async t=>{let e=Jd.default.enc.Hex.stringify(Jd.default.MD5(t.config.uc.cookie)).toString();return(await t.db.getObjectDefault("/uc",{}))[e]??""},Atr=async(t,e)=>{let r=Jd.default.enc.Hex.stringify(Jd.default.MD5(t.config.uc.cookie)).toString();await t.db.push(`/uc/${r}`,e)},rK=async t=>{let e=Jd.default.enc.Hex.stringify(Jd.default.MD5(t.config.uc.ut)).toString();return(await t.db.getObjectDefault("/uc",{}))[e]??""},nK=async(t,e)=>{let r=Jd.default.enc.Hex.stringify(Jd.default.MD5(t.config.uc.ut)).toString();await t.db.push(`/uc/${r}`,e)};async function sK(t){t.get("/qrcode",async(r,n)=>{try{let s=await Ae.get(`https://api.open.uc.cn/cas/ajax/getTokenForQrcodeLogin?client_id=381&v=1.2&request_id=${Date.now()}`,{headers:{"User-Agent":M3,referer:"https://drive.uc.cn"}}),i=s.data.data.members.token,a=hl(s.headers["set-cookie"]),o=I4e.encode({token:i,cookies:a}),c=`https://su.uc.cn/1_n0ZCv?uc_param_str=dsdnfrpfbivesscpgimibtbmnijblauputogpintnwktprchmt&token=${i}&client_id=381&uc_biz_str=S%3Acustom%7CC%3Atitlebar_fix`,u=await C4e.default.toBuffer(c,{width:300,height:300});n.header("X-Session-Key",o),n.send(u)}catch(s){console.error("UC\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",s),n.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(r,n)=>{let{sessionKey:s}=r.body,i=I4e.decode(s);if(!i)return n.send({code:0,data:{status:Gv.EXPIRED}});let{token:a,cookies:o}=i;try{let c=await Ae.get(`https://api.open.uc.cn/cas/ajax/getServiceTicketByQrcodeToken?__t=${Date.now()}&token=${a}&client_id=381&v=1.2&request_id=${Date.now()}`,{headers:{"User-Agent":M3}});if(c.data.status===2e6){let u=await e(c.data.data.members.service_ticket,o);n.send({code:0,data:{status:Gv.CONFIRMED,cookie:u}})}else c.data.status===50004002?n.send({code:0,data:{status:Gv.EXPIRED}}):n.send({code:0,data:{status:Gv.NEW}})}catch(c){console.error("UC\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",c),n.send({code:0,data:{status:Gv.NEW}})}});async function e(r,n){let s=[...n],i=await Ae.get(`https://drive.uc.cn/account/info?st=${r}&fr=pc&platform=pc`,{headers:{"User-Agent":M3,Cookie:s.join(""),referer:"https://drive.uc.cn"}});i.headers["set-cookie"]&&(s=s.concat(hl(i.headers["set-cookie"])));let a=await Ae.post("https://pc-api.uc.cn/1/clouddrive/transfer/upload/pdir?pr=UCBrowser&fr=pc",{},{headers:{"User-Agent":M3,Cookie:s.join("")}});return a.headers["set-cookie"]&&(s=s.concat(hl(a.headers["set-cookie"]))),s.join("")}t.post("/cookie",(r,n)=>{n.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(r,n)=>{n.send({code:0,data:await gtr(r.server)})}),t.put("/cookie",async(r,n)=>{await Atr(r.server,r.body.cookie),n.send({code:0})}),t.get("/ut",async(r,n)=>{n.send({code:0,data:await rK(r.server)})}),t.put("/ut",async(r,n)=>{await nK(r.server,r.body.ut),n.send({code:0})})}var Ec={DeviceID:"07b48aaba8a739356ab8107b5e230ad4",RefreshToken:"",AccessToken:""},Is={api:"https://open-api-drive.uc.cn",clientID:"5acf882d27b74502b7040b0c65519aa7",signKey:"l3srvtd7p42l0d0x1u8d7yc8ye9kki4d",appVer:"1.6.8",channel:"UCTVOFFICIALWEB",codeApi:"http://api.extscreen.com/ucdrive"};function N4e(t){return String(t||"").split(",")[0].trim()}function T4e(t){return N4e(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function ytr(t){let e=String(t?.server?.address?.()?.url||"").trim(),n=T4e(t?.headers?.["x-forwarded-host"])||T4e(t?.headers?.host);if(!n)return e;let s=N4e(t?.headers?.["x-forwarded-proto"]),i=e.startsWith("https://")?"https":"http";return`${s||String(t?.protocol||"").trim()||i}://${n}`}function xtr(t){return bl.default.MD5(t).toString().slice(0,16)}function Vv(t,e){return bl.default.MD5(t+e).toString().slice(0,16)}function U3(t,e,r,n){let s=t+"&"+e+"&"+r+"&"+n;return bl.default.SHA256(s).toString()}function O4e(t){let r=/https:\/\/drive\.uc\.cn\/s\/([^\\|#/?]+)/.exec(t);return r?{shareId:r[1],folderId:"0"}:null}var El="pr=UCBrowser&fr=pc",oK={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) uc-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch",Referer:"https://drive.uc.cn"},Kv=null,$3=null,aK="https://pc-api.uc.cn/1/clouddrive/",Xd="",cK="",P4e="",v0={},w4e="CatVodOpen",qh=null,W3="";async function k4e(t){Kv=t.server.db;let e=t.server.config.uc;Xd=e.cookie,$3=bl.default.enc.Hex.stringify(bl.default.MD5(e.cookie)).toString(),cK=bl.default.enc.Hex.stringify(bl.default.MD5(e.token)).toString(),P4e=bl.default.enc.Hex.stringify(bl.default.MD5(e.ut)).toString();let r=await Kv.getObjectDefault("/uc",{});if(r[$3]&&(Xd=r[$3]),W3=await rK(t.server),!W3)try{await he.get(`${aK}/file`)}catch(n){n?.response?.data?.length&&(W3=n.response.data,nK(t.server,W3))}}async function pu(t,e,r,n,s){r=r||{},Object.assign(r,oK),Object.assign(r,{Cookie:Xd||""}),n=n||"post";let i=n=="get"?await he.get(`${aK}/${t}`,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&messageToDart({action:"toast",opt:{message:"UC token\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}),o.response||{status:500,data:{}})):await he.post(`${aK}/${t}`,e,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&messageToDart({action:"toast",opt:{message:"UC token\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}),o.response||{status:500,data:{}})),a=s||3;if(i.headers["set-cookie"]){let o=i.headers["set-cookie"].join(";;;").match(/__puus=([^;]+)/);o&&Xd.match(/__puus=([^;]+)/)[1]!=o[1]&&(Xd=Xd.replace(/__puus=[^;]+/,`__puus=${o[1]}`),await Kv.push(`/uc/${$3}`,Xd))}return i.status===429&&a>0?(await Qd(1e3),await pu(t,e,r,n,a-1)):i.data||{}}async function R4e(){let t=await pu(`file/sort?${El}&pdir_fid=${qh}&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(t.data&&t.data.list&&t.data.list.length>0){let e=await pu(`file/delete?${El}`,{action_type:2,filelist:t.data.list.map(r=>r.fid),exclude_fids:[]});console.log(e)}}async function btr(t){if(qh){t&&await R4e();return}let e=await pu(`file/sort?${El}&pdir_fid=0&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(e.data&&e.data.list){for(let r of e.data.list)if(r.file_name===w4e){qh=r.fid,await R4e();break}}if(!qh){let r=await pu(`file?${El}`,{pdir_fid:"0",file_name:w4e,dir_path:"",dir_init_lock:!1});console.log(r),r.data&&r.data.fid&&(qh=r.data.fid)}}async function D4e(t){if(!v0[t.shareId]){delete v0[t.shareId];let e=await pu(`share/sharepage/token?${El}`,{pwd_id:t.shareId,passcode:t.sharePwd||""});e.data&&e.data.stoken&&(v0[t.shareId]=e.data)}}var Etr=[".srt",".ass",".scc",".stl",".ttml"];async function _tr(t){let e=typeof t=="string"?O4e(t):t;if(!e)return[];if(await D4e(e),!v0[e.shareId])return[];let r=[],n=[],s=(a,o)=>a?`${a}/${o}`:o,i=async function(a,o,c,u){let l=u||"",d=100;c=c||1;let f=await pu(`share/sharepage/detail?${El}&pwd_id=${a}&stoken=${encodeURIComponent(v0[a].stoken)}&pdir_fid=${o}&force=0&_page=${c}&_size=${d}&_sort=file_type:asc,file_name:asc`,{},{},"get");if(!f.data)return[];let p=f.data.list;if(!p)return[];let m=[];for(let h of p)if(h.dir===!0)m.push({fid:h.fid,path:s(l,h.file_name)});else if(h.file===!0&&h.obj_category==="video"){if(h.size<1024*1024*5)continue;h.stoken=v0[e.shareId].stoken,h.vod_group=l,r.push(h)}else h.type==="file"&&Etr.some(A=>h.file_name.endsWith(A))&&n.push(h);if(c<Math.ceil(f.metadata._total/d)){let h=await i(a,o,c+1,l);for(let A of h)p.push(A)}for(let h of m){let A=await i(a,h.fid,1,h.path);for(let g of A)p.push(g)}return p};return await i(e.shareId,e.folderId,1,""),n.length>0&&r.forEach(a=>{var o=ml(a,n);o.bestMatch&&(a.subtitle=o.bestMatch.target)}),r}var Zd={};async function B4e(t,e,r,n,s){if(await btr(s),s){let a=Object.keys(Zd);for(let o of a)delete Zd[o]}if(!qh||!e&&(await D4e({shareId:t}),!v0[t]))return null;let i=await pu(`share/sharepage/save?${El}`,{fid_list:[r],fid_token_list:[n],to_pdir_fid:qh,pwd_id:t,stoken:e||v0[t].stoken,pdir_fid:"0",scene:"link"});if(i.data&&i.data.task_id){let a=0;for(;;){let o=await pu(`task?${El}&task_id=${i.data.task_id}&retry_index=${a}`,{},{},"get");if(o.data&&o.data.save_as&&o.data.save_as.save_as_top_fids&&o.data.save_as.save_as_top_fids.length>0)return o.data.save_as.save_as_top_fids[0];if(a++,a>5)break;await Qd(1e3)}}return!1}async function L4e(t,e,r,n){if(!Zd[r]){let i=await B4e(t,e,r,n,!0);if(!i)return null;Zd[r]=i}let s=await pu(`file/v2/play?${El}`,{fid:Zd[r],resolutions:"normal,low,high,super,2k,4k",supports:"fmp4"});return s.data&&s.data.video_list?s.data.video_list:null}async function Str(t,e,r,n,s){if(!Zd[r]){let c=await B4e(t,e,r,n,s);if(!c)return null;Zd[r]=c}let i=await Kv.getObjectDefault("/uc",{}),a=i[cK],o=i[P4e];if(a){let c=[],u="/file",l=Math.floor(Date.now()/1e3).toString()+"000",d=Ec.DeviceID||xtr(l),f=Vv(d,l),p=U3("GET",u,l,Is.signKey),m={method:"GET",url:"https://open-api-drive.uc.cn/file",params:{req_id:f,access_token:a,app_ver:Is.appVer,device_id:d,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Is.channel,method:"streaming",group_by:"source",fid:Zd[r],resolution:"low,normal,high,super,2k,4k",support:"dolby_vision"},headers:{"User-Agent":"Mozilla/5.0 (Linux; U; Android 9; zh-cn; RMX1931 Build/PQ3A.190605.05081124) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1",Connection:"Keep-Alive","Accept-Encoding":"gzip","x-pan-tm":l,"x-pan-token":p,"content-type":"text/plain;charset=UTF-8","x-pan-client-id":Is.clientID}},h=await Ae.request(m);if(h.status===200){let A=h.data.data.video_info.filter(g=>g.accessable)[0];return A.download_url=A.url,A}}else{let c=`file/download?${El}`;o&&(c+=`&ut=${o}`);let u=await pu(c,{fids:[Zd[r]]});if(u.data)return u.data[0]}return null}async function M4e(t){if(f3(t)){let e=O4e(t);if(e){let r=await _tr(e);return r=r.map(n=>({vod_id:[e.shareId,n.stoken,n.fid,n.share_fid_token,n.subtitle?n.subtitle.fid:"",n.subtitle?n.subtitle.share_fid_token:""].join("*"),vod_name:n.file_name,vod_size:n.size,vod_group:n.vod_group})),Ps(getPanName("uc"),r)}else return{}}}var F3={},iK={};async function W4e(t,e){let r=t.params.site,n=t.params.what,s=t.params.shareId,i=t.params.fileId;if(await k4e(t),r=="uc"){let a="",o=i.split("*"),c=t.params.flag;if(n=="trans"){F3[o[1]]||(F3[o[1]]=(await L4e(s,decodeURIComponent(o[0]),o[1],o[2])).filter(p=>p.accessable)),a=F3[o[1]].filter(p=>p.resolution.toLowerCase()==c)[0].video_info.url,e.redirect(a);return}else{if(!iK[o[1]]){let p=await Str(s,decodeURIComponent(o[0]),o[1],o[2],c=="down");p&&(iK[o[1]]=p)}if(a=iK[o[1]].download_url,c=="redirect"){e.redirect(a);return}}let l=(globalThis.Pans||[]).find(p=>p.key==="uc")||{},d=l.chunkSize||512,f=l.poolSize||10;return await Wx(t,e,a,o[1],Object.assign({Cookie:Xd},oK),{chunkSize:1024*d,poolSize:f,timeout:1e3*10})}}async function $4e(t,e){let r=t.body.flag,s=t.body.id.split("*");await k4e(t);let i=0;if(r.startsWith(getPanName("uc"))){let a=(await L4e(s[0],s[1],s[2],s[3])).filter(A=>A.accessable);F3[s[2]]=a;let o=[],c=["\u8D85\u6E05","\u84DD\u5149","\u9AD8\u6E05","\u6807\u6E05","\u666E\u753B","\u6781\u901F"],u=["4k","2k","super","high","low","normal"],l=ytr(t)+t.server.prefix+"/proxy/uc",f=(await Kv.getObjectDefault("/uc",{}))[cK],p=["\u4EE3\u7406",`${l}/src/down/${s[0]}/${encodeURIComponent(s[1])}*${s[2]}*${s[3]}/.bin`],m=["\u539F\u753B",`${l}/src/redirect/${s[0]}/${encodeURIComponent(s[1])}*${s[2]}*${s[3]}/.bin`];f?o.push(...m,...p):o.push(...p,...m);let h={parse:0,url:o,header:Object.assign({Cookie:Xd},oK)};return f&&(h.header=void 0),s[3]&&(h.extra={subt:`${l}/src/subt/${s[0]}/${encodeURIComponent(s[1])}*${s[4]}*${s[5]}/.bin`}),a.forEach(A=>{i=u.indexOf(A.resolution),o.push(c[i]),o.push(`${l}/trans/${A.resolution.toLowerCase()}/${s[0]}/${encodeURIComponent(s[1])}*${s[2]}*${s[3]}/.mp4`)}),h}}var Gh=Re(rI(),1),i6e=Re(qMe(),1),R0=Re(require("crypto"),1);var kK,tb={},T0={set(t,e){tb[t]=e,kK.push(`/tyi/${t}`,e)},get(t){return tb[t]}},jMe=(t,e={})=>{let r=e.method||"GET",n=e.headers||{};return Ae({method:r,url:t,headers:n,transformResponse:[s=>s]}).then(s=>({ok:s.status===200,status:s.status,statusText:s.statusText,url:s.config.url,text:()=>Promise.resolve(s.data),json:()=>Promise.resolve(JSON.parse(s.data)),headers:s.headers})).catch(s=>s.response?{ok:!1,status:s.response.status,statusText:s.response.statusText,url:s.config.url,text:()=>Promise.resolve(s.response.data),json:()=>Promise.resolve(JSON.parse(s.response.data)),headers:s.response.headers}:s.request?{ok:!1,status:0,statusText:"No response received",text:()=>Promise.resolve(""),json:()=>Promise.reject(new Error("No response received"))}:Promise.reject(s))},DK=(0,i6e.default)({storeAsString:!0}),inr=(t,e)=>t?`${t}/${e}`:e,HMe="video",rB="cas",anr=new Set([rB]),onr=new Set(["mp4","m4v","mkv","avi","mov","flv","ts","m2ts","m3u8","mpd","webm","wmv","rmvb","rm","f4v","m4s"]),QMe="02",Z3="8025431004",GMe="10020",cnr="6.2",nI="https://cloud.189.cn",sI="https://open.e.189.cn",Gi="https://api.cloud.189.cn",eB="https://upload.cloud.189.cn",KMe="https://m.cloud.189.cn/zhuanti/2020/loginErrorPc/index.html",unr="web_cloud.189.cn",_c={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json;charset=UTF-8","Accept-Encoding":"gzip, deflate, br, zstd"},tB="MyCatPaw",NK={"User-Agent":_c["User-Agent"],Accept:"text/plain,application/json;charset=UTF-8,*/*","Accept-Encoding":_c["Accept-Encoding"]},lnr=new Set(["UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_VERIFY_FIRST_CERTIFICATE","SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]);function dnr(t){let e=new Map;return String(t||"").split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{let n=r.indexOf("=");if(n<=0)return;let s=r.slice(0,n).trim(),i=r.slice(n+1).trim();s&&e.set(s,i)}),e}function OK(t,e){let r=dnr(t);return(Array.isArray(e)?e:e?[e]:[]).forEach(s=>{let i=String(s||"").split(";")[0].trim();if(!i)return;let a=i.indexOf("=");if(a<=0)return;let o=i.slice(0,a).trim(),c=i.slice(a+1).trim();o&&r.set(o,c)}),Array.from(r.entries()).map(([s,i])=>`${s}=${i}`).join("; ")}function VMe(){return{clientType:"TELEPC",version:cnr,channelId:unr,rand:`${Math.floor(Math.random()*1e5)}_${Math.floor(Math.random()*1e10)}`}}function fnr(t){let e=String(t?.code||"").trim().toUpperCase(),r=String(t?.message||"").trim();return lnr.has(e)||/unable to verify the first certificate|self[ -]signed certificate|certificate/i.test(r)}async function w0(t,e=""){try{return await Ae(t)}catch(r){if(!fnr(r))throw r;return r?.code,r?.message||String(r),Mt(t?.url||"",260),await he({...t,proxy:!1})}}function pnr(){return new Date().toUTCString()}function mnr(t,e){let r=new URLSearchParams;Object.keys(t||{}).sort().forEach(s=>{let i=t[s];i!=null&&r.append(s,String(i))});let n=R0.default.createCipheriv("aes-128-ecb",Buffer.from(String(e||"").slice(0,16),"utf8"),null);return n.setAutoPadding(!0),Buffer.concat([n.update(r.toString(),"utf8"),n.final()]).toString("hex").toUpperCase()}function hnr(t,e,r,n,s,i=""){let a=new URL(n).pathname,o=`SessionKey=${e}&Operate=${r.toUpperCase()}&RequestURI=${a}&Date=${s}${i?`¶ms=${i}`:""}`;return R0.default.createHmac("sha1",Buffer.from(String(t||""),"utf8")).update(o,"utf8").digest("hex").toUpperCase()}function zMe(t,e){return R0.default.publicEncrypt({key:t,padding:R0.default.constants.RSA_PKCS1_PADDING},Buffer.from(String(e||""),"utf8")).toString("hex").toUpperCase()}function br(t,e){let r=String(t||"").match(new RegExp(`<${e}>([\\s\\S]*?)</${e}>`,"i"));return r?r[1].trim():""}function YMe(t){let e=Number(t||0),r=1024*1024*10;return e>r*2*999?Math.max(Math.ceil(e/1999/r),5)*r:e>r*999?r*2:r}function ma(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)}catch{return String(t)}}function fa(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:Io(e);if(r&&typeof r=="object"&&!Array.isArray(r)){let i=r.res_code??r.ResCode??"",a=r.res_message??r.ResMessage??"";if(typeof i=="number"&&i!==0||typeof i=="string"&&i)return`res_code=${i}${a?` ${a}`:""}`.trim();let o=r.code||r.errorCode||"",c=r.message||r.msg||r.errorMsg||r.error||"";if(o&&o!=="SUCCESS"&&o!=="0")return`code=${o}${c?` ${c}`:""}`.trim();if(!o&&c)return String(c)}let n=br(e,"code"),s=br(e,"message")||br(e,"msg");return n&&n!=="SUCCESS"&&n!=="0"?`code=${n}${s?` ${s}`:""}`.trim():""}function gnr(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:Io(e);if(r&&typeof r=="object"&&!Array.isArray(r)&&(r.sessionKey||r.sessionSecret||r.accessToken))return r;if(!e||e[0]!=="<")return null;let n=["loginName","sessionKey","sessionSecret","familySessionKey","familySessionSecret","accessToken","refreshToken","isSaveName","keepAlive","getFileDiffSpan","getUserInfoSpan"],s={};return n.forEach(i=>{let a=br(e,i);a&&(s[i]=a)}),s.sessionKey&&s.sessionSecret?s:null}function JMe(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:Io(e);return r&&typeof r=="object"&&!Array.isArray(r)&&r.data&&typeof r.data=="object"?r.data:null}function XMe(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:Io(e);return r&&typeof r=="object"&&!Array.isArray(r)&&r.file&&typeof r.file=="object"?r.file:null}function ZMe(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:Io(e),n=String(r?.fileDownloadUrl||"");return n||br(e,"fileDownloadUrl")}function Anr(t){if(t&&typeof t=="object"&&!Array.isArray(t))return t;let e=ma(t).trim();if(!e)return null;try{return DK.parse(e)}catch{return Io(e)}}function e6e(t,e){let r=String(t||""),n=new RegExp(`<${e}>([\\s\\S]*?)</${e}>`,"ig"),s=[],i;for(;(i=n.exec(r))!==null;){let a=i[1],o=br(a,"icon"),c={id:br(a,"id"),parentId:br(a,"parentId"),name:Sc(br(a,"name")),size:Number(br(a,"size")||0),md5:br(a,"md5"),fileCata:br(a,"fileCata"),mediaType:br(a,"mediaType"),createDate:br(a,"createDate"),lastOpTime:br(a,"lastOpTime"),icon:o?{smallUrl:Sc(br(o,"smallUrl")),largeUrl:Sc(br(o,"largeUrl")),max600:Sc(br(o,"max600")),mediumUrl:Sc(br(o,"mediumUrl"))}:void 0};Object.keys(c).forEach(u=>{(c[u]===""||c[u]===void 0)&&delete c[u]}),(c.id!==void 0||c.name)&&s.push(c)}return s}function ynr(t){let e=ma(t).trim(),r=Anr(t)||{},n=r?.fileListAO||r?.data?.fileListAO||{},s=Array.isArray(n?.folderList)?n.folderList:[],i=Array.isArray(n?.fileList)?n.fileList:[];if(s.length===0&&i.length===0&&e.startsWith("<")){let a=br(e,"fileList")||e;s=e6e(a,"folder"),i=e6e(a,"file")}return{count:Number(n?.count||br(e,"count")||s.length+i.length||0),folderList:s,fileList:i,data:r}}function t6e(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:Io(e),n=String(r?.taskId||r?.taskID||"");return n||br(e,"taskId")||br(e,"taskID")}function xnr(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:Io(e),n=r?.taskStatus??r?.TaskStatus??"";if(n!==""&&n!==void 0&&n!==null)return Number(n);let s=br(e,"taskStatus")||br(e,"TaskStatus");return s?Number(s):0}function bnr(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:Io(e),n=i=>Array.isArray(i)?i.filter(Boolean):i&&typeof i=="object"?[i]:[],s=n(r?.familyInfoResp);if(s.length===0&&(s=n(r?.data?.familyInfoResp)),s.length===0&&e.startsWith("<")&&(s=(String(e).match(/<familyInfoResp>([\s\S]*?)<\/familyInfoResp>/ig)||[]).map(a=>({familyId:br(a,"familyId"),remarkName:br(a,"remarkName"),useFlag:br(a,"useFlag"),userRole:br(a,"userRole")})).filter(a=>String(a?.familyId||"")),s.length===0)){let a=br(e,"familyId");a&&(s=[{familyId:a,remarkName:br(e,"remarkName"),useFlag:br(e,"useFlag"),userRole:br(e,"userRole")}])}return s.map(i=>({familyId:String(i?.familyId||i?.familyID||""),remarkName:String(i?.remarkName||""),useFlag:Number(i?.useFlag||0),userRole:Number(i?.userRole||0)})).filter(i=>i.familyId)}function a6e(t){let e=String(t||"").trim().toLowerCase(),r=e.lastIndexOf(".");return r>=0?e.slice(r+1):""}function Enr(t){return anr.has(a6e(t))}function Io(t){let e=typeof t=="string"?t.trim():"";if(!e||!/^[\[{]/.test(e))return null;try{return JSON.parse(e)}catch{return null}}function Sc(t){return String(t??"").replace(/&/gi,"&").replace(/</gi,"<").replace(/>/gi,">").replace(/"/gi,'"').replace(/'/gi,"'")}function Il(t){let e=Sc(t).trim();return e?/^\/\//.test(e)?`http:${e}`:/^(https?:\/\/)/i.test(e)?e:"":""}function _nr(t){return Sc(t).replace(/([?&](?:sig|sk|token|expired)=)[^&<\s]+/ig,"$1***").replace(/(SSON=)[^;]+/ig,"$1***").replace(/(OPENINFO=)[^;]+/ig,"$1***").replace(/(JSESSIONID=)[^;]+/ig,"$1***").replace(/(COOKIE_LOGIN_USER=)[^;]+/ig,"$1***")}function Mt(t,e=220){let r=_nr(String(t??"")).replace(/\s+/g," ").trim();return r.length>e?`${r.slice(0,e)}...`:r}function eb(t){if(!t)return"none";let e=String(t).split(";").map(r=>r.split("=")[0].trim()).filter(Boolean);return`${e.slice(0,5).join(",")}${e.length>5?`,+${e.length-5}`:""}`}function pa(t){try{let e=Il(t);return e?new URL(e).host:""}catch{return""}}function Snr(t){try{let e=Il(t);return e?a6e(new URL(e).pathname):""}catch{return""}}function r6e(t){return onr.has(Snr(t))}function vnr(t){let r=String(t||"").match(/\/(\d+)$/);if(!r)return 0;let n=Number(r[1]);return Number.isFinite(n)?n:0}function Inr(t){let e=String(t||"").replace(/\s+/g,"").trim();if(!e||e.length<24||e.length%4!==0||/[^A-Za-z0-9+/=]/.test(e))return null;try{let r=Buffer.from(e,"base64").toString("utf8").trim(),n=Io(r);return!n||typeof n!="object"||Array.isArray(n)||!n.md5&&!n.sliceMd5&&!n.create_time?null:{raw:r,data:n}}catch{return null}}function PK(t){return!t||typeof t!="object"?{}:{name:t.name||"",size:t.size||0,md5:t.md5||"",sliceMd5:t.sliceMd5||"",create_time:t.create_time||""}}function n6e(t){let e=String(t??"");try{return decodeURIComponent(e.replace(/\+/g,"%20"))}catch{return e}}function Cnr(t){let e=String(t??"");try{return decodeURIComponent(e)}catch{return e}}function Tnr(t,e=""){let r=String(t||"").trim(),s=Cnr(r)||r,i={shareCode:"",accessCode:String(e||"").trim()},a=s.match(/https?:\/\/cloud\.189\.cn\/web\/share\?code=([^&#\s\uFF08(]+)/i),o=s.match(/https?:\/\/cloud\.189\.cn\/t\/([^?&#\s\uFF08(]+)/i);if(a?.[1]?i.shareCode=a[1]:o?.[1]?i.shareCode=o[1]:/^https?:\/\//i.test(s)||(i.shareCode=s.split(/[\s\uFF08(]/)[0]),!i.accessCode){let c=s.match(/(?:访问ç |æå–ç |密ç )\s*[::]\s*([a-zA-Z0-9]+)/);i.accessCode=c?.[1]||""}return i}function o6e(t){let e=String(t||"").trim();if(!e)return null;let r=Io(e);if(r&&typeof r=="object"&&!Array.isArray(r)){let s={};return Object.keys(r).forEach(i=>{let a=r[i];if(a==null)return;let o=String(i).trim(),c=String(a).trim();o&&c&&(s[o]=c)}),Object.keys(s).length>0?s:null}let n={};return e.split(/[&;]/).forEach(s=>{let[i,...a]=s.split("=");if(!i||a.length===0)return;let o=n6e(i.trim()),c=n6e(a.join("=").trim());o&&c&&(n[o]=c)}),Object.keys(n).length>0?n:null}function wnr(t,e){let r=Il(e);r&&!t.includes(r)&&t.push(r)}function iI(t,e=[],r=0){if(!t||r>4)return e;if(typeof t=="string")return wnr(e,t),e;if(Array.isArray(t))return t.forEach(i=>iI(i,e,r+1)),e;if(typeof t!="object")return e;let n=["downloadUrl","downloadURL","fileDownloadUrl","fileDownloadURL","contentUrl","contentURL","redirectUrl","redirectURL","sourceUrl","sourceURL","location","url"];for(let i of n)i in t&&iI(t[i],e,r+1);if(e.length>0)return e;let s=["data","result","normal","file","download","downloadInfo"];for(let i of s)i in t&&iI(t[i],e,r+1);return e}function s6e(t){let e=String(t||"").trim();if(!e)return null;let r=e.indexOf("|"),n=r>=0?e.slice(0,r).trim():e,s=r>=0?e.slice(r+1).trim():"",i=Il(n);if(i){let c=o6e(s);return c?{url:i,header:c}:{url:i}}let a=Sc(e).match(/((?:https?:)?\/\/[^<\s]+)/i);if(!a)return null;let o=Il(a[1]);return o?{url:o}:null}function Zx(t){let e=String(t||"").replace(/^\uFEFF/,"").trim();if(!e||/^<!doctype html/i.test(e)||/^<html/i.test(e))return null;let r=Io(e);if(r&&typeof r=="object"&&!Array.isArray(r)){let n=Il(r.url);if(n){let s=o6e(r.header||r.headers);return s?{url:n,header:s}:{url:n}}}for(let n of e.split(/\r?\n/)){let s=n.trim();if(!s||s.startsWith("#"))continue;let i=s6e(s);if(i)return i}return s6e(e)}var BK=class{publicKey=null;setPublicKey(e){this.publicKey=e}encrypt(e){let r=Buffer.from(e,"utf8");return R0.default.publicEncrypt({key:this.publicKey,padding:R0.default.constants.RSA_PKCS1_PADDING},r).toString("base64")}},rb=async t=>{kK=t.server.db,tb=await kK.getObjectDefault("/tyi",{}),tb?.cloud_account,tb?.cloud_password,eb(tb?.cloud_cookie)},LK=class{constructor(){this.regex=/https?:\/\/cloud\.189\.cn\/web\/share\?code=([^&]+)/,this.config={clientId:"538135150693412",model:"KB2000",version:"9.0.6",pubKey:"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZLyV4gHNDUGJMZoOcYauxmNEsKrc0TlLeBEVVIIQNzG4WqjimceOj5R9ETwDeeSN3yejAKLGHgx83lyy2wBjvnbfm/nLObyWwQD/09CmpZdxoFYCH6rdDjRpwZOZ2nXSZpgkZXoOBkfNXNxnN74aXtho2dqBynTw3NFTWyQl8BQIDAQAB"},this.headers={"User-Agent":`Mozilla/5.0 (Linux; U; Android 11; ${this.config.model} Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 Ecloud/${this.config.version} Android/30 clientId/${this.config.clientId} clientModel/${this.config.model} clientChannelId/qq proVersion/1.0.6`,Referer:"https://m.cloud.189.cn/zhuanti/2016/sign/index.jsp?albumBackupOpened=1","Accept-Encoding":"gzip, deflate"},this.api="https://cloud.189.cn/api",this.shareCode="",this.accessCode="",this.shareId="",this.shareMode="",this.isFolder="",this.index=0,this.shareFileCache=new Map,this.lastShareTextResolveReason="",this.pcLoginState=null,this.pcRestoreFolderId="",this.pcFamilyRestoreFolderId="",this.pcFamilyId=""}setShareTextResolveReason(e=""){this.lastShareTextResolveReason=String(e||"")}getShareTextResolveReason(){return this.lastShareTextResolveReason||""}getShareFileCacheKey(e,r){return`${r||""}:${e||""}`}cacheShareFileItem(e,r,n,s={}){!e||!r||!n||typeof n!="object"||this.shareFileCache.set(this.getShareFileCacheKey(e,r),{...n,...s})}getCachedShareFileItem(e,r){return this.shareFileCache.get(this.getShareFileCacheKey(e,r))||null}async init(){this.account&&console.log("\u5929\u7FFC\u8D26\u53F7\u83B7\u53D6\u6210\u529F\uFF1A"+this.account),this.password&&console.log("\u5929\u7FFC\u5BC6\u7801\u83B7\u53D6\u6210\u529F\uFF1A"+this.password),this.cookie?console.log("\u5929\u7FFCcookie\u83B7\u53D6\u6210\u529F"+this.cookie):T0.set("cloud_cookie",await this.login(this.account,this.password))}get account(){return T0.get("cloud_account")}get password(){return T0.get("cloud_password")}get cookie(){return T0.get("cloud_cookie")}async login(e,r){try{let n=await Ae.post("https://open.e.189.cn/api/logbox/config/encryptConf.do?appId=cloud"),s=n.data.data.pubKey;n=await Ae.get("https://cloud.189.cn/api/portal/loginUrl.action?redirectURL=https://cloud.189.cn/web/redirect.html?returnURL=/main.action");let i=n.request.path.match(/reqId=(\w+)/)[1],o={"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/76.0",Referer:"https://open.e.189.cn/",Lt:n.request.path.match(/lt=(\w+)/)[1],Reqid:i},c={version:"2.0",appKey:"cloud"};n=await Ae.post("https://open.e.189.cn/api/logbox/oauth2/appConf.do",Gh.default.stringify(c),{headers:o});let u=n.data.data.returnUrl,l=n.data.data.paramId,d=`-----BEGIN PUBLIC KEY-----
|
|
${s}
|
|
-----END PUBLIC KEY-----`,f=new BK;f.setPublicKey(d);let p=Buffer.from(f.encrypt(e),"base64").toString("hex"),m=Buffer.from(f.encrypt(r),"base64").toString("hex");if(c={appKey:"cloud",version:"2.0",accountType:"01",mailSuffix:"@189.cn",validateCode:"",returnUrl:u,paramId:l,captchaToken:"",dynamicCheck:"FALSE",clientType:"1",cb_SaveName:"0",isOauth2:!1,userName:`{NRP}${p}`,password:`{NRP}${m}`},n=await Ae.post("https://open.e.189.cn/api/logbox/oauth2/loginSubmit.do",Gh.default.stringify(c),{headers:o,validateStatus:null}),n.data.toUrl){let h=n.headers["set-cookie"].map(A=>A.split(";")[0]).join(";");n=await Ae.get(n.data.toUrl,{headers:{...this.headers,Cookie:h},maxRedirects:0,validateStatus:null}),h+="; "+n.headers["set-cookie"].map(A=>A.split(";")[0]).join(";"),T0.set("cloud_cookie",h)}else console.error("Error during login:",n.data)}catch(n){console.error("Error during login:",n)}}async getShareID(e,r,n){let s=n||this,i=Tnr(e,r);s.shareCode=i.shareCode,s.accessCode=i.accessCode}async getShareData(e,r){let n={},s={},i=await this.getShareInfo(e,r,n);if(i){let c=await this.getShareList(i,"",n);c&&Array.isArray(c)?await Promise.all(c.map(async u=>{let l=u.path||u.name;l in s||(s[l]=[]);let d=await this.getShareFile(u.id,n);d&&d.length>0&&s[l].push(...d)})):s.root=await this.getShareFile(i,n)}for(let c in s)s[c].length===0&&delete s[c];i&&Object.keys(s).length===0&&(s.root=await this.getShareFile(i,n),s.root&&Array.isArray(s.root)&&(s.root=s.root.filter(c=>c&&Object.keys(c).length>0))),Object.keys(s).forEach(c=>{s[c]=s[c].map(u=>({vod_id:[u.fileId,u.shareId,u.fileKind||HMe,u.shareMode||"",u.accessCode||""].join("*"),vod_name:u.name,vod_size:u.size}))});let a=Object.values(s).reduce((c,u)=>c+(Array.isArray(u)?u.length:0),0),o=Object.values(s).reduce((c,u)=>c+(Array.isArray(u)?u.filter(l=>String(l?.vod_id||"").includes(`*${rB}*`)).length:0),0);return n.shareId,n.shareMode,Object.keys(s).length,s}async getShareInfo(e,r,n){let s=n||this,i=String(e||"");if(i.startsWith("http")?await this.getShareID(i,r,n):s.shareCode=i,!s.shareCode)return null;try{if(s.accessCode){let a=await Ae.get(`${this.api}/open/share/checkAccessCode.action?shareCode=${s.shareCode}&accessCode=${s.accessCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}});a.status===200&&(s.shareId=a.data.shareId);let o=await Ae.get(`${this.api}/open/share/getShareInfoByCodeV2.action?key=noCache&shareCode=${s.shareCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}}),c=o.data.fileId;return s.shareMode=o.data.shareMode,s.isFolder=o.data.isFolder,c}else{let a=await Ae.get(`${this.api}/open/share/getShareInfoByCodeV2.action?key=noCache&shareCode=${s.shareCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}}),o=a.data.fileId;return s.shareId=a.data.shareId,s.shareMode=a.data.shareMode,s.isFolder=a.data.isFolder,o}}catch(a){let o=a?.response?.status,c=a?.response?.data?.res_code||a?.code||"UnknownCode",u=a?.response?.data?.res_message||a?.message||"unknown error";return console.warn(o===400&&(c==="ShareAuditNotPass"||c==="ShareInfoNotFound")?`[Cloud ShareInfo] ${s.shareCode} unavailable: ${c}`:`[Cloud ShareInfo] ${s.shareCode} failed: ${o||"N/A"} ${c} ${u}`),null}}async getShareList(e,r="",n){let s=n||this;if(!e)return null;try{let i=[],a={};a["User-Agent"]="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",a.Accept="application/json;charset=UTF-8",a["Accept-Encoding"]="gzip, deflate, br, zstd";let o={method:"GET",headers:a},c=await jMe(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=1&pageSize=9999&fileId=${e}&shareDirFileId=${e}&isFolder=${s.isFolder}&shareId=${s.shareId}&shareMode=${s.shareMode}&iconOption=5&orderBy=lastOpTime&descending=true&accessCode=${s.accessCode}&noCache=${Math.random()}`,o),d=DK.parse(await c.text())?.fileListAO?.folderList;if(!d)return null;if(d&&d.length>0){let f=d.map(m=>({name:m.name,id:m.id,type:"folder",path:inr(r,m.name)}));i.push(...f);let p=await Promise.all(f.map(async m=>this.getShareList(m.id,m.path,n)));return p=p.filter(m=>m!=null),[...i,...p.flat()]}}catch(i){return console.warn(`[Cloud ShareList] ${e} failed: ${i?.message||i}`),null}}async getShareFile(e,r){let n=r||this;if(!e)return null;try{let s={method:"GET",headers:_c},i=await jMe(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=1&pageSize=9999&fileId=${e}&shareDirFileId=${e}&isFolder=${n.isFolder}&shareId=${n.shareId}&shareMode=${n.shareMode}&iconOption=5&orderBy=lastOpTime&descending=true&accessCode=${n.accessCode}&noCache=${Math.random()}`,s),a=DK.parse(await i.text()),o=[],c=a?.fileListAO,u=c?.fileList;if(!Array.isArray(u)||u.length===0)return null;let l=u.map(p=>p.name),d=u.map(p=>p.id),f=Number(c?.fileListSize??u.length);if((!Number.isFinite(f)||f<0)&&(f=u.length),f=Math.min(f,u.length),f>=0)for(let p=0;p<f;p++){let m=u[p],h=m.mediaType===3?HMe:Enr(m.name)?rB:"";h&&(this.cacheShareFileItem(d[p],n.shareId,m,{shareMode:n.shareMode,accessCode:n.accessCode,fileKind:h}),o.push({name:l[p],fileId:d[p],shareId:n.shareId,size:m.size,fileKind:h,shareMode:n.shareMode,accessCode:n.accessCode}))}if(o.length>0){let p=o.filter(m=>m.fileKind===rB).length;n.shareId,n.shareMode,o.length,o.length-p,o.slice(0,3).map(m=>m.name)}return o}catch(s){return console.warn(`[Cloud ShareFile] ${e} failed: ${s?.message||s}`),null}}async fetchShareTextFileFromUrl(e,r={}){let n=Il(e);if(!n)return"";Mt(n,260),eb(r?.Cookie||r?.cookie);try{let s=await Ae.get(n,{headers:{...NK,...r&&typeof r=="object"?r:{}},responseType:"text",transformResponse:[a=>a],maxRedirects:5,validateStatus:()=>!0}),i=typeof s.data=="string"?s.data:"";return s.status<200||s.status>=300?(Mt(n,260),s.status,s.headers?.["content-type"],Mt(i),""):(Mt(n,260),s.status,s.headers?.["content-type"],i.length,Mt(i),i)}catch(s){return Mt(n,260),s?.message||String(s),""}}buildShareTextApiCandidates(e,r,n="",s=""){let i=a=>{let o=new URLSearchParams({shareId:String(r||""),fileId:String(e||""),key:"noCache",dt:"1",noCache:String(Math.random())});return n&&o.set("shareMode",String(n)),s&&o.set("accessCode",String(s)),`${this.api}${a}?${o.toString()}`};return[i("/portal/getShareFileUrl.action"),i("/portal/getFileDownloadUrl.action"),i("/open/share/getFileDownloadUrl.action"),i("/open/share/getShareFileDownloadUrl.action"),i("/open/file/getFileDownloadUrl.action")]}async tryResolveShareTextPlayableFromApi(e,r={}){let n=e;try{n=new URL(e).pathname}catch{}Mt(e,260),eb(r?.Cookie||r?.cookie);try{let s=await Ae.get(e,{headers:{...NK,...r&&typeof r=="object"?r:{}},responseType:"text",transformResponse:[l=>l],maxRedirects:0,validateStatus:()=>!0}),i=s.status===400||s.status===401||s.status===403;if(s.status>=300&&s.status<400&&s.headers?.location){s.status,Mt(s.headers.location,260);let l=await this.fetchShareTextFileFromUrl(s.headers.location,r),d=Zx(l);return d?.url,pa(d?.url),d?.header,{playable:d,authError:!1}}if(s.status<200||s.status>=300)return s.status,s.headers?.["content-type"],Mt(s.data),{playable:null,authError:i};let a=typeof s.data=="string"?s.data:"",o=String(s.headers?.["content-type"]||"");if(s.status,Mt(a),/json/i.test(o)){let l=Io(a),d=iI(l);d.length,d.slice(0,3).map(f=>Mt(f,260));for(let f of d){let p=await this.fetchShareTextFileFromUrl(f,r),m=Zx(p);if(m)return Mt(f,260),pa(m.url),m.header,{playable:m,authError:!1}}return{playable:null,authError:i}}let c=a.trim();if(/^[^\r\n]+$/.test(c)&&Il(c)){Mt(c,260);let l=await this.fetchShareTextFileFromUrl(c,r),d=Zx(l);return d?.url,pa(d?.url),d?.header,{playable:d,authError:!1}}let u=Zx(a);return u?.url,pa(u?.url),u?.header,{playable:u,authError:!1}}catch(s){return s?.message||String(s),{playable:null,authError:!1}}}async probeShareTextCandidateUrl(e,r={}){let n=Il(e);if(!n)return{type:"invalid"};Mt(n,260),pa(n),Object.keys(r||{}).join(",");try{let s=await Ae.get(n,{headers:{...NK,Range:"bytes=0-511",...r&&typeof r=="object"?r:{}},responseType:"arraybuffer",maxRedirects:5,timeout:15e3,validateStatus:()=>!0}),a=(Buffer.isBuffer(s.data)?s.data:Buffer.from(s.data||"")).toString("utf8").replace(/^\uFEFF/,""),o=Il(s?.request?.res?.responseUrl||s?.config?.url||n)||n,c=String(s.headers?.["content-type"]||""),u=String(s.headers?.["content-range"]||""),l=Number(s.headers?.["content-length"]||0),d=vnr(u)||(Number.isFinite(l)?l:0);Mt(n,260),Mt(o,260),s.status,Mt(a);let f=Inr(a);if(f)return Mt(n,260),Mt(o,260),PK(f.data),Mt(f.raw),{type:"cas_metadata",metadata:f.data};let p=Zx(a);return p?.url&&p.url!==n?(Mt(n,260),Mt(p.url,260),pa(p.url),p.header,{type:"nested_playable",playable:p}):/^video\//i.test(c)||/^audio\//i.test(c)||/application\/(?:vnd\.apple\.mpegurl|x-mpegurl|dash\+xml)/i.test(c)||r6e(o)||(s.status===200||s.status===206)&&d>1024*1024?(Mt(n,260),Mt(o,260),pa(o),{type:"playable"}):(Mt(n,260),Mt(o,260),s.status,{type:"unknown"})}catch(s){return Mt(n,260),s?.message||String(s),{type:"error"}}}async confirmShareTextPlayableCandidate(e,r={},n={},s=0){if(!e?.url)return null;let i=e.header&&typeof e.header=="object"?e.header:null,a={...r&&typeof r=="object"?r:{},...i||{}},o={...n,depth:s,url:Mt(e.url,260),host:pa(e.url),headerKeys:Object.keys(i||{}).join(",")||"-"};if(r6e(e.url))return{...o},e;if(s>=2)return null;let c=await this.probeShareTextCandidateUrl(e.url,a);if(c.type==="playable")return{...o},e;if(c.type==="nested_playable"&&c.playable?.url)return{...o,nestedUrl:Mt(c.playable.url,260),nestedHost:pa(c.playable.url)},await this.confirmShareTextPlayableCandidate(c.playable,r,n,s+1);if(c.type==="cas_metadata"){try{let d=await this.getCasPlayableByRestoringToCloudDrive(c.metadata);if(d?.url)return{...o,restoredHost:pa(d.url)},d}catch(d){let p=`CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25${c.metadata?.name?` (${c.metadata.name})`:""}: ${d?.message||d}`;return this.setShareTextResolveReason(p),{...o,metadata:PK(c.metadata)},null}let l=`\u5F53\u524D\u5206\u4EAB\u8FD4\u56DE\u7684\u662FCAS\u79D2\u4F20\u5143\u6570\u636E\uFF0C\u4E0D\u662F\u771F\u5B9E\u89C6\u9891\u5730\u5740${c.metadata?.name?` (${c.metadata.name})`:""}`;return this.setShareTextResolveReason(l),{...o,metadata:PK(c.metadata)},null}return{...o,probeType:c.type},null}async initCloudPcLoginParam(){let e=this.cookie||"",r=Ae.create({headers:{"User-Agent":_c["User-Agent"],"Accept-Encoding":_c["Accept-Encoding"],Referer:nI,...e?{Cookie:e}:{}},maxRedirects:5,validateStatus:()=>!0}),n=await w0({method:"GET",url:`${nI}/api/portal/unifyLoginForPC.action`,params:{appId:Z3,clientType:GMe,returnURL:KMe,timeStamp:Date.now()},headers:r.defaults.headers,maxRedirects:5,validateStatus:()=>!0,responseType:"text",transformResponse:[d=>d]},"pc-unify-login"),s=typeof n.data=="string"?n.data:"",i=d=>{let f=s.match(d);return f?f[1]:""},a={cookie:OK(e,n.headers?.["set-cookie"]),captchaToken:i(/'captchaToken' value='(.+?)'/),lt:i(/lt = "(.+?)"/),paramId:i(/paramId = "(.+?)"/),reqId:i(/reqId = "(.+?)"/)};if(!a.lt||!a.paramId||!a.reqId)throw new Error("189PC\u767B\u5F55\u53C2\u6570\u521D\u59CB\u5316\u5931\u8D25");let o=await w0({method:"POST",url:`${sI}/api/logbox/config/encryptConf.do`,data:Gh.default.stringify({appId:Z3}),headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":_c["User-Agent"],Referer:nI},validateStatus:()=>!0},"pc-encrypt-conf"),c=o?.data?.data?.pubKey||"",u=o?.data?.data?.pre||"{RSA}";if(!c)throw new Error("189PC\u83B7\u53D6RSA\u516C\u94A5\u5931\u8D25");let l=`-----BEGIN PUBLIC KEY-----
|
|
${c}
|
|
-----END PUBLIC KEY-----`;return a.rsaUsername=`${u}${zMe(l,this.account)}`,a.rsaPassword=`${u}${zMe(l,this.password)}`,a}async loginForCloudPc(e=!1){if(!e&&this.pcLoginState?.tokenInfo?.sessionKey&&this.pcLoginState?.tokenInfo?.sessionSecret)return this.pcLoginState;if(!this.account||!this.password)throw new Error("\u7F3A\u5C11\u5929\u7FFC\u8D26\u53F7\u6216\u5BC6\u7801\uFF0C\u65E0\u6CD5\u6267\u884CCAS\u79D2\u4F20\u6062\u590D");let r=await this.initCloudPcLoginParam(),n=await w0({method:"POST",url:`${sI}/api/logbox/oauth2/needcaptcha.do`,data:Gh.default.stringify({appKey:Z3,accountType:QMe,userName:r.rsaUsername}),headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":_c["User-Agent"],Referer:sI+"/",REQID:r.reqId,...r.cookie?{Cookie:r.cookie}:{}},responseType:"text",transformResponse:[d=>d],validateStatus:()=>!0},"pc-needcaptcha"),s=String(n?.data||"").trim();if(n.status,Mt(s,80),s&&s!=="0")throw new Error("189PC\u767B\u5F55\u9700\u8981\u9A8C\u8BC1\u7801\uFF0C\u5F53\u524D\u6682\u4E0D\u652F\u6301\u81EA\u52A8\u5904\u7406");let i=await w0({method:"POST",url:`${sI}/api/logbox/oauth2/loginSubmit.do`,data:Gh.default.stringify({appKey:Z3,accountType:QMe,userName:r.rsaUsername,password:r.rsaPassword,validateCode:"",captchaToken:r.captchaToken,returnUrl:KMe,dynamicCheck:"FALSE",clientType:GMe,cb_SaveName:"1",isOauth2:"false",state:"",paramId:r.paramId}),headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":_c["User-Agent"],Referer:sI+"/",REQID:r.reqId,lt:r.lt,...r.cookie?{Cookie:r.cookie}:{}},validateStatus:()=>!0},"pc-login-submit"),a=OK(r.cookie,i.headers?.["set-cookie"]),o=i?.data?.toUrl||"";if(!o)throw new Error(`189PC\u767B\u5F55\u5931\u8D25: ${i?.data?.msg||i?.status||"unknown"}`);let c=await w0({method:"POST",url:`${Gi}/getSessionForPC.action`,params:{...VMe(),redirectURL:o},headers:{"User-Agent":_c["User-Agent"],Referer:nI,...a?{Cookie:a}:{}},validateStatus:()=>!0},"pc-get-session"),u=gnr(c?.data)||c?.data||{};if(!u?.sessionKey||!u?.sessionSecret)throw new Error(`189PC\u4F1A\u8BDD\u83B7\u53D6\u5931\u8D25: ${fa(c?.data)||c?.status||"unknown"}`);let l=OK(a,c.headers?.["set-cookie"]);return l&&T0.set("cloud_cookie",l),this.pcLoginState={cookie:l,tokenInfo:{loginName:u.loginName||"",sessionKey:u.sessionKey,sessionSecret:u.sessionSecret,familySessionKey:u.familySessionKey||"",familySessionSecret:u.familySessionSecret||"",accessToken:u.accessToken||"",refreshToken:u.refreshToken||""}},this.pcLoginState?.tokenInfo?.sessionKey,this.pcLoginState?.tokenInfo?.sessionSecret,this.pcLoginState?.tokenInfo?.familySessionKey,this.pcLoginState?.tokenInfo?.familySessionSecret,eb(l),this.pcLoginState}getCloudPcTokenInfo(e=!1){let r=this.pcLoginState?.tokenInfo||{};return e?{loginName:r.loginName||"",sessionKey:r.familySessionKey||"",sessionSecret:r.familySessionSecret||"",accessToken:r.accessToken||"",refreshToken:r.refreshToken||""}:{loginName:r.loginName||"",sessionKey:r.sessionKey||"",sessionSecret:r.sessionSecret||"",accessToken:r.accessToken||"",refreshToken:r.refreshToken||""}}async requestCloudPc(e,r="GET",n={}){let s=n&&typeof n=="object"?n:{},i=!!s.isFamily,a=await this.loginForCloudPc(!1),o=this.getCloudPcTokenInfo(i);if(!o.sessionKey||!o.sessionSecret){if(!s._retried)return await this.loginForCloudPc(!0),await this.requestCloudPc(e,r,{...s,_retried:!0});throw new Error(i?"189PC\u5BB6\u5EAD\u4E91\u4F1A\u8BDD\u83B7\u53D6\u5931\u8D25":"189PC\u4F1A\u8BDD\u83B7\u53D6\u5931\u8D25")}let c=VMe(),u=s.query&&typeof s.query=="object"?s.query:{},l=s.form&&typeof s.form=="object"?s.form:null,d=s.encryptedParams&&typeof s.encryptedParams=="object"?mnr(s.encryptedParams,o.sessionSecret):"",f=pnr(),p=hnr(o.sessionSecret,o.sessionKey,r,e,f,d),m=await w0({method:r,url:e,params:{...c,...u,...d?{params:d}:{}},...l?{data:Gh.default.stringify(l)}:{},headers:{"User-Agent":_c["User-Agent"],Referer:nI,Date:f,SessionKey:o.sessionKey,"X-Request-ID":R0.default.randomUUID(),Signature:p,...l?{"Content-Type":"application/x-www-form-urlencoded"}:{},...a?.cookie?{Cookie:a.cookie}:{},...s.headers||{}},responseType:s.responseType||"json",transformResponse:s.transformResponse||void 0,timeout:s.timeout||15e3,validateStatus:()=>!0},`pc-request:${r}:${new URL(e).pathname}`),h=ma(m.data);return(m.status===401||m.status===403||h.includes("InvalidSessionKey")||h.includes("userSessionBO is null"))&&!s._retried?(await this.loginForCloudPc(!0),await this.requestCloudPc(e,r,{...s,_retried:!0})):m}async getCloudPcFamilyId(e=!1){if(!e&&this.pcFamilyId)return this.pcFamilyId;let r=await this.requestCloudPc(`${Gi}/family/manage/getFamilyList.action`,"GET",{isFamily:!0}),n=bnr(r?.data);if(n.length===0)throw new Error(`\u672A\u83B7\u53D6\u5230\u53EF\u7528\u7684189\u5BB6\u5EAD\u4E91 body=${Mt(ma(r?.data),260)}`);let s=String(this.pcLoginState?.tokenInfo?.loginName||""),i=n.find(o=>s&&o.remarkName&&s.includes(o.remarkName))||n.find(o=>Number(o?.useFlag||0)===1)||n[0],a=String(i?.familyId||"");if(!a)throw new Error(`189\u5BB6\u5EAD\u4E91ID\u89E3\u6790\u5931\u8D25 body=${Mt(JSON.stringify(n),260)}`);return this.pcFamilyId=a,n.length,n.map(o=>o.remarkName||"").filter(Boolean).slice(0,3),a}async ensureCloudPcRestoreFolderV2(e={}){let r=!!e?.isFamily,n=r?"pcFamilyRestoreFolderId":"pcRestoreFolderId";if(this[n])return this[n];let s=r?"":"-11",i=r?await this.getCloudPcFamilyId():"",a=tB,o=r?`${Gi}/family/file/listFiles.action`:`${Gi}/listFiles.action`,c=1;for(;c<=10;){let f=await this.requestCloudPc(o,"GET",{isFamily:r,query:{folderId:s,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(c),pageSize:"100",...r?{familyId:i,orderBy:"1",descending:"false"}:{recursive:"0",orderBy:"filename",descending:"false"}}}),m=(f?.data?.fileListAO?.folderList||[]).find(A=>String(A?.name||"")===a);if(m?.id)return this[n]=String(m.id),this[n];if(!Number(f?.data?.fileListAO?.count||0))break;c+=1}let u=r?`${Gi}/family/file/createFolder.action`:`${Gi}/createFolder.action`,l=await this.requestCloudPc(u,"POST",{isFamily:r,query:{folderName:a,...r?{familyId:i}:{relativePath:"",parentFolderId:s}}});if(l.status>=400||fa(l.data))throw new Error(`\u521B\u5EFACAS\u6062\u590D\u76EE\u5F55\u5931\u8D25: ${fa(l.data)||l.status}`);let d=String(l?.data?.id||br(l?.data,"id")||"");if(d)return this[n]=d,this[n];throw new Error("\u65E0\u6CD5\u5B9A\u4F4DCAS\u6062\u590D\u76EE\u5F55")}async createCloudPcBatchTaskV2(e,r,n={}){let s=Array.isArray(r)?r.filter(Boolean):[];if(s.length===0)return"";let i=n&&typeof n=="object"?n:{},{isFamily:a=!1,...o}=i,c=await this.requestCloudPc(`${Gi}/batch/createBatchTask.action`,"POST",{isFamily:a,form:{type:e,taskInfos:JSON.stringify(s),...o}}),u=String(t6e(c?.data)||""),l=fa(c?.data);if(c.status>=400||l||!u)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u521B\u5EFA\u5931\u8D25: ${l||c.status||"unknown"} body=${Mt(ma(c?.data),260)}`);return u}async permanentlyDeleteCloudPcItemsV2(e,r={}){let n=Array.isArray(e)?e.filter(Boolean):[];if(n.length===0)return;let s=!!r?.isFamily,i=s?String(r?.familyId||await this.getCloudPcFamilyId()):"",a=s?{familyId:i,isFamily:!0}:{},o=await this.createCloudPcBatchTaskV2("DELETE",n,a);await this.waitCloudPcBatchTask("DELETE",o);let c=await this.createCloudPcBatchTaskV2("CLEAR_RECYCLE",n,a);await this.waitCloudPcBatchTask("CLEAR_RECYCLE",c)}async removeCloudPcRestoreFolderV2(e,r={}){if(!e)return;let s=!!r?.isFamily?"pcFamilyRestoreFolderId":"pcRestoreFolderId",i=[{fileId:String(e),fileName:tB,isFolder:1}];await this.permanentlyDeleteCloudPcItemsV2(i,r),this[s]=""}async resetCloudPcRestoreFolderV2(e={}){let r=!!e?.isFamily,n=await this.ensureCloudPcRestoreFolderV2({isFamily:r});return await this.removeCloudPcRestoreFolderV2(n,{isFamily:r}),await this.ensureCloudPcRestoreFolderV2({isFamily:r})}async restoreCasMetadataToCloudDriveV2(e,r={}){let n=!!r?.isFamily,s=String(e?.md5||"").trim().toUpperCase(),i=Number(e?.size||0),a=String(e?.name||"").trim(),o=String(e?.sliceMd5||"").trim().toUpperCase();if(!s||!i||!a)throw new Error("CAS\u5143\u6570\u636E\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u65E0\u6CD5\u6267\u884C\u79D2\u4F20\u6062\u590D");let c=n?await this.getCloudPcFamilyId():"",u=await this.resetCloudPcRestoreFolderV2({isFamily:n}),l=YMe(i),d=n?`${eB}/family`:`${eB}/person`,f=await this.requestCloudPc(`${d}/initMultiUpload`,"GET",{isFamily:n,encryptedParams:{parentFolderId:u,fileName:a,fileSize:String(i),fileMd5:s,sliceSize:String(l),...n&&c?{familyId:c}:{},...o?{sliceMd5:o}:{}}}),p=JMe(f?.data)||{},m=fa(f?.data);if(f.status>=400||m)throw new Error(`CAS\u79D2\u4F20\u6062\u590D\u521D\u59CB\u5316\u5931\u8D25: ${m||f.status}`);let h=String(p?.uploadFileId||p?.uploadFileID||"");if(Number(p?.fileDataExists)!==1||!h)throw new Error("CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25\uFF0C189\u672A\u547D\u4E2D\u6587\u4EF6");let A=await this.requestCloudPc(`${d}/commitMultiUploadFile`,"GET",{isFamily:n,encryptedParams:{uploadFileId:h,isLog:"0",opertype:"3"}}),g=XMe(A?.data)||{},b=fa(A?.data);if(A.status>=400||b)throw new Error(`CAS\u79D2\u4F20\u63D0\u4EA4\u5931\u8D25: ${b||A.status}`);let y=String(g?.userFileId||g?.id||""),x=String(g?.fileName||a);if(!y)throw new Error("CAS\u79D2\u4F20\u63D0\u4EA4\u540E\u672A\u8FD4\u56DE\u6587\u4EF6ID");return{fileId:y,fileName:x,folderId:u,familyId:c,isFamily:n}}async getCloudPcFileDownloadUrlV2(e,r={}){let n=!!r?.isFamily,s=n?String(r?.familyId||await this.getCloudPcFamilyId()):"",i=n?`${Gi}/family/file/getFileDownloadUrl.action`:`${Gi}/getFileDownloadUrl.action`,a=await this.requestCloudPc(i,"GET",{isFamily:n,query:{fileId:String(e||""),...n?{familyId:s}:{dt:"3",flag:"1"}},responseType:"text",transformResponse:[d=>d]}),o=String(ZMe(a?.data)||""),c=Sc(o).replace(/^http:\/\//i,"https://"),u=fa(a?.data);if(a.status>=400||u)throw new Error(`\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u83B7\u53D6\u5931\u8D25: ${u||a.status}`);if(!c)throw new Error("\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u4E3A\u7A7A");let l=await w0({method:"GET",url:c,headers:{"User-Agent":_c["User-Agent"]},maxRedirects:0,validateStatus:()=>!0},"pc-download-redirect");return l.status>=300&&l.status<400&&l.headers?.location?Sc(String(l.headers.location||"")):c}async listOwnFiles(e="-11",r=1,n=100){let s=Math.max(Number(r)||1,1),i=Math.min(Math.max(Number(n)||100,1),200),a=e==null||e===""?"-11":String(e),o=await this.requestCloudPc(`${Gi}/listFiles.action`,"GET",{query:{folderId:a,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(s),pageSize:String(i),recursive:"0",orderBy:"filename",descending:"false"},responseType:"text",transformResponse:[u=>u]}),c=fa(o?.data);if(o.status>=400||c)throw new Error(`\u5929\u7FFC\u76EE\u5F55\u83B7\u53D6\u5931\u8D25: ${c||o.status}`);return ynr(o?.data)}async getOwnDownload(e){return{url:await this.getCloudPcFileDownloadUrlV2(e,{isFamily:!1}),data:{fileId:String(e||""),source:"189CloudPC"}}}async ensureCloudPcRestoreFolder(){if(this.pcRestoreFolderId)return this.pcRestoreFolderId;let e="-11",r=tB,n=1;for(;n<=10;){let u=await this.requestCloudPc(`${Gi}/listFiles.action`,"GET",{query:{folderId:e,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(n),pageSize:"100",recursive:"0",orderBy:"filename",descending:"false"}}),d=(u?.data?.fileListAO?.folderList||[]).find(p=>String(p?.name||"")===r);if(d?.id)return this.pcRestoreFolderId=String(d.id),this.pcRestoreFolderId;if(!Number(u?.data?.fileListAO?.count||0))break;n+=1}let s=await this.requestCloudPc(`${Gi}/createFolder.action`,"POST",{query:{folderName:r,relativePath:"",parentFolderId:e}});if(s.status,Mt(JSON.stringify(s.data||{}),220),s.status>=400||fa(s.data))throw new Error(`\u521B\u5EFACAS\u6062\u590D\u76EE\u5F55\u5931\u8D25: ${fa(s.data)||s.status}`);let i=String(s?.data?.id||br(s?.data,"id")||"");if(i)return this.pcRestoreFolderId=i,this.pcRestoreFolderId;let c=((await this.requestCloudPc(`${Gi}/listFiles.action`,"GET",{query:{folderId:e,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:"1",pageSize:"100",recursive:"0",orderBy:"filename",descending:"false"}}))?.data?.fileListAO?.folderList||[]).find(u=>String(u?.name||"")===r);if(!c?.id)throw new Error("\u65E0\u6CD5\u5B9A\u4F4DCAS\u6062\u590D\u76EE\u5F55");return this.pcRestoreFolderId=String(c.id),this.pcRestoreFolderId}async createCloudPcBatchTask(e,r,n={}){let s=Array.isArray(r)?r.filter(Boolean):[];if(s.length===0)return"";let i=await this.requestCloudPc(`${Gi}/batch/createBatchTask.action`,"POST",{form:{type:e,taskInfos:JSON.stringify(s),...n||{}}}),a=String(t6e(i?.data)||""),o=fa(i?.data);if(i.status>=400||o||!a)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u521B\u5EFA\u5931\u8D25: ${o||i.status||"unknown"} body=${Mt(ma(i?.data),260)}`);return a}async permanentlyDeleteCloudPcItems(e,r={}){let n=Array.isArray(e)?e.filter(Boolean):[];if(n.length===0)return;let s=await this.createCloudPcBatchTask("DELETE",n,r);await this.waitCloudPcBatchTask("DELETE",s);let i=await this.createCloudPcBatchTask("CLEAR_RECYCLE",n,r);await this.waitCloudPcBatchTask("CLEAR_RECYCLE",i)}async waitCloudPcBatchTask(e,r,n=300){let s=Date.now();for(;Date.now()-s<15e3;){let i=await this.requestCloudPc(`${Gi}/batch/checkBatchTask.action`,"POST",{form:{type:e,taskId:r}}),a=i?.data||{},o=fa(a);if(i.status>=400||o)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25: ${o||i.status||"unknown"} body=${Mt(ma(a),260)}`);let c=xnr(a);if(c===4)return;if(c===2)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u5B58\u5728\u51B2\u7A81`);await new Promise(u=>setTimeout(u,n))}throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u7B49\u5F85\u8D85\u65F6`)}async removeCloudPcRestoreFolder(e){if(!e)return;let r=[{fileId:String(e),fileName:tB,isFolder:1}];await this.permanentlyDeleteCloudPcItems(r),this.pcRestoreFolderId=""}async resetCloudPcRestoreFolder(){let e=await this.ensureCloudPcRestoreFolder();await this.removeCloudPcRestoreFolder(e);for(let r=0;r<3;r+=1)try{return await this.ensureCloudPcRestoreFolder()}catch(n){if(r>=2)throw n;await new Promise(s=>setTimeout(s,300*(r+1)))}}async restoreCasMetadataToCloudDrive(e){let r=String(e?.md5||"").trim().toUpperCase(),n=Number(e?.size||0),s=String(e?.name||"").trim(),i=String(e?.sliceMd5||"").trim().toUpperCase();if(!r||!n||!s)throw new Error("CAS\u5143\u6570\u636E\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u65E0\u6CD5\u6267\u884C\u79D2\u4F20\u6062\u590D");let a=await this.resetCloudPcRestoreFolder(),o=YMe(n);e?.create_time;let c=await this.requestCloudPc(`${eB}/person/initMultiUpload`,"GET",{encryptedParams:{parentFolderId:a,fileName:s,fileSize:String(n),fileMd5:r,sliceSize:String(o),...i?{sliceMd5:i}:{}}}),u=JMe(c?.data)||{},l=fa(c?.data);if(c.status,u?.fileDataExists,u?.uploadFileId||u?.uploadFileID,u?.uploadHost,Mt(JSON.stringify(c?.data||{}),260),c.status>=400||l)throw new Error(`CAS\u79D2\u4F20\u6062\u590D\u521D\u59CB\u5316\u5931\u8D25: ${l||c.status}`);let d=String(u?.uploadFileId||u?.uploadFileID||"");if(Number(u?.fileDataExists)!==1||!d)throw new Error("CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25\uFF0C189\u672A\u547D\u4E2D\u6587\u4EF6");let f=await this.requestCloudPc(`${eB}/person/commitMultiUploadFile`,"GET",{encryptedParams:{uploadFileId:d,isLog:"0",opertype:"3"}}),p=XMe(f?.data)||{},m=fa(f?.data);if(f.status,p?.userFileId||p?.id,p?.fileName,Mt(JSON.stringify(f?.data||{}),260),f.status>=400||m)throw new Error(`CAS\u79D2\u4F20\u63D0\u4EA4\u5931\u8D25: ${m||f.status}`);let h=String(p?.userFileId||p?.id||""),A=String(p?.fileName||s);if(!h)throw new Error("CAS\u79D2\u4F20\u63D0\u4EA4\u540E\u672A\u8FD4\u56DE\u6587\u4EF6ID");return{fileId:h,fileName:A,folderId:a}}async getCloudPcFileDownloadUrl(e){let r=await this.requestCloudPc(`${Gi}/getFileDownloadUrl.action`,"GET",{query:{fileId:String(e||""),dt:"3",flag:"1"},responseType:"text",transformResponse:[o=>o]}),n=String(ZMe(r?.data)||""),s=Sc(n).replace(/^http:\/\//i,"https://"),i=fa(r?.data);if(r.status,pa(s),Mt(s,260),r.status>=400||i)throw new Error(`\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u83B7\u53D6\u5931\u8D25: ${i||r.status}`);if(!s)throw new Error("\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u4E3A\u7A7A");let a=await w0({method:"GET",url:s,headers:{"User-Agent":_c["User-Agent"]},maxRedirects:0,validateStatus:()=>!0},"pc-download-redirect");return a.status>=300&&a.status<400&&a.headers?.location?Sc(String(a.headers.location||"")):s}async getCasPlayableByRestoringToCloudDrive(e){let r=[],n=[{isFamily:!0,scope:"family"},{isFamily:!1,scope:"personal"}];for(let s of n)try{let i=await this.restoreCasMetadataToCloudDriveV2(e,{isFamily:s.isFamily}),a=await this.getCloudPcFileDownloadUrlV2(i.fileId,{isFamily:s.isFamily,familyId:i.familyId});return s.scope,i.fileId,i.fileName,pa(a),{url:a}}catch(i){r.push(`${s.scope}: ${i?.message||i}`)}throw new Error(`CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25: ${r.join(" ; ")}`)}async getShareTextPlayable(e,r,n="",s="",i=0){if(!e||!r)return null;this.setShareTextResolveReason(""),!this.cookie&&this.account&&this.password&&(console.log("\u6B63\u5728\u767B\u5F55\uFF0C\u8BF7\u7A0D\u7B49...."),await this.login(this.account,this.password),console.log("\u767B\u5F55\u6210\u529F,\u83B7\u53D6cookie\u6210\u529F"));let a=this.getCachedShareFileItem(e,r),o=n||a?.shareMode||"",c=s||a?.accessCode||"",u=this.cookie?{Cookie:this.cookie}:{};this.cookie,eb(this.cookie),a?.name,pa(a?.downloadUrl);let l=iI(a);l.length,l.slice(0,3).map(p=>Mt(p,260));for(let p of l){let m=await this.fetchShareTextFileFromUrl(p,u),h=Zx(m),A=await this.confirmShareTextPlayableCandidate(h,u,{source:"cached",fileId:e,shareId:r,candidate:Mt(p,260)});if(A)return Mt(p,260),pa(A.url),A.header,A}let d=!1,f=this.buildShareTextApiCandidates(e,r,o,c);for(let p of f){let{playable:m,authError:h}=await this.tryResolveShareTextPlayableFromApi(p,u);if(m){let A=await this.confirmShareTextPlayableCandidate(m,u,{source:"api",fileId:e,shareId:r,api:(()=>{try{return new URL(p).pathname}catch{return p}})()});if(!A)continue;return(()=>{try{return new URL(p).pathname}catch{return p}})(),pa(A.url),A.header,A}h&&(d=!0,(()=>{try{return new URL(p).pathname}catch{return p}})(),void 0)}return d&&i<1&&this.account&&this.password?(T0.set("cloud_cookie",""),await this.login(this.account,this.password),await this.getShareTextPlayable(e,r,o,c,i+1)):(this.cookie,eb(this.cookie),this.getShareTextResolveReason(),null)}async getShareUrl(e,r){let n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json;charset=UTF-8","Accept-Encoding":"gzip, deflate, br, zstd"};!this.cookie&&this.account&&this.password&&this.index<2&&(console.log("\u6B63\u5728\u767B\u5F55\uFF0C\u8BF7\u7A0D\u7B49...."),await this.login(this.account,this.password),console.log("\u767B\u5F55\u6210\u529F,\u83B7\u53D6cookie\u6210\u529F")),n.Cookie=this.cookie;try{let s=await Ae.get(`${this.api}/portal/getNewVlcVideoPlayUrl.action?shareId=${r}&dt=1&fileId=${e}&type=4&key=noCache`,{headers:n}),i=await Ae.get(s.data.normal.url,{maxRedirects:0,validateStatus:function(o){return o>=200&&o<400}}),a="";return i.status>=300&&i.status<400&&i.headers.location?a=i.headers.location:a=s.data.normal.url,a}catch(s){if(s.response&&s.response.status===400&&this.index<2)return console.log("\u83B7\u53D6\u64AD\u653E\u5730\u5740\u5931\u8D25\uFF0C\u9519\u8BEF\u4FE1\u606F\u4E3A\uFF1A"+s.response.data),console.log("cookie\u5931\u6548\uFF0C\u6B63\u5728\u91CD\u65B0\u83B7\u53D6cookie"),T0.set("cloud_cookie",""),this.index+=1,await this.getShareUrl(e,r);console.error("Error during getShareUrl:",s.message,s.response?s.response.status:"N/A")}finally{this.index>=2&&(this.index=0,messageToDart({action:"toast",opt:{message:"\u5929\u7FFC\u8D26\u53F7\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}))}}},tf=new LK;var Bs=Re(Jn(),1);function mu(t,e){let r=nB();return mu=function(n,s){n=n-(13978+-166*83);let i=r[n];if(mu.sbuiTY===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};mu.TgKpDR=l,t=arguments,mu.sbuiTY=!0}let o=r[-2574+-1*-1117+1457],c=n+o,u=t[c];return u?i=u:(mu.zkzZMt===void 0&&(mu.zkzZMt=!0),i=mu.TgKpDR(i,s),t[c]=i),i},mu(t,e)}var $e=mu;(function(t,e){let r=mu,n=t();for(;;)try{if(-parseInt(r(310,"LKbS"))/1*(-parseInt(r(230,"jYoQ"))/2)+parseInt(r(417,"Xaj^"))/3+parseInt(r(200,"Q]Gf"))/4+-parseInt(r(475,"XMYa"))/5*(-parseInt(r(335,"!%np"))/6)+-parseInt(r(237,"lWdt"))/7*(-parseInt(r(579,")!nc"))/8)+-parseInt(r(305,"j8@4"))/9+-parseInt(r(330,"dkje"))/10===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(nB,-425679+268*2513);var Rnr=[$e(256,"@WPP")+$e(456,"$aIC")+$e(609,"j8@4"),$e(591,"uMo)")+$e(576,"I)@B"),$e(415,"4zyD")+$e(419,"jYoQ")],Nnr=new Set([$e(590,"pA$z"),$e(387,"h42)"),$e(389,"2xOe"),$e(414,"@tA8"),$e(302,"rNH4"),$e(360,"dkje"),"ts",$e(569,"LKbS"),$e(644,"h42)"),$e(460,"@tA8"),$e(331,"LKbS"),$e(514,"pA$z"),$e(578,"@WPP"),"rm",$e(647,"!%np"),$e(297,"Mp2^"),$e(630,"JFO4"),$e(524,"jYoQ"),$e(552,"Z@eI"),$e(416,"@tA8")]),c6e=(t={})=>{let e=$e,r={aAgsa:function(a,o){return a(o)}},n=r[e(586,"rNH4")](String,t[e(377,"Lrz%")]||t[e(496,")!nc")]||"")[e(561,"@WPP")]()[e(388,"jYoQ")](/^\./,"")[e(248,"1zMZ")+"e"]();if(n)return n;let s=r[e(541,"1zMZ")](String,t[e(216,"I)@B")]||t[e(575,"jYoQ")]||"")[e(252,"h42)")]()[e(251,"XMYa")+"e"](),i=s[e(604,"#RnD")](/\.([a-z0-9]{1,10})$/i);return i?i[31*-129+3907+93]:""},Onr=t=>Nnr[$e(470,"LKbS")](c6e(t)),Pnr=t=>{let e=$e,r={CUesa:function(n,s){return n(s)},MGxFp:function(n,s){return n||s}};try{return r[e(410,"NvW]")](decodeURIComponent,r[e(624,"uMo)")](t,""))}catch{return r[e(531,"Mp2^")](t,"")}},knr=t=>encodeURIComponent(String(t||""))[$e(388,"jYoQ")](/\*/g,$e(395,"UcnF")),Dnr=t=>{let e=$e,r={bVhWb:function(s,i){return s(i)},exLGD:function(s,i){return s||i},wKvbk:function(s,i){return s===i},YqXUk:e(285,"T0jF"),rbUZx:e(328,"2xOe"),TMxLR:e(588,"c*Ao")},n=r[e(556,"Zp5*")](String,r[e(351,"BiJP")](t,""));if(!n)return"";if(r[e(633,"T0jF")](typeof globalThis[e(245,"m8gi")],r[e(463,"MyyY")])){let s=globalThis[e(502,"1zMZ")](n),i=Uint8Array[e(350,"!%np")](s,a=>a[e(485,"URX%")](-9008+557*2+7894));return new TextDecoder()[e(279,"Q]Gf")](i)}return globalThis[e(472,"MyyY")]?globalThis[e(423,"d47*")][e(236,"Z@eI")](n,r[e(540,"lWdt")])[e(452,"e&rs")](r[e(616,"G4bI")]):""};function nB(){let t=["emoEW7a+ESoznSobWP4R","WQpdRmk0WQ4","nmoDutNdPmoTWPa+WPZcVG","ArlcMCkDpSoJW5fUv8k9","WOldPw3cOSomWOBcIaW","Cmk/W6tcIcBcS8oHW4vmWOW","WPG2cSkEW7xcUCkzW7hdQuK","iCoYW4tdISomWQFcU8ouWQSZ","WP/dKSkvWRSi","zCk/W6dcTcVcSCo9","WQVdRCkJWPKCwSoWWPpcLmkn","dmorW4XaWP7dOthcLSolbW","nmkwjeJcU8odW7S","fSoeWPniW4RcOq","WQDOWOy","r8kyWQ5L","bHJcLmkyvW","WQ7dPSk/WPGstSo2","r8olW45FWP/cTsFdGSootq","mCoaafLjW7lcHSonE8kb","ECoiaSkpsSkoAmo2kq","D8opW4emW7W","W6KKW6FdOCkqWQ3cTNOC","W7SBW6f9W4S","WRxdQqzB","W60wW6u","wxNcGGVdVCoZvmof","qmochmkECq","W6aGjq","ux3dIGhcVXqSjmoBW6pcICodWP4","W6nVW65NWPRdLW","WRFdPwRcGColWONcIqZdSCow","hComWO8","oWP2","W50TkqGGWO8","y8oHlmkZWPZdLCkvlSkrWRS","AsGFmSkFy8kEWQtcJCkW","oWXhrCoO","m8kuaaaeWQ/dHa","WP3cRCknWPyCW57cLr9ecq","ASkdWRuNjCkiuCknW4rv","W6utW5v/W6m","y8kkmhJcT8oUW4GL","W5WtW704WPRcLfK9wKe","W6PKW7y","iLlcJSoEyCk0W5fQoSohWRiF","bCk7W7biDa","FZqlW50","WQuPh8kvoq","d8oYza","rSkAnGubWR7dRf/dMv4","WOxdTmkqWOm5","n8knta","emo2zmoMW4JdUHe","WQDIWOa","WR7dOxpcTW","o8oaEmkDuSkqWQtcMCkKW68","qSobW7aQW4BdPSkHW500W6W","WRFdJ8kxncT+sICyDa","smkeWQH8","dfqt","uZmXWOFdGG","usnzWRxdGCoImSoo","lrbHvG","tHaS","W7KYamkbW6ddTSo0","W7mLnazFW78","qxpcVXJdU8oY","WPBcOCkxWQ49W7S","CCo4WPBcUSkKW5bnaqDL","WQRdPmopW7JcQSoQtK/cRCkn","r8kiWQ5pEa","W6xcGSk4dIPbAG","W5O+kajKWPStW6biWPC","W6XLW5nPWPtdMG","WR4qhmkeW7O","aCkPWQL6F8owa8kmW4zq","cSoNymo6W5RcO1ShWOVcTa","hHrlyCkq","lWLb","p8kpW50riSocWOL3WQ7cLa","jWXh","W4VdUmokW71fWOBdLqnDaGdcT8ke","xSk7WQyoW5W","kSoCrSodW7pdMcbHWRFcKG","cCoEmG","fCkQW79jzq","eNiFWRJdVSoNBG","W505paTZW4K","D8oZWO3cH8k1W5Xqet0","DCoYWRBcKmk8W5q","WRZdPxdcTCoxWOa","FCkQWPeyW6bo","xxFcTq","DdpdHmkb","D8odkCkmB8kvDSo3kXm","E8oLcmkPWR4","pmoycrWEWQ8","cMWqW6C","sWCHWOBdTtWA","BYOBWRVdLa","WQ1SWOlcTIhdK34HWQNdHG","yZPsW64GWR3cHhmQWPK","W7y/gX9KW5OA","WRpdQ8kLWO3cN8kI","wWK9WPC","pSovFmkwFSksWOxcMmk1W40","oJzgDmoi","DxvWWRpcUMXa","W74mlmklW7e","b8oHzSoLW5S","W6u7W7bTW4hdMHCXjrS","C8oucmkhuSkkDq","W701W6hdM8kwWQVcRxKSWRu","j8o1gmkTkG","WROohSkrnW","WO3dU8k/WRibdCoUWQ3cLmkp","y8k1W4pcRdJcU8o2W4m","W5iGmSkwWQtcOW","WRBdRh/cPG","tmklWRe","WOfGuCk/WQ1pfSo5Cmk9","oCoUWP57W7O","D3P8WRlcQG","l8oPFmkZwG","iW9m","FSojnCk1","cCoXiCkyqGzArCoAya","nCobcCk9bG","WORdOmkQWO4r","WQynEK7dKW7dRCoQySoD","WQdcR1FcNCowWPZcTWddJ8or","wCkhnq","zZbh","W67cRfWBWO7dNIFcICoVsG","WRxdVae","bG7cU8kTAIBcNW","lSofn8kocba","etTLxGJdKhzyW7rD","fXlcSCkY","jCkQW5hdNmkRW4jWiczi","guz6WRtdIsasxmonaW","WRmWh8kJW7m","WRhdP8knWPVcPG","FudcLJVdUmo3wCouWOTS","AtWtW4hdV3K","WOmLaCkBoa","WQ8DhSknia","cmoCW7G0W4ddPSkrW50OW7O","AmkKWOpcLSoeWRRcTCoZWQaF","W7tcJ8k9dJXCyM55Ba","WQRdOwRcU8omWOBcRWBdISoF","W6aGnCkB","W6CQcSkyW5C","zZ5IWP4v","yxOvW4BdTwxdRCkfW6OV","WRhdUbXmW5tcHG","W7CKnCkGW7RdTSo/uNBdMq","WO7dLSo5WQesdSkGW5K","WRZdR8khWPNcNW","WP3dVCkRW6u","a8oyWPLAW4BcQW","WPDOumkPWOq","aIZcILZdHKH/oCo3W7y","kmoCxCkbACkm","WPTfcmokpa","WO8nnCkNba","WQumFea","j8ocWO1yW67cOw3dHCkf","WR5aWPJcGYy","W6FcHSkUdXO","xSopW7ygW4JdQ8kD","W6FcHSkOfa","ESkef2tcVSoMW7uYWPldRW","dqNcNSkUxG","rmookCk/WRxdKSkun8kxWQa","WOVdNCkCWQu9","nSkwfW4","WOtdL8kTWOu/","qSkdiq","WQ/dVbXpW4/cGW","WPVcPmkv","FYCAW4BdV2xcTCoWW4Wg","W77cLmkDdG1sFW","W6LCW4nwWP8","x3NcVGS","WRL5WPRcJd0","nIJcLCkvDG","aa/cTSk8CIi","d8oJCCoT","WQewCa","ebtcQSk2FthcGSoxBW","WPbbd8oCmq","WQVdPSkJWQKwq8oQWPBcNW","W7SvW6b6","ENLNW7ZcVgDafLBdMW","fSouW4JdPCot","eSk/W6bu","WO7dG8o4","W48KW7pcSa","jmoJWOpdQaRcKcK","DSkJW5lcOq7cVCoVW4PcWO8","WR3dR3RcTW","gwWOW7ZcPa","W7WToqvZ","y8kTWQOLW6W","WQu5DfhdLG","uwjPW57dImkA","dNzsWOG","W6WFW6DpW5VdMXeQhHW","FCoppmkKWQddImkAkmk9WPq","z3P6WR/cQG","W6PKW6nYWPFdJWm","dCo+o8oZW5ZdT1LBWPdcVq","WQOrvvpdUG","amovp8kpgqO","W7GkW79NW43dIG","W70XjG","smopW7C3W7RdOmkuW4a6W4G","W4WKoX9ZW7GmW7XtWPe","bYJcJwRdPKXSomoBW6O","sIxdSmkaWRS","W4OiesH3","W5ZdVCknW6HnwmoHW5m6WQO","dWNcTSk0wHi","amovmmkBcejCuSoxFa","zrtdN8ka","pSkEdqq4WOu","WQJdR8oy","qCorW41aWPZcRY/dMmoivq","W7W5W7NdVmkBWRG","taGXWPhdMt4c","WPZcOCkvWRerW40","hb1hxG","WRdcRWzy","tGmMWQldLtOExmoigq","W78+W7y","W4jDW4foWOO","mCo/WO8","DCoBcmkDtG","dmoYECoV","WRbRfSoWeHZcR3T0WRO","W5CuWQa","yWVdGmkp","qCkEW4CkWPJdPI3dSmkmyCk8WPK+","W78Jk8kwW7hdOW","AJial8kuDG","WR7dOSkN","q8oKWOVcUCkn","WQKxD0C","uHldRmk+WRyanHfLWPW","BmoHkmkJWPi","cCoLi8ke","W7P+W6y4","CaRdMG","wmkEyW","WQxdUSkDWOCYl8kqWQjuW54","rSkpWRvBEmoAfmogWQir","Cmk/WO8tW71fnHNcMCoV","W7CKnCkGW7RdTSo/uNNdTa","cMWwW7ZcTtHStCoNWP8","WPOed8krzq","fIfZqYq","nHtcVSoN","D8odkCkmAmkvB8oTiHi","tSoufCk4WPq","hmori8kBca","wHBcUmkZWRGAh04","cxKfW7VcPrG","f2WqW6ZcUa","hMWqW64","tmkPlwJcNW","iSkwerWu","W5e0nCkBW73dPCoKtvhdHa","zeZcKcVdHSovDa","WPi3emknW7RcQSoqW63dRWG","AZ4ycmkzzComWRlcTCk9","WQ0kgmkJj8oHid/dG8oh","W6O4W4BcMxJcHZ9YWRJcTa","BYLsWQ0","amoMFCoMW43dMHTfWPxcSW","BmoTW7WpW7S","WQTaDq","W68TlGu","WQmDz2pdGJNdQSoOFCoB","WRrqfmoTdG","WPXfmmoy","C8ouca","WRpdKb9tW4m","WRhdTmkHWO4m","sJGv","WP/dVafoWPBdMG","CmkCjrGhW63dI0tdGLu","AJOEmSoEmCknW6ddI8oI","BYnfWQev","jCoDgW","AdalW6BdSMRcS8oaW5OR","WRPCF8kn","WR0KgSkaoq","EmoooW","AdalW7tdR3/cQCoMW78P","WQddOmol","e8kYma","W47cJSk4eXfur35mCa","WQTCzmkpWP4","WRbOWOlcJcBdNe0NWOpdRq","zGNdHmkjiq","qZGyW7xcUezhySoPWOy","DSkQWOSSW7XhjqJcOmoS","n8kkt8oC","Ad4pkCkiDmok","WPncWOdcLte","r8oEWRC","WQddOwZcOCog","eSo8z8o+W7RdSrvAWP3cNq","WQTDzCkjWOj9ySocv8ko","Emk8WR4nW6zhlG","mmkweaOKWRpdNa","z8k7W6tcSa","W4ejW6ddPSkJW6RcNMKrWRm","W7TLW5n0WPZdLHNdKG","n8oysG","WOZdNmkQWRWVamkUWPfKW4S","WQ1SWOlcPdZdHMqRWPldQW","bCo2ymolW5ZdRrXhWORcTq","W6NcV8oYW5pdK8o+WOHQzSkMa8ot","WQddSNVcOCogWOBcJYhdTmoO","dmosD8oPW4BdRbPCWRhcSG","F8oZWOVcNq","WRRdUaz7W4ZcJ3ddMmoXeW","FSk1W74","cxKwW6BcVGXTsSoS","FSkPW4dcTcVcQ8o5W4zcWOu","qx/cVXtdHSoE","AZ4ycmkzzComWRlcO8k4","imoYz8oJW4RcUq","WRpdR0RcQ8otWO0","mIJcIKNdOunToa","WQjAW5j+W57dGXWscrC","d8kPW5jsy8kAWQ8","W50vjSk0W6O","WPTlcSoyjtG","dItcV0JdGW","cSktWRX1WP/cVmknW70pW5SHW7S","W4FcJmk/d0G","a35pWOxdICozimodaJS","k2arW4RcLa","waJdKmkcbmk0","WQRdPmopW6JcRCoLse/cK8kv","W7BcHmk/eWPDCG","WPBcOCkxWQ49W7VdHXnNrq","cxKwW6BcVGW","WQ54A1T8W5KZW7boWRW","W5RcImkMfrnFzYqnnG","a3zCWOxdIq","vSoGu8opW4pdKI4","WP4QlCkoW6VcUW","WQtdOmkJWRy6Aq","WQ/dRmk5WPWgwCo2WRdcICkf","W7OImmkIW4u","yCkve2hcUmoRW4aPWPddPq","W7yZlSkE","imo7WPKNW7LVmqu","WRL9WOtcJcFdLwuIWPK","sb8qWPRdPcebxCowhW","WPDVtmkXWOK","ECoLW5C","cgnlWP0","WQmjuMZdMW","wSobW7CMW6hdRCkuW5y6W7S","W7SKW7RdQG","WQmDz3hdNYZdSmoIsCoB","EN9vWQ3cGG","WRaxx03dGcJdSmoeBSob","WQ/dI8k2WRiQ","WOtdIdTpW4S","ySoYWQ7cHSk7W5rnjY94","lSolu8kj","pwHuBCogmCkmWOpcLCkzWRyZpW","EcKfnG","WQnbCSkf","uIFdOSk9e8ovW6DzmSoz","amoFWPPpW4RcVwVdQmkPEW","BMBcOYZdOa","zSoOWPhcGq","w8omW7qAW50","n8o+WQldQGlcHG","ztOwW5S","WPmSp8kgW5y","WRpdP8kLWOhcOSko","W7hcImkUor5qBG","W7SNW4BdI3NcNdXKWRpdOW","WRVdQ8kOWPJcKSk6WQ8","fSoeWPfy","dSofomkecsfqxSowFW","c8ovjCk7bqnnvSoUyG","hSovnSknfre","WQjSWR3cGda","CSkGWPelW7fiiYtcLa","bcZcJvG","krPCxCosWQJcICoRW795","pH5AyCocWO/cRCoJW6n3","EZqEp8kc","WQFdQ8kNWRGqwq","WRVdQ8kOWOxcJ8kV","WP4QnCkeW68","hmornq","WOBdKSkTWQetbSkBWOXQW68","6kE15PYn6lEe5yYE5AE96lAu","CCoFh8kMq8kBC8o8fXa","WQWAaSkbjSo8jXi","WPhcVmkUWQCK","dsZcIq","ESkQWOym","WQNdMmkFWPRcIG","lW1np8omWRJdQmoSW7TH","W64JW6DhW60","pGPBEG","W6HVW7rtWOBdNGxdKmkxdq","WP9bmmoXltZcN1DjWOC","x8ofW7aqW4hdQCkhW5CkW7S","rJldU8k0WRyBeabnWPy","nSkNW4m","CCoFh8k0xSkoACo2nru","baxcRmkxDJFcJ8ouzmoJ","mCoCq8kx","jSogcmkDwCkvBmo8o00","ymopoq","WOBdKSkTWQetbSkhWOzGW64","E8k/W77cVZ7cUG","hIldQuZcVmkSu8oiWQXfdKe","WQfEEmkkWQG","a3HZWP7dMa","pX/dG8kdFmkZWOS5vCo+","iCo/WPG","W6/cRKODWPBdMNhdTSodlw/cMq","xXldQSk5","dSkrWR16WPhcVmkMW6yRW6a1W4m","nmkBaHS","tNFcNX7dOSo/","hSovFSkAbafxx8osDG","WPfkl8oVEW","WR5MWQxcKtVdM2iJ","W6uQi8kWW6S","w8opW5a6W5NdRq","tcu6WRFdJq","sNpcPsZdP8o7smohWQT2","CCoomr4hWR7dJXG","WQ7dRSovW4/cOmoQtMpcRCkF","WQtdSmkAWQmv","WRZdHCkKWRmy","gWTokG","WPVdOCkSWQ8wBSoXWRhcJ8kj","WQHOWOxcGh/cHG","u8kHjCk+WPhcRe0yWRNcSKCnfCoB","WRPiWQi6WPBcMKb1lrS+WR8Zma","WQRdUbbg","kJzsWRO0WRdcHMOGW7K","bh5VWPFdMq","WR/dSCkA"];return nB=function(){return t},nB()}var MK=class{constructor(){let e=$e,r={clpYt:e(564,")!nc")+"5",xdtMC:e(228,"URX%")+e(476,"UcnF")+e(558,"uMo)")+e(378,"dkje")+e(213,"dkje")+e(375,"!%np")+e(393,"URX%")+e(437,")IqX")+e(411,"!%np")+e(266,"2xOe")+e(628,"lNDX")+"6",zUcdb:e(593,"lWdt")+e(490,"D*Ik")+e(338,"@WPP")+e(625,"ZtCn"),gqANl:e(235,"Lrz%")+e(432,"OkFO"),EbYEV:e(346,")!nc")+e(301,"JFO4")+e(469,"LKbS")+e(354,"OkFO")+e(337,"Lrz%")+e(353,")!nc")+e(483,"G4bI")+e(613,"2xOe")+e(642,"#RnD")+"|",oFswk:e(479,"j8@4")+e(542,"ZtCn"),vSsFm:e(412,"jYoQ")+e(290,"@tA8")+e(308,"@WPP")+e(548,"jYoQ")+e(315,"MyyY")+e(462,"MyyY")+e(466,"IM[A")+"/"},n=r[e(260,"G4bI")][e(421,"4zyD")]("|"),s=950*1+2*2657+-1044*6;for(;;){switch(n[s++]){case"0":this[e(498,"8irg")]={"User-Agent":r[e(513,"uMo)")],Accept:r[e(396,"UcnF")],"Content-Type":r[e(243,"1zMZ")],"hcy-cool-flag":"1","x-deviceinfo":r[e(501,"T0jF")]};continue;case"1":this[e(271,"MyyY")]=[/https:\/\/yun.139.com\/shareweb\/#\/w\/i\/([^&/?#]+)/,/https:\/\/caiyun.139.com\/m\/i\?([^&/?#]+)/,/https:\/\/caiyun.139.com\/w\/i\/([^&/?#]+)/];continue;case"2":this.x=Bs.default[e(525,"1zMZ")][e(534,"m8gi")][e(648,"IM[A")](r[e(383,"T0jF")]);continue;case"3":this[e(652,"OkFO")]=r[e(464,"uMo)")];continue;case"4":this[e(403,"Xaj^")]="";continue;case"5":this[e(381,"4zyD")]={};continue}break}}[$e(658,"2xOe")+$e(508,"Lrz%")+"n"](){let e=$e,r={OtYqH:function(s,i){return s(i)}},n=Rnr[e(636,"55K9")](s=>globalThis[e(535,"i1ho")]?.[e(379,"c*Ao")]?.[s])[e(268,")!nc")](s=>String(s||"")[e(632,"$aIC")]());return r[e(418,"lWdt")](String,globalThis[e(638,"URX%")+e(355,"JFO4")]||n||"")[e(254,"lNDX")]()[e(344,"e&rs")](/^Basic\s+/i,"")[e(252,"h42)")]()}[$e(544,"dkje")+$e(585,"Zp5*")+"er"](){let e=$e,r=this[e(659,"jYoQ")+e(282,"uMo)")+"n"]();return r?e(210,"jYoQ")+r:""}[$e(619,"1zMZ")+$e(342,"Mp2^")+$e(634,"rNH4")](){let e=$e,r={KEIEG:function(s,i){return s(i)},LtPTF:e(654,"m8gi")+e(610,"NvW]")+e(283,"XMYa")},n=this[e(570,"UcnF")+e(486,"IM[A")+"n"]();if(!n)return"";try{return r[e(449,"MyyY")](Dnr,n)[e(521,"2xOe")](":")[5908*-1+-4847*-2+-3785*1]||""}catch{return console[e(311,"Zp5*")](r[e(620,"I)@B")]),""}}[$e(294,"I)@B")](e={}){let r=$e,n={...this[r(244,"G4bI")],...e},s=this[r(233,"o@gK")+r(303,"uMo)")+"er"]();return s&&(n[r(608,"Z@eI")+r(205,"e&rs")]=s),n}[$e(612,"T0jF")+$e(272,"2xOe")](){let e=$e,r={CprSo:e(424,"XMYa")},n=this[e(619,"1zMZ")+e(392,"G4bI")+"n"]();return n?Bs.default[e(577,"m8gi")](n)[e(317,"2xOe")]()[e(546,"@W9e")](0,5919+-9197*1+-53*-62):r[e(258,"j8@4")]}[$e(276,"@tA8")+$e(339,"IM[A")](e){let r=$e,n={NufTh:function(i,a){return i===a},CtZhg:r(580,"Z@eI"),eYtIC:function(i,a){return i(a)},jcqQW:function(i,a){return i||a}};if(e&&n[r(477,"NvW]")](typeof e,n[r(600,"rNH4")]))return e;let s=n[r(291,"dkje")](String,n[r(234,"Z@eI")](e,""))[r(474,"BiJP")]();if(!s)return null;try{let i=this[r(645,"lNDX")](s);if(i)return JSON[r(601,"MyyY")](i)}catch{}try{return JSON[r(450,"T0jF")](s)}catch{return null}}async[$e(649,"jYoQ")+"pi"](e,r,n=-11290+3215*6){let s=$e,i={vVTpa:function(c,u){return c+u},MTgGx:function(c,u){return c!==u}},a=JSON[s(206,"#RnD")](this[s(447,"JFO4")](JSON[s(238,"2xOe")](r))),o=await Ae[s(529,"dkje")](i[s(289,"Q]Gf")](this[s(434,"UcnF")],e),a,{headers:this[s(299,"BiJP")](),timeout:n});return i[s(215,"Z@eI")](o[s(603,"#RnD")],200)?null:this[s(595,"#RnD")+s(212,"8irg")](o[s(605,"#RnD")])}[$e(465,"1zMZ")+$e(446,"dkje")+"fo"](){let e=$e;return{account:this[e(298,"JFO4")+e(640,"2xOe")+e(309,"i1ho")](),accountType:1}}[$e(207,"e&rs")+$e(554,"d47*")+"nt"](e){let r=$e,n={UDKEa:function(s,i){return s===i},UyiPA:function(s,i){return s===i},ICaGU:function(s,i){return s(i)}};return e?n[r(557,"d47*")](e[r(231,"NvW]")],27*-181+7525+-2635)?!0:n[r(583,"XMYa")](e[r(211,"IM[A")],-7511*-1+107+26*-293)&&n[r(457,")!nc")](Onr,e):!1}[$e(471,"BiJP")](e){let r=$e,n={opnjD:function(a,o){return a==o},SxozV:r(226,"#RnD"),diPzu:function(a,o){return a===o},IJmyj:r(278,"o@gK"),UHMJe:function(a,o){return a!==o}},s=Bs.default[r(467,"pA$z")][r(503,")!nc")][r(515,"LKbS")](-7*-941+528+-1*7099),i="";if(n[r(306,"$aIC")](n[r(249,"uMo)")],typeof e)){let a=Bs.default[r(420,"MyyY")][r(598,"BiJP")][r(607,"OkFO")](e);i=Bs.default[r(637,"OkFO")][r(566,"UcnF")](a,this.x,{iv:s,mode:Bs.default[r(255,"$aIC")][r(533,"55K9")],padding:Bs.default[r(281,"MyyY")][r(219,"URX%")]})}else if(n[r(333,"ZtCn")](typeof e,n[r(481,"T0jF")])&&n[r(522,"BiJP")](e,null)){let a=JSON[r(357,"m8gi")](e),o=Bs.default[r(563,"55K9")][r(495,"o@gK")][r(358,"dkje")](a);i=Bs.default[r(399,"D*Ik")][r(547,"c*Ao")](o,this.x,{iv:s,mode:Bs.default[r(584,"1zMZ")][r(368,"e]tE")],padding:Bs.default[r(363,"Z@eI")][r(596,"T0jF")]})}return Bs.default[r(617,"$aIC")][r(369,"d47*")][r(526,"BiJP")](s[r(523,"BiJP")](i[r(220,"ZtCn")]))}[$e(645,"lNDX")](e){let r=$e,n=Bs.default[r(571,"m8gi")][r(453,"Z@eI")][r(505,"URX%")](e),s=n[r(458,"@W9e")](),i=s[r(277,"lNDX")][r(551,"dkje")](2554+2*-1139+-272);s[r(203,"XMYa")](s[r(641,"@WPP")]),n[r(394,"!%np")](i);let a=Bs.default[r(622,"JFO4")][r(626,"LKbS")][r(238,"2xOe")](n);return Bs.default[r(241,"G4bI")][r(267,"Q]Gf")](a,this.x,{iv:s,mode:Bs.default[r(537,"IM[A")][r(334,"uMo)")],padding:Bs.default[r(428,"j8@4")][r(413,"@tA8")]})[r(655,"c*Ao")](Bs.default[r(573,"i1ho")][r(326,"@tA8")])[r(361,"j8@4")]()}async[$e(436,"2xOe")](e){let r=$e;this[r(499,"h42)")][r(506,"G4bI")](n=>{let s=r,i=n[s(614,")IqX")](e);i&&i[1*1865+-230*-21+-6694]&&(this[s(208,"j8@4")]=i[-6295+-3148*-2])})}async[$e(555,"8irg")+"fo"](e){let r=$e,n={VxwkZ:r(225,"Xaj^")+r(530,"@W9e")+r(560,"MyyY")+r(332,")IqX")+r(322,"pA$z"),XCCki:r(275,"@tA8")+r(222,"@WPP"),YUIdk:r(451,"o@gK")+r(371,"lNDX")+r(493,"uMo)")};if(!this[r(562,"OkFO")])return console[r(639,"$aIC")](n[r(362,"JFO4")]),null;let s=this[r(635,"D*Ik")+r(527,"I)@B")]()+"-"+this[r(264,"Q]Gf")]+"-"+e;if(this[r(539,"d47*")][s])return this[r(229,"ZtCn")][s];let i=this[r(269,"MyyY")+r(202,"jYoQ")+"fo"](),a={getOutLinkInfoReq:{account:i[r(373,"OkFO")],linkID:this[r(559,"BiJP")],passwd:"",caSrt:0,coSrt:0,srtDr:1,bNum:1,pCaID:e,eNum:200},commonAccountInfo:i};try{let o=(await this[r(657,"uMo)")+"pi"](n[r(324,"uMo)")],a))?.[r(512,"OkFO")];return this[r(574,"JFO4")][s]=o,o}catch(o){return console[r(482,"T0jF")](n[r(250,"LKbS")],o),null}}async[$e(631,"D*Ik")+"ta"](e){let r=$e,n={fVCVq:function(c,u){return c in u},uPFWK:function(c,u){return c>u},yGIKE:function(c,u){return c(u)},wnEmA:r(359,"LKbS"),niFqM:r(520,"j8@4"),wkKkE:function(c,u){return c===u},LLNeN:function(c,u){return c===u},YKvpx:function(c,u){return c>u}};if(!e)return{};let s=e[r(385,"pA$z")](n[r(511,"uMo)")]),i=s?n[r(263,"NvW]")]:e;s&&await this[r(594,"Z@eI")](e);let a={},o=await this[r(492,"Z@eI")+"le"](i);o&&Array[r(438,"d47*")](o)&&await Promise[r(589,"@WPP")](o[r(468,")IqX")](async c=>{let u=r,l=c[u(487,"Z@eI")]||c[u(390,"IM[A")];!n[u(519,"c*Ao")](l,a)&&(a[l]=[]);let d=await this[u(295,"G4bI")+"l"](c[u(618,"d47*")]);d&&n[u(459,"h42)")](d[u(402,"j8@4")],2734+1*-2734)&&a[l][u(259,"XMYa")](...d)}));for(let c in a)(!Array[r(214,"4zyD")](a[c])||n[r(488,"Z@eI")](a[c][r(439,"Q]Gf")],6110+1661*-1+-4449*1))&&delete a[c];if(n[r(606,"Lrz%")](Object[r(288,"lWdt")](a)[r(426,"IM[A")],-7547*-1+-4836+2711*-1)){let c=await this[r(592,"!%np")+"l"](n[r(376,"dkje")]);c&&Array[r(518,"URX%")](c)&&n[r(646,"2xOe")](c[r(427,"lWdt")],-2959*1+-7060+-1*-10019)?a[n[r(478,"Q]Gf")]]=c:(a[n[r(217,"8irg")]]=await this[r(321,"j8@4")+"le"](e),a[n[r(597,"e]tE")]]&&Array[r(651,"lWdt")](a[n[r(509,"BiJP")]])&&(a[n[r(247,"@W9e")]]=a[n[r(549,"1zMZ")]][r(565,"m8gi")](u=>u&&Object[r(336,"o@gK")](u)[r(304,"e&rs")]>2*-1402+-1*4219+7023)))}return Object[r(300,"h42)")](a)[r(352,"o@gK")](c=>{let u=r,l={usoWO:function(f,p){return n[mu(386,"uMo)")](f,p)}},d=Array[u(400,"Z@eI")](a[c])?a[c]:[];a[c]=d[u(480,"D*Ik")](f=>f&&f[u(273,"lWdt")]&&f[u(562,"OkFO")])[u(349,"2xOe")](f=>{let p=u;return{vod_name:f[p(543,"ZtCn")],vod_id:[f[p(528,"o@gK")],f[p(401,"d47*")],l[p(372,"@tA8")](knr,f[p(382,"D*Ik")]),f[p(425,"XMYa")]??""][p(262,"D*Ik")]("*"),vod_size:f[p(461,"rNH4")]}}),!a[c][u(491,"LKbS")]&&delete a[c]}),a}async[$e(209,"lNDX")+"le"](e){let r=$e,n={moUPr:r(242,"ZtCn"),QmuED:r(440,"UcnF"),ukbCy:function(s,i){return s>i},FLIXt:r(627,"pA$z")+r(341,"NvW]")+r(602,"Zp5*")};if(!e)return null;try{e=e[r(385,"pA$z")](n[r(489,")IqX")])?n[r(221,"#RnD")]:e;let i=await this[r(448,"m8gi")+"fo"](e);if(!i||!i[r(538,"#RnD")])return null;let a=i?.[r(500,"I)@B")],o=a[r(287,"8irg")](d=>d[r(314,"j8@4")]),c=a[r(367,")!nc")](d=>d[r(507,"URX%")]),u=/App|活动ä¸å¿ƒ|å…è´¹|1T空间|å…æµ/,l=[];if(a&&n[r(318,"Z@eI")](a[r(365,"c*Ao")],-2324+51*103+-2929)){o[r(265,"URX%")]((f,p)=>{let m=r;!u[m(532,"4zyD")](f)&&l[m(292,"@tA8")]({name:f,path:c[p]})});let d=await Promise[r(582,"Q]Gf")](c[r(656,"h42)")](async f=>this[r(246,"1zMZ")+"le"](f)));return d=d[r(581,"lNDX")](f=>f!=null),[...l,...d[r(313,"OkFO")]()]}}catch(s){return console[r(445,"jYoQ")](n[r(435,"UcnF")],s),null}}async[$e(270,"MyyY")+"l"](e){let r=$e,n={vEGyM:function(s,i){return s in i},fboGh:r(280,"NvW]"),YAZQe:function(s,i){return s!==i},eChTm:function(s,i){return s!==i},MWANd:r(408,"d47*")+r(650,"$aIC")+r(422,"ZtCn")};try{let s=await this[r(404,"XMYa")+"fo"](e);if(!s||!n[r(431,"rNH4")](n[r(406,"!%np")],s))return null;let i=s[r(307,"ZtCn")];if(n[r(240,"$aIC")](i,null))return i[r(348,")!nc")](o=>this[r(473,"e]tE")+r(327,"o@gK")+"nt"](o))[r(455,"!%np")](o=>({name:o[r(261,"i1ho")],contentId:o[r(398,"@tA8")],linkID:this[r(232,"o@gK")],size:o[r(409,"c*Ao")],path:o[r(653,"e&rs")]||"",coType:o[r(319,"G4bI")],suffix:c6e(o)}));if(n[r(320,"UcnF")](s[r(494,"Q]Gf")],null)){let a=s[r(343,"uMo)")][r(384,"jYoQ")](c=>c[r(433,"#RnD")]),o=await Promise[r(516,"Xaj^")](a[r(287,"8irg")](c=>this[r(293,"c*Ao")+"l"](c)));return o=o[r(567,"Xaj^")](c=>c&&c[r(550,"MyyY")]>1*-1130+-5721+6851),o[r(454,"IM[A")]()}}catch(s){return console[r(629,")IqX")](n[r(572,"c*Ao")],s),null}}[$e(340,"e&rs")+$e(587,"MyyY")](e){let r=$e;return e&&(e[r(517,"D*Ik")]||e[r(257,")!nc")+"L"]||e[r(201,"IM[A")+"L"]||e[r(345,"o@gK")+r(568,"e]tE")])||""}async[$e(643,"lWdt")+$e(599,"JFO4")+$e(442,"@tA8")](e,r){let n=$e,s={YFFIh:n(405,"55K9")+n(510,"rNH4")+n(325,"o@gK")},i=this[n(615,"jYoQ")+n(370,"rNH4")+"fo"](),a={getContentInfoFromOutLinkReq:{contentId:e,linkID:r,account:i[n(224,"URX%")]},commonAccountInfo:i},o=await this[n(545,"rNH4")+"pi"](s[n(497,"$aIC")],a);return this[n(204,"LKbS")+n(429,"@WPP")](o?.[n(621,"I)@B")]?.[n(323,"55K9")+"o"])}async[$e(284,"JFO4")+$e(239,"UcnF")+"ad"](e,r){let n=$e,s={OoEOU:n(441,"h42)")+n(316,"I)@B")};if(!e)return"";let i=this[n(615,"jYoQ")+n(296,"Zp5*")+"fo"](),a={dlFromOutLinkReqV3:{account:i[n(443,"@W9e")],linkID:r,coIDLst:{item:[e]}},commonAccountInfo:i};return(await this[n(553,"G4bI")+"pi"](s[n(356,"G4bI")],a))?.[n(274,"8irg")]?.[n(407,"URX%")]||""}async[$e(374,"Xaj^")+"ay"](e,r,n="",s=""){let i=$e,a={nMmxc:function(l,d){return l(d)},ktWbP:function(l,d){return l===d}},o=a[i(623,"LKbS")](Pnr,n),c=a[i(444,"Z@eI")](Number,s);if(a[i(286,"Xaj^")](c,7*-820+4*731+-704*-4)){let l=await this[i(366,"IM[A")+i(430,"JFO4")+"ad"](o,r);if(l)return l}let u=await this[i(223,"55K9")+i(391,"h42)")+i(504,"2xOe")](e,r);return u||await this[i(611,"lNDX")+i(536,"e&rs")+"ad"](o,r)}},WK=new MK;var A9r=Re(Jn(),1),$r=Cs;(function(t,e){let r=Cs,n=t();for(;;)try{if(parseInt(r(477,"wAG8"))/1*(parseInt(r(799,"owGi"))/2)+-parseInt(r(683,"&1aG"))/3*(parseInt(r(504,"&1aG"))/4)+parseInt(r(484,"Zi77"))/5*(parseInt(r(700,"%pyk"))/6)+parseInt(r(882,"KKCQ"))/7+-parseInt(r(611,"KLQ)"))/8*(parseInt(r(898,"KLQ)"))/9)+parseInt(r(571,"J9r#"))/10*(parseInt(r(967,"bS5h"))/11)+-parseInt(r(875,"aj)6"))/12===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(iB,759989);function FK(t){let e=Cs,r={aQTMv:e(518,"gKLo"),Xhcaf:e(588,"wAG8")};return Buffer[e(837,"&1aG")](t,r[e(500,"*N*l")])[e(784,"HEZz")](r[e(903,"Ao3N")])}function Bnr(t){let e=Cs,r={ucHpM:function(n,s){return n(s)},ofBhN:function(n,s){return n||s},VcqJp:function(n,s){return n+s},kbRIh:function(n,s){return n%s},THvmR:function(n,s){return n-s},KQCCl:function(n,s){return n%s}};try{let n=r[e(954,"owGi")](String,r[e(660,"oHWm")](t,""))[e(600,"J9r#")](".")[1]||"";if(!n)return null;let s=n[e(573,"Ao3N")](/-/g,"+")[e(710,"aj)6")](/_/g,"/"),i=r[e(927,"MXDr")](s,"="[e(539,"QmV5")](r[e(857,"Iz)7")](r[e(544,"J9r#")](-5810+5*665+2489*1,r[e(521,"g3tn")](s[e(966,"KKCQ")],-1*5317+5900+-579)),-2872*-1+1*263+-3131*1)));return JSON[e(668,"&Q7w")](r[e(688,"&Q7w")](FK,i))}catch{return null}}function Cs(t,e){let r=iB();return Cs=function(n,s){n=n-(5*809+2686+-2094*3);let i=r[n];if(Cs.fbcJKL===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};Cs.coJsOy=l,t=arguments,Cs.fbcJKL=!0}let o=r[-57*125+-19*-445+266*-5],c=n+o,u=t[c];return u?i=u:(Cs.zmvfMA===void 0&&(Cs.zmvfMA=!0),i=Cs.coJsOy(i,s),t[c]=i),i},Cs(t,e)}function Lnr(t){let e=Cs,r={MrYiL:function(n,s){return n(s)},TbCui:function(n,s){return n||s},XVIcz:e(465,"Ao3N"),QijBp:function(n,s){return n(s)}};try{let n=new URL(r[e(753,"2yCc")](String,r[e(488,"MXDr")](t,""))),s=n[e(709,"HEZz")+"ms"][e(938,"adg$")](r[e(722,"*xiV")]);if(s)return r[e(646,"g3tn")](FK,s);let i=n[e(701,"^[8e")][e(820,"KKCQ")](-6359+-3*-2120)[e(807,"YY@*")]("&")[5531+3139*3+202*-74]||"",a=i[e(599,"*N*l")]("=")?i[e(692,"yC4z")]("=")[-5944+-211*42+14807]:"";return a?r[e(909,"Ob^R")](FK,a):""}catch{return""}}function u6e(t){let e=Cs,r={sFVfz:function(n,s){return n(s)},RjwxI:function(n,s){return n||s},aRIgF:e(522,"Ao3N"),nMKQe:e(537,"MXDr")};try{let n=new URL(r[e(624,"J9r#")](String,r[e(454,"yC4z")](t,"")));return n[e(590,"u0f9")]=n[e(810,"[8^[")][e(526,"u0f9")](/_24_24(?=\/|$)/g,""),["w","h",r[e(901,"$pzm")],r[e(507,"q)Z3")]][e(752,"Jl74")](s=>n[e(883,"KLQ)")+"ms"][e(486,"J9r#")](s)),n[e(894,"gKLo")]()}catch{return""}}function Mnr(t){let e=Cs,r={bEzLj:function(n,s){return n(s)},PvRXA:function(n,s){return n||s},SIpct:function(n,s){return n||s}};try{return r[e(480,"Zi77")](decodeURIComponent,r[e(916,"!njl")](String,r[e(804,"KKCQ")](t,"")))}catch{return r[e(726,"g3tn")](String,r[e(819,"aj)6")](t,""))}}function Wnr(t){let e=Cs,r={EWYnw:function(n,s){return n(s)},sMmAJ:function(n,s){return n(s)},SkCVI:function(n,s){return n||s},cIAyN:e(796,"HEZz")};try{return r[e(666,"aj)6")](encodeURIComponent,r[e(649,"2yCc")](String,r[e(597,"$pzm")](t,"")))[e(582,"KKCQ")](/\*/g,r[e(523,"YOvU")])}catch{return""}}var $K=(t,e)=>t?t+"/"+e:e,UK,qK={},sB={set(t,e){let r=Cs;qK[t]=e,UK[r(887,"^[8e")](r(918,"u0f9")+t,e)},get(t){return qK[t]}};function iB(){let t=["gCkEW6u","W4BdMSormCoVhCoroW","DmkRWONdRmkJpSotWR3dQ1C","dSonWOiECW","fCo+WPOhW6X5W54Y","CsdcS8o1AX/cQ8kYWQxcLW","W7JdMvzeCZfygCkecW","W4PsWPfdwvpdH8keW7pcOG","dmoiisVcJ8oIWQe","aCoUW49cmCoUW5O","f8o7W5K3j000umosW4u","WRv8WQldSa93WPG","nbCpsa","sSo/W5Pn","B8k0WONcT8oYaSo0WO/dQqe","f8oEesZcMmoWWQW","W6NcGmkeW7fXWRBcKmkx","l3BdKNlcPmk4qW","gSoEctdcNG","sqtdId4N","ta3cLW/dTSoNWP8","vmkJE3bpW6VdMYVdHCoK","rCosihjbW6JcKxldHSo5","edSHW4xcHeZdMNhdISocW4JdTG","ls7cTSkfkge","tZNdHf/dKW","W67dKw1of8kUxmk5","hLxdI0NcT8oTWPtdNLz8","W44XW40Wia","W695WOKRE8kyk8knemoi","WPOcW6zUWQPBWRKWW5ZcPW","vmkPxsf0W4jBatjS","c8kRWQWyuvNdQte","amkJWRu3tW","W5KDW5qq","xmkrumkzWQmLW6/dLSkjWQ0","o8kIWRKpu33dVJe","cXes","WOPFWPxdTWq","W7BcH8kOW4zE","vSogWR5vWOG","qSoHC8kWWQ8","W7hcRsZcIW","W7lcPmo3nG","W5OzW5q","mCk3sMXx","mqKh","WQ3dUHRcGSke","ggtdJwhcPa","ASoXW5LcBmkZWOHbW7i9","W5tdIK1oamkFuG","xsZcS8kvpeBdUCo/W6ldPq","W7C4W5K4ca","lYBcRSkb","WQvZW7nAW4K","ar8zxHW","WPr4WPZdVqi","u2TfWQddKCoEW6VcGM7dJfHDda","sgjhEmk6","h8kUWP4","umoopZpdHCoYWRdcUmkfrW","zCoDWR1w","FCo7W6PkrM/dJbNcK8kV","W5JdKCk8W6fTW4mXWRZdHfe","hupdMYRdSmoGWP/dNaD8","drRcUCk3WOK","lxldJvJcOmk+qXy","WQJdUcdcGCkS","uGaUW5WCtmo9iCk6dq","W4BdKSoppCkUsCkpACkfiG","W4/dLMni","xmo1FCk3WO4","vbaUW7a","W4BcPmoJFCkElmogW5BdImkI","btSfW7a","tSk4wJ5RWPiCkxGW","zrVdVf7dSa","bepcSG3dQCoIWP7dPbvT","FmkgsmoHWR5ZdNFdK8kUWP8","mCkaW6GtW5/dRSkubCoMW6S+wmks","vgD1WOpdLbW","CmkIWP/cSmkUmmof","WQ7dRXRcMmkpW5mJfIS","r8oWW4Dy","W4hcIt7cSmkY","a3ddVSoJ","lclcRG","W7tcUCkHWPq","t8k4scnKWO84iwu/","bSkfy25bW6xdMW","hctcS8kRWQJdVmoZvq","CthcQ8kBcW","W6FdPSkeWPpcHK/cVsBdUL4","o8kVWQOlu0q","tq7dRhxdUW","mZpcT8kjda","W6JdQSoUnSor","smosWQfsWQtcJwPvWR/dPq","AWHbzHi","xSoTgmo3","AmkgWQ/dGSoVv8kd","W7JdPCo0n8o7","nmk7W4KTje9UhmkpWOO","yaZcIrtdTCoIWPRcNeuH","WPBdOWtcSmk0","ya7dP3RdTq","xCoiWRWkzSo+dGNcRI0","CSkQW4pcOSk/pSkpWQ/cRvu","kcBcRSkf","hq0FxZm","ECkPsdy","pWCgBWm7Ba","5yIf5B2k44oi6ysW572y44cN56Mc5RUy6lYs6kks","cslcU8ksbhFcUG","WRWPW4L1jmo0t8oRzmkk","rCovqSkFWOm","rZaHduJcM8ohWPb6Ea","Aaz8","aSkxdCkQu3efWR8","nIlcTSkG","dmovcSkXW6bnlK0","WQP4WQm","sIJcS8kY","lNVdGNxcPmkzuHKdWP8","jmkVWRyAqL4","xmoyWRjeWOG","W47cNmoxj8oUeG","W7xdOSkvWOVcML8","fmkDW64","zSkDWRNdK8oLyCkxWQ0vsG","lSo4WR8irW","W5dcKCkKW5DJW45I","W7aoW7KyjG","W4C/W48YgW","dmkMW7HbWPq","W4/dVCodWPtdHW","Bqy8W4e/","gCoija3cGSoWWQFcS8k4ta","lYJcRCkodwRdU3PEW5m","ucWLW4pcHatdIfNcH8oB","WOnwWQVdLXi","W4FcV8kMWPXb","W5pcHSkZW7e","EaldTd0B","BLO9qtGRFmom","WPSrW7a","rSoREmkQ","W43cP8kTWRTB","W6ddV8kyWPRcPKG","W4tcV8kIyCkzmmofWOJcNSoI","AL5oDSk0","umksqbrf","gGFcK8o6BXZcSSkSWQ3cGq","BqddJb46Aa","WRhdVgDebwqvqSoqaG","aCk1bmkkxa","gmkfWOSP","ds7cTSkfl2tdT3S","yMFcM8kqewNdV0KuW5G","WRNdUHZcKa","WQzQWRa","pgBdL28","W63cPmkK","smkYEIv1WO4gjW","WP8vW61QWQPS","sSo6WOnQEa0/e8oPW4u","WPX8W4HdW5O","W7tdL2PtpSkxwmkP","qSoXW4LfBSkjWPTj","oSocjZdcHSo+WRtcSSkKua","W5VdT8owWRtdNSkDkW","W7y3W6pcQ1OQW5ZdICoyWRa","tmouWQ1tWOG","tNfvWOpdHrxdKa","iGOusG","gCoVAa","W73cRSkTWPK","B8kFBJXn","WQpcIGzvb2ydfmksDZRdS8kw","ASkhWQ/dLq","DCkZtZ5lWO4Bna","nmkZeCkcAa","qCoJFG","WPDVWOhdNsS","es8cW7K","rmoSWPecW6T4","W47dQmoiWPJdIW","W67dMSk8WO3cPq","W7/cKmkWW71oW4r5WQS","cmktW71TWQpcGMnF","ls7cTSkfpMVdU3mu","WR5RW65jW5/cL3RdNfldVa","sNnaWOldSq","W73cL8kIWR03WP49W7hcNWy","W67dHmofh8ov","t8oSWOS","xSo/W51FCmkZWPTr","W6tdPSoRW50VW6dcM8kXqmkV","j8kPy2fu","WRr1WRRdPG8","hc7cTmowvt7cUMzhWO4","uGaUW4SBwSoHkmkrdq","yGFdHHq/zCkTW64","kCoDeSkGW6jq","aW0yqJC","W7dcKSkRW5XIWQlcNq","W5/cImkgW4TzWQC","W5JdMv0cwq","WPpdVHdcHq","xSoOfmkJW43dULxcUXSp","FbH8","WR4PW499","W40jW5mz","xmoMWP4wW6S","eSkpyuDbW6xdLG","mCkJdmkKWRi","lSk4WRCq","WO0HW5uQp8o6xmkKFmkn","rSo2umkSWOG7W7W","AWRcNXJdKmoQ","W73dLtZdKCoqWOrKqgK3","BCkMWP/cSmk/omosWR0","WQn4WQFdPa","B8kbWQFdLCojwG","E3KQxq","W73cRsRcJ8oV","u8kWbG","zJe+W44r","fJCyW5/cJG","W7ddLLC","W47cOmkImCkaF8kfW4/cHSk/","e8kfz05jW7ddM1dcHSk2","W43cOSoQoSobs8khW4O","wSkaWQRdGSoLBSkqWQG","WR0TW49py8kGdSk5a8ox","WQb8WQC","Cw4mFmoV","yqTJ","W77cHmkEW714WQlcLSkAW5mq","kJFcQSkmcgBdU2OyW5u","gSkRiG","pSkPlCkbDq","rg7cR3ddQghdQ8oxEs0","xaSZW6W","psJcQ8kkWONdQSoWxfuC","iMpdLN7dI1VdKmovAhm","dCoiiNhcMCo4WRlcUmkUsW","sGBcHXddOmokWPtdHb5J","sJZdJ1/dMW","BmoMWOGlW7n/W4SZuHu","gSkPgSkzWPm","d8ogECkSWPu3W6blCmos","WOG+W6Xuqa","W6hcMsVcI8kY","rSouiZmyWRxcIhBcOmkBgCkJW6W","omo3hmkKW5C","sCoSFCk7WQu0W6qjja","v2mKxmoRh3hdHrlcRq","D8odWRvp","p8kjzY0vWRxcIsRdH8oH","W7tcVde","W7aGW6BcSvK8WP/cR8oOWQVcQvu","pmorh8kMW6rkdfxdL8k4","WQOPW4HVE8kUdSkO","dSoVg2LcWOuFkxiw","B8kIWOVcPSk3","v3DNWPK","W6BcTCojn8oI","W4FdIMzooa","bfDP55Ma55Ii5B2U5AAI6lwO77+z6k6B","55I05B+H6l655P+l776l6yEV5PES55Mp5B+W","WRDQW65r","W4/cV8kMW4WAWOpdS8oLDmkN","WQ4NW6HOECkOeSk7","uCoVhSoSW7G","rNf3","l8kXW4r1WQC","FSkgsSoTWRatB2pdJSkYWP8IW7e","ACoSFCk7WRm+","WRHWW60","oX/cLSkPWQa","WQFcKGjvarzjhCkCuq","rCkVWO/cOSkP","A8kUxWnW","6i6l5yYl55UXydxdLoI1JUwoT+AiH+wlGq","WRWNW4LzASkIfa","z8oqWQHd","W6RcS8k5WO9lW4VcPW","bmkRamk/WRu","nbyuxXZdU8kEW4q","dSk0Ehfl","WPCrW7DS","ve9FWOhdHq","Eb7dTZyz","WPpdJCoNW6DZ","A8kTWRhdVmoQ","u8oIbCoI","zdFcU8koudFcQte","i8kBfCkCDxeAWR/cSgG","nCk8dSk/Da","W4NdNCouia","r8oIh8oCW7RdVKxcOWrj","WQpdTSofW4jYW6dcKG","dSkJWRqyEfFdTI0","W7VdSCoiWPtdSCkFlHy","ywT4WPtdVHa","eSkDemkfBq","WPJdGJdcGCkK","WRCFW7rJWRjRWQ0MW6xdQa","W7BdT8kaWPC","i8kjFtquWR3cNNZdGSoJ","jYJcVq","oc/cU8ksbfFdV3KuW4i","WQv6W64","W5hcUmkUWPvIW5hcOmoP","qxi6W5NcVCkLWP/dOGldTq","6i295y2t55MCWOeYWRlLRk3NO5NMIB/LIyu","BG9K","W5RdNhG","WRS7W5G","jmkVqfy","q8oQDG","WRZdRmoGW5vVW57cM8k0dSkJ","lSoqgG","yYjjySk+gW7dNJuo","vbuZ","wmkvtdbJWOiA","WRj+W65y","W7FcT8kS","BCo5WO9NWOS","umkYtG","W77cHmkE","W57cPmk+","W6tdKxSuEq","zb7dPuldQW","dSk2W6vKvmkrWQujWOCd","l2ddHNpdVmkEyZHlW58","gsZcQ8kRWOhdSSoSsq","vGOHzWhdPSkL","tqxdIWWw","W6FcQsJcHSkHCwu","jYlcTmkhfw0","zmk+wSkbW7BcUbtcINC","kCktWRCuEa","adyD","WQT8WR3dOH5S","bLDSWQ1kASobdSkJg8ox","cSkEW6zIWQtcJtfiWQ3dSG","cLS/tXSEAmoAuq","rNDGWPK","pmkkdmkMCa","ESkIWPJcSCkGomouWQtcVv8","wWJdJIqdBCkTW6NdGq8","W6tdJeLyhq","m8oqumo9lMajWRtdL2u","FCoVzSkMWRm","W6ldT8kaWP4","oYpcU8k8WONdTmo6","W47dKw1of8k1tSkK","W5JdSfTPiW","W7VdKgbzo8kA","WOZcQmo+WRtdNmkridK","AqZdGqKwFSo+","qalcGW","W5ZdQmouWP3dLSkDiGFcUSkm","aX8bta","BCkMWP7cOSkIja","WR5UW6bUW6i","W64uW4eddY7cMSoj","obGerGS7zCopx8kd","FaS8W7C/uSoGoq","W4FdLSoj","wmoAW4jnWPNcRKiwW6JdUG","55Mt5B+C5OUV5yU6","vtpcPrddNq","lSkJWRqju0q","WPjWW61xW4ddGJtcL3ddMq","gSk8WO81Fq","phL3w8kPohK","fCovnIFcSG","WQOPW4HVFmkUdSk4","W7FcIslcPSkQ","FcdcQ8k/f0G","f8kwamk9EeaFWR4","lCoAaCofW7z5W78","WQtdValcR8kJFwn7","W4NdL8oyo8kUdmoqp8ospG","gCoUWRGDFCo2","W5pcMmk3W6DUW5K","emkCiSk6Da","cX4JyIK","stNcQ8kZkG","ECkjWR/dMa","W73cGmkEW48","W63dL8o3WQu","CCkVWOBdMSoI","fSomiW","lc7cTmooudFcQw4qW5q","ANrnACkb","umozWR1qWOlcImoBlq","emkDW6rGWOhcIN1oWO7dVW","W5ZdQfHXba","abSbFHhdISkBW4unmq","eSkbywSpWRpcJtpdMSoK","heuBW6Gdv8o2gSkWdG","ESo4W6PfC1tdRchcRmkw","gCo9mtBcHq","W4pdOSkvWPG","f8kzW7Gvlq","hCkPa8kGtq","jCklfCkN","phFdHW","W6VcKSkpW5OTWPBcSmk5WRjb","WQ5pW4XuW6G","WRyGW4TjBG","W4hdG8ou","WO5sWPbFwKVdJ8kqWO7cOa","g8kNeSkj","WPrXWRldTW9rWP7cHq","WRGPW4H5pCo1","W6BcNajwb2idrSofqq","FwKQ","srRdNNxdSW","ACk1WO3cP8kQcmolWQZcVq","W4lcHmomkSoH","gSoUWQa+ymo/dLxdNwu","WRCPW49/yW","oslcQSkmagBdVW","ECkjWRJdG8o3uCkvWQG","uqqUW7K","5BcX5P2d55UB5BYU772/5BYm5Asv55UH5B+J","xSoay8kjWQ0","W7tcQdW","FKqHlgiHWP0CbSkZ","W77dNXWggZvlg8oeva","W7hcLCkEW55JW7NdI8oqW6Go","uJ3cS8kQlrBcS8kZW6hdLG","pCkoDw1SW6/dJxa","j8kFaSkNEe8CWQpcIwm","WQpcHGnvdgCnamk/BJldTCkj","W7tdS8keWPRcJLG","s8knWQRdGSoLtmoh","CNGQrCo0st/dHvddTa","WPddKCo+W5Po","acVcMmkjWQ8","kCodWQivwW","tqddJb4SySk/W7FdKW","o8kodSk/WPC","sIJcTmkPkupdRSo4","DCoouq","x8o3bCoZW7NcPrNdVXHj","y8oGWOTkWQOJWP15nfe","frCgAr4","bmkvygO","mG0nwq","jCkAbq","hmkhnCkXW75KmfxdGG","q1PXWQFdLG","eCkzW6WLWORcHM1rWQFcVW","pWqvxG","W6pdRSke","mCk4WRKruq","xJHaxtC","W6JcO8oRpmoJD8kgW5i","xHpcNXtdRq","uYFcOCk1","yeTtECkA","emkgW711WR7dMsevWR/dOq","fCo9Acf3WOSnf3i8","W73dUCkSWPvzW5BcV8oYi8o3","oSoIgJNcNa","cq0wqH3dGSkhW4C","tSk7W6jiB8ohlL/dI0y","xSknvmkoWQq6W6ZcOCkXWQFcIYFdUq","B8kIWPZcR8kUnmof","kJJcRmkM","WQJdTSoGWQ1hW5BcT8oYnCoG","WO7cQmksW4hdMCkQbGRcH8k5","x8oKySkTWO01W7Ca","aSoEea","fmoGWRfytSo2ce3dSdu","zmk9cCk9CN0nW7xdIdu","eCoKWRm","WRv8WQpdQqTNWOK","pmowgSos","W6BcVZhcGSkP","WQ1qWOpdGWq","dSo/WQyrz8o0aKddPG","BG9KttKWWO4xzmk5","EhLfkq","qCoZWOfol8k9WPLmWOGj","oYBcRSkid2tdT3S","t8oUW4C","FSoWWO0oW5W","WPifW7DL","g3RdJ2lcJ8kQwHS","WO9eWPvawvFdH8owWQtcLeVdS8kL","W5hdNgjBbSkw","csBcNmkyWQ8","yr5KBIjRW5nDrmk/","W5tdL29qb8kAtSkU","dSo7WRGrFq","aSkfWRKOwa","qGFdHb4lq8k4","jZmDW7tcP8kjWR7cQW","lwBdKg8","W7ldUCkFWPRcGq","WQNdTapcLmkp","Ct/dR1/dSxhdTCkFmq","hJBcOSk1gW","W5tcJSkqW4D8WQ/cHCoqWQPx","tSkXWONdTCow","Emkgn8k/W51rjem","qSoMWPyl","A2XrEmo+qaBcINnC","A8oQzSkWWPy1W6qafmkZ","W6RdUCkDWPe","oCoiW6pdP8oPumkdWQmfxa","bmoEoIZcOa","xqlcGa7dQCoHWONdHW","D20U","pmkUdW"];return iB=function(){return t},iB()}var nb=async t=>{let e=Cs;UK=t[e(714,"&1aG")].db,qK=await UK[e(672,"RjWM")+e(487,"Jl74")](e(630,"wUCh"),{})},jK=class{constructor(){let e=Cs,r={bbQxC:e(963,"Ob^R"),JOaUn:e(566,"[8^[")+e(628,"2yCc")+e(851,"YOvU")+e(846,"Zi77"),EKeEA:e(598,"adg$")+e(496,"u0f9")+e(818,"Ao(5")+e(867,"e@N7")+"n"},n=r[e(719,"adg$")][e(563,"fkx(")]("|"),s=-51*98+72*-13+5934;for(;;){switch(n[s++]){case"0":this[e(744,"lqQn")]=/https:\/\/[^/?#]+\.share\.(?:123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)\/123pan\/([^/?#]+)/;continue;case"1":this[e(756,"YY@*")]=/https:\/\/(?:www\.)?(123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)\/s\/([^/?#]+)/;continue;case"2":this[e(729,"u0f9")]="";continue;case"3":this[e(946,"bS5h")]=r[e(601,"&1aG")];continue;case"4":this[e(789,"wUCh")]=r[e(776,"MXDr")];continue}break}}async[$r(720,"x]sR")](){let e=$r,r={Oeqqo:e(905,"HEZz"),WWfyo:e(937,"Ao(5"),tTqDY:function(n,s){return n(s)},WRPCf:function(n,s){return n>s},GYBEV:function(n,s){return n/s},dXeVa:e(472,"DM&I"),mdbnU:e(891,"KLQ)"),ssihi:e(529,"S#YB")};if(this[e(618,"fkx(")]&&console[e(942,"yC4z")](r[e(793,"%pyk")]),this[e(577,"yC4z")]&&console[e(951,"HEZz")](r[e(686,"$pzm")]),this[e(892,"!v#i")]){let n=r[e(755,"[8^[")](Bnr,this[e(509,"MXDr")]);r[e(561,"adg$")](n?.[e(559,"QmV5")]||-2*-3532+2582*1+182*-53,Math[e(895,"x]sR")](r[e(610,"!njl")](Date[e(900,"!v#i")](),9879+1*3112+-11991)))?console[e(581,"J9r#")](r[e(556,"^[8e")]):(console[e(749,"[8^[")](r[e(662,"yC4z")]),await this[e(615,"QmV5")]())}else console[e(658,"P*vR")](r[e(584,"Zi77")]),await this[e(708,"KF5$")]()}get[$r(884,"gKLo")](){let e=$r,r={zWLNh:e(922,"x]sR")+"rt"};return sB[e(665,"2yCc")](r[e(862,"MXDr")])}get[$r(527,"!njl")](){let e=$r,r={DOJgv:e(451,"S#YB")+"rd"};return sB[e(707,"u0f9")](r[e(569,"e@N7")])}get[$r(845,"Iz)7")](){let e=$r,r={NwxKT:e(687,"lqQn")};return sB[e(816,"DM&I")](r[e(815,"*xiV")])}async[$r(740,"$pzm")](){let e=$r,r={SskpN:e(777,"&1aG"),nHSEl:e(724,"fkx(")+e(575,"KF5$")+e(775,"owGi")+e(838,"gKLo")+e(698,"fkx(")+e(814,"Jl74")+e(866,"g3tn")+e(627,"owGi")+e(580,"MXDr")+e(786,"q)Z3")+e(735,"gKLo")+"6",HwRiD:e(860,"u0f9")+e(747,"*xiV"),TEfZr:e(549,"x]sR")+e(694,"YOvU")+e(681,"e@N7")+e(968,"[8^[")+e(651,"Jaf!")+e(652,"HEZz")+e(863,"g3tn")+e(648,"fkx(")+e(750,"!njl")+e(625,"DM&I"),GxDdM:function(a,o){return a(o)},YuEdo:e(834,"DM&I"),EYXpE:e(890,"bS5h")+e(733,"&1aG")+"\u914D\u7F6E",hqzWN:e(637,"oHWm")};if(!this[e(817,"wUCh")]||!this[e(479,"gKLo")])return;let n=JSON[e(703,"&Q7w")]({passport:this[e(842,"Ao3N")],password:this[e(547,"RjWM")],remember:!0}),s={method:r[e(751,"J9r#")],url:this[e(853,"YOvU")],headers:{"User-Agent":r[e(950,"%pyk")],"Content-Type":r[e(869,"g3tn")],"App-Version":"43",Referer:r[e(705,"Zi77")]},data:n},i=(await Ae[e(632,"KKCQ")](s))[e(907,"%pyk")];if(!i?.[e(948,"!v#i")]?.[e(606,"&Q7w")]){r[e(888,"YOvU")](messageToDart,{action:r[e(452,"*N*l")],opt:{message:r[e(928,"&Q7w")],duration:5}});return}sB[e(934,"!v#i")](r[e(466,"!v#i")],i[e(455,"QmV5")][e(605,"QmV5")])}[$r(822,"bS5h")+"ta"](e){let r=$r,n={DOxRx:function(c,u){return c(u)},OEqCd:function(c,u){return c||u},KxlAU:function(c,u){return c>u},yralg:function(c,u){return c+u},XcfYL:function(c,u){return c(u)}},s=n[r(761,"KKCQ")](decodeURIComponent,n[r(715,"g3tn")](e,"")[r(879,"%pyk")]());s=s[r(961,"Zi77")](/[#.,,/\s]+$/,""),this[r(647,"*N*l")]="";let i=s[r(602,"S#YB")]("?");if(n[r(712,"RjWM")](i,2*-3865+-1133+8863*1)){let c=s[r(675,"!v#i")](n[r(560,"&1aG")](i,1)),u=c[r(525,"gKLo")](/(?:^|&)pwd=([^&]+)/i);this[r(498,"%pyk")]=u?n[r(757,"bS5h")](decodeURIComponent,u[1*3093+7944+-2759*4]):""}let a=this[r(886,"Ao3N")][r(763,"Jl74")](s);if(a)return n[r(725,"&Q7w")](a[-1076*-2+8017+-10167][r(602,"S#YB")]("?"),469*13+6084+-12181)?a[2][r(490,"RjWM")]("?")[0]:a[5380+-642*-11+3110*-4];let o=this[r(933,"u0f9")][r(797,"KF5$")](s);return o?o[-3657+-534*7+7396]:null}async[$r(524,"J9r#")+$r(517,"KKCQ")](e){let r=$r,n={gSmge:function(o,c){return o in c},zsjrJ:function(o,c){return o>c},SaOxh:function(o,c){return o(c)},qErWW:function(o,c){return o===c}},s={},i=[],a=await this[r(859,"oHWm")+"st"](e,this[r(854,"!njl")],-3230+-38*-85,741+13*-57,i,"");if(a&&n[r(730,"P*vR")](a[r(596,"*N*l")],514+1*9201+-9715)&&(s[r(691,"*N*l")]=a),n[r(617,"e@N7")](i[r(745,"&1aG")],-3010*1+-5329+-8339*-1)){let o=await Promise[r(965,"FJ@c")](i[r(462,"fkx(")](async c=>{let u=r;return this[u(855,"gKLo")+"fo"](c[u(457,"*N*l")],c[u(482,"MXDr")],0,c[u(645,"u0f9")],c[u(491,"!njl")])}));o=o[r(824,"KLQ)")](c=>c!=null),i=[...i,...o[r(558,"Mw&w")]()]}i&&Array[r(923,"Ao(5")](i)&&await Promise[r(621,"[8^[")](i[r(742,"KKCQ")](async o=>{let c=r,u=o[c(930,"QmV5")]||o[c(622,"*xiV")];!n[c(771,"wAG8")](u,s)&&(s[u]=[]);let l=await this[c(501,"P*vR")+"st"](o[c(657,"&1aG")],o[c(910,"P*vR")],27*-211+-285*-29+-2568,o[c(844,"!njl")]);l&&n[c(889,"*N*l")](l[c(785,"Jaf!")],-969+-2*4557+10083*1)&&s[u][c(604,"lqQn")](...l)}));for(let o in s)n[r(530,"yC4z")](s[o][r(966,"KKCQ")],4120+824*-5)&&delete s[o];return Object[r(553,"Mw&w")](s)[r(732,"Mw&w")](o=>{let c=r,u={WsvRw:function(l,d){return n[Cs(677,"KKCQ")](l,d)}};s[o]=s[o][c(619,"Iz)7")](l=>{let d=c;return{vod_id:[l[d(467,"2yCc")],l[d(827,"oHWm")],l[d(969,"Mw&w")],l[d(664,"YOvU")],l[d(506,"QmV5")],u[d(904,"HEZz")](Wnr,l[d(870,"DM&I")+"l"]||"")][d(612,"DM&I")]("*"),vod_name:l[d(603,"FJ@c")],vod_size:l[d(583,"c[Nv")]}})}),s}async[$r(919,"MXDr")+"fo"](e,r,n,s,i){let a=$r,o={xPVmD:function(A,g){return A===g},mqTsF:function(A,g,b){return A(g,b)},gPaho:function(A,g){return A||g},MFFrn:function(A,g,b){return A(g,b)},SBGmJ:function(A,g){return A??g},UqeAu:function(A,g){return A+g},kxfyX:a(939,"*N*l"),HimJy:a(548,"MXDr"),dsYnt:a(811,"u0f9"),WCMpj:a(781,"KKCQ"),gynxP:function(A,g){return A(g)},risDg:function(A,g){return A!==g},YHcWs:function(A,g){return A(g)},STdVb:function(A,g){return A>=g},zTksk:function(A,g){return A(g)}},c=[],u=o[a(798,"HEZz")](n,-377*-2+1*-4463+3709*1),l=1,d=new Set,f=new Set,p=A=>!(A==null||A===""||A===-4468+6486*-1+5477*2||A==="0"||A===-(-1*6009+-891*-3+-1*-3337)||A==="-1"),m=-8667*1+-741*-6+-1*-4321;for(;;){let A=l+"|"+u;if(d[a(667,"Mw&w")](A))break;d[a(531,"Zi77")](A);let g=await Ae[a(856,"KKCQ")](o[a(768,"KF5$")](this[a(881,"Zi77")],o[a(478,"e@N7")]),{headers:{},params:{limit:o[a(654,"&1aG")],next:u,orderBy:o[a(639,"e@N7")],orderDirection:o[a(897,"[8^[")],shareKey:e,SharePwd:r,ParentFileId:s,Page:o[a(497,"wAG8")](String,l)}});if(o[a(551,"P*vR")](g[a(748,"QmV5")],-1*9154+3980+5374))break;if(o[a(473,"fkx(")](g[a(917,"x]sR")][a(800,"!njl")],-5770+10873*1)){console[a(932,"u0f9")](g[a(663,"Zi77")][a(702,"Ao3N")]);break}let b=g[a(634,"wUCh")][a(528,"bS5h")];if(!b||!Array[a(794,"^[8e")](b[a(823,"S#YB")]))break;b[a(788,"*N*l")][a(835,"aj)6")](x=>{let v=a;if(o[v(512,"!v#i")](x[v(958,"$pzm")],-5155+-206*-5+4125)){let I=x[v(840,"fkx(")]+"|"+o[v(813,"^[8e")]($K,o[v(697,"g3tn")](i,""),x[v(739,"MXDr")]);if(f[v(495,"e@N7")](I))return;f[v(944,"KLQ)")](I);let R=o[v(659,"KKCQ")]($K,o[v(505,"e@N7")](i,""),x[v(925,"YY@*")]);c[v(833,"2yCc")]({filename:x[v(711,"$pzm")],shareKey:e,SharePwd:r,next:0,fileId:x[v(774,"S#YB")],path:R})}});let y=b[a(516,"Ob^R")];if(o[a(915,"Ao(5")](p,y)){u=y;continue}if(Array[a(636,"e@N7")](b[a(809,"Jl74")])&&o[a(848,"bS5h")](b[a(469,"bS5h")][a(806,"DM&I")],m)){l+=47*97+-233*-10+-6888,u=706*8+6393+12041*-1;continue}if(!o[a(911,"aj)6")](p,y))break}let h=await Promise[a(738,"adg$")](c[a(578,"c[Nv")](async A=>this[a(758,"e@N7")+"fo"](e,r,0,A[a(769,"QmV5")],A[a(743,"RjWM")])));return h=h[a(474,"&1aG")](A=>A!=null),[...c,...h[a(682,"%pyk")]()]}async[$r(587,"adg$")+"st"](e,r,n,s,i=null,a=""){let o=$r,c={Uwbwo:function(g,b){return g===b},lhpUe:function(g,b){return g(b)},fUxtt:function(g,b){return g===b},JcRzv:function(g,b,y){return g(b,y)},wCbpP:function(g,b){return g||b},ZelhU:function(g,b){return g??b},HYSbP:function(g,b){return g+b},nLdBR:o(470,"*xiV"),tUsar:o(680,"wUCh"),flkwe:o(545,"S#YB"),eIWUQ:o(940,"gKLo"),xtmim:function(g,b){return g(b)},jPSAy:function(g,b){return g>=b},OkpdV:function(g,b){return g(b)}},u=[],l=c[o(825,"Mw&w")](n,1*-3975+-1801*-1+2174),d=4529+428*-20+-21*-192,f=new Set,p=new Set,m=new Set,h=g=>!(g==null||g===""||g===1167*3+-6645+12*262||g==="0"||g===-1||g==="-1"),A=-746*10+-7467+15027;for(;;){let g=d+"|"+l;if(f[o(667,"Mw&w")](g))break;f[o(510,"lqQn")](g);let b=(await Ae[o(520,"Iz)7")](c[o(717,"*xiV")](this[o(514,"*xiV")],c[o(546,"Ob^R")]),{headers:{},params:{limit:c[o(874,"Zi77")],next:l,orderBy:c[o(960,"S#YB")],orderDirection:c[o(458,"*N*l")],shareKey:e,SharePwd:r,ParentFileId:s,Page:c[o(716,"u0f9")](String,d)}}))[o(780,"&Q7w")],y=b?.[o(464,"P*vR")];if(!y||!Array[o(826,"oHWm")](y[o(562,"YOvU")]))break;y[o(935,"KF5$")][o(906,"gKLo")](v=>{let I=o;if(c[I(661,"%pyk")](v[I(741,"KLQ)")],-1*8656+7*596+4486)){let R=v[I(926,"^[8e")]+"|"+v[I(795,"P*vR")];if(p[I(766,"Jaf!")](R))return;p[I(850,"owGi")](R),u[I(552,"aj)6")]({ShareKey:e,FileId:v[I(899,"yC4z")],S3KeyFlag:v[I(555,"KLQ)")],Size:v[I(633,"P*vR")],Etag:v[I(731,"HEZz")],FileName:v[I(778,"u0f9")],DownloadUrl:c[I(513,"gKLo")](u6e,v[I(790,"e@N7")+"l"]||v[I(670,"wUCh")+"L"])})}else if(c[I(955,"g3tn")](v[I(653,"&1aG")],-1478+-739*-2)&&Array[I(671,"*N*l")](i)){let R=c[I(787,"!v#i")]($K,c[I(876,"KLQ)")](a,""),v[I(924,"&1aG")]),w=v[I(459,"*N*l")]+"|"+R;if(m[I(858,"adg$")](w))return;m[I(554,"MXDr")](w),i[I(574,"$pzm")]({filename:v[I(594,"lqQn")],shareKey:e,SharePwd:r,next:0,fileId:v[I(481,"RjWM")],path:R})}});let x=y[o(829,"&Q7w")];if(c[o(449,"MXDr")](h,x)){l=x;continue}if(Array[o(839,"yC4z")](y[o(536,"aj)6")])&&c[o(736,"yC4z")](y[o(801,"HEZz")][o(962,"u0f9")],A)){d+=2*-4739+41*85+-999*-6,l=2540+2540*-1;continue}if(!c[o(871,"Ob^R")](h,x))break}return u}[$r(865,"$pzm")+$r(947,"HEZz")](){let e=$r;return{Referer:{xGMjb:e(535,"RjWM")+e(453,"MXDr")+e(847,"HEZz")}[e(494,"!njl")]}}async[$r(689,"bS5h")+"d"](e,r,n,s,i,a=""){let o=$r,c={RvWHK:function(p,m){return p(m)},JDyIb:o(493,"YY@*"),VyrkC:o(609,"oHWm")+o(685,"fkx(")+o(737,"P*vR")+o(931,"aj)6")+o(503,"bS5h")+o(550,"DM&I")+o(471,"[8^[")+o(557,"[8^[")+o(642,"aj)6")+o(656,"c[Nv")+o(690,"*xiV")+"6",mFphK:o(468,"Mw&w")+o(631,"q)Z3")+o(635,"Ao3N"),Eodik:o(721,"!njl")},u=c[o(476,"&1aG")](u6e,c[o(873,"gKLo")](Mnr,a));if(u)return u;await this[o(704,"wUCh")]();let l=JSON[o(586,"J9r#")]({ShareKey:e,FileID:r,S3KeyFlag:n,Size:s,Etag:i}),d={method:c[o(673,"2yCc")],url:this[o(591,"wUCh")]+(o(759,"u0f9")+o(803,"yC4z")),headers:{"User-Agent":c[o(592,"DM&I")],Authorization:o(483,"c[Nv")+this[o(970,"^[8e")],"Content-Type":c[o(565,"wAG8")],platform:c[o(679,"wAG8")]},data:l},f=(await Ae[o(629,"e@N7")](d))[o(695,"FJ@c")][o(674,"u0f9")];return c[o(489,"Mw&w")](Lnr,f[o(614,"yC4z")+"L"])}async[$r(852,"aj)6")+$r(570,"P*vR")](e,r,n,s,i){let a=$r,o={bmhET:function(d,f){return d!==f},qBopi:a(953,"oHWm"),UqxUz:a(878,"Iz)7")+a(718,"[8^[")+a(773,"RjWM")+a(821,"u0f9")+a(779,"u0f9")+a(626,"RjWM")+a(936,"FJ@c")+a(579,"J9r#")+a(872,"yC4z")+a(515,"2yCc")+a(613,"wAG8")+"6",zCoCq:a(463,"YY@*")+a(945,"wAG8")+a(511,"oHWm"),jIPFn:a(641,"fkx(")};await this[a(864,"bS5h")]();let c={method:o[a(920,"MXDr")],url:a(812,"!v#i")+a(519,"owGi")+a(533,"owGi")+a(485,"*xiV")+a(564,"RjWM"),headers:{"User-Agent":o[a(608,"u0f9")],Authorization:a(540,"!njl")+this[a(593,"Jaf!")],"Content-Type":o[a(754,"2yCc")],platform:o[a(585,"KKCQ")]},params:{etag:i,size:s,from:"1",shareKey:e}},u=(await Ae[a(908,"KF5$")](c))[a(492,"oHWm")][a(663,"Zi77")][a(943,"Ao(5")+a(762,"KF5$")],l=[];return u[a(791,"YY@*")](d=>{let f=a;o[f(640,"S#YB")](d[f(783,"KF5$")],"")&&l[f(805,"FJ@c")]({name:d[f(696,"HEZz")],url:d[f(831,"adg$")]})}),l}async[$r(450,"Ao3N")+$r(620,"Ob^R")](e="0"){let r=$r,n={dafYw:r(534,"oHWm")+r(532,"adg$")+r(589,"wUCh")+r(623,"Ao3N")+"ew",pMpMu:r(723,"q)Z3")+r(616,"!njl")+r(841,"&Q7w")+r(893,"KF5$")+r(567,"HEZz")+r(880,"aj)6")+r(956,"wUCh")+r(830,"x]sR")+r(727,"J9r#")+r(792,"KKCQ")+r(502,"aj)6")+r(902,"owGi")+r(770,"YOvU")+"2",ZTzjN:r(706,"RjWM"),ZfGGI:r(877,"yC4z"),Iknfm:r(896,"^[8e"),lOiEB:function(i,a){return i(a)},aYoiN:function(i,a){return i||a},wmiNg:r(676,"P*vR"),SkTFh:r(499,"[8^[")+"le"};return await this[r(921,"*xiV")](),(await Ae[r(952,"oHWm")](n[r(836,"Ob^R")],{headers:{"User-Agent":n[r(802,"MXDr")],Authorization:r(461,"S#YB")+this[r(693,"bS5h")]},params:{driveId:"0",limit:n[r(542,"Ao(5")],next:"0",orderBy:n[r(543,"$pzm")],orderDirection:n[r(828,"owGi")],parentFileId:n[r(772,"HEZz")](String,n[r(964,"&1aG")](e,"0")),trashed:n[r(849,"FJ@c")],SearchData:"",Page:"1",OnlyLookAbnormalFile:"0",event:n[r(764,"S#YB")],operateType:"1",inDirectSpace:n[r(849,"FJ@c")]}}))[r(832,"gKLo")]}async[$r(868,"fkx(")+$r(949,"KF5$")](e,r,n,s,i=""){let a=$r,o={sMKpr:a(941,"aj)6"),hLHrJ:a(541,"Iz)7")+a(760,"^[8e")+a(728,"Ao3N")+a(568,"KF5$")+a(746,"%pyk"),YWboP:a(643,"aj)6")+a(861,"yC4z"),Ewnfe:a(713,"QmV5")+a(684,"Jl74")+a(957,"lqQn"),SwWMj:a(456,"$pzm")};await this[a(767,"yC4z")]();let c=JSON[a(607,"g3tn")]({driveId:0,FileName:i,FileID:e,S3KeyFlag:r,Size:n,Etag:s}),u={method:o[a(913,"^[8e")],url:o[a(808,"QmV5")],headers:{"User-Agent":o[a(508,"MXDr")],Authorization:a(734,"u0f9")+this[a(782,"lqQn")],"Content-Type":o[a(669,"lqQn")],platform:o[a(914,"S#YB")]},data:c},l=await Ae[a(638,"lqQn")](u);return l?.[a(912,"Jaf!")]?.[a(843,"KKCQ")]?.[a(929,"Jaf!")+"l"]||l?.[a(907,"%pyk")]?.[a(655,"2yCc")]?.[a(475,"!v#i")+"L"]||""}},N0=new jK;var d6e=Re(S0(),1),aI=Re(Jn(),1);var HK="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",Kh={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},l6e={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},QK=async t=>{let e=aI.default.enc.Hex.stringify(aI.default.MD5(t.config.y115.cookie)).toString();return(await t.db.getObjectDefault("/y115",{}))[e]??""},$nr=async(t,e)=>{let r=aI.default.enc.Hex.stringify(aI.default.MD5(t.config.y115.cookie)).toString();await t.db.push(`/y115/${r}`,e)};async function GK(t){t.get("/qrcode",async(e,r)=>{try{let s=(await Ae.get("https://qrcodeapi.115.com/api/1.0/web/1.0/token",{headers:{"User-Agent":HK,referer:"https://115.com/"}})).data.data,i=l6e.encode({sign:s.sign,time:s.time,uid:s.uid}),a=await d6e.default.toBuffer(s.qrcode,{width:300,height:300});r.header("X-Session-Key",i),r.send(a)}catch(n){console.error("115\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let{sessionKey:n}=e.body,s=l6e.decode(n);if(!s)return r.send({code:0,data:{status:Kh.EXPIRED}});let{sign:i,time:a,uid:o}=s;try{let u=(await Ae.get(`https://qrcodeapi.115.com/get/status/?_=${parseInt(Date.now()/1e3)}&sign=${i}&time=${a}&uid=${o}`,{headers:{"User-Agent":HK,referer:"https://115.com/"}})).data.data?.status;if(u===2){let l=new URLSearchParams({account:o,app:"android"}),d=await Ae.post("https://passportapi.115.com/app/1.0/android/1.0/login/qrcode",l,{headers:{"User-Agent":HK,referer:"https://115.com/"}});if(d.data.state===1){let f=hl(d.headers["set-cookie"]).join("");r.send({code:0,data:{status:Kh.CONFIRMED,cookie:f}})}else r.send({code:0,data:{status:Kh.NEW}})}else u===1?r.send({code:0,data:{status:Kh.SCANNED}}):u===-1||u===-2?r.send({code:0,data:{status:Kh.EXPIRED}}):r.send({code:0,data:{status:Kh.NEW}})}catch(c){console.error("115\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",c),r.send({code:0,data:{status:Kh.NEW}})}}),t.post("/cookie",(e,r)=>{r.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(e,r)=>{r.send({code:0,data:await QK(e.server)})}),t.put("/cookie",async(e,r)=>{await $nr(e.server,e.body.cookie),r.send({code:0})})}var h6e="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",JK="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",g6e="4.8.2",zK="OFFLINE$",A6e=15e3,y6e=1e3,KK=async t=>globalThis.getPanName?await globalThis.getPanName(t):t;function x6e(t){let r=/https:\/\/(?:115|anxia|115cdn)\.com\/s\/([a-zA-Z0-9]+)\?password=([a-zA-Z0-9]+)/.exec(t);return r?{shareCode:r[1],receiveCode:r[2]}:null}function b6e(t){let e=String(t||"").trim();return/^(?:magnet:\?|ed2k:\/\/)/i.test(e)?!0:/^https?:\/\//i.test(e)&&!x6e(e)}function E6e(t){return["mp4","webm","avi","wmv","flv","mov","mkv","mpeg","3gp","ts","m2ts","mp3","wav","aac","iso"].includes(String(t||"").slice(String(t||"").lastIndexOf(".")+1).toLowerCase())}function VK(t){return t?typeof t=="string"?t.trim():JSON.stringify(t):""}async function O0(t){let e=VK(t?.config?.y115?.cookie||"");if(e)return e;let r=t?.config?.y115?VK(await QK(t)):"";if(r)return r;let n=await t.db.getObjectDefault("/y115",{}),s=n.cookie||Object.values(n).find(i=>typeof i=="string"&&i.trim())||"";return VK(s)}function Fnr(t){return(Array.isArray(t)?t:[t]).map(r=>String(r||"").split(";")[0].trim()).filter(Boolean).join("; ")}function vc(t,e=null){let r=e?` ${JSON.stringify(e)}`:"";console.log(`[115-offline] ${t}${r}`)}function XK(t,e=180){let r=String(t??"");return r.length>e?`${r.slice(0,e)}...`:r}function YK(t,e=0){if(t==null)return t;if(e>3)return Array.isArray(t)?`[Array(${t.length})]`:typeof t=="object"?`[Object(${Object.keys(t).join(",")})]`:t;if(Array.isArray(t))return t.slice(0,3).map(r=>YK(r,e+1));if(typeof t=="object"){let r={};for(let[n,s]of Object.entries(t))/cookie|token|auth|sign|secret/i.test(n)?r[n]="[masked]":/url/i.test(n)&&typeof s=="string"?r[n]=s?`[url:${s.length}]`:"":r[n]=YK(s,e+1);return r}return typeof t=="string"?XK(t):t}function _6e(t){return{Cookie:t,"User-Agent":JK,"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:"https://115.com/",Origin:"https://115.com"}}function Unr(t){let e=String(t?.url||t?.source_url||t?.source||t?.info_hash||"").trim(),r=String(t?.pick_code||t?.pickcode||t?.pc||t?.file_pick_code||"").trim();return{id:String(t?.id||t?.info_hash||t?.hash||t?.url||"").trim(),name:String(t?.name||t?.file_name||t?.filename||"\u672A\u77E5").trim()||"\u672A\u77E5",status:Number(t?.status),progress:Number(t?.progress||t?.percentDone||0),pickCode:r,fileId:String(t?.file_id||t?.fid||"").trim(),sourceUrl:e,raw:t}}function qnr(t){return(Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.tasks)?t.data.tasks:Array.isArray(t?.tasks)?t.tasks:Array.isArray(t?.list)?t.list:[]).map(Unr)}function S6e(t,e,r={}){let n=String(e||"").trim(),s=/btih:([^&]+)/i.exec(n)?.[1]?.toLowerCase()||"",i=Array.isArray(r?.result)?r.result[0]:null,a=String(r?.id||r?.data?.id||r?.task_id||r?.data?.task_id||i?.info_hash||"").trim();return!!(a&&t.id===a||t.sourceUrl&&t.sourceUrl===n||s&&JSON.stringify(t.raw||{}).toLowerCase().includes(s))}function ZK(t,e=0){if(!t||e>6||typeof t!="object")return"";for(let r of["pick_code","pickcode","pc","file_pick_code"]){let n=String(t[r]||"").trim();if(n)return n}for(let r of Object.values(t)){let n=ZK(r,e+1);if(n)return n}return""}function v6e(t){return new Promise(e=>setTimeout(e,t))}function I6e(t,e=""){let r=String(t?.n||t?.name||t?.file_name||"").trim(),n=String(t?.pc||t?.pick_code||t?.pickcode||"").trim();return!r||!n||!E6e(r)?null:{vod_id:n,vod_name:r,vod_size:Number(t?.s||t?.size||0),vod_group:e}}async function jnr(t,e){let r=await O0(t);if(!r||!e)return[];let n=await Ae.get("https://webapi.115.com/files",{params:{aid:1,cid:e,o:"user_ptime",asc:0,offset:0,show_dir:1,limit:115,code:"",scid:"",snap:0,natsort:1,record_open_time:1,source:"",format:"json"},headers:{Cookie:r,"User-Agent":h6e,Referer:"https://webapi.115.com/bridge_2.0.html?namespace=Core.DataAccess&api=UDataAPI&_t=v5",Origin:"https://115.com","X-Requested-With":"XMLHttpRequest"},validateStatus:null});return Array.isArray(n.data?.data)?n.data.data:[]}async function C6e(t,e,r="",n=0){if(!e||n>5)return[];let s=await jnr(t,e),i=[];for(let a of s){if(Number(a?.fc)===1){let o=I6e(a,r);o&&i.push(o);continue}if(Number(a?.fc)===0){let o=String(a?.cid||a?.fid||"").trim(),c=String(a?.n||a?.name||"").trim(),u=c?r?`${r}/${c}`:c:r;i.push(...await C6e(t,o,u,n+1))}}return i}async function Hnr(t,e){let r=await O0(t),n=String(e||"").trim();if(!r||!n)return[];let s=await Ae.get("https://webapi.115.com/files/search",{params:{search_value:n,type:4,offset:0,limit:20,date:"",aid:1,cid:0,pick_code:"",source:"",format:"json"},headers:{Cookie:r,"User-Agent":JK,Referer:"https://115.com/",Origin:"https://115.com",Accept:"application/json, text/plain, */*"},validateStatus:null});return Array.isArray(s.data?.data)?s.data.data:[]}async function Qnr(t,e){let r=await R6e(t,e);if(r.length>0)return r[0].vod_id;if(!e?.raw)return"";let n=e.raw;return String(n.file_id||n.delete_file_id||e.fileId||"").trim()?"":e.pickCode||ZK(n)}function Gnr(t){return t?.errcode===10008||t?.result?.some?.(e=>e?.errcode===10008)}function T6e(t){return(t?.state===!1||t?.errno)&&!Gnr(t)}function w6e(t){return t?.message||t?.msg||t?.error_msg||t?.error||"115 \u79BB\u7EBF\u4EFB\u52A1\u63D0\u4EA4\u5931\u8D25"}function Knr(t){return t?.server||t||null}async function R6e(t,e){if(!e?.raw)return[];let r=e.raw,n=String(r.file_id||r.delete_file_id||e.fileId||"").trim();if(n){let o=await C6e(t,n);if(vc("\u79BB\u7EBF\u76EE\u5F55\u626B\u63CF",{cid:n,count:o.length,selected:o[0]?.vod_name||"",hasPickCode:!!o[0]?.vod_id}),o.length>0)return o}let s=String(r.name||e.name||"").replace(/\.[^.]+$/,"").trim(),i=await Hnr(t,s),a=i.map(o=>I6e(o)).filter(Boolean).sort((o,c)=>Number(c.vod_size||0)-Number(o.vod_size||0));return vc("\u79BB\u7EBF\u6587\u4EF6\u641C\u7D22",{keyword:XK(s,80),count:i.length,selected:a[0]?.vod_name||"",hasPickCode:!!a[0]?.vod_id}),a}async function N6e(t,e="GET",r=null,n=null){try{let s=await Ae({url:t,method:e,headers:r||void 0,data:n,validateStatus:null});return{data:s.data,cookie:Fnr(s.headers?.["set-cookie"]),headers:s.headers||{},status:s.status}}catch(s){throw s.response?s.response.data:s}}async function O6e(t,e){let r=await O0(t),n=String(e||"").trim();if(!r)return{state:!1,message:"115 Cookie \u7F3A\u5931"};if(!n)return{state:!1,message:"\u79BB\u7EBF\u94FE\u63A5\u4E3A\u7A7A"};let s=new URLSearchParams({"url[0]":n,wp_save_path:"0",appVer:g6e});vc("\u63D0\u4EA4\u79BB\u7EBF\u4EFB\u52A1",{type:n.split(":")[0],length:n.length});let i=await N6e("https://115.com/web/lixian/?ct=lixian&ac=add_task_urls","POST",_6e(r),s.toString()),a=i.data||{};return vc("\u63D0\u4EA4\u54CD\u5E94",{status:i.status,state:a?.state,message:a?.message||a?.msg||"",preview:XK(typeof a=="string"?a:JSON.stringify(a))}),a}async function P6e(t){let e=await O0(t);if(!e)return[];let r=await Ae.get("https://115.com/web/lixian/?ct=lixian&ac=task_lists",{params:{page:1,limit:30,appVer:g6e},headers:_6e(e),validateStatus:null}),n=qnr(r.data);return vc("\u4EFB\u52A1\u5217\u8868",{status:r.status,count:n.length}),n}async function Vnr(t,e,r={},n={}){let s=Number(n.maxWaitMs||A6e),i=Number(n.intervalMs||y6e),a=Date.now(),o=null;for(;Date.now()-a<=s;){let c=await P6e(t),u=c.find(l=>S6e(l,e,r));if(u){o=u;let l=await Qnr(t,u)||u.pickCode||ZK(u.raw);if(vc("\u8F6E\u8BE2\u4EFB\u52A1",{name:u.name,status:u.status,progress:u.progress,hasPickCode:!!l}),l)return{pickCode:l,task:u}}else vc("\u672A\u5339\u914D\u5F53\u524D\u79BB\u7EBF\u4EFB\u52A1",{count:c.length});await v6e(i)}return{pickCode:"",task:o}}async function f6e(t,e){let r=String(e||"").trim();if(!r)return{parse:0,url:"",msg:"115 \u79BB\u7EBF\u94FE\u63A5\u4E3A\u7A7A"};try{let n=await O6e(t,r);if(T6e(n))return{parse:0,url:"",msg:`115 \u79BB\u7EBF\u5931\u8D25: ${w6e(n)}`};let{pickCode:s,task:i}=await Vnr(t,r,n);return s?(vc("\u83B7\u53D6\u5230 pickCode\uFF0C\u5F00\u59CB\u89E3\u6790\u76F4\u94FE",{pickCode:s}),await oB(t,s)):{parse:0,url:"",msg:`115 \u79BB\u7EBF\u4EFB\u52A1\u5DF2\u63D0\u4EA4\uFF0C\u4F46\u6682\u672A\u5B8C\u6210: ${i?`\u72B6\u6001 ${i.status}, \u8FDB\u5EA6 ${i.progress||0}%`:"\u672A\u627E\u5230\u4EFB\u52A1"}`}}catch(n){return{parse:0,url:"",msg:`115 \u79BB\u7EBF\u63A5\u53E3\u5F02\u5E38: ${n?.message||n}`}}}async function znr(t,e,r={}){let n=String(e||"").trim();if(!n)return[];let s=await O6e(t,n);if(T6e(s))return vc("\u79BB\u7EBF\u8BE6\u60C5\u63D0\u4EA4\u5931\u8D25",{message:w6e(s)}),[];let i=Number(r.maxWaitMs||A6e),a=Number(r.intervalMs||y6e),o=Date.now();for(;Date.now()-o<=i;){let c=await P6e(t),u=c.find(l=>S6e(l,n,s));if(u){let l=await R6e(t,u);if(l.length>0)return l;vc("\u79BB\u7EBF\u8BE6\u60C5\u6682\u672A\u53D1\u73B0\u5A92\u4F53\u6587\u4EF6",{name:u.name,status:u.status,progress:u.progress})}else vc("\u79BB\u7EBF\u8BE6\u60C5\u672A\u5339\u914D\u5F53\u524D\u4EFB\u52A1",{count:c.length});await v6e(a)}return[]}var p6e=new Uint8Array([240,229,105,174,191,220,191,138,26,69,232,190,125,166,115,184,222,143,231,196,69,218,134,196,155,100,139,20,106,180,241,170,56,1,53,158,38,105,44,134,0,107,79,165,54,52,98,166,42,150,104,24,242,74,253,189,107,151,143,77,143,137,19,183,108,142,147,237,14,13,72,62,215,47,136,216,254,254,126,134,80,149,79,209,235,131,38,52,219,102,123,156,126,157,122,129,50,234,182,51,222,58,169,89,52,102,59,170,186,129,96,72,185,213,129,156,248,108,132,119,255,84,120,38,95,190,232,30,54,159,52,128,92,69,44,155,118,213,27,143,204,195,184,245]),k6e=0x8686980c0f5a24c4b9d43020cd2c22703ff3f450756529058b1cf88f09b8602136477198a6e2683149659bd122c33592fdb5ad47944ad1ea4d36c6b172aad6338c3bb6ac6227502d010993ac967d1aef00f0c8e038de2e4d3bc2ec368af2e9f10a6f1eda4f7262f136420c07c331b871bf139f74f3010e3c4fe57df3afb71683n,D6e=0x10001n;function B6e(t,e){e==null&&(e=Math.ceil(t.toString(16).length/2));let r=new Uint8Array(e);for(let n=e-1;n>=0;n--)r[n]=Number(t&0xffn),t>>=8n;return r}function L6e(t){let e=0n;for(let r of t)e=e<<8n|BigInt(r);return e}function*eV(t,e,r=1){for(let n=t+r;n<e;n+=r)yield[t,n,r],t=n;t!==e&&(yield[t,e,e-t])}function m6e(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function Ynr(t,e){let r=new Uint8Array(e),n=e*(e-1),s=0;for(let i=0;i<e;i++){let a=t[i]+p6e[s]&255;r[i]=p6e[n]^a,n-=e,s+=e}return r}function Jnr(t){let e=t.length,r=new Uint8Array(128);return r.fill(2,1,127-e),r.set(t,128-e),L6e(r)}function aB(t,e){let r=new Uint8Array(t.length),n=t.length&3;n&&r.set(m6e(t.subarray(0,n),e.subarray(0,n)));for(let[s,i]of eV(n,t.length,e.length))r.set(m6e(t.subarray(s,i),e),s);return r}function M6e(t,e,r){if(r===1n)return 0n;let n=1n;for(t%=r;e;)e&1n&&(n=n*t%r),e=e>>1n,t=t*t%r;return n}function Xnr(t){(typeof t=="string"||t instanceof String)&&(t=new TextEncoder().encode(t));let e=new Uint8Array(16+t.length);e.set(aB(aB(t,new Uint8Array([141,165,165,141])).reverse(),new Uint8Array([120,6,173,76,51,134,93,24,76,1,63,70])),16);let r=new Uint8Array(Math.ceil(e.length/117)*128),n=0;for(let[s,i]of eV(0,e.length,117))r.set(B6e(M6e(Jnr(e.subarray(s,i)),D6e,k6e),128),n,n+=128);return Buffer.from(r).toString("base64")}function Znr(t){let e=new Uint8Array(Buffer.from(t,"base64")),r=[];for(let[i,a]of eV(0,e.length,128)){let o=M6e(L6e(e.subarray(i,a)),D6e,k6e),c=B6e(o);r.push(...c.subarray(c.indexOf(0)+1))}r=new Uint8Array(r);let n=Ynr(r.subarray(0,16),12),s=aB(r.subarray(16),n).reverse();return new TextDecoder("utf-8").decode(aB(s,new Uint8Array([141,165,165,141])))}function esr(t){return`data=${encodeURIComponent(Xnr(JSON.stringify(t)))}`}function tsr(t){if(typeof t=="string")try{let e=JSON.parse(t);return{encrypted:typeof e?.data=="string"?e.data:typeof e?.data?.data=="string"?e.data.data:"",payload:e}}catch{return{encrypted:t,payload:null}}return t&&typeof t=="object"?{encrypted:typeof t.data=="string"?t.data:typeof t.data?.data=="string"?t.data.data:"",payload:t}:{encrypted:"",payload:t}}function rsr(t){let{encrypted:e,payload:r}=tsr(t);if(!e)return r||{};try{return JSON.parse(Znr(e))}catch(n){if(r&&typeof r=="object")return r;throw n}}function W6e(t){if(!t||typeof t!="object")return"";if(typeof t.url=="string"&&t.url)return t.url;if(t.url&&typeof t.url.url=="string"&&t.url.url)return t.url.url;if(t.data&&typeof t.data.url=="string"&&t.data.url)return t.data.url;for(let e of Object.values(t)){if(!e||typeof e!="object")continue;let r=W6e(e);if(r)return r}return""}function $6e(t){if(!t||typeof t!="object")return"";for(let e of["msg","message","error"]){let r=t[e];if(typeof r=="string"&&r.trim())return r.trim()}for(let e of Object.values(t)){if(!e||typeof e!="object")continue;let r=$6e(e);if(r)return r}return""}async function F6e({cookie:t,apiUrl:e,payload:r,userAgent:n,requestReferer:s="",requestOrigin:i="",responseReferer:a=s}){let o=esr(r),c={"Content-Type":"application/x-www-form-urlencoded","Content-Length":Buffer.byteLength(o),Cookie:t,"User-Agent":n};s&&(c.Referer=s),i&&(c.Origin=i);let u=await N6e(e,"POST",c,o),l=[t,u.cookie].filter(Boolean).join("; "),d=rsr(u.data),f=W6e(d);if(!f){let p=$6e(d)||"\u672A\u53D1\u73B0\u4E0B\u8F7D\u94FE\u63A5";return vc("\u76F4\u94FE\u54CD\u5E94\u65E0 URL",{api:e.includes("/share/")?"share":"own",message:p,decoded:YK(d)}),{parse:0,url:"",msg:`115 \u9650\u5236: ${p}`}}return{parse:0,url:f,header:{"User-Agent":n,...l?{Cookie:l}:{},...a?{Referer:a}:{}}}}async function oB(t,e){let r=await O0(t),n=String(e||"").trim();if(!r)return{parse:0,url:"",msg:"115 Cookie \u7F3A\u5931"};if(!n)return{parse:0,url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{return await F6e({cookie:r,apiUrl:`https://proapi.115.com/app/chrome/downurl?t=${Math.floor(Date.now()/1e3)}`,payload:{pickcode:n},userAgent:h6e,requestReferer:"https://115.com/",requestOrigin:"https://115.com",responseReferer:"https://115.com/"})}catch(s){return{parse:0,url:"",msg:`115 \u63A5\u53E3\u5F02\u5E38: ${s?.message||s}`}}}async function nsr({shareCode:t,receiveCode:e,dirID:r=""}){let n=[],s=(a,o)=>a?`${a}/${o}`:o,i=async(a,o)=>{let c=o||"",u=await Ae.get("https://webapi.115.com/share/snap",{params:{share_code:t,receive_code:e,cid:a,limit:"9999",offset:"0"}});if(!u.data.data)return[];let l=u.data.data.list.filter(f=>f.fc===1),d=u.data.data.list.filter(f=>f.fc===0);for(let f of l)E6e(f.n)&&n.push({...f,shareCode:t,receiveCode:e,vod_group:c});for(let f of d)await i(f.cid,s(c,f.n))};return await i(r,""),n}async function U6e(t,e=null){if(b6e(t)){let s=Knr(e);if(s){let i=await znr(s,t,{maxWaitMs:12e3});if(i.length>0)return Ps(await KK("115"),i)}return{from:await KK("115"),url:`115\u79BB\u7EBF\u89E3\u6790\u4E2D$${zK}${t}`}}let r=x6e(t);if(!r)return{};let n=await nsr(r);return n=n.map(s=>({vod_id:[r.shareCode,r.receiveCode,s.fid].join("*"),vod_name:s.n,vod_size:s.s,vod_group:s.vod_group})),Ps(await KK("115"),n)}async function q6e(t){let e=String(t.body.id||"").trim();if(!e)return{parse:0,url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};if(e.startsWith(zK)){let a=await f6e(t.server,e.slice(zK.length));return a.url?{parse:0,url:["\u539F\u753B",a.url],header:a.header}:a}if(b6e(e)){let a=await f6e(t.server,e);return a.url?{parse:0,url:["\u539F\u753B",a.url],header:a.header}:a}if(!e.includes("*"))return await oB(t.server,e);let r=await O0(t.server);if(!r)return{parse:0,url:"",msg:"\u8BF7\u5148\u5728\u914D\u7F6E\u4E2D\u586B\u5165115 Cookie"};let[n,s,i]=e.split("*");if(!n||!i)return{parse:0,url:"",msg:"115 \u5206\u4EAB\u53C2\u6570\u9519\u8BEF"};try{let a=await F6e({cookie:r,apiUrl:"http://pro.api.115.com/app/share/downurl",payload:{share_code:n,receive_code:s,file_id:i},userAgent:JK,responseReferer:"https://115.com/"});return a.url?{parse:0,url:["\u539F\u753B",a.url],header:a.header}:(a?.msg?.includes("\u767B\u5F55")&&typeof globalThis.messageToDart=="function"&&globalThis.messageToDart({action:"toast",opt:{message:"115\u76D8\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}),a)}catch(a){return{parse:0,url:"",msg:`115 \u63A5\u53E3\u5F02\u5E38: ${a?.message||a}`}}}var Q6e=Re(rI(),1),tV=Re(Jn(),1);var isr=async t=>globalThis.getPanName?await globalThis.getPanName(t):t,j6e=t=>{if(!t)return"";let e=t.replaceAll("\\","/").split("/").filter(Boolean);return e.length<=1?"":(e.pop(),e.join("/"))},cB="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",G6e="netdisk;P2SP;2.2.91.136;android-android;",asr="netdisk",osr="https://pan.baidu.com/",csr="https://pan.baidu.com/disk/main",usr=200,lsr=t=>{try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}},K6e=(t="",e=csr)=>({"User-Agent":cB,Referer:e,Accept:"application/json, text/plain, */*",...t?{Cookie:t}:{}}),H6e=(t="",e=cB)=>({"User-Agent":e,Referer:osr,...t?{Cookie:t}:{}}),dsr=()=>({"User-Agent":asr}),rV,nV={},sV={set(t,e){nV[t]=e,rV.push(`/baidu/${t}`,e)},get(t){return nV[t]}},sb=async t=>{rV=t.server.db,nV=await rV.getObjectDefault("/baidu",{})};var iV=class{constructor(){this.regex=/https:\/\/pan\.baidu\.com\/s\/(.*)\?.*?pwd=([^&]+)/,this.type=["M3U8_AUTO_4K","M3U8_AUTO_2K","M3U8_AUTO_1080","M3U8_AUTO_720","M3U8_AUTO_480"],this.headers={"User-Agent":cB,Connection:"keep-alive",Accept:"application/json, text/plain, */*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6"},this.api="https://pan.baidu.com",this.link="",this.pwd="",this.surl="",this.shorturl="",this.shareid="",this.app_id=250528,this.view_mode=1,this.channel="chunlei",this.shareCookie=""}get cookie(){return sV.get("baidu_cookie")||""}async getSurl(e){this.link=e,this.shareCookie="";let r=this.regex.exec(e);r&&r[1]&&(this.surl=r[1],this.shorturl=this.surl.split("").slice(1).join(""),this.pwd=r[2]||"")}async getSign(){let e={...this.headers,cookie:this.shareCookie||this.cookie},r=await he.get(`${this.api}/share/tplconfig?surl=${this.surl}&fields=Espace_info,card_info,sign,timestamp&view_mode=${this.view_mode}&channel=${this.channel}&web=1&app_id=${this.app_id}`,{headers:e});if(!r.data||!r.data.data||!r.data.data.sign)throw new Error(`\u83B7\u53D6sign\u5931\u8D25: ${JSON.stringify(r.data)}`);return r.data.data.sign}async getRandsk(){let e=Q6e.default.stringify({pwd:this.pwd,vcode:"",vcode_str:""}),r=(await he.post(`${this.api}/share/verify?surl=${this.shorturl}&pwd=${this.pwd}`,e,{headers:{"User-Agent":cB,Referer:this.link}})).data.randsk;if(!r)return"";let n="BDCLND="+r,s=this.cookie.replace(/BDCLND=[^;]*;?\s*/g,"");return s.length>0&&!s.endsWith(";")&&(s+="; "),this.shareCookie=s+n,r}async getShareList(){await this.getRandsk(),this.headers.cookie=this.shareCookie||this.cookie;let e=(await he.get(`${this.api}/share/list?web=5&app_id=${this.app_id}&desc=1&showempty=0&page=1&num=20&order=time&shorturl=${this.shorturl}&root=1&view_mode=${this.view_mode}&channel=${this.channel}&web=1&clienttype=0`,{headers:this.headers})).data;if(e.errno===0&&e.list.length>0){let r={},n=[],s=[];this.uk=e.uk,this.shareid=e.share_id,sV.set(`baidu_share_${this.surl}`,{surl:this.surl,pwd:this.pwd,link:this.link,uk:this.uk,shareid:this.shareid}),e.list.map(a=>{if((a.category==="6"||a.category===6)&&n.push(a.path),a.category==="1"||a.category===1){let o=a.server_filename||a.path.split("/").pop(),c=j6e(a.path);s.push({vod_name:o,vod_group:c,vod_id:[a.path.replaceAll("#","\0"),this.uk,this.shareid,a.fs_id||a.fsid,this.surl].join("*"),vod_size:a.size})}}),!(e.title in r)&&e.title!==void 0&&(r[e.title]=[]),s.length>=0&&e.title!==void 0&&(r[e.title]=[...s]);let i=await Promise.all(n.map(async a=>this.getSharepath(a)));if(i=i.filter(a=>a!=null).flat(),i.length>=0){let a=i.map(o=>(o.vod_name&&o.vod_name.includes("/")&&(o.vod_name=o.vod_name.split("/").pop()),o));r[e.title].push(...a)}return r}}async getSharepath(e){await this.getRandsk(),this.headers.cookie=this.shareCookie||this.cookie;let r=(await he.get(`${this.api}/share/list?is_from_web=true&uk=${this.uk}&shareid=${this.shareid}&order=name&desc=0&showempty=0&view_mode=${this.view_mode}&web=1&page=1&num=100&dir=${encodeURIComponent(e)}&channel=${this.channel}&web=1&app_id=${this.app_id}`,{headers:this.headers})).data;if(r.errno===0&&r.list.length>0){let n=[],s=[];r.list.map(o=>{if((o.category==="6"||o.category===6)&&n.push(o.path),o.category==="1"||o.category===1){let c=o.server_filename||o.path.split("/").pop(),u=j6e(o.path);s.push({vod_name:c,vod_group:u,vod_id:[o.path.replaceAll("#","\0"),this.uk,this.shareid,o.fs_id||o.fsid,this.surl].join("*"),vod_size:o.size})}});let i=await Promise.all(n.map(async o=>this.getSharepath(o)));i=i.filter(o=>o!=null);let a=i.map(o=>(o.vod_name&&o.vod_name.includes("/")&&(o.vod_name=o.vod_name.split("/").pop()),o));return[...s,...a.flat()]}}sha1(e){return tV.default.SHA1(e).toString(tV.default.enc.Hex)}async getUid(){this.headers.cookie=this.shareCookie||this.cookie;let e=(await he.get("https://mbd.baidu.com/userx/v1/info/get?appname=baiduboxapp&fields=%20%20%20%20%20%20%20%20%5B%22bg_image%22,%22member%22,%22uid%22,%22avatar%22,%20%22avatar_member%22%5D&client&clientfrom&lang=zh-cn&tpl&ttt",{headers:this.headers})).data;if(e&&e.data&&e.data.fields&&e.data.fields.uid)return e.data.fields.uid;throw new Error("\u83B7\u53D6\u7528\u6237UID\u5931\u8D25: "+JSON.stringify(e))}async getShareUrl(e,r,n,s){e=e.replaceAll("\0","#");let i=await this.getSign(),a=[],o=Math.floor(new Date/1e3);return this.type.map(c=>{a.push({name:c.replace("M3U8_AUTO_",""),url:`${this.api}/share/streaming?channel=${this.channel}&uk=${r}&fid=${s}&sign=${i}×tamp=${o}&shareid=${n}&type=${c}&vip=0&jsToken&isplayer=1&check_blue=1&adToken`})}),a}async getAppShareUrl(e,r,n,s){e=e.replaceAll("\0","#");let i=await this.getRandsk(),a=await this.getUid(),o=Object.assign({},this.headers,{"User-Agent":G6e}),c="73CED981D0F186D12BC18CAE1684FFD5|VSRCQTF6W",u=String(new Date().getTime()),l=this.sha1(this.sha1(this.cookie.match(/BDUSS=(.+?);/)[1])+a+"ebrcUYiuxaZv2XGu7KIYKxUrqfnOfpDF"+u+c+"11.30.2ae5821440fab5e1a61a025f014bd8972"),d=this.api+"/share/list?shareid="+n+"&uk="+r+"&fid="+s+"&sekey="+i+"&origin=dlna&devuid="+c+"&clienttype=1&channel=android_12_zhao_bd-netdisk_1024266h&version=11.30.2&time="+u+"&rand="+l,f=(await he.get(d,{headers:o})).data;if(f.errno===0&&f.list.length>0)return f.list[0].dlink}},Wn=new iV;async function V6e(t,e){await sb(e),await Wn.getSurl(t);let r=await Wn.getShareList();if(!r)return null;let n=await isr("baidu"),s=[],i=[];return Object.keys(r).forEach(a=>{let o=Ps(n,r[a]);o&&o.from&&o.url&&(s.push(o.from),i.push(o.url))}),s.length===0?null:{from:s.join("$$$"),url:i.join("$$$")}}async function z6e(t,e="/",r=1){await sb(t);let n=Wn.cookie;if(!n)return{list:[],rawCount:0};let s=Number.parseInt(r,10)||1,i=String(e||"/"),a=(await he.get(`${Wn.api}/api/list?app_id=${Wn.app_id}&web=1&num=${usr}&page=${s}&order=name&desc=0&dir=${encodeURIComponent(i)}`,{headers:K6e(n)})).data;if(Number(a?.errno)!==0)throw new Error(`\u767E\u5EA6\u5217\u76EE\u5F55\u5931\u8D25: ${a?.errmsg||a?.errno||"unknown error"}`);let o=Array.isArray(a?.list)?a.list:[];return{list:o,rawCount:o.length}}async function fsr(t,e){await sb(t);let r=Wn.cookie;if(!r)return null;let n=String(typeof e=="object"?e?.fileId||"":e||""),s=typeof e=="object"?String(e?.path||""):"";if(!n||!s)return null;let i=new URLSearchParams({type:"VideoURL",path:s,fs_id:n,devuid:"0%1",clienttype:"1",channel:"android_15_25010PN30C_bd-netdisk_1523a",nom3u8:"1",dlink:"1",media:"1",origin:"dlna"}),a=(await he.get(`${Wn.api}/api/mediainfo?${i.toString()}`,{headers:K6e(r),validateStatus:()=>!0})).data,o=String(a?.info?.dlink||a?.info?.[0]?.dlink||a?.dlink||"").trim();if(!o){let c=a?.errno,u=a?.errmsg||a?.show_msg||a?.message||"";throw new Error(`\u767E\u5EA6\u89C6\u9891\u76F4\u94FE\u83B7\u53D6\u5931\u8D25: ${u||c||"empty dlink"}`)}return{dlink:o,data:a}}var psr={};async function uB(t,e){let r=String(t.body.id||"").split("*");if(await sb(t),r[0]==="own"){let c=String(r[1]||"").trim(),u=lsr(r[2]||"");if(!Wn.cookie)return{parse:0,url:"",msg:"\u767E\u5EA6 Cookie \u7F3A\u5931"};if(!c&&!u)return{parse:0,url:"",msg:"\u767E\u5EA6\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let l=await fsr(t,{fileId:c,path:u});return l?.dlink?{parse:0,url:["\u539F\u753B",l.dlink],header:dsr()}:{parse:0,url:"",msg:"\u767E\u5EA6\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}catch(l){return{parse:0,url:"",msg:`\u767E\u5EA6\u63A5\u53E3\u5F02\u5E38: ${l?.message||l}`}}}let n=r[4],s=sV.get(`baidu_share_${n}`);s&&(Wn.surl=s.surl,Wn.pwd=s.pwd,Wn.link=s.link,Wn.uk=s.uk,Wn.shareid=s.shareid,Wn.shorturl=Wn.surl?Wn.surl.split("").slice(1).join(""):"",Wn.shareCookie="",Wn.pwd&&(await Wn.getRandsk(),Wn.headers.cookie=Wn.shareCookie||Wn.cookie));let i={...H6e("",G6e)},a={...H6e()};try{let c=await Wn.getAppShareUrl(r[0],r[1],r[2],r[3]);if(c)return{parse:0,url:["\u539F\u753B",c],header:i}}catch(c){console.log("App\u7248API\u5931\u8D25\uFF0C\u964D\u7EA7\u5230Web\u7248API:",c.message)}let o=await Wn.getShareUrl(r[0],r[1],r[2],r[3]);if(o&&o.length>0){let c=[];return o.forEach(u=>{c.push(u.name,u.url)}),{parse:0,url:c,header:a}}throw new Error("\u83B7\u53D6\u64AD\u653E\u94FE\u63A5\u5931\u8D25")}async function lB(t,e){let r=t.params.site,n=t.params.what,s=t.params.shareId,i=t.params.fileId,a=t.params.flag;if(r!=="baidu")return e.status(400).send({error:"Invalid site"});let o=psr[s];if(!o)return e.status(404).send({error:"Play URL not found in cache"});let c,u=o.headers;if(o.type==="app")c=o.url;else if(o.type==="web"){let l=o.urls.find(d=>d.name===a);if(!l)return e.status(404).send({error:"Quality not found"});c=l.url}else return e.status(500).send({error:"Invalid cache type"});return e.redirect(c)}var Cl=Re(Jn(),1);var Te=to;(function(t,e){let r=to,n=t();for(;;)try{if(-parseInt(r(1178,"j(Pm"))/1*(parseInt(r(1676,"ky6h"))/2)+-parseInt(r(1220,"WFzA"))/3+-parseInt(r(663,"%SDn"))/4*(parseInt(r(275,"RAI2"))/5)+-parseInt(r(665,"!DZ@"))/6*(parseInt(r(1240,"6cH]"))/7)+parseInt(r(1801,"DiMt"))/8+parseInt(r(2053,"HZbC"))/9+parseInt(r(1573,"kM4s"))/10===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(fB,953568+-215*3058);var dB,aV={},es={set(t,e){let r=to;aV[t]=e,dB&&dB[r(876,"IXUY")](r(1482,"lbro")+t,e)},get(t){return aV[t]}},ib=async t=>{let e=to;dB=t[e(1564,"5y@]")].db,aV=await dB[e(1353,"@pEn")+e(1600,"Tl!3")](e(807,"]tXZ"),{})},msr=async t=>{let e=to;return globalThis[e(1750,"w8pn")]?await globalThis[e(814,"p1lY")](t):t},oV=class{constructor(){let e=to,r={KlICH:e(1237,"SxCa")+e(445,"FO4*")+e(1296,"KdbQ")+e(1142,"4b1b"),wkKaw:e(1377,"GXhD"),PCyLb:e(329,"yn!2")+e(1355,"DiMt")+e(593,"#CM4"),xgZMX:e(585,"a&Z$")+e(369,"GXhD"),oMfiM:e(2084,"KdbQ")+e(644,"kM4s")+e(2052,"GXhD"),yrVIt:e(406,"j(Pm")+e(1383,"KdbQ")+e(1211,"6!X(")+e(927,"KdbQ")+e(915,"K&$@")+e(1832,"o]EO")+e(955,"IXUY")+e(1003,"DiMt")+e(334,"6!X(")+e(1862,"#Hok")+e(830,"RAI2")+"6",dXsGd:e(1071,"lsgr"),ofCPv:e(466,"mH&s")+e(328,"cf3y")+e(258,"U(wg")+e(1627,"WLav"),EKpCI:e(1756,"mPFZ")+e(1081,"U(wg"),IpMFU:e(488,"DiMt")+e(1530,"SxCa")+e(525,"WFzA")+e(1293,"kM4s")+e(1275,"UUoF"),Zovsx:e(519,"MTVZ")+e(1779,"mPFZ")},n=r[e(750,"]tXZ")][e(621,"mPFZ")]("|"),s=5*-1498+179+3*2437;for(;;){switch(n[s++]){case"0":this[e(763,"lsgr")]=r[e(794,"4b1b")];continue;case"1":this[e(661,"Ab)Y")+e(409,"U(wg")]="";continue;case"2":this[e(670,"o]EO")]=r[e(854,"lsgr")];continue;case"3":this[e(592,"c0A9")+"d"]=r[e(1488,"WFzA")];continue;case"4":this[e(1528,"j(Pm")]="";continue;case"5":this[e(881,"fbFQ")]=/https:\/\/pan\.xunlei\.com\/s\/([^?#]+)(?:\?[^#]*pwd=([^&#]+))?/;continue;case"6":this[e(1784,"jrYj")]=r[e(1284,"p1lY")];continue;case"7":this[e(766,"eKKZ")]={"User-Agent":r[e(460,"U(wg")],Connection:r[e(1051,"Tl!3")],Accept:r[e(1768,"p1lY")],"Accept-Encoding":r[e(1429,"@pEn")],"Accept-Language":r[e(331,"W7VB")]};continue;case"8":this[e(1797,"WFzA")]="";continue;case"9":this[e(508,"mH&s")]="";continue;case"10":this[e(1169,"lrSf")]="";continue;case"11":this[e(637,"w8pn")]="";continue;case"12":this[e(494,"X7W[")]=r[e(1008,"lbro")];continue;case"13":this[e(323,"a&Z$")+e(1642,"ky6h")]="";continue;case"14":this[e(1161,"UUoF")]="";continue}break}}async[Te(890,"o]EO")](){let e=Te,r={oQAOf:function(n,s){return n>s},YboBH:function(n,s){return n/s},RcsuW:e(1124,"2k6H")+e(759,"lbro"),kjGoG:e(1251,"c0A9")+"\u767B\u5F55",FpDUZ:e(1130,"GXhD")+e(733,"MTVZ")};if(this[e(1093,"KdbQ")])try{let n=JSON[e(692,"jrYj")](Cl.default[e(1835,"X7W[")][e(526,"U(wg")][e(1985,"SxCa")](this[e(491,"6!X(")][e(1905,"U(wg")](".")[1])[e(1465,"lbro")](Cl.default[e(1772,"fbFQ")][e(452,"4b1b")]));r[e(942,"a&Z$")](n[e(298,"p1lY")],Math[e(2020,"UUoF")](r[e(1453,"Tl!3")](Date[e(424,"SxCa")](),-3*-977+2176*4+-3545*3)))?console[e(800,"%SDn")](r[e(1018,"@pEn")]):console[e(1826,"#CM4")](r[e(371,"6cH]")])}catch{console[e(1015,"fbFQ")](r[e(493,"RAI2")])}}get[Te(584,"HZbC")](){let e=Te,r={ptMtb:e(1785,"RAI2")},n=es[e(1701,"GXhD")](r[e(383,"lsgr")]);return!n&&(n=this[e(392,"MTVZ")](),es[e(1817,"fbFQ")](r[e(289,"K&$@")],n)),n}get[Te(752,"WFzA")](){let e=Te,r={jQSOt:e(1486,"mPFZ")+"me"};return es[e(285,"kM4s")](r[e(1534,"a&Z$")])}get[Te(340,"WLav")](){let e=Te,r={TXfpn:e(1012,"K!]D")+"rd"};return es[e(796,"w8pn")](r[e(1931,"mPFZ")])}get[Te(1167,"GXhD")](){let e=Te,r={vrnVt:e(777,"K!]D")};return es[e(1400,"ky6h")](r[e(1840,"WFzA")])}get[Te(1123,"SxCa")+Te(1517,"UUoF")](){let e=Te,r={wAkpl:e(1483,"2k6H")+e(610,"RAI2")};return es[e(1494,"Ab)Y")](r[e(317,"fbFQ")])}get[Te(857,"jrYj")](){let e=Te,r={GTahk:e(1810,"KdbQ")+"d"};return es[e(1462,"o]EO")](r[e(1705,"2k6H")])}[Te(2093,"c0A9")](e){return new Promise(r=>setTimeout(r,e))}[Te(1887,"5y@]")](e){let r=Te;return Cl.default[r(721,"2k6H")](e)[r(1780,"6!X(")]()}[Te(1757,"o]EO")](e){let r=Te;return Cl.default[r(590,"cf3y")](e)[r(662,"o]EO")]()}[Te(825,"]tXZ")](){let e=Te,r={HtoWh:function(n,s){return n|s},eqLja:function(n,s){return n*s},EFlsU:function(n,s){return n===s},imCaB:function(n,s){return n&s},lUGHh:e(2085,"kM4s")+e(1706,"lbro")+e(1135,"eKKZ")+"xx"};return r[e(1057,"a&Z$")][e(739,"U(wg")](/[xy]/g,function(n){let s=e,i=r[s(1774,"FO4*")](r[s(993,"U(wg")](Math[s(1761,"p1lY")](),7377+-1*-4615+-11976),14662+-7331*2);return(r[s(1744,"5y@]")](n,"x")?i:r[s(322,"yn!2")](r[s(1900,"p1lY")](i,3),-5*-239+-6662+1095*5))[s(1780,"6!X(")](-4251+-30*13+4673)})}[Te(834,"mH&s")+Te(1034,"c0A9")](e){let r=Te,n={NmccL:function(s,i){return s+i},NjcwE:r(1783,"Ab)Y")+r(1510,"UUoF")+r(438,"lbro"),bxStp:r(1151,"lsgr")+r(676,"%SDn")+r(1440,"WLav")+"21"};return this[r(2007,"jrYj")](this[r(2013,"kM4s")](n[r(1350,"K!]D")](n[r(1347,"p1lY")](e,n[r(447,"6cH]")]),n[r(1327,"a&Z$")])))}[Te(516,"WLav")+Te(1006,"a&Z$")](e){let r=Te,n={lnJjQ:function(a,o){return a+o},cCtIv:r(1101,"K&$@")+r(668,"kM4s"),CNweO:r(1581,"c0A9")+r(1413,"c0A9")+r(1656,"KdbQ")+r(470,"kM4s"),VdDgo:r(2100,"DiMt")+r(765,"W7VB"),APaZK:r(1786,"K&$@")+r(699,"c0A9")+r(659,"!DZ@"),nZWqE:r(2064,"Ab)Y")+r(1608,"K!]D")+r(1995,"2k6H")+r(1549,"UUoF"),pkdWS:r(1710,"a&Z$")+"1",YwwoA:r(1258,"KdbQ")+r(1212,"lrSf"),AuUBo:r(444,"WLav")+r(1896,"mH&s")+r(954,"a&Z$")+r(1108,"j(Pm")+r(543,"HZbC"),USzbT:r(1213,"FO4*")+r(571,"W7VB")+r(271,"fbFQ"),EtsaD:r(1561,"%SDn")+r(684,"ky6h"),rheud:r(988,"!DZ@")+r(1814,"HZbC"),tVcJe:r(1013,"cf3y")+r(1601,"kM4s")+r(1659,"K!]D")+r(1267,"#Hok"),DgeSj:r(1027,"2k6H")+r(1626,"a&Z$")},s;return s=n[r(1787,"WLav")](n[r(523,"mPFZ")](n[r(1066,"U(wg")](n[r(430,"UUoF")],n[r(380,"lsgr")]),e),n[r(1399,"SxCa")]),[n[r(2023,"jrYj")],n[r(1037,"@pEn")],n[r(1439,"KdbQ")],n[r(1401,"Ab)Y")],n[r(1390,"K&$@")],n[r(1371,"lbro")],n[r(1929,"a&Z$")],n[r(1863,"j(Pm")],n[r(1723,"K&$@")],n[r(1436,"p1lY")]][r(2043,"DiMt")](a=>{let o=r;s=this[o(1070,"K&$@")](n[o(1038,"lrSf")](s,a))}),s}async[Te(767,"mPFZ")](e){let r=Te,n={tiZJa:function(i,a){return i(a)}};this[r(886,"GXhD")]=e;let s=this[r(1541,"cf3y")][r(542,"Ab)Y")](e);s&&s[2434*-4+5*-611+328*39]&&(this[r(1959,"a&Z$")]=s[4022+4021*-1],this[r(2079,"2k6H")]=n[r(2082,"DiMt")](decodeURIComponent,s[523*-1+-3*-1497+-3966]||""))}async[Te(1442,"KdbQ")](){let e=Te,r={QhHzq:e(1253,"yn!2"),svjaK:e(882,"eKKZ"),rwLnd:e(1289,"DiMt")+"7",phDEU:e(848,"lbro")+e(1023,"mPFZ")+e(606,"]tXZ")+"f1",kYvlP:e(2011,"FO4*")+e(2038,"DiMt")+e(1198,"IXUY")+e(1010,"eKKZ"),veRiN:e(879,"@pEn"),YCuzS:e(1724,"cf3y")+e(1614,"6cH]")+e(1854,"KdbQ")+e(1829,"RAI2")+e(1726,"o]EO")+e(852,"Ab)Y")+e(2102,"Tl!3")+"c",zpuix:e(1808,"cf3y"),nWZWm:e(643,"W7VB"),vMAdy:e(1302,"UUoF")+e(1443,"Tl!3"),NDOmJ:e(1195,"c0A9"),BNBTs:e(1571,"KdbQ"),PpJBQ:e(1295,"%SDn")+e(2094,"!DZ@"),JxAaI:function(a,o){return a===o},eAnEg:e(484,"GXhD")},n=JSON[e(2060,"6cH]")]({protocolVersion:r[e(964,"KC!H")],sequenceNo:r[e(1075,"mH&s")],platformVersion:"10",isCompressed:"0",appid:"40",clientVersion:r[e(957,"jrYj")],peerID:r[e(446,"mPFZ")],appName:r[e(1874,"mPFZ")],sdkVersion:r[e(1469,"P6I4")],devicesign:r[e(1056,"P6I4")],netWorkType:"2G",providerName:r[e(1047,"5y@]")],deviceModel:r[e(2017,"#Hok")],deviceName:r[e(608,"Ab)Y")],OSVersion:"12",creditkey:"",hl:r[e(1477,"cf3y")],userName:this[e(1520,"yn!2")],passWord:this[e(1733,"KdbQ")],verifyKey:"",verifyCode:"",isMd5Pwd:"0"}),s={method:r[e(893,"lsgr")],url:this[e(1260,"HZbC")]+(e(1680,"HZbC")+e(1597,"MTVZ")+e(1758,"o]EO")),headers:{"Content-Type":r[e(1376,"HZbC")]},data:n},i=await Ae[e(1963,"p1lY")](s);if(r[e(1950,"MTVZ")](i[e(753,"MTVZ")],1086+1*-886))return console[e(342,"ky6h")](r[e(754,"GXhD")]),i[e(741,"]tXZ")][e(720,"@pEn")]}async[Te(1924,"WFzA")+Te(1753,"yn!2")](){let e=Te,r={qCxBG:e(2008,"4b1b")+e(619,"ky6h")+e(1648,"a&Z$"),wjqvH:e(1468,"mPFZ"),HNwPd:e(1839,"DiMt")+e(358,"a&Z$")+e(700,"KdbQ")+e(356,"ky6h")+e(1747,"c0A9")+e(1582,"%SDn")+e(480,"6cH]")+e(1498,"MTVZ")+e(334,"6!X(")+e(1697,"mPFZ")+e(1570,"IXUY")+"6",BWnBb:e(2055,"w8pn")+e(885,"ky6h"),oZofk:function(a,o){return a===o}},n=JSON[e(756,"GXhD")]({client_id:this[e(419,"5y@]")+"d"],action:r[e(1378,"K!]D")],device_id:this[e(497,"GXhD")],captcha_token:"",meta:{phone_number:e(1937,"a&Z$")+this[e(1172,"%SDn")]}}),s={method:r[e(567,"cf3y")],url:this[e(595,"yn!2")]+(e(1160,"#Hok")+e(563,"U(wg")+"it"),headers:{"User-Agent":r[e(1341,"X7W[")],"Content-Type":r[e(1807,"o]EO")]},data:n},i=await Ae[e(1054,"mPFZ")](s);if(r[e(1492,"KC!H")](i[e(798,"Ab)Y")],-6*179+-1*9001+137*75))return i[e(728,"MTVZ")][e(821,"Tl!3")+e(465,"p1lY")]}async[Te(2096,"GXhD")+Te(347,"6cH]")](){let e=Te,r={ogPFy:e(822,"mPFZ"),WKdfJ:function(o,c){return o===c},PpRYy:e(351,"lrSf"),iFner:e(1825,"@pEn"),bVUWK:e(499,"cf3y"),jaGbi:e(1806,"w8pn"),dXnoh:e(1359,"W7VB")+e(788,"mH&s")+e(774,"MTVZ")+e(393,"5y@]")+e(1714,"4b1b")+e(731,"lsgr")+e(536,"%SDn")+e(506,"fbFQ")+e(425,"X7W[")+e(1640,"@pEn")+e(1891,"K&$@")+e(302,"c0A9")+e(1727,"#CM4")+e(968,"c0A9")+e(681,"KC!H")+"6",dpUgy:e(1202,"K!]D")+e(722,"o]EO"),hOrDf:function(o,c){return o===c},wKcOA:e(2036,"6cH]")};if(console[e(1446,"lrSf")](r[e(423,"w8pn")]),r[e(2073,"SxCa")](this[e(2062,"MTVZ")],"")||r[e(1352,"K!]D")](this[e(636,"%SDn")],void 0)){let o=this[e(373,"GXhD")]();es[e(1102,"j(Pm")](r[e(1016,"RAI2")],o)}let n=await this[e(311,"cf3y")+e(1908,"U(wg")](),s=JSON[e(578,"c0A9")]({phone_number:e(1173,"WLav")+this[e(920,"4b1b")],target:r[e(906,"W7VB")],usage:r[e(1005,"Tl!3")],client_id:this[e(1819,"2k6H")+"d"]}),i={method:r[e(898,"lrSf")],url:this[e(980,"U(wg")]+(e(529,"eKKZ")+e(921,"K!]D")),headers:{"User-Agent":r[e(359,"j(Pm")],"Content-Type":r[e(600,"%SDn")],"x-captcha-token":n,"x-client-id":this[e(1243,"a&Z$")+"d"],"x-device-id":this[e(511,"]tXZ")]},data:s},a=await Ae[e(612,"mH&s")](i)[e(1110,"ky6h")](o=>o[e(1974,"K&$@")]);r[e(856,"U(wg")](a[e(1932,"#CM4")],-11457+11657*1)&&(console[e(900,"6!X(")](r[e(428,"6!X(")]),this[e(1181,"MTVZ")+e(1682,"]tXZ")]=a[e(1250,"Tl!3")][e(307,"GXhD")+e(416,"K&$@")])}async[Te(1716,"c0A9")](e){let r=Te,n={LKcLQ:r(922,"yn!2"),yMQEz:r(1491,"]tXZ")+r(1119,"HZbC")+r(1577,"FO4*")+r(1139,"GXhD")+r(835,"cf3y")+r(1739,"IXUY")+r(1174,"FO4*")+r(1935,"#CM4")+r(729,"P6I4")+r(1145,"jrYj")+r(589,"HZbC")+r(1966,"fbFQ")+r(1428,"5y@]")+r(1456,"RAI2")+r(646,"6cH]")+"6",BirBp:r(1404,"]tXZ")+r(1009,"yn!2"),mvIJu:function(s,i){return s===i}};if(e){let s=JSON[r(642,"X7W[")]({verification_code:e,verification_id:this[r(1069,"jrYj")+r(1979,"W7VB")],client_id:this[r(2056,"]tXZ")+"d"]}),i={method:n[r(548,"ky6h")],url:this[r(415,"FO4*")]+(r(1618,"W7VB")+r(1553,"WFzA")+r(836,"#CM4")),headers:{"user-agent":n[r(365,"mH&s")],"content-type":n[r(1042,"lbro")],"x-client-id":this[r(944,"FO4*")+"d"],"x-device-id":this[r(1226,"a&Z$")]},data:s},a=await Ae[r(1113,"#CM4")](i)[r(1540,"P6I4")](o=>o[r(877,"lrSf")]);if(n[r(1619,"HZbC")](a[r(918,"6!X(")],19*-21+1*-8309+-4454*-2)){let o=a[r(463,"X7W[")][r(1444,"!DZ@")+r(1708,"MTVZ")];await this[r(2048,"Tl!3")+"n"](e,o)}}}async[Te(1633,"W7VB")+"n"](e,r){let n=Te,s={MNIWs:n(290,"K!]D"),JqqKm:n(615,"yn!2")+n(1617,"WFzA")+n(824,"c0A9")+n(776,"yn!2")+n(1361,"#CM4")+n(1073,"j(Pm")+n(1346,"WLav")+n(1968,"5y@]")+n(874,"#CM4")+n(671,"%SDn")+n(1457,"w8pn")+n(436,"eKKZ")+n(997,"mPFZ")+n(1064,"#Hok")+n(660,"@pEn")+"6",AiOOz:n(1264,"Ab)Y")+n(1516,"MTVZ"),DJMNX:function(u,l){return u===l},AvuNe:n(2015,"FO4*"),wckus:n(2025,"HZbC"),QRWoe:function(u,l){return u+l},oOnoo:n(1762,"mH&s")+"d",hiYjL:n(459,"#Hok")+n(403,"kM4s"),JZGAg:function(u,l){return u+l},VKmGm:n(849,"%SDn")},i=await this[n(1447,"6!X(")+n(1547,"c0A9")](),a=JSON[n(642,"X7W[")]({username:n(2045,"W7VB")+this[n(713,"mPFZ")],verification_code:e,verification_token:r,client_id:this[n(2056,"]tXZ")+"d"]}),o={method:s[n(1594,"!DZ@")],url:this[n(1868,"ky6h")]+(n(1851,"WFzA")+n(773,"lsgr")),headers:{"User-Agent":s[n(1405,"W7VB")],"Content-Type":s[n(1568,"6cH]")],"x-captcha-token":i,"x-client-id":this[n(647,"yn!2")+"d"],"x-device-model":"PC","x-device-id":this[n(1885,"eKKZ")]},data:a},c=await Ae[n(1125,"KC!H")](o)[n(1671,"5y@]")](u=>u[n(333,"X7W[")]);s[n(570,"P6I4")](c[n(1778,"X7W[")],-1*8679+-5587+14466*1)?(console[n(1063,"eKKZ")](s[n(482,"GXhD")]),es[n(943,"p1lY")](s[n(1621,"yn!2")],s[n(1930,"IXUY")](s[n(280,"Tl!3")](c[n(1811,"5y@]")][n(338,"GXhD")]," "),c[n(350,"RAI2")][n(891,"U(wg")+"en"])),es[n(1817,"fbFQ")](s[n(967,"@pEn")],c[n(1190,"P6I4")][n(1209,"#CM4")]),es[n(1987,"FO4*")](s[n(1748,"U(wg")],c[n(1952,"FO4*")][n(1077,"GXhD")+n(809,"HZbC")])):console[n(1216,"K!]D")](s[n(820,"RAI2")](s[n(2065,"Tl!3")],c[n(1952,"FO4*")]))}async[Te(688,"!DZ@")+Te(1208,"ky6h")](){let e=Te,r={LbdNc:e(2002,"yn!2")+e(1612,"#Hok"),QxIvN:e(1468,"mPFZ"),tQTIi:e(655,"mPFZ")+e(1820,"2k6H")+e(2e3,"jrYj")+e(1877,"#CM4")+e(1961,"KC!H")+e(1364,"UUoF")+e(1396,"K!]D")+e(1866,"IXUY")+e(866,"KdbQ")+e(295,"FO4*")+e(1244,"c0A9")+"6",jFBQV:e(278,"5y@]")+e(1502,"mH&s"),vwjmD:function(a,o){return a===o}},n=JSON[e(629,"2k6H")]({client_id:this[e(2091,"RAI2")+"d"],action:r[e(1325,"SxCa")],device_id:this[e(475,"lbro")],captcha_token:"",meta:{phone_number:e(1229,"mPFZ")+this[e(752,"WFzA")]}}),s={method:r[e(1472,"P6I4")],url:this[e(880,"KC!H")]+(e(1188,"yn!2")+e(1616,"X7W[")+"it"),headers:{"User-Agent":r[e(1895,"cf3y")],"Content-Type":r[e(1340,"j(Pm")]},data:n},i=await Ae[e(1146,"4b1b")](s);if(r[e(534,"p1lY")](i[e(1219,"lrSf")],-2*4027+-6546+370*40))return i[e(1811,"5y@]")][e(535,"eKKZ")+e(1430,"j(Pm")]}async[Te(355,"a&Z$")](){let e=Te,r={gdfea:function(n,s){return n===s},uadMD:e(1424,"FO4*"),ATPyf:e(1519,"SxCa")+e(2027,"p1lY")+e(1941,"lsgr")+e(262,"lsgr")+e(1394,"U(wg")+e(558,"6cH]")+e(1550,"HZbC")+e(1580,"Ab)Y")+e(1809,"#Hok")+e(1559,"WFzA")+e(1163,"6!X(")+"6",lNCDu:e(1696,"MTVZ")+e(1791,"lsgr"),BgKWK:e(1336,"SxCa"),BpWdT:e(1688,"eKKZ"),bFZaS:function(n,s){return n+s},vdlZq:e(1743,"Tl!3")+"d",uvziL:function(n,s){return n>s},KLMep:function(n,s){return n/s},rfnYB:e(448,"5y@]"),uCakz:e(950,"6!X(")};if(r[e(345,"WLav")](this[e(1026,"jrYj")],void 0)||r[e(394,"ky6h")](this[e(1167,"GXhD")],"")){let n=await this[e(346,"p1lY")+e(978,"mH&s")](),s=JSON[e(1506,"yn!2")]({username:e(996,"p1lY")+this[e(713,"mPFZ")],password:this[e(1273,"lbro")],client_id:this[e(1094,"cf3y")+"d"]}),i={method:r[e(2042,"c0A9")],url:this[e(1418,"X7W[")]+(e(903,"eKKZ")+e(853,"X7W[")),headers:{"User-Agent":r[e(1653,"kM4s")],"Content-Type":r[e(649,"yn!2")],"accept-language":r[e(395,"a&Z$")],"x-captcha-token":n,"x-client-id":this[e(912,"6cH]")+"d"],"x-device-id":this[e(611,"KdbQ")]},data:s},a=await Ae[e(1764,"WFzA")](i)[e(349,"#Hok")](o=>o[e(1965,"U(wg")]);r[e(1184,"GXhD")](a[e(1778,"X7W[")],-2*979+-77+-15*-149)&&(es[e(2029,"U(wg")](r[e(1544,"p1lY")],r[e(715,"]tXZ")](r[e(1332,"K!]D")](a[e(1811,"5y@]")][e(1855,"WFzA")]," "),a[e(1952,"FO4*")][e(891,"U(wg")+"en"])),es[e(432,"6!X(")](r[e(405,"lsgr")],a[e(863,"@pEn")][e(479,"eKKZ")])),await this[e(449,"FO4*")+"a"]()}else{let n=JSON[e(1978,"U(wg")](Cl.default[e(1233,"yn!2")][e(1751,"K!]D")][e(1917,"DiMt")](this[e(491,"6!X(")][e(941,"lbro")](".")[1])[e(1513,"#Hok")](Cl.default[e(1902,"RAI2")][e(847,"kM4s")]));r[e(530,"DiMt")](n[e(732,"w8pn")],Math[e(407,"p1lY")](r[e(1306,"yn!2")](Date[e(424,"SxCa")](),2487*4+-3545+-5403)))?console[e(1215,"#Hok")](r[e(1062,"!DZ@")]):(console[e(1279,"2k6H")](r[e(2044,"6cH]")]),es[e(2029,"U(wg")](r[e(1657,"K&$@")],""),await this[e(524,"c0A9")]())}}async[Te(1977,"K&$@")+"a"](){let e=Te,r={pjAEy:e(458,"GXhD")+e(326,"#Hok")+e(1693,"Ab)Y")+e(313,"6cH]")+e(1028,"Ab)Y"),xDhos:e(1386,"WFzA")+e(1818,"6!X("),GDeHw:e(1104,"fbFQ"),JpUSj:e(1652,"@pEn")+e(963,"kM4s")+e(1501,"j(Pm")+e(1689,"jrYj"),aItsV:e(1521,"6cH]")+e(652,"eKKZ"),wjrLj:e(1403,"RAI2"),fiYYo:e(1150,"K&$@")+e(779,"SxCa")+e(1490,"RAI2")+e(296,"RAI2")+e(429,"fbFQ")+"it",mpDJX:e(701,"MTVZ")+e(1487,"o]EO")+e(367,"WLav")+e(970,"HZbC")+e(1312,"K!]D")+e(558,"6cH]")+e(1343,"fbFQ")+e(1003,"DiMt")+e(334,"6!X(")+e(937,"j(Pm")+e(389,"kM4s")+"6",LDHoT:e(2055,"w8pn")+e(785,"X7W["),ErQjq:e(1408,"KdbQ")+e(1770,"fbFQ")+e(2021,"mH&s")+e(702,"#Hok")+e(1499,"MTVZ"),hDatb:e(421,"MTVZ")+e(2090,"MTVZ")+e(274,"lrSf"),PiSQz:e(913,"4b1b"),rFKAA:e(1415,"w8pn")+e(1897,"6!X(")+e(442,"2k6H")+e(902,"IXUY")+e(1155,"lrSf")+e(391,"w8pn")+e(1294,"j(Pm"),BxmNA:function(u,l){return u(l)}},n=JSON[e(1136,"IXUY")]({client_id:this[e(772,"kM4s")+"d"],action:r[e(1827,"6cH]")],device_id:this[e(1986,"SxCa")],captcha_token:"",meta:{username:"",phone_number:this[e(1045,"kM4s")],email:"",package_name:r[e(1362,"]tXZ")],client_version:r[e(1194,"#Hok")],captcha_sign:r[e(1041,"P6I4")],timestamp:r[e(598,"X7W[")],user_id:this[e(654,"lsgr")]}}),s={method:r[e(1557,"6cH]")],url:r[e(924,"X7W[")],headers:{"User-Agent":r[e(878,"c0A9")],"Content-Type":r[e(1409,"w8pn")],"accept-language":r[e(1878,"]tXZ")],"content-type":r[e(1033,"WFzA")]},data:n},i=await Ae[e(746,"FO4*")](s)[e(2067,"lrSf")](u=>u[e(312,"ky6h")]),a=i[e(926,"a&Z$")][e(1722,"!DZ@")+e(528,"RAI2")],o={method:r[e(1922,"K&$@")],url:r[e(1200,"Ab)Y")],headers:{"User-Agent":r[e(1556,"j(Pm")],"accept-language":r[e(1335,"RAI2")],authorization:this[e(1872,"IXUY")],"content-type":r[e(532,"U(wg")],"x-captcha-token":a,"x-client-id":this[e(1819,"2k6H")+"d"],"x-device-id":this[e(1885,"eKKZ")]}},c=(await r[e(1466,"#CM4")](Ae,o)[e(793,"MTVZ")](u=>u[e(1121,"lbro")]))[e(1790,"cf3y")]}async[Te(2039,"MTVZ")+Te(1328,"ky6h")](e,r){let n=Te,s={JpDTm:n(613,"w8pn")+n(2077,"MTVZ"),SoJRm:n(1984,"lsgr")+n(1587,"jrYj")+n(2047,"fbFQ")+"6a",hHFwZ:n(819,"j(Pm")+n(1911,"WLav"),XEatx:n(990,"a&Z$"),GKxNU:n(2087,"#Hok")+n(306,"K!]D")+n(283,"lbro")+n(352,"X7W["),bIScY:n(1420,"2k6H")+n(2032,"c0A9"),pdJfB:n(1427,"P6I4"),dbjkd:n(1106,"jrYj")+n(1562,"yn!2")+n(2057,"2k6H")+n(780,"%SDn")+n(1647,"#CM4")+n(2014,"mH&s")+n(1579,"w8pn")+n(810,"FO4*")+n(1263,"lrSf")+n(628,"mH&s")+n(330,"W7VB")+"6",ncjTi:n(1725,"DiMt")+n(1981,"KdbQ"),IrAaH:function(u,l){return u===l}},i=r+":"+e,a=JSON[n(1560,"W7VB")]({client_id:s[n(1964,"Tl!3")],action:i,device_id:s[n(1666,"W7VB")],captcha_token:"",meta:{username:"",phone_number:"",email:"",package_name:s[n(512,"GXhD")],client_version:s[n(1479,"6!X(")],captcha_sign:s[n(1199,"Ab)Y")],timestamp:s[n(2074,"p1lY")],user_id:this[n(1873,"IXUY")]}}),o={method:s[n(802,"j(Pm")],url:this[n(1260,"HZbC")]+(n(517,"Tl!3")+n(520,"kM4s")+"it"),headers:{"User-Agent":s[n(1948,"W7VB")],"Content-Type":s[n(1603,"Ab)Y")]},data:a},c=await Ae[n(1342,"]tXZ")](o);if(s[n(1518,"6cH]")](c[n(357,"HZbC")],8545+-407*-19+-16078*1))return c[n(863,"@pEn")][n(401,"DiMt")+n(577,"K&$@")]}async[Te(1536,"KdbQ")+Te(557,"cf3y")](e,r){let n=Te,s={spNdC:n(626,"#Hok")+n(1276,"eKKZ")+n(994,"RAI2"),jxiGg:n(1649,"6cH]")+"7",jpJIz:n(1745,"4b1b")+n(496,"WLav"),Zqxue:n(1951,"5y@]"),FjBEA:n(2104,"HZbC")+n(316,"p1lY")+n(704,"6!X(")+n(559,"K!]D")+n(2083,"w8pn")+n(940,"#CM4")+n(947,"jrYj")+n(775,"%SDn")+n(1972,"cf3y")+n(1236,"a&Z$")+n(1205,"c0A9")+n(1755,"6cH]")+n(297,"mPFZ")+n(1860,"UUoF")+n(1242,"RAI2")+n(1074,"IXUY")+n(544,"kM4s")+n(939,"U(wg")+n(2030,"eKKZ")+n(321,"ky6h")+n(433,"!DZ@")+n(1232,"j(Pm")+n(566,"4b1b"),XmPZg:n(408,"kM4s")+n(303,"p1lY"),Mjxrx:function(l,d){return l===d}},i=r+":"+e,a=this[n(591,"RAI2")+n(343,"KC!H")](this[n(1843,"K!]D")]),o=JSON[n(1022,"a&Z$")]({client_id:this[n(1243,"a&Z$")+"d"],action:i,device_id:this[n(889,"jrYj")],captcha_token:"",meta:{package_name:s[n(1115,"KC!H")],client_version:s[n(2035,"p1lY")],captcha_sign:"1."+a,timestamp:s[n(828,"UUoF")],user_id:this[n(1873,"IXUY")]}}),c={method:s[n(1816,"fbFQ")],url:this[n(952,"lbro")]+(n(397,"X7W[")+n(376,"DiMt")+"it"),headers:{"User-Agent":s[n(1356,"Ab)Y")],"Content-Type":s[n(1285,"cf3y")]},data:o},u=await Ae[n(1113,"#CM4")](c);if(s[n(1166,"KC!H")](u[n(762,"UUoF")],-8426+38*227))return u[n(901,"j(Pm")][n(1217,"%SDn")+n(809,"HZbC")]}[Te(390,"WFzA")](){let e=Te,r={vozfE:e(1143,"HZbC")+e(1464,"eKKZ"),PViHV:e(1939,"c0A9")+e(2072,"lbro"),jFmJu:e(1906,"@pEn")+e(1737,"eKKZ"),YNolP:e(1942,"yn!2")+e(490,"]tXZ")+e(620,"#CM4"),xStyi:e(1765,"jrYj")+e(672,"MTVZ"),bZkon:e(1189,"fbFQ")+e(2050,"WLav")+e(645,"ky6h")+"0S",UfOFx:e(718,"%SDn")+e(1883,"W7VB")+e(2026,"yn!2")+"rt",AutwO:e(1668,"GXhD")+e(287,"W7VB"),flAXz:e(1782,"j(Pm")+e(1638,"mH&s"),jsNbt:e(1644,"SxCa")+e(2012,"FO4*")+e(337,"6cH]"),SaVKX:e(634,"X7W[")+e(1910,"fbFQ")+e(1473,"K&$@")+"Xs",XuSxW:e(887,"p1lY")+e(1537,"IXUY"),NIhbI:e(1575,"kM4s"),mZjhO:e(740,"#CM4")+e(1882,"jrYj"),MbDOY:e(1303,"SxCa")+e(1857,"Ab)Y")+e(1927,"ky6h")+"6a",oMvjn:function(o,c){return o+c},dNqGr:function(o,c){return o+c},tGnlv:e(1309,"cf3y")+e(450,"kM4s"),RmJuU:function(o,c){return o<c},BSPxa:function(o,c){return o+c},piRAy:function(o,c){return o+c}},n=[r[e(270,"U(wg")],r[e(666,"2k6H")],r[e(845,"fbFQ")],"m2",r[e(1206,"FO4*")],r[e(1731,"W7VB")],r[e(1222,"RAI2")],r[e(427,"lbro")],r[e(1116,"KdbQ")],r[e(1300,"kM4s")],r[e(1865,"p1lY")],r[e(1889,"U(wg")]],s={ClientID:r[e(1417,"4b1b")],ClientVersion:r[e(1156,"MTVZ")],PackageName:r[e(966,"MTVZ")],DeviceID:r[e(811,"RAI2")]},i=Date[e(468,"cf3y")](),a=r[e(678,"%SDn")](r[e(1221,"HZbC")](r[e(370,"#Hok")](r[e(426,"lrSf")](s[e(2061,"mPFZ")],s[e(1227,"lrSf")+e(335,"]tXZ")]),s[e(1899,"6cH]")+"e"]),s[e(956,"Tl!3")]),r[e(1639,"Ab)Y")]);for(let o=7263*1+9179+2*-8221;r[e(1040,"fbFQ")](o,n[e(305,"o]EO")]);o++)a=Cl.default[e(1589,"Ab)Y")](r[e(1149,"4b1b")](a,n[o]))[e(930,"6cH]")]();return r[e(266,"jrYj")]("1.",a)}async[Te(801,"a&Z$")+"st"](){let e=Te,r={sMuAD:function(c,u){return c===u},NGUuS:e(865,"lrSf"),NLqKx:function(c,u){return c(u)},KiyIX:e(1235,"DiMt")+e(1946,"j(Pm"),DyWFz:e(1789,"6cH]"),QLzwu:e(1831,"c0A9"),iJThO:e(1245,"p1lY")+e(1422,"GXhD")+e(839,"mPFZ")+e(703,"jrYj")+e(1926,"eKKZ")+e(1435,"Tl!3")+e(1363,"2k6H")+e(267,"%SDn")+e(706,"c0A9")+e(1543,"DiMt")+e(1128,"!DZ@")+"6",CmOGH:e(1558,"IXUY")+e(1641,"#CM4")+e(735,"o]EO")+e(1715,"Tl!3")+e(259,"DiMt"),qTPoD:e(518,"mPFZ")+e(2092,"j(Pm"),kBvAK:e(568,"mPFZ")+e(783,"IXUY")+e(504,"X7W[")+"6a",PPTTE:function(c,u){return c in u},LFAgM:function(c,u){return c!==u},lYnTq:function(c,u){return c>u},iUvjQ:function(c,u){return c!==u},aBWDk:function(c,u){return c>=u}},n=r[e(381,"lsgr")],s=r[e(384,"fbFQ")],i=await this[e(1268,"U(wg")+e(683,"w8pn")](n,s),a={method:r[e(972,"Tl!3")],url:this[e(1059,"mPFZ")]+(e(1129,"yn!2")+e(560,"K&$@")+e(1563,"jrYj"))+this[e(1876,"WFzA")]+(e(1828,"mPFZ")+"=")+this[e(1799,"SxCa")]+(e(1588,"cf3y")+e(467,"@pEn")+e(1044,"MTVZ")+e(1360,"GXhD")+e(1936,"eKKZ")),headers:{"User-Agent":r[e(1307,"p1lY")],"accept-language":r[e(738,"P6I4")],authorization:"","x-captcha-token":i,"x-client-id":r[e(1990,"DiMt")],"x-device-id":r[e(565,"W7VB")]}},o=await Ae[e(540,"5y@]")](a);if(r[e(273,"mH&s")](o[e(1698,"@pEn")],-8429*1+8129+-250*-2)){let c={},u=[],l=[];this[e(1721,"K!]D")+e(564,"WFzA")]=o[e(1912,"mH&s")][e(378,"#CM4")+e(641,"kM4s")],o[e(1790,"cf3y")][e(842,"yn!2")][e(951,"5y@]")](f=>{let p=e;if(r[p(707,"jrYj")](f[p(1711,"lsgr")],""))u[p(1970,"yn!2")](f.id);else if(r[p(609,"HZbC")](f[p(362,"P6I4")+p(999,"fbFQ")],r[p(1411,"FO4*")])){let m=/[#|'"\[\]&<>]/g,h=m[p(1344,"cf3y")](f[p(1707,"#Hok")])?f[p(1609,"eKKZ")][p(739,"U(wg")](m,""):f[p(569,"j(Pm")];l[p(675,"cf3y")]({name:h,size:r[p(987,"o]EO")](Number,f[p(1029,"mPFZ")])||-8093+181*28+3025,fileId:f.id,share_id:this[p(363,"UUoF")],parent_id:f[p(1738,"K&$@")],pass_code_token:r[p(1752,"@pEn")](encodeURIComponent,this[p(696,"P6I4")+p(469,"jrYj")]),pass_code:this[p(1892,"lbro")]})}}),!r[e(1907,"lsgr")](o[e(1790,"cf3y")][e(1454,"lrSf")],c)&&r[e(1798,"UUoF")](o[e(1912,"mH&s")][e(1879,"cf3y")],void 0)&&(c[o[e(1103,"IXUY")][e(919,"%SDn")]]=[]),r[e(2037,"DiMt")](l[e(1158,"4b1b")],-3760*2+-4813+12333)&&r[e(795,"DiMt")](o[e(728,"MTVZ")][e(1092,"KC!H")],void 0)&&(c[o[e(1190,"P6I4")][e(1331,"W7VB")]]=[...l]);let d=await Promise[e(386,"a&Z$")](u[e(761,"6!X(")](async f=>this[e(764,"HZbC")+e(1320,"5y@]")](f)));return d=d[e(949,"cf3y")](f=>f!=null)[e(1478,"RAI2")](),r[e(1655,"cf3y")](d[e(1370,"c0A9")],0)&&c[o[e(1035,"WFzA")][e(919,"%SDn")]][e(2005,"fbFQ")](...d),c}}async[Te(833,"jrYj")+Te(1067,"yn!2")](e){let r=Te,n={wJWtz:function(u,l){return u===l},ctlsy:r(808,"KC!H"),sZlmJ:function(u,l){return u(l)},YnLpk:r(505,"KC!H")+r(1148,"%SDn"),ruRQy:r(992,"!DZ@"),Pjrgr:r(554,"UUoF"),Szeyc:r(745,"lbro")+r(1654,"4b1b")+r(679,"%SDn")+r(1823,"DiMt")+r(1961,"KC!H")+r(558,"6cH]")+r(1777,"kM4s")+r(1348,"5y@]")+r(1398,"eKKZ")+r(859,"GXhD")+r(755,"o]EO")+"6",WsPFH:r(770,"KC!H")+r(1455,"kM4s")+r(1545,"P6I4")+r(561,"K!]D")+r(1438,"SxCa"),VgIVQ:r(985,"a&Z$")+r(1734,"w8pn"),NfGkS:r(1460,"GXhD")+r(1503,"@pEn"),EMzqI:r(1191,"K!]D")+r(2070,"4b1b")+r(320,"@pEn")+"6a",KeJkO:function(u,l){return u===l}},s=n[r(1322,"DiMt")],i=n[r(1956,"Ab)Y")],a=await this[r(1837,"lsgr")+r(1043,"fbFQ")](s,i),o={method:n[r(1849,"Ab)Y")],url:this[r(575,"fbFQ")]+(r(2046,"6!X(")+r(784,"eKKZ")+r(669,"K!]D")+"=")+this[r(1876,"WFzA")]+(r(2001,"eKKZ")+"=")+e+(r(1828,"mPFZ")+r(1380,"RAI2"))+n[r(1310,"c0A9")](encodeURIComponent,this[r(1800,"@pEn")+r(375,"eKKZ")])+(r(1658,"mPFZ")+r(2031,"p1lY")+r(909,"mPFZ")+r(673,"!DZ@")+r(1665,"P6I4")),headers:{"User-Agent":n[r(1480,"GXhD")],"accept-language":n[r(1434,"@pEn")],authorization:"","content-type":n[r(1228,"mH&s")],"x-captcha-token":a,"x-client-id":n[r(1555,"K&$@")],"x-device-id":n[r(1298,"4b1b")]}},c=await Ae[r(1764,"WFzA")](o);if(n[r(1920,"SxCa")](c[r(1406,"jrYj")],-1*-7271+2*2921+1*-12913)){let u=[],l=[];c[r(1811,"5y@]")][r(418,"lbro")][r(547,"FO4*")](f=>{let p=r;if(n[p(748,"#Hok")](f[p(1504,"U(wg")],""))u[p(550,"jrYj")](f.id);else if(n[p(555,"a&Z$")](f[p(1613,"WFzA")+p(635,"FO4*")],n[p(708,"KC!H")])){let m=/[#|'"\[\]&<>]/g,h=m[p(1319,"WLav")](f[p(553,"WLav")])?f[p(725,"WFzA")][p(372,"eKKZ")](m,""):f[p(1050,"yn!2")];l[p(1960,"WLav")]({name:h,size:n[p(781,"#CM4")](Number,f[p(1565,"lrSf")])||5162+2551*-1+-2611,fileId:f.id,share_id:this[p(1193,"K!]D")],parent_id:f[p(991,"yn!2")],pass_code_token:n[p(1584,"U(wg")](encodeURIComponent,this[p(1800,"@pEn")+p(1416,"#Hok")]),pass_code:this[p(1869,"W7VB")]})}});let d=await Promise[r(1349,"KC!H")](u[r(710,"6cH]")](async f=>this[r(1947,"fbFQ")+r(789,"w8pn")](f)));return d=d[r(1358,"RAI2")](f=>f!=null),[...l,...d[r(677,"a&Z$")]()]}}async[Te(1288,"RAI2")+"l"](e,r,n,s=""){let i=Te,a={GjuBH:function(p,m){return p!==m},VTxPS:function(p,m){return p===m},pqCFf:function(p,m){return p+m},gmzob:i(1096,"%SDn")+i(743,"Ab)Y")+i(1470,"j(Pm")+i(1523,"X7W[")+i(639,"a&Z$")+"l=",lbVaJ:function(p,m){return p(m)},WphNd:i(1223,"WLav")+i(1e3,"DiMt"),xJEJB:i(1886,"5y@]"),Fvwoz:i(1388,"P6I4"),dsANa:function(p,m){return p(m)},cqaKP:i(500,"%SDn")+i(1687,"]tXZ")+i(679,"%SDn")+i(703,"jrYj")+i(1893,"!DZ@")+i(1061,"w8pn")+i(1277,"yn!2")+i(366,"]tXZ")+i(1606,"4b1b")+i(1660,"SxCa")+i(521,"fbFQ")+"6",NnUqT:i(605,"!DZ@")+i(737,"w8pn")+i(461,"6!X(")+i(1566,"ky6h")+i(492,"2k6H"),dcKhR:i(324,"4b1b"),QqZfo:i(860,"RAI2")+i(885,"ky6h"),ktdrU:i(279,"lbro")+i(1508,"DiMt"),PIJBl:i(2041,"Ab)Y")+i(597,"o]EO")+i(868,"mH&s")+"6a"},o=a[i(691,"kM4s")],c=a[i(803,"4b1b")],u=await this[i(1351,"P6I4")+i(435,"2k6H")](o,c),l=s||this[i(1449,"o]EO")]||"",d={method:a[i(627,"WFzA")],url:this[i(1020,"#CM4")]+(i(1842,"%SDn")+i(1822,"yn!2")+i(870,"p1lY")+i(1636,"U(wg")+"=")+a[i(1944,"X7W[")](encodeURIComponent,n)+(i(1903,"mPFZ")+i(1132,"#CM4"))+e+i(1278,"KC!H")+r+(i(576,"K!]D")+"e=")+l,headers:{"User-Agent":a[i(339,"!DZ@")],"accept-language":a[i(2080,"cf3y")],authorization:"","cache-control":a[i(603,"5y@]")],"content-type":a[i(1838,"4b1b")],"x-captcha-token":u,"x-client-id":a[i(1548,"GXhD")],"x-device-id":a[i(1645,"mH&s")]}},f=await Ae[i(749,"HZbC")](d);if(a[i(778,"IXUY")](f[i(1084,"DiMt")],7699+5158*-1+-2341)){this[i(1247,"c0A9")]="";let p=[];return f[i(2069,"lsgr")][i(1736,"%SDn")][i(1552,"U(wg")][i(751,"jrYj")](m=>{let h=i;a[h(332,"j(Pm")](m[h(1019,"WLav")],null)&&(a[h(981,"lsgr")](this[h(498,"IXUY")],"")&&(this[h(1112,"j(Pm")]=new URL(m[h(549,"mH&s")][h(1324,"SxCa")])[h(1053,"4b1b")]),p[h(1635,"Ab)Y")](m[h(1628,"yn!2")],a[h(1131,"W7VB")](a[h(514,"lbro")],a[h(1815,"K!]D")](encodeURIComponent,m[h(2063,"kM4s")][h(888,"K!]D")]))))}),p}return[]}async[Te(1604,"o]EO")+"ta"](e){let r=Te,n={lxuSB:r(434,"WFzA")};if(e[r(293,"RAI2")](n[r(771,"HZbC")]))return await this[r(487,"%SDn")](e),await this[r(1567,"p1lY")+"st"]()}async[Te(1210,"lrSf")](e,r,n){let s=Te,i={nGyWt:s(1339,"K!]D")+s(1017,"eKKZ"),ssEzY:s(782,"DiMt"),QExzW:function(f,p){return f(p)},cmQUI:s(653,"lrSf"),Xqkub:s(1519,"SxCa")+s(1695,"mH&s")+s(1368,"X7W[")+s(703,"jrYj")+s(1105,"MTVZ")+s(1280,"2k6H")+s(2101,"U(wg")+s(2071,"KC!H")+s(1945,"p1lY")+s(361,"U(wg")+s(812,"yn!2")+"6",thDGk:s(1725,"DiMt")+s(1256,"j(Pm"),YHgSB:s(1558,"IXUY")+s(1583,"KdbQ")+s(268,"#Hok")+s(537,"U(wg")+s(841,"eKKZ"),yTKJR:function(f,p){return f===p},VUJoT:function(f,p){return f===p},dRNcF:s(1953,"@pEn"),URQjc:s(483,"KdbQ")},a=i[s(1039,"W7VB")],o=i[s(2066,"#Hok")],c=await this[s(1032,"#CM4")+s(2040,"p1lY")](a,o),u=JSON[s(578,"c0A9")]({parent_id:this[s(1664,"KdbQ")],share_id:r,pass_code_token:i[s(1329,"ky6h")](decodeURIComponent,n),ancestor_ids:[],file_ids:[e],specify_parent_id:!0}),l={method:i[s(1539,"#CM4")],url:this[s(1861,"a&Z$")]+(s(471,"6cH]")+s(805,"o]EO")+"re"),headers:{"User-Agent":i[s(625,"UUoF")],"Content-Type":i[s(1527,"fbFQ")],"accept-language":i[s(364,"UUoF")],authorization:this[s(1266,"!DZ@")],"x-captcha-token":c,"x-client-id":this[s(284,"Tl!3")+"d"],"x-device-id":this[s(1419,"W7VB")]},data:u},d=await Ae[s(1533,"lrSf")](l)[s(1776,"GXhD")](f=>f[s(877,"lrSf")]);return i[s(1259,"fbFQ")](d?.[s(1592,"K&$@")],-6974+2242*-1+9416)&&i[s(687,"#Hok")](d?.[s(926,"a&Z$")]?.[s(1992,"UUoF")+"us"],"OK")?(console[s(1391,"j(Pm")](i[s(1969,"]tXZ")]),!0):(console[s(1391,"j(Pm")](d?.[s(1811,"5y@]")]?.[s(1120,"WLav")+"us"]||s(973,"kM4s")+(d?.[s(315,"eKKZ")]||i[s(533,"DiMt")])),!1)}async[Te(1763,"mH&s")](e,r,n){let s=Te,i={FfgOq:function(a,o){return a!==o},ZWRIB:s(674,"K!]D")+s(1643,"Ab)Y"),FwPpu:s(917,"Tl!3")};if(await this[s(1650,"#CM4")](),i[s(1052,"6cH]")](this[s(2004,"5y@]")],"")&&i[s(1551,"lrSf")](this[s(300,"c0A9")],void 0)){if(!await this[s(797,"]tXZ")](e,r,n))throw new Error(i[s(1144,"U(wg")])}else throw new Error(i[s(264,"p1lY")])}async[Te(1423,"DiMt")](){let e=Te,r={iTUXI:function(u,l){return u===l},mcKVQ:function(u,l){return u===l},NAaPi:e(742,"X7W[")+e(1773,"P6I4"),ngueR:e(904,"MTVZ"),KmybT:e(1079,"j(Pm"),vQdKB:e(1988,"2k6H")+e(481,"Ab)Y")+e(473,"cf3y")+e(596,"DiMt")+e(2010,"KdbQ")+e(1203,"KdbQ")+e(995,"DiMt")+e(1072,"FO4*")+e(513,"yn!2")+e(2006,"SxCa")+e(1021,"Tl!3")+e(962,"DiMt")+e(1971,"UUoF")+e(1272,"5y@]")+e(2058,"FO4*")+e(1741,"lsgr")+e(1090,"FO4*")+e(552,"K!]D")+e(1511,"GXhD")+e(294,"j(Pm")+e(946,"Tl!3")+e(1337,"kM4s")+e(1375,"j(Pm"),KbZpT:e(272,"w8pn")+e(1338,"6!X(")+e(1474,"jrYj")+e(855,"RAI2")+e(1275,"UUoF"),veruj:e(689,"IXUY")+e(303,"p1lY")};(r[e(1983,"mH&s")](this[e(935,"]tXZ")],void 0)||r[e(945,"c0A9")](this[e(399,"@pEn")],""))&&await this[e(1681,"]tXZ")]();let n=r[e(1673,"]tXZ")],s=r[e(288,"X7W[")],i=await this[e(368,"FO4*")+e(867,"K&$@")](n,s),a=this[e(1024,"Tl!3")]+(e(1923,"2k6H")+e(1871,"X7W[")+e(719,"Tl!3")+e(843,"W7VB")+e(1975,"WFzA")+e(1238,"lrSf")+e(2028,"fbFQ")+e(310,"a&Z$")+e(1794,"mH&s")+e(382,"]tXZ")+e(1111,"IXUY")+e(1231,"mPFZ")+e(1452,"o]EO")+e(1867,"KC!H")+e(1159,"GXhD")+e(1201,"P6I4")+e(1888,"jrYj")+e(1049,"DiMt")+e(1082,"WLav")),o={method:r[e(1252,"WFzA")],url:a,headers:{"User-Agent":r[e(1507,"6cH]")],"accept-language":r[e(884,"IXUY")],authorization:this[e(1133,"ky6h")],"content-type":r[e(522,"j(Pm")],"x-captcha-token":i,"x-client-id":this[e(1980,"P6I4")+"d"],"x-device-id":this[e(497,"GXhD")]}},c=await Ae[e(929,"lsgr")](o);if(r[e(736,"!DZ@")](c[e(1357,"p1lY")],-1548+-8534*-1+-6786)){let u=c[e(728,"MTVZ")][e(574,"W7VB")][e(1014,"5y@]")](l=>l[e(725,"WFzA")]===this[e(705,"@pEn")]);u?this[e(1157,"!DZ@")]=u.id:this[e(263,"cf3y")]=""}}async[Te(1269,"c0A9")](){let e=Te,r={uNCuj:function(n,s){return n===s},dphUS:e(846,"lbro")+e(2019,"!DZ@"),tUELw:e(1730,"%SDn"),tNmLW:e(319,"IXUY")+"er",BfoNR:e(290,"K!]D"),YsQjM:e(1126,"2k6H")+e(690,"SxCa")+e(679,"%SDn")+e(1162,"WLav")+e(1607,"j(Pm")+e(1257,"5y@]")+e(1087,"]tXZ")+e(1254,"w8pn")+e(1281,"]tXZ")+e(1274,"6!X(")+e(1532,"cf3y")+"6",RlLro:e(451,"eKKZ")+e(1646,"lrSf"),KeFHA:e(1080,"2k6H")+e(1234,"!DZ@")+e(461,"6!X(")+e(757,"fbFQ")+e(1225,"P6I4"),GlWSR:e(1107,"]tXZ")+"\u5B58"};if(await this[e(1505,"p1lY")](),r[e(895,"Tl!3")](this[e(1316,"p1lY")],"")||r[e(1629,"UUoF")](this[e(1085,"X7W[")],void 0)){let n=r[e(1286,"!DZ@")],s=r[e(817,"!DZ@")],i=await this[e(1976,"K&$@")+e(2040,"p1lY")](n,s),a=JSON[e(1781,"ky6h")]({parent_id:"",name:this[e(1207,"X7W[")],kind:r[e(1620,"yn!2")],space:""}),o={method:r[e(478,"FO4*")],url:this[e(515,"lsgr")]+(e(1176,"KC!H")+e(2003,"mPFZ")),headers:{"User-Agent":r[e(1283,"WLav")],"Content-Type":r[e(1036,"K&$@")],"accept-language":r[e(1991,"lrSf")],authorization:this[e(308,"DiMt")],"x-captcha-token":i,"x-client-id":this[e(439,"ky6h")+"d"],"x-device-id":this[e(475,"lbro")]},data:a},c=await Ae[e(928,"cf3y")](o);r[e(791,"kM4s")](c[e(457,"GXhD")],-31*-121+-1*1709+-1842)&&(this[e(790,"%SDn")]=c[e(463,"X7W[")][e(724,"w8pn")].id,console[e(1154,"cf3y")](r[e(1076,"6cH]")]))}}async[Te(388,"GXhD")](){let e=Te,r={xmBXF:e(1333,"a&Z$")+e(456,"yn!2"),CGHgb:e(1789,"6cH]"),sQFTT:e(1002,"K&$@"),cGBDY:e(1769,"ky6h")+e(1007,"%SDn")+e(1152,"#Hok")+e(883,"mPFZ")+e(2088,"%SDn")+e(1694,"!DZ@")+e(1249,"WFzA")+e(1866,"IXUY")+e(1140,"cf3y")+e(295,"FO4*")+e(1451,"K&$@")+"6",WhMBq:e(594,"]tXZ")+e(1630,"c0A9")+e(586,"4b1b")+e(769,"lrSf")+e(396,"fbFQ"),hvsdf:e(408,"kM4s")+e(960,"FO4*"),NVPDM:function(u,l){return u===l}};this[e(1957,"X7W[")]="";let n=r[e(440,"SxCa")],s=r[e(1760,"p1lY")],i=await this[e(1147,"ky6h")+e(979,"lbro")](n,s),a=this[e(1861,"a&Z$")]+(e(1495,"UUoF")+e(2086,"HZbC")+e(474,"SxCa"))+this[e(414,"a&Z$")]+(e(1192,"%SDn")+e(1086,"c0A9")+e(1686,"p1lY")+e(2016,"eKKZ")+e(975,"jrYj")+e(651,"lrSf")+e(1395,"lsgr")+e(1997,"fbFQ")+e(1674,"c0A9")+e(1317,"4b1b")+e(1095,"W7VB")+e(1940,"a&Z$")+e(1287,"UUoF")+e(462,"WLav")+e(709,"jrYj")+e(1719,"lbro")+e(1853,"2k6H")),o={method:r[e(1134,"!DZ@")],url:a,headers:{"User-Agent":r[e(507,"o]EO")],"accept-language":r[e(1850,"KC!H")],authorization:this[e(1133,"ky6h")],"content-type":r[e(1732,"K&$@")],"x-captcha-token":i,"x-client-id":this[e(439,"ky6h")+"d"],"x-device-id":this[e(936,"Ab)Y")]}},c=await Ae[e(1804,"kM4s")](o);if(r[e(786,"MTVZ")](c[e(918,"6!X(")],37*-79+31*88+395)){let u=Array[e(1323,"HZbC")](c[e(1856,"#Hok")]?.[e(730,"6!X(")])?c[e(455,"c0A9")][e(582,"j(Pm")]:[],l=u[e(1599,"W7VB")](d=>d?.id);l&&(this[e(477,"yn!2")]=l.id)}return this[e(1467,"4b1b")]}async[Te(832,"eKKZ")+"Id"](e=8,r=2268*3+2678+-8282){let n=Te,s={CUijw:function(i,a){return i<=a},WBDeG:function(i,a){return i<a}};for(let i=0;s[n(1729,"o]EO")](i,e);i++){let a=await this[n(1846,"#Hok")]()[n(1425,"mH&s")](o=>"");if(a)return a;s[n(318,"SxCa")](i,e)&&await this[n(616,"kM4s")](r)}return""}async[Te(1894,"K!]D")](){let e=Te,r={ZPhdc:function(n,s){return n!==s},WwjQX:e(1397,"#CM4")+e(1414,"a&Z$"),VXhVa:e(864,"a&Z$"),PXEdY:e(1314,"KC!H"),CLJTr:e(965,"FO4*")+e(1562,"yn!2")+e(1152,"#Hok")+e(1448,"cf3y")+e(1004,"a&Z$")+e(1118,"lbro")+e(1550,"HZbC")+e(1585,"jrYj")+e(1836,"w8pn")+e(1697,"mPFZ")+e(1244,"c0A9")+"6",XVUHQ:e(1531,"lsgr")+e(2094,"!DZ@"),KFlkw:e(1408,"KdbQ")+e(892,"mH&s")+e(1746,"IXUY")+e(1293,"kM4s")+e(1186,"%SDn"),HiATS:function(n,s){return n===s},Dvxkm:e(1788,"UUoF"),eYADq:function(n,s){return n===s},saLnh:e(527,"IXUY")};if(await this[e(908,"]tXZ")](),r[e(758,"WFzA")](this[e(1122,"ky6h")],"")&&r[e(1717,"o]EO")](this[e(934,"2k6H")],void 0)){let n=r[e(1379,"WLav")],s=r[e(2068,"X7W[")],i=await this[e(441,"SxCa")+e(531,"K!]D")](n,s),a=JSON[e(2024,"HZbC")]({ids:[this[e(485,"o]EO")]],space:""}),o={method:r[e(1463,"W7VB")],url:this[e(575,"fbFQ")]+(e(1833,"fbFQ")+e(871,"#Hok")+e(1590,"Ab)Y")),headers:{"User-Agent":r[e(1852,"DiMt")],"Content-Type":r[e(1089,"#CM4")],"accept-language":r[e(1509,"HZbC")],authorization:this[e(399,"@pEn")],"x-captcha-token":i,"x-client-id":this[e(1471,"KC!H")+"d"],"x-device-id":this[e(1385,"mPFZ")]},data:a},c=await Ae[e(1631,"DiMt")](o)[e(1596,"!DZ@")](u=>u[e(1974,"K&$@")]);r[e(1497,"p1lY")](c[e(762,"UUoF")],200)?console[e(1224,"!DZ@")](r[e(1973,"lsgr")]):r[e(299,"!DZ@")](c[e(2033,"6cH]")],404)&&console[e(800,"%SDn")](r[e(1058,"lrSf")])}}async[Te(804,"DiMt")+Te(1605,"o]EO")+Te(580,"Ab)Y")](){let e=Te,r={jfUjY:e(572,"4b1b")+e(711,"eKKZ"),yyBcO:e(1382,"SxCa")+e(1031,"X7W[")+e(656,"KC!H"),znnhb:e(1649,"6cH]")+"7",asaHp:e(1098,"c0A9")+e(1304,"mH&s"),WKcof:e(1427,"P6I4"),YKxAQ:e(1271,"5y@]")+e(1426,"cf3y")+e(538,"j(Pm")+e(1001,"GXhD")+e(911,"kM4s")+e(933,"]tXZ")+e(1373,"X7W[")+e(792,"ky6h")+e(503,"#Hok")+e(727,"6cH]")+e(1372,"!DZ@")+e(1088,"lsgr")+e(1514,"lrSf")+e(618,"SxCa")+e(1432,"KC!H")+e(723,"#Hok")+e(454,"yn!2")+e(1679,"]tXZ")+e(1928,"lsgr")+e(551,"cf3y")+e(806,"#Hok")+e(1796,"X7W[")+e(858,"#CM4"),tcYxQ:e(1441,"c0A9")+e(1766,"lsgr"),qTsZZ:e(985,"a&Z$")+e(829,"Ab)Y"),jRZCo:function(o,c){return o===c}},n=this[e(2075,"cf3y")+e(1901,"kM4s")](this[e(617,"ky6h")]),s={client_id:this[e(787,"K&$@")+"d"],action:r[e(938,"fbFQ")],device_id:this[e(281,"#Hok")],captcha_token:"",meta:{package_name:r[e(1735,"P6I4")],client_version:r[e(1870,"FO4*")],captcha_sign:"1."+n,timestamp:r[e(1410,"]tXZ")],user_id:this[e(654,"lsgr")]}},i={method:r[e(404,"#CM4")],url:this[e(1048,"Tl!3")]+(e(2054,"mPFZ")+e(260,"eKKZ")+"it"),headers:{"User-Agent":r[e(840,"HZbC")],"Accept-Encoding":r[e(1262,"lrSf")],"Content-Type":r[e(815,"lsgr")]},data:s},a=await Ae[e(1125,"KC!H")](i);if(r[e(1949,"eKKZ")](a[e(315,"eKKZ")],18*-318+349+5575))return a[e(741,"]tXZ")][e(697,"mPFZ")+e(1369,"!DZ@")]}async[Te(1065,"K!]D")+Te(714,"lbro")](){let e=Te,r={IfBiz:e(896,"KdbQ")+e(1690,"!DZ@"),PEzRj:e(1625,"eKKZ")+e(291,"4b1b"),mdRzn:e(734,"Ab)Y"),cJXTP:e(1459,"RAI2")+e(694,"Tl!3")+e(1996,"SxCa")+e(1431,"!DZ@")+e(360,"SxCa")+e(624,"kM4s")+e(1663,"p1lY")+e(1458,"#CM4")+e(977,"mPFZ")+e(1660,"SxCa")+e(282,"2k6H")+"6",Eltoc:e(633,"fbFQ")+e(1792,"Tl!3"),tYcPB:function(a,o){return a===o}},n=JSON[e(799,"WLav")]({client_id:r[e(1913,"ky6h")],action:r[e(486,"SxCa")],device_id:this[e(1450,"mH&s")],captcha_token:"",meta:{phone_number:e(1381,"5y@]")+this[e(1661,"@pEn")]}}),s={method:r[e(1662,"eKKZ")],url:this[e(693,"mH&s")]+(e(1218,"5y@]")+e(932,"!DZ@")+"it"),headers:{"User-Agent":r[e(2059,"KdbQ")],"Content-Type":r[e(581,"6!X(")]},data:n},i=await Ae[e(1141,"IXUY")](s);if(r[e(910,"MTVZ")](i[e(1389,"a&Z$")],5653+2777*-1+-2676))return i[e(2049,"#CM4")][e(1938,"K&$@")+e(465,"p1lY")]}async[Te(1055,"eKKZ")](){let e=Te,r={LmyWD:e(623,"!DZ@"),XsKiv:e(837,"RAI2")+e(1109,"Tl!3")+e(622,"!DZ@")+e(1767,"WLav")+e(398,"p1lY")+e(1824,"IXUY")+e(1678,"SxCa")+e(1554,"a&Z$")+e(982,"RAI2")+e(1321,"4b1b")+e(413,"cf3y")+e(1290,"WLav")+e(948,"RAI2")+e(1880,"IXUY")+e(599,"5y@]"),vyqDi:e(1696,"MTVZ")+e(1256,"j(Pm"),vXrwc:function(o,c){return o===c},UbWeH:e(1515,"6!X(")+e(894,"#CM4"),rfUZR:e(1688,"eKKZ"),eVGsW:function(o,c){return o+c},moKPi:function(o,c){return o+c},VIOgu:e(869,"GXhD")+"d"},n=await this[e(716,"U(wg")+e(510,"mH&s")](),s=JSON[e(1318,"MTVZ")]({username:e(1381,"5y@]")+this[e(1632,"2k6H")],password:this[e(587,"mPFZ")],client_id:this[e(472,"%SDn")+"d"]}),i={method:r[e(1812,"UUoF")],url:this[e(420,"K&$@")]+(e(1667,"fbFQ")+e(1239,"yn!2")),headers:{"User-Agent":r[e(1481,"UUoF")],"Content-Type":r[e(2078,"@pEn")],"x-captcha-token":n,"x-client-id":this[e(1598,"#CM4")+"d"],"x-device-id":this[e(925,"K&$@")]},data:s},a=await Ae[e(712,"w8pn")](i);r[e(664,"KdbQ")](a[e(1884,"FO4*")],-1849+-3*-117+1698)&&(es[e(464,"mPFZ")](r[e(682,"SxCa")],a[e(501,"mPFZ")][e(974,"4b1b")+e(2051,"lrSf")]),es[e(1595,"UUoF")](r[e(1313,"MTVZ")],r[e(562,"4b1b")](r[e(823,"6cH]")](a[e(2009,"yn!2")][e(1179,"ky6h")]," "),a[e(863,"@pEn")][e(1512,"X7W[")+"en"])),es[e(1046,"W7VB")](r[e(556,"c0A9")],a[e(1265,"o]EO")][e(1669,"RAI2")]))}async[Te(1749,"kM4s")+Te(1261,"@pEn")](){let e=Te,r={ycril:function(n,s){return n===s},DGrCX:function(n,s){return n===s},MYWjj:e(1793,"WLav")+e(1292,"GXhD")+e(1489,"lbro")+e(1301,"4b1b")+e(1574,"lsgr"),TJdyU:e(850,"X7W[")+e(1369,"!DZ@"),rByPD:e(1675,"fbFQ"),rRXkv:e(1359,"W7VB")+e(1526,"2k6H")+e(614,"6cH]")+e(1299,"Ab)Y")+e(1713,"lbro")+e(961,"o]EO")+e(831,"o]EO")+e(862,"HZbC")+e(1624,"jrYj")+e(1803,"j(Pm")+e(1740,"p1lY")+e(1546,"j(Pm")+e(545,"lbro")+e(1958,"c0A9")+e(953,"P6I4"),XVkcH:e(860,"RAI2")+e(1622,"W7VB"),pJMzg:function(n,s){return n(s)},WfgHD:e(269,"lsgr"),kNYRt:e(1153,"mPFZ")+e(1011,"KdbQ"),oFEVz:e(1524,"jrYj"),zOrbF:function(n,s){return n+s},EYhfy:e(341,"kM4s")+e(1387,"lbro"),kJwGy:function(n,s){return n>s},shRXK:function(n,s){return n/s},iXkwA:e(1881,"WFzA")+e(1909,"j(Pm"),QvWKo:e(1848,"Tl!3")+"\u767B\u5F55"};if(r[e(1185,"!DZ@")](this[e(1282,"K!]D")],void 0)||r[e(1683,"p1lY")](this[e(986,"K&$@")],"")){if(this[e(286,"jrYj")+e(1610,"KdbQ")]){let n=JSON[e(2089,"p1lY")]({client_id:this[e(1677,"lbro")+"d"],client_secret:r[e(971,"FO4*")],grant_type:r[e(640,"]tXZ")],refresh_token:this[e(1326,"RAI2")+e(1915,"6cH]")]}),s={method:r[e(760,"yn!2")],url:this[e(1048,"Tl!3")]+(e(1445,"X7W[")+e(265,"5y@]")),headers:{"User-Agent":r[e(1246,"!DZ@")],"Content-Type":r[e(353,"jrYj")],"x-client-id":this[e(1392,"eKKZ")+"d"],"x-device-id":this[e(1412,"6!X(")]},data:n},i=await r[e(1651,"FO4*")](Ae,s)[e(793,"MTVZ")](a=>a[e(685,"fbFQ")]);if(r[e(632,"K&$@")](i?.[e(798,"Ab)Y")],1*5262+2*-1081+-290*10)){console[e(800,"%SDn")](r[e(539,"KC!H")]),es[e(304,"lsgr")](r[e(1898,"a&Z$")],i[e(1790,"cf3y")][e(850,"X7W[")+e(1989,"6!X(")]),es[e(2095,"w8pn")](r[e(744,"P6I4")],r[e(1291,"5y@]")](r[e(476,"6cH]")](i[e(838,"Ab)Y")][e(1493,"cf3y")]," "),i[e(1250,"Tl!3")][e(1542,"2k6H")+"en"]));return}}if(await this[e(1685,"K!]D")](),!this[e(1699,"j(Pm")])throw new Error(r[e(899,"P6I4")])}else try{let n=JSON[e(1759,"fbFQ")](Cl.default[e(573,"%SDn")][e(1576,"UUoF")][e(277,"P6I4")](this[e(1805,"mPFZ")][e(1634,"DiMt")](".")[1])[e(387,"@pEn")](Cl.default[e(1845,"#CM4")][e(607,"p1lY")]));r[e(976,"!DZ@")](n[e(1030,"KdbQ")],Math[e(604,"%SDn")](r[e(1954,"KdbQ")](Date[e(602,"U(wg")](),-4765+11*547+9*-28)))?console[e(1943,"HZbC")](r[e(1315,"lbro")]):(console[e(1180,"jrYj")](r[e(2076,"WLav")]),es[e(1692,"cf3y")](r[e(1933,"Tl!3")],""),await this[e(1955,"WLav")+e(1196,"lsgr")]())}catch{es[e(998,"KdbQ")](r[e(1407,"WFzA")],""),await this[e(1484,"fbFQ")+e(1496,"P6I4")]()}}async[Te(411,"5y@]")+Te(410,"K&$@")](e,r,n){let s=Te,i={GGQpV:s(579,"GXhD")+s(1637,"KdbQ"),ydelK:s(1241,"6cH]"),koIny:s(1700,"6!X(")+s(2038,"DiMt")+s(2034,"#CM4")+s(1117,"lsgr")+s(301,"#CM4")+s(916,"W7VB")+s(1602,"a&Z$")+s(1091,"W7VB")+s(989,"Ab)Y")+s(1255,"!DZ@")+s(1205,"c0A9")+s(1994,"#Hok")+s(1795,"K&$@")+s(1834,"mH&s")+s(1704,"SxCa")+s(309,"GXhD")+s(1919,"W7VB")+s(1859,"eKKZ")+s(686,"KdbQ")+s(680,"MTVZ")+s(1967,"lrSf")+s(667,"#CM4")+s(1998,"fbFQ"),thMbx:s(1904,"w8pn"),IsjIQ:s(431,"mPFZ"),VujEJ:s(813,"@pEn")+s(1197,"ky6h"),mzROv:s(1529,"4b1b")+s(1569,"lbro"),utbtm:function(a,o){return a===o},hXIQl:s(1060,"SxCa")+"4",GdGNR:s(818,"WLav")+s(601,"Tl!3"),Zkiue:function(a,o){return a===o},qwZRs:s(1138,"Tl!3")+s(1171,"4b1b"),HaNGV:s(1529,"4b1b")+s(1858,"W7VB")+s(1702,"!DZ@"),RWemc:function(a,o){return a!==o}};try{await this[s(314,"p1lY")](),await this[s(695,"P6I4")+s(1709,"WFzA")](),await this[s(261,"%SDn")](),await this[s(1999,"!DZ@")](e,r,n);let a=await this[s(1754,"lbro")+"Id"]();if(!a)throw new Error(i[s(958,"Tl!3")]);let o=await this[s(1078,"RAI2")+s(2103,"GXhD")+s(650,"Tl!3")](),c={method:i[s(1214,"o]EO")],url:this[s(1177,"ky6h")]+(s(1844,"WFzA")+s(1421,"c0A9"))+a+(s(1083,"lbro")+s(1461,"lrSf")+s(1127,"WLav")+s(1742,"j(Pm")+s(747,"w8pn")),headers:{"User-Agent":i[s(1586,"lbro")],Connection:i[s(1712,"2k6H")],Accept:i[s(1916,"#CM4")],"Accept-Encoding":i[s(509,"SxCa")],"x-captcha-token":o,authorization:this[s(1282,"K!]D")],"content-type":i[s(1538,"5y@]")],"x-device-id":this[s(1802,"#CM4")]}},u;try{u=await Ae[s(379,"K&$@")](c)}catch(l){if(i[s(648,"lsgr")](l?.[s(1500,"jrYj")]?.[s(1366,"!DZ@")],7165*1+-3*1045+-3626)){let d=i[s(1367,"j(Pm")][s(489,"GXhD")]("|"),f=0;for(;;){switch(d[f++]){case"0":c[s(657,"UUoF")]=this[s(1861,"a&Z$")]+(s(875,"#Hok")+s(2018,"P6I4"))+a+(s(1921,"K!]D")+s(1374,"GXhD")+s(502,"j(Pm")+s(583,"X7W[")+s(1165,"j(Pm"));continue;case"1":await this[s(923,"ky6h")](-124*-61+-7566+2*601);continue;case"2":console[s(1230,"yn!2")](i[s(1684,"mPFZ")]);continue;case"3":if(!a)throw l;continue;case"4":u=await Ae[s(546,"lbro")](c);continue;case"5":a=await this[s(1100,"]tXZ")+"Id"](3,2909*-2+-5674+2*6346);continue}break}}else throw l}if(i[s(1270,"a&Z$")](u[s(276,"%SDn")],-6007*1+-685*9+12372)){let l=u[s(1311,"ky6h")][i[s(1914,"jrYj")]]||u[s(1187,"6!X(")][s(1720,"o]EO")][i[s(959,"eKKZ")]][s(888,"K!]D")],d=new URL(l)[s(354,"Ab)Y")];return i[s(1847,"U(wg")](this[s(1775,"X7W[")],"")&&(l=l[s(1433,"a&Z$")](d,this[s(1771,"%SDn")])),l}}catch(a){return console[s(768,"mPFZ")](a),""}}},Vh=new oV;async function X6e(t,e){let r=Te,n={LFAAQ:function(c,u){return c(u)},MwZUU:function(c,u){return c===u},TjYHA:r(717,"X7W["),uxbsp:function(c,u,l){return c(u,l)},KrcKy:function(c,u){return c(u)},SQqRS:function(c,u){return c(u)},ijYiL:r(826,"FO4*"),SzAZz:r(658,"jrYj")};await n[r(402,"c0A9")](ib,e);let s=await Vh[r(417,"DiMt")+"ta"](t);if(!s)return null;let i=await n[r(873,"j(Pm")](msr,n[r(914,"kM4s")]),a=[],o=[];return Object[r(1703,"p1lY")](s)[r(1248,"WLav")](c=>{let u=r,l=Array[u(1204,"KC!H")](s[c])?s[c]:[],d=l[u(1593,"X7W[")](p=>{let m=u;return{vod_id:[p[m(638,"fbFQ")],p[m(1876,"WFzA")],p[m(1365,"KdbQ")],p[m(1475,"IXUY")+m(1572,"]tXZ")],p[m(1137,"jrYj")]||""][m(437,"K&$@")]("*"),vod_name:p[m(844,"lbro")],vod_size:n[m(1925,"P6I4")](Number,p[m(1962,"Ab)Y")])||0,vod_group:n[m(1334,"UUoF")](c,n[m(1875,"IXUY")])?"":c}}),f=n[u(2099,"5y@]")](Ps,i,d);f&&f[u(851,"HZbC")]&&f[u(1168,"U(wg")]&&(a[u(443,"6cH]")](f[u(1841,"2k6H")]),o[u(861,"!DZ@")](f[u(1402,"eKKZ")]))}),a[r(1522,"@pEn")]?{from:a[r(1297,"]tXZ")](n[r(1114,"mH&s")]),url:o[r(905,"KdbQ")](n[r(1918,"WLav")])}:null}var J6e=t=>{let e=Te,r={DhqqU:function(i,a){return i(a)},RdJaH:function(i,a){return i||a}},n=r[e(1982,"#Hok")](String,r[e(374,"jrYj")](t,""))[e(1728,"!DZ@")+"e"]();if(!n)return-1*-5029+-8*62+-4533;if(n[e(1672,"#CM4")]("\u539F\u753B"))return-41*-2994+-16*-6368+-124642;if(n[e(344,"mPFZ")]("4k"))return-5406+4703*2;if(n[e(344,"mPFZ")]("2k"))return-1*9660+9*661+-1*-5711;let s=n[e(1934,"4b1b")](/(\d+)\s*p/);return s?r[e(1670,"FO4*")](Number,s[-1*6805+1857*3+-13*-95])||-17*453+-9786+17487:n[e(412,"6cH]")]("\u84DD\u5149")?11750+-10*1055:n[e(1354,"X7W[")]("\u8D85\u6E05")?-8*-752+-24*171+-416*2:n[e(1525,"kM4s")]("\u9AD8\u6E05")?-3847+-894*11+14401:n[e(412,"6cH]")]("\u6D41\u7545")?9628+-1*6706+37*-66:n[e(2097,"W7VB")]("\u6807\u6E05")?3734*-2+-5430+13438:n[e(1182,"Ab)Y")]("\u666E\u753B")?1090+1*-2639+-23*-83:n[e(1330,"lbro")]("\u6781\u901F")?1945*3+-1257*-3+-1561*6:0},hsr=t=>{let e=Te,r={FcujK:function(s,i){return s<i},FFqkH:function(s,i){return s(i)},KBpco:function(s,i){return s(i)},oQnve:function(s,i){return s+i},NhiqP:function(s,i){return s||i}},n=[];for(let s=-3512+-21*181+7313*1;r[e(336,"FO4*")](s,t[e(1485,"kM4s")]);s+=13*692+2*573+-338*30){let i=r[e(1623,"mH&s")](String,t[s]||"")[e(1025,"kM4s")](),a=r[e(1068,"lbro")](String,t[r[e(984,"GXhD")](s,-8657+3*1178+5124)]||"")[e(1476,"DiMt")]();r[e(2081,"K&$@")](!i,!a)||n[e(1183,"5y@]")]([i,a])}return n};function fB(){let t=["WRaHW5j8WRG3ztW","W77cINtdLgK","DSkrt8kGWRxdLmkCpb7cPa","zmoNzbC","W67cUH4knSoQm1KwsHtcRa","xW4iWPGsW5lcMfGpW7O","rSk2W4dcGColnKVcKGxdHW","W4lcUhZdQ27dP8oRoSovAa","z8orx2StuwJdO3RcTq","W5FcRMhdHxxcVmk2","W5/cPuRdRwq","W6BdVwbAwa","f0ddTMXz","FWPmytCita","WOFcIca8m1qwC8osyq","WOddQZ3dK2NcPSk6zmkrkW","dtPbrmkGW4m0yW","W4TWW4D3","b8oOd8kFcmkq","WQ/dUvvs","WQlcQ8kn","f23dJ11mWR/cRwlcSCkb","o8oGl8oaF8kviCoXW71+","WQldKc5AWPxdLW7dRru7","yCoqW6bwW4/dHgakW4y3","yaRcGqW7W7z7wdFdJW","W40oW5WOuSoT","ab4zW40","EmoHW5tcJsOMjSoYFZm","WRRcNNm","aSoSoSkc","W4NdN2TQ","rmo8WQtdLmkyxvlcIKVcHG","fhHgWOqr","xYLFWOWdW4/cJ1qOW6S","WPG8zNC","B8ooW49oW4NdJgqq","WQVdK8khjmo2fG","ahjRW5f+g8oFox0O","WQ9CW5NcTNldGd3dOX0","j0rQWO4c","bX8/W5rkWOFdMbXRWRm","W6NcLCofW640W6FcLaFcKmkP","cComeSkBhsqJd8o1W5O","DCorcCoeW7xcLCk0F1a","x1ldUc3cPW","ECkQWOKHW6q","AHaNWRHDW5VcN0e5W6C","AwVdVIlcTW","tHTpuX0FsWBdP04","e8oOk8kBkCooD8kaWRON","sSoVW4PxeW","WRxcP8kpo0pdMmoyku3dQW","aN/dJxFcJwLWW7/cM8kw","ndddTN/cP8kVbwbDwG","WP0oW6jBWQGHBIRdTey","bmoMf8kapCodzmkCWQ87","rLFdUspcSW","cbCa","W5JcVCo0sLi","vSopW5P5ea","WQRdOSo/idZdNSkXWRi","txVcJSkfbGi","WPnCohFdQq","crSyW5DXWQJdVf/cSa","rG0AFW","tSoyW5T4gditW5ddHa","DwemW416dCk3WQtdQsC","W4/dNZ0Omc0DDmk+Cq","WQrAW4BcVNVdKtBdObec","aaXlW5ddJCorhCoLWRuJ","amketmoQx3S8fCkhW7a","CSkeWQyvW4e","WQVcGSk4WO8IW6dcLbhcKmkI","BKD+WQPIaCkYW6hdHMW","o8kupmoIW6dcI8k4tKZcHa","WR5VDXldOW","AcnUDGWbp8k0WRPe","rdhcKmkMcalcHmkfWRFdNW","FbTprxri","W7a2W4WxxW","hmkaWPKUlmkW","udacWOa9W5JcHhO/W7C","W5/dVSoSAfBdSJ/dHIy/","n17dMfiNW7GVhqldGG","vKRdKq","kM7dVY7cRCkN","rmojrtddTG","W6hdVvP+yG","W5ddM3X9B3G","W6RcHwHsWONdIG/dSd0H","W6hcKxbOWRRdKaBdPW","WR3dQCkxjmoNdCon","WPT0W6SPlLa9sSkoWPe","WQnbW5hdVW3dLJy","WPGBWRJcTHNcImkqFSkLaW","W43dNffjDG","WPldO1XtBCkYmqDUeq","cCkygxRcV8k+yCoSW77cGq","bX0hW4y","uCogva","WOnjh2C","oIOuW6KF","xSkxWPa4","WR7cMNpcMu0","l25rEJC7hCo0W7vj","rCkmWOi4A8oO","pMVdQ3i8WPi","tCoaW4pcQXCgdmk4","WQZdUfrtB8k5ou4I","e15DW4BdHmkBs8ojWRWc","ewxdH1XHWPNcHLZcI8k7","W5u3W4HogfaJ","cuLzx8oDW49FnSo7","ESoPW41rndavW4/dSSkd","W4rvW5RcIYe","5yUP6zQF5PE35lI+5OQK5yMl","W7hcU8kH","WRxcR8knAW","WQWAW57cOeldMG","fSoEsmogrwy","W7LzW7hcHXxcLmkdi8k5hG","W53cVvzbWRNdRs/cP1b6","v8owW4CYt2y8W4VdJ8kC","ACojW5D6n8k7WRVdNCoPW6K","WQNdPCkknmolgG","WOxcVthcR8o5","wSkYW6tcL8o2hK3cGK8","W44BW44VEmo9tsVcNZ0","utNcHsJdLtiLW4tcKmkUd8kIsW","WR0QW4D5WQ42ssS","baGgW4RcL8kqoCoOW7Ok","FsnRrWyfjq","mvhdHuO","CXVcT8kI","r1xdVGVcPG","WP/cGCk3tW","W5yEy2bSWQBdJMztkW","WQldTSoIdd7dGSkMWQtcU8kG","u8kJWR4h","WOxcLGNcN8oW","frWtW607","mmozFM0m","uHHQqqG","BSoztZBdTG","r8onqW","f8omW7/cSG","k3neWOatx8otWR1wba","yWWpWRStvmozWQz+hG","Fdz2wXC","fCkrWP8OA8k3fXZdOSoH","ngBdKY3dKdeXW7pdHmon","aNKuWQX4emk+W4xdMcC","W780W6q","WRuGW5y","W6BcTmkudwa","DLtdKff4WOCOfWddIW","dHWEamoCWP4WzSkNWR8","W5BcPgFdGwhcQ8k2","vCoXkq","tMVdPgBdSCo6bcPycq","umoAxJxdTSo0ECoWWOtcTa","W73cK2LHWQRdNbJdSqSN","u8kwWOa","aXFcJmkebGhcR8olW6VcJG","WQvqW4dcKeZdHdddSbam","W4VdHmorW5X7","lMddH3lcIgzWWQtdH8ox","WRNdVSkib8o2","nv5iWOe","cWaDW4rlW67dPaJdSci","wH9kssezBqy","WQVdVSkpj8oNuCopWP7dKCo2","WRWHW5i","WPe4F0rSWQ/dOI0","WOrrsXxdJa","dmkEsCoqroI/J+ADHU+9Q+MeLEAuQq","iMddMbvR","WQjzW5OQpa","WRNcVCojmmo3cSorWOdcJCo5","iepdT0/cLG","BHKx","W6NcUSk0z3NcHmo6W6/cHCo6","WRVdO8knnmoSiConW5BcJSo1","WPi8F3m","qJpcMueOW5tcJqJdNSoM","W47dGCoVue/dGJCgW7NcPG","bZXgDmkVWPL1oSoJAG","WQBcMb/cPmoIWRhcSCkUW6RdUG","p10XW6DDw8ox","W4zZoZWZW6xcM2KXFG","eWmiW5ddMG","nhhdG04","W4JdIvX7Da","pf0MWROlxmo9W6/dH34","WPauWQaSAmo3WR/cIMJcTW","WR7dVe8","W5dcJ8oZqgtdHcXpW68","cdavW5yv","x8kuWOy/iCoRW7ldPConW5e","nem3W7i","ieuMW6Gfxq","o33dH05B","avWAW5in","WRZdPmkhi8oNiCoqW4S","WO4MW58MW7LOidFcRL0","W7xcUutdRNe","WQxcP8knzHy","zXHWWRr+dSk+W5FdIte","WRVdO8knnmoS5P2u6l2+5P6W77+Y57M3","WOmHW4L8","W6hcNSk5s1JdKGT8W7dcOa","asOAW4OcWPC","esPzCSkIW5mjBW","umkNWR4","ESkgW78","W4WRW4PocKKWgCoDWQK","WOvNEdpdTW","xSokW6tcJa0oemk6ss4","uCouW4WYr3z0WPFcKmog","vZayWOCKW5tcMuG1","wCkPgSkFoSokC8kiWQSQ","wH9qrtyzyGVdRNq","WQxcN8kTqXO","WQVdHgfjWPldTZZdPWC4","umkcW6dcVGTbgSkQCJa","lgygW6Pi","W4BcV8k2i3JdHGZdRtuH","W4VdL1f4qG","BHLjwWqy","cejm","DLFdGunOWR12xGldHW","sdhcGCkgra3cPSknWQZdNW","WQv2qHhdMW","W49iW5Gix8omvc7dGGa","WPjLW6dcH2G","WRD2wHVdH34","57Qm5lYu55wf","E8oLrJxdT8kYpCkMW6NdQG","WOzyW7/cJa","W7BcKxjS","WPBdQMrtEW","W5W1W7XdcG","W73cU8k7","WPa8W5TzWPW","e27dJ2JcGq","W7TbW5hcUWO","W47dGCkXaXVdLcDaW5ZcTW","yCk2W53cJ8oM","aqLmqsezgutdTxG","BSoqW7Pmda","n15oWPOFfColW7GMcW","WQJdQCksb8oNdmoqW4NcH8ot","WQzJo1xdTW","xg9UA8kXW5OLxmk1oa","W6/cTrCmzmk8z0K/dG","W7idWPtcNeZdGtddU0OU","aLWSW5L4","bgquW7uP","bhZdL1jL","WQO7W5bKWRGG","f8k3z8oJua","W7FdLmo/W5L8","W6X8WOy+W75LigFdKYe","lWPWsmkmW7CmrW","BbbPWPG","xCoyW5LPfs4TW6BdLmkh","i8oNc8kRWQtdJmkCv2FcOG","CgX5W49vx8owvsWj","W6j7W6ddSXZcHgRcO0nn","k8k5WO54b8klldldISoR","C8ostq","uSklWQicFW","WOldUxPRB3HwA8kHCa","eGmmW5FdMW","u8onqXddU8k6FCkKW6/cTW","W4tcJmoQwf8","hX11wmkU","sSoyW5fBW68","z8knWPKY","fJ8pW58","6l+s5AYI5Ps65lQQ5OI35yIb","WQNdQ8oEcWa","W49EW6tcPr/cKCkAFCk9eq","ah/dUcnG","qmkxWOCfwG","imkAtSk8WQldKmo9sKJcGa","nea+W4PzDmoxBG","W5HoW6pcIq","W5WrW5yypCkSWP7dU3RcVa","awpdKbC","W5ddN2nSzwzh","mSkbzSoHrW","WQrJxqJdGhhcVmos","aCkBaNRcVCoPpSo0WOVcIG","iNldVZldRmo8tConu8k7","aSoXW71iWQCcW6CIfWO","W5tcMvVdP0y","dCkfWP4L","WQdcLb7dP8knW7tcS8kVW6ZdOq","WP/cR8kuB1ZcSCkFkHxcTW","WOzdW4ZcUea","tmoCW5PTgsG/W5W","WR/dPmkhiSoNw8klWP3dM8kJ","wCoCW51CbJypW5JdKmkC","tCoyW494fsC8W43dG8ka","WQzNxaVdIG","W4/cGmoFwL8","WPj6gxJdJYeXW70Bhq","WRtcRmoMictdNW","WRi1EMnw","W7VcPfnvWRu","W7nxW5ldQHZdLYxdTuXD","wSkYW6xcL8om","tSk2W6hcJCokggVcGG","atSp","eMjJWR41C8o5W6rQaG","uSokW74","eLVdRxtcOa","qvVdKbtdMa","WRRcKXhcUSorWOVcSmkPW6ldOq","vCoTW7fibq","WR99mJjmWPJdVsWqBa","pxzwWPGkqSoiWOHkhq","cSkDW4pdHmkytqZdLHhdKG","D8knbxhdP8kPBSkYW4pcTW","DCkib2O","a8oOlCkkdmopESk6","WO0mW7iXsbbKtmoBW5O","uZ9oACkKW5G0vmk5pG","lCk/WR4zFSo+cehcQmoF","ouJdLfe","uCkRWQydW51q","rmoDrcS","q8kmW5RcJCkjralcGK/cHa","W6agWPm","W4RdUSoyW64UW7NdKHJcJ8oZ","gCkrWPKS","W7tcS8kIyNRcGSo3W7BcISkS","mXa/W6W4WQ0pWPqIoW","nb1pW5mwWPyfW74vmW","xa5B","W5NcMxiIW4NcIL3cRff+","55Ij5BYl5OMR5yIH","r31kASoKWOrYlSoJgW","WPGkuuvU","WOnjh2FcIq","gCoLpSkC","WQ/cLX/cP8og","WQNcGtS9W5lcGuBdPWXZ","dNeQWOqlW5VcK3S1W7e","W6WsW4DlmG","Bmojwheyrc/dPMW","z8oireCxvJldQa","kmoaW5H6jCkefHtdHmo0","WPlcMJPoAxTxk8oNnW","bSkAeNddKSo+pCoZW7VcMG","WQvJwG","rxKpvmkGW4m0y8oIgq","WOtdINn+zuPhk8o7iq","jSkbra","W6xcQSk0pgZdKG","WRy4W598WQiYzd/dQGy","W4JdGNTEzW","6AIA6kYF56ou5BA65y+i6ykG","d1BdK0/cLq","dIhdHw7cIMz0W6ldNmkD","z8ofW6r5W4FdL3uDW4C5","W4hdKNngDhPyiCo+","q2JdJeSOWO/cIvBdMSoI","z8ovgCoFW5q","dM7dJq","W6pcNCk0i2m","WOVdLSk2eW","xCoDW7NcQqbafmoUmY8","bmkrbNxdTSk5omkGW4/dOW","dSkuumoCthevcmk/W7a","WR0UW4vX","WODnW6lcSXVcGmkKzCk9rq","yvVdUa","WRJcKINcMuRdOSkL","k8kfgsPpeN/dRLhcPLLFW70","jHxcNLfJWReUfadcGq","qItcLmkAaa/cQ8kqWRpdLq","W4JcLhBdQgNcRCkWF8k5mq","C2jZW4XlcSktW7KYtq","hhfiWO5gW4q7W5uGia","WRNdICoubXS","W6xcQSkNixFdHGddHs0","e0JdMeDLWQWcpa","zmofW6ztW4xdGKGA","yY90wq","rLddHafPWQ3cMvhcHCkg","lSk6t8oYrW","WOuUtMHA","Av/dOJ/dSq","ymkGWOSAFW","WQzuW4dcSG","WQRcJmk4WOKLW67dGrhcKmkM","WPXAW7jicSkLWPJdH3ddTW","fd0VWPKwW4a","FCkyW7pcGSoJ","W4ddS0f6wq","WRBcQ8knvtdcImkgpXNcSG","W7LnW4FcQH8","D8obW4rkW6tcKq","W4GdW4WytG","i01uWP8LwCosWQ1S","WP/cOmkSEYC","CmorW4bSjG","f2BdP1hcHq","dwtdISohwf/dVSoeWRtdNW","WRldT8o4iZJcI8oSW7NcHCk5","DZ5IsHSokCkGWQ1D","DSort2TjuYFdSNdcQq","W4DZAhbGW7NcMY8gkq","rLi1W4jEWQ3dT27cUJm","W5hdJMbWBNjAiSoP","o8odW7HBW5tdLgqkWPin","fxnmwSoxW49Uk8oaW6a","fGO5W5xdVmkg","DSoreCoZW6K","hSkMmCkCjCoi","udhcKa","WRRcNNpcReddVCoJzSkpka","W4NcGmoJx07dGYzy","vZ3cIw3cRKnWW6RcVa","qSk6WQGvW6q","uJJcJI7dKJWHWRpdGSoj","W7yUztddU1lcG8kBeYy","hCksf8kmgdbSumoPWQ8","WRNcPetcU3xdM8ojsmk3na","xSoZBKO5AGlcRxBcQa","WQ5YaqJdG37cPSozh2O","lttdJcBdLcqN","fI5FB8kIW54Hjmk5na","cXCyW5DAWQtdLfdcSZq","WPvCW5RdPrNcJ2tdQ05z","WRFcP8kvBZRcJq","W6tdJujPDq","wmkPWQ8i","W50RW7rqaa","bHKrWPjPWQtdSvlcShG","W40SnIiTW7pcHYWmja","5PI25PAfW4dcVeBdKsRMIOpLI6C","WQbPvb7dQG","Fmo4tYW","wtZdImktb0hcJCkMW6hdIW","W6hcVxnmWRG","xNJcU2q","xb4FamklW4bmo8osW6Wo","hayvW4zBWRi","WPPecgFdGW","vSkYWROkW71xWQz+ns0","FYaBW4qqW73cThqhW7S","kCkJDCoAtW","WPi4FxTGWQ7dOI0","nu1vWOvvd8koW74NxG","rJnEWPzdWOBdGb5IWQS","amkUqCozq203e8khW7a","AcnU","W58NW4bJhfmIi8kuWPu","W6NdGCkVDgNcNG","wmkFWPyPta","tSonW6rPfa","BJvVDa","W6/dGCoJWPvNWR/dG0FdICo8","W5vIW7yolmkYWPlcGYRdRq","hLHormokW5LxnSoRW6e","dqiiW4VdISkFsSkUWRff","qNblWPbhW4P7WPKsnq","gX0arCowW4nLm8o7WQy","ouVdNW0YW7G7cGVdMG","W4FdGMi","fCoqgSkRoW","DmoDeCo3W5NcGW","W7D/WP8HW7XGng/dTGW","j8khsmkRWR7dLCoSlaNcVG","W4ZcLxHQB3S","WRfqW4a","AwFdVI7cSmkH","duLFfxzmfLhdOha","WQVcNNxcK0pdPSoPyCkcaG","aNRdIxm","WRVcLhxcL3pdQSo4C8kFba","bNSAW6DOCSoUtXi/","WRBcQ8knxbBcM8kFlqpcMq","WQ3dQvvkBSkWi00","W5pcNCkagLddTtddVaad","W4VdLhTT","bJToB8k0W4u","W4/cLgPSBNLwlCk+ia","q8oPxdpdVW","FCkrW5pcGCoU","muqQW6WPgSo4W6VdHdm","WO5dWOXQqSo8fs7cNLm","WRpdPunuDCoXyazIhW","nCkeWOiAla","jeKVW4XFq8oFvtKt","W7tdMSkMW5L1WRxdJeW","fWCAW61pWRtdPLe","W5KRoJ1ZWRNdGJ8lCW","W5ldJ2fX","WR/dOCktErZcH8oAAW7cVW","fCkeWPK9n8oRuv/dV8os","W4BcJ8oYwHtcKNaCWQtdOq","W6NcNSonDw4","jGeyW6FdTG","rmkDWPa8CCo1W6ddSG","gCoSW7JcRqOcb8oWlwG","W5NcPhS","nd0oW5q8","W7ddRSoGlNxdOLhcLHu","WQNcLgZcN0VdKmo+ECkgdG","e8o4oSkKgG","W5HAW6pcKGFcICkgDq","6l+k6zQX55MH5B2N5Aws6lwt772D5Ps45Rca6i6s","WRpdO0e","WPrUW4qbkSkU","ouRdKK5+WRWUcW","W49FW7BcHbe","W4xdN2zkAxjDb8oXna","W7NcUSkW","qNSxl8o1W7SuuSkgmWa","WPu8F3fR","cu1BvW","BLVdOdxdUSoHmSkqAa","vmkEW5P8","W7uuW41Ymq","gMxdMqy","ie0RW7Ljx8ow","WOJdPuGmnCoLCfbTcW","Bmojs2Wdua","DWH3W69vrCoAztOp","btmdW4RdLG","a8oZW5BcLmozeuFcSu/cKa","W6yOhLBcNZhdV8kxycS","WOXmfNhdUsC+W70HeW","WRRcKXhcUSorWOVcQSk5","WPdcSXFcM8o2","W6VcVvDiWOy","W5NcOhdcPeFcRCk9ymkjCq","WOH1W4tdGuhdLSoAiCoPua","ftSpW78hWPqiW5GXia","WOtcRxddIgFdJq","WPitELvX","W73cTmksj14","bYPFD8kGW5uL","WRRcNNpcJ1ddPSoU","W78MW6XWmq","asbeFSkV","ag7dJw/cH2jWWQtcM8kx","W6NdK2y2nsyeASkJCG","WQKUW4jJWPiWBYVdVty","tmoCW5HOeZu4","WOf7W4pcTMi","WOLCW43cMNu","WPxdVfhcOtlcI8o7oCoula","WRjbW7NcP08","CmoryaxdQq","WOnYWOGIsHL8uSozW4m","jKqZ","W4OvW64OvCo3tcG","WRRcNNpcReRdQ8odza","AsDOw0XdySoVW7Sw","WRZdPCkbpW","FaFcOCk1pd7cG8kWWOpdPq","z8ofW6rpW5pdJMu","gCoYW6PoW4nDWQLUmZu","WRJdQebFya","bu8uW693","ESktrN7cO8o1oq","qmojW4W/DSoYW7BdU8omWPa","WOldTey5msuDDmkRza","W58pW4K0","xejdWOmCW7FcON/cUdS4WR7dUW","ag7dJw/cH2jWW5tcHSkw","wCoghSozW6K","zXLUxqGtpW","WO4eW5j/WQS","WRrrW5JcIvW","laqxW4ZdKSoCg8kVWR1l","W4tdLN12CG","BJzQxGOvmmkSWRXk","WQjPrr3dGq","wSoSW5TX","umkNWR4IW7TdWQLMmYm","W7/cSmk2jgZdHqZdKa","WRZcQ8owo0pdKCoyE1tdRW","iueZW511tW","eY4s","uCoxW7z0eG","bgRdIuJcJgTJW67cTSky","qtGhWPei","t8kDWQKkW71rWQL+aYS","x8ojW4a","DmofW6HoWONdL20FW4y2","WQ/cLXhcVa","tdpcTmkWea","rmk8W6a","ySk1WQ9GpSo3W7RdVmonWP8","zxpdOdBdTW","CJCKWRid","tSoKW7pcKcq","v8ojrZFdSmkZBSoUW4lcVa","WQRcUatcGCoc","EGVcMW","sSokW6q","wmofmSkbp8oEnSoRWPf8","WQFdUmksiCoXrmkwWOa","dfHiWOCFva","qhWAiSoVWOrXpSoWaG","vmowW4bZ","vt4DWP0FW5lcHbHG","WQFdK0vwAmk7pLWevG","uSk+W5xcVmoV","tCk2W6pcPCozdwhcH1RcHG","nKujWO8vv8ksWQ17ba","W6BcQ8kMia","WPGpWQlcPYdcS8ocymk1fG","dM9lW4jdWPH6WOG9zq","ieZdTwDE","W5JcTmk2p1W","55Mm5B6x5OUA5yU5","at8DW5SuWOu7W40Ipa","p3CR","fd9FD8kOW5uHF8k5nq","W4/dGCoTWOi","CazSWO4","e8oFW5X9zmkIgHVdKCoB","DSovcCoZ","fmkCWOG+","WQ7cJ2BcJLddVa","WRRcNNpdGaRdQ8o4ACkadG","WO4Ozu1XWQ7dJtShBa","WQ90EdhdMW","aSoEWQ3dR0TxtSk6CMC","W4boW73cGX7cH8kDFCknaW","uSkzWPCT","i0hdHq","W4NdN3W","W7pcGhzHWPxdMGVdTGSN","WPGkW5W7qSobvIdcKqC","WR/cOCko","W5KTW410fW","FZr1raOsnmkQ","W7lcRmk8pNZcJH/cKNS/","fY0xW55hWQtdVe3cGdG","WR7cUCkxzHZcImksoWJcTq","xSkmW77cGmku","qZqDWP0yW5lcV0G","W6ZcKCkNkL8","c8kFWOKeaa","mdGuW7aL","adXkACkEW58K","WRBdTSkEae3dRcxcJ3qG","hYtdKGD3WOdcJvNdGmk2","WPZcJxlcTea","WO/dJCohhqtdPSkn","55QM5B6U5OIx5yML","y2VdVcZcJCkT","ESkwW63cTSod","cGOrW5f7WRpdVG","gwFcKx7cIIDwW4NdICki","WQ7cI2VcK1e","WOFdULddIMBcQSkry8owCW","wmoAW6tcTW","hrDwW5fkfmkl","k1XRy8oK","vCkuWOOPCmoVW4ZdVSom","WRpcOCkDCW","WPGlWQa","WRNcNNhcK0BdQSodza","pvKWW64","WOlcH8k+rcZcOmk4","iH0oW5TcWQ3dSXBdQN8","nexdHum","caGYW5BdLSorcmoLW5Cr","WRG8zNCSWPpdGIGnCG","bSobW5j6E8o5WQtdTSomWO4","W5PvW6ubo8kLW5tdMI7dSq","aCkBag3cOmoTl8oPW6dcMG","zKxdKG3cNq","W7RcN3v5","FmkMW73cOCoJ","W7hcMgC","W5tcRMpdRwpcRCkxBW","WRxcS0hcJx8","m8krWOaOA8kjfXhdQmot","qdWrWPSz","WRPaW5RcJeZdHc0","W49EW6tcVJpcH8kezCkXga","dSoadCogqMe8c8k8WRy","cfxdGrjGWPijidpdHG","wmo3WQvPW43dQgKYW6SY","BcDQrGaEmmo3WRXl","uSojrsRcVmoUpmo2WOxdOq","fW4FW5ddLa","peRdU0HA","DCorcCotW6xcK8k1","W7tdVCoByCkSrSkvW4RcKmkR","WPrNxr3cMsS","5PEs5lUa5P2P5OUK5yM877Y15yQ+6zUG5AAz6lwY","bKLb","a34aESk0W4iOjmkMpW","fNNdH3lcQa","xrjDFZyttWFdRa","WPPczHFdUW","nL3dRhhcHW","W5tdJxH0ra","fI5FB8kIW54HvmkKnq","hX4rW6vlWQpdMvdcQ34","WQC7hLBcMdpcTCoFhGK","dHWdW4NdKCorhSoWW7Ok","WQjxW7aGcq","rCkNWRStW7fhWRm","d2ddMG","f3ldJXe","ECoFyLm8CYpdTg0","ywKRaKmfnCkZWOna","zGiGWPejW5NcK0b/WQe","vtqAWOeEW4tcGG","hZ8l","WPpdH0v2ua","W77cMwHM","W503W5v5","WR3cP8kCzaFdHSogzupdUG","taLvtYXtevpcSse","W4zAW73cHa","WO7cVIq","mgiiW4Xg","rmo9mSo1W6u","WRlcPSkyvqFcHSkDlHq","W53cT8kHzYZcKL7cJwD6","sbnyrtbtheZcTYC","vSoyW5T4stuKW5JdKSkn","t0CmdNvqxGRcR1i","W7/dO8omW4Ld","WRvNxGZdJhFcRSkywIq","WRVdO8knnmoS","W4VcRmo2CNa","W5VcLCk7WPm","WQBcPmkiFdS","yuBdLXS6WRSQhLdcNG","dWOaW4a","WQ5Vn1RdVG","W4pcOmkZCe3dRrz6WR7dOG","W53dSmoFWObxWPFdTh3dO8oA","cHWx","W4BcH8oSvKG","tmoDwrZdSSkRzG","gfXmqtepEWhdRxu","vCoCW4C","yCoad8o7W77cGmk0F1a","6lYy6zIm6l2R5A6I5PYp5AYd5OQA77Ym5P+C6i+C","jKxdOtDx","FmodW6tcSay","bWibW4ddJq","v8kFW4u5BCo6W7tdSSkvW7K","E8oyxhevrG/dPa","h1HPW45pu8oevxO1","WQhdHmk2WOO6W67cIeZdJSkP","iexdGLf8WRC5ha","W6pdUSkRwthcVSkFeG","CmoqtZDhe37cRIxdQq","WOlcHSk4oW","cKLBACo9W4TWk8o8W6e","ASoRhSo+W7NcGSkZBxBcJW","WQWHW511WQr9yYddTuy","W4RcOZNdOw7dPCkzsCoDkq","hmkaWOq","fwBdMx7cLIuPWQxdH8op","ntVcO3RdTCoXvJXBcW","v8kXWPC/sa","vSkWWQnjWQehW7aKB3q","cWiHW5vx","tmobfU++UEETO+w+JEwrL+MgQUISJq","WRHPwq","u8kHWOeoW4y","cr4BW51C","cSoHD8kkjmkluCkDW7u5","WOpdS3BdOdpdV8k4ASoFpG","W7FdJNqH","beFdQXzG","BmoWx1KY","bxnBwCovW49U","WR7dPSo6oIJdLmkkWRi","W6dcLxD4WPNdIH4","EYxcLmogaIBcImk8WO3dKG","W5VcSCkVixxdJqJcJgfI","cCkyWPGJimk0df/cTSkm","AYn2uXO","WRVdQvbtySk7guW","rCkWW7JcImo/gfdcLupcNq","WQRdUe4vD8k7iKe9vG","WOSOW6zzWRGPtdy","i1tdNuT/","pCoMiCkgjSokD8oWW7TM","imogcmk7","rc9UhvzfzSo2W6yt","WPhcIHVcVCow","WPuYzJX7WR7dHsuhDG","WONdUSkrpSo4","WQldNJyJW4ZcL1RcOJeP","ifHvWOuuxCouWQ9W","WRhdL8oubJG","jJmYW4z9","ESo+W5TElG","vCoyrY/dUSk4BSk1W4lcVq","r8koWQ0As8oFW5xdVCooW4W","hsWc","cXCcW5TnWQtdM10","uZxcL8kfnG/cPCkaWR8","uSobwYBdMSk/","kuqWW5LytSomntGo","W6tcGxhdVvu","EYLXvW0","rCkmWPeLCmo8W7RdSCor","WPldNmkWaqRcLxiAW5JcKq","zMTQuW1ykCkTWRTj","WQRdVM9Ws8knAeWnzG","W7dcV8kNitBcLfRcLhP/","bCkVWO4HlCk0eatdMmox","WRDbW5BcP0a","eCk+WQ4jmq","lmk+ACoWza","u27dKWpdMSolimkPqmok","q38C","wNhdHqG","WRDgW5hcOwtdKa","huVdI0TNWRqQv1hcGa","WODEW6ebkCkLWOK","WRZcIrW","WOLMWOi","o8oAdCozpCoviCkzW7C","W5GBW481cmkRexJdLfe","aMVdMqfgWO/cH1tcI8kn","Cw3dGZ3cTSkGxwm","w0baW4rKWOJdS1JcKq","WQZdM8o+jcG","qSk9cCk8cmoXF8kg","a3PoWQqS","WOz+WOuMW6rZkaxdMt8","vHbTace0","uKvpscmoqt3dQ3u","zhldUq","kbCxW5LbW6JcSNRcTYm","qSoLW7vrW6NdK01iW4O","gCoLbmkCi8oCC8oIWP0b","6l+76zQn6l2q5A245AwZ6lwz77YO5PAc5Rgx6i6M","WQhcU8kkyG","xrrnWOiyWQFdSvJdQZC","iuq+W4W","ad8cW5Ha","tZWGWPiFW7hcVaNdPhe","BmojW7vuW5lcIdfqWPz4","WPnqW6ubySo1W4JcMZhdRq","F8kXW4dcGCoH","FcdcI8kDdai","WRJcVx8","rSonrdpdVmk1FmkK","W6RcTCkShcRdHmk3WR7dLSkk","WQaiqx1x","f8oSl8k8i8obEmkCWQ84","neyZW7yLwSo/W7ddGtG","gSoZWR/cS8oae0BcIv3cGq","wdzYFaC","W50JW5rIha","W7pcGg8","smorcSoIq2y9cmkVW6O","WO1adLddItmXW6uRfq","WPPecwFdUsCWW60HkW","m0xdGvzOWRaQjXddGq","eCkvWOmQmmk5","wCorcSo+WQBcRSkRsh3cTq","W7RdJCoyC3RcGCoTW6BdN8oP","tCopW6PtW4RdI2brWPP2","WODGoZW0W6FdKsfpxa","W7ORW4GNtrTQbmowW44","vSoyW77cSWOobSkVBJm","W5GtW5e5sCo/tYO","mSo3fCoGW7/cISk4nHJdKG","W54pW5nqpq","WPzfW7SBna","W4q4W4mSkMKqoCk/WQK","W7VcV8kL","nbb7vmkkW7mo","uthcLCkddb/cVG","jvFdLfbLWRKMhq","rdKk","W5lcJu/dPvm","WRfJwJNdN2/cJmowqZ4","rmkxWOW4","ad41W6azWRhdTMZcIqq","dmkUs8orfY4/dSk0W60","W40FW44VtSoXtaBcVG","hMGs","AY3dUJRcQ8kN","WPaYEx9vWQ7dMtOlCa","rt3cImkt","WQhdRCklna","r3KxkmoWWO50rmkYdsBdPa8","W7/cGCkyitNcMeNdHZe6","zmobW6rB","WR5OnJJcHIG2W6iHva","x8ogW7ZcUHy","W6jIW7VcHbVcGg3cSZKD","rIZcLa","5OYj5P6k55UR5B2V5AAI55kH","iKxdUsy","pNpcRxNdQSoXh2efba","hCoQemk5gW","hMtdISoprqNcPmojWO/dQq","WQLinvpdRG","WQrJxHtdJNZcQG","WQKUW58+WRuMBIpdVqa","W5tcQMhdPq","uSkkWOO6E8k0W6xcPSkhW5K","ecFdNb19W4hcKftcNmk7","WOvJp0ldNa","AJ4rWP0xW5VcLWnLWR0","adSkW4SsWPC/","zGdcP8k+","WOexxgz5","BCoyw20tudi","W7VcP1ZdH0G","W4aJW5y","WRRdV8kdi8oSh8ouW4O","C8ouW7foW5pdLa","WRJcUMNcV0i","y2pdOIddQ8o8adnfda","WQ7cJ3xcK0VdQmoJzSkp","rCkvb23cPmo3DCkPWOBcKq","WPxdNmkonCoH","57Uk5lYU55wd","d8kYWPqDaa","vmooW6a","WRRcJXhcVmobWQC","WQrCW5JcTKpdLsNdTG","EmoyxKSEqJtdPvhcOG","WPddNSkW","hsPoF8kKW4qZ","nvZdLefEWQON","peVdLG","EWpcPNlcRSkOf8kriCom","WO9zWRSni8oTWRZdRItcRW","C8ofx0S0","DXL5xGOtp8kSWOPm","WQvBW53cVq","imoTW79aW4/dI20FWObT","qezeWPjkWQtdPfdcVdq","u8oaW41Le8k4ebtdQmoj","rG9sFYmjuaO","a2i7W4OF","x8kGW7lcLSkedLhcIGtcIG","obSAWOqAW7RcSKhdQwu","WQOvW519WOC","bgRdIq","zq9WWQL9aCo7WRZcMgm","hs5DFSoUW5iLF8kXmW","wmoxWOK/CCo1","tSo2W4b+W6S","rSoMW4PXhYmIW43dV8kb","WRZdHcG8W4ZcL1NcU1z4","vZxcJCkA","crSyW5DNWQu","EGHzrWK","W7dcUbyAzCk7jKe4wG","y8obW6rzW44","W63dNSoaW5TJ","cLRdI3hcTq","rdhcKa","W4pcQMpdOvlcRCkTFSkkla","ax7dIWzSWP8","W5TpW6lcIb7cGCkDD8kR","aX0t","ie0RW6TusSomBWev","eq8NW4pdVa","W6ldV8ooW7bw","bgRdIv/cI31/W6FcNCky","BwpdOIZdQ8k7vNCFua","W54ryNX2WRpcI309kW","WP/cS2ddQG","WQn4W5mTaG","Dmoyra","gZuEWP4WWOeOW5iUFq","ie5RECoN","g8krWP8KA8oKtuFcQCkn","W5KaW5qSc8k+rIRcNa4","W4xdN2zjyxT9jCo9iq","WRnHW4FcIxC","6l6Q6zQf5Poz5PAm5y+S5PAX5lQF5A615PAR","bmoChSkJpq","6As+5QYA6iYN5yY36l616zIr5y2R55sQ6lYg5zQU","eqOdWOVdHSoffmoSW60m","j3zOD8oz","g8kquSobswa4omkSW7y","6AUC6k+L56kW55Mz5B2E","W7VcSCkEgha","mSo5eSoOW7NcI8kXEaBdKW","W5FcRMhdSxxcOCk6","cISvW5isWO0","DCorcCowW7/cKmkZDuBcHW","WQpcIZRcGCoo","hcxdGaf2WOi","c01Dx8krWP8ZAmkXWRO","AwFdHYZcPSkcwNbecG","aI5gB8khW5KYxCk/pG","W4ONW5jceue4gCkKWP8","W7xcLxjjWPNdJWpdOqCx","WQldRSk3xLpdMmogzuRdOq","W7y5W5rIWQq1Eq","gurAwmoAW49YCmkUWRS","fMVdNHm","CgRdPqi6W6HLsf/cJG","rSo2uLKN","o3rEjSoXWPH2","g8kzWOeOnW","W4xcNmoZdH7cKaeoWRJdOa","stagWPe","xSoUwGNdPG","qYmcWOiEWPJcGb1/W7u","wJj8cG","rgGjW4rmWOhcLXHKWQu","55Iu5BYN5Awf6lAx","rmkDWOu+E8oOW7VdImoCW5a","ECoprxu","s2ZdJKmGW57dNqJdMSoN","uCkwWOOI","WPj2W43cN08","hbeFgmkjWOz6n8kYW4O","WR5jxdZdIq","W5GXW4nJmeq","WPHVWOe5","W63dLtFdLbxcOCk6imkLcG","dfXFwSoxW4LHk8o2W6y","amo8kmkh","lmkkbcTaa27dI13cKW","W5OBW4K9","ie0R","xhFdKHNdLG","W7RdGmoKistdNmkMW7NdLCo9","xCorW4HcaIKNW5ZdJG","WQldItC7WPNdM13dOWz5","WQxcJMNcPvddVmoVCSkPaG","W4VdLhr2p2vsn8oJgW","WP8XBMe5WQNdIJ0bDW","Cmo7xrpdTW","mJOCW7FdRq","WO0cW708W60/AstdVuK","WPiVyMrMW6tdNxHnEq","jumWW7i","EfVdPsZdTSoQhSkC","F8oeoCoyW4G","WOXjWOXPf8kU","WPrbW74","rSonucBdQW","rh8Fk8oXWOzX","b03dNXq/W6nRaflcMG","hLqzW6Oy","WRhcO0XjBSkW","WRhcKMNcKq","W7RdI2iPA19Xhmohla","sWHq","W4KNW5b4gKudga","BgZdUt0","WRDLtr3dNgZcKmodxce","WQ/dGcG0W5ddNatcRZCB","WOb7W7BcH14","WReqW4v/WQy2BG","dCk/yCoaqa","WOldSSo8yYddU8kbWO7cS8kH","WOH4W7JcKX/cI8krpSoKrW","yf/dKt7dSa","WQ98eNldNW","vCoaW7C","bqOzW4q","i1nSW6X9fSoUW7BdGse","a34aESk0W4iOjmkJmW","z8ofW6q","WRddRmoLpq","W4NcQmoUvKK","W5JdG1zyEq","W5FcRMhdGMNcPmk7","pHNcL1zJWQ0MgGRdJW","Dmo5W7nQW6q","ixy0a1jfzCo4WRTa","W67cGCk2jhddHaFdLWSL","W53dSmoF","zIXdwY8","f8kzW6HTbIOPW67dHCkk","W5tcUCoVqvddSZPBW6/dVq","6l696zIg6l2o5A+T55Ue5B2D5yMc5BQD5AEP6lA8","sSoBW7hcQXaC","gXSaW55l","W6/dHSoUW4H6WRFdIuW","tbnAsseDuaVdRx8","lCk/WR4z","WRVdQuPBEa","umkrWROvCq","wSoCW590fsmfW50","i0KRW5K","WO3dQSoIzx/cISoJWQ7dKSo9","WQpcQ8kiFXBcMSkc","WRbqW4xcPKJdHZa","W6lcSCkgpgVdIaFdHa","dmkRs8oLxq","e8oOk8kBkCooD8oWWQCM","W4tcNhRdTMVcNmkNE8kdDW","nuvlWOKZxG","W5hcVMhdRa","fM/dNbT6WONcOvq","uuvDWOVcJSkEsSkGW5Se","xSooyINdIG","WQr1rXFdGtddUSkgahO","WQ0yW55IWQyhEt/dVuy","vcehWP0p","khKEW7DA","W5hdN2y","cGeyW5iEWOeLW40Epq","F8oxnSoeW4e","umk9s8oBx3b5u8khWQ0","W7OlW6bywue6dmkjWP4","lh9Ku8omW4rLm8kWWRS","WRFcP8kvFHBcMW","55Mc5B+66l2x5P+a772P6yAI5PEs55QK5B2j","wSkJWRO","rIec","WOTxeZVcK3DOWQD3qG","mxawW61Mw8oXyhOq","Dr4iW5iyDmosWQJcIdS","pmkuvmoCsw0qiW","W581W6P/hq","p8k2C8ofFa","ps5Hxmkx","hherW40yWOO","uK3dH3/dSmoGe0uBtW","kI/cHdVcQ1LhW67cGmkk","pxiPcLqsn8oQWRyv","WQrzW58spa","pZebW5CBWOGQWPz0EG","BCo6W7PsW6K","W5e1W5mZsa","imkgu8kHWR7dLCoQoxRcHW","CSkRWOKCEG","smourc5cggBdUcpdSW","pWCSW5qD","kCk9wmocxW","6l2J5AYE5AsR6lsxwvy","W6JdKmoTW4HXWQxdJhBdLmo9","WOHWWPrbmwezoCk/WQ4","g8odlmkOmW","CgFdMvbKWRuUv1xcMG","W6BcK25S","rdKkWQSpW5JcNuK+","WRD2rW","WPrHW4ZcG34","igadfSosW4nRoSk/W44","W6CWfKJcMcVcRmogFJ9Myq","WRlcQMNcJea","jLGVW5rvsmoFFIqt","x8omW511","s07dOqlcVa","aCorhCoxzCoTwCkCWRz8","pgVdHXC2WRtcGvhcGCk/","DGzMWOOseG","dCkrWP8OkSkLirNdOW","f8oSlW","WRn3yHldJG","h0nzx8oAW49Y","neBdU1ldHgTHW7VcM8kD","WONcGIq5","fgxdOMLUWQOLhqJcGq","WQNdPSo4","w8oAtG","egFdNgNcGq","WQVcKMpcN1FcOmkYlSodxq","ECo8W70","cMtdMdVcO29YW6dcNCoq","BGGEW4Hmr8oBxsGE","gSkND8oIyq","jNCmW5fBrq","x1jCW6vhWQ/dTLBcQci","Ft4DWOCd","e8oFWOC+k8k/","aYzlFSkZ","WRldNmo4pcddLmkT","rG9sFZiDvXhdTx4","WPlcG8kttJFdM8ksmW/cJa","uCkRWQqc","wmohua","pvX9B8oh","hcnkAa","W6WzW44PCa","W4rsW77cIG","WQe6W59pWQWJAq","eCksr8o4rwW8c8o3W5q","nfWTW5fstmoxBdq","zrxcHHS9W6eVhGlcMa","amketmoQs3GW","EZrZxW","W4W3W5j5","jgixWRXiqSkwWOC9lW","ou/dPa","i03dI0C","WR/dU8o8","gmkCWOW7Cmo3W7ZdTSomW48","WR4QW4vrWR0JqY7dQb0","WQFdImkhjCoG","qCoDgSo8","WQVdRCksma","BmovW6vVgq","W5aGW6OTyG","zLddNdBdIa","W47cQCo5ze8","zSofFtBdHG","WQbvl0FdJa","ztGzWRyl","A8oCwcJdTSk1","BSkDWRzoW47dKMWCW4e5","EJv/qa0xpmk9","W5pcI8o0","tCkYWR8pW6W","gCkbsW","kLxdUetcT0DqW4FcVSoF","e8krWOaO","hmkPuCoYtG","W5dcUmkYb2G","W7ldMSo4W44","iKhdGfDUWQS/","nd9FwSk0W4iO","WRnMd27dTq","k30yW7bu","Ev/dMJldSq","kfhdN31QWQGI","gmkVWQBcMmkCarhcMHRcJG","Ad3cKmozxf/dVCokW6NcJa","aSoVnCk2ca","gsbi","W4rVjseTW7NcNgKXFG","wr9iytimzWpdSMu","WRPOzbldVG","cCkrWOqH","BbmBWPCu","W5SNW5r4h0KPhCkuWPm","C8o9WPW","WQLqW5hcOWddLsJdUG4i","xwPlWP4tWOe9W5aImq","qtWIW7lcImkeu8kGW4Kv","m1KXW7CAxmoSW7FdGtG","W6hcHMXSWRC","W5hcSSkcg0S","WQ/cNMhcIeddVmoIx8kcba","cKLBCSorW51Um8oWW6G","jI45","kuqlWOKuf8o6WOSYha","WRDYs1tcJ33cVq","W4rsW73cIatdM8obiq","gciBWPuyW5ldIWONW7O","ehVdNg/cKxK","umkrWO8Pv8o/","jCo2wmkGWQlcL8k1EfRcGW","WPddO17dJftcHCksj8ogna","WOSvWO3dS2ldPXldTGOE","WOezW6ryWPW","hhfkWO5xWPCVW5ixmq","WO/dMSkWe1/dGJvcW6NcTW","WOfyW6meka","WRVdTSo4oW","WQNcKCkAzHRcJmkypYxcSW","W6hcImoHx0JdGMyCW47dTW","bWyaW4jDW7VcVrBcQdq","qZJcMKqSWOBcPftcO8k3uW","i8kdtSkNWQBdKCoTirNdLG","6l+Z6zIp5yso6k6n5y+X6igM5BwH6l2q5P63WOu","W4FcQNZdSeBcP8kSxCkjpa","zSojWP9Rbt42W6BcL8kH","eG4z","mvC3W7S","bCkgdNhcVCoI","kCkaW5fkW5BdI2qPW4O6","W6aTW5X4fuWRu8ovW5q","5Ps35lI95yIo5BM+5OIq5yMx77+s5BYl5AsT6lY0","dr8lW4lcKCo5sCouWRGs","vSofdmkbbdTUu8oOWRK","WRZdRvjzAq","j1CWW7iPxCk7WRBcMNi","cqqEW5e","WQSQW4bLWQGGDa","W4hcIKDxWOy","WOzbW5KmdG","WPVdTSo4jaq","WRrCW5dcTL/cM3ZcVu1B","BdGFW5ToWOtdGqjJWQu","mCkjbcLgdxxcUshdTW","W5TtW7hcKXxcUCkhzCkZba","vtqyWOquW5NcHuK","WRNdPuPFsmk6","wmk2W7hcLSomdKRcUv7cNq","j0nmWOKu5PYq6l265P+w77Yf57Qk","WODuW6yDkmkZWO8","hKnDWOuwvSoCW6y8qW","W4fyW4/cKHJcH8kgDmknba","fSoOkCkgzCktjCoOW6b7","gCkcWOq7iCo+cehcQmon","WQNcLgZcN0VMORpLVOxLVilLU47VVAC","W5dcN8odDv0","WRuQW655WQLU","WR7dUvjs","a8oyhCk7hG","dtDxy8k5W444C8kOiG","jKiXW7mIxSo3W6ldKq","W50JW5vIjKmLgmkf","d8kuqmoQswC3e8k9W7C","W7pdIYFdKNldPSoKzmkzha","W7hcJCkrEbZcHmktzeVdRG","j1mYW68PsSoQ","W6BcHSo3WOm","tSo6gtCXsYNdSfRdRa","WOXrFdhdRq","W6ONW4v6fGLQp8kiWOG","W6JdKmo6W49XWQxdKa","WRJdQvj7CCkUe0KRsW","hbOvW4bl","W5JdPSoBW4j1","vSonW51TbxXJWPBdMmke","W7ebW5xdOXVcHIxdSHLF","W5ytxZiYW7VcHxLzpW","kfhdN315WR0TcGhdNq","WR3cOCkE","y1ldSZVdVmkRomkQsCoD","tSoPW7HyW68","fSoGn8kka8oc","W7BdKmoLW51GWR4","WQNcK1JcM1ddQ8oJDmolhW","WObSjgfRWQldJIugma","WR/cLbtcGCoW","W79sW77dL0tdNCouACoKra","x8ooW6lcTKPAuCoOmM8","W4xcMwG7W4JcGKRdULr8","jd8UW60","WRHBW68Anq","WRZcJNpcKG","WQn0qG","EL/dPdNdT8oWmSkqAa","qumMW63dQSo9nSkSWQGj","W67dQSoNW5n6WR0","gGerW4baWQddV1W","WOmdWQBdGq","aJiEW6KsWOyaW5a1EW","WPL6WPuJqbfZeSkKWPVdT27cRW","WPfdW74EkmoVWO3cNtdcUa","WQFdUuHLymkUoq","vI4PW6ddICowhG","WQVdO01FB8kbjfeRwG","W4eTW4e","DSofW6jtW4ddJMiFW5SX","g2tdIr5SWOJcJum","r8k3WRKo","WRRcN2hcN0q","cCoQkCkgjG","iuKfWO8EW6/cPa","xCooW6tcVG","c8obW4i+lmk4gXZdO8kr","ESkyrtBdSmkqomksWPpcHq","WO5edNu","dXHAgxmFrqtcTIe","srqDW55AWQtdOeRdONq","trjDuICJtqy","WRezBLP0","AmoCumorW54","WQzQW5xcPLNdNa","WR7dUemwiCk8iG","oKeTW7yJwmo6W7tdMJG","nuhdKJXm","aeZdOtny","WPHqhZldKIWQW6qMgG","xWPmtcSFrrBdQ34","WQ7dLmoJisddPCk6WQBcGCoM","WPXcW5yAp8kHWOi","E8oxgmoFW7/cG8k4DqBcQW","kXauW5iN","umkrWO8PCmo6W77dSG","WQVdR05B","WQW8W5rIWPi6za","Ev/dOdNdI8oHhSkmymo7","gCoHW4tdV1rFtmoVj3W","xaRdUsRdVW","iXGtW6KbWOXYWOGGhW","FgBdTsxcJW","WPOYBa","uHvB","dbmeW4znWQNdS2BcQZ4","qCoZW6uvW7XDWQjMog0","EuRdTYJdRmo3","W7JcUmoEzCk2m8oTW7BcQmo5na","CmoWxhiy","d3zewCoq","WODFW6lcIaBcG8oBz8oJxW","hmoMpa","WQqEcYNcLMPP","i00PW5fFtSo3BG","svldVZNdT8oWo8kCFSo8","W4tcL09BWQ0","EXZcHWi","eCkFWOO","y2xcLbvjW715sGhdNW","pLPzWPpcL8kquSokW4KZ","gmkEWO4","tCk5DCowzSodEmoYWPSB","tgVdJ3lcKM8+W73dG8ow","lNCsW5eCeSkEBIGk","h8kVWQdcMmkBartcMHVdGq","sXVcOr7cVmk2x8kCFCkQ","gSkEWOqJ","WQtdQ8oNFs/dJtRdJbOcaW","W5hcM8kb","aWmCbSkpWOPWm8o+W70","p3C8W5rvtSoqFHiv","Dmovd8o7WR/dKSoUlGFdLq","W6/dLwHWBhLsA8kLAG","aSoBa8kepa","ESoBdSoM","W45uW6lcPbhcHCkC","W6/cPmkTgCowm8o1WOpdNSo8","hmkqvSou","zSoBfSo3W77OVkdMN4lVVjxPH6tMLzy","WOtdOCkFm8ow","tSoaW5W","sJ/cGCowlGNcQCkpWRxcKW","gCowfSkgASkFnSk7WQS+","d0qhW5BdKCoE","FmkRWR5jWQehW7aKB3q","WP/dQCoccHZdU8kkW7NcP8ky","tCo8FaNdGq","FSonqW","W5OLW5WPu8o2","FL3dJYtdIa","kN3dVI7dTSoPcmowpCk7","e3RdMH5WWO/cIutcH8k9","ywpdPcG","eCo8l8kh","W4CBAeGWWQdcNa0JBq","WRfJwJVdJM/cU8ouwYS","CCoggmoZW6tcGSkBCexcGW","hum2W41z","DSkmWO40W5T9WOmNpY0","wmkHWQukW4jrWRv5ns0","vZayWOCmW5JcHeG","cCkbWQddSvvbuSo/tZ0","WOFdGahdTCkeW7RdTq","wYTaBmkVW5OVASk0kG","xCoyWQyfemkCmLZcP8os","W5ncW78jp8kLWQtdHxVdOW","p0na","gevtW4npcCkkW6C6wW","WPdcIh3dTM/cPCk7jmoxBa","xW9isa","W7fiW4hcIZ0","W43dT3rWtq","WONcO8kPubq","fmo5m8k6gq","WQ3cKGtdTCoaWQBcTSk4WQxdOq","cKLBzCowW4TYoSokW7S","wYhcJsJdIJO/WRldGSop","WPSoWQNdJ0ldL8obmCkkna","tCknWRGeW5i","WRVcQKZcI13dRSk4nCkZmG","FNSQhfrAk8kWW7HM","nsqMW6ddSa","dGieW55hWQldS03cTJ4","WQBcS8oWAZFcGmo3WQRdLCo7","W5RcPhZdQG","W5/dUmoXW4TD","qIRcGIvWWOlcJf/cMCkH","AsPBAHK","W5NdUmo8W4bmWPtdQHRdG8oM","WPhcKHhcP8ozWR3cNmoVWRhcPq","g8kXW7hdNCkyhKpcGb7dGG","WQldGdy","ESkTWRapW7HyWQyLAwW","nSk8WQaOna","W4VdSezXtW","gcPCAmkGW5eL","W6ddUCompuddMSooCKZdQW","yCoUeCo/W5O","WRVdRvjB","f1P9udiqqtxdP3m","CSogW4vGW7q","WQv+W4q8","tGKaWOm6","W4tdK358sxe","WR/cH8k5W59LW7pcLHVcHCkH","C8ouW6jtW4JdGgGyW5y","W5XEW6pcLq","q8kJWQmk","W7/dLSoGW5u9W7BdP0hdKSo9","oMhdSwVcJW","DSooA2OeqJ8","x8kHW7S","zSkXW7pcQSok","h0LjrmoBW5LOamoRW6y","jvamW4Xm","WOddUeLrzmkW","WO7dIv5avG","tJ8iWPGoW5pcK18","W5tcH8o0x14","xdXMqre","i1O2W45zbmoio2iA","WOtcJcRcNCoH","kf5+xmop","umk7WRRcH8oh","uhCUbePwECksWPrZ","bmkFWR7dPKKkdmoYsq8","wGHvvIDtuLpcRxC","cY0VW7tdQa","FSk2WPqCEG","W4lcRMtdSwxcU8kQ","fmkaFaVdH8kwq8oTWOVcVG","WQxcQ8kkFG","f8kmWP5gWQueW6K6z2i","W5HxW7xcTHxcHmk/EmkMxW","W6ZdL3f6ta","xSkPWQ9gW5nrWQrHm2S","WPrDW7S","CbDFqW4","WO1adLFdHZqRW6OSfq","AtfyrGG","W5KFW4KtrCo0rYZcJIy","x8kwWOaGA8o/W7BdPa","fNZdMgNdIxLIW6FdNmkb","ngddQdDy","W5hdJNnTDwy","c0vdqSoBW5G","W5tcHSo1xv/dGJeeWRVdOa","WRtcL1JcIuZdTCoVpCkLiG","WQPVW79eW61ImghcQfi","W4JcJ33dQ3m","CWrSWQqUD8oXW6uPaq","WOlcKGtdP8kbW6FdTmoZWRdcOW","WQRdOSo+nIxdHCkCWR/cGa","a8o9oSkBp8ov","ctmKW7tdKG","fSk2WRDSl8kRWR3cP8ktWP8","g8oSnq","FSore8o1W6tcJW","CGirWPyV","gCoQpSkIjCocC8kZW6ef","yCkXWQufpSo6W6pdP8obW5S","WQNcK1ZdINJcSSo6DCkubW","ieTDWOW","t8onyfON","WP7cMNpcReRdQ8ofCmktbq","tZLeyGu","W79mW7RcScG","mLHaxCoBW4q9","hmo6W7Xg","sCk8W7RdISorceZcIK/cMW","W6RcO8kKbcldN8kNWRNcK8k6","cmoenCkkkq","nehdH0TOWR0cha","WR/dRCkiF8o6c8oxW4pcM8o5","5y+X5lMA6lYw5ysz6k66","WQ1GlG","nfW+W4Xjwa","F8omW7XFgq","dqqk","drbmD8kOW5mUF8kpmW","W6hcN3r5","W78MBWJdN3pcQSoGvIG","WPzWWPhdOr/cKxpdL11F","hLj3AbyXAe7cON0","WR09W5HMWQH8DN7cTW8","vqXhACkUW5SLjmoHBG","Fmk3W5pcG8og","WRJdQvi","k33dNr1y","ad1d","pwn8yG","W5hcU2xdQgNcQ8k/F8kpnW","W6RcN8oXEfy","W542W4DLdfm","WQddISkJb8o4","WQddQ8kGnIxcNmkeWPtdN8k4","BXdcRmkzpq","W5hcUhtdJha","pbKUW4SK","xCokW6BcTGykk8k7","jCoxeSo/WR7cN8kOD0xcGW","lKq6W4S","sYdcKmkggLBdPColWRVdIG","WOiYyhDT","W4ldGmoyW4jd","v8kiWOO","W4tcI8o2wLJdGGPp","yHSsW5TjaSkoW7G8wa","E8oygmoHWR8","W63dMY/cRuZdOCoUB8kbga","bgRdIv3cJwz0","iHeOW6O","W7hcKxjUWPq","WRZdOmkbFX3cHCktiLtcVG","WRPQkua","C8kdWPKTW7fgWQLVmg0","W7SXW40FBG","cG4d","j8oGnCozFSkDnSkNW7H8","WPSEWQryFmoGWOVdGh7cQG","nu0VW5rDsmoB","W6KjW60ABW","m8kyvSkAhZTUsCoRWQ8","W6BdNxDkAG","6lYZ6zQQ5PkM5PsS6zo95O2U6iYC5y6F5Awt6ls6","zmoOW6BdMCkzuXq","WQRdQmoObbG","W41DW7xdMbBcHmohCmoHqa","DCoofmoIWRZdH8k5Fe/cIG","WRBdRmoRoIu","sSoaemkeg1O6","bSoSkCkglmopDCk+WROH","gCkoW5jJF8oUW6FdV8khW4S","zLhdSq","xSokW6tcJaWidmkCFsW","WOBcP8kxpeFdKSowm0ZdRG","DwpdOZRcM8kQxgao","W7BcLxbKWP/dNcpdPG","wmoyW5T0wxn/WO7cJSoB","iddcOMZdT8kivwuhta","iCkttCo3yG","FLFdOJddVa","mNy0c08tp8o1WOb2","xX4bbCkqWPG3F8omW6G","tdNcGCozwfZdSSokW6RcLa","WRaKW5qWWOO2yYtdT0a","ienvx8osW4zHCmkQWQC","WOxcINFdIK7dHCoiwmkHaW","FLBdJwZdHmk5hCkmBSoJ","yMFdPa","W7dcTSofv2i","qgr7","uZ44WOajW57cMeS","WPS3W5XEWOW","W6ZdMSoVW7nq","agVdONy","WPXakh3dQa","fW5dW53dI8oEfSoLW6fl","WO1UW7qejmkLWPxdMedcTW","WRTDm2ldQa","wCo6W59PfWWnW7ddKCkq","WPyZWPSHvXHMgCkoW4e","jvCWW6KtwSoXW6ddJqG","f33dLhy","WP/cISk2zZK","c0boqG","yCoQW7hcQX0","WO7cGwlcG0y","WPhcIdVcOCoc","ccKEWPPu","k1LjWRmix8oBWRTShG","u8onqWFdVmkSyCkTW4tcSW","yYn0vrCE","kfhdN31+WQSUcGRdJW","nslcUb7cRCkNv2SCta","WRFdQ8k8hmoA","BryFWQ5jW6JdGbTLWQy","gejdu8oxWOrJmmoYWQy","W4tcO2ddQMtcRCkSjmoxAG","WPPRW7GojG","WQxcOCksBX3cTSkcmGRcVW","fw/dNG","WQ3cIrNcVSorW7VcTCoSWQZdSW","WO56g2hdKIW","W6RdK1nnuW","AColW7uAW6hdGMivW4bX","tSkBW6ehWPBcItC","W58NW5vHfK45gq","uG8iW4tcJ8kctCk5WRee","W7ZdN2X+WPpdLW","W4KBW6KSzCkO","WRTVqX3dSgVcTSohvG","W4xdN2zFAxLw","dSkeWP8KkSk2fXBdVG","W6dcJ8kXa1S","fg7dQwVcPJW","vmo7rNmb","W6FcNX/cV8oAWRJcRmk8W6FdPq","W63dJsFcTutdUSo+Amoeka","v8kBWOaPBCoOW4ZdO8ohW5q","WOiYwgzXWQldHs4","y1hdUhpcOmkKhCkly8o7","qCoAW77cGbCkbmkTEs8","BSkpW7PjW4NdIq","WQlcNH4","W5/cRmkukve","z8k8W63cJCofeupdIr/dNa","cmkdWOG/kSkWeXu","WQFdQCoGFYRcMf7cLMf9","W5iFW5m7u8o2","vCkxWO5JASoOW4ZdS8ohW4G","W5u3W4Hogfu+fa","zIH5xHysnmkR","FrGjW5HucCkkW705tq","qmoaCWtdUa","eGmmW5FdM8oVe8oK","W7VdHCo7W5z9WRxdHv3dICo9","f8oJWRNdNCkfgeZdI3/cOq","WQnfW4tcV0tdLYxdPXec","WRFcR8kly1ZdNmofFftdQq","EfVdPYNdVmo3gq","lxKmW7Di","WRpdQuHDDCk2","WR3dPSo4eJVdGCkaWRFcLmk9","iLCxW6OodW","wSk4WPGPW6i","WROIW6bfWOq","WOLedNFdJG","WQpcQ8kEBWS","mK9eWOKjsCoIWR1MbG","uYhcJtxdLcqHWQVcOCky","W6ddIKv9va","W5furYtcIhXZW6WQtW","uL5uWOVcJmkbt8kGW5aH","zSoxfCoZ","WRBcJ2pcIha","WOJcSqhdU8oEWRBcQSkv","p8kvyvaIBGRcRdxcQW","tfJdSrpdQa","WRTJsHhdJMW","WR3dPCkaomoHh8onW4BcKCo+","Db9XWOSkc8kwqquO","CmoFW652jq","dbSPW6/dPG","W6hcTmkNbhm","l15VW78IfmozW4BcKYy","W7/cOSowF8kYumkjWO/cRCoX","W5pcMSoYwLxdGcPnW7m","bsamW7rdWOddIfZcTIa","tCoqW4uAlCk/gH/dSmon","W7iRW4iS","rmkNWRGqW7fg","EvFdRdK","WQ7cSryunSoYkKb2Fa","W4xdN2zkAhrbiCoClq","W5FcT8kAb2m","sx4bWOCuW5K","m1CXW7nJdmkTWRpcHMq","WORdJmoFbW","W4tcPh7dOw4","phyTa1fayCkEWRjpW67cG8oc","WPuaWOa","pMGJae1p","WOVcMGpcRCkcW6a","uHmuW4qEWOGNW5HUyq","WPFcQ8oeDKZdGsC","a3ZcR8k+pshcHSoiW7RdLG","g2hdJ1jEWONcI1VcGCo7","kSkAtCkHWR7dL8oZibNdKa","jbSaWP0BW7lcPrFdRgC","W6FcS8kIAMFdLmkTW7VcSCkA","WQvCqHxdPq","W4qPW4mXpKuPf8kpW5m","td4IWPOc","WP17WPuIsbGVrmoqW44","W7FcOSkqzXRcNColEKRdQG","p07cNW","nM/dHHDTWOK","rw8htmkOW5GKzmkNkq","tConW4HPaZu","w8kzWPm","pCoheSk4oq","WRRcNGq","e8oOl8kmiG","zCkoW7XvW4hdJM9rW5LR","WQeqW5j8WQq2BJVdHWa","W4BcH8oUvW","hCkxq8oarNW","nJj1rZOAnCkbW6DW","egezW7eCsSooEIqy","hgNdGczW","yMFdPbRcRmkOqweVxG","yv3dKWJcLmkDCeWQya","WRRdTSoJW4H7WRVdGqBcKCkM","seSSW5xdJSoCh8oxW60h","EXLBsbuiyLVdHem","gY5cFG","WRhdPSoI","h8kuvG","WOmPyZ1WWQldJcClCq","WQNdPCkknmoDhCoyW5VcM8o3","W7FdP8oNE3ZdG1NdHMz+","W6pdU8olp0xcHCkLjdtcLmoS","vCkzWPm4FCoZW7lcUmobW5e","W6hcUmoiymkYumkkWPBdISkG","W5BdN8kVuK7dKYSeW7ZcTW","CSoly1id","cCk+WOabeW","cSktWOy4nW","W47dGCoQqftdIq","W5tcTNDMWRq","W6aoWOOXfuKHgCoaWR0","jqb8t8o7WPK2oSo/oW","hNKBW6SntCoA","WOiuWRO","emkvWOKKjCkoebhdQSoB","WRZcTtpcVCoE","l8keu8kRWRZcGSkZnhZcTq","ewRdJg7cGxLL","jL9cWP4uw8oqWQW","W5BcI8oYwL3dNG9eW63cUW","eh/dKxlcKa","aN/dMrO","WRvPsH3dSgVcOmoCvIq","5yYm5yQZ5Psl5lQLaSo1","W7dcPsLRWPFcGq","bK3dHb5V","W7KFW543smk3aGZcKHa","W6r/WP8PW6e2BMldJtO","WRtdQuG","5y6K5y6v55Ar","xSk3W6dcNSoBkuhdKNNcVa","W4lcUuXpWPa","zbhdVc/dTSoQ","W7bVW7bGWR0/zrJdVqS","jeKRW5ftrq","WQ7dSmoLEZFcKuFcMMr6","WRO9W5rXWRK2rIBdTaW","aHq2W4qq","WO9uWOrKrmo6q3ZdIvm","tHjksWu","WQRcLCkJW619WRJdGeBdL8oH","WRdcJmkUtHG","WRpcRCoOpdZdN8kVWRNcHCkT","FmojW755iG","DKJdMe9IWQX2svtcNG","Ba4ivGnlxLBcTwC","gSo9WQFdISkzuXldHNNcKW","W4SjW5GUsCo/tYO","gcT9yCkV","WOlcKLLrvfH/AmkWka","WRZdQSoGnGldLq","WRbGjuFdQWutW4u","W7pcGCokyvy","qSkzgcldPSkVz8oUW5JcUW","W6VcL3/cMvZdPmoiu8kfdq","gf9krmoHW4nK","nJykW48I","vmkJWR4fW7W"];return fB=function(){return t},fB()}function to(t,e){let r=fB();return to=function(n,s){n=n-(-5286+-1*-8219+-2675);let i=r[n];if(to.ZPPeVW===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};to.czIPUB=l,t=arguments,to.ZPPeVW=!0}let o=r[-302*-16+2074+2302*-3],c=n+o,u=t[c];return u?i=u:(to.Jbnsat===void 0&&(to.Jbnsat=!0),i=to.czIPUB(i,s),t[c]=i),i},to(t,e)}async function Z6e(t,e){let r=Te,n={DSjPd:function(l,d){return l!==d},kTXUs:function(l,d){return l(d)},tZiPw:function(l,d){return l<d},xMnec:r(816,"%SDn"),gBhSL:r(1305,"5y@]")+r(1591,"eKKZ")+r(1345,"5y@]")+r(1164,"mH&s")+r(2022,"lbro")+r(377,"p1lY")+r(1170,"j(Pm")+r(810,"FO4*")+r(897,"WLav")+r(385,"jrYj")+r(292,"KC!H")+r(453,"a&Z$"),NhCGp:function(l,d){return l(d)},zyDAy:r(325,"%SDn"),IAFtS:r(1437,"#Hok")};await n[r(630,"KdbQ")](ib,t);let s=n[r(1993,"K&$@")](String,t[r(495,"cf3y")].id||"")[r(1821,"kM4s")]("*");if(n[r(931,"Tl!3")](s[r(698,"yn!2")],7499*1+-4681*2+1867))throw new Error(n[r(1384,"!DZ@")]);let i={"User-Agent":n[r(1813,"FO4*")]},a=n[r(1718,"5y@]")](hsr,await Vh[r(1890,"6!X(")+"l"](s[-2*963+2*4701+6*-1246],s[-1*-961+2369+-3329],s[-170+59*-169+10144],s[-3*695+-1622+-3*-1237]||"")||[]),o=null;if(n[r(872,"fbFQ")](es[r(1611,"Tl!3")](n[r(907,"p1lY")])||"",""))try{let l=await Vh[r(827,"c0A9")+r(1864,"mPFZ")](s[0],s[1],s[3]);l&&(o=["\u539F\u753B",l])}catch(l){console[r(541,"DiMt")](r(1099,"X7W[")+" "+(l?.[r(1308,"eKKZ")]||l))}a[r(1393,"mH&s")]((l,d)=>J6e(d[-3297+5*1193+-2668])-J6e(l[-8119+2*-4343+16805*1]));let c=[];o&&c[r(1691,"ky6h")](o),a[r(1830,"]tXZ")](l=>{let d=r;n[d(969,"X7W[")](l[0],"\u539F\u753B")&&c[d(327,"p1lY")](l)});let u=c[r(422,"UUoF")]();if(!u[r(1535,"ky6h")])throw new Error(n[r(631,"%SDn")]);return{parse:0,url:u,header:i}}var n5e=require("crypto");var Asr="https://api.guangyapan.com",ysr="https://account.guangyapan.com",s5e="aMe-8VSlkrbQXpUR",i5e=200,xsr="0123456789abcdef0123456789abcdef",a5e={Accept:"application/json, text/plain, */*","Content-Type":"application/json"},bsr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],pB,cV={},P0={set(t,e){cV[t]=e,pB&&pB.push(`/guangyapan/${t}`,e)},get(t){return cV[t]}},Esr=async t=>globalThis.getPanName?await globalThis.getPanName(t):t,cI=async t=>{pB=t.server.db,cV=await pB.getObjectDefault("/guangyapan",{})};function _sr(t){let e=/https?:\/\/(?:www\.)?guangyapan\.com\/s\/([^/#?]+)/i.exec(String(t||"").trim());return e?.[1]?{shareId:e[1]}:null}function o5e(t){if(!t)return{};if(typeof t=="string")try{return JSON.parse(t)}catch{return{msg:t}}return t}function uI(t,e=""){return[t?.msg,t?.message,t?.error_description,t?.error,e].map(n=>String(n||"").trim()).filter(Boolean)[0]||"unknown error"}function Ssr(t){let e=String(t||"").toLowerCase();return bsr.some(r=>e.endsWith(r))}function vsr(t,e){return t?`${t}/${e}`:e}function Isr(t){let e=String(t||"").trim().toLowerCase();return e=e.replace(/^wdi10\./,""),e=e.replace(/x+$/g,""),e=e.replace(/[^0-9a-f]/g,""),e.length===32?e:""}function c5e(){let t=Isr(P0.get("device_id"));if(t)return t;try{t=(0,n5e.randomBytes)(16).toString("hex")}catch{t=xsr}return P0.set("device_id",t),t}function Csr(t=""){let e={...a5e,Did:c5e(),Dt:"4"},r=String(t||"").trim();return r&&(e.Authorization=`Bearer ${r}`),e}function Tsr(){let t=c5e();return{...a5e,"X-Client-Id":s5e,"X-Client-Version":"0.0.1","X-Device-Id":t,"X-Device-Model":"chrome%2F147.0.0.0","X-Device-Name":"PC-Chrome","X-Device-Sign":`wdi10.${t}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,"X-Net-Work-Type":"NONE","X-OS-Version":"Win32","X-Platform-Version":"1","X-Protocol-Version":"301","X-Provider-Name":"NONE","X-SDK-Version":"9.0.2"}}async function oI(t,e,r=""){let n=await he.request({url:`${Asr}${t}`,method:"POST",headers:Csr(r),data:e,validateStatus:()=>!0});return{status:Number(n?.status||0),data:o5e(n?.data)}}async function wsr(){let t=String(P0.get("refresh_token")||"").trim();if(!t)return"";let e=await he.request({url:`${ysr}/v1/auth/token`,method:"POST",headers:Tsr(),data:{client_id:s5e,grant_type:"refresh_token",refresh_token:t},validateStatus:()=>!0}),r=o5e(e?.data),n=String(r?.access_token||"").trim();if(!n)throw new Error(`\u5237\u65B0\u5149\u9E2D access_token \u5931\u8D25: ${uI(r,`status=${e?.status||0}`)}`);P0.set("access_token",n);let s=String(r?.refresh_token||"").trim();return s&&P0.set("refresh_token",s),n}async function uV(t=!1){let e=t?"":String(P0.get("access_token")||"").trim();return e||await wsr()}async function u5e(t){let{status:e,data:r}=await oI("/nd.bizuserres.s/v1/get_share_access_token",{shareId:t}),n=String(r?.data?.accessToken||"").trim();if(!n)throw new Error(`\u83B7\u53D6\u5149\u9E2D\u5206\u4EAB accessToken \u5931\u8D25: ${uI(r,`status=${e}`)}`);return n}async function Rsr(t,e="",r=0){let n={pageSize:i5e,accessToken:t,parentId:e,orderBy:0,sortType:0};r>0&&(n.cursor=r);let{status:s,data:i}=await oI("/nd.bizuserres.s/v1/get_share_page_files_list",n);if(s<200||s>=300)throw new Error(`\u83B7\u53D6\u5149\u9E2D\u5206\u4EAB\u76EE\u5F55\u5931\u8D25: ${uI(i,`status=${s}`)}`);return i?.data||{list:[]}}async function Nsr(t){let e=await u5e(t),r=[{parentId:"",folderPath:""}],n=[];for(;r.length>0;){let{parentId:s,folderPath:i}=r.shift(),a=0,o=!0;for(;o;){let c=await Rsr(e,s,a);(Array.isArray(c?.list)?c.list:[]).forEach(d=>{let f=String(d?.fileId||"").trim(),p=String(d?.fileName||"").trim();if(!(!f||!p)){if(Number(d?.resType||0)===2){r.push({parentId:f,folderPath:vsr(i,p)});return}Ssr(p)&&n.push({vod_id:`${t}*${f}`,vod_name:p,vod_size:Number(d?.fileSize||d?.size||0),vod_group:i})}}),o=!!c?.hasMore;let l=Number(c?.cursor||0);if(!o||l<=a)break;a=l}}return n}async function lV(t,e,r=""){let{status:n,data:s}=await oI("/nd.bizuserres.s/v1/get_share_download_url",{fileId:t,accessToken:e},r);return{status:n,code:Number(s?.code||0),msg:uI(s,`status=${n}`),url:String(s?.data?.downloadUrl||"").trim()}}function e5e(t,e){return{status:t,code:Number(e?.code||0),msg:uI(e,`status=${t}`),data:e?.data||{}}}function t5e(t,e){return{status:500,code:0,msg:String(t?.message||t||e||"\u5149\u9E2D\u63A5\u53E3\u5F02\u5E38"),data:{}}}function l5e(t){let e=String(t?.msg||"").toLowerCase();return t?.status===401||t?.status===403||t?.code===401||t?.code===403||e.includes("token expired")||e.includes("unauthorized")}async function r5e(t=!1){let e=await uV(t);if(!e)throw new Error("\u5149\u9E2D\u767B\u5F55\u6001\u7F3A\u5931");return e}async function d5e(t,e){let r="";try{r=await r5e(!1)}catch(i){return t5e(i,"\u83B7\u53D6\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25")}let n=await oI(t,e,r),s=e5e(n.status,n.data);if(!l5e(s))return s;try{r=await r5e(!0),n=await oI(t,e,r),s=e5e(n.status,n.data)}catch(i){return t5e(i,"\u5237\u65B0\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25")}return s}async function Osr(t,e){let r="";try{r=await uV(!1)}catch(s){return{status:500,code:0,msg:String(s?.message||s||"\u83B7\u53D6\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25"),url:""}}let n=await lV(t,e,r);if(!n.url&&l5e(n))try{r=await uV(!0),n=await lV(t,e,r)}catch(s){n={status:500,code:0,msg:String(s?.message||s||"\u5237\u65B0\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25"),url:""}}return n}async function f5e(t,e=""){await cI(t);let r=await d5e("/nd.bizuserres.s/v1/file/get_file_list",{parentId:String(e||"").trim(),pageSize:i5e,orderBy:3,sortType:1,fileTypes:[]});if(r.status<200||r.status>=300)throw new Error(`\u83B7\u53D6\u5149\u9E2D\u4E2A\u4EBA\u76EE\u5F55\u5931\u8D25: ${r.msg}`);return{total:Number(r.data?.total||0),list:Array.isArray(r.data?.list)?r.data.list:[]}}async function p5e(t,e){await cI(t);let r=String(e||"").trim();if(!r)return{url:"",msg:"\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};let n=await d5e("/nd.bizuserres.s/v1/get_res_download_url",{fileId:r}),s=String(n.data?.signedURL||n.data?.downloadUrl||"").trim();return s?{url:s,msg:""}:{url:"",msg:n.msg||"\u5149\u9E2D\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}async function m5e(t){let e=_sr(t);if(!e?.shareId)return{};let r=await Nsr(e.shareId);return Ps(await Esr("guangyapan"),r)}async function h5e(t){try{await cI(t);let[e,r]=String(t.body?.id||"").trim().split("*");if(!e||!r)return{parse:0,url:"",msg:"\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};let n=await u5e(e),s=await lV(r,n);return s.url||(String(P0.get("access_token")||"").trim()||String(P0.get("refresh_token")||"").trim())&&(s=await Osr(r,n)),s.url?{parse:0,url:["\u539F\u753B",s.url]}:{parse:0,url:"",msg:s.code===207||String(s.msg||"").includes("\u514D\u767B\u5F55\u4E0B\u8F7D")?"\u5149\u9E2D\u4E91\u76D8\u5206\u4EAB\u672A\u5F00\u542F\u514D\u767B\u5F55\u4E0B\u8F7D\uFF0C\u8BF7\u5148\u5728\u201C\u767B\u5F55-\u5149\u9E2D\u201D\u4E2D\u586B\u5165 access_token \u6216 refresh_token":s.msg||"\u83B7\u53D6\u5149\u9E2D\u4E0B\u8F7D\u5730\u5740\u5931\u8D25"}}catch(e){return{parse:0,url:"",msg:String(e?.message||e||"\u83B7\u53D6\u5149\u9E2D\u4E0B\u8F7D\u5730\u5740\u5931\u8D25")}}}var Co=async t=>globalThis.getPanName?await globalThis.getPanName(t):t,Tl=t=>{let e=globalThis.Pans?.find(r=>r.key===t)?.name;return String(e||t)};var Gr=l0,Psr=t=>t==null||t==="root"?"":String(t),dV=t=>{if(!t)return[];if(Array.isArray(t))return t;let e=[];return Object.keys(t).forEach(r=>{let n=t[r];if(!Array.isArray(n))return;let s=Psr(r);n.forEach(i=>{e.push({...i,vod_group:i?.vod_group??s})})}),e};async function qr(t,e){return{}}async function wr(t,e){t=Array.isArray(t)?t:[t];let r=t.map(o=>{let c=rf().find(u=>u.validator(o))?.key;return{key:c,url:o,order:globalThis.Pans.findIndex(u=>u.key===c)}}).filter(o=>o.key);r.sort((o,c)=>o.order-c.order);let n=[],s=[];(await Promise.allSettled(r.map(async({key:o,url:c})=>{if(o==="ali")return await tBe(c);if(o==="quark")return await hBe(c);if(o==="uc")return await M4e(c);if(o==="tianyi"){let u=await tf.getShareData(c);if(!u)return null;let l=await Co("tianyi");return Ps(l,dV(u))}if(o==="yidong"){let u=await WK.getShareData(c),l=await Co("yidong");return Ps(l,dV(u))}if(o==="123"){let u=await N0.getShareData(c),l=await N0.getFilesByShareUrl(u),d=await Co("123");return Ps(d,dV(l))}return o==="115"?await U6e(c,e):o==="baidu"?await V6e(c,e):o==="xunlei"?await X6e(c,e):o==="guangyapan"?await m5e(c):null}))).forEach((o,c)=>{if(o.status==="fulfilled"){let d=o.value;d&&d.from&&d.url&&(n.push(d.from),s.push(d.url));return}let u=String(r[c]?.key||"unknown"),l=String(o.reason?.message||o.reason||"unknown error");console.warn(`[Pan Detail] ${u} detail failed: ${l}`)});let a={};return n.forEach((o,c)=>{a[o]?n[c]=`${o}-${++a[o]}`:a[o]=1}),{froms:n.join("$$$"),urls:s.join("$$$")}}async function Rr(t,e){let r=t.params.site;if(r=="ali")return await g3(t,e);if(r=="quark")return await E3(t,e);if(r=="uc")return await W4e(t,e);if(r=="baidu")return await lB(t,e)}async function Nr(t,e){let r=t.body.flag;if(r.startsWith(await Co("ali")))return await A3(t,e);if(r.startsWith(await Co("quark")))return await _3(t,e);if(r.startsWith(await Co("uc")))return await $4e(t,e);if(r.startsWith(await Co("tianyi"))){let n=t.body.id.split("*");await rb(t);let s=n[2]||"video",i=n[3]||"",a=n[4]||"";if(s==="cas")try{let c=await tf.getShareTextPlayable(n[0],n[1],i,a);if(!c?.url){let u=tf.getShareTextResolveReason?tf.getShareTextResolveReason():"";throw new Error(u||"\u5929\u7FFCCAS\u89E3\u6790\u5931\u8D25")}return{parse:0,url:["\u539F\u753B",c.url],...c.header?{header:c.header}:{}}}catch(c){throw c}return{parse:0,url:["\u539F\u753B",await tf.getShareUrl(n[0],n[1])]}}else if(r.startsWith(await Co("yidong"))){let n=t.body.id.split("*");return{parse:0,url:["\u539F\u753B",await WK.getSharePlay(n[0],n[1],n[2]||"",n[3]||"")]}}else if(r.startsWith(await Co("123"))){await nb(t);let n=t.body.id.split("*");return{parse:0,url:["\u539F\u753B",await N0.getDownload(...n)],header:N0.getDownloadHeader()}}else{if(r.startsWith(await Co("115")))return await q6e(t,e);if(r.startsWith(await Co("baidu")))return await uB(t,e);if(r.startsWith(await Co("xunlei")))return await Z6e(t,e);if(r.startsWith(await Co("guangyapan")))return await h5e(t,e)}}async function y5e(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);n.init=s.json(),lI(s.json()),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),lI(s.json());let i=!1;if(n.home.class&&n.home.class.length>0){let a=n.home.class[0].type_id,o={};if(n.home.filters){let c=n.home.filters[a];if(c)for(let u of c){let l=u.init;if(l){for(let d of u.value)if(d.v==l){o[u.key]=l;break}}}}if(s=await t.server.inject().post(`${r}/category`).payload({id:a,page:1,filter:!0,filters:o}),n.category=s.json(),lI(s.json()),n.category.list.length>0){i=!0;let c=n.category.list[0].vod_id;await A5e(t,c,n)}}if(s=await t.server.inject().post(`${r}/search`).payload({wd:"\u4ED9\u9006",page:1}),n.search=s.json(),!i&&n.search.list.length>0){let a=n.search.list[0].vod_id;await A5e(t,a,n)}return lI(s.json()),n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}async function A5e(t,e,r){let n=t.server.prefix,s=await t.server.inject().post(`${n}/detail`).payload({id:e});if(r.detail=s.json(),lI(s.json()),r.detail.list&&r.detail.list.length>0){r.play=[];for(let i of r.detail.list){let a=i.vod_play_from.split("$$$"),o=i.vod_play_url.split("$$$");for(let c=0;c<a.length;c++){let u=a[c],l=o[c].split("#");for(let d=0;d<l.length&&d<2;d++)s=await t.server.inject().post(`${n}/play`).payload({flag:u,id:l[d].split("$")[1]}),r.play.push(s.json())}}}}function lI(t){t.statusCode&&t.statusCode==500&&console.error(t)}var ksr={yidong:"https://yun.139.com/w/static/img/LOGO.png",tianyi:"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/a8/fa/f0/a8faf032-0fa4-d9c5-ac70-920d9c84dff1/AppIcon-0-0-1x_U007emarketing-0-7-0-0-sRGB-85-220.png/350x350.png",115:"https://img.pcsoft.com.cn/soft/202104/093230-608b5e2ed5912.jpg",quark:"https://ts1.cn.mm.bing.net/th/id/R-C.a0d60e6a72806738e6f0b711a979bdf5?rik=lp5C9t5sYlkrLw&riu=http%3a%2f%2fpic.2265.com%2fupload%2f2020-10%2f202010151719492792.png&ehk=Pv6rq3JxJvKe2y1QsdzssyZ4Ez4cwiKWmIvK0aMgxi0%3d&risl=&pid=ImgRaw&r=0",uc:"https://ts1.cn.mm.bing.net/th/id/R-C.421c96e47df7c9719403654ee4f7c281?rik=yiiEoGCTgDDc3w&riu=http%3a%2f%2fpic.9663.com%2fupload%2f2023-5%2f20235111411256277.png&ehk=R81N%2flXMrl%2bxpRlST8DtHXDfab6rzaMb83gihuD71Fk%3d&risl=&pid=ImgRaw&r=0",ali:"https://inews.gtimg.com/newsapp_bt/0/13263837859/1000",123:"https://statics.123957.com/static/favicon.ico",baidu:"https://nd-static.bdstatic.com/m-static/v20-main/home/img/icon-home-new.b4083345.png",xunlei:"https://img.geekie.site/i/2026/03/22/190713.png",guangyapan:"https://www.guangyapan.com/icon.png"},wl=t=>{let e=globalThis.Pans?.find(n=>n.key===t)?.pic,r=String(e||"").trim();return r||ksr[t]||""},rf=()=>[{key:"quark",name:Tl("quark"),validator:d3,pic:wl("quark")},{key:"uc",name:Tl("uc"),validator:f3,pic:wl("uc")},{key:"ali",name:Tl("ali"),validator:l3,pic:wl("ali")},{key:"baidu",name:Tl("baidu"),validator:M3e,pic:wl("baidu")},{key:"xunlei",name:Tl("xunlei"),validator:W3e,pic:wl("xunlei")},{key:"tianyi",name:Tl("tianyi"),validator:k3e,pic:wl("tianyi")},{key:"yidong",name:Tl("yidong"),validator:D3e,pic:wl("yidong")},{key:"123",name:Tl("123"),validator:B3e,pic:wl("123")},{key:"115",name:Tl("115"),validator:L3e,pic:wl("115")},{key:"guangyapan",name:Tl("guangyapan"),validator:$3e,pic:wl("guangyapan")}];var Dsr=["https://tv.yydsys.cc","https://tv.yydsys.top","https://tv.214521.xyz","https://yydsys.de5.net"],fV=async t=>(await t.db.getObjectDefault("/duoduo",{}))?.urls||t.config.duoduo?.urls||Dsr,Bsr=async(t,e)=>{await t.db.push("/duoduo/urls",e)},Lsr=async t=>{await t.db.delete("/duoduo/urls")};async function pV(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await fV(e.server)})}),t.put("/urls",async(e,r)=>{await Bsr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Lsr(e.server),r.send({code:0})})}var mV,mB=t=>{if(!mV){let e=Date.now();mV=new Promise(async r=>{let n=await fV(t),s=await Xn(n,{"User-Agent":Gr});console.log("\u591A\u591A\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return mV};function Msr(t){if(typeof t!="string"||t.length===0)return t;let r=t.indexOf('"<!DOCTYPE html');if(r<0)return t;let n=-1,s=!1;for(let a=r+1;a<t.length;a++){let o=t[a];if(s){s=!1;continue}if(o==="\\"){s=!0;continue}if(o==='"'){n=a;break}}if(n<0)return t;let i=t.slice(r,n+1);try{let a=JSON.parse(i);return typeof a=="string"&&a.length>0?a:t}catch{return t}}async function hV(t){let e=await he.get(t,{headers:{"User-Agent":Gr}});return Msr(e.data)}function gV(t){return String(t||"").replace(/\/$/,"")}function Wsr(t,e){let r=e;return t("#page a").each((n,s)=>{let i=t(s).attr("href"),a=i&&i.match(/\/page\/(\d+)\.html/i);if(!a)return;let o=parseInt(a[1],10);Number.isNaN(o)||(r=Math.max(r,o))}),r}async function $sr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"5",type_name:"\u77ED\u5267"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"20",type_name:"\u7EAA\u5F55"}],filters:{}}}async function Fsr(t,e){let r=await mB(t.server),n=t.body.id,s=t.body.page,i=parseInt(s,10);(!i||i<1)&&(i=1);let o=`${gV(r)}/index.php/vod/show/id/${n}/page/${i}.html`,c=await hV(o),u=Me(c),l=u("#main .module-item").map((f,p)=>{let m=u(p).find(".module-item-pic a").attr("href"),h=u(p).find(".module-item-pic img").attr("alt"),A=u(p).find(".module-item-pic img").attr("data-src")||u(p).find(".module-item-pic img").attr("src"),g=u(p).find(".module-item-text").text().trim();return{vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g}}).get().filter(f=>f.vod_id&&f.vod_name),d=Wsr(u,i);return{page:i,pagecount:d,limit:72,total:72*d,list:l}}async function Usr(t,e){let r=await mB(t.server),n=gV(r),s=Array.isArray(t.body.id)?t.body.id:[t.body.id],i=[];for(let a of s)try{let o=await hV(`${n}${a}`),c=Me(o),u={vod_id:a,vod_name:c(".page-title").first().text().trim(),vod_pic:c(".mobile-play .lazyload").first().attr("data-src")||c(".mobile-play img").first().attr("data-src")||c(".mobile-play img").first().attr("src"),vod_remarks:c('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""};c(".video-info-itemtitle").each((f,p)=>{let m=c(p).text(),h=c(p).next().find("a").map((A,g)=>c(g).text().trim()).get().filter(Boolean).join(", ");m.includes("\u5267\u60C5")?u.vod_content=c(p).next().find("p").text().trim():m.includes("\u5BFC\u6F14")?u.vod_director=h.trim():m.includes("\u4E3B\u6F14")&&(u.vod_actor=h.trim())});let l=c(".module-row-info p").map((f,p)=>c(p).text().trim()).get().filter(Boolean),d=await wr(l,t);d&&(u.vod_play_from=d.froms,u.vod_play_url=d.urls),i.push(u)}catch(o){console.error("duoduo detail fetch failed",a,o)}return{list:i}}async function qsr(t,e){let r=await mB(t.server),n=gV(r),s=t.body.page,i=t.body.wd,a=parseInt(s,10);(!a||a<1)&&(a=1);let o=encodeURIComponent(i||""),c=[`${n}/index.php/vod/search/page/${a}/wd/${o}.html`,`${n}/index.php/vod/search/wd/${o}.html`,`${n}/index.php/vod/search.html?wd=${o}&page=${a}`];for(let u of c)try{let l=await hV(u),d=Me(l),f=d(".module-search-item").map((p,m)=>{let h=d(m).find(".video-serial"),A=d(m).find(".module-item-pic > img");return{vod_id:h.attr("href"),vod_name:h.attr("title"),vod_pic:A.attr("data-src")||A.attr("src"),vod_remarks:h.text()}}).get().filter(p=>p.vod_id&&p.vod_name);if(f.length>0)return{page:a,pagecount:f.length<10?a:a+1,list:f}}catch{}return{page:a,pagecount:a,list:[]}}var x5e={meta:{key:"duoduo",name:"\u300C\u76D8\u300D\u591A\u591A",type:3},api:async t=>{t.post("/init",qr),t.post("/home",$sr),t.post("/category",Fsr),t.post("/detail",Usr),t.post("/play",Nr),t.post("/search",qsr),t.get("/test",y5e),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)},check:mB};var yw=Re(Jn(),1),kit=Re(S0(),1);var Iit=Re(require("http"),1);var gw=Re(require("fs"),1),nae=Re(require("path"),1);var b5e=Re(require("os"),1),jsr=t=>{if(!t)return!1;let e=typeof t.family=="string"?t.family:String(t.family||"");return e==="IPv4"||e==="4"},Hsr=t=>{let e=String(t||"").trim();return/^\d{1,3}(\.\d{1,3}){3}$/.test(e)?e.split(".").every(r=>{let n=Number(r);return Number.isInteger(n)&&n>=0&&n<=255}):!1},Qsr=t=>/^192\.168\./.test(t)||/^10\./.test(t)||/^172\.(1[6-9]|2\d|3[0-1])\./.test(t),AV=t=>/^100\.(6[4-9]|[7-9]\d|1[01]\d|12[0-7])\./.test(t),Gsr=t=>{let e=String(t||"").trim();return/^0\./.test(e)||/^127\./.test(e)||/^169\.254\./.test(e)||/^192\.0\.0\./.test(e)||/^192\.0\.2\./.test(e)||/^198\.18\./.test(e)||/^198\.19\./.test(e)||/^198\.51\.100\./.test(e)||/^203\.0\.113\./.test(e)||/^22[4-9]\./.test(e)||/^23\d\./.test(e)||/^24\d\./.test(e)||/^25[0-5]\./.test(e)},yV=(t="")=>/(rmnet|ccmni|pdp|wwan|cell|mobile|clat|v4-rmnet)/i.test(String(t||"")),Ksr=(t="")=>/(wlan|wi-?fi|eth|en\d|lan|bridge)/i.test(String(t||"")),xV=(t="")=>/(virtual|veth|vethernet|vmware|vbox|hyper-v|docker|podman|br-|wsl|utun|tun|tap|tailscale|zerotier|wireguard|wg|clash|mihomo|loopback|pseudo)/i.test(String(t||"")),Vsr=t=>{let e=0;return/^192\.168\./.test(t.ip)?e+=300:/^172\.(1[6-9]|2\d|3[0-1])\./.test(t.ip)?e+=260:/^10\./.test(t.ip)?e+=220:AV(t.ip)||(e+=180),Ksr(t.name)&&(e+=80),yV(t.name)&&(e-=320),xV(t.name)&&(e-=260),AV(t.ip)&&(e-=220),e},k0=function(){let t=String(process.env.CATPAW_HOST_IP||process.env.HOST_IP||"").trim();if(Hsr(t))return t;let e=b5e.default.networkInterfaces()||{},r=[];Object.entries(e).forEach(([a,o])=>{Array.isArray(o)&&o.forEach(c=>{if(!jsr(c)||c.internal)return;let u=String(c.address||"").trim();!u||u.startsWith("169.254.")||Gsr(u)||r.push({ip:u,name:String(a||"")})})});let n=r.map(a=>({...a,score:Vsr(a)})).sort((a,o)=>o.score-a.score),s=n.find(a=>{let o=yV(a.name),c=xV(a.name);return!o&&!c&&!AV(a.ip)});if(s)return s.ip;let i=n.find(a=>Qsr(a.ip)&&!yV(a.name)&&!xV(a.name));return i?i.ip:"127.0.0.1"};Ot();ir();_t();kB();$n();Ot();_t();ir();so();function Pir(t,e,r=!1){if(e===0&&!r)return t.map(i=>({...i,t:i.t!==void 0?i.t:parseFloat(i.p.split(",")[0])}));let n=t.reduce((i,a)=>{let o=a.t!==void 0?a.t:parseFloat(a.p.split(",")[0]),c=e===0?o.toFixed(2):Math.floor(o/(e*60));return i[c]||(i[c]=[]),i[c].push({...a,t:o}),i},{});return Object.keys(n).map(i=>{let o=n[i].reduce((c,u)=>{let l=u.m.split(" X")[0].trim();if(c[l]||(c[l]={count:0,earliestT:u.t,cid:u.cid,p:u.p,like:0,sources:new Set}),c[l].count+=1,c[l].earliestT=Math.min(c[l].earliestT,u.t),c[l].like+=u.like!==void 0?u.like:0,u.p){let d=u.p.match(/\[([^\]]*)\]$/);d&&d[1]&&d[1].split(/[&&]/).forEach(f=>{f.trim()&&c[l].sources.add(f.trim())})}return c},{});return Object.keys(o).map(c=>{let u=o[c],l=Math.max(1,u.sources.size),d=Math.round(u.count/l);d<1&&(d=1);let f=Array.from(u.sources).join("\uFF06"),p=u.p.replace(/\[([^\]]*)\]$/,`[${f}]`);return{cid:u.cid,p,m:d>1?`${c}\u200Ax\u200A${d}`:c,t:u.earliestT,like:u.like}})}).flat().sort((i,a)=>i.t-a.t)}function kir(t){if(!O.likeSwitch)return t;let e=new Set(["[hanjutv]","[sohu]","[bilibili1]","[migu]"]);return t.map(r=>{if(!r.like||r.like<5)return r;let n=r.p.match(/,(\[[^\]]+\])$/)?.[1]||"",a=n.includes("\u97E9\u5C0F\u5708")||n.includes("\u6781\u901F\u7248")||e.has(n)?100:1e3,o=r.like>=a?"\u{1F525}":"\uFE0F\u2661",c;r.like>=1e4?c=(r.like/1e4).toFixed(1)+"w":r.like>=1e3?c=(r.like/1e3).toFixed(1)+"k":c=r.like.toString();let u=`\u200A${o}${c}`,l=r.m+u,{like:d,...f}=r;return{...f,m:l}})}function Dir(t,e){if(e===0)return t;let r=e*1e3,n=t.length;if(n<=r)return t;let s=n/r,i=[];for(let a=0;a<r;a++){let o=Math.floor(a*s);i.push(t[o])}return i}function BI(t,e){let r=[],n=1,s=!1,i=[];if(typeof t=="string")i=[...t.matchAll(/<d p="([^"]+)">([^<]+)<\/d>/g)].map(f=>({p:f[1],m:f[2]}));else if(t&&Array.isArray(t.danmuku)){let f={right:1,top:4,bottom:5},p=m=>m?parseInt(m.replace("#",""),16):16777215;i=t.danmuku.map(m=>({timepoint:m[0],ct:f[m[1]]!==void 0?f[m[1]]:1,color:p(m[2]),content:m[4]}))}else Array.isArray(t)&&(i=t);if(!i.length)return[];for(let f of i){let p,m,h,A,g;if("progress"in f&&"mode"in f&&"content"in f)h=(f.progress/1e3).toFixed(2),A=f.mode||1,g=f.color||16777215,m=f.content;else if("timepoint"in f)h=parseFloat(f.timepoint).toFixed(2),A=f.ct||0,g=f.color||16777215,m=f.content;else{if(!("p"in f))continue;let y=f.p.split(",");h=parseFloat(y[0]).toFixed(2),A=y[1]||0,y.length===4?g=y[2]||16777215:y.length>=8?g=y[3]||16777215:g=y[3]||y[2]||16777215,m=f.m}let b=f._sourceLabel||e;f.realTimeSource&&!b.includes(f.realTimeSource)&&(b=`${b}\uFF06${f.realTimeSource}`),!s&&/[&&]/.test(b)&&(s=!0),p=[h,A,g,`[${b}]`].join(","),r.push({p,m,cid:n++,like:f?.like})}let a=O.blockedWords.split(/(?<=\/),(?=\/)/).map(f=>{let p=f.trim();if(p.startsWith("/")&&p.endsWith("/"))try{return new RegExp(p.slice(1,-1))}catch(m){return _("error",`[Utils] [Danmu] \u65E0\u6548\u7684\u6B63\u5219\u8868\u8FBE\u5F0F: ${p}`,m),null}return null}).filter(f=>f!==null);_("info",`[Utils] [Danmu] \u539F\u59CB\u5C4F\u853D\u8BCD\u5B57\u7B26\u4E32: ${O.blockedWords}`),_("info",`[Utils] [Danmu] \u5C4F\u853D\u8BCD\u5217\u8868: ${(f=>Array.isArray(f)?f.map(p=>p.toString()).join(`
|
|
`):String(f))(a)}`);let c=r.filter(f=>!a.some(p=>p.test(f.m)));_("info",`[Utils] [Danmu] \u53BB\u91CD\u5206\u949F\u6570: ${O.groupMinute}`);let u=Pir(c,O.groupMinute,s),l=kir(u),d=Dir(l,O.danmuLimit);if(O.convertTopBottomToScroll||O.convertColor==="white"||O.convertColor==="color"){let f=0,p=0;d=d.map(m=>{let h=m.p.split(",");if(h.length<3)return m;let A=parseInt(h[1],10),g=parseInt(h[2],10),b=!1;O.convertTopBottomToScroll&&(A===4||A===5)&&(f++,A=1,b=!0),O.convertColor==="white"&&g!==16777215&&(p++,g=16777215,b=!0);let y=O.colorPool.split(",").map(v=>parseInt(v.trim(),10)).filter(v=>!isNaN(v)&&v>=0&&v<=16777215),x=y[Math.floor(Math.random()*y.length)];if(O.convertColor==="color"&&g===16777215&&g!==x&&(p++,g=x,b=!0),b){let v=[h[0],A,g,...h.slice(3)].join(",");return{...m,p:v}}return m}),f>0&&_("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${f} \u6761\u9876\u90E8/\u5E95\u90E8\u5F39\u5E55\u4E3A\u6D6E\u52A8\u5F39\u5E55`),p>0&&_("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${p} \u6761\u5F39\u5E55\u989C\u8272`)}return O.danmuSimplifiedTraditional==="traditional"&&(d=d.map(f=>({...f,m:No(f.m)})),_("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${d.length} \u6761\u5F39\u5E55\u4E3A\u7E41\u4F53\u5B57`)),_("info",`[Utils] [Danmu] danmus_original: ${r.length}`),_("info",`[Utils] [Danmu] danmus_filter: ${c.length}`),_("info",`[Utils] [Danmu] danmus_group: ${u.length}`),_("info",`[Utils] [Danmu] danmus_limit: ${d.length}`),_("info","[Utils] [Danmu] Top 5 danmus:",JSON.stringify(d.slice(0,5),null,2)),d}function cz(t){return typeof t.r!="number"||t.r<0||t.r>255||typeof t.g!="number"||t.g<0||t.g>255||typeof t.b!="number"||t.b<0||t.b>255?-1:t.r*256*256+t.g*256+t.b}function hb(t){return typeof t!="string"||t.length!==6||!/^[0-9A-Fa-f]{6}$/.test(t)?16777215:parseInt(t,16)}function Bir(t){let e=`<?xml version="1.0" ?>
|
|
`;e+=`<i>
|
|
`;let r=t.comments||[];if(Array.isArray(r))for(let n of r){let s=Mir(n);e+=' <d p="'+Wir(s)+'">'+$ir(n.m)+`</d>
|
|
`}return e+="</i>",e}function Lir(){let e=(Date.now()%1e8).toString().padStart(8,"0"),r=Math.floor(Math.random()*1e3).toString().padStart(3,"0");return e+r}function Mir(t){let e=t.p.split(","),n=(parseFloat(e[0])||0).toFixed(1),s=e[1]||"1",i="25",a=e[2]||"16777215",o="1751533608",c="0",u="0",l=Lir();return`${n},${s},${i},${a},${o},${c},${u},${l}`}function Wir(t){return t?String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"):""}function $ir(t){return t?String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"):""}function ag(t,e){let r=e||O.danmuOutputFormat;if(r=r.toLowerCase(),_("info",`[Utils] [Danmu] [Format] Using format: ${r}`),r==="xml")try{let n=Bir(t);return _8e(n)}catch(n){return _("error",`[Utils] [Danmu] Failed to convert to XML: ${n.message}`),Le(t)}return Le(t)}ir();var df=class{constructor({apiKey:e,baseURL:r="https://api.openai.com/v1",model:n="gpt-4o",systemPrompt:s=""}){this.apiKey=e,this.baseURL=r.replace(/\/$/,""),this.model=n,this.systemPrompt=s}async chat(e,r={}){let n={model:r.model||this.model,messages:e,temperature:r.temperature??0,max_tokens:r.maxTokens??8192,stream:!1},s=await Kr(`${this.baseURL}/chat/completions`,JSON.stringify(n),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},timeout:6e4}),i=s.data;if(i?.error){let a=i.error.message;throw new Error(`AI API error ${s.status}: ${a}`)}return i.choices[0].message.content}async ask(e,r={}){let n=[];return this.systemPrompt&&n.push({role:"system",content:this.systemPrompt}),n.push({role:"user",content:e}),this.chat(n,r)}session(e={}){let r=[],n=this.chat.bind(this),s=this.systemPrompt;return s&&r.push({role:"system",content:s}),{async send(i){r.push({role:"user",content:i});let a=await n(r,e);return r.push({role:"assistant",content:a}),a},clear(){r.length=0,s&&r.push({role:"system",content:s})},getHistory(){return[...r]}}}async verify(){try{return{ok:!0,reply:await this.ask("hi",{maxTokens:1})}}catch(e){return{ok:!1,error:e.message}}}};var ga=Re(require("fs"),1),zB=Re(require("path"),1);bI();Ot();_t();hn();so();var Hn=null,KB=0,Oo=!1,GB=0,gb="0.00",LI=!1,U0=new Map,H8e="custom",Q8e=null,G8e=null,VB=zB.default.join(process.cwd(),".cache"),Y8e="bangumi-data-cache.json",Fir=2e4,og=new Map,K8e={custom:["https://cdn.jsdelivr.net/npm/@wan0ge/[email protected]/dist/data.json","https://unpkg.com/@wan0ge/[email protected]/dist/data.json"],official:["https://cdn.jsdelivr.net/npm/[email protected]/dist/data.json","https://unpkg.com/[email protected]/dist/data.json"]},Uir="@wan0ge/bangumi-data",qir="bangumi-data",jir=/(?:普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½]|æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²])(?:版)?/,J8e=/(?:\s+|^)(?:第?\s*(?:\d+|[一二三四五å…七八ä¹å]+)\s*[壿œŸéƒ¨]|season\s*\d+|s\d+|part\s*\d+|act\s*\d+|phase\s*\d+|the\s+final\s+season|(?:movie|film|ova|oad|sp|剧场版|åŠ‡å ´ç‰ˆ|ç»[篇集]|å¤–ä¼ )(?![a-z]))|[::~~]|\s+.*?篇|(?<=\s|^)\d+$/gi,Hir=/\s+/g,Qir=/[,,]/,Gir=/[::]/;function lz(t){let e=new Map,r=t.length;for(let n=0;n<r;n++){let s=t[n]._flatText;if(!s)continue;let i=new Set(s);for(let a of i){if(a.trim()==="")continue;let o=e.get(a);o||(o=[],e.set(a,o)),o.push(n)}}U0=e}function V8e(t){if(!t||typeof t!="string")return null;let e=t.match(/^(\d+)\.(\d+)\.(\d+)$/);return e?{major:parseInt(e[1],10),minor:parseInt(e[2],10),patch:parseInt(e[3],10)}:null}function Kir(t,e){let r=V8e(t),n=V8e(e);return!r||!n?0:r.major!==n.major?r.major-n.major:r.minor!==n.minor?r.minor-n.minor:r.patch!==n.patch?r.patch-n.patch:0}async function z8e(t){try{let e=`https://registry.npmjs.org/${encodeURIComponent(t)}/latest`;_("info",`[\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${e}`);let r=await cb(e,{headers:{Accept:"application/json"},signal:AbortSignal.timeout(8e3)});return r.ok&&(await r.json())?.version||null}catch(e){return _("warn",`[Utils] [Bangumi-Data] \u67E5\u8BE2 ${t} \u7248\u672C\u53F7\u5931\u8D25: ${e.message}`),null}}async function Vir(){try{let[t,e]=await Promise.all([Q8e||z8e(Uir),G8e||z8e(qir)]);if(t&&(Q8e=t),e&&(G8e=e),!t||!e)return _("info",`[Utils] [Bangumi-Data] \u7248\u672C\u68C0\u6D4B\u4E0D\u5B8C\u6574 (custom=${t}, official=${e})\uFF0C\u9ED8\u8BA4\u4F7F\u7528\u81EA\u5B9A\u4E49\u6E90`),"custom";let n=Kir(t,e)>=0?"custom":"official";return _("info",`[Utils] [Bangumi-Data] \u7248\u672C\u5BF9\u6BD4: @wan0ge/bangumi-data@${t} vs bangumi-data@${e} => \u4F7F\u7528${n==="custom"?"\u81EA\u5B9A\u4E49":"\u5B98\u65B9"}\u6E90`),n}catch(t){return _("warn",`[Utils] [Bangumi-Data] \u6570\u636E\u6E90\u9009\u62E9\u5F02\u5E38\uFF0C\u56DE\u9000\u5230\u81EA\u5B9A\u4E49\u6E90: ${t.message}`),"custom"}}async function YB(t,e=!1,r=null){if(!O.useBangumiData)return;let n=null,s=O.bangumiDataCacheDays!==void 0?O.bangumiDataCacheDays:7,i=s*24*60*60*1e3;if(t==="node"?ga.default.existsSync(VB)?n=zB.default.join(VB,Y8e):LI||(_("warn","[Utils] [Bangumi-Data] \u672A\u68C0\u6D4B\u5230\u6839\u76EE\u5F55\u7684 .cache \u6587\u4EF6\u5939\uFF01"),_("warn","[Utils] [Bangumi-Data] \u6309\u7167\u9879\u76EE\u89C4\u8303\uFF0C\u8BF7\u624B\u52A8\u6302\u8F7D\u6216\u521B\u5EFA .cache \u76EE\u5F55\u4EE5\u542F\u7528\u6301\u4E45\u5316\u3002"),_("warn","[Utils] [Bangumi-Data] \u672C\u6B21\u8FD0\u884C\u5DF2\u9000\u5316\u4E3A\u7EAF\u5185\u5B58\u6A21\u5F0F (\u91CD\u542F\u540E\u9700\u91CD\u65B0\u4E0B\u8F7D)\u3002"),LI=!0):LI||(_("info",`[Utils] [Bangumi-Data] \u68C0\u6D4B\u5230 ${t} \u4E91\u73AF\u5883\uFF0C\u5F53\u524D\u8FD0\u884C\u4E8E\u7EAF\u5185\u5B58\u52A0\u901F\u6A21\u5F0F\u3002`),LI=!0),Oo&&Date.now()-GB>Fir&&(_("warn","[Utils] [Bangumi-Data] \u68C0\u6D4B\u5230\u4E0B\u8F7D\u72B6\u6001\u9501\u6B7B (\u7531\u4E8E Serverless \u8FDB\u7A0B\u4F11\u7720/\u5F3A\u6740\u5BFC\u81F4)\uFF0C\u5F3A\u5236\u91CA\u653E\u9501..."),Oo=!1),Hn){if(s>0&&Date.now()-KB<i)return;e&&!Oo&&(_("info",`[Utils] [Bangumi-Data] \u5185\u5B58\u6570\u636E${s===0?"\u5F3A\u5236\u66F4\u65B0":"\u5DF2\u8FC7\u671F"}\uFF0C\u4FDD\u7559\u8001\u6570\u636E\u670D\u52A1\u672C\u6B21\u8BF7\u6C42\uFF0C\u542F\u52A8\u540E\u53F0\u9759\u9ED8\u66F4\u65B0...`),Oo=!0,GB=Date.now(),uz(n).finally(()=>{Oo=!1}));return}if(n&&ga.default.existsSync(n))try{let a=ga.default.statSync(n),o=process.memoryUsage().heapUsed,c=Date.now();Hn=JSON.parse(ga.default.readFileSync(n,"utf-8")),Hn?.items?.length>0&&Hn.items[0]._flatText===void 0?(Hn=X8e(Hn),ga.default.writeFileSync(n,JSON.stringify(Hn),"utf-8"),lz(Hn.items)):Hn?.items?.length>0&&lz(Hn.items);let u=process.memoryUsage().heapUsed,l=Date.now()-c;gb=Math.max(0,(u-o)/1024/1024).toFixed(2);let d=(process.memoryUsage().rss/1024/1024).toFixed(2);KB=Date.now(),_("info",`[Utils] [Bangumi-Data] \u6210\u529F\u4ECE\u672C\u5730\u78C1\u76D8\u52A0\u8F7D\u57FA\u7840\u6570\u636E\uFF0C\u6761\u76EE\u6570: ${Hn.items.length}\uFF0C\u89E3\u6790\u8017\u65F6: ${l} ms\uFF0C\u7EA6\u5360\u5185\u5B58: ${gb} MB`),(s===0||Date.now()-a.mtimeMs>=i)&&e&&!Oo&&(_("info",`[Utils] [Bangumi-Data] \u78C1\u76D8\u6570\u636E${s===0?"\u5F3A\u5236\u66F4\u65B0":"\u5DF2\u8FC7\u671F"}\uFF0C\u4FDD\u7559\u8001\u6570\u636E\u670D\u52A1\u672C\u6B21\u8BF7\u6C42\uFF0C\u542F\u52A8\u540E\u53F0\u9759\u9ED8\u66F4\u65B0...`),Oo=!0,GB=Date.now(),uz(n).finally(()=>{Oo=!1}));return}catch(a){_("error","[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u89E3\u6790\u5931\u8D25\uFF0C\u51C6\u5907\u91CD\u65B0\u4E0B\u8F7D",a.message),Hn=null}if(Oo){if(e){_("info","[Utils] [Bangumi-Data] \u6B63\u5728\u7B49\u5F85\u57FA\u7840\u6570\u636E\u4E0B\u8F7D\u5B8C\u6210...");let a=0;for(;Oo;){if(a>150){_("warn","[Utils] [Bangumi-Data] \u7B49\u5F85\u6392\u961F\u8D85\u65F6\uFF0C\u653E\u5F03\u7B49\u5F85"),Oo=!1;break}await new Promise(o=>setTimeout(o,100)),a++}}}else{_("info","[Utils] [Bangumi-Data] \u672A\u547D\u4E2D\u4EFB\u4F55\u6709\u6548\u7F13\u5B58\uFF0C\u6B63\u5728\u83B7\u53D6\u57FA\u7840\u6570\u636E..."),Oo=!0,GB=Date.now();let a=uz(n).finally(()=>{Oo=!1});e?await a:(_("info","[Utils] [Bangumi-Data] \u5F53\u524D\u975E\u6838\u5FC3\u8BF7\u6C42\uFF0C\u6570\u636E\u83B7\u53D6\u8F6C\u5165\u540E\u53F0\u5F02\u6B65\u6267\u884C"),r&&typeof r.waitUntil=="function"&&(_("info","[Utils] [Bangumi-Data] \u8C03\u7528 ctx.waitUntil \u5EF6\u957F Serverless \u751F\u547D\u5468\u671F"),r.waitUntil(a)))}}var zir=new Set(["anidb","bangumi","gamer","gamer_hk","bilibili","bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw","tmdb"]);function X8e(t){if(!t||!t.items)return{items:[]};let e=[];for(let r of t.items){let n=[];if(r.sites){for(let o of r.sites)if(zir.has(o.site)){let c={site:o.site,id:o.id};o.season_id&&(c.season_id=String(o.season_id)),o.video_sn&&(c.video_sn=String(o.video_sn)),o.comment&&(c.comment=o.comment),o.related&&(c.related=o.related),n.push(c)}}if(n.length===0)continue;let s={title:r.title,type:r.type,sites:n};r.begin&&(s.begin=r.begin),r.titleTranslate&&(s.titleTranslate=r.titleTranslate);let i=r.title;if(r.titleTranslate)for(let o in r.titleTranslate){let c=r.titleTranslate[o];for(let u=0;u<c.length;u++)i+=c[u]}let a=Qt(i);s._flatText=Fr(a).toLowerCase().replace(J8e,""),e.push(s)}return{items:e}}async function uz(t){_("info","[Utils] [Bangumi-Data] \u5F00\u59CB\u4F18\u9009\u8282\u70B9\u4E0B\u8F7D\u6700\u65B0\u6570\u636E\u5E76\u6267\u884C\u7CBE\u7B80...");try{let e=process.memoryUsage().heapUsed,r=Date.now(),n=0;H8e=await Vir();let s=K8e[H8e]||K8e.custom,i={headers:{"Accept-Encoding":"br, gzip, deflate"}},a=s.map(()=>new AbortController);s.forEach(p=>{_("info",`[\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${p}`)});let o=s.map(async(p,m)=>{let h=a[m],A=await cb(p,{...i,signal:h.signal});if(!A.ok)throw new Error(`HTTP error ${A.status} from ${p}`);let g=await A.json(),b=g.items?g.items.length:0;if(h.signal.aborted)throw new Error("Aborted before parsing");let y=Date.now(),x=X8e(g),v=Date.now()-y,I=null;return t&&!h.signal.aborted&&(I=`${t}.tmp${m}`,ga.default.writeFileSync(I,JSON.stringify(x),"utf-8")),{index:m,url:p,tempFilePath:I,resultData:x,pruneCost:v,originalCount:b}}),c=await Promise.any(o);a.forEach((p,m)=>{m!==c.index&&p.abort()}),t&&(s.forEach((p,m)=>{if(m!==c.index){let h=`${t}.tmp${m}`;if(ga.default.existsSync(h))try{ga.default.unlinkSync(h)}catch{}}}),ga.default.renameSync(c.tempFilePath,t));let u=((Date.now()-r)/1e3).toFixed(2);_("info",`[Utils] [Bangumi-Data] \u7CBE\u7B80\u6570\u636E\u5DF2\u6210\u529F\u5199\u5165\u78C1\u76D8 (\u8282\u70B9: ${new URL(c.url).hostname} ,\u9636\u6BB5\u8017\u65F6: ${u} \u79D2)`),Hn=c.resultData,n=c.pruneCost,lz(Hn.items),og.clear();let l=process.memoryUsage().heapUsed,d=((Date.now()-r)/1e3).toFixed(2);gb=Math.max(0,(l-e)/1024/1024).toFixed(2);let f=(process.memoryUsage().rss/1024/1024).toFixed(2);KB=Date.now(),_("info",`[Utils] [Bangumi-Data] \u52A0\u8F7D\u5230\u5185\u5B58\u6210\u529F\uFF0C\u4FDD\u7559/\u539F\u59CB\u6761\u76EE\u6570: ${Hn.items.length} / ${c.originalCount}\uFF0C\u5904\u7406\u8017\u65F6: ${n} ms\uFF0C\u5168\u94FE\u8DEF\u603B\u8017\u65F6: ${d} \u79D2\uFF0C\u51C0\u589E\u5185\u5B58: ${gb} MB (\u5F53\u524D\u9879\u76EE\u603B\u5360\u7528: ${f} MB)`)}catch(e){let r=e instanceof AggregateError?e.errors.map(n=>n.message).join(" | "):e.message;_("error","[Utils] [Bangumi-Data] \u4E0B\u8F7D\u5931\u8D25 (\u6240\u6709 CDN \u5747\u672A\u54CD\u5E94\u6216\u62A5\u9519):",r)}}async function Au(t,e){if(!Hn||!Hn.items)return[];let r=og.get(t);if(!r){if(r=(async()=>{let c=[],u=[t];try{u=[...new Set([t,Qt(t),No(t)])]}catch{}let d=[Qt(t)].map(h=>{let A=h.replace(J8e,"");return A=Fr(A).toLowerCase(),A.length>=2?A:Fr(h).toLowerCase()}).filter(h=>h.length>0),f=null;if(typeof U0<"u"&&U0.size>0&&d.length>0){let h=new Set;for(let A of d){let g=Array.from(new Set(A.replace(Hir,"")));if(g.length===0)continue;g.sort((x,v)=>{let I=U0.get(x)?.length||0,R=U0.get(v)?.length||0;return I-R});let b=U0.get(g[0]);if(!b||b.length===0)continue;let y=new Set(b);for(let x=1;x<g.length;x++){let v=U0.get(g[x]);if(!v){y.clear();break}let I=new Set(v);for(let R of y)I.has(R)||y.delete(R);if(y.size===0)break}for(let x of y)h.add(x)}f=Array.from(h)}else f=Hn.items.map((h,A)=>A);let p=Hn.items,m=u.length;for(let h=0;h<f.length;h++){let A=p[f[h]],g=!1;for(let b=0;b<m;b++){let y=u[b];if(yt(A.title,y)){g=!0;break}if(A.titleTranslate)for(let x in A.titleTranslate){let v=A.titleTranslate[x];for(let I=0;I<v.length;I++)if(v[I]&&yt(v[I],y)){g=!0;break}if(g)break}if(g)break}if(g){let b=[A.title];if(A.titleTranslate)for(let y in A.titleTranslate){let x=A.titleTranslate[y];for(let v=0;v<x.length;v++)b.push(x[v])}c.push({item:A,titles:b})}}return c})(),og.size>100){let c=og.keys().next().value;og.delete(c)}og.set(t,r)}let n=await r,s=n,i=Wt(t);if(i!==null){let c=n.filter(({item:u})=>{let l=Ct(u.title).season;if(l===null&&u.titleTranslate)for(let d in u.titleTranslate){let f=u.titleTranslate[d];for(let p=0;p<f.length;p++){let m=Ct(f[p]).season;if(m!==null){l=m;break}}if(l!==null)break}return i>1?(l||1)===i:i===1?l===null||l===1:!0});c.length>0&&(s=c)}let a=jir,o=[];for(let{item:c,titles:u}of s){if(!c.sites)continue;let l=c.sites.filter(d=>e.includes(d.site));for(let d of l){let f="TV\u52A8\u753B",p="tvseries";c.type==="movie"?(f="\u5267\u573A\u7248",p="movie"):c.type==="tv"?(f="TV\u52A8\u753B",p="tvseries"):c.type==="ova"?(f="OVA",p="ova"):c.type==="web"&&(f="WEB\u52A8\u753B",p="web");let m="";["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(d.site)&&(m="\uFF08\u6E2F\u6FB3\u53F0\uFF09");let h=[],A=[];if(d.comment){let b=d.comment.split(Qir),y=new Map;if(d.related&&Array.isArray(d.related))for(let x of d.related)x.id&&y.set(String(x.id),x.season_id||null);for(let x of b){let v=x.split(Gir);if(v.length>=2){let I=v[0].trim(),R=v[1].trim();R&&a.test(I)&&h.push({title:c.title,titles:[...u],begin:c.begin,siteId:R,matchedSiteKey:d.site,type:c.type,typeStr:f,typeId:p,titleSuffix:` ${I}${m}`,season_id:y.get(R)||null})}else if(v.length===1&&v[0].trim()){let I=v[0].trim();a.test(I)&&A.push(I)}}}let g="";A.length>0&&(g+=` ${A.join(" ")}`),g+=m,o.push({title:c.title,titles:[...u],begin:c.begin,siteId:d.id,matchedSiteKey:d.site,type:c.type,typeStr:f,typeId:p,titleSuffix:g,season_id:d.season_id||null,video_sn:d.video_sn||null}),o.push(...h)}}return o}function Z8e(t=!1){if(Hn!==null){let e=Hn.items?Hn.items.length:0;Hn=null,KB=0,og.clear(),U0.clear();let r=(process.memoryUsage().rss/1024/1024).toFixed(2);_("info",`[Utils] [Bangumi-Data] \u5185\u5B58\u7F13\u5B58\u5DF2\u4E3B\u52A8\u91CA\u653E (\u539F\u6761\u76EE\u6570: ${e}\uFF0C\u91CA\u653E: ${gb} MB\uFF0C\u5F53\u524D\u9879\u76EE\u603B\u5360\u7528: ${r} MB)`),gb="0.00",LI=!1}if(t&&ga.default.existsSync(VB))try{let e=zB.default.join(VB,Y8e);ga.default.existsSync(e)&&ga.default.unlinkSync(e);for(let r=0;r<5;r++){let n=`${e}.tmp${r}`;ga.default.existsSync(n)&&ga.default.unlinkSync(n)}_("info","[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u5DF2\u540C\u6B65\u6E05\u7406")}catch(e){_("error",`[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u6E05\u7406\u5931\u8D25: ${e.message}`)}}Ot();ir();_t();so();kB();$T();$n();_V();hn();Ot();_t();ir();so();var JL=new Map;async function FT(t,e={}){let n=`https://api.tmdb.org/3/${t}`,s=O.makeProxyUrl(n);try{let i=await ge(s,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},signal:e.signal});return i.status!=200?null:i}catch(i){if(i.name==="AbortError")throw i;return _("error","[Utils] [TMDB] Api error:",{message:i.message,name:i.name,stack:i.stack}),null}}async function XL(t,e="multi",r={}){let{page:n=1,maxPages:s=3,signal:i=null}=r;if(r.page!==void 0){let o=`search/${e}?api_key=${O.tmdbApiKey}&query=${encodeURIComponent(t)}&language=zh-CN&page=${n}`;return await FT(o,{signal:i})}let a=[];for(let o=1;o<=s;o++){if(i&&i.aborted)throw new DOMException("Aborted","AbortError");let c=`search/${e}?api_key=${O.tmdbApiKey}&query=${encodeURIComponent(t)}&language=zh-CN&page=${o}`,u=await FT(c,{signal:i});if(!u||!u.data)break;let l=typeof u.data=="string"?JSON.parse(u.data):u.data;if(!l.results||l.results.length===0||(a.push(...l.results),l.results.length<20))break}return _("info",`[Utils] [TMDB] \u5171\u83B7\u53D6\u5230 ${a.length} \u6761\u641C\u7D22\u7ED3\u679C\uFF08\u6700\u591A${s}\u9875\uFF09`),{data:{results:a},status:200}}async function S0r(t,e,r={}){let n=`${t}/${e}?api_key=${O.tmdbApiKey}&language=ja-JP`;return await FT(n,r)}async function mnt(t,e,r={}){let n=`${t}/${e}/external_ids?api_key=${O.tmdbApiKey}`;return await FT(n,r)}async function v0r(t,e,r={}){let n=`${t}/${e}/alternative_titles?api_key=${O.tmdbApiKey}`;return await FT(n,r)}function I0r(t,e,r=""){let n=t?.data?.results||t?.data?.titles||[];if(!n.length)return null;let s=(r||"").toLowerCase().trim(),i=o=>o.title||o.name||"",a=[o=>s&&i(o).toLowerCase().trim()===s,...["CN","TW","HK","SG"].map(o=>c=>(c.iso_3166_1||c.iso_639_1)===o&&!cf(i(c))),o=>!cf(i(o))];for(let o of a){let c=n.find(o);if(c){let u=i(c);return _("info",`[Utils] [TMDB] \u6309\u4F18\u5148\u7EA7\u7B56\u7565\u6210\u529F\u63D0\u53D6\u6700\u4F73\u4E2D\u6587\u522B\u540D: ${u}`),u}}return null}async function C0r(t,e,r=""){let n=t.name||t.title||"";if(r&&n.toLowerCase().trim()===r.toLowerCase().trim()||!(cf(n)||r&&n.toLowerCase().trim()!==r.toLowerCase().trim()))return n;_("info",`[Utils] [TMDB] \u5C1D\u8BD5\u83B7\u53D6\u4E2D\u6587\u522B\u540D\u4EE5\u5BFB\u627E\u66F4\u4F18\u5339\u914D (\u5F53\u524D\u6807\u9898: "${n}")`);let i=t.media_type||(t.name?"tv":"movie");try{if(e&&e.aborted)throw new DOMException("Aborted","AbortError");let a=await v0r(i,t.id,{signal:e});if(e&&e.aborted)throw new DOMException("Aborted","AbortError");let o=I0r(a,i,r);return o?(_("info",`[Utils] [TMDB] \u5C06\u4F7F\u7528\u4E2D\u6587\u522B\u540D\u8FDB\u884C\u76F8\u4F3C\u5339\u914D: ${o}`),o):(_("info",`[Utils] [TMDB] \u672A\u627E\u5230\u4E2D\u6587\u522B\u540D\uFF0C\u4F7F\u7528\u539F\u6807\u9898: ${n}`),n)}catch(a){if(a.name==="AbortError")throw a;return _("error",`[Utils] [TMDB] \u83B7\u53D6\u522B\u540D\u5931\u8D25: ${a.message}`),n}}async function Xb(t,e=null,r="Unknown"){let n=ynt(t);if(n!==t&&_("info",`[Utils] [TMDB] \u4F18\u5316\u641C\u7D22\u5173\u952E\u8BCD: "${t}" -> "${n}"`),O.useBangumiData){let o=await Au(n,["tmdb","bangumi","anidb"]);if(o&&o.length>0){let c=o[0],u=c.titles.find(d=>d&&d.includes(n))||c.titles[1]||c.title,l=c.title;return _("info",`[Utils] [TMDB] Bangumi-Data \u672C\u5730\u547D\u4E2D\uFF0C\u63D0\u53D6\u539F\u540D\u6210\u529F: \u539F\u540D=${l}, \u522B\u540D=${u}\uFF08\u68C0\u7D22\u8BCD\uFF1A${n}\uFF09`),{title:l,cnAlias:u}}}if(!O.tmdbApiKey)return _("info","[Utils] [TMDB] \u672A\u914D\u7F6EAPI\u5BC6\u94A5\uFF0C\u8DF3\u8FC7TMDB\u7F51\u7EDC\u641C\u7D22"),null;let s=JL.get(n);if(s)_("info",`[Utils] [TMDB] \u52A0\u5165\u6B63\u5728\u8FDB\u884C\u7684\u641C\u7D22: ${n} (${r})`);else{let o=new AbortController;s={controller:o,refCount:0,promise:(async()=>{try{let u=o.signal,l=P=>{let B=P.genre_ids||[],M=P.genres||[],D=B.length>0?B:M.map(W=>W.id),L=P.original_language||"";return D.includes(16)?{isValid:!0,reason:"\u660E\u786E\u52A8\u753B\u7C7B\u578B(genre_id: 16)"}:L==="ja"?{isValid:!0,reason:"\u539F\u59CB\u8BED\u8A00\u4E3A\u65E5\u8BED(ja),\u53EF\u80FD\u662F\u65E5\u5267/\u65E5\u5F71/\u65E5\u7EFC\u827A"}:{isValid:!1,reason:`\u975E\u52A8\u753B\u4E14\u975E\u65E5\u8BED\u5185\u5BB9(language: ${L}, genres: ${D.join(",")})`}},d=(P,B)=>{let M=J=>J.toLowerCase().replace(/\s+/g,"").replace(/[::ã€ï¼Œã€‚ï¼ï¼Ÿï¼›""''()ã€ã€‘《》]/g,"").trim(),D=M(P),L=M(B);if(D===L)return 1;let Z=D.length<L.length?D:L,W=D.length>=L.length?D:L;if(W.includes(Z)&&Z.length>0)return .6+Z.length/W.length*.3;let F=P.length>B.length?P:B,K=P.length>B.length?B:P;if(F.length===0)return 1;let j=(J,se)=>{J=J.toLowerCase(),se=se.toLowerCase();let oe=[];for(let ue=0;ue<=J.length;ue++){let Ie=ue;for(let we=0;we<=se.length;we++)if(ue===0)oe[we]=we;else if(we>0){let qe=oe[we-1];J.charAt(ue-1)!==se.charAt(we-1)&&(qe=Math.min(Math.min(qe,Ie),oe[we])+1),oe[we-1]=Ie,Ie=qe}ue>0&&(oe[se.length]=Ie)}return oe[se.length]};return(F.length-j(F,K))/F.length};if(_("info",`[Utils] [TMDB] \u6B63\u5728\u641C\u7D22 (Shared Task): ${n}`),u.aborted)throw new DOMException("Aborted","AbortError");let f=await XL(n,"multi",{signal:u});if(!f||!f.data)return _("info","[Utils] [TMDB] TMDB\u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A"),null;let p=typeof f.data=="string"?JSON.parse(f.data):f.data;if(!p.results||p.results.length===0)return _("info","[Utils] [TMDB] TMDB\u672A\u627E\u5230\u4EFB\u4F55\u7ED3\u679C"),null;let m=[],h=[];for(let P of p.results){let B=l(P);if(B.isValid)m.push(P);else{let M=P.name||P.title||"\u672A\u77E5";h.push(`${M}(${B.reason})`)}}if(m.length===0)return _("info","[Utils] [TMDB] \u6570\u636E\u6E05\u6D17\u62E6\u622A: \u641C\u7D22\u7ED3\u679C\u4E2D\u6CA1\u6709\u4EFB\u4F55\u76EE\u6807\u7C7B\u578B(\u52A8\u753B/\u65E5\u6587)\u7684\u5185\u5BB9"),null;_("info",`[Utils] [TMDB] \u6570\u636E\u6E05\u6D17\u5B8C\u6210: \u4FDD\u7559 ${m.length} \u4E2A\u6709\u6548\u6761\u76EE\u53C2\u4E0E\u5339\u914D\uFF0C\u8FC7\u6EE4 ${h.length} \u4E2A\u65E0\u5173\u6761\u76EE${h.length>0?"\uFF0C\u8FC7\u6EE4\u8BE6\u60C5: "+h.join(", "):""}`);let A=null,g=-1,b=null,y=0,x=5,v=!1;for(let P of m){let B=P.name||P.title||"";if(!B)continue;let M=d(n,B),D=P.original_name||P.original_title||"",L=D?d(n,D):0,Z=Math.max(M,L);if(Z===1&&!v){v=!0,_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${B}" - \u76F8\u4F3C\u5EA6: 100.00% (\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u540E\u7EED\u6240\u6709\u522B\u540D\u641C\u7D22)`),Z>g&&(g=Z,A=P,b=B);continue}let W,F,K=B.toLowerCase().trim()===n.toLowerCase().trim();if(v||K)W=B,F=Z,v&&K?_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${B}" - \u76F8\u4F3C\u5EA6: ${(F*100).toFixed(2)}% (\u5DF2\u627E\u5230\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u522B\u540D\u641C\u7D22)`):_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${B}" - \u76F8\u4F3C\u5EA6: ${(F*100).toFixed(2)}%`);else{if(y<x)try{W=await C0r(P,u,n),W!==B&&y++}catch(se){if(se.name==="AbortError")throw se;_("error",`[Utils] [TMDB] \u5904\u7406\u7ED3\u679C\u5931\u8D25: ${se.message}`),W=B}else W=B,_("info",`[Utils] [TMDB] \u5DF2\u8FBE\u5230\u522B\u540D\u83B7\u53D6\u4E0A\u9650(${x})\uFF0C\u4F7F\u7528\u539F\u6807\u9898: ${B}`);let j=d(n,W);F=Math.max(j,L);let J=W!==B?`"${B}" (\u522B\u540D: ${W})`:`"${B}"`;_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 ${J} - \u76F8\u4F3C\u5EA6: ${(F*100).toFixed(2)}%`),F===1&&!v&&(v=!0,_("info","[Utils] [TMDB] \u901A\u8FC7\u522B\u540D\u627E\u5230\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u540E\u7EED\u6240\u6709\u522B\u540D\u641C\u7D22"))}F>g&&(g=F,A=P,b=W)}if(!A||g<.4)return _("info",`[Utils] [TMDB] \u6700\u4F73\u5339\u914D\u76F8\u4F3C\u5EA6\u8FC7\u4F4E\u6216\u672A\u627E\u5230\u5339\u914D (${A?(g*100).toFixed(2)+"%":"N/A"}),\u8DF3\u8FC7`),null;_("info",`[Utils] [TMDB] TMDB\u6700\u4F73\u5339\u914D: ${b}, \u76F8\u4F3C\u5EA6: ${(g*100).toFixed(2)}%`);let R=A.media_type||(A.name?"tv":"movie"),w=await S0r(R,A.id,{signal:u}),N;if(!w||!w.data)N=A.name||A.title,_("info",`[Utils] [TMDB] \u4F7F\u7528\u4E2D\u6587\u641C\u7D22\u7ED3\u679C\u6807\u9898: ${N}`);else{let P=typeof w.data=="string"?JSON.parse(w.data):w.data;N=P.original_name||P.original_title||P.name||P.title,_("info",`[Utils] [TMDB] \u627E\u5230\u65E5\u8BED\u539F\u540D: ${N}`)}return{title:N,cnAlias:b}}catch(u){return u.name==="AbortError"?(_("info",`[Utils] [TMDB] \u540E\u53F0\u641C\u7D22\u4EFB\u52A1\u5DF2\u5B8C\u5168\u7EC8\u6B62 (${n})`),null):(_("error","[Utils] [TMDB] Background Search error:",{message:u.message,name:u.name,stack:u.stack}),null)}})().finally(()=>{JL.delete(n)})},JL.set(n,s),_("info",`[Utils] [TMDB] \u542F\u52A8\u65B0\u641C\u7D22\u4EFB\u52A1: ${n}`)}s.refCount++;let i=()=>{JL.get(n)===s&&(s.refCount--,s.refCount<=0&&(_("info",`[Utils] [TMDB] \u6240\u6709\u8C03\u7528\u8005\u5DF2\u53D6\u6D88\uFF0C\u7EC8\u6B62\u540E\u53F0\u8BF7\u6C42: ${n}`),s.controller.abort()))},a;if(e){if(e.aborted)return i(),_("info",`[Utils] [TMDB] \u641C\u7D22\u5DF2\u88AB\u4E2D\u65AD (Source: ${r})`),null;e.addEventListener("abort",i)}try{let o=new Promise((c,u)=>{e&&(a=()=>u(new DOMException("Aborted","AbortError")),e.addEventListener("abort",a))});return await Promise.race([s.promise,o])}catch(o){return o.name==="AbortError"?(_("info",`[Utils] [TMDB] \u641C\u7D22\u5DF2\u88AB\u4E2D\u65AD (Source: ${r})`),null):(_("error",`[Utils] [TMDB] \u641C\u7D22\u5F02\u5E38: ${o.message}`),null)}finally{e&&(e.removeEventListener("abort",i),a&&e.removeEventListener("abort",a))}}async function hnt(t,e=null,r=null){if(!cf(t))return t;if(O.useBangumiData){let i=ynt(t),a=Au(i,["tmdb","bangumi","anidb"]);if(a&&a.length>0){let o=a[0],c=o.titles.find(u=>u&&!cf(u))||o.titles[1];if(c&&!cf(c))return _("info",`[Utils] [TMDB] \u547D\u4E2D\u672C\u5730 Bangumi Data: ${t} -> ${c}\uFF08\u68C0\u7D22\u8BCD\uFF1A${i}\uFF09`),c}}let n=e!=null,s=n?"tv":"movie";try{let i=await XL(t,s);if(!i.data.results||i.data.results.length===0)return _("info","[Utils] [TMDB] TMDB\u672A\u627E\u5230\u4EFB\u4F55\u7ED3\u679C"),t;let o=i.data.results.find(u=>{let l=n?u.name:u.title;return l&&!cf(l)})||i.data.results[0],c=n?o.name:o.title;return c?(_("info",`\u539F\u6807\u9898: ${t} -> \u4E2D\u6587\u6807\u9898: ${c}`),c):t}catch(i){return _("error","\u67E5\u8BE2 TMDB \u65F6\u51FA\u9519:",i),t}}var gnt=/(?:\s+|^)(?:第?\s*(?:\d+|[一二三四五å…七八ä¹å]+)\s*[壿œŸéƒ¨]|season\s*\d+|s\d+|part\s*\d+|act\s*\d+|phase\s*\d+|the\s+final\s+season|(?:movie|film|ova|oad|sp|剧场版|åŠ‡å ´ç‰ˆ|ç»[篇集]|å¤–ä¼ )(?![a-z]))|[::~~]|\s+.*?篇|(?<=\s|^)\d+$/i,pnt=/[ ::~~]/;function Ant(t){let e=t.match(gnt);return e?e.index:t.length}function ynt(t){let e=Ant(t);return e<t.length?t.substring(0,e).trim():t}function Zb(t,e){if(!t||t.length===0||!e)return;let r=0;for(let i of t)i._displayTitle=i._displayTitle||i.title||"",i.isLocalPriority||i._displayTitle.includes(e)||r++;if(r===0)return;_("info",`[Utils] [TMDB] \u542F\u52A8\u667A\u80FD\u66FF\u6362\uFF0C\u76EE\u6807\u522B\u540D: "${e}"\uFF0C\u5F85\u5904\u7406\u6761\u76EE: ${r}`);let n=t.map(i=>{let a=i.org_title||i.title||"";return a.substring(0,Ant(a))}),s="";if(n.length>0){let i=n.concat().sort(),a=i[0],o=i[i.length-1],c=0;for(;c<a.length&&a.charAt(c)===o.charAt(c);)c++;s=a.substring(0,c)}s&&s.length>1&&_("info",`[Utils] [TMDB] \u8BA1\u7B97\u51FA\u6700\u957F\u516C\u5171\u524D\u7F00 (LCP): "${s}"`);for(let i of t){let a=i.title||"";if(!(i.isLocalPriority||a.includes(e)))if(s&&s.length>1&&a.startsWith(s)){let o=a.substring(s.length).trim();i._displayTitle=o?`${e}${o.match(/^[~~::]/)?"":" "}${o}`:e,_("info",`[Utils] [TMDB] [LCP\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else{let o=a.match(pnt);if(o){let c=a.substring(0,o.index).trim(),u=a.substring(o.index);if(c&&gnt.test(c)){let l=u.trim().match(pnt),d=l?u.trim().substring(l.index):"";i._displayTitle=`${c} ${e}${d}`,_("info",`[Utils] [TMDB] [\u524D\u7F00\u4FDD\u62A4\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else i._displayTitle=e+u,_("info",`[Utils] [TMDB] [\u5206\u9694\u7B26\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else cf(a)?(i._displayTitle=e,_("info",`[Utils] [TMDB] [\u7EAF\u5916\u6587\u5168\u66FF\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)):_("info",`[Utils] [TMDB] [\u8DF3\u8FC7\u66FF\u6362] "${a}" \u542B\u6709\u4E2D\u6587\u4E14\u7279\u5F81\u4E0D\u7B26\uFF0C\u62D2\u7EDD\u5F3A\u5236\u5168\u66FF\u4EE5\u9632\u8BEF\u6740`)}}}Ot();_t();$n();so();hn();var Cu="$$$",Sg="&",T0r=!1,oi=Object.freeze({TITLE_STRUCTURE_CONFLICT:-.3,LANG_MATCH_CN:.15,LANG_MISMATCH:-.2,DATE_MATCH:0,EP_ALIGN:{MOVIE_TYPE_MISMATCH:-5,SPECIAL_STRICT_MISMATCH:-8,LANG_MATCH:3,LANG_MISMATCH:-5,SEASON_NUM_MISMATCH:-10,SPECIAL_TYPE_MISMATCH:-10,SPECIAL_TYPE_MATCH:3,IS_SPECIAL_MATCH:3,SEASON_SHIFT_EXACT:15,CN_STRICT_MATCH:25,CN_STRICT_MISMATCH:-5,NUMERIC_MATCH:2,PATTERN_CONSISTENCY_BONUS:2,ZERO_DIFF_BONUS_BASE:100,ZERO_DIFF_BONUS_PER_HIT:5}}),Hl=Object.freeze({SIMILARITY_MIN:.65,SIMILARITY_STRONG:.98,TIER_DEFAULT:.001,TIER_CN:.4,TIER_PART:.5,COLLECTION_RATIO:4,COLLECTION_DIFF:6});function mt(t,...e){typeof e[0]=="string"&&e[0].includes("[Merge-Check]")&&!T0r||_(t,...e)}var ye={Lang:{CN:/(普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½])(?:版)?/,JP:/(æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²])(?:版)?/,CN_DUB_VER:/(\(|(|\[)?(普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½])版?(\)|)|\])?/g,JP_DUB_VER:/(\(|(|\[)?(æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²])版?(\)|)|\])?/g,KEYWORDS_STRONG:/(?:普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½]|æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²])(?:版)?/g,CN_STD:/普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½]/g,JP_STD:/æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²]/g},Season:{PURE_PART:/^(?:(?:第|S(?:eason)?)\s*\d+(?:å£|期|部)?|(?:Part|P|第)\s*\d+(?:部分)?)$/i,PART_NORM:/第\s*(\d+)\s*部分/g,PART_NORM_2:/(?:Part|P)[\s.]*(\d+)/gi,FINAL:/(?:The\s+)?Final\s+Season/gi,NORM:/(?:Season|S)\s*(\d+)/gi,CN:/第\s*([一二三四五å…七八ä¹å])\s*å£/g,ROMAN:/(\s|^)(IV|III|II|I)(\s|$)/g,INFO_STRONG:/(?:season|s|第)\s*[0-9一二三四五å…七八ä¹å]+\s*(?:å£|期|部(?!分))?/gi,PART_INFO_STRONG:/(?:part|p|第)\s*\d+\s*(?:部分)?/gi,PART_ANY:/(?:part|p)\s*\d+/gi,CN_STRUCTURE:/(?:^|\s|×\d+\s?)(承|转|结)(?=$|[\s\(\(\[ã€])/i,SUFFIX_AMBIGUOUS:/(?:[\s\u4e00-\u9fa5]|^)(S|T|R|II|III|IV)(?=$|[\s\(\(\[ã€])/i,SUFFIX_SEQUEL:/(?:ç»ç¯‡|ç»é›†|The Sequel)/i},Clean:{NA_TAG:/(\(|(|\[)N\/A(\)|)|\])/gi,SOURCE_TAG:/ã€.*?】/g,REGION_LIMIT:/(\(|(|\[)ä»…é™.*?地区(\)|)|\])/g,PUNCTUATION:/[!ï¼??,,.。ã€~~::\-–—_]/g,WHITESPACE:/\s+/g,FROM_SUFFIX:/\s*from\s+.*$/i,PARENTHESES_CONTENT:/(\(|(|\[).*?(\)|)|\])/g,MOVIE_KEYWORDS:/剧场版|åŠ‡å ´ç‰ˆ|the\s*movie|theatrical|movie|film|电影/gi,LONE_VER_CHAR:/(\s|^)版(\s|$)/g,NON_ALPHANUM_CN:/[^\u4e00-\u9fa5a-zA-Z0-9]/g,META_SUFFIX:/(\(|(|\[)(ç»ç¯‡|TV版|æ— ä¿®|æœªåˆ å‡|完整版)(\)|)|\])/gi,YEAR_TAG:/(\(|(|\[)\d{4}(\)|)|\]).*$/i,SUBTITLE_SEPARATOR:/^[\s::\-–—((\[ã€]/,SPACE_STRUCTURE:/.+[\s\u00A0\u3000].+/,SPLIT_SPACES:/[\s\u00A0\u3000]+/,REDUNDANT_SEPARATOR:/[\s::~~]/,REDUNDANT_UNSAFE_END:/[\(\(\[ã€::~~\-]$/,REDUNDANT_VALID_CHARS:/[\u4e00-\u9fa5a-zA-Z]{2,}/},Episode:{SUFFIX_DIGIT:/_\d+(?=$|\s)/g,FILE_NOISE:/_(\d{2,4})(?=\.)/g,SEASON_PREFIX:/(?:^|\s)(?:第\s*[0-9一二三四五å…七八ä¹å]+\s*å£|S(?:eason)?\s*\d+)(?:\s+|_)/gi,CLEAN_SMART:/(?:^|\s)(?:EP|E|Vol|Episode|No|Part|第)\s*\d+(?:\.\d+)?(?:\s*[è¯è©±é›†])?(?!\s*[壿œŸéƒ¨])/gi,PUNCTUATION:/[!ï¼??,,.。ã€~~::\-–—]/g,DANDAN_TAG:/^ã€(dandan|animeko)】/i,SPECIAL_START:/^S\d+/i,MOVIE_CHECK:/剧场版|åŠ‡å ´ç‰ˆ|movie|film/i,PV_CHECK:/(pv|trailer|预告)/i,SPECIAL_CHECK:/^(s|o|sp|special)\d/i,SEASON_MATCH:/(?:^|\s)(?:第|S)\s*(\d+)\s*[å£S]/i,NUM_STRATEGY_A:/(?:第|s)\s*(\d+)\s*[å£s]\s*(?:第|ep|e)\s*(\d+)/i,NUM_STRATEGY_B:/(?:ep|e|vol|episode|chapter|no|part|第)\s*(\d+(\.\d+)?)(?:\s*[è¯è©±é›†])?(?!\s*[壿œŸéƒ¨])/i,NUM_STRATEGY_C:/(?:^|\s)(?:第)?(\d+(\.\d+)?)(?:è¯|集|\s|$)/,DANDAN_IGNORE:/^[SC]\d+/i,MAP_EXCLUDE_KEYWORDS:/(?:^|\s)(?:PV|OP|ED|SP|Special|Drama|OAD|OVA|Opening|Ending|特番|特典|Behind\s+the\s+Scenes|Making|Interview)(?:\s|$|[::])/i,SINK_TITLE_STRICT:/^(?:S\d+|C\d+|SP\d*|OP\d*|ED\d*|PV\d*|Trailers?|Interview|Making|特番|特典)(?:\s|$|[::.\-]|\u3000)/i},Category:{ANIME_KW:/(动画|TV动画|动漫|日漫|国漫)/,REAL_KW:/(电视剧|真人剧|综艺|纪录片)/,ANIMEKO_SOURCE:/animeko/i},Similarity:{CN_STRICT_CORE_REMOVE:/[0-9a-zA-Z\s第å£é›†è¯partEPep._\-–—::ã€ã€‘()()]/gi}},t4=[{regex:/(?:\s|^)A's$/i,val:"S2"},{regex:/(?:\s|^)StrikerS$/i,val:"S3"},{regex:/(?:\s|^)ViVid$/i,val:"S4"},{regex:/(?:\s|^)SuperS$/i,val:"S4"}],w0r=[{regex:/(?:第)?\s*(\d+)\s*(?:å£|期|部(?!分))/,prefix:"S"},{regex:/\bseason\s*(\d+)/i,prefix:"S"},{regex:/\bs\s*(\d+)\b/i,prefix:"S"},{regex:/\bpart\s*(\d+)/i,prefix:"P"},{regex:/\b(ova|oad)\d*\b/i,val:"OVA"},{regex:/(剧场版|åŠ‡å ´ç‰ˆ|the\s*movie|theatrical|movie|film|电影)/i,val:"MOVIE"},{regex:/(ç»ç¯‡|ç»é›†)/,val:"SEQUEL"},{regex:/\b(sp|special)\d*\b/i,val:"SP"},{regex:/[^0-9](\d)$/,prefix:"S",useCleaned:!0}],R0r=[{seriesKeywords:["\u7F8E\u5C11\u5973\u6218\u58EB"],mappings:[{markers:["R"],targetStandard:"\u7B2C\u4E8C\u5B63"},{markers:["S"],targetStandard:"\u7B2C\u4E09\u5B63"},{markers:["SuperS","Super S"],targetStandard:"\u7B2C\u56DB\u5B63"},{markers:["Sailor Stars","\u6700\u540E\u7684\u661F\u5149"],targetStandard:"\u7B2C\u4E94\u5B63"}]},{seriesKeywords:["\u5C0F\u6797\u5BB6\u7684\u9F99\u5973\u4EC6"],mappings:[{markers:["S"],targetStandard:"\u7B2C\u4E8C\u5B63"}]},{seriesKeywords:["\u53EF\u80FD\u6210\u4E3A\u604B\u4EBA","\u4E0D\u884C"],mappings:[{markers:["NEXT SHINE","\u518D\u6B21\u95EA\u8000"],targetStandard:"\u7EED\u7BC7"}]},{seriesKeywords:["\u7EA2\u732A","\u5343\u4E0E\u5343\u5BFB","\u9F99\u732B"],defaultStandard:"\u5267\u573A\u7248"}];function N0r(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Sie(t){if(typeof structuredClone=="function")try{return structuredClone(t)}catch{}return JSON.parse(JSON.stringify(t))}function co(t){if(!t)return"Unspecified";let e=t.toLowerCase();return ye.Lang.CN.test(e)?"CN":ye.Lang.JP.test(e)?"JP":"Unspecified"}function Rnt(t){if(!t)return"";let e=t,r=e.toUpperCase();for(let n of R0r){if(!n.seriesKeywords.every(a=>r.includes(a.toUpperCase())))continue;let i=!1;if(n.mappings)for(let a of n.mappings)a.markers.forEach(o=>{let c=new RegExp(N0r(o),"gi");c.test(e)&&(e=e.replace(c,` ${a.targetStandard} `),i=!0)});!i&&n.defaultStandard&&(e+=` ${n.defaultStandard} `)}return e}function K0(t){if(!t)return"";let e=Qt(t);e=e.replace(ye.Clean.NA_TAG,""),e=e.replace(ye.Season.PART_NORM,"part $1"),e=e.replace(ye.Season.PART_NORM_2,"part $1"),e=e.replace(ye.Season.FINAL,"\u6700\u7EC8\u5B63"),e=e.replace(ye.Season.NORM,"\u7B2C$1\u5B63");let r={\u4E00:"1",\u4E8C:"2",\u4E09:"3",\u56DB:"4",\u4E94:"5",\u516D:"6",\u4E03:"7",\u516B:"8",\u4E5D:"9",\u5341:"10"};return e=e.replace(ye.Season.CN,(n,s)=>`\u7B2C${r[s]}\u5B63`),e=e.replace(ye.Season.ROMAN,(n,s,i,a)=>`${s}\u7B2C${{I:"1",II:"2",III:"3",IV:"4"}[i]}\u5B63${a}`),e=e.replace(ye.Lang.CN_DUB_VER,"\u4E2D\u914D\u7248"),e=e.replace(ye.Lang.JP_DUB_VER,""),e=e.replace(ye.Clean.SOURCE_TAG,""),e=e.replace(ye.Clean.REGION_LIMIT,""),e=e.replace(/(\d+)\.(\d+)/g,"$1{{DOT}}$2"),e=e.replace(ye.Clean.PUNCTUATION," "),e=e.replace(/{{DOT}}/g,"."),e.replace(ye.Clean.WHITESPACE," ").toLowerCase().trim()}function wc(t){if(!t)return"";let e=Rnt(t);e=Qt(e);let r=e.match(/^(?:ã€|\[)(.+?)(?:】|\])/);if(r){let n=r[1];/^(TV|剧场版|åŠ‡å ´ç‰ˆ|movie|film|anime|动漫|动画|AVC|HEVC|MP4|MKV)$/i.test(n)||(e=e.replace(r[0],n+" "))}return e=e.replace(ye.Clean.SOURCE_TAG,""),e=e.replace(ye.Clean.FROM_SUFFIX,""),e=e.replace(ye.Clean.NA_TAG,""),e=e.replace(ye.Clean.PARENTHESES_CONTENT,""),e=e.replace(ye.Season.INFO_STRONG,""),e=e.replace(ye.Season.PART_INFO_STRONG,""),e=e.replace(ye.Clean.MOVIE_KEYWORDS,""),e=e.replace(ye.Lang.KEYWORDS_STRONG,""),e=e.replace(ye.Clean.LONE_VER_CHAR,""),e=e.replace(ye.Clean.NON_ALPHANUM_CN,""),e.toLowerCase()}function eE(t){if(!t)return"";let e=Qt(t);return e=e.replace(ye.Episode.SUFFIX_DIGIT,""),e=e.replace(ye.Episode.FILE_NOISE,""),e=e.replace(ye.Episode.SEASON_PREFIX," "),e=e.replace(ye.Episode.CLEAN_SMART," "),e=e.replace(ye.Clean.SOURCE_TAG,""),e=e.replace(ye.Lang.CN_STD,"\u4E2D\u6587"),e=e.replace(ye.Lang.JP_STD,"\u65E5\u6587"),e=e.replace(/(\d+)\.(\d+)/g,"$1{{DOT}}$2"),e=e.replace(ye.Episode.PUNCTUATION," "),e=e.replace(/{{DOT}}/g,"."),e.replace(ye.Clean.WHITESPACE," ").toLowerCase().trim()}function xnt(t){return t?t.replace(ye.Clean.PARENTHESES_CONTENT,"").trim():""}function Iie(t){if(!t)return"";let e=String(t).split(Cu)[0].trim();if(e.startsWith("//"))return"https:"+e;let r=e.match(/^([^:]+):(.+)$/);if(r){let n=r[1].toLowerCase(),s=r[2];return n==="http"||n==="https"?e:/^https?:\/\//i.test(s)?s:s.startsWith("//")?"https:"+s:s}return e}function bnt(t){if(!t||t==="N/A")return{year:null,month:null};let e=new Date(t),r=e.getTime();if(isNaN(r))return{year:null,month:null};let n=e.getFullYear();return n>2030?{year:null,month:null}:{year:n,month:e.getMonth()+1}}function O0r(t,e){let r=t.length,n=e.length;if(r===0)return n;if(n===0)return r;let s=new Array(n+1),i=new Array(n+1);for(let a=0;a<=n;a++)s[a]=a;for(let a=1;a<=r;a++){i[0]=a;let o=t.charCodeAt(a-1);for(let u=1;u<=n;u++){let l=o===e.charCodeAt(u-1)?0:1;i[u]=Math.min(i[u-1]+1,s[u]+1,s[u-1]+l)}let c=s;s=i,i=c}return s[n]}function P0r(t,e){if(!t||!e)return 0;let r=new Set(t.replace(ye.Clean.WHITESPACE,"")),n=new Set(e.replace(ye.Clean.WHITESPACE,"")),s=r.size,i=n.size;if(s===0&&i===0)return 1;if(s===0||i===0)return 0;let a=0,[o,c]=s<i?[r,n]:[n,r];for(let u of o)c.has(u)&&a++;return 2*a/(s+i)}function G0(t,e){if(!t||!e)return 0;let r=wc(t),n=wc(e);if(r===""&&n==="")return 0;if(r===n)return 1;let s=r.length,i=n.length,a=Math.max(s,i),o=Math.min(s,i);if(r.includes(n)||n.includes(r)){let x=o/a;if(x>.5)return .8+x*.2}let c=O0r(r,n),u=a===0?1:1-c/a,l=new Set(r.replace(ye.Clean.WHITESPACE,"")),d=new Set(n.replace(ye.Clean.WHITESPACE,"")),f=l.size,p=d.size;if(f===0||p===0)return 0;let m=0,[h,A]=f<p?[l,d]:[d,l];for(let x of h)A.has(x)&&m++;let g=2*m/(f+p),b=0,y=Math.min(f,p);return y>2&&(b=m/y,b>.6&&y/Math.max(f,p)<.6&&(b-=.25)),Math.max(u,g,b)}function uo(t,e="",r=[]){let n=new Set,s=K0(e||""),i=l=>{let d=K0(Rnt(l)),f=d.replace(ye.Season.PART_ANY,""),p=f.match(ye.Season.CN_STRUCTURE);if(p){let A={\u627F:"S2",\u8F6C:"S3",\u7ED3:"S4"};A[p[1]]&&n.add(A[p[1]])}if(w0r.forEach(A=>{let g=(A.useCleaned?f:d).match(A.regex);g&&n.add(A.prefix?`${A.prefix}${parseInt(g[1])}`:A.val)}),!t4.some(A=>{if(A.regex.test(f))return n.add(A.val),!0})){let A=f.match(ye.Season.SUFFIX_AMBIGUOUS);if(A){n.add("AMBIGUOUS");let g={II:"S2",III:"S3",IV:"S4"},b=A[1].toUpperCase();g[b]&&n.add(g[b])}}ye.Season.SUFFIX_SEQUEL.test(d)&&n.add("SEQUEL");let h={\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,final:99};for(let[A,g]of Object.entries(h))d.includes(`\u7B2C${A}\u5B63`)&&n.add(`S${g}`)};[t,...Array.isArray(r)?r:[]].filter(Boolean).forEach(i),s.includes("\u7EED\u7BC7")&&n.add("SEQUEL"),/(剧场版|movie|film|电影)/i.test(s)&&n.add("MOVIE"),/\b(ova|oad)\b/i.test(s)&&n.add("OVA"),/\b(sp|special)\b/i.test(s)&&n.add("SP");let a=Array.from(n),o=a.some(l=>l.startsWith("S")),c=a.some(l=>l.startsWith("P")),u=["MOVIE","OVA","SP","SEQUEL","AMBIGUOUS"].some(l=>n.has(l));return c&&!o&&n.add("S1"),!o&&!c&&!u&&n.add("S1"),n}function Ei(t,e="",r=[]){let n=uo(t,e,r),s=null;for(let i of n)if(i.startsWith("S")){let a=parseInt(i.substring(1));isNaN(a)||(s===null||a>s)&&(s=a)}return s}function vg(t,e){let r=(t+" "+(e||"")).toLowerCase(),n=r.includes("\u7535\u5F71"),s=r.includes("\u7535\u89C6\u5267");return n&&!s?"MOVIE":s&&!n?"TV":null}function tE(t,e,r){if(r&&ye.Category.ANIMEKO_SOURCE.test(r))return"ANIME";let n=(t+" "+(e||"")).toLowerCase();return ye.Category.ANIME_KW.test(n)?"ANIME":ye.Category.REAL_KW.test(n)?"REAL":"UNKNOWN"}function k0r(t,e,r=!0){if(!t||!e||wc(t)===wc(e))return!1;let n=d=>{if(!d)return"";let f=Qt(d);return f=f.replace(ye.Clean.META_SUFFIX,"").replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").replace(ye.Clean.WHITESPACE," "),f.trim().toLowerCase()},s=n(t),i=n(e);if(s===i)return!1;let a=d=>{let f=[":","\uFF1A"," code:"," code\uFF1A"," season"," part"];for(let m of f){let h=d.indexOf(m);if(h!==-1)return d.substring(h).trim()}let p=d.split(ye.Clean.WHITESPACE);return p.length>=2?p.slice(1).join(" "):null},o=a(s),c=a(i),[u,l]=s.length<i.length?[s,i]:[i,s];if(l.startsWith(u)){if(l.length===u.length)return!1;let d=l[u.length];if(ye.Clean.SUBTITLE_SEPARATOR.test(d)){let f=l.slice(u.length).replace(ye.Clean.SUBTITLE_SEPARATOR,"").trim();if(!r&&f.length>1||f.length>2)return!0}}return!!(o&&c&&P0r(o,c)<.2)}function Nnt(t,e,r,n){if(!((r||"").includes("\u5267\u573A\u7248")||(n||"").includes("\u5267\u573A\u7248")))return!1;let i=c=>c?Qt(c).replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim():"",a=i(t),o=i(e);if(ye.Clean.SPACE_STRUCTURE.test(a)&&ye.Clean.SPACE_STRUCTURE.test(o)){let c=d=>{let f=d.split(ye.Clean.SPLIT_SPACES);return f.length>1?f.slice(1).join(" "):""},u=c(a),l=c(o);return!(ye.Season.PURE_PART.test(u)||ye.Season.PURE_PART.test(l))}return!1}function D0r(t,e,r,n,s,i,a="",o=""){let c=tE(t,r,a),u=tE(e,n,o);if(c==="REAL"&&u==="ANIME"||c==="ANIME"&&u==="REAL")return!0;let l=(r||"").includes("3D"),d=(n||"").includes("3D"),f=(r||"").includes("2D"),p=(n||"").includes("2D"),m=!l&&!f,h=!d&&!p;if(!m&&h?/3[dD]/.test(e)?d=!0:/2[dD]/.test(e)&&(p=!0):!h&&m&&(/3[dD]/.test(t)?l=!0:/2[dD]/.test(t)&&(f=!0)),(l||f)&&(d||p)&&l!==d)return!0;let b=vg(t,r),y=vg(e,n);return!b||!y||b===y||Nnt(t,e,r,n)?!1:s>0&&i>0?Math.abs(s-i)>5:!0}function B0r(t,e,r,n,s=[],i=[]){let a=uo(t,r,s),o=uo(e,n,i);if(a.size===0&&o.size===0)return!1;let c=f=>Array.from(f).some(p=>p.startsWith("S")&&parseInt(p.substring(1))>=2),u=f=>f.has("SEQUEL"),l=f=>f.has("AMBIGUOUS"),d=f=>f.has("S1");if(a.size>0&&o.size>0){if(l(a)&&d(o)||l(o)&&d(a))return!0;if(l(a)&&(c(o)||u(o))||l(o)&&(c(a)||u(a))||c(a)&&u(o)||c(o)&&u(a))return!1;for(let f of a)if(f.startsWith("S")){let p=o.has(f),m=Array.from(o).some(h=>h.startsWith("S"));if(!p&&m)return!0}return!1}return a.size!==o.size?!Nnt(t,e,r,n):!1}function L0r(t,e,r,n,s=[],i=[]){let a=uo(t,r,s),o=uo(e,n,i),c=Array.from(a).filter(l=>l.startsWith("S")),u=Array.from(o).filter(l=>l.startsWith("S"));return c.length>0&&u.length>0?c.some(l=>u.includes(l)):!1}function M0r(t,e,r=!1){if(!t.year||!e.year)return .05;let n=t.year-e.year;if(n===0){if(t.month&&e.month){let i=Math.abs(t.month-e.month);return i>2?0:i===0?.2:.1}return .1}let s=Math.abs(n);return r&&s<=10?0:s>1?-1:0}function W0r(t,e,r,n,s,i=!1){if(/^(dandan|animeko)$/i.test(n)||/^(dandan|animeko)$/i.test(s))return!0;if(i){let c=Math.min(e,r);return c>0&&t/c>.5?!0:!(t<2)}let a=Math.max(e,r);if(a===0)return!1;let o=t/a;return!(a>5&&o<.18)}function ZL(t){if(!t)return null;let e=t.toLowerCase();return e.includes("opening")?"opening":e.includes("ending")?"ending":e.includes("interview")?"interview":e.includes("bloopers")?"Bloopers":null}function Aa(t,e=""){let r=!1,n=e;if(t){let m=t.match(ye.Episode.DANDAN_TAG);m&&(n=m[1].toLowerCase())}if(/^(dandan|animeko)$/i.test(n)&&t){let m=t.replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();(ye.Episode.SPECIAL_START.test(m)||ye.Episode.DANDAN_IGNORE.test(m))&&(r=!0)}let i=K0(t||""),a=ye.Episode.MOVIE_CHECK.test(i),o=ye.Episode.PV_CHECK.test(i),c=null,u=null,l=ZL(t),d=o||r||!!l||ye.Episode.SPECIAL_CHECK.test(i),f=i.match(ye.Episode.SEASON_MATCH);f&&(u=parseInt(f[1]));let p=i.match(ye.Episode.NUM_STRATEGY_A);if(p)c=parseFloat(p[2]);else{let m=i.match(ye.Episode.NUM_STRATEGY_B);if(m)c=parseFloat(m[1]);else{let h=i.match(ye.Episode.NUM_STRATEGY_C);h&&(c=parseFloat(h[1]))}}return{isMovie:a,num:c,isSpecial:d,isPV:o,season:u,isStrictSpecial:r}}function Cie(t,e,r=""){if(!t)return[];let s=["animeko","bilibili","bilibili1","bahamut","dandan"].includes(r);if(!e||s)return t.map((o,c)=>({link:o,originalIndex:c}));let i=[],a=[];if(t.forEach((o,c)=>{let u=o.title||o.name||"";e.test(u)?a.push(u):i.push({link:o,originalIndex:c})}),a.length>0){let o=r?`[${r}] `:"";mt("info",`[Merge-Check] ${o}\u547D\u4E2DEPISODE_TITLE_FILTER\u8FC7\u6EE4\uFF0C\u5DF2\u524D\u7F6E\u5254\u9664 ${a.length} \u96C6: ${a.join(", ")}`)}return i}var Ent=new Map;function e4(t,e,r){if(!t||t.length<2||!e)return"";let n=l=>{if(!l||!r)return l||"";try{let d=Ent.get(r);if(!d){let f=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");d=new RegExp(`(\\[|\u3010|\\s)?${f}(\\]|\u3011|\\s)?`,"gi"),Ent.set(r,d)}return l.replace(d,"").trim()}catch{return l}},s=n(e),i=s.match(ye.Clean.REDUNDANT_SEPARATOR);i&&(s=s.substring(0,i.index));let a=t.map(l=>{let d=l.link||l;return d?n(d.title||d.name||""):""});if(a.some(l=>!l))return"";let o=(l,d)=>{let f="";for(let p=0;p<l.length;p++)for(let m=p+1;m<=l.length;m++){let h=l.substring(p,m);d.includes(h)&&h.length>f.length&&(f=h)}return f},c=o(a[0],a[1]);if(c.length<2)return"";for(let l=2;l<a.length;l++)if(c=o(c,a[l]),c.length<2)return"";let u=o(c,s);if(!s.startsWith(u))return"";if(ye.Clean.REDUNDANT_UNSAFE_END.test(u)){let l=u.slice(0,-1).trim();return l.length>=2&&s.startsWith(l)?l:""}return u.length>=2&&(ye.Clean.REDUNDANT_VALID_CHARS.test(u)||u.length>3)?(mt("info",`[Merge-Check] \u68C0\u6D4B\u5230\u96C6\u5185\u5197\u4F59\u6807\u9898\u5B57\u6BB5: "${u}" (\u5DF2\u5FFD\u7565\u6765\u6E90: ${r}, \u951A\u5B9A\u9A8C\u8BC1\u901A\u8FC7)`),u):""}function _nt(t,e){let r=new Set;if(!t)return r;let n=-1;for(let s=0;s<t.length;s++){let i=t[s].title||t[s].name||"",a=Aa(i,e);a.num!==null&&!a.isSpecial&&!a.isPV&&a.num%1===0&&(n=s)}return t.forEach((s,i)=>{let a=s.title||s.name||"",o=Aa(a,e);o.num!==null&&!o.isSpecial&&!o.isPV&&o.num%1!==0&&i<n&&r.add(o.num)}),r}function Snt(t,e,r,n){let s=[],i=[],a=0;t.forEach(o=>{let c=o.title||o.name||"",u=Aa(c,r);u.num!==null&&e.has(u.num)?(i.push(o),a++):s.push(o)}),a>0&&(t.length=0,t.push(...s,...i),mt("info",`[Merge-Check] [${n}] \u81EA\u52A8\u6C89\u5E95: \u79FB\u52A8\u4E86 ${a} \u4E2A\u4E2D\u95F4\u63D2\u503C\u96C6\u6570 (${Array.from(e).join(",")}) \u5230\u672B\u5C3E`))}function vnt(t,e,r="Unspecified",n="Unspecified",s="",i="",a="",o=""){if(t.length===0||e.length===0)return 0;let c=e4(t,a,s),u=e4(e,o,i),l=(R,w)=>R?w&&R.includes(w)?R.replace(w,""):R:"",d=(R,w,N,P)=>{let B=R.link.title||"",M=l(B,P),D=Aa(M,w),L=co(M),Z=L!=="Unspecified"?L:N,W=Z==="Unspecified"&&/^(dandan|animeko)$/i.test(w)?"JP":Z,F=eE(M),K=W==="CN"?M.replace(ye.Similarity.CN_STRICT_CORE_REMOVE,""):null;return{info:D,effLang:W,specialType:ZL(M),cleanEpText:F,strictCnCore:K}},f=t.map(R=>d(R,s,r,c)),p=e.map(R=>d(R,i,n,u)),m=null,h=null;f.forEach(({info:R})=>{R.num!==null&&!R.isSpecial&&R.num%1===0&&(m=m===null?R.num:Math.min(m,R.num))}),p.forEach(({info:R})=>{R.num!==null&&!R.isSpecial&&R.num%1===0&&(h=h===null?R.num:Math.min(h,R.num))});let A=m!==null&&h!==null?m-h:null,g=15,b=A!==null?-A:0,y=Math.max(Math.min(-g,b-g),-Math.max(t.length,e.length)),x=Math.min(Math.max(g,b+g),Math.max(t.length,e.length)),v=0,I=-9999;for(let R=y;R<=x;R++){let w=0,N=0,P=0,B=new Map,M=!1,D=null;for(let L=0;L<e.length;L++){let Z=L+R;if(Z<0||Z>=t.length)continue;let W=f[Z],F=p[L],K=W.info,j=F.info,J=0;K.isMovie!==j.isMovie&&(J+=oi.EP_ALIGN.MOVIE_TYPE_MISMATCH),(K.isStrictSpecial&&!j.isSpecial||j.isStrictSpecial&&!K.isSpecial)&&(J+=oi.EP_ALIGN.SPECIAL_STRICT_MISMATCH);let se=W.effLang==="Unspecified"?"JP":W.effLang,oe=F.effLang==="Unspecified"?"JP":F.effLang;se===oe?J+=oi.EP_ALIGN.LANG_MATCH:J+=oi.EP_ALIGN.LANG_MISMATCH,K.season!==null&&j.season!==null&&K.season!==j.season&&(J+=oi.EP_ALIGN.SEASON_NUM_MISMATCH),(W.specialType||F.specialType)&&(W.specialType!==F.specialType?J+=oi.EP_ALIGN.SPECIAL_TYPE_MISMATCH:J+=oi.EP_ALIGN.SPECIAL_TYPE_MATCH),K.isSpecial===j.isSpecial&&(J+=oi.EP_ALIGN.IS_SPECIAL_MATCH),A!==null&&!K.isSpecial&&!j.isSpecial&&K.num-j.num===A&&(J+=oi.EP_ALIGN.SEASON_SHIFT_EXACT,M=!0);let ue=0;W.effLang==="CN"&&F.effLang==="CN"&&W.strictCnCore&&F.strictCnCore&&(W.strictCnCore.includes(F.strictCnCore)||F.strictCnCore.includes(W.strictCnCore))?ue=K.num!==null&&j.num!==null&&K.num===j.num?oi.EP_ALIGN.CN_STRICT_MATCH:oi.EP_ALIGN.CN_STRICT_MISMATCH:ue=G0(W.cleanEpText,F.cleanEpText),J+=ue,N+=ue,K.num!==null&&j.num!==null&&K.num===j.num&&(J+=oi.EP_ALIGN.NUMERIC_MATCH);let Ie=1;if(K.num!==null&&!K.isSpecial&&(D!==null&&K.num-D>1?Ie=.1:D=K.num),J*=Ie,ue*=Ie,N+=ue,w+=J,K.num!==null&&j.num!==null){let we=(j.num-K.num).toFixed(4);B.set(we,(B.get(we)||0)+Ie)}P++}if(P>0){let L=w/P,Z=0;for(let j of B.values())Z=Math.max(Z,j);let W=Z/P,F=N/P;W>.6&&(M||F>.33)&&(L+=oi.EP_ALIGN.PATTERN_CONSISTENCY_BONUS),L+=Math.min(P*.15,1.5);let K=B.get("0.0000")||0;K>3?(L+=oi.EP_ALIGN.ZERO_DIFF_BONUS_BASE,L+=K*oi.EP_ALIGN.ZERO_DIFF_BONUS_PER_HIT):K>0&&(L+=K*2),L>I&&(I=L,v=R)}}return I>.3?v:0}function $0r(t,e,r){let n=new Map,s=[];for(let o of t){if(r&&r.has(o.animeId))continue;let c=O.animes.find(f=>String(f.animeId)===String(o.animeId))||o;if(tE(c.animeTitle,c.typeDescription,c.source)==="REAL"){s.push(` [\u5254\u9664] [${c.source}] ${c.animeTitle} (\u7C7B\u578B: \u771F\u4EBA\u5267/REAL)`);continue}if(vg(c.animeTitle,c.typeDescription)==="MOVIE"){s.push(` [\u5254\u9664] [${c.source}] ${c.animeTitle} (\u7C7B\u578B: \u7535\u5F71/MOVIE)`);continue}let d=Ei(c.animeTitle,c.typeDescription,c.aliases);if(d!==null&&c.links){let p=Cie(c.links,e,c.source).filter(m=>{let h=m.link.title||m.link.name||"",g=K0(h).replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();return!(/^(dandan|animeko)$/i.test(c.source)&&(ye.Episode.SPECIAL_CHECK.test(g)||ye.Episode.DANDAN_IGNORE.test(g))||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(g)||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(h))}).length;if(p>0){n.has(d)||n.set(d,new Map);let m=n.get(d);m.has(p)||m.set(p,[]),m.get(p).push(c.source),s.push(` [\u91C7\u7EB3] [${c.source}] S${d} = ${p}\u96C6 ("${c.animeTitle}")`)}else s.push(` [\u5FFD\u7565] [${c.source}] S${d} (\u6709\u6548\u96C6\u6570\u4E3A 0)`)}}let i=new Map,a=[];for(let[o,c]of n.entries()){let u=0,l=0,d=[];for(let[p,m]of c.entries()){let h=m.length;h>l?(l=h,u=p,d=m):h===l&&p<u&&(u=p,d=m)}i.set(o,u);let f=Array.from(c.entries()).map(([p,m])=>`${p}\u96C6(x${m.length})[${m.join(",")}]`).join(", ");a.push(`S${o}=${u} (\u63A8\u65AD\u6765\u6E90: ${d.join(",")} | \u7EDF\u8BA1: ${f})`)}return(s.length>0||a.length>0)&&mt("info",`[Merge-Check] [Map-Build] \u5B63\u5EA6\u5730\u56FE\u6784\u5EFA\u8BE6\u60C5:
|
|
${s.join(`
|
|
`)}
|
|
=> \u6700\u7EC8\u5224\u5B9A: { ${a.join("; ")} }`),i}function F0r(t,e,r=""){let n=`${t}_${e}_${r}`,s=0;for(let i=0;i<n.length;i++)s=(s<<5)-s+n.charCodeAt(i)|0;return Math.abs(s)%1e9+1e9}function Int(t,e){let r=t.link,n=r.title||r.name||`Episode ${t.originalIndex+1}`,s=r.url||"";s&&(s=Iie(s),/^https?:\/\//i.test(s)||(s=`${e}:${s}`));let i=n;return i.includes(`\u3010${e}\u3011`)||(i=`\u3010${e}\u3011 ${i}`),{title:i,url:s,name:n}}function U0r(t,e,r){if(!e||e.length===0)return;let n=[],s=[],i=[],a=t.links.length,o=-1;for(let l=a-1;l>=0;l--){let d=t.links[l],f=d.title||d.name||"",p=Aa(f,t.source);if(!p.isSpecial&&!p.isPV&&!p.isStrictSpecial&&p.num!==null){o=l;break}}for(let l of e){let d=l.relativeIndex,f=l.info&&l.info.isStrictSpecial,p=l.info&&!l.info.isSpecial&&!l.info.isPV&&!f&&l.info.num!==null;d<0&&!f?n.push(l):d>=a&&!f||p&&d>o?s.push(l):i.push(l)}let c=[],u=(l,d,f)=>{l.length>0&&(l.sort((p,m)=>p.originalIndex-m.originalIndex),d.push(...l.map(p=>Int(p,r))),c.push(` [\u8865\u5168-${f}] \u63D2\u5165/\u8FFD\u52A0 ${l.length} \u96C6 (${l.map(p=>p.link.title).join(", ")})`))};n.length>0&&(n.sort((l,d)=>l.originalIndex-d.originalIndex),t.links.unshift(...n.map(l=>Int(l,r))),c.push(` [\u8865\u5168-\u5934\u90E8] \u63D2\u5165 ${n.length} \u96C6 (${n.map(l=>l.link.title).join(", ")})`)),u(s,t.links,"\u5C3E\u90E8"),u(i,t.links,"\u7279\u6B8A"),c.length>0&&mt("info",`[Merge] [${r}] \u667A\u80FD\u8865\u5168:
|
|
${c.join(`
|
|
`)}`)}function q0r(t){let e=new Map;if(!t||t.length<2)return e;let r=t.map(s=>{let i=s.animeTitle||"",a=K0(i).replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();return{id:s.animeId,raw:i,clean:a}}),n=new Set(r.map(s=>s.clean));for(let s of r){let i=null;for(let a of t4)if(s.clean.match(a.regex)){i=s.clean.replace(a.regex,"").trim();break}if(!i){let a=s.clean.match(ye.Season.SUFFIX_AMBIGUOUS);if(a){let o=a[1];s.clean.endsWith(o)&&(i=s.clean.substring(0,s.clean.length-o.length).trim())}}i&&i.length>1&&n.has(i)&&(e.set(String(s.id),i),mt("info",`[Merge-Check] \u4E0A\u4E0B\u6587\u611F\u77E5: \u5224\u5B9A [${s.raw}] \u4E3A\u7EED\u4F5C (Base: "${i}" \u540C\u65F6\u4E5F\u5B58\u5728\u4E8E\u5217\u8868)`))}return e}function j0r(t,e){let r={isStrongMatch:!1,isStrongMismatch:!1};if(!t.links||!e.links||!t.links.length||!e.links.length)return r;let n=h=>h.filter(A=>{let g=(A.title||A.name||"").toLowerCase();return!ye.Episode.PV_CHECK.test(g)&&!ye.Episode.SPECIAL_CHECK.test(g)}).length,s=n(t.links),i=n(e.links);s>5&&i>5&&Math.min(s,i)/Math.max(s,i)<.4;let a=h=>h.map(A=>eE(A.title||A.name||"").replace(/\d+/g,"").trim()).filter(A=>A.length>1),o=a(t.links),c=a(e.links);if(o.length<3||c.length<3)return r;let u=co(o.join(" ")),l=co(c.join(" "));if(u!==l||u==="Unspecified")return r;let d=Math.min(o.length,c.length,5),f=0,p=0,m=[];for(let h=0;h<d;h++){let A=Math.floor(h*o.length/d),g=Math.floor(h*c.length/d),b=G0(o[A],c[g]);h<3&&m.push(`"${o[A]}" vs "${c[g]}" (${b.toFixed(2)})`),b>.6?f++:b<.3&&p++}return f>=Math.ceil(d*.6)?(r.isStrongMatch=!0,mt("info",`[Merge-Check] [Probe] \u91C7\u6837\u5BF9\u6BD4 (Match): ${m.join(", ")}`)):p>=Math.ceil(d*.8)&&(r.isStrongMismatch=!0,mt("info",`[Merge-Check] [Probe] \u91C7\u6837\u5BF9\u6BD4 (Mismatch): ${m.join(", ")}`)),r}function Tie(t,e){let r=O.customMergeRules||[];if(r.length===0)return null;let n=Ei(t.animeTitle,t.typeDescription,t.aliases),s=Ei(e.animeTitle,e.typeDescription,e.aliases),i=(a,o)=>{let c=Qt(a||"").toLowerCase().replace(ye.Clean.FROM_SUFFIX,""),u=Qt(o||"").toLowerCase(),l=/[\((\[]?\d{4}[\))\]]?/.test(u),d=/ã€.*?】/.test(u)||/\[.*?\]/.test(u);if(l||(c=c.replace(/[\((\[]\d{4}[\))\]]/g,"")),!d){let f=c.match(/^(?:ã€|\[)(.+?)(?:】|\])/);if(f){let p=f[1];/^(TV|剧场版|åŠ‡å ´ç‰ˆ|movie|film|anime|动漫|动画|电影|电视剧|连ç»å‰§|综艺|真人秀|纪录片|日剧|韩剧|美剧|英剧|泰剧|国产剧|港剧|å°å‰§|çŸå‰§|å¾®çŸå‰§|特摄|OVA|OAD|SP|AVC|HEVC|MP4|MKV)$/i.test(p)||(c=c.replace(f[0],p+" "))}c=c.replace(ye.Clean.SOURCE_TAG,"").replace(/\[.*?\]/g,"")}return!u.includes("\u5B63")&&!u.includes("season")&&(c=c.replace(ye.Season.INFO_STRONG,"")),c=c.replace(ye.Clean.MOVIE_KEYWORDS,""),{target:Fr(c).replace(/\s+/g,""),rule:Fr(u).replace(/\s+/g,"")}};for(let a of r){let o=A=>String(A).split(Sg)[0],c=o(a.primary.source),u=o(a.secondary.source),l=String(t.source).split(Sg),d=String(e.source).split(Sg);if(!l.includes(c)||!d.includes(u))continue;let f=i(t.animeTitle,a.primary.title),p=i(e.animeTitle,a.secondary.title),m=f.target===f.rule,h=p.target===p.rule;if(!(!m||!h)&&!(a.primary.season!==null&&(n||1)!==a.primary.season)&&!(a.secondary.season!==null&&(s||1)!==a.secondary.season))return a}return null}function H0r(t,e,r=new Set,n=[]){if(!e||e.length===0)return[];let s=t.animeTitle||"",i=s.replace(ye.Clean.YEAR_TAG,"").replace(/ã€(电影|电视剧)】/g,"").trim(),a=!!i.match(ye.Lang.CN_DUB_VER)||ye.Lang.CN.test(i),o=t.source==="hanjutv",c=s.includes("N/A")||o?{year:null,month:null}:bnt(t.startDate),u=t.episodeCount||(t.links?t.links.length:0),l=co(s),d=K0(i),f=wc(i),p=uo(s,t.typeDescription,t.aliases),m=Array.from(p).filter(w=>w.startsWith("S")),h=[{animeId:t.animeId,animeTitle:s},...e],A=q0r(h),g=A.has(String(t.animeId)),b=A.get(String(t.animeId)),y=r.has(t.animeId),x=(w,N)=>{mt("info",`[Merge-Check] \u62D2\u7EDD: [${t.source}] ${s} vs [${w}] -> ${N}`)},v=[],I=0;for(let w of e){let N=w.animeTitle||"",P=Tie(t,w);if(P){if(P.action==="block"){x(N,"\u88AB\u6620\u5C04\u8868 [\xD7] \u660E\u786E\u7981\u6B62\u4E0E\u4E3B\u6E90\u5408\u5E76");continue}let X=co(N);v.push({anime:w,score:1,lang:X,debugTitle:N,isCustomMapped:!0}),mt("info",`[Merge-Check] \u5408\u5E76\u6620\u5C04\u8868\u7279\u6743\u653E\u884C: [${t.source}] ${s} <-> [${w.source}] ${N}`);continue}if(!n.includes(w.source)){x(N,"\u8BE5\u6765\u6E90\u4E3A\u6620\u5C04\u8868\u52A8\u6001\u6CE8\u5165\uFF0C\u4E14\u672A\u547D\u4E2D\u7279\u6743\u89C4\u5219\uFF0C\u53D7\u9650\u4E8E\u6743\u9650\u6C99\u7BB1\u4E88\u4EE5\u963B\u65AD");continue}let B=r.has(w.animeId),M=y||B,D=w.source==="hanjutv",L=N.includes("N/A")||D?{year:null,month:null}:bnt(w.startDate),Z=co(N),W=N.replace(ye.Clean.YEAR_TAG,"").replace(/ã€(电影|电视剧)】/g,"").trim(),F=!!W.match(ye.Lang.CN_DUB_VER)||ye.Lang.CN.test(W),K=a||F,j=w.episodeCount||(w.links?w.links.length:0);if(W.includes("\u4E4B")){let X=W.split("\u4E4B"),ie=K0(X[0]);if(d===ie){x(N,`\u7ED3\u6784\u51B2\u7A81: \u4E3B\u6807\u9898\u662F\u526F\u6807\u9898\u7684\u524D\u7F00\u7236\u96C6 (Prefix: "${ie}")`);continue}}if(D0r(s,N,t.typeDescription,w.typeDescription,u,j,t.source,w.source)){let X=tE(s,t.typeDescription,t.source),ie=tE(N,w.typeDescription,w.source);x(N,`\u5A92\u4F53\u7C7B\u578B\u6216\u7EF4\u6570\u4E0D\u5339\u914D (P:${X}/${vg(s,t.typeDescription)} [${t.typeDescription}] vs S:${ie}/${vg(N,w.typeDescription)} [${w.typeDescription}])`);continue}let J=c.year!==null&&L.year!==null,se=k0r(s,N,J);if(A.has(String(w.animeId))){let X=A.get(String(w.animeId));if(f===wc(X)&&!(ye.Season.SUFFIX_AMBIGUOUS.test(d)||t4.some(ce=>ce.regex.test(d)))){x(N,`\u4E0A\u4E0B\u6587\u963B\u65AD: \u4E3B\u6E90(S1) vs \u526F\u6E90(S2/S\u7EED\u4F5C) (Base: "${X}")`);continue}}if(g&&wc(W)===wc(b)){x(N,`\u4E0A\u4E0B\u6587\u963B\u65AD: \u4E3B\u6E90(S2/Sequel) vs \u526F\u6E90(Base/S1) (Base: "${b}")`);continue}if(!J&&se){x(N,"\u6807\u9898\u7ED3\u6784\u51B2\u7A81\u4E14\u65E5\u671F\u65E0\u6548");continue}let ue=L0r(i,W,t.typeDescription,w.typeDescription,t.aliases,w.aliases),Ie=j0r(t,w),we=s.search(ye.Clean.MOVIE_KEYWORDS)!==-1,qe=N.search(ye.Clean.MOVIE_KEYWORDS)!==-1;if(we!==qe){let X=uo(N,w.typeDescription,w.aliases),ie=Ne=>wc(Ne.replace(ye.Clean.MOVIE_KEYWORDS,"")),ce=ie(s),fe=ie(N);if(G0(ce,fe)>.9&&!p.has("SEQUEL")&&!X.has("SEQUEL")){x(N,`\u5267\u573A\u7248\u6807\u9898\u963B\u65AD: [${we?"Movie":"TV"}] vs [${qe?"Movie":"TV"}] (\u65E0\u7EED\u7BC7\u6807\u8BC6)`);continue}}let Fe=M?0:M0r(c,L,K);if(Fe===-1){let X=ue;if(Ie.isStrongMatch&&(X=!0),M&&(X=!0),se&&!M&&(X=!1),X&&c.year&&L.year&&Math.abs(c.year-L.year)>2&&!Ie.isStrongMatch&&!M&&(X=!1),!X){x(N,`\u65E5\u671F\u4E25\u91CD\u4E0D\u5339\u914D\u4E14\u65E0\u8C41\u514D (P:${c.year} vs S:${L.year}, IsDub:${K})`);continue}}if(!M&&B0r(i,W,t.typeDescription,w.typeDescription,t.aliases,w.aliases))if(Ie.isStrongMatch)mt("info",`[Merge-Check] \u5B63\u5EA6\u51B2\u7A81\u8C41\u514D: [${s}] vs [${N}] (Probe\u5F3A\u5339\u914D)`);else{x(N,"\u5B63\u5EA6\u6807\u8BB0\u51B2\u7A81");continue}let _e=X=>X?String(X).replace(ye.Clean.YEAR_TAG,"").replace(/ã€(电影|电视剧)】/g,"").trim():"",U=Array.from(new Set([i,...t.aliases||[]].map(_e).filter(Boolean))),G=Array.from(new Set([W,...w.aliases||[]].map(_e).filter(Boolean))),V=0,q=0;for(let X of U){let ie=xnt(X);for(let ce of G)V=Math.max(V,G0(X,ce)),q=Math.max(q,G0(ie,xnt(ce)))}let H=Math.max(V,q),ee=H;se&&(H+=oi.TITLE_STRUCTURE_CONFLICT),Fe!==-1&&(H+=Fe);let ne=l==="CN",re=Z==="CN";if(ne&&re?H+=oi.LANG_MATCH_CN:ne!==re&&(H+=oi.LANG_MISMATCH),Ie.isStrongMatch?(mt("info",`[Merge-Check] \u96C6\u5185\u5BB9\u63A2\u6D4B: \u5F3A\u5339\u914D! \u63D0\u5347\u5206\u6570 (\u539F\u5206: ${H.toFixed(2)}) -> ${Hl.SIMILARITY_STRONG}`),H=Math.max(H,Hl.SIMILARITY_STRONG)):Ie.isStrongMismatch&&(x(N,"\u96C6\u5185\u5BB9\u63A2\u6D4B: \u5F3A\u4E0D\u5339\u914D (\u96C6\u6807\u9898/\u5185\u5BB9\u5DEE\u5F02\u5DE8\u5927)"),H=0),H<Hl.SIMILARITY_MIN){let X=f,ie=wc(W);x(N,`\u76F8\u4F3C\u5EA6\u4E0D\u8DB3: ${H.toFixed(2)} (Raw:${ee.toFixed(2)}, CleanA:"${X}", CleanB:"${ie}")`)}else H>I&&(I=H),v.push({anime:w,score:H,lang:Z,debugTitle:N}),mt("info",`[Merge-Check] \u5019\u9009\u9009\u4E2D: ${N} Score=${H.toFixed(2)} (BestSoFar=${I.toFixed(2)})`)}if(v.length===0||I<Hl.SIMILARITY_MIN&&!v.some(w=>w.isCustomMapped))return[];let R=v.filter(w=>{if(w.isCustomMapped||w.score>=I-Hl.TIER_DEFAULT||w.lang==="CN"&&w.score>=I-Hl.TIER_CN)return!0;let N=uo(w.debugTitle,w.anime.typeDescription,w.anime.aliases);if(Array.from(N).some(B=>B.startsWith("P"))&&w.score>=I-Hl.TIER_PART){let B=Array.from(N).filter(M=>M.startsWith("S"));if(m.length>0&&B.length>0){if(m.some(D=>B.includes(D)))return!0}else return!0}return!1});return R.sort((w,N)=>w.isCustomMapped&&!N.isCustomMapped?-1:!w.isCustomMapped&&N.isCustomMapped?1:N.score-w.score),R.map(w=>w.anime)}function Q0r(t){let e=new Set;if(!t||t.length===0)return e;let r={\u4E00:"1",\u4E8C:"2",\u4E09:"3",\u56DB:"4",\u4E94:"5",\u516D:"6",\u4E03:"7",\u516B:"8",\u4E5D:"9",\u5341:"10"},n=new Map;t.forEach(s=>{let i=O.animes.find(f=>String(f.animeId)===String(s.animeId))||s,a=uo(i.animeTitle,i.typeDescription,i.aliases);if(a.has("MOVIE")||a.has("OVA")||a.has("SP")||a.has("SEQUEL"))return;let o=Qt(s.animeTitle||""),c=o.match(/^(?:ã€|\[)(.+?)(?:】|\])/);if(c){let f=c[1];/^(TV|剧场版|åŠ‡å ´ç‰ˆ|movie|film|anime|动漫|动画|AVC|HEVC|MP4|MKV)$/i.test(f)||(o=o.replace(c[0],f+" "))}o=o.replace(/第([一二三四五å…七八ä¹å])å£/g,(f,p)=>`\u7B2C${r[p]}\u5B63`);let u=o.replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.META_SUFFIX,"").replace(ye.Lang.KEYWORDS_STRONG,"");if(t4.forEach(f=>u=u.replace(f.regex,"")),u=u.replace(ye.Season.SUFFIX_AMBIGUOUS,"").replace(/(?:第|S)\d+(?:å£|期|部)/gi,"").replace(/(?:Part|P)\s*\d+/gi,"").replace(/\s+/g,"").toLowerCase().trim(),!u)return;let l=tE(s.animeTitle,i.typeDescription,i.source),d=`${u}|${l}`;n.has(d)||n.set(d,[]),n.get(d).push(s)});for(let[s,i]of n.entries()){if(i.length<2)continue;let[a,o]=s.split("|"),c=i.map(f=>` - [${f.source}] ${f.animeTitle}`).join(`
|
|
`);mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u6B63\u5728\u68C0\u67E5\u5206\u7EC4: "${a}" [${o}] (\u5305\u542B ${i.length} \u4E2A\u6761\u76EE):
|
|
${c}`);let u=new Map,l=0;if(i.forEach(f=>{let p=O.animes.find(b=>String(b.animeId)===String(f.animeId))||f,m=uo(p.animeTitle,p.typeDescription,p.aliases),h=1;for(let b of m)if(b.startsWith("S")){let y=parseInt(b.substring(1));isNaN(y)||(h=y)}if(h===1){let b=m.has("SEQUEL")||ye.Season.SUFFIX_SEQUEL.test(p.animeTitle),y=m.has("AMBIGUOUS")||ye.Season.SUFFIX_AMBIGUOUS.test(p.animeTitle);(b||y)&&(h=2,mt("info",`[Merge-Check] [Detail] [${p.source}] "${p.animeTitle}" -> \u5224\u5B9A\u4E3A S2 (Reason: Sequel/Ambiguous Suffix)`))}h>l&&(l=h);let A=0;p.links&&(/^(dandan|animeko)$/i.test(p.source)?A=p.links.filter(b=>{let y=b.title||b.name||"",x=y.replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();if(ye.Episode.SPECIAL_CHECK.test(x)||ye.Episode.DANDAN_IGNORE.test(x))return!1;let v=K0(y);return!(ye.Episode.SPECIAL_CHECK.test(v)||ye.Episode.DANDAN_IGNORE.test(v)||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(x)||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(y))}).length:A=p.links.length),u.has(p.source)||u.set(p.source,{seasonCounts:{},maxSeason:0,s1Candidates:[]});let g=u.get(p.source);g.seasonCounts[h]||(g.seasonCounts[h]=0),g.seasonCounts[h]=Math.max(g.seasonCounts[h],A),h>g.maxSeason&&(g.maxSeason=h),h===1&&g.s1Candidates.push({anime:p,originalCount:A})}),l<=1)continue;let d=Array.from(u.keys());for(let[f,p]of u.entries()){if(p.maxSeason>1)continue;let m=0,h=!1;for(let g of d){if(g===f)continue;let b=u.get(g);b.seasonCounts[1]&&(h=!0,b.seasonCounts[1]>m&&(m=b.seasonCounts[1]))}if(!h)continue;let A=m+Hl.COLLECTION_DIFF;p.s1Candidates.forEach(g=>{let b=m>0?g.originalCount/m:0;if(g.originalCount>A){if(b>Hl.COLLECTION_RATIO){mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u62D2\u7EDD: [${f}] ${g.anime.animeTitle} (Ratio too high: ${b.toFixed(2)} > ${Hl.COLLECTION_RATIO})`);return}e.add(g.anime.animeId),mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u53D1\u73B0\u7591\u4F3C\u5408\u96C6(\u5355\u4F53): [${f}] ${g.anime.animeTitle} (Count:${g.originalCount} > Thr:${A}, Ratio:${b.toFixed(2)}) -> \u6807\u8BB0\u4E3A\u5408\u96C6`)}else mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u672A\u547D\u4E2D: [${f}] ${g.anime.animeTitle} (Count:${g.originalCount} <= Threshold:${A})`)})}}return e}async function vie(t){let{pAnime:e,availableSecondaries:r,curAnimes:n,groupConsumedIds:s,globalConsumedIds:i,generatedSignatures:a,epFilter:o,groupFingerprint:c,currentPrimarySource:u,logPrefix:l,limitSecondaryLang:d,collectionAnimeIds:f,allowReuseIds:p,collectionProgress:m,baseSecondaries:h}=t;if(f.has(e.animeId)&&s.has(e.animeId))return mt("info",`${l} \u8DF3\u8FC7: [${u}] \u662F\u5408\u96C6\u4E14\u5DF2\u4F5C\u4E3A\u7EC4\u5185\u526F\u6E90\u53C2\u4E0E\u8FC7\u5408\u5E76\u3002`),null;let A=Sie(e);if(!A.links){let D=O.animes.find(L=>String(L.animeId)===String(e.animeId));A.links=D?.links?Sie(D.links):[]}if(!A.links||A.links.length===0)return mt("warn",`${l} \u4E3B\u6E90\u6570\u636E\u4E0D\u5B8C\u6574\uFF0C\u8DF3\u8FC7: ${e.animeTitle}`),null;let g=e.animeTitle.replace(ye.Clean.FROM_SUFFIX,""),b=[],y=[e.animeId],x=!1,v=co(e.animeTitle),I=e4(A.links,e.animeTitle,u),R=f.has(e.animeId),w=(D,L)=>D?L&&D.includes(L)?D.replace(L,""):D:"",N=wc(e.animeTitle),P=n.filter(D=>wc(D.animeTitle)===N),B=$0r(P,o,f);if(B.size>0){let D=Array.from(B.entries()).map(([L,Z])=>`S${L}=${Z}`).join(", ");(R||r.some(L=>n.some(Z=>Z.source===L&&f.has(Z.animeId))))&&mt("info",`${l} [\u5408\u96C6\u5904\u7406] \u6784\u5EFA\u5B63\u5EA6\u96C6\u6570\u5730\u56FE (Mode\u7B56\u7565): { ${D} }`)}let M=[];for(let D of r){let L=n.filter(K=>{if(K.source!==D)return!1;let j=Tie(e,K);if(j)return j.action==="block"?(mt("info",`${l} \u62E6\u622A: \u526F\u6E90 [${K.source}] ${K.animeTitle} \u88AB\u6620\u5C04\u8868 [\xD7] \u89C4\u5219\u660E\u786E\u963B\u65AD`),!1):!0;if(R)return!0;let J=s.has(K.animeId),se=p&&p.has(K.animeId);return!(J&&!se)}),Z=[],W=new Set;for(let K of L)W.has(K.animeId)||(W.add(K.animeId),Z.push(K));if(L=Z,d&&(L=L.filter(K=>co(K.animeTitle)===d)),L.length>1&&L.sort((K,j)=>{let J=co(K.animeTitle)==="CN",se=co(j.animeTitle)==="CN";return J===se?0:J?1:-1}),L.length===0)continue;let F=H0r(e,L,f,h);M.push(...F)}if(M.length>0){if(M.length>1&&(R||M.some(D=>f.has(D.animeId)))){M.sort((L,Z)=>{let W=Ei(L.animeTitle,L.typeDescription,L.aliases)||1,F=Ei(Z.animeTitle,Z.typeDescription,Z.aliases)||1;if(W!==F)return W-F;let K=r.indexOf(L.source),j=r.indexOf(Z.source);return K-j});let D=M.map(L=>`[${L.source}]S${Ei(L.animeTitle,L.typeDescription,L.aliases)||1}`);mt("info",`${l} [\u5408\u96C6\u65F6\u5E8F] \u5DF2\u5C06\u8DE8\u6E90\u5339\u914D\u961F\u5217\u6309\u5B63\u6570\u5347\u5E8F\u6392\u5217\uFF0C\u4FDD\u969C\u5207\u7247\u63A8\u65AD\u4E25\u683C\u81EA\u4E3E: ${D.join(" -> ")}`)}for(let D of M){let L=D.source,Z=Tie(e,D);if(Z&&Z.action==="block"){mt("info",`${l} [\u5B89\u5168\u7F51\u62E6\u622A] \u5173\u8054\u53D6\u6D88: [${u}] ${e.animeTitle} <-> [${L}] ${D.animeTitle} \u88AB\u660E\u786E\u963B\u65AD`);continue}if(!R&&!(p&&p.has(D.animeId))&&!Z&&s.has(D.animeId))continue;let W=O.animes.find(Pe=>String(Pe.animeId)===String(D.animeId));if(!W?.links)continue;let F=Sie(W),K=[],j=new Set,J=[],se=[],oe=F.animeTitle.replace(ye.Clean.FROM_SUFFIX,""),ue=_nt(A.links,u),Ie=_nt(F.links,L),we=new Set([...Ie].filter(Pe=>!ue.has(Pe))),qe=new Set([...ue].filter(Pe=>!Ie.has(Pe)));qe.size>0&&Snt(A.links,qe,u,`\u4E3B\u6E90:${u}`),we.size>0&&Snt(F.links,we,L,`\u526F\u6E90:${L}`);let Fe=F.links,_e=Cie(A.links,o,u),U=Cie(Fe,o,L),G=co(F.animeTitle),V=_e,q=U,H=0,ee=0,ne=f.has(D.animeId),re=(Pe,Ue,ze)=>{let Ye=0,Ze=Ue;if(ze&&ze>1){let nt=!1,ct=Pe?e.animeId:D.animeId;if(m&&m.has(ct)){let tt=m.get(ct),Pt=ze-1;if(tt[`S${Pt}`]!==void 0){let lt=tt[`S${Pt}`]+1;lt>0&<<Ue.length&&(Ze=Ue.slice(lt),Ye=lt,mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u5386\u53F2\u63A8\u65AD\u547D\u4E2D: \u6839\u636E S${Pt} \u7ED3\u675F\u4F4D\u7F6E (Index ${tt[`S${Pt}`]}), \u8BBE\u5B9A S${ze} \u8D77\u70B9\u4E3A Index ${lt}`),nt=!0)}}if(!nt){let tt=0;for(let lt=1;lt<ze;lt++)tt+=B.get(lt)||0;let Pt=tt;if(Pt>=Ue.length){let lt=(ze-1)*12;lt<Ue.length&&(mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u8D77\u70B9\u8D8A\u754C\u4FEE\u6B63: \u539F\u8BA1\u7B97 ${Pt} > Total ${Ue.length}\uFF0C\u542F\u7528\u56DE\u9000\u4F30\u7B97 (S${ze} -> Index ${lt})`),Pt=Math.max(0,lt-2))}if(Pt>0&&Pt<Ue.length){let lt=tt+(B.get(ze)||999),ke=Math.min(lt,Ue.length);Ze=Ue.slice(Pt,ke),Ye=Pt;let Je=Pe?`\u4E3B\u6E90[${u}]`:`\u526F\u6E90[${L}]`;mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u68C0\u6D4B\u5230${Je}\u4E3A\u5408\u96C6 (Target: S${ze}): \u65E0\u5386\u53F2\u63A8\u65AD(Defensive Fallback)\uFF0C\u4FE1\u4EFB\u5730\u56FE\u5207\u81F3 ${Pt}~${ke} (\u5171 ${Ze.length} \u96C6) \u53C2\u4E0E\u5BF9\u9F50`)}else mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u653E\u5F03\u5207\u7247: \u8BA1\u7B97\u8D77\u70B9 ${Pt} \u8D85\u51FA\u8303\u56F4 (Total: ${Ue.length})`)}}else if(ze===1){let nt=B.get(1);if(nt&&nt<Ue.length){Ze=Ue.slice(0,nt);let ct=Pe?`\u4E3B\u6E90[${u}]`:`\u526F\u6E90[${L}]`;mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u68C0\u6D4B\u5230${ct}\u4E3A\u5408\u96C6 (Target: S1): \u4F7F\u7528 Index 0~${nt} \u53C2\u4E0E\u5BF9\u9F50`)}}return{sliceStart:Ye,slicedList:Ze}};if(R&&!ne){let Pe=Ei(F.animeTitle,F.typeDescription,F.aliases),Ue=re(!0,_e,Pe);V=Ue.slicedList,H=Ue.sliceStart}else if(!R&&ne){let Pe=Ei(e.animeTitle,e.typeDescription,e.aliases),Ue=re(!1,U,Pe);q=Ue.slicedList,ee=Ue.sliceStart}A.animeId=F0r(A.animeId,D.animeId,c),A.bangumiId=String(A.animeId);let X=0,ie=e4(F.links,F.animeTitle,L),ce=Pe=>Pe.isSpecial||Pe.isStrictSpecial||Pe.num!==null&&Pe.num%1!==0,fe=new Map,Ne=0;if(Z&&Z.hasRoutes){mt("info",`${l} \u542F\u7528\u6620\u5C04\u8868\u7CBE\u786E\u8DEF\u7531: ${e.animeTitle} <-> ${D.animeTitle}`);let Ue=vnt(V,q,v,G,u,L,e.animeTitle,F.animeTitle)+H-ee;Ne=Ue;let ze=new Map;for(let Ye of Z.routes){let Ze=Ye.sec.end-Ye.sec.start+1,nt=Ye.prim.end-Ye.prim.start+1;if(Ze!==nt){mt("warn",`[Merge] [\u6620\u5C04\u8868] \u8DEF\u7531\u533A\u95F4\u8DE8\u5EA6\u4E0D\u5BF9\u7B49\uFF0C\u8DF3\u8FC7\u6B64\u6BB5: E${Ye.sec.start}~E${Ye.sec.end} > E${Ye.prim.start}~E${Ye.prim.end}`);continue}for(let ct=0;ct<Ze;ct++)ze.set(Ye.sec.start+ct,Ye.prim.start+ct)}for(let Ye=0;Ye<U.length;Ye++){let Ze=U[Ye],nt=Ze.link,ct=nt.name||nt.title||`Index ${Ye}`,tt=w(nt.title||nt.name,ie),Pt=Aa(tt,L),lt={link:nt,originalIndex:Ze.originalIndex,relativeIndex:-1,info:Pt},ke=Pt.num;if(ke===null&&!Pt.isStrictSpecial&&(ke=Ye+1),ke===null||!ze.has(ke)){lt.relativeIndex=Ye+Ue,K.push({idx:lt.relativeIndex,text:` [\u672A\u8DEF\u7531\u843D\u5355] ${ct} (\u5E94\u7528\u63A8\u65AD\u504F\u79FB\u4F4D\u7F6E)`}),se.push(lt);continue}let Je=ze.get(ke),ft=_e.findIndex((rt,bt)=>{let An=Aa(w(rt.link.title||rt.link.name,I),u),vt=An.num;return vt===null&&!An.isStrictSpecial&&(vt=bt+1),vt===Je&&!An.isSpecial&&!An.isStrictSpecial});if(ft!==-1){fe.set(Ye,ft),lt.relativeIndex=ft;let rt=_e[ft].originalIndex,bt=A.links[rt],An=bt.name||bt.title||`Index ${rt}`,vt=Iie(nt.url),_r=bt.url,qs=`${L}:${vt}`;_r.includes(Cu)||_r.startsWith(u+":")||(_r=`${u}:${_r}`);let Pr=`${_r}${Cu}${qs}`,js=bt.title;if(js){let Hs=L,ys=(nt.title||"").match(/^ã€([^】\d]+)(?:\d*)】/);ys&&(Hs=ys[1].trim()),js=js.replace(/^ã€([^】]+)】/,(Qs,Bu)=>`\u3010${Bu}${Sg}${Hs}\u3011`)}K.push({idx:ft,text:` [\u5DF2\u8DEF\u7531\u6620\u5C04] ${An} <-> ${ct} (Rule: E${ke}>E${Je})`}),j.add(ft),X++,J.push({linkIndex:rt,newUrl:Pr,newTitle:js})}else lt.relativeIndex=Ye+Ue,K.push({idx:lt.relativeIndex,text:` [\u8DEF\u7531\u5931\u8D25] \u4E3B\u6E90\u627E\u4E0D\u5230 E${Je} <-> ${ct}`}),se.push(lt)}}else{Z&&mt("info",`${l} \u547D\u4E2D\u6620\u5C04\u8868\u5E38\u89C4\u5408\u5E76: [${L}] ${D.animeTitle} -> [${u}] ${e.animeTitle} (\u5DF2\u514D\u68C0\u653E\u884C\uFF0C\u4EA4\u7531\u7CFB\u7EDF\u81EA\u52A8\u5BF9\u9F50)`),Ne=vnt(V,q,v,G,u,L,e.animeTitle,F.animeTitle)+H-ee,Ne!==0&&mt("info",`${l} \u96C6\u6570\u81EA\u52A8\u5BF9\u9F50 (${L}): Offset=${Ne} (P:${_e.length}, S:${U.length})`);let Ue=new Map,ze=null;U.forEach((ct,tt)=>{let Pt=_e[tt+Ne];if(!Pt)return;let lt=w(Pt.link.title||Pt.link.name,I),ke=w(ct.link.title||ct.link.name,ie),Je=Aa(lt,u),ft=Aa(ke,L);if(Je.num===null||ft.num===null||ce(Je)||ce(ft))return;let rt=Je.num-ft.num,An=1+(G0(eE(lt),eE(ke))>.45?1:0);ze!==null&&Je.num-ze>1?An=.1:ze=Je.num,Ue.set(rt,(Ue.get(rt)||0)+An)});let Ye=Ue.size>0?[...Ue.entries()].reduce((ct,tt)=>tt[1]>ct[1]?tt:ct)[0]:null,Ze=_e.reduce((ct,tt,Pt)=>{let lt=Aa(w(tt.link.title||tt.link.name,I),u);return ce(lt)&&!lt.isPV&&ct.push(Pt),ct},[]),nt=0;for(let ct=0;ct<U.length;ct++){let tt=ct+Ne,Pt=U[ct],lt=Pt.link,ke=lt.name||lt.title||`Index ${ct}`,Je=w(lt.title||lt.name,ie),ft=Aa(Je,L),rt={link:lt,originalIndex:Pt.originalIndex,relativeIndex:tt,info:ft},bt=ce(ft);if(Ye!==null&&ft.num!==null&&!bt){let An=ft.num+Ye;if(tt=_e.findIndex(vt=>{let _r=Aa(w(vt.link.title||vt.link.name,I),u);return _r.num===An&&!ce(_r)}),tt!==-1)rt.relativeIndex=tt;else{let vt=-.5;for(let _r=_e.length-1;_r>=0;_r--){let qs=Aa(w(_e[_r].link.title||_e[_r].link.name,I),u);if(qs.num!==null&&!qs.isSpecial&&qs.num<An){vt=_r;break}}rt.relativeIndex=vt+ct*.001+.1}}else if(bt){let An=-1,vt=.65,_r=eE(Je);for(let qs of Ze){let Pr=w(_e[qs].link.title||_e[qs].link.name,I),js=Aa(Pr,u);if(ft.isPV!==js.isPV)continue;let Hs=G0(_r,eE(Pr));Hs>vt&&(vt=Hs,An=qs)}An===-1&&!ft.isPV&&nt<Ze.length&&(An=Ze[nt]),ft.isPV||nt++,tt=An,rt.relativeIndex=tt!==-1?tt:_e.length+ct*.001}else rt.relativeIndex=tt!==-1?tt:ct+Ne;if(tt>=0&&tt<_e.length){fe.set(ct,tt);let An=_e[tt].originalIndex,vt=A.links[An],_r=vt.name||vt.title||`Index ${An}`,qs=w(vt.title,I),Pr=ZL(qs),js=ZL(Je),Hs=Aa(qs,u);if(ft.isPV&&!Pr){K.push({idx:rt.relativeIndex,text:` [\u7565\u8FC7] ${_r} =/= ${ke} (PV\u4E0D\u5339\u914D\u6B63\u7247)`}),se.push(rt);continue}if(Pr!==js){K.push({idx:rt.relativeIndex,text:` [\u7565\u8FC7] ${_r} =/= ${ke} (\u7279\u6B8A\u96C6\u7C7B\u578B\u4E0D\u5339\u914D)`}),se.push(rt);continue}let ys=Hs.isStrictSpecial||Hs.num!==null&&Hs.num%1!==0,Qs=ft.isStrictSpecial||ft.num!==null&&ft.num%1!==0,Bu=!Hs.isSpecial&&(Hs.num===null||Hs.num%1===0),Ao=!ft.isSpecial&&(ft.num===null||ft.num%1===0);if(ys&&Ao||Qs&&Bu){K.push({idx:rt.relativeIndex,text:` [\u7565\u8FC7] ${_r} =/= ${ke} (\u6B63\u7247\u4E0E\u756A\u5916\u963B\u65AD)`}),se.push(rt);continue}let Dc=Iie(lt.url),Ta=vt.url,yn=`${L}:${Dc}`;Ta.includes(Cu)||Ta.startsWith(u+":")||(Ta=`${u}:${Ta}`);let wa=`${Ta}${Cu}${yn}`,td=vt.title;if(td){let yo=L;if(lt.title){let bA=lt.title.match(/^ã€([^】\d]+)(?:\d*)】/);bA&&(yo=bA[1].trim())}td=td.replace(/^ã€([^】]+)】/,(bA,u6)=>`\u3010${u6}${Sg}${yo}\u3011`)}K.push({idx:rt.relativeIndex,text:` [\u5339\u914D] ${_r} <-> ${ke}`}),j.add(tt),X++,J.push({linkIndex:An,newUrl:wa,newTitle:td})}else K.push({idx:rt.relativeIndex,text:` [\u843D\u5355] (\u4E3B\u6E90\u8D8A\u754C) <-> ${ke}`}),se.push(rt)}}for(let Pe=0;Pe<_e.length;Pe++)if(!j.has(Pe)){let Ue=_e[Pe].originalIndex,ze=A.links[Ue],Ye=ze.name||ze.title||`Index ${Ue}`;K.push({idx:Pe,text:` [\u843D\u5355] ${Ye} <-> (\u526F\u6E90\u7F3A\u5931\u6216\u88AB\u7565\u8FC7)`})}if(X>0){let Pe=f.has(e.animeId)||f.has(D.animeId),Ue=!1;if(Z?Ue=X>0:Ue=W0r(X,_e.length,U.length,u,L,Pe),Ue){for(let ke of J){let Je=A.links[ke.linkIndex];Je.url=ke.newUrl,Je.title=ke.newTitle}let ze=ke=>ke?ke.replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim():"",Ye=ze(A.animeTitle);A.aliases=[...new Set([...A.aliases||[],...F.aliases||[],...D.aliases||[],ze(F.animeTitle)])].filter(ke=>ke&&ke!==Ye),mt("info",`${l} \u5173\u8054\u6210\u529F: [${u}] ${g} <-> [${L}] ${oe} (\u672C\u6B21\u5408\u5E76 ${X} \u96C6)`),K.length>0&&(K.sort((ke,Je)=>ke.idx-Je.idx),mt("info",`${l} [${L}] \u6620\u5C04\u8BE6\u60C5:
|
|
${K.map(ke=>ke.text).join(`
|
|
`)}`)),A.mergedChildren=A.mergedChildren||[],A.mergedChildren.some(ke=>String(ke.animeId)===String(D.animeId)&&ke.source===D.source)||A.mergedChildren.push({animeId:D.animeId,animeTitle:D.animeTitle,source:D.source,episodes:F.links?F.links.length:0,imageUrl:D.imageUrl||""});let Ze=O.animes.find(ke=>String(ke.animeId)===String(D.animeId)&&ke.source===D.source);if(Ze&&(Ze.isHiddenChild=!0),m&&(ne||R)){let ke=-1;if(R&&!ne){for(let Je=0;Je<U.length;Je++){let ft=fe.has(Je)?fe.get(Je):Je+Ne;if(j.has(ft)){let rt=_e[ft].originalIndex;rt>ke&&(ke=rt)}}if(ke!==-1){let Je=Ei(F.animeTitle,F.typeDescription,F.aliases)||1;m.has(e.animeId)||m.set(e.animeId,{});let ft=m.get(e.animeId);X>=3&&(ft[`S${Je}`]=ke)}}else if(!R&&ne){for(let Je=0;Je<U.length;Je++){let ft=fe.has(Je)?fe.get(Je):Je+Ne;if(j.has(ft)){let rt=U[Je];rt.originalIndex>ke&&(ke=rt.originalIndex)}}if(ke!==-1){let Je=Ei(e.animeTitle,e.typeDescription,e.aliases)||1;m.has(D.animeId)||m.set(D.animeId,{});let ft=m.get(D.animeId);X>=3&&(ft[`S${Je}`]=ke,mt("info",`[Merge-Check] \u66F4\u65B0\u5408\u96C6\u8FDB\u5EA6 [${D.animeId}]: S${Je} -> MaxIndex ${ke}`))}}}let nt=Ei(e.animeTitle,e.typeDescription,e.aliases)||1,ct=Ei(F.animeTitle,F.typeDescription,F.aliases)||1,tt=Z&&nt!==ct;f.has(D.animeId)||tt?mt("info",`${l} [\u667A\u80FD\u8865\u5168] \u8DF3\u8FC7: \u526F\u6E90 [${L}] \u4E3A\u5408\u96C6\u6216\u89E6\u53D1\u8DE8\u5B63\u5EA6\u6620\u5C04\uFF0C\u4E3A\u907F\u514D\u6DF7\u5165\u5176\u4ED6\u5B63\u5EA6\u96C6\u6570\uFF0C\u4E0D\u6267\u884C\u8865\u5168\u3002`):U0r(A,se,L);let Pt=[],lt=[];A.links.forEach(ke=>{let Je=ke.title.replace(ye.Clean.SOURCE_TAG,"").trim();ye.Episode.SINK_TITLE_STRICT.test(Je)?lt.push(ke):Pt.push(ke)}),lt.length>0&&(A.links=[...Pt,...lt],mt("info",`${l} [\u6392\u5E8F\u4F18\u5316] \u7ACB\u5373\u6267\u884C\u756A\u5916\u6C89\u5E95: \u79FB\u52A8\u4E86 ${lt.length} \u4E2A\u756A\u5916\u96C6\u5230\u672B\u5C3E`)),x=!0,b.push(L),y.push(D.animeId)}else mt("info",`${l} \u5173\u8054\u53D6\u6D88: [${u}] ${g} <-> [${L}] ${oe} (\u5339\u914D\u7387\u8FC7\u4F4E: ${X}/${Math.max(_e.length,U.length)})`)}}}if(x){let D=y.join("|");if(a.has(D))return mt("info",`${l} \u68C0\u6D4B\u5230\u91CD\u590D\u7684\u5408\u5E76\u7ED3\u679C (Signature: ${D})\uFF0C\u5DF2\u81EA\u52A8\u9690\u53BB\u5197\u4F59\u6761\u76EE\u3002`),null;a.add(D);let L=O.animes.find(W=>String(W.animeId)===String(e.animeId)&&W.source===e.source);L&&(L.isHiddenChild=!0);for(let W=1;W<y.length;W++){let F=y[W];f.has(F)?mt("info",`${l} \u5408\u96C6\u4FDD\u7559: ID [${F}] \u662F\u5408\u96C6\uFF0C\u4FDD\u7559\u4EE5\u4F9B\u540C\u7EC4\u590D\u7528\u3002`):s.add(F),i.add(F)}let Z=b.join(Sg);return A.animeTitle=A.animeTitle.replace(`from ${u}`,`from ${u}${Sg}${Z}`),A.source=u,A}return null}async function Ont(t,e=null){if(!t||t.length<2)return;let r=O.mergeSourcePairs||[],n=O.customMergeRules||[],s=new Map;for(let p of n){if(p.action==="block")continue;let m=p.primary.source.split("&")[0],h=p.secondary.source.split("&")[0];s.has(m)||s.set(m,new Set),s.get(m).add(h)}let i=r.map(p=>({primary:p.primary,secondaries:[...p.secondaries],baseSecondaries:[...p.secondaries]}));for(let[p,m]of s.entries()){let h=i.find(A=>A.primary===p);h||(h={primary:p,secondaries:[],baseSecondaries:[]},i.push(h));for(let A of m)h.secondaries.includes(A)||h.secondaries.push(A)}if(!i||i.length===0)return;mt("info",`[Merge] \u542F\u52A8\u6E90\u5408\u5E76\u7B56\u7565\uFF0C\u7EC4\u5408\u8BA1\u7B97\u540E\u7684\u914D\u7F6E: ${JSON.stringify(i)}`);let a=O.episodeTitleFilter;if(a&&typeof a=="string")try{a=new RegExp(a,"i")}catch{a=null}let o=Q0r(t),c=new Map,u=[],l=new Set,d=new Set,f=new Set;i.forEach(p=>{p.secondaries.length===0&&f.add(p.primary)});for(let p of i){if(p.secondaries.length===0)continue;let m=new Map,h=[p.primary,...p.secondaries];h.forEach((w,N)=>m.set(w,N));let A=h.join("&"),g=new Set,b=(w,N)=>{if(!w||w.length<2)return w;mt("info",`[Merge-Check] [Sort] ${N} \u6392\u5E8F\u524D\u9996\u4E2A\u5143\u7D20: ${w[0].animeTitle}`),w.sort((B,M)=>{let D=m.get(B.source)??99,L=m.get(M.source)??99;if(D!==L)return D-L;let Z=J=>{let se=uo(J.animeTitle,J.typeDescription,J.aliases);return se.has("MOVIE")||se.has("OVA")||se.has("SP")||vg(J.animeTitle,J.typeDescription)==="MOVIE"?2:1},W=Z(B),F=Z(M);if(W!==F)return W-F;let K=Ei(B.animeTitle,B.typeDescription,B.aliases)||1,j=Ei(M.animeTitle,M.typeDescription,M.aliases)||1;return K-j});let P=w.map(B=>{let M=Ei(B.animeTitle,B.typeDescription,B.aliases)||1,D=uo(B.animeTitle,B.typeDescription,B.aliases).has("MOVIE")||vg(B.animeTitle,B.typeDescription)==="MOVIE"?"Movie":`S${M}`;return`[P${m.get(B.source)??"?"}] [${D}] [${B.source}] ${B.animeTitle}`});return mt("info",`[Merge-Check] [Sort] ${N} \u6267\u884C\u987A\u5E8F:
|
|
${P.join(`
|
|
`)}`),w},y=[];h.forEach(w=>{t.filter(P=>P.source===w&&!g.has(P.animeId)&&co(P.animeTitle)==="CN").forEach(P=>y.push(P))});let x=!1;for(let w of h)if(t.some(N=>N.source===w&&!g.has(N.animeId)&&co(N.animeTitle)==="CN")){x=!0;break}if(y.length>0&&x){mt("info",`[Merge] [Phase 1] \u542F\u52A8 CN \u9694\u79BB\u7B56\u7565: \u5305\u542B ${y.length} \u4E2A CN \u8D44\u6E90\u3002`),b(y,"Phase 1");for(let w of y){if(g.has(w.animeId))continue;let N=m.get(w.source),P=h.slice(N+1);if(P.length===0)continue;let B=await vie({pAnime:w,availableSecondaries:P,curAnimes:t,groupConsumedIds:g,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:A,currentPrimarySource:w.source,logPrefix:"[Merge][Phase 1: CN-Strict]",limitSecondaryLang:"CN",collectionAnimeIds:o,collectionProgress:c,baseSecondaries:p.baseSecondaries});B&&(u.push(B),g.add(w.animeId),d.add(w.animeId))}}let v=[];for(let w=1;w<h.length;w++){let N=h[w];t.filter(B=>B.source===N&&!g.has(B.animeId)&&co(B.animeTitle)==="CN").forEach(B=>v.push(B))}if(v.length>=2){mt("info",`[Merge] [Phase 1.5] \u542F\u52A8\u526F\u6E90 CN \u81EA\u7EC4\u7EC7: \u68C0\u6D4B\u5230 ${v.length} \u4E2A\u5269\u4F59 CN \u8D44\u6E90\u3002`),b(v,"Phase 1.5");for(let w of v){if(g.has(w.animeId))continue;let N=m.get(w.source),P=h.slice(N+1);if(P.length===0)continue;let B=await vie({pAnime:w,availableSecondaries:P,curAnimes:t,groupConsumedIds:g,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:A,currentPrimarySource:w.source,logPrefix:"[Merge][Phase 1.5: CN-Secondary]",limitSecondaryLang:"CN",collectionAnimeIds:o,collectionProgress:c,baseSecondaries:p.baseSecondaries});B&&(u.push(B),g.add(w.animeId),d.add(w.animeId))}}let I=[];h.forEach(w=>{t.filter(P=>P.source===w&&!g.has(P.animeId)).forEach(P=>I.push(P))});let R=new Set(I.map(w=>w.source));if(I.length>0&&R.size>=2){mt("info",`[Merge] [Phase 2] \u542F\u52A8\u6807\u51C6\u56DE\u9000\u5339\u914D: \u5269\u4F59 ${I.length} \u4E2A\u8D44\u6E90\u3002`),b(I,"Phase 2");for(let w of I){if(g.has(w.animeId))continue;let N=m.get(w.source),P=h.slice(N+1);if(P.length===0)continue;let B=uo(w.animeTitle,w.typeDescription,w.aliases),M=Array.from(B).some(Z=>Z.startsWith("P")),D=null;if(M){D=new Set;let Z=Ei(w.animeTitle,w.typeDescription,w.aliases)||1;for(let W of d){let F=O.animes.find(J=>String(J.animeId)===String(W));if(!F||!P.includes(F.source))continue;let K=uo(F.animeTitle,F.typeDescription,F.aliases);if(Array.from(K).some(J=>J.startsWith("P")))continue;let j=Ei(F.animeTitle,F.typeDescription,F.aliases)||1;Z===j&&D.add(F.animeId)}}let L=await vie({pAnime:w,availableSecondaries:P,curAnimes:t,groupConsumedIds:g,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:A,currentPrimarySource:w.source,logPrefix:"[Merge][Phase 2: Standard]",collectionAnimeIds:o,allowReuseIds:D,collectionProgress:c,baseSecondaries:p.baseSecondaries});L&&(u.push(L),g.add(w.animeId),d.add(w.animeId))}}}if(u.length>0){for(let p of u)Dt(p,e);t.unshift(...u)}if(f.size>0)for(let p of t)d.has(p.animeId)&&f.has(p.source)&&d.delete(p.animeId);for(let p=t.length-1;p>=0;p--){let m=t[p];(m._isMerged||d.has(m.animeId))&&t.splice(p,1)}u.length>0?mt("info",`[Merge] \u5408\u5E76\u6267\u884C\u5B8C\u6BD5\uFF0C\u65B0\u589E\u4E86 ${u.length} \u4E2A\u5408\u5E76\u9879\uFF0C\u6700\u7EC8\u5217\u8868\u6570\u91CF: ${t.length}`):mt("info",`[Merge] \u626B\u63CF\u5B8C\u6BD5\uFF0C\u672A\u4EA7\u751F\u4EFB\u4F55\u5408\u5E76\uFF0C\u5217\u8868\u4FDD\u6301\u4E0D\u53D8 (\u6570\u91CF: ${t.length})`)}function Cnt(t){if(t.p&&typeof t.p=="string"){let e=parseFloat(t.p.split(",")[0]);if(!isNaN(e))return e}return t.t!==void 0&&t.t!==null?Number(t.t):typeof t.progress=="number"?t.progress/1e3:0}function Tnt(t){if(t){if(typeof t.m=="string")return t.m;if(typeof t.text=="string")return t.text;if(typeof t.content=="string")return t.content}return""}function wnt(t){return!t||typeof t!="string"?"":t.replace(/[\s.,!?"'(){}\[\]<>;:,。ï¼ï¼Ÿã€""''()ã€ã€‘《》;:~~]/g,"").toLowerCase()}function Pnt(t,e){let r=[...t||[],...e||[]],n=s=>{if(!s)return 0;if(s.t!==void 0&&s.t!==null)return Number(s.t);if(s.p&&typeof s.p=="string"){let i=parseFloat(s.p.split(",")[0]);return isNaN(i)?0:i}return 0};return r.sort((s,i)=>n(s)-n(i)),r}function knt(t,e,r,n=.8,s=1){let i=e.indexOf("dandan");if(i===-1||!t[i]?.length)return mt("info","[Merge][AlignTimeline] \u65E0 dandan \u6E90\u6216\u65E0\u6570\u636E\uFF0C\u8DF3\u8FC7\u65F6\u95F4\u8F74\u5BF9\u9F50"),t;let a=t[i],o=a.length,c=new Map;return a.forEach(u=>{let l=wnt(Tnt(u)),d=Cnt(u);l&&(!c.has(l)||d<c.get(l))&&c.set(l,d)}),t.forEach((u,l)=>{let d=e[l];if(d==="dandan"||!u?.length)return;let f=new Map,p=[],m=0;u.forEach(x=>{let v=wnt(Tnt(x)),I=Cnt(x);if(p.push({danmu:x,time:I}),v&&c.has(v)){m++;let R=Math.round(I-c.get(v));f.set(R,(f.get(R)||0)+1)}});let h=0,A=0;f.forEach((x,v)=>{x>A&&(A=x,h=v)});let g=Math.min(o,u.length),b=A/g,y=m>0?A/m:0;if(m/g<n||b<.05||y<.15){mt("info",`[Merge][AlignTimeline] ${d}:${r[l]} \u5339\u914D\u7387\u6216\u96C6\u4E2D\u5EA6\u8FC7\u4F4E (\u6709\u6548:${(b*100).toFixed(1)}%, \u96C6\u4E2D\u5EA6:${(y*100).toFixed(1)}%)\uFF0C\u8DF3\u8FC7\u5BF9\u9F50`);return}if(Math.abs(h)<s){mt("info",`[Merge][AlignTimeline] ${d}:${r[l]} \u6700\u4F73\u504F\u79FB ${h}s \u4F4E\u4E8E\u9608\u503C\uFF0C\u65E0\u9700\u5BF9\u9F50`);return}mt("info",`[Merge][AlignTimeline] ${d}:${r[l]} \u5E94\u7528\u504F\u79FB ${h}s (\u83B7 ${A} \u7968)`),p.forEach(({danmu:x,time:v})=>{let I=Math.max(0,v-h);typeof x.p=="string"&&(x.p=x.p.replace(/^[^,]+(?=,)/,I.toFixed(2))),x.t!=null&&(x.t=I),typeof x.progress=="number"&&(x.progress=Math.round(I*1e3))})}),t}Ts();function Mnt(t,e=Date.now()){let r=Number(t);return Number.isFinite(r)&&r>0?Math.trunc(r):Math.trunc(Number(e)||Date.now())}function G0r(t=""){return OB(eg(t)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function K0r(t=""){let e=String(t||"").trim();if(!e)return"";let r=e.replace(/-/g,"+").replace(/_/g,"/").padEnd(Math.ceil(e.length/4)*4,"=");return Cc(vI(r))}var Wnt="6.8.2",V0r="a_8280",z0r="xiaomi",$nt="Redmi Note 12",Y0r="Xiaomi",Fnt="14",J0r=`HanjuTV/${Wnt} (${$nt}; Android ${Fnt}; Scale/2.00)`,Unt=14*24*60*60*1e3,Dnt="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",qnt="f349wghhe784tqwh",jnt="d3w8hf94fidk38lk",X0r="34F9Q53w/HJW8E6Q",Bnt="fb3597b87601d5a7";function qT(t){return typeof TextEncoder<"u"?new TextEncoder().encode(t):eg(t)}function Z0r(t){return typeof TextDecoder<"u"?new TextDecoder().decode(t):Cc(t)}function Hnt(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function emr(t,e=16){let r=t.length%e,n=r===0?e:e-r,s=new Uint8Array(t.length+n);return s.set(t,0),s.fill(n,t.length),s}function tmr(t){return t.replace(/[\u0000-\u001f\u007f-\u009f]/g,"")}function rE(t,e,r){let n=new Uint8Array(16);for(let s=0;s<4;s++)for(let i=0;i<4;i++)n[i+4*s]=t[i+4*s]^e[r*4+s][i];return n}function Lnt(t){let e=new Uint8Array(16);for(let r=0;r<4;r++)for(let n=0;n<4;n++)e[r+4*n]=t[r+4*((n+r)%4)];return e}function Un(t,e){let r=0,n=t,s=e;for(let i=0;i<8;i++){s&1&&(r^=n);let a=n&128;n=n<<1&255,a&&(n^=27),s>>=1}return r}function rmr(t){let e=new Uint8Array(16);for(let r=0;r<4;r++){let n=t.slice(4*r,4*r+4);e[4*r+0]=Un(n[0],2)^Un(n[1],3)^n[2]^n[3],e[4*r+1]=n[0]^Un(n[1],2)^Un(n[2],3)^n[3],e[4*r+2]=n[0]^n[1]^Un(n[2],2)^Un(n[3],3),e[4*r+3]=Un(n[0],3)^n[1]^n[2]^Un(n[3],2)}return e}function nmr(t){let e=new Uint8Array(16);for(let r=0;r<4;r++){let n=t.slice(4*r,4*r+4);e[4*r+0]=Un(n[0],14)^Un(n[1],11)^Un(n[2],13)^Un(n[3],9),e[4*r+1]=Un(n[0],9)^Un(n[1],14)^Un(n[2],11)^Un(n[3],13),e[4*r+2]=Un(n[0],13)^Un(n[1],9)^Un(n[2],14)^Un(n[3],11),e[4*r+3]=Un(n[0],11)^Un(n[1],13)^Un(n[2],9)^Un(n[3],14)}return e}function smr(t,e){let r=new Uint8Array(t);r=rE(r,e,0);for(let n=1;n<=9;n++)r=RB(r),r=Lnt(r),r=rmr(r),r=rE(r,e,n);return r=RB(r),r=Lnt(r),r=rE(r,e,10),r}function imr(t,e){let r=new Uint8Array(t);r=rE(r,e,10);for(let n=9;n>=1;n--)r=SI(r),r=_I(r),r=rE(r,e,n),r=nmr(r);return r=SI(r),r=_I(r),r=rE(r,e,0),r}function amr(t,e,r){let n=emr(t,16),s=NB(e),i=new Uint8Array(n.length),a=new Uint8Array(r);for(let o=0;o<n.length;o+=16){let c=n.slice(o,o+16),u=Hnt(c,a),l=smr(u,s);i.set(l,o),a=l}return i}function omr(t,e,r){if(t.length%16!==0)throw new Error(`\u5BC6\u6587\u957F\u5EA6\u4E0D\u662F16\u7684\u500D\u6570: ${t.length}`);let n=NB(e),s=new Uint8Array(t.length),i=new Uint8Array(r);for(let a=0;a<t.length;a+=16){let o=t.slice(a,a+16),c=Hnt(imr(o,n),i);s.set(c,a),i=o}return s}async function r4(t,e,r){let n=qT(e),s=qT(r),i=qT(t),a=amr(i,n,s);return OB(a)}async function cmr(t,e,r){let n=qT(e),s=qT(r),i=vI(t),a=omr(i,n,s);return Z0r(a)}function Qnt(t){if(globalThis.crypto?.getRandomValues){let e=new Uint8Array(1);return globalThis.crypto.getRandomValues(e),e[0]%t}return Math.floor(Math.random()*t)}function Gnt(t=20){let e="";for(let r=0;r<t;r++)e+=Dnt[Qnt(Dnt.length)];return e}function n4(t,e){let r="";for(let n=0;n<e;n++)r+=t[Qnt(t.length)];return r}function umr(t,e=Date.now()){let r=Mnt(e);return{uid:t||Gnt(),said:n4("0123456789abcdef",16),oa:n4("0123456789abcdef",16),installTs:Math.max(0,r-Unt)}}function lmr(t,e){let r=Mnt(e,t.installTs+Unt);return JSON.stringify({emu:0,ou:0,it:t.installTs,iit:t.installTs,bs:0,uid:t.uid,pc:0,tm:81,d8m:"0,0,0,0,0,0,0,4",md:$nt,maker:Y0r,osv:Fnt,br:95,rpc:0,scc:2,plc:6,toc:19,tsc:10,ts:r,pa:1,crec:0,nw:2,px:"0",isp:"",ai:t.said,oa:t.oa,dpc:0,dsc:0,qpc:0,apad:0,pk:"com.babycloud.hanju"})}async function Knt(t=Date.now(),e=Gnt()){let r=umr(e,t),n=Ls(r.uid),s=await r4(r.uid,qnt,jnt);return async function(a=Date.now()){let o=lmr(r,a),c=await r4(o,n.slice(0,16),n.slice(16,32));return{uid:r.uid,headers:{app:"hj",ch:z0r,said:r.said,uk:s,vn:Wnt,sign:c,"User-Agent":J0r,vc:V0r,"Accept-Encoding":"gzip",Connection:"Keep-Alive"}}}}async function Vnt(t=Date.now()){let e=n4("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",20),r=n4("0123456789abcdef",16);return async function(s=Date.now()){let i=Ls(e),a=JSON.stringify({emu:0,ou:0,it:t,iit:t,bs:0,uid:e,isp:"",pc:0,tm:50,d8m:"0,0,0,0,0,0,14,7",md:"23127PN0CC",dn:"",osv:"16",br:50,rpc:0,scc:1,plc:1,toc:5,tsc:7,ts:s,nw:2,px:"0",ai:Bnt,oa:r,dpc:0,dsc:0,qpc:0,apad:0}),o=await r4(e,qnt,jnt),c=await r4(a,i.slice(0,16),i.slice(16,32));return{uid:e,headers:{version:"a_22570","version-name":"1.7.2",channel:"xiaomi","app-type":"ztv","User-Agent":"ZTV/1.7.2 (23127PN0CC; Android 16; Scale/2.00)",said:Bnt,di:o,token:"",uid:"",rp:c,"Accept-Encoding":"gzip",Connection:"Keep-Alive"}}}}async function wie(t,e=""){if(!t||typeof t!="object"||Array.isArray(t)||typeof t.data!="string"||t.data.length===0)return t;let r=t.ts??"",n=typeof t.key=="string"&&t.key?t.key:"";if(!n&&e&&r!==""&&(n=Ls(`${e}${r}`)),!n)throw new Error("\u7F3A\u5C11\u89E3\u5BC6 key\uFF0C\u4E14\u65E0\u6CD5\u901A\u8FC7 uid+ts \u63A8\u5BFC");let s=Ls(`${n}${X0r}`),i=s.slice(0,16),a=s.slice(16,32),o=await cmr(t.data,i,a),c=tmr(o).trim();return JSON.parse(c)}function znt(t=""){let e=String(t||"").trim();return e.startsWith("hanjutv:")?e.slice(8):e}function UT(t="",e=!1){let r=String(t||"").trim();return r?{id:r,preferTv:e,rawId:`${e?"tv":"hxq"}:${r}`}:null}function dmr(t=""){if(!t.startsWith("merge:"))return null;try{let e=K0r(t.slice(6)),r=JSON.parse(e),n=String(r?.hxq||"").trim(),s=String(r?.tv||"").trim();return!n||!s?null:{hxqId:n,tvId:s}}catch{return null}}function Ynt(t="",e=""){let r=String(t||"").trim(),n=String(e||"").trim();return!r||!n?"":`merge:${G0r(JSON.stringify({hxq:r,tv:n}))}`}function Jnt(t=""){let e=znt(t);if(!e)return{id:"",preferTv:!1,rawId:"",refs:[]};let r=dmr(e);if(r){let s=[UT(r.hxqId,!1),UT(r.tvId,!0)].filter(Boolean);return{id:s[0]?.id||"",preferTv:!1,rawId:e,refs:s}}if(e.startsWith("tv:")){let s=UT(e.slice(3),!0);return{id:s?.id||"",preferTv:!0,rawId:s?.rawId||"",refs:s?[s]:[]}}if(e.startsWith("hxq:")){let s=UT(e.slice(4),!1);return{id:s?.id||"",preferTv:!1,rawId:s?.rawId||"",refs:s?[s]:[]}}let n=UT(e,!1);return{id:n?.id||"",preferTv:!1,rawId:n?.rawId||"",refs:n?[n]:[]}}function s4(t=""){let e=znt(t);return e.startsWith("merge:")?"\u97E9\u5C0F\u5708\uFF06\u6781\u901F\u7248":e.startsWith("tv:")?"\u6781\u901F\u7248":"\u97E9\u5C0F\u5708"}_t();hn();var Tt=class{constructor(){}async search(e){throw new Error("Method 'search' must be implemented")}async getEpisodes(e){throw new Error("Method 'Episodes' must be implemented")}async handleAnimes(e,r,n,s=null,i=null){throw new Error("Method 'handleAnimes' must be implemented")}async getEpisodeDanmu(e){throw new Error("Method 'getEpisodeDanmu' must be implemented")}async getEpisodeDanmuSegments(e){throw new Error("Method 'getEpisodeDanmuSegments' must be implemented")}async getEpisodeSegmentDanmu(e){throw new Error("Method 'getEpisodeSegmentDanmu' must be implemented")}formatComments(e){throw new Error("Method 'formatComments' must be implemented")}async getComments(e,r,n=!1,s=null){if(n)return s&&await s(5,`\u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55\u5206\u7247\u5217\u8868`),_("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55\u5206\u7247\u5217\u8868`),await this.getEpisodeDanmuSegments(e);s&&await s(5,`\u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55`),_("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55`);let i=await this.getEpisodeDanmu(e);s&&await s(85,`\u539F\u59CB\u5F39\u5E55 ${i.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`),_("info",`[system] [Base] \u539F\u59CB\u5F39\u5E55 ${i.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`);let a=this.formatComments(i);return s&&await s(100,`\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${a.length} \u6761`),_("info",`[system] [Base] \u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${a.length} \u6761`),BI(a,r)}async getSegmentComments(e,r=null){r&&await r(5,`\u5F00\u59CB\u83B7\u53D6\u5206\u7247\u5F39\u5E55${e.type}\u5F39\u5E55`),_("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5206\u7247\u5F39\u5E55${e.type}\u5F39\u5E55`);let n=await this.getEpisodeSegmentDanmu(e);r&&await r(85,`\u539F\u59CB\u5206\u7247\u5F39\u5E55 ${n.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`),_("info",`[system] [Base] \u539F\u59CB\u5206\u7247\u5F39\u5E55 ${n.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`);let s=this.formatComments(n);return r&&await r(100,`\u5206\u7247\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${s.length} \u6761`),_("info",`[system] [Base] \u5206\u7247\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${s.length} \u6761`),BI(s,e.type)}sortAndPushAnimesByYear(e,r){e.filter(n=>n!==null).sort((n,s)=>{let i=W0(n.animeTitle),a=W0(s.animeTitle);if(i!=null&&a!==null&&a!==void 0){if(a!==i)return a-i;let o=zV(n.animeTitle),c=zV(s.animeTitle);return o.length-c.length}return i!=null&&a==null?-1:i==null&&a!=null?1:0}).forEach(n=>{r.findIndex(i=>i.animeId===n.animeId)===-1&&r.push(n)})}};Ot();_t();ir();function Or(t){let e=parseInt(t);return isNaN(e)||e<1900||e>2100?`${new Date().getFullYear()}-01-01T00:00:00Z`:`${e}-01-01T00:00:00Z`}function Ig(t){let e=t.split(":").map(Number),r=0;return e.length===3?r=e[0]*3600+e[1]*60+e[2]:e.length===2?r=e[0]*60+e[1]:r=e[0],r}$n();hn();var jT=class extends Tt{async get360Zongyi(e,r,n,s){try{let i=[];for(let a=0;a<=10;a++){let u=(await(await ge(`https://api.so.360kan.com/episodeszongyi?entid=${r}&site=${n}&y=${s}&count=20&offset=${a*20}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data).data.list;if(_("info",`[360kan] 360kan zongyi response: \u7B2C${a}\u9875\u83B7\u53D6\u5230${u?u.length:0}\u6761\u5267\u96C6`),!u)break;for(let l of u){let d=l.name.match(/第(\d+)期([上ä¸ä¸‹])?/)||l.period.match(/第(\d+)期([上ä¸ä¸‹])?/),f=d?d[1]:null;f&&d[2]&&(f=d[2]==="\u4E0A"?`${f}.1`:d[2]==="\u4E2D"?`${f}.2`:`${f}.3`),i.push({name:l.id,url:l.url,title:`\u3010${n}\u3011 ${l.name} ${l.period}`,sort:f||l.sort||null})}_("info",`[360kan] links.length: ${i.length}`)}return i.sort((a,o)=>{if(!a.sort||!o.sort)return 0;let c=parseFloat(a.sort),u=parseFloat(o.sort);return c-u}),i}catch(i){return _("error","[360kan] get360Animes error:",{message:i.message,name:i.name,stack:i.stack}),[]}}async getNumber(e,r,n){try{let s=`https://api.web.360kan.com/v1/detail?cat=${e}&id=${r}&site=${n}`,a=(await ge(s,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data;if(a&&a.data&&a.data.allupinfo)return Number(a.data.allupinfo[n])}catch(s){_("error","[360kan] getNumber error:",s&&s.message?s.message:s)}return null}async get360Detail(e,r,n,s,i){try{let a=`https://api.web.360kan.com/v1/detail?cat=${e}&id=${r}&start=${s}&end=${i}&site=${n}`;return(await ge(a,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data}catch(a){_("error","[360kan] get360Detail error:",a&&a.message?a.message:a)}return null}async getEpisodesV1(e,r,n,s){try{if(!s||Number(s)===0)return[];let i=200,a=1,o=[],c=Number(s);for(;a<=c;){let u=Math.min(a+i-1,c);try{let l=await this.get360Detail(e,r,n,a,u);if(l&&l.data&&l.data.allepidetail&&l.data.allepidetail[n])for(let d of l.data.allepidetail[n])o.push({name:d.playlink_num,url:d.url});else{if(a===1)return[];break}}catch(l){if(_("error",`[360kan] getEpisodesV1 batch ${a}-${u} failed for site ${n}: ${l&&l.message?l.message:l}`),a===1)return[];break}a=u+1}return o}catch(i){return _("error",`getEpisodesV1 error: ${i&&i.message?i.message:i}`),[]}}async getEpisodesV2(e,r,n){try{let s=JSON.stringify([{cat_id:String(e),ent_id:String(r),site:n}]),i=`https://api.so.360kan.com/episodesv2?v_ap=1&s=${encodeURIComponent(s)}`,o=(await ge(i,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data;if(typeof o=="string")try{o=JSON.parse(o)}catch(c){return _("error",`[360kan] getEpisodesV2 JSON parse error: ${c.message}`),[]}if(!o)return[];if(o.code===0&&Array.isArray(o.data)&&o.data.length>0){let c=o.data[0].seriesHTML||{},u=c.seriesPlaylinks||c.series_playlinks||[],l=[];for(let d=0;d<u.length;d++){let f=u[d];if(f){if(typeof f=="string")l.push({name:(d+1).toString(),url:f,sort:(d+1).toString()});else if(typeof f=="object"){let p=f.url,m=d+1;l.push({name:String(m),url:p||""})}}}return l.filter(d=>d.url)}return[]}catch(s){return _("error","[360kan] getEpisodesV2 error:",{message:s&&s.message?s.message:String(s),stack:s&&s.stack?s.stack:void 0}),[]}}async search(e){try{let n=(await ge(`https://api.so.360kan.com/index?force_v=1&kw=${encodeURIComponent(e)}&from=&pageno=1&v_ap=1&tab=all`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data,s=[];return"rows"in n.data.longData&&(s=n.data.longData.rows),_("info",`[360kan] 360kan response: ${JSON.stringify(s)}`),_("info",`[360kan] 360kan animes.length: ${s.length}`),s}catch(r){return _("error","[360kan] get360Animes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[360kan] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.titleTxt,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.titleTxt).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[360kan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=[];if(l.cat_name==="\u7535\u5F71")for(let f of Object.keys(l.playlinks))O.vodAllowedPlatforms.includes(f)&&d.push({name:f.toString(),url:l.playlinks[f],title:`\u3010${f}\u3011 ${l.titleTxt}(${l.year})`});else if(l.cat_name==="\u7535\u89C6\u5267"||l.cat_name==="\u52A8\u6F2B"){let f=0;l.cat_name==="\u7535\u89C6\u5267"?f=2:l.cat_name==="\u52A8\u6F2B"&&(f=4);let p=null;if(Array.isArray(l.seriesPlaylinks)&&l.seriesPlaylinks.length>0){if(O.vodAllowedPlatforms.includes(l.seriesSite))for(let m=0;m<l.seriesPlaylinks.length;m++){let h=l.seriesPlaylinks[m],A="";h&&typeof h=="object"?A=h.url||"":typeof h=="string"&&(A=l.playlinks&&l.playlinks[l.seriesSite]?l.playlinks[l.seriesSite]:""),A&&d.push({name:(m+1).toString(),url:A,title:`\u3010${l.seriesSite}\u3011 \u7B2C${m+1}\u96C6`})}}else if(l.playlinks&&typeof l.playlinks=="object"){for(let m of Object.keys(l.playlinks))if(O.vodAllowedPlatforms.includes(m))try{let h=l.en_id,A=await this.getEpisodesV2(f,h,m);if(A&&A.length>0)for(let g of A)d.push({name:g.name,url:g.url,title:`\u3010${m}\u3011 \u7B2C${g.name}\u96C6`,sort:g.name});else try{let g=await this.getNumber(f,h,m);if(g&&Number(g)>0){let b=await this.getEpisodesV1(f,h,m,g);if(b&&b.length>0)for(let y of b)d.push({name:y.name,url:y.url,title:`\u3010${m}\u3011 \u7B2C${y.name}\u96C6`,sort:y.name})}}catch(g){_("error",`[360kan] fallback detail fetch failed for site ${m}: ${g&&g.message?g.message:g}`)}}catch(h){_("error",`[360kan] failed to fetch episodesv2 for site ${m}: ${h&&h.message?h.message:h}`)}}}else l.cat_name==="\u7EFC\u827A"&&(d=(await Promise.all(Object.keys(l.playlinks_year).map(async p=>O.vodAllowedPlatforms.includes(p)?(await Promise.all(l.playlinks_year[p].map(async h=>await this.get360Zongyi(l.titleTxt,l.id,p,h)))).flat():[]))).flat());if(d.length>0){let f={animeId:Number(l.id),bangumiId:String(l.id),animeTitle:`${l.titleTxt}(${l.year})\u3010${l.cat_name}\u3011from 360`,type:l.cat_name,typeDescription:l.cat_name,imageUrl:l.cover,startDate:Or(l.year),episodeCount:d.length,rating:0,isFavorited:!0,source:"360"};a.push(f),Dt({...f,links:d},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[360kan] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){}formatComments(e){}};Ot();_t();ir();$n();hn();var HT=class extends Tt{async getVodAnimes(e,r,n){try{let s=B8e(e),i=encodeURIComponent(s),a=await ge(`${r}/api.php/provide/vod/?ac=detail&wd=${i}&pg=1`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});if(a&&a.data&&a.data.list&&a.data.list.length>0){_("info",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u6210\u529F`);let o=a.data;return _("info",`[VOD] ${n} response: \u2193\u2193\u2193`),ts(o),{serverName:n,list:o.list}}else return _("info",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u6210\u529F\uFF0C\u4F46 response.data.list \u4E3A\u7A7A`),{serverName:n,list:[]}}catch(s){return _("error",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u5931\u8D25:`,{message:s.message,name:s.name,stack:s.stack}),{serverName:n,list:[]}}}async getVodAnimesFromAllServersImpl(e,r){let n=r.map(i=>this.getVodAnimes(e,i.url,i.name));return(await Promise.allSettled(n)).filter(i=>i.status==="fulfilled").map(i=>i.value)}async getVodAnimesFromFastestServer(e,r,n=null,s=null){if(!r||r.length===0)return[];let i=r.map(l=>this.getVodAnimes(e,l.url,l.name)),a;try{a=await Promise.race(i)}catch(l){return _("error","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u76F4\u63A5\u629B\u9519",l),[]}let o=l=>!n||s!=="vod"?!0:(JSON.stringify(l)?.toLowerCase()||"").includes(String(n).toLowerCase());if(o(a)&&a&&a.list&&a.list.length>0)return _("info",`[VOD fastest mode] \u6700\u5FEB\u670D\u52A1\u5668 ${a.serverName}${s==="vod"?" \u5B57\u7B26\u4E32\u5305\u542B preferAnimeId \u2192 \u4F18\u5148\u4F7F\u7528":""}`),[a];_("info",`[VOD fastest mode] \u6700\u5FEB\u670D\u52A1\u5668 ${a.serverName} \u4E0D\u542B preferAnimeId\uFF0C\u7B49\u5F85\u5176\u4ED6\u670D\u52A1\u5668\u2026`);let c=await Promise.allSettled(i);if(n){for(let l of c)if(l.status==="fulfilled"&&o(l.value)&&l.value&&l.value.list&&l.value.list.length>0)return _("info",`[VOD fastest mode] \u627E\u5230\u5305\u542B preferAnimeId \u7684\u670D\u52A1\u5668: ${l.value.serverName}`),[l.value];_("info","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u90FD\u4E0D\u5305\u542B preferAnimeId\uFF0C\u56DE\u9000\u5230\u201C\u771F\u6B63\u6709\u6570\u636E\u201D\u7684\u6700\u5FEB\u670D\u52A1\u5668")}let u=c.filter(l=>l.status==="fulfilled").map(l=>l.value).filter(l=>l&&l.list&&l.list.length>0);if(u.length>0){let l=u[0];return _("info",`[VOD fastest mode] \u4F7F\u7528\u6700\u5FEB\u6709\u6570\u636E\u7684\u670D\u52A1\u5668: ${l.serverName}`),[l]}return _("error","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u5747\u65E0\u6709\u6548\u6570\u636E"),[]}async search(e,r=null,n=null){return!O.vodServers||O.vodServers.length===0?[]:O.vodReturnMode==="fastest"?await this.getVodAnimesFromFastestServer(e,O.vodServers,r,n):await this.getVodAnimesFromAllServersImpl(e,O.vodServers)}async getEpisodes(e){}async handleAnimes(e,r,n,s,i=null,a=null){let o=[];if(!e||!Array.isArray(e))return _("error","[VOD] sourceAnimes is not a valid array"),[];let c=e.filter(d=>yt(d.vod_name,r,a)),u=a!==null?a:Wt(r);if(u!==null){let d=c.filter(f=>{let p=Ct(f.vod_name).season;return p===u||u===1&&p===null});d.length>0&&(c=d,_("info",`[VOD] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${u}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l=await Promise.all(c.map(async d=>{try{let f=d.vod_play_from.split("$$$");f=f.map(g=>g==="mgtv"?"imgo":g==="bilibili"?"bilibili1":g);let p=d.vod_play_url.split("$$$"),m=f.map((g,b)=>O.vodAllowedPlatforms.includes(g)?b:-1).filter(g=>g!==-1),h=[],A=0;for(let g of m){let b=f[g],y=p[g].split("#");for(let x of y){let v=x.split("$");A++,h.push({name:A.toString(),url:v[1],title:`\u3010${b}\u3011 ${v[0]}`})}}if(h.length>0){let g={animeId:Number(d.vod_id),bangumiId:String(d.vod_id),animeTitle:`${d.vod_name}(${d.vod_year})\u3010${d.type_name}\u3011from ${s}`,type:d.type_name,typeDescription:d.type_name,imageUrl:d.vod_pic,startDate:Or(d.vod_year),episodeCount:h.length,rating:0,isFavorited:!0,source:"vod"};o.push(g),Dt({...g,links:h},i),O.animes.length>O.MAX_ANIMES&&$t()}}catch(f){_("error",`[VOD] Error processing anime: ${f.message}`)}}));return this.sortAndPushAnimesByYear(o,n),l}async getEpisodeDanmu(e){}formatComments(e){}};_t();_t();ir();Ot();async function Xnt(t){let e="https://m.douban.com/rexxar/api/v2",r={Referer:"https://m.douban.com/movie/","Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"};O.doubanCookie&&(r.Cookie=O.doubanCookie);try{let n=await ge(`${e}${t}`,{method:"GET",headers:r});return n.status!=200?null:n}catch(n){return _("error","[Utils] [Douban] GET API error:",{message:n.message,name:n.name,stack:n.stack}),null}}async function Znt(t,e={}){let r="https://api.douban.com/v2";try{let n=await Kr(`${r}${t}`,JSON.stringify({...e,apikey:"0ac44ae016490db2204ce0a042db2916"}),{method:"GET",headers:{Referer:"https://api.douban.com","Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return n.status!=200?null:n}catch(n){return _("error","[Utils] [Douban] POST API error:",{message:n.message,name:n.name,stack:n.stack}),null}}async function est(t,e=20){let r=`/search?q=${t}&start=0&count=${e}&type=movie`;return await Xnt(r)}async function tst(t,e=20){return await Znt("/movie/search",{q:t,start:0,count:e})}async function rst(t){let e=`/movie/${t}?for_mobile=1`;return await Xnt(e)}async function nst(t){let e=`/movie/imdb/${t}`;return await Znt(e)}_t();ir();async function sst(t){let e="https://api.imdbapi.dev";try{let r=await ge(`${e}${t}`,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return r.status!=200?null:r}catch(r){return _("error","[Utils] [IMDB] API error:",{message:r.message,name:r.name,stack:r.stack}),null}}async function ist(t){let e=`/titles/${t}/seasons`;return await sst(e)}async function ast(t,e){let r=`/titles/${t}/episodes?season=${e}`;return await sst(r)}var QT=class extends Tt{constructor(e){super("BaseSource"),this.doubanSource=e}async _getDoubanInfo(e,r,n){if(!e)return;let s=await nst(e);if(!s||!s?.data)return;let i=s?.data?.id;if(i){let o=i.split("/").pop(),c=r==="movie"?"\u7535\u5F71":"\u7535\u89C6\u5267";o&&n.push({layout:"subject",target_id:o,type_name:c,target:{cover_url:s.data?.image,title:s.data?.alt_title}})}}async getDoubanIdByTmdbId(e,r){try{let n=[],i=(await mnt(e,r)).data?.imdb_id;if(!i)return[];if(e==="movie")await this._getDoubanInfo(i,e,n);else{let a=await ist(i);_("info","[TMDB] imdb seasons:",a.data.seasons);let o=(a?.data?.seasons??[]).map(async c=>{let u=i;_("info","[TMDB] imdb season:",c.season);try{Number(c.season)!==1&&(u=(await ast(i,c.season)).data?.episodes.find(d=>d.episodeNumber===1)?.id??""),await this._getDoubanInfo(u,e,n)}catch(l){_("error",`[TMDB] \u5904\u7406\u7B2C ${c.season} \u5B63\u5931\u8D25\uFF0C\u7EE7\u7EED\u6267\u884C\u5176\u4ED6\u5B63:`,l)}});await Promise.all(o)}return n}catch(n){return _("error","[TMDB] getTmdbIds error:",{message:n.message,name:n.name,stack:n.stack}),[]}}async search(e){try{let n=(await XL(e)).data,s=[],i=[];n?.results?.length>0&&(i=n.results.filter(c=>(c.name||c.title)===e)),_("info",`[TMDB] tmdb items.length: ${i.length}`);let a=i.map(async c=>{try{return await this.getDoubanIdByTmdbId(c.media_type,c.id)}catch(u){return _("error",`[TMDB] \u83B7\u53D6 TMDB ID ${c.id} \u7684\u8C46\u74E3 ID \u5931\u8D25\uFF0C\u7EE7\u7EED\u5904\u7406\u5176\u4ED6\u6761\u76EE:`,u),[]}}),o=await Promise.all(a);return s=[...s,...o.flat()],s}catch(r){return _("error","[TMDB] getTmdbAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){}async handleAnimes(e,r,n,s=null,i=null){return this.doubanSource.handleAnimes(e,r,n,s,i)}async getEpisodeDanmu(e){}formatComments(e){}};_t();hn();var GT=class extends Tt{constructor(e,r,n,s,i){super("BaseSource"),this.tencentSource=e,this.iqiyiSource=r,this.youkuSource=n,this.bilibiliSource=s,this.miguSource=i}async search(e){try{let n=(await est(e))?.data;if(!n||!n?.subjects?.items?.length&&!n?.smart_box?.length){_("info","[Douban] searchDoubanTitles failed or empty, trying searchDoubanTitlesByPublic");let a=(await tst(e))?.data;a?.subjects?.length>0&&(n={subjects:{items:a.subjects.map(o=>this.convertToOriginalFormat(o))}})}let s=[];return n?.subjects?.items?.length>0&&(s=[...s,...n.subjects.items]),n?.smart_box?.length>0&&(s=[...s,...n.smart_box]),_("info",`[Douban] douban animes.length: ${s.length}`),s}catch(r){return _("error","[Douban] getDoubanAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}convertToOriginalFormat(e){let n={movie:"\u7535\u5F71",tv:"\u7535\u89C6\u5267"}[e.subtype]||e.subtype,s=e.images?.large||e.images?.medium||e.images?.small||"",i="";if(s){let u=s.match(/\/(p\d+)\.jpg/);u&&u[1]&&(i=`https://qnmob3.doubanio.com/view/photo/large/public/${u[1]}.jpg?imageView2/0/q/80/w/9999/h/120/format/jpg`)}let a=e.directors?.map(u=>u.name).join(" ")||"",o=e.casts?.slice(0,3).map(u=>u.name).join(" ")||"",c=`${e.year} / ${e.genres?.join(" / ")||""} / ${a}${o?" / "+o:""}`;return{layout:"subject",type_name:n,target_id:String(e.id),target:{rating:{count:e.collect_count||0,max:e.rating?.max||10,star_count:e.rating?.stars?parseInt(e.rating.stars)/10:0,value:e.rating?.average||0},controversy_reason:"",title:e.title,abstract:"",has_linewatch:!1,uri:`douban://douban.com/${e.subtype==="movie"?"movie":"tv"}/${e.id}`,cover_url:i,year:String(e.year||""),card_subtitle:c,id:String(e.id),null_rating_reason:""},target_type:e.subtype==="movie"?"movie":"tv"}}async getEpisodes(e){}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Douban] sourceAnimes is not a valid array"),[];let o=e.filter(l=>{let d=l?.target?.title||"";return yt(d,r,i)}),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=d?.target?.title||"",p=Ct(f).season;return p===c||c===1&&p===null});l.length>0&&(o=l,_("info",`[Douban] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.allSettled(o.map(async l=>{try{if(l?.layout!=="subject")return;let d=l.target_id,f=l?.type_name;if(f!=="\u7535\u5F71"&&f!=="\u7535\u89C6\u5267")return;_("info","[Douban] doubanId: ",d,l?.target?.title,f);let p=await rst(d),m=[];for(let h of p.data?.vendors??[]){if(!h)continue;_("info","[Douban] vendor uri: ",h.uri),p.data?.genres.includes("\u771F\u4EBA\u79C0")?f="\u7EFC\u827A":p.data?.genres.includes("\u7EAA\u5F55\u7247")?f="\u7EAA\u5F55\u7247":f==="\u7535\u89C6\u5267"&&p.data?.genres.includes("\u52A8\u753B")&&p.data?.countries.some(g=>g.includes("\u4E2D\u56FD"))?f="\u56FD\u6F2B":f==="\u7535\u89C6\u5267"&&p.data?.genres.includes("\u52A8\u753B")&&p.data?.countries.includes("\u65E5\u672C")?f="\u65E5\u756A":f==="\u7535\u89C6\u5267"&&p.data?.genres.includes("\u52A8\u753B")?f="\u52A8\u6F2B":f==="\u7535\u5F71"&&p.data?.genres.includes("\u52A8\u753B")?f="\u52A8\u753B\u7535\u5F71":f==="\u7535\u5F71"&&p.data?.countries.some(g=>g.includes("\u4E2D\u56FD"))?f="\u534E\u8BED\u7535\u5F71":f==="\u7535\u5F71"?f="\u5916\u8BED\u7535\u5F71":f==="\u7535\u89C6\u5267"&&p.data?.countries.some(g=>g.includes("\u4E2D\u56FD"))?f="\u56FD\u4EA7\u5267":f==="\u7535\u89C6\u5267"&&p.data?.countries.some(g=>["\u65E5\u672C","\u97E9\u56FD"].includes(g))?f="\u65E5\u97E9\u5267":f==="\u7535\u89C6\u5267"&&p.data?.countries.some(g=>["\u7F8E\u56FD","\u82F1\u56FD","\u52A0\u62FF\u5927","\u6CD5\u56FD","\u5FB7\u56FD","\u610F\u5927\u5229","\u897F\u73ED\u7259","\u6FB3\u5927\u5229\u4E9A"].includes(g))&&(f="\u6B27\u7F8E\u5267");let A=[{title:p.data?.title,year:p.data?.year,type:f,imageUrl:l?.target?.cover_url}];switch(h.id){case"qq":{let g=new URL(h.uri).searchParams.get("cid");g&&(A[0].provider="tencent",A[0].mediaId=g,await this.tencentSource.handleAnimes(A,p.data?.title,a,s,i));break}case"iqiyi":{let g=new URL(h.uri).searchParams.get("tvid");g&&(A[0].provider="iqiyi",A[0].mediaId=l?.type_name==="\u7535\u5F71"?`movie_${g}`:g,await this.iqiyiSource.handleAnimes(A,p.data?.title,a,s,i));break}case"youku":{let g=new URL(h.uri).searchParams.get("showid");g&&(A[0].provider="youku",A[0].mediaId=g,await this.youkuSource.handleAnimes(A,p.data?.title,a,s,i));break}case"bilibili":{let g=new URL(h.uri).pathname.split("/").pop();g&&(A[0].provider="bilibili",A[0].mediaId=`ss${g}`,await this.bilibiliSource.handleAnimes(A,p.data?.title,a,s,i));break}case"miguvideo":{let g=null,y=decodeURIComponent(h.uri).match(/"contentID":"([^"]+)"/);y&&y[1]&&(g=y[1]),g&&(A[0].provider="migu",A[0].mediaId=`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${g}/1`,await this.miguSource.handleAnimes(A,p.data?.title,a,s,i));break}}}return m}catch(d){return _("error",`[Douban] Error processing anime: ${d.message}`),[]}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){}formatComments(e){}};Ot();_t();ir();Ts();$n();hn();hs();var Uf=null,KT=0,VT=0,Vi={search:"WIN",detail:"TV",danmu:"TV"},zT=class extends Tt{constructor(){super(),this.isBatchMode=!1}API_CONFIG={TV_SECRET_KEY:"cf65GPholnICgyw1xbrpA79XVkizOdMq",TV_HOST:"api.gorafie.com",TV_DANMU_HOST:"static-dm.qwdjapp.com",TV_VERSION:"1.2.2",TV_USER_AGENT:"okhttp/3.12.13",TV_CLIENT_TYPE:"android_qwtv_RRSP",TV_PKT:"rrmj",MAC_HOST:"api.cluuid.cn",MAC_DANMU_HOST:"static-dm.lequkeji.com",MAC_VERSION:"1.2.3",MAC_USER_AGENT:"%E4%BA%BA%E4%BA%BA%E8%A7%86%E9%A2%91%20for%20Mac/1.0 CFNetwork/3860.600.21 Darwin/25.5.0",MAC_CLIENT_TYPE:"mac_rrsp",WIN_HOST:"api.pleasfun.com",WIN_DANMU_HOST:"static-dm.lequkeji.com",WIN_VERSION:"1.24.2",WIN_USER_AGENT:"Boost.Beast/351",WIN_CLIENT_TYPE:"win_rrsp_gw",WEB_HOST:"api.rrmj.plus",WEB_DANMU_HOST:"static-dm.rrmj.plus"};generateRandomAliId(){let e="aY",r=24-e.length,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=e;for(let i=0;i<r;i++)s+=n.charAt(Math.floor(Math.random()*n.length));return s}generateMacAliId(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let r=Math.random()*16|0;return(e==="x"?r:r&3|8).toString(16).toUpperCase()})}generateWinAliId(){return Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("").toUpperCase()}generateDeviceId(){return Math.random().toString(36).slice(2).toUpperCase()}rotateAliId(){let e=Uf;Uf=this.generateRandomAliId(),KT=0,VT=Math.floor(Math.random()*31)+30,e?_("info",`[Renren] AliID \u8F6E\u6362\u5B8C\u6210: ${e} -> ${Uf}`):_("info",`[Renren] AliID \u521D\u59CB\u5316\u5B8C\u6210: ${Uf}`),_("info",`[Renren] AliID \u4E0B\u6B21\u8F6E\u6362\u5C06\u5728 ${VT} \u6B21\u64CD\u4F5C\u540E\u89E6\u53D1`)}checkAndIncrementUsage(){Uf||this.rotateAliId(),KT>=VT&&(_("info",`[Renren] AliID \u89E6\u53D1\u9608\u503C (${KT}/${VT})\uFF0C\u6B63\u5728\u8F6E\u6362 ID...`),this.rotateAliId()),KT++,_("info",`[Renren] AliID \u8BA1\u6570\u589E\u52A0: ${KT}/${VT} (\u5F53\u524DID: ...${Uf.slice(-6)})`)}getAliId(){return Uf||this.rotateAliId(),this.isBatchMode||this.checkAndIncrementUsage(),Uf}generateTvHeaders(e,r){let n=this.getAliId();return{clientVersion:this.API_CONFIG.TV_VERSION,p:"Android",deviceid:"tWEtIN7JG2DTDkBBigvj6A%3D%3D",token:"",aliid:n,umid:"",clienttype:this.API_CONFIG.TV_CLIENT_TYPE,pkt:this.API_CONFIG.TV_PKT,t:e.toString(),sign:r,isAgree:"1",et:"2","Accept-Encoding":"gzip","User-Agent":this.API_CONFIG.TV_USER_AGENT}}buildMacHeaders(){return{aliId:this.generateMacAliId(),ct:this.API_CONFIG.MAC_CLIENT_TYPE,cv:this.API_CONFIG.MAC_VERSION,token:"",Accept:"*/*","Accept-Language":"zh-CN,zh-Hans;q=0.9","User-Agent":this.API_CONFIG.MAC_USER_AGENT}}buildWinHeaders(){return{aliId:this.generateWinAliId(),ct:this.API_CONFIG.WIN_CLIENT_TYPE,cv:this.API_CONFIG.WIN_VERSION,token:"","Content-Type":"application/json","User-Agent":this.API_CONFIG.WIN_USER_AGENT}}generateSignature(e,r,n,s,i,a,o,c){let u=`${e.toUpperCase()}
|
|
aliId:${r}
|
|
ct:${n}
|
|
cv:${s}
|
|
t:${i}
|
|
${a}?${o}`;return R8e(c,u)}buildSignedHeaders({method:e,url:r,params:n={},deviceId:s,token:i}){let a={client_type:"web_pc",client_version:"1.0.0",user_agent:"Mozilla/5.0",origin:"https://rrsp.com.cn",referer:"https://rrsp.com.cn/"},o=S8e(r),c=EI(n),u=Date.now(),d=this.generateSignature(e,s,a.client_type,a.client_version,u,o,c,"ES513W0B1CsdUrR13Qk5EgDAKPeeKZY");return{clientVersion:a.client_version,deviceId:s,clientType:a.client_type,t:String(u),aliId:s,umid:s,token:i||"",cv:a.client_version,ct:a.client_type,uet:"9","x-ca-sign":d,Accept:"application/json","User-Agent":a.user_agent,Origin:a.origin,Referer:a.referer}}async fetchStandardDanmu(e,r,n){try{let s=await ge(e,{headers:r,timeout:5e3,validStatusCodes:[404]});if(s.status===404)return s.data&&s.data.error==="Document not found"?[]:(_("info",`[Renren] ${n} \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548`),null);if(!s.data)return null;let i=s.data;return Array.isArray(i)?i:i&&i.data&&Array.isArray(i.data)?i.data:[]}catch(s){return _("info",`[Renren] ${n} \u7AEF\u5F39\u5E55\u62C9\u53D6\u5F02\u5E38: ${s.message}`),null}}async renrenHttpGet(e,{params:r={},headers:n={},validStatusCodes:s=[]}={}){let i=lb(e,r);return await ge(i,{headers:n,timeout:5e3,validStatusCodes:s})}async renrenRequest(e,r,n={}){let s=this.generateDeviceId(),i=this.buildSignedHeaders({method:e,url:r,params:n,deviceId:s});return await ge(r+"?"+EI(n),{headers:i,timeout:5e3})}async searchAppContent(e,r=30){try{let n=Date.now(),s="/qwtv/search",i={searchWord:e,num:r,searchNext:"",well:"match"},a=CI(s,n,i,this.API_CONFIG.TV_SECRET_KEY),o=Object.entries(i).map(([f,p])=>`${f}=${encodeURIComponent(p==null?"":String(p))}`).join("&"),c=this.generateTvHeaders(n,a),u=`https://${this.API_CONFIG.TV_HOST}${s}?${o}`,l=await ge(u,{headers:c,timeout:5e3});return!l.data||l.data.code!=="0000"?(_("info",`[Renren] TV\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${l?.data?.code}, msg=${l?.data?.msg}`),null):(l.data.data||[]).map(f=>{let p=[];if(f.highlights&&(f.highlights.alias&&(p=f.highlights.alias.split(",").map(m=>m.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),f.highlights.original_name)){let m=f.highlights.original_name.replace(/<[^>]+>/g,"").trim();m&&!p.includes(m)&&p.push(m)}return{provider:"renren",mediaId:String(f.id),title:String(f.title||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:p,type:f.classify||"Renren",season:null,year:f.year,imageUrl:f.cover,episodeCount:null,currentEpisodeIndex:null}})}catch(n){return _("info","[Renren] searchAppContent error:",n.message),null}}async performMacSearch(e,r=20){try{let n="/search/v5/season",s={keywords:e,order:"match",search_after:"",size:r},i=this.buildMacHeaders(),a=EI(s),o=`https://${this.API_CONFIG.MAC_HOST}${n}?${a}`,c=await ge(o,{headers:i,timeout:5e3});return!c.data||c.data.code!=="0000"?(_("info",`[Renren] Mac\u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${c?.data?.code}`),null):(c.data.data||[]).map(l=>{let d=[];if(l.highlights&&(l.highlights.alias&&(d=l.highlights.alias.split(",").map(f=>f.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),l.highlights.original_name)){let f=l.highlights.original_name.replace(/<[^>]+>/g,"").trim();f&&!d.includes(f)&&d.push(f)}return{provider:"renren",mediaId:String(l.id),title:String(l.title||l.name||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:d,type:l.classify||l.cat||"Renren",season:null,year:l.year||null,imageUrl:l.cover||l.cover3||"",episodeCount:null,currentEpisodeIndex:null}})}catch(n){return _("info","[Renren] performMacSearch error:",n.message),null}}async performWinSearch(e,r=30){try{let n=`https://${this.API_CONFIG.WIN_HOST}/search/comprehensive/precise-mixed`,i=EI({keywords:e,searchAfter:"",size:r}),a=this.buildWinHeaders(),o=await ge(`${n}?${i}`,{headers:a,timeout:5e3});if(!o.data||o.data.code!=="0000")return _("info",`[Renren] Win\u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${o?.data?.code}`),null;let c=o.data.data||{},u=[],l=c.seasonList||[],d=c.fuzzySeasonList||[],f=c.seriesList||[],p=m=>{let h=[];if(m.highlights&&(m.highlights.alias&&(h=m.highlights.alias.split(",").map(A=>A.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),m.highlights.original_name)){let A=m.highlights.original_name.replace(/<[^>]+>/g,"").trim();A&&!h.includes(A)&&h.push(A)}return{provider:"renren",mediaId:String(m.id),title:String(m.title||m.alias||m.name||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:h,type:m.classify||m.cat||"Renren",season:null,year:m.year||null,imageUrl:m.cover||m.coverUrl,episodeCount:null,currentEpisodeIndex:null}};return l.forEach(m=>u.push(p(m))),d.forEach(m=>u.push(p(m))),f.forEach(m=>{m.seasonList&&Array.isArray(m.seasonList)&&m.seasonList.forEach(h=>{u.push(p(h))})}),u}catch(n){return _("info","[Renren] performWinSearch error:",n.message),null}}async performNetworkSearch(e,{lockRef:r=null,lastRequestTimeRef:n={value:0},minInterval:s=500}={}){try{let i=`https://${this.API_CONFIG.WEB_HOST}/m-station/search/drama`,a={keywords:e,size:20,order:"match",search_after:"",isExecuteVipActivity:!0};if(r){for(;r.value;)await new Promise(f=>setTimeout(f,50));r.value=!0}let c=Date.now()-n.value;c<s&&await new Promise(f=>setTimeout(f,s-c));let u=await this.renrenRequest("GET",i,a);return n.value=Date.now(),r&&(r.value=!1),u.data?(II(u.data)?.data?.searchDramaList||[]).map(f=>{let p=[];if(f.highlights&&(f.highlights.alias&&(p=f.highlights.alias.split(",").map(m=>m.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),f.highlights.original_name)){let m=f.highlights.original_name.replace(/<[^>]+>/g,"").trim();m&&!p.includes(m)&&p.push(m)}return{provider:"renren",mediaId:String(f.id),title:String(f.title||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:p,type:f.classify||"Renren",season:null,year:f.year,imageUrl:f.cover,episodeCount:f.episodeTotal,currentEpisodeIndex:null}}):(_("info","[Renren] \u7F51\u9875\u7248\u641C\u7D22\u65E0\u54CD\u5E94\u6570\u636E"),null)}catch(i){return _("info","[Renren] performNetworkSearch error:",i.message),null}}async search(e){_("info",`[Renren] \u5F00\u59CB\u641C\u7D22: ${e}`);let r=[],n=!1,s=["WIN","TV","MAC","WEB"],i=s.indexOf(Vi.search);i===-1&&(i=0);for(let a=i;a<s.length;a++){let o=s[a];_("info",`[Renren] \u5C1D\u8BD5\u4F7F\u7528 ${o} \u7AEF\u63A5\u53E3\u641C\u7D22`);try{let c=null;if(o==="TV")c=await this.searchAppContent(e);else if(o==="MAC")c=await this.performMacSearch(e);else if(o==="WIN")c=await this.performWinSearch(e);else if(o==="WEB"){let u={value:!1},l={value:0};c=await this.performNetworkSearch(e,{lockRef:u,lastRequestTimeRef:l,minInterval:400})}if(c!==null&&Array.isArray(c)){n=!0,r=c,Vi.search!==o&&(_("info",`[Renren] \u641C\u7D22\u57DF\u63A5\u53E3\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${Vi.search} -> ${o}`),Vi.search=o);break}else _("info",`[Renren] ${o} \u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38\u6216\u8BF7\u6C42\u5931\u8D25\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(c){_("info",`[Renren] ${o} \u7AEF\u641C\u7D22\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${c.message}`)}}return n||(_("info","[Renren] \u641C\u7D22\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5F02\u5E38\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 WIN \u7AEF"),Vi.search="WIN"),r}async getAppDramaDetail(e,r=""){try{let n=Date.now(),s="/qwtv/drama/details",i={isAgeLimit:"false",seriesId:String(e),episodeId:String(r),clarity:"HD",caption:"0",hevcOpen:"1"},a=CI(s,n,i,this.API_CONFIG.TV_SECRET_KEY),o=Object.entries(i).map(([f,p])=>`${f}=${encodeURIComponent(p)}`).join("&"),c=this.generateTvHeaders(n,a),u=await ge(`https://${this.API_CONFIG.TV_HOST}${s}?${o}`,{headers:c,timeout:5e3});if(!u||!u.data)return _("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u7F51\u7EDC\u65E0\u54CD\u5E94\u6216\u6570\u636E\u4E3A\u7A7A: ID=${e}`),null;let l=u.data,d=l.msg||l.message||"";return d.includes("\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD")?(_("info",`[Renren] TV\u63A5\u53E3\u63D0\u793A'\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD' (ID=${e})\uFF0C\u89C6\u4E3A\u7EF4\u62A4\u4E2D\uFF0C\u89E6\u53D1\u964D\u7EA7`),null):l.code!=="0000"?(_("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF\u7801: ${l.code}, msg=${d} (ID=${e})`),null):!l.data||!l.data.episodeList||l.data.episodeList.length===0?l.data?.dramaInfo?.playStatus?.includes("\u5373\u5C06\u5F00\u64AD")?(_("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u63D0\u793A'\u5373\u5C06\u5F00\u64AD' (ID=${e})\uFF0C\u89C6\u4E3A\u7A7A\u7ED3\u679C`),l.data.episodeList||(l.data.episodeList=[]),l.data):(_("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u7F3A\u5931\u5206\u96C6\u5217\u8868 (ID=${e})\uFF0C\u5C1D\u8BD5\u964D\u7EA7`),null):(_("info",`[Renren] TV\u7AEF\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F: ID=${e}, \u5305\u542B\u96C6\u6570=${l.data.episodeList.length}`),l.data)}catch(n){return _("info","[Renren] getAppDramaDetail error:",n.message),null}}async getGatewayDramaDetail(e,r,n=""){try{let s=Date.now(),i="/qwtv/drama/details",a={isAgeLimit:"false",seriesId:String(r),episodeId:String(n),clarity:"HD",caption:"0",hevcOpen:"1"},o=CI(i,s,a,this.API_CONFIG.TV_SECRET_KEY),c=Object.entries(a).map(([m,h])=>`${m}=${encodeURIComponent(h)}`).join("&"),u=this.generateTvHeaders(s,o),l=`https://${e}${i}?${c}`,d=await ge(l,{headers:u,timeout:5e3});if(!d||!d.data)return _("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u7F51\u7EDC\u65E0\u54CD\u5E94\u6216\u6570\u636E\u4E3A\u7A7A (${e}): ID=${r}`),null;let f=d.data,p=f.msg||f.message||"";return p.includes("\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD")?(_("info",`[Renren] \u63A5\u53E3\u63D0\u793A'\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD' (${e}) (ID=${r})\uFF0C\u89C6\u4E3A\u7EF4\u62A4\u4E2D\uFF0C\u89E6\u53D1\u964D\u7EA7`),null):f.code!=="0000"?(_("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF\u7801: ${f.code}, msg=${p} (${e}) (ID=${r})`),null):!f.data||!f.data.episodeList||f.data.episodeList.length===0?f.data?.dramaInfo?.playStatus?.includes("\u5373\u5C06\u5F00\u64AD")?(_("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u63D0\u793A'\u5373\u5C06\u5F00\u64AD' (${e}) (ID=${r})\uFF0C\u89C6\u4E3A\u7A7A\u7ED3\u679C`),f.data.episodeList||(f.data.episodeList=[]),f.data):(_("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u7F3A\u5931\u5206\u96C6\u5217\u8868 (${e}) (ID=${r})\uFF0C\u5C1D\u8BD5\u964D\u7EA7`),null):(_("info",`[Renren] \u8DE8\u534F\u8BAE\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F (${e}): ID=${r}, \u5305\u542B\u96C6\u6570=${f.data.episodeList.length}`),f.data)}catch(s){return _("info",`[Renren] getGatewayDramaDetail error (${e}):`,s.message),null}}async getWebDramaDetailFallback(e){let r=`https://${this.API_CONFIG.WEB_HOST}/m-station/drama/page`,n={hsdrOpen:0,isAgeLimit:0,dramaId:String(e),hevcOpen:1};try{let s=await this.renrenRequest("GET",r,n);if(!s.data)return null;let i=II(s.data);return i&&i.data&&i.data.episodeList&&i.data.episodeList.length>0?(_("info",`[Renren] \u7F51\u9875\u7248\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F: ID=${e}, \u5305\u542B\u96C6\u6570=${i.data.episodeList.length}`),i.data):null}catch(s){return _("info",`[Renren] \u7F51\u9875\u7248\u8BE6\u60C5\u8BF7\u6C42\u5931\u8D25: ${s.message}`),null}}async getDetail(e,r=""){let n=null,s=["TV","MAC","WIN","WEB"],i=s.indexOf(Vi.detail);i===-1&&(i=0);for(let a=i;a<s.length;a++){let o=s[a];_("info",`[Renren] \u5C1D\u8BD5\u4F7F\u7528 ${o} \u7AEF\u63A5\u53E3\u83B7\u53D6\u8BE6\u60C5\u5206\u96C6 (ID=${e})`);try{if(o==="TV"?n=await this.getAppDramaDetail(String(e),String(r)):o==="MAC"?n=await this.getGatewayDramaDetail(this.API_CONFIG.MAC_HOST,String(e),String(r)):o==="WIN"?n=await this.getGatewayDramaDetail(this.API_CONFIG.WIN_HOST,String(e),String(r)):o==="WEB"&&(n=await this.getWebDramaDetailFallback(String(e))),n)return Vi.detail!==o&&(_("info",`[Renren] \u8BE6\u60C5\u57DF\u63A5\u53E3\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${Vi.detail} -> ${o}`),Vi.detail=o),n;_("info",`[Renren] ${o} \u8BE6\u60C5\u63A5\u53E3\u5931\u8D25\u6216\u65E0\u6570\u636E\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(c){_("info",`[Renren] ${o} \u8BE6\u60C5\u63A5\u53E3\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${c.message}`)}}return _("info","[Renren] \u8BE6\u60C5\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 TV \u7AEF"),Vi.detail="TV",null}async getEpisodes(e){let r=await this.getDetail(e);if(!r)return _("info",`[Renren] \u83B7\u53D6\u5206\u96C6\u5931\u8D25: \u8BE6\u60C5\u5BF9\u8C61\u4E3A\u7A7A ID=${e}`),[];if(!r.episodeList||!Array.isArray(r.episodeList))return _("info",`[Renren] \u83B7\u53D6\u5206\u96C6\u5931\u8D25: episodeList \u5B57\u6BB5\u7F3A\u5931\u6216\u975E\u6570\u7EC4 ID=${e}`),[];let n=[],s=String(e);r.episodeList.forEach((a,o)=>{let c=String(a.sid||"").trim();if(!c)return;let u=a.title?String(a.title):`\u7B2C${String(a.episodeNo||o+1).padStart(2,"0")}\u96C6`,l=`${s}-${c}`;n.push({sid:l,order:a.episodeNo||o+1,title:u})});let i=n.map(a=>({provider:"renren",episodeId:a.sid,title:a.title,episodeIndex:a.order,url:null}));if(r.dramaInfo&&(r.dramaInfo.enName&&(i.enName=r.dramaInfo.enName),r.dramaInfo.year&&(i.year=r.dramaInfo.year),r.dramaInfo.dramaType)){let a=r.dramaInfo.dramaType,o=r.dramaInfo.plotType||"";a==="TV"?a="\u7535\u89C6\u5267":a==="MOVIE"?o.includes("\u52A8\u753B")?a="\u5267\u573A\u7248":a="\u7535\u5F71":a==="COMIC"?a="\u52A8\u753B":a==="VARIETY"?a="\u7EFC\u827A":a==="DOCUMENTARY"&&(a="\u7EAA\u5F55\u7247"),i.type=a}return i}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("info","[Renren] sourceAnimes is not a valid array"),[];let o=e.filter(d=>yt(d.title,r,i)?!0:d.aliases&&Array.isArray(d.aliases)?d.aliases.some(f=>yt(f,r,i)):!1),c=i!==null?i:Wt(r);if(c!==null){let d=o.filter(f=>{let p=Ct(f.title).season;return p===c||c===1&&p===null});d.length>0&&(o=d,_("info",`[Renren] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l={TV:"TV",MAC:"Mac",WIN:"Win",WEB:"\u7F51\u9875"}[Vi.search]||"\u672A\u77E5";_("info",`[Renren] ${l}\u7AEF\u641C\u7D22\u63D0\u53D6\u7ED3\u679C\u6570\u91CF: ${e.length} \u6709\u6548\u7ED3\u679C\u6570\u91CF\uFF1A${o.length}`),this.isBatchMode=!0;try{await Promise.all(o.map(async d=>{try{let f=await this.getEpisodes(d.mediaId),p=[];for(let m of f)p.push({name:m.episodeIndex.toString(),url:m.episodeId,title:`\u3010${m.provider}\u3011 ${m.title}`});if(p.length>0){let m=d.aliases||[];f.enName&&!m.includes(f.enName)&&m.push(f.enName);let h=f.year||d.year||"",A=f.type||(d.type&&d.type!=="Renren"?d.type:"Renren"),g={animeId:Number(d.mediaId),bangumiId:String(d.mediaId),animeTitle:`${d.title}(${h})\u3010${A}\u3011from renren`,aliases:m,type:A,typeDescription:A,imageUrl:d.imageUrl,startDate:Or(h),episodeCount:p.length,rating:0,isFavorited:!0,source:"renren"};a.push(g),Dt({...g,links:p},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(f){_("info",`[Renren] Error processing anime: ${f.message}`)}}))}finally{this.isBatchMode=!1,this.checkAndIncrementUsage()}return this.sortAndPushAnimesByYear(a,n),a}async getAppDanmu(e){try{let r=Date.now(),n=e;String(e).includes("-")&&(n=String(e).split("-")[1]);let s=`/v1/produce/danmu/EPISODE/${n}`,a=CI(s,r,{},this.API_CONFIG.TV_SECRET_KEY),o=this.generateTvHeaders(r,a),c=`https://${this.API_CONFIG.TV_DANMU_HOST}${s}`,u=await ge(c,{headers:o,timeout:5e3,validStatusCodes:[404]});if(u.status===404)return u.data&&u.data.error==="Document not found"?[]:(_("info","[Renren] TV \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548"),null);if(!u.data)return null;let l=II(u.data);return Array.isArray(l)?l:l&&l.data&&Array.isArray(l.data)?l.data:[]}catch(r){return _("info","[Renren] getAppDanmu error:",r.message),null}}async getMacDanmu(e){let r=String(e).includes("-")?String(e).split("-")[1]:e,n=`https://${this.API_CONFIG.MAC_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,s={"User-Agent":this.API_CONFIG.MAC_USER_AGENT,Accept:"*/*"};return this.fetchStandardDanmu(n,s,"MAC")}async getWinDanmu(e){let r=String(e).includes("-")?String(e).split("-")[1]:e,n=`https://${this.API_CONFIG.WIN_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,s={"User-Agent":this.API_CONFIG.WIN_USER_AGENT};return this.fetchStandardDanmu(n,s,"WIN")}async getWebDanmuFallback(e){let r=e;String(e).includes("-")&&(r=String(e).split("-")[1]);let n={user_agent:"Mozilla/5.0",origin:"https://rrsp.com.cn",referer:"https://rrsp.com.cn/"},s=`https://${this.API_CONFIG.WEB_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,i={Accept:"application/json","User-Agent":n.user_agent,Origin:n.origin,Referer:n.referer};try{let a=await this.renrenHttpGet(s,{headers:i,validStatusCodes:[404]});if(a.status===404)return a.data&&a.data.error==="Document not found"?[]:(_("info","[Renren] WEB \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548"),null);if(!a.data)return null;let o=II(a.data),c=[];return Array.isArray(o)?c=o:o?.data&&Array.isArray(o.data)&&(c=o.data),c}catch(a){return _("info",`[Renren] \u7F51\u9875\u7248\u5F39\u5E55\u964D\u7EA7\u5931\u8D25: ${a.message}`),null}}async getEpisodeDanmu(e){let r=0;if(String(e).includes("-")){let[o,c]=String(e).split("-"),u=await this.getDetail(o,c);if(u&&u.watchInfo){let l=u.watchInfo.m3u8||u.watchInfo.tria4kPlayInfo||{},d=parseInt(l.startingLength)||0,f=parseInt(l.openingLength)||0;r=d>0?d:f>0?f:0}}let n=null,s=["TV","MAC","WIN","WEB"],i=s.indexOf(Vi.danmu);i===-1&&(i=0);for(let o=i;o<s.length;o++){let c=s[o];_("info",`[Renren] \u5C1D\u8BD5\u4F7F\u7528 ${c} \u7AEF\u63A5\u53E3\u83B7\u53D6\u5F39\u5E55`);try{if(c==="TV"?n=await this.getAppDanmu(e):c==="MAC"?n=await this.getMacDanmu(e):c==="WIN"?n=await this.getWinDanmu(e):c==="WEB"&&(n=await this.getWebDanmuFallback(e)),n!==null&&Array.isArray(n))return Vi.danmu!==c&&(_("info",`[Renren] \u5F39\u5E55\u57DF\u63A5\u53E3\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${Vi.danmu} -> ${c}`),Vi.danmu=c),n.length>0?_("info",`[Renren] \u6210\u529F\u83B7\u53D6 ${n.length} \u6761\u5F39\u5E55 (${c}\u7AEF)`):_("info",`[Renren] \u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55 (${c}\u7AEF)`),n.adDurationMs=r,n.episodeId=e,n;_("info",`[Renren] ${c} \u5F39\u5E55\u63A5\u53E3\u5931\u8D25\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(u){_("info",`[Renren] ${c} \u5F39\u5E55\u63A5\u53E3\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${u.message}`)}}_("info","[Renren] \u5F39\u5E55\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 TV \u7AEF"),Vi.danmu="TV";let a=[];return a.adDurationMs=r,a.episodeId=e,a}async getEpisodeDanmuSegments(e){return new St({type:"renren",segmentList:[{type:"renren",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}parseRRSPPFields(e){let r=String(e).split(","),n=(l,d,f)=>{if(l==null||l==="")return f;let p=d(l);return isNaN(p)?f:p},s=n(r[0],parseFloat,0),i=n(r[1],l=>parseInt(l,10),1),a=n(r[2],l=>parseInt(l,10),25),o=n(r[3],l=>parseInt(l,10),16777215),c=r[6]||"",u=r[7]||`${s}:${c}`;return{timestamp:s,mode:i,size:a,color:o,userId:c,contentId:u}}formatComments(e){let r=e.adDurationMs||0,n=e.episodeId||"\u672A\u77E5",s=r/1e3,i=0,a=e.map(o=>{let c=String(o.d||"");if(!c&&o.content&&(c=String(o.content)),!c)return null;if(o.p){let u=this.parseRRSPPFields(o.p),l=u.timestamp-s;return l<0?(i++,null):{cid:Number(u.contentId)||0,p:`${l.toFixed(2)},${u.mode},${u.color},[renren]`,m:c,t:l}}return null}).filter(Boolean);return r>0&&_("info",`[Renren] \u8BC6\u522B\u5230\u524D\u7F6E\u5E7F\u544A(${r}ms)\uFF0C\u5DF2\u81EA\u52A8\u504F\u79FB\u65F6\u95F4\u8F74\u3002\u6210\u529F\u8F6C\u6362 ${a.length} \u6761\uFF0C\u5254\u9664\u65E0\u6548\u5F39\u5E55 ${i} \u6761 (ID=${n})`),a}};Ot();_t();ir();Ts();$n();hn();hs();var fmr={1:"\u97E9\u5267",2:"\u7EFC\u827A",3:"\u7535\u5F71",4:"\u65E5\u5267",5:"\u7F8E\u5267",6:"\u6CF0\u5267",7:"\u56FD\u4EA7\u5267"},Cg=1e8,ost=6e4,As=Object.freeze({HXQ:"hxq",TV:"tv",MERGED:"merged"}),YT=class extends Tt{constructor(){super(),this.appHost="https://hxqapi.hiyun.tv",this.tvHost="https://api.xiawen.tv",this.fallbackDanmuHost="https://hxqapi.zmdcq.com",this.danmuHosts=Array.from(new Set([this.appHost,this.fallbackDanmuHost])),this.defaultRefer="2JGztvGjRVpkxcr0T4ZWG2k+tOlnHmDGUNMwAGSeq548YV2FMbs0h0bXNi6DJ00L",this.danmuUserAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",this.appUserAgent="HanjuTV/6.8.2 (Redmi Note 12; Android 14; Scale/2.00)",this._mobileMakeHeaders=null,this._tvMakeHeaders=null,this._mobileWarmupPromise=null,this._mobileWarmupAttempted=!1}getDanmuHeaders(){return{"Content-Type":"application/json","User-Agent":this.danmuUserAgent}}getAppHeaders(){return{vc:"a_8280",vn:"6.8.2",ch:"xiaomi",app:"hj","User-Agent":this.appUserAgent,"Accept-Encoding":"gzip"}}getCategory(e){return fmr[e]||"\u5176\u4ED6"}async buildTvHeaders(){return this._tvMakeHeaders||(this._tvMakeHeaders=await Vnt(Date.now())),this._tvMakeHeaders(Date.now())}async buildMobileHeaders(){return this._mobileMakeHeaders||(this._mobileMakeHeaders=await Knt(Date.now())),this._mobileMakeHeaders(Date.now())}async tvGet(e,r={}){let n=await this.buildTvHeaders(),s=await ge(`${this.tvHost}${e}`,{headers:n.headers,timeout:1e4,retries:1,...r});return wie(s?.data,n.uid)}logError(e,r){_("error",`[Hanjutv] ${e}:`,{message:r.message,name:r.name,stack:r.stack})}attachDanmuSourceLabel(e=[],r=""){let n=s4(r);return Array.isArray(e)?e.map(s=>({...s,_sourceLabel:n})):[]}async tryGet(e,r,n){try{return await e()}catch(s){return n&&_("warn",`${n}: ${s.message}`),r}}normalizeSearchItems(e=[]){return Array.isArray(e)?e.map(r=>{if(!r||typeof r!="object")return null;let n=r.sid||r.seriesId||r.id||r.series_id,s=r.name||r.title||r.seriesName||r.showName;if(!n||!s)return null;let i=typeof r.image=="object"&&r.image!==null?r.image:{},a=i.thumb||i.poster||i.url||r.thumb||r.poster||"";return{...r,sid:String(n),name:String(s),image:{...i,thumb:a}}}).filter(Boolean):[]}normalizeEpisodes(e=[]){return Array.isArray(e)?e.map((r,n)=>{if(!r||typeof r!="object")return null;let s=r.pid||r.eid||r.id||r.programId||r.episodeId;if(!s)return null;let i=r.serialNo??r.serial_no??r.sort??r.sortNo??r.num??r.episodeNo??n+1,a=Number(i),o=r.pid||r.programId||r.episodeId||r.id||"",c=r.eid||r.id||r.episodeId||"";return{...r,episodeId:String(s),pid:o?String(o):"",eid:c?String(c):"",serialNo:Number.isFinite(a)&&a>0?a:n+1,title:r.title||r.name||r.programName||r.episodeTitle||""}}).filter(Boolean).sort((r,n)=>r.serialNo-n.serialNo):[]}normalizeHxqEpisodes(e=[]){return this.normalizeEpisodes(e).filter(r=>r.pid).map(r=>({...r,pid:String(r.pid)}))}normalizeTvEpisodes(e=[]){return this.normalizeEpisodes(e).filter(r=>r.eid||r.episodeId).map(r=>({...r,eid:String(r.eid||r.episodeId)}))}extractSearchItems(e){let r=e?.seriesData?.seriesList||e?.seriesList||e?.seriesData?.series||[];return this.normalizeSearchItems(r)}dedupeBySid(e=[]){let r=new Map;for(let n of e){if(!n?.sid)continue;let s=String(n.sid);r.has(s)||r.set(s,n)}return Array.from(r.values())}isMergeableSearchPair(e,r,n=""){return!e?.name||!r?.name||n&&(!yt(e.name,n)||!yt(r.name,n))?!1:yt(e.name,r.name)&&yt(r.name,e.name)}buildSearchCandidate(e,r,n=""){if(!e?.sid)return null;let s=String(e.sid),i=String(n||"").trim(),a=r===As.MERGED?Yr(`hxq:${s}|tv:${i}`):Yr(s);return{...e,animeId:a,_variant:r,...i?{tvSid:i}:{}}}mergeSearchCandidates(e,r=[],n=[]){let s=this.dedupeBySid(r),i=this.dedupeBySid(n),a=p=>{let m=[],h=[];for(let A of p)(yt(A?.name||"",e)?m:h).push(A);return{matched:m,unmatched:h}},o=a(s),c=a(i),u=o.matched.length+c.matched.length>0,l=[],d=new Set;for(let p of o.matched){let m=c.matched.find(h=>!d.has(String(h.sid))&&this.isMergeableSearchPair(p,h,e));m?(d.add(String(m.sid)),l.push(this.buildSearchCandidate(p,As.MERGED,m.sid))):l.push(this.buildSearchCandidate(p,As.HXQ))}c.matched.filter(p=>!d.has(String(p.sid))).forEach(p=>{l.push(this.buildSearchCandidate(p,As.TV))}),u?l.push(...o.unmatched.map(p=>this.buildSearchCandidate(p,As.HXQ)).filter(Boolean),...c.unmatched.map(p=>this.buildSearchCandidate(p,As.TV)).filter(Boolean)):l.push(...s.map(p=>this.buildSearchCandidate(p,As.HXQ)).filter(Boolean),...i.map(p=>this.buildSearchCandidate(p,As.TV)).filter(Boolean));let f=p=>p.map(m=>m.name);return{resultList:l,stats:{s5Total:s.length,s5Matched:o.matched.length,tvTotal:i.length,tvMatched:c.matched.length,mergedCount:u?l.filter(p=>p?._variant===As.MERGED).length:0,s5MatchedList:f(o.matched),s5UnmatchedList:f(o.unmatched),tvMatchedList:f(c.matched),tvUnmatchedList:f(c.unmatched)}}}async extractFromPayload(e,r,n){if(!e||typeof e!="object")throw new Error(`${n} \u54CD\u5E94\u4E3A\u7A7A`);if(typeof e.data=="string"&&e.data.length>0){let i;try{i=await wie(e,r)}catch(o){throw new Error(`${n} \u54CD\u5E94\u89E3\u5BC6\u5931\u8D25: ${o.message}`)}let a=this.extractSearchItems(i);if(a.length===0)throw new Error(`${n} \u89E3\u5BC6\u540E\u65E0\u6709\u6548\u7ED3\u679C`);return a}let s=this.extractSearchItems(e);if(s.length===0)throw new Error(`${n} \u65E0\u6709\u6548\u7ED3\u679C`);return s}async warmupMobileIdentity(e){try{await ge(`${this.appHost}/api/common/configs`,{headers:e,timeout:8e3,retries:0})}catch{}}async ensureMobileIdentityWarmed(){if(this._mobileWarmupAttempted){await this._mobileWarmupPromise;return}this._mobileWarmupAttempted=!0,this._mobileWarmupPromise=(async()=>{let e=await this.buildMobileHeaders();await this.warmupMobileIdentity(e.headers)})(),await this._mobileWarmupPromise}async searchWithS5Api(e){await this.ensureMobileIdentityWarmed();let{uid:r,headers:n}=await this.buildMobileHeaders(),s=encodeURIComponent(e),i=await ge(`https://hxqapi.hiyun.tv/api/search/s5?k=${s}&srefer=search_input&type=0&page=1`,{headers:n,timeout:1e4,retries:1});return this.extractFromPayload(i?.data,r,"s5")}async searchWithTvApi(e){let r=encodeURIComponent(e),n=await this.buildTvHeaders(),s=await ge(`https://api.xiawen.tv/api/v1/aggregate/search?key=${r}&scope=101&page=1`,{headers:n.headers,timeout:1e4,retries:1});return this.extractFromPayload(s?.data,n.uid,"tv")}async search(e){try{let r=String(e||"").trim();if(!r)return[];let[n,s]=await Promise.all([this.tryGet(()=>this.searchWithS5Api(r),[],"[Hanjutv] s5 \u641C\u7D22\u5931\u8D25"),this.tryGet(()=>this.searchWithTvApi(r),[],"[Hanjutv] TV \u641C\u7D22\u5931\u8D25")]),{resultList:i,stats:a}=this.mergeSearchCandidates(r,n,s),o=a.s5Matched+a.tvMatched;return i.length>0&&o===0?(_("warn",`[Hanjutv] \u6240\u6709\u5019\u9009\u5747\u672A\u547D\u4E2D\u5173\u952E\u8BCD\uFF0C\u4E22\u5F03\u7591\u4F3C\u63A8\u8350\u6D41\u7ED3\u679C: ${r}`),[]):i.length===0?(_("info","[Hanjutv] hanjutvSearchresp: s5 \u4E0E TV \u63A5\u53E3\u5747\u65E0\u6709\u6548\u7ED3\u679C"),[]):(_("info",`[Hanjutv] \u641C\u7D22\u5019\u9009\u7EDF\u8BA1 s5MatchedList=${JSON.stringify(a.s5MatchedList)}, s5UnmatchedList=${JSON.stringify(a.s5UnmatchedList)}, tvMatchedList=${JSON.stringify(a.tvMatchedList)}, tvUnmatchedList=${JSON.stringify(a.tvUnmatchedList)}`),_("info",`[Hanjutv] \u641C\u7D22\u5019\u9009\u7EDF\u8BA1 s5=${a.s5Total}(\u547D\u4E2D${a.s5Matched}), tv=${a.tvTotal}(\u547D\u4E2D${a.tvMatched}), merged=${a.mergedCount}`),_("info",`[Hanjutv] \u641C\u7D22\u627E\u5230 ${i.length} \u4E2A\u6709\u6548\u7ED3\u679C`),i.filter(Boolean))}catch(r){return this.logError("getHanjutvAnimes error",r),[]}}async getSeriesDetail(e,r,n,s){try{let i=String(e||"").trim();if(!i)return null;let a=await this.tryGet(()=>r(i),null,s);return a||(_("info",`[Hanjutv] ${n}: series \u4E0D\u5B58\u5728`),null)}catch(i){return this.logError(s,i),null}}async getHxqDetail(e){return this.getSeriesDetail(e,async r=>(await ge(`${this.appHost}/api/series/detail?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data?.series??null,"getHanjutvHxqDetail","getHanjutvHxqDetail error")}async getTvDetail(e){return this.getSeriesDetail(e,async r=>(await this.tvGet(`/api/v1/series/detail/query?sid=${r}`))?.series??null,"getHanjutvTvDetail","getHanjutvTvDetail error")}async getHxqEpisodes(e){try{let r=String(e||"").trim();if(!r)return[];let n=[async()=>{let i=await ge(`${this.appHost}/api/series/detail?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1});return this.normalizeHxqEpisodes(Array.isArray(i?.data?.playItems)?i.data.playItems:[])},async()=>{let a=(await ge(`${this.appHost}/api/series2/episodes?sid=${r}&refer=${encodeURIComponent(this.defaultRefer)}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data;return this.normalizeHxqEpisodes(a?.programs||a?.episodes||a?.qxkPrograms||[])},async()=>{let a=(await ge(`${this.appHost}/api/series/programs_v2?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data;return this.normalizeHxqEpisodes([...Array.isArray(a?.programs)?a.programs:[],...Array.isArray(a?.qxkPrograms)?a.qxkPrograms:[]])}],s=[];for(let i of n){if(s.length>0)break;s=await this.tryGet(i,[])}return s.length===0?(_("info","[Hanjutv] getHanjutvHxqEpisodes: episodes \u4E0D\u5B58\u5728"),[]):s.sort((i,a)=>i.serialNo-a.serialNo)}catch(r){return this.logError("getHanjutvHxqEpisodes error",r),[]}}async getTvEpisodes(e){try{let r=String(e||"").trim();if(!r)return[];let n=await this.tryGet(async()=>{let s=await this.tvGet(`/api/v1/series/detail/query?sid=${r}`);return this.normalizeTvEpisodes(s?.episodes||[])},[],"getHanjutvTvEpisodes error");return n.length===0?(_("info","[Hanjutv] getHanjutvTvEpisodes: episodes \u4E0D\u5B58\u5728"),[]):n.sort((s,i)=>s.serialNo-i.serialNo)}catch(r){return this.logError("getHanjutvTvEpisodes error",r),[]}}resolveAnimeYear(e,...r){let n=[e?.updateTime,e?.publishTime,...r.map(s=>s?.updateTime),...r.map(s=>s?.publishTime)];for(let s of n){if(!s)continue;let a=new Date(s).getFullYear();if(Number.isFinite(a)&&a>1900)return a}return new Date().getFullYear()}buildEpisodeTitle(e,r=""){let n=String(r||"").trim();return n?`\u7B2C${e}\u96C6\uFF1A${n}`:`\u7B2C${e}\u96C6`}buildEpisodeLink(e,r){let n=e?.serialNo??r?.serialNo??1,s=this.buildEpisodeTitle(n,e?.title||r?.title||""),i="";if(e?.pid&&r?.eid){let a=Ynt(e.pid,r.eid);i=a?`hanjutv:${a}`:""}else e?.pid?i=`hxq:${e.pid}`:r?.eid&&(i=`tv:${r.eid}`);return i?{name:s,url:i,title:`\u3010hanjutv\u3011 ${s}`}:null}mergeVariantEpisodes(e=[],r=[]){let n=new Map(e.map(a=>[Number(a.serialNo),a])),s=new Map(r.map(a=>[Number(a.serialNo),a]));return Array.from(new Set([...n.keys(),...s.keys()])).filter(Number.isFinite).sort((a,o)=>a-o).map(a=>this.buildEpisodeLink(n.get(a),s.get(a))).filter(Boolean)}buildAnimeSummary(e,r,n,s){let i=this.getCategory(r?.category??e?.category),a=this.resolveAnimeYear(e,r);return{animeId:s,bangumiId:String(s),animeTitle:`${e.name}(${a})\u3010${i}\u3011from hanjutv`,type:i,typeDescription:i,imageUrl:e?.image?.thumb||"",startDate:Or(a),episodeCount:n.length,rating:Number(r?.rank??0),isFavorited:!0,source:"hanjutv"}}async getHxqBundle(e){if(!e)return{detail:null,episodes:[]};let[r,n]=await Promise.all([this.getHxqDetail(e),this.getHxqEpisodes(e)]);return{detail:r,episodes:n}}async getTvBundle(e){if(!e)return{detail:null,episodes:[]};let[r,n]=await Promise.all([this.getTvDetail(e),this.getTvEpisodes(e)]);return{detail:r,episodes:n}}async buildAnimePayload(e){let r=e?._variant||As.HXQ,n=String(e?.sid||"").trim(),s=String(e?.tvSid||"").trim(),i=s||(r===As.TV?n:""),a=Number(e?.animeId),o=r===As.MERGED&&n&&s?Number.isFinite(a)&&a>0?a:Yr(`hxq:${n}|tv:${s}`):null,c=(r===As.HXQ||r===As.MERGED)&&n,u=(r===As.TV||r===As.MERGED)&&i,[l,d]=await Promise.all([c?this.getHxqBundle(n):Promise.resolve({detail:null,episodes:[]}),u?this.getTvBundle(i):Promise.resolve({detail:null,episodes:[]})]);if(r===As.MERGED&&n&&s){let f=this.mergeVariantEpisodes(l.episodes,d.episodes);if(f.length>0){let p=l.detail?.category?l.detail:d.detail?.category?d.detail:l.detail||d.detail;return{summary:this.buildAnimeSummary(e,p,f,o),links:f}}}if((r===As.HXQ||r===As.MERGED)&&n){let f=l.episodes.map(p=>this.buildEpisodeLink(p,null)).filter(Boolean);if(f.length>0)return{summary:this.buildAnimeSummary(e,l.detail,f,o??Yr(n)),links:f}}if((r===As.TV||r===As.MERGED)&&i){let f=d.episodes.map(p=>this.buildEpisodeLink(null,p)).filter(Boolean);if(f.length>0)return{summary:this.buildAnimeSummary(e,d.detail,f,o??Yr(i)),links:f}}return null}async handleAnimes(e,r,n,s=null,i=null){if(!Array.isArray(e))return _("error","[Hanjutv] sourceAnimes is not a valid array"),[];let a=[],o=e.filter(u=>yt(u.name,r,i)),c=i!==null?i:Wt(r);if(c!==null){let u=o.filter(l=>{let d=Ct(l.name).season;return d===c||c===1&&d===null});u.length>0&&(o=u,_("info",`[Hanjutv] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}return await Promise.all(o.map(async u=>{try{let l=await this.buildAnimePayload(u);if(!l||!l.summary||!Array.isArray(l.links)||l.links.length===0)return;a.push(l.summary),Dt({...l.summary,links:l.links},s),O.animes.length>O.MAX_ANIMES&&$t()}catch(l){_("error",`[Hanjutv] Error processing anime: ${l.message}`)}})),this.sortAndPushAnimesByYear(a,n),a}async fetchEpisodeDanmuByRef(e){let r=String(e?.id||"").trim();if(!r)return[];let n=[];if(!e.preferTv){let s=this.getDanmuHeaders();for(let i of this.danmuHosts){let a=[];try{let o=0,c=0,u=ost,l=0,d=240;for(;c<Cg&&l<d;){let f=await ge(`${i}/api/danmu/playItem/list?pid=${r}&prevId=${o}&fromAxis=${c}&toAxis=${u}&offset=0`,{headers:s,timeout:1e4,retries:1});l++;let p=Array.isArray(f?.data?.danmus)?f.data.danmus:[];p.length>0&&a.push(...p);let m=Number(f?.data?.more??0)===1||f?.data?.more===!0||f?.data?.more==="1",h=Number(f?.data?.nextAxis??Cg),A=Number(f?.data?.lastId??o);if(!Number.isFinite(h)||h<=c||h>=Cg)break;if(Number.isFinite(A)&&A>o&&(o=A),c=h,!m){if(p.length===0)break;u=c+ost}}if(a.length>0){n=a;break}}catch(o){if(this.logError(`fetchHanjutvEpisodeDanmu(\u97E9\u5C0F\u5708\u5F39\u5E55:${i})`,o),a.length>0){n=a;break}}}}if(n.length===0){let s=0,i=0,a=0,o=120;for(;i<Cg&&a<o;)try{let c=await this.tvGet(`/api/v1/bulletchat/episode/get?eid=${r}&prevId=${s}&fromAxis=${i}&toAxis=${Cg}&offset=0`);a++;let u=Array.isArray(c?.bulletchats)?c.bulletchats:[];u.length>0&&n.push(...u);let l=Number(c.more??0)===1||c.more===!0||c.more==="1",d=Number(c.nextAxis??Cg),f=Number(c.lastId??s);if(!Number.isFinite(d)||d<=i||d>=Cg||(Number.isFinite(f)&&f>s&&(s=f),i=d,l||(s=0),u.length===0&&!l))break}catch(c){this.logError("fetchHanjutvEpisodeDanmu(TV\u7AEF)",c);break}}return n}async getEpisodeDanmu(e){let r=Jnt(e),n=Array.isArray(r?.refs)?r.refs.filter(i=>i?.id):[];if(n.length===0)return[];if(n.length===1){let i=await this.fetchEpisodeDanmuByRef(n[0]);return this.attachDanmuSourceLabel(i,n[0].rawId)}return(await Promise.all(n.map(async i=>{let a=await this.fetchEpisodeDanmuByRef(i);return this.attachDanmuSourceLabel(a,i.rawId)}))).flat()}async getEpisodeDanmuSegments(e){return _("info","[Hanjutv] \u83B7\u53D6\u97E9\u5267TV\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new St({type:"hanjutv",duration:0,segmentList:[{type:"hanjutv",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e.map(r=>({cid:Number(r.did),p:`${(r.t/1e3).toFixed(2)},${r.tp===2?5:r.tp},${Number(r.sc)},[${r._sourceLabel||"hanjutv"}]`,m:r.con,t:r.t/1e3,like:r.lc,_sourceLabel:r._sourceLabel}))}};Ot();_t();ir();$n();so();hn();hs();var Tg=class extends Tt{async search(e){try{let r=[];O.useBangumiData&&(r=await Au(e,["gamer","gamer_hk"]),_("info",`[Bahamut] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`));let n=r.filter(p=>p.video_sn);if(r.length>0&&r.length===n.length)return _("info","[Bahamut] Bangumi-Data \u672C\u5730\u547D\u4E2D\u5747\u542B video_sn\uFF0C\u542F\u7528\u6570\u636E\u6E90\u76F4\u901A\u6A21\u5F0F\uFF08\u8DF3\u8FC7\u641C\u7D22\u63A5\u53E3\uFF09"),r.map(p=>{let h=(p.titles.find(A=>A&&A.includes(e))||p.titles[1]||p.title)+(p.titleSuffix||"");return{video_sn:parseInt(p.video_sn),title:h,_displayTitle:h,isLocalPriority:!0,aliases:[...p.titles],_typeStr:p.typeStr,_fromDataSourceDirectHit:!0,_originalQuery:e,_bangumiBegin:p.begin||null}});let s=No(e),i=e,a=encodeURIComponent(s);_("info",`[Bahamut] \u539F\u59CB\u641C\u7D22\u8BCD: ${e}`),_("info",`[Bahamut] \u5DF4\u54C8\u4F7F\u7528\u641C\u7D22\u8BCD: ${s}`);let o=new AbortController,c=(async()=>{try{let p=`https://api.gamer.com.tw/mobile_app/anime/v1/search.php?kw=${a}`,m=O.makeProxyUrl(p),h=await ge(m,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});if(h&&h.data&&h.data.anime&&h.data.anime.length>0){o.abort();let A=h.data.anime;for(let g of A)try{g._originalQuery=e,g._searchUsedTitle=s}catch{}return _("info",`[Bahamut] bahamutSearchresp (original): ${JSON.stringify(A)}`),_("info",`[Bahamut] \u8FD4\u56DE ${A.length} \u6761\u7ED3\u679C (source: original)`),{success:!0,data:A,source:"original"}}return _("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: original)"),{success:!1,source:"original"}}catch(p){return _("error","[Bahamut] \u539F\u59CB\u641C\u7D22\u5931\u8D25:",{message:p.message,name:p.name,stack:p.stack}),{success:!1,source:"original"}}})(),u=(async()=>{try{await new Promise(x=>setTimeout(x,100));let p=await Xb(i,o.signal,"Bahamut");if(!p||!p.title)return _("info","[Bahamut] TMDB\u8F6C\u6362\u672A\u8FD4\u56DE\u7ED3\u679C\uFF0C\u53D6\u6D88\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb"};let{title:m,cnAlias:h}=p;_("info",`[Bahamut] \u4F7F\u7528\u65E5\u8BED\u539F\u540D\u8FDB\u884C\u641C\u7D22: ${m}`);let g=`https://api.gamer.com.tw/mobile_app/anime/v1/search.php?kw=${encodeURIComponent(m)}`,b=O.makeProxyUrl(g),y=await ge(b,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},signal:o.signal,retries:3});if(y&&y.data&&y.data.anime&&y.data.anime.length>0){let x=y.data.anime;for(let v of x)try{v._originalQuery=e,v._searchUsedTitle=m,v._tmdbCnAlias=h}catch{}return _("info",`[Bahamut] bahamutSearchresp (TMDB): ${JSON.stringify(x)}`),_("info",`[Bahamut] \u8FD4\u56DE ${x.length} \u6761\u7ED3\u679C (source: tmdb)`),{success:!0,data:x,source:"tmdb"}}return _("info","[Bahamut] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: tmdb)"),{success:!1,source:"tmdb"}}catch(p){return p.name==="AbortError"?(_("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4E2D\u65AD\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb",aborted:!0}):(_("error","[Bahamut] TMDB\u641C\u7D22\u5931\u8D25:",{message:p.message,name:p.name,stack:p.stack}),{success:!1,source:"tmdb"})}})(),[l,d]=await Promise.all([c,u]),f=[];if(l.success?f=l.data:d.success?f=d.data:_("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u548C\u57FA\u4E8ETMDB\u7684\u641C\u7D22\u5747\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C"),f.length>0&&r.length>0)for(let p of f){if(!p||!p.acg_sn)continue;let m=r.find(h=>String(p.acg_sn)===String(h.siteId))||r.find(h=>p.title&&h.title===p.title);if(m){let h=p.title,g=(m.titles.find(b=>b&&b.includes(e))||m.titles[1]||m.title)+(m.titleSuffix||"");p.title=g,p._displayTitle=g,p.isLocalPriority=!0,p.aliases=[...m.titles],h&&!p.aliases.includes(h)&&p.aliases.push(h),p._typeStr=m.typeStr,_("info",`[Bahamut] \u7F51\u7EDC\u7ED3\u679C [${p.title}] \u6210\u529F\u5BF9\u9F50\u672C\u5730 Bangumi-Data \u6570\u636E`)}}return f}catch(r){return _("error","[Bahamut] getBahamutAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){try{let r=`https://api.gamer.com.tw/anime/v1/video.php?videoSn=${e}`,n=O.makeProxyUrl(r),s=await ge(n,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});if(!s||!s.data)return _("info","[Bahamut] getBahamutEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];if(!s.data.data||!s.data.data.video||!s.data.data.anime)return _("info","[Bahamut] getBahamutEposides: video \u6216 anime \u4E0D\u5B58\u5728"),[];let{video:i,anime:a}=s.data.data;return _("info",`[Bahamut] getBahamutEposides: videoSn=${i.videoSn}, animeSn=${a.animeSn}, title=${a.title}, totalEpisode=${a.totalEpisode}, episodes=${JSON.stringify(a.episodes)}`),s.data.data}catch(r){return _("error","[Bahamut] getBahamutEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[],o=/[\u3040-\u309F\u30A0-\u30FF]/.test(r);r=No(r);function c(A,g,b){if(!A)return!1;let y=String(A),x=String(g||""),v=String(b||"");if(O.strictTitleMatch){if($0(y,x)||v&&$0(y,v))return!0;try{if($0(y,No(x))||$0(y,Qt(x))||v&&($0(y,No(v))||$0(y,Qt(v))))return!0}catch{}return!1}let I=Fr(y),R=Fr(x),w=v?Fr(v):"";if(I.includes(R)||w&&I.includes(w))return!0;try{if(I.includes(Fr(No(x)))||I.includes(Fr(Qt(x)))||w&&(I.includes(Fr(No(v)))||I.includes(Fr(Qt(v)))))return!0}catch{}try{if(I.toLowerCase().includes(R.toLowerCase())||w&&I.toLowerCase().includes(w.toLowerCase()))return!0}catch{}return!1}let l=(Array.isArray(e)?e:[]).filter(A=>{let g=A.title||"",b=A._searchUsedTitle||A._originalQuery||"";return o||A._searchUsedTitle&&A._searchUsedTitle!==r?(_("info",`[Bahamut] \u547D\u4E2D\u65E5\u8BED\u5173\u952E\u8BCD\u6216TMDB\u7ED3\u679C\uFF0C\u7ED5\u8FC7\u5339\u914D\u89C4\u5219\u76F4\u63A5\u4FDD\u7559: ${g}`),!0):c(g,r,b)||Array.isArray(A.aliases)&&A.aliases.some(y=>c(y,r,b))});l.forEach(A=>{A._originalTitleAlias=A.title?Qt(A.title):""});let d=l.length>0?l[0]._tmdbCnAlias:null;Zb(l,d);let f=i!==null?i:Wt(r),p=l;if(f!==null){let A=l.filter(g=>{let b=g._displayTitle||g.title,y=Ct(b).season;return y===f||f===1&&y===null});A.length>0&&(p=A,_("info",`[Bahamut] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${f}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let m=new Map,h=await Promise.all(p.map(async A=>{try{let g=String(A.video_sn);m.has(g)||m.set(g,this.getEpisodes(A.video_sn));let b=await m.get(g);if(!b||typeof b!="object"||Array.isArray(b))return null;let y=b.video,x=null;b.anime.episodes&&(x=b.anime.episodes[0]||Object.values(b.anime.episodes)[0]);let v=[];if(x&&Array.isArray(x))for(let I of x){let R=`\u7B2C${I.episode}\u96C6`;v.push({name:I.episode.toString(),url:I.videoSn.toString(),title:`\u3010bahamut\u3011 ${R}`})}if(v.length>0){let I=null;if(A._bangumiBegin&&(I=parseInt(A._bangumiBegin.substring(0,4))),!I&&b.anime&&b.anime.seasonStart&&(I=new Date(b.anime.seasonStart).getFullYear()),!I&&y&&y.upTime){let L=String(y.upTime).match(/(\d{4})/);L&&(I=parseInt(L[1]))}if(!I){let D=(A.info||"").match(/(\d{4})/);D&&(I=parseInt(D[1]))}let R=b.anime&&b.anime.cover||A.cover||y&&y.cover||"",w=A._displayTitle||Qt(A.title),N=Array.isArray(A.aliases)?[...A.aliases]:[];A._originalTitleAlias&&A._originalTitleAlias!==w&&!N.includes(A._originalTitleAlias)&&N.push(A._originalTitleAlias);let P=A._typeStr||"\u52A8\u6F2B",B=b.anime&&b.anime.title||y&&y.title||"";B.includes("[\u96FB\u5F71]")?P="\u5267\u573A\u7248":B.includes("[\u7279\u5225\u7BC7]")&&(P="OVA");let M={animeId:A.video_sn,bangumiId:String(A.video_sn),animeTitle:`${w}(${I||"N/A"})\u3010${P}\u3011from bahamut`,aliases:N,type:"\u52A8\u6F2B",typeDescription:"\u52A8\u6F2B",imageUrl:R,startDate:I?Or(I):Or(b.anime.seasonStart?new Date(b.anime.seasonStart).getFullYear():null),episodeCount:v.length,rating:y.rating,isFavorited:!0,source:"bahamut"};a.push(M),Dt({...M,links:v},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(g){_("error",`[Bahamut] Error processing anime: ${g.message}`)}}));return this.sortAndPushAnimesByYear(a,n),h}async getEpisodeDanmu(e){let r=[];try{let n=`https://api.gamer.com.tw/anime/v1/danmu.php?geo=TW%2CHK&videoSn=${e}`,s=O.makeProxyUrl(n),i=await ge(s,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});return i.data&&i.data.data&&i.data.data.danmu&&(r=i.data.data.danmu),r}catch(n){return _("error","[Bahamut] fetchBahamutEpisodeDanmu error:",{message:n.message,name:n.name,stack:n.stack}),r}}async getEpisodeDanmuSegments(e){return _("info","[Bahamut] \u83B7\u53D6\u5DF4\u54C8\u59C6\u7279\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new St({type:"bahamut",segmentList:[{type:"bahamut",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){let r={0:1,1:5,2:4};return e.map(n=>({cid:Number(n.sn),p:`${(n.time/10).toFixed(2)},${r[n.position]||n.tp},${parseInt(n.color.slice(1),16)},[bahamut]`,m:O.danmuSimplifiedTraditional==="simplified"?Qt(n.text):n.text,t:n.time/10}))}};Ot();_t();ir();$n();so();hs();Ot();_t();ir();Ts();$n();hn();hs();var wg=class extends Tt{extractAliasesFromHintWords(e){if(!e||typeof e!="string")return[];let r=[],n=i=>{let a=String(i||"").replace(/<\/?em>/g,"").trim();a&&!r.includes(a)&&r.push(a)},s=e.match(/(?:åˆå|别å)\s*[::]\s*(.+)$/);return s&&s[1].split(/[ã€,,/|]+/).forEach(n),r}titleOrAliasMatches(e,r,n=null){return yt(e.title,r,n)?!0:Array.isArray(e.aliases)&&e.aliases.some(s=>yt(s,r,n))}filterTencentSearchItem(e,r){if(!e.videoInfo||!e.doc)return null;let n=e.videoInfo,s=e.doc.id;if(!n.year||n.year===0||n.subTitle==="\u5168\u7F51\u641C"||n.playFlag===2)return null;let i=n.title.replace(/<em>/g,"").replace(/<\/em>/g,"");if(!i||!s)return null;let a=n.typeName;if(a.includes("\u77ED\u5267")||!["\u7535\u89C6\u5267","\u52A8\u6F2B","\u7535\u5F71","\u7EAA\u5F55\u7247","\u7EFC\u827A","\u7EFC\u827A\u8282\u76EE"].includes(a))return null;let c=a,u=!1,l=!1;n.coverDoc&&(n.coverDoc.richTags&&Array.isArray(n.coverDoc.richTags)&&n.coverDoc.richTags.forEach(m=>{m.text&&m.text.includes("3D")&&(u=!0),m.text&&m.text.includes("2D")&&(l=!0)}),n.coverDoc.tags&&Array.isArray(n.coverDoc.tags)&&n.coverDoc.tags.forEach(m=>{m&&m.includes("3D")&&(u=!0),m&&m.includes("2D")&&(l=!0)})),u?c="3D"+c:l&&(c="2D"+c);let d=(n.playSites||[]).concat(n.episodeSites||[]);if(d.length>0&&!d.some(m=>m.enName==="qq")||a==="\u7535\u5F71"&&["\u82B1\u7D6E","\u5F69\u86CB","\u5E55\u540E","\u72EC\u5BB6","\u89E3\u8BF4","\u7279\u8F91","\u63A2\u73ED","\u62CD\u6444","\u5236\u4F5C","\u5BFC\u6F14","\u8BB0\u5F55","\u56DE\u987E","\u76D8\u70B9","\u6DF7\u526A","\u89E3\u6790","\u62A2\u5148"].some(h=>i.includes(h)))return null;let f=a==="\u7535\u5F71"?1:n.subjectDoc?n.subjectDoc.videoNum:0,p=this.extractAliasesFromHintWords(n.hintWords).filter(m=>m!==i);return{provider:"tencent",mediaId:s,title:i,aliases:p,type:c,year:n.year,imageUrl:n.imgUrl,episodeCount:f}}async search(e){try{_("info",`[Tencent] \u5F00\u59CB\u641C\u7D22: ${e}`);let r="https://pbaccess.video.qq.com/trpc.videosearch.mobile_search.MultiTerminalSearch/MbSearch?vplatform=2",n={version:"25071701",clientType:1,filterValue:"",uuid:"0379274D-05A0-4EB6-A89C-878C9A460426",query:e,retry:0,pagenum:0,isPrefetch:!0,pagesize:30,queryFrom:0,searchDatakey:"",transInfo:"",isneedQc:!0,preQid:"",adClientInfo:"",extraInfo:{multi_terminal_pc:"1",themeType:"1",sugRelatedIds:"{}",appVersion:""}},s={"Content-Type":"application/json",Origin:"https://v.qq.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:`https://v.qq.com/x/search/?q=${encodeURIComponent(e)}&stag=&smartbox_ab=`,H38:"220496a1fb1498325e9be6d938",H42:"335a00a80ab9bbbef56793d8e7a97e87b9341dee34ebd83d61afc0cdb303214caaece3",Uk:"8e91af25d3af99d0f0640327e7307666",Cookie:"tvfe_boss_uuid=ee8f05103d59226f; pgv_pvid=3155633511; video_platform=2; ptag=v_qq_com; main_login=qq"},i=await Kr(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return _("info","[Tencent] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.ret!==0)return _("error",`[Tencent] API\u8FD4\u56DE\u9519\u8BEF: ${a.msg} (ret: ${a.ret})`),[];let o=[];if(a.data&&a.data.areaBoxList){for(let u of a.data.areaBoxList)if(u.boxId==="MainNeed"&&u.itemList){_("info",`[Tencent] \u4ECE MainNeed box \u627E\u5230 ${u.itemList.length} \u4E2A\u9879\u76EE`),o=u.itemList;break}}if(o.length===0&&a.data&&a.data.normalList&&a.data.normalList.itemList&&(_("info","[Tencent] MainNeed box \u672A\u627E\u5230\uFF0C\u4F7F\u7528 normalList"),o=a.data.normalList.itemList),a.data&&a.data.areaBoxList){for(let u of a.data.areaBoxList)if(u.itemList&&u.boxTitle&&Array.isArray(u.boxTitle.boxTitles)&&u.boxTitle.boxTitles.includes("\u76F8\u5173\u5F71\u89C6")){let l=u.itemList.filter(d=>d.videoInfo&&d.videoInfo.title&&d.videoInfo.title.includes(e));l.length>0?(_("info",`[Tencent] \u8FFD\u52A0\u300C\u76F8\u5173\u5F71\u89C6\u300Dbox \u4E2D\u5339\u914D "${e}" \u7684 ${l.length} \u4E2A\u9879\u76EE`),o=[...o,...l]):_("info",`[Tencent] \u300C\u76F8\u5173\u5F71\u89C6\u300Dbox \u4E2D\u65E0\u5339\u914D "${e}" \u7684\u9879\u76EE`);break}}if(o.length===0)return _("info","[Tencent] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let c=[];for(let u of o){let l=this.filterTencentSearchItem(u,e);l&&c.push(l)}return _("info",`[Tencent] \u641C\u7D22\u627E\u5230 ${c.length} \u4E2A\u6709\u6548\u7ED3\u679C`),c}catch(r){return _("error","[Tencent] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Tencent] \u83B7\u53D6\u5206\u96C6\u5217\u8868: cid=${e}`);let r="https://pbaccess.video.qq.com/trpc.universal_backend_service.page_server_rpc.PageServer/GetPageData?video_appid=3000010&vversion_name=8.2.96&vversion_platform=2",n={has_cache:1,page_params:{req_from:"web_vsite",page_id:"vsite_episode_list",page_type:"detail_operation",id_type:"1",page_size:"",cid:e,vid:"",lid:"",page_num:"",page_context:`cid=${e}&detail_page_type=1&req_from=web_vsite&req_from_second_type=&req_type=0`,detail_page_type:"1"}},s={"Content-Type":"application/json",Origin:"https://v.qq.com",Referer:`https://v.qq.com/x/cover/${e}.html`,"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",Accept:"application/json","Accept-Language":"zh-CN,zh;q=0.9"},i=await Kr(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return _("info","[Tencent] \u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.ret!==0)return _("error",`[Tencent] \u5206\u96C6API\u8FD4\u56DE\u9519\u8BEF: ret=${a.ret}`),[];let o=[];if(a.data&&a.data.module_list_datas)for(let u of a.data.module_list_datas){for(let l of u.module_datas)if(l.module_params&&l.module_params.tabs)try{o=JSON.parse(l.module_params.tabs);break}catch(d){_("error","[Tencent] \u89E3\u6790tabs\u5931\u8D25:",d.message)}if(o.length>0)break}let c=[];if(o.length===0){if(_("info","[Tencent] \u672A\u627E\u5230\u5206\u9875\u4FE1\u606F,\u5C1D\u8BD5\u4ECE\u521D\u59CB\u54CD\u5E94\u4E2D\u63D0\u53D6\u5206\u96C6"),a.data&&a.data.module_list_datas){for(let u of a.data.module_list_datas)for(let l of u.module_datas)if(l.item_data_lists&&l.item_data_lists.item_datas)for(let d of l.item_data_lists.item_datas)d.item_params&&d.item_params.vid&&d.item_params.is_trailer!=="1"&&c.push({vid:d.item_params.vid,title:d.item_params.title,unionTitle:d.item_params.union_title||d.item_params.title})}if(c.length===0)return _("info","[Tencent] \u521D\u59CB\u54CD\u5E94\u4E2D\u4E5F\u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F"),[];_("info",`[Tencent] \u4ECE\u521D\u59CB\u54CD\u5E94\u4E2D\u63D0\u53D6\u5230 ${c.length} \u96C6`)}else{_("info",`[Tencent] \u627E\u5230 ${o.length} \u4E2A\u5206\u9875`);for(let u of o){if(!u.page_context)continue;let l={has_cache:1,page_params:{req_from:"web_vsite",page_id:"vsite_episode_list",page_type:"detail_operation",id_type:"1",page_size:"",cid:e,vid:"",lid:"",page_num:"",page_context:u.page_context,detail_page_type:"1"}},d=await Kr(r,JSON.stringify(l),{headers:s});if(!d||!d.data)continue;let f=typeof d.data=="string"?JSON.parse(d.data):d.data;if(!(f.ret!==0||!f.data)&&f.data.module_list_datas){for(let p of f.data.module_list_datas)for(let m of p.module_datas)if(m.item_data_lists&&m.item_data_lists.item_datas)for(let h of m.item_data_lists.item_datas)h.item_params&&h.item_params.vid&&h.item_params.is_trailer!=="1"&&c.push({vid:h.item_params.vid,title:h.item_params.title,unionTitle:h.item_params.union_title||h.item_params.title})}}}return _("info",`[Tencent] \u5171\u83B7\u53D6 ${c.length} \u96C6`),c}catch(r){return _("error","[Tencent] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Tencent] sourceAnimes is not a valid array"),[];let o=e.filter(l=>this.titleOrAliasMatches(l,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Tencent] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=m.unionTitle||m.title||`\u7B2C${p+1}\u96C6`,A=`https://v.qq.com/x/cover/${l.mediaId}/${m.vid}.html`;f.push({name:(p+1).toString(),url:A,title:`\u3010qq\u3011 ${h}`})}if(f.length>0){let p=d[0].unionTitle||d[0].title||"\u7B2C1\u96C6",m=l.title,h=p.match(/\[.+版\]/);h&&p.includes(l.title)&&(m=`${l.title}${h[0]}`);let g={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${m}(${l.year})\u3010${l.type}\u3011from tencent`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Or(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"tencent",aliases:l.aliases||[]};a.push(g),Dt({...g,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[Tencent] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}extractVid(e){let r=e;if(typeof e=="string"&&(e.startsWith("http")||e.includes("vid="))){let n=e.match(/[?&]vid=([^&]+)/);if(n)r=n[1];else{let s=e.split("/");r=s[s.length-1].split(".")[0]}}return r}async getEpisodeDanmu(e){_("info","[Tencent] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u817E\u8BAF\u89C6\u9891\u5F39\u5E55...",e);let r=this.extractVid(e);_("info",`[Tencent] vid: ${r}`);let n;try{n=await ge(e,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(l){return _("error","[Tencent] \u8BF7\u6C42\u9875\u9762\u5931\u8D25:",l),[]}let s=n.data.match(/<title[^>]*>(.*?)<\/title>/i),i=s?s[1].split("_")[0]:"\u672A\u77E5\u6807\u9898";_("info",`[Tencent] \u6807\u9898: ${i}`);let a=await this.getEpisodeDanmuSegments(e);if(!a||!a.segmentList||a.segmentList.length===0)return[];let o=a.segmentList;_("info",`[Tencent] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${o.length}`);let c=[];for(let l of o)c.push(ge(l.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}));let u=[];try{(await Promise.allSettled(c)).filter(f=>f.status==="fulfilled").map(f=>f.value&&f.value.data?f.value.data:null).filter(f=>f!==null).forEach(f=>{f=typeof f=="string"?JSON.parse(f):f,u.push(...f.barrage_list)})}catch(l){return _("error","[Tencent] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",l),[]}return ts(u),u}async getEpisodeDanmuSegments(e){_("info","[Tencent] \u83B7\u53D6\u817E\u8BAF\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r="https://dm.video.qq.com/barrage/base/",n="https://dm.video.qq.com/barrage/segment/",s=this.extractVid(e);_("info",`[Tencent] \u83B7\u53D6\u5F39\u5E55\u5206\u6BB5\u5217\u8868 - vid: ${s}`);let i;try{i=await ge(r+s,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(u){return u.response?.status===404?new St({type:"qq",segmentList:[]}):(_("error","[Tencent] \u8BF7\u6C42\u5F39\u5E55\u57FA\u7840\u6570\u636E\u5931\u8D25:",u),new St({type:"qq",segmentList:[]}))}let a=typeof i.data=="string"?JSON.parse(i.data):i.data,o=[],c=Object.values(a.segment_index);for(let u of c)o.push({type:"qq",segment_start:(Number(u.segment_start)||0)/1e3,segment_end:(Number(u.segment_name.split("/").pop())||0)/1e3,url:`${n}${s}/${u.segment_name}`});return new St({type:"qq",segmentList:o})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;n.push(...s.barrage_list)}return n}catch(r){return _("error","[Tencent] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>{let n={timepoint:r.time_offset/1e3,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:r.content};if(r.content_style&&r.content_style!=="")try{let s=JSON.parse(r.content_style);s.gradient_colors&&s.gradient_colors.length>0?n.color=parseInt(s.gradient_colors[0].replace("#",""),16):s.color&&s.color!=="ffffff"&&(n.color=parseInt(s.color.replace("#",""),16)),s.position===2?n.ct=5:s.position===3&&(n.ct=4)}catch{}return n.like=parseInt(r.up_count)||0,n})}};_t();ir();hn();Ts();$n();Ot();hs();var Rg=class t extends Tt{static XOR_KEY=0x75706971676c;static SECRET_KEY="howcuteitis";static KEY_NAME="secret_key";async search(e){try{_("info",`[iQiyi] \u5F00\u59CB\u641C\u7D22: ${e}`);let r={key:e,current_page:"1",mode:"1",source:"input",suggest:"",pcv:"13.074.22699",version:"13.074.22699",pageNum:"1",pageSize:"25",pu:"",u:"f6440fc5d919dca1aea12b6aff56e1c7",scale:"200",token:"",userVip:"0",conduit:"",vipType:"-1",os:"",osShortName:"win10",dataType:"",appMode:"",ad:JSON.stringify({lm:3,azd:0xe8d4a513b7,azt:733,position:"feed"}),adExt:JSON.stringify({r:"2.1.5-ares6-pure"})},s=`https://mesh.if.iqiyi.com/portal/lw/search/homePageV3?${yi(r)}`,i=await ge(s,{headers:{accept:"*/*",origin:"https://www.iqiyi.com",referer:"https://www.iqiyi.com/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!i||!i.data)return _("info","[iQiyi] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.data||!a.data.templates)return _("info","[iQiyi] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let o=[],c=a.data.templates;for(let u of c){let l=[];u.template===112&&u.intentAlbumInfos?(_("info",`[iQiyi] \u627E\u5230\u610F\u56FE\u5361\u7247 (template 112)\uFF0C\u5904\u7406 ${u.intentAlbumInfos.length} \u4E2A\u7ED3\u679C`),l=u.intentAlbumInfos):[101,102,103].includes(u.template)&&u.albumInfo&&(_("info",`[iQiyi] \u627E\u5230\u666E\u901A\u7ED3\u679C\u5361\u7247 (template ${u.template})`),l=[u.albumInfo]);for(let d of l){let f=this._filterIqiyiSearchItem(d,e);f&&o.push(f)}}return _("info",`[iQiyi] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[iQiyi] \u641C\u7D22\u51FA\u9519:",r.message),[]}}_filterIqiyiSearchItem(e,r){if(!e.title)return null;if(e.btnText==="\u5916\u7AD9\u4ED8\u8D39\u64AD\u653E")return _("info",`[iQiyi] \u8FC7\u6EE4\u6389\u5916\u7AD9\u4ED8\u8D39\u64AD\u653E\u5185\u5BB9: ${e.title}`),null;let n=e.channel||"",s="\u7535\u89C6\u5267";if(n.includes("\u7535\u5F71"))s="\u7535\u5F71";else if(n.includes("\u52A8\u6F2B"))s="\u52A8\u6F2B";else if(n.includes("\u7EFC\u827A"))s="\u7EFC\u827A";else if(n.includes("\u7EAA\u5F55\u7247"))s="\u7EAA\u5F55\u7247";else if(n.includes("\u7535\u89C6\u5267"))s="\u7535\u89C6\u5267";else return null;let i=!1,a=!1;if(e.metaTags&&Array.isArray(e.metaTags)&&e.metaTags.forEach(p=>{p.name==="3D"&&(i=!0),p.name==="2D"&&(a=!0)}),e.baseTags&&Array.isArray(e.baseTags)&&e.baseTags.forEach(p=>{p.value==="3D"&&(i=!0),p.value==="2D"&&(a=!0)}),i?s="3D"+s:a&&(s="2D"+s),s.includes("\u7535\u5F71")){let p=e.qipuId||e.playQipuId;if(!p)return _("info",`[iQiyi] \u7535\u5F71\u7F3A\u5C11 qipuId: ${e.title}`),null;let m=null;if(e.year){let A=e.year.value||e.year.name;A&&typeof A=="string"&&A.length===4&&/^\d{4}$/.test(A)&&(m=parseInt(A))}let h=e.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A");return{provider:"iqiyi",mediaId:`movie_${p}`,title:h,type:s,year:m,imageUrl:e.img||e.imgH,episodeCount:1,_qipuId:p}}let o=e.pageUrl;if(!o)return _("info",`[iQiyi] \u975E\u7535\u5F71\u5185\u5BB9\u7F3A\u5C11 pageUrl: ${e.title}`),null;let c=o.match(/v_(\w+?)\.html/);if(!c)return _("info",`[iQiyi] \u65E0\u6CD5\u4ECE pageUrl \u63D0\u53D6 link_id: ${o}`),null;let u=c[1],l=null;if(e.year){let p=e.year.value||e.year.name;p&&typeof p=="string"&&p.length===4&&/^\d{4}$/.test(p)&&(l=parseInt(p))}let d=null;if(e.videos&&e.videos.length>0)d=e.videos.length;else if(e.subscriptContent){let p=e.subscriptContent.match(/(?:更新至|å…¨|å…±)\s*(\d+)\s*(?:集|è¯|期)/);if(p)d=parseInt(p[1]);else{let m=e.subscriptContent.trim().match(/^(\d+)$/);m&&(d=parseInt(m[1]))}}let f=e.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A");return{provider:"iqiyi",mediaId:u,title:f,type:s,year:l,imageUrl:e.img||e.imgH,episodeCount:d}}async getEpisodes(e){try{if(_("info",`[iQiyi] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${e}`),e.startsWith("movie_")){let p=e.substring(6);_("info",`[iQiyi] \u7535\u5F71\u7C7B\u578B\uFF0C\u8C03\u7528 base_info API \u83B7\u53D6\u89C6\u9891ID: qipuId=${p}`);let m=await this._getMovieVideoId(p);return m?(_("info",`[iQiyi] \u7535\u5F71\u89C6\u9891ID: ${m}`),[{id:m,title:"\u6B63\u7247",order:1,link:`https://www.iqiyi.com/v_${m}.html`}]):(_("error",`[iQiyi] \u65E0\u6CD5\u83B7\u53D6\u7535\u5F71\u7684\u89C6\u9891ID: qipuId=${p}`),[])}let r=/^\d+$/.test(e)?e:this._videoIdToEntityId(e);if(!r)return _("error",`[iQiyi] \u65E0\u6CD5\u5C06 media_id '${e}' \u8F6C\u6362\u4E3A entity_id`),[];let n={entity_id:r,device_id:"qd5fwuaj4hunxxdgzwkcqmefeb3ww5hx",auth_cookie:"",user_id:"0",vip_type:"-1",vip_status:"0",conduit_id:"",pcv:"13.082.22866",app_version:"13.082.22866",ext:"",app_mode:"standard",scale:"100",timestamp:String(Date.now()),src:"pca_tvg",os:"",ad_ext:'{"r":"2.2.0-ares6-pure"}'};n.sign=this._createSign(n);let i=`https://www.iqiyi.com/prelw/tvg/v2/lw/base_info?${yi(n)}`,a=await ge(i,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.iqiyi.com/"}});if(!a||!a.data)return _("error","[iQiyi] \u83B7\u53D6\u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let o=typeof a.data=="string"?JSON.parse(a.data):a.data;if(o.status_code!==0||!o.data||!o.data.template)return _("error",`[iQiyi] API \u8FD4\u56DE\u9519\u8BEF\uFF0Cstatus_code: ${o.status_code}`),[];let c=[],u=o.data.template.tabs||[];if(u.length===0)return _("info","[iQiyi] \u672A\u627E\u5230\u5206\u96C6\u6807\u7B7E\u9875"),[];let l=u[0].blocks||[],d=!1;for(let p of l)if(p.bk_type==="video_list"&&p.data?.data){if(_("info",`[iQiyi] \u627E\u5230 video_list \u7C7B\u578B\u7684\u5206\u96C6\u6570\u636E\u5757, bk_id: ${p.bk_id}`),!p.tag||!p.tag.includes("episodes")){_("info",`[iQiyi] \u8DF3\u8FC7\u975E\u5206\u96C6\u5757: ${p.bk_id}`);continue}d=!0;let m=p.data.data;if(!Array.isArray(m)){_("warn","[iQiyi] data.data \u4E0D\u662F\u6570\u7EC4\uFF0C\u8DF3\u8FC7\u6B64\u5757");continue}for(let h of m)if(!(!h.videos||!Array.isArray(h.videos))){for(let A of h.videos)if(!(!A.data||!Array.isArray(A.data)))for(let g of A.data){if(g.content_type!==1)continue;let y=(g.play_url||"").match(/tvid=(\d+)/);if(!y)continue;let x=y[1],v=g.short_display_name||g.title||"\u672A\u77E5\u5206\u96C6",I=g.subtitle;I&&!v.includes(I)&&(v=`${v} ${I}`);let R=g.album_order,w=g.page_url;x&&v&&w&&c.push({id:x,title:v,order:R!==void 0?R:c.length,link:w})}}}else if(p.bk_type==="album_episodes"&&p.data?.data){_("info","[iQiyi] \u627E\u5230 album_episodes \u7C7B\u578B\u7684\u5206\u96C6\u6570\u636E\u5757"),d=!0;let m=p.data.data;for(let h of m){let A=h.videos;if(typeof A=="string"){_("info",`[iQiyi] \u53D1\u73B0\u5206\u5B63URL\uFF0C\u6B63\u5728\u83B7\u53D6: ${A}`);try{let g=await ge(A);A=typeof g.data=="string"?JSON.parse(g.data):g.data}catch(g){_("error",`[iQiyi] \u83B7\u53D6\u5206\u5B63\u6570\u636E\u5931\u8D25: ${g.message}`);continue}}if(A&&typeof A=="object"&&A.feature_paged)for(let g in A.feature_paged){let b=A.feature_paged[g];for(let y of b){if(y.content_type!==1)continue;let v=(y.play_url||"").match(/tvid=(\d+)/);if(!v)continue;let I=v[1],R=y.short_display_name||y.title||"\u672A\u77E5\u5206\u96C6",w=y.subtitle;w&&!R.includes(w)&&(R=`${R} ${w}`);let N=y.album_order,P=y.page_url;I&&R&&N&&P&&c.push({id:I,title:R,order:N,link:P})}}}}if(!d)return _("info","[iQiyi] \u672A\u627E\u5230\u5206\u96C6\u6570\u636E\u5757"),[];let f=Array.from(new Map(c.map(p=>[p.id,p])).values());return f.sort((p,m)=>p.order-m.order),_("info",`[iQiyi] \u6210\u529F\u83B7\u53D6 ${f.length} \u4E2A\u5206\u96C6`),f}catch(r){return _("error","[iQiyi] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getMovieVideoId(e){try{let r={entity_id:e,device_id:"qd5fwuaj4hunxxdgzwkcqmefeb3ww5hx",auth_cookie:"",user_id:"0",vip_type:"-1",vip_status:"0",conduit_id:"",pcv:"13.103.23529",app_version:"13.103.23529",ext:"",app_mode:"standard",scale:"125",timestamp:String(Date.now()),src:"pca_tvg",os:"",ad_ext:'{"r":"2.5.0-ares6-pure"}'};r.sign=this._createSign(r);let s=`https://mesh.if.iqiyi.com/tvg/v2/lw/base_info?${yi(r)}`;_("info",`[iQiyi] \u8BF7\u6C42\u7535\u5F71\u8BE6\u60C5: ${s}`);let i=await ge(s,{headers:{accept:"*/*",origin:"https://www.iqiyi.com",referer:"https://www.iqiyi.com/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!i||!i.data)return _("error","[iQiyi] base_info API \u54CD\u5E94\u4E3A\u7A7A"),null;let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.data&&a.data.base_data){let o=a.data.base_data;if(o.share_url){let c=o.share_url.match(/v_(\w+)\.html/);if(c){let u=c[1];return _("info",`[iQiyi] \u4ECE share_url \u63D0\u53D6\u89C6\u9891ID: ${u}`),u}}if(o.page_url){let c=o.page_url.match(/v_(\w+)\.html/);if(c){let u=c[1];return _("info",`[iQiyi] \u4ECE page_url \u63D0\u53D6\u89C6\u9891ID: ${u}`),u}}}return _("error","[iQiyi] base_info API \u54CD\u5E94\u4E2D\u672A\u627E\u5230\u89C6\u9891ID"),_("info",`[iQiyi] \u54CD\u5E94\u6570\u636E\u7ED3\u6784: ${JSON.stringify(a).substring(0,1e3)}...`),null}catch(r){return _("error",`[iQiyi] \u83B7\u53D6\u7535\u5F71\u89C6\u9891ID\u65F6\u51FA\u9519: ${r.message}`),null}}_videoIdToEntityId(e){try{let r=parseInt(e,36),n=this._xorOperation(r),s=n<9e5?100*(n+9e5):n;return String(s)}catch(r){return _("error",`[iQiyi] \u5C06 video_id '${e}' \u8F6C\u6362\u4E3A entity_id \u65F6\u51FA\u9519: ${r.message}`),null}}_xorOperation(e){let r=e.toString(2),n=t.XOR_KEY.toString(2),s=r.split("").reverse(),i=n.split("").reverse(),a=[],o=Math.max(s.length,i.length);for(let u=0;u<o;u++){let l=u<s.length?s[u]:"0",d=u<i.length?i[u]:"0";l==="1"&&d==="1"?a.push("0"):l==="1"||d==="1"?a.push("1"):a.push("0")}let c=a.reverse().join("");return c?parseInt(c,2):0}_createSign(e){let r={};for(let o in e)o!=="sign"&&(r[o]=e[o]);let n=Object.keys(r).sort(),s=[];for(let o of n){let c=r[o]===null||r[o]===void 0?"":r[o];s.push(`${o}=${c}`)}let a=`${s.join("&")}&${t.KEY_NAME}=${t.SECRET_KEY}`;return Ls(a).toUpperCase()}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[iQiyi] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[iQiyi] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p of d){let m=p.link||`https://www.iqiyi.com/v_${l.mediaId}.html`;f.push({name:p.order.toString(),url:m,title:`\u3010qiyi\u3011 ${p.title}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from iqiyi`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Or(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"iqiyi"};a.push(m),Dt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[iQiyi] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[iQiyi] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u7231\u5947\u827A\u5F39\u5E55...",e);let r;try{r=await ge(e,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(u){return _("error","[iQiyi] \u8BF7\u6C42\u9875\u9762\u5931\u8D25:",u),[]}let n=r.data.match(/<title[^>]*>(.*?)<\/title>/i),s=n?n[1].split("_")[0]:"\u672A\u77E5\u6807\u9898";_("info",`[iQiyi] \u6807\u9898: ${s}`);let i=await this.getEpisodeDanmuSegments(e);if(!i||!i.segmentList||i.segmentList.length===0)return[];let a=i.segmentList;_("info",`[iQiyi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${a.length}`);let o=[];for(let u of a)o.push(this.getEpisodeSegmentDanmu(u));let c=[];try{(await Promise.allSettled(o)).filter(d=>d.status==="fulfilled").map(d=>d.value).filter(d=>d!==null).forEach(d=>{c.push(...d)})}catch(u){return _("error","[iQiyi] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",u),[]}return ts(c),c}async getEpisodeDanmuSegments(e){_("info","[iQiyi] \u83B7\u53D6\u7231\u5947\u827A\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r="https://pcw-api.iq.com/api/decode/",n="https://pcw-api.iqiyi.com/video/video/baseinfo/",s;try{let d=e.match(/v_(\w+)/);if(!d)return _("error","[iQiyi] \u65E0\u6CD5\u4ECE URL \u4E2D\u63D0\u53D6 tvid"),new St({type:"qiyi",segmentList:[]});s=d[1],_("info",`[iQiyi] tvid: ${s}`);let f=`${r}${s}?platformId=3&modeCode=intl&langCode=sg`,p=await ge(f,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});s=(typeof p.data=="string"?JSON.parse(p.data):p.data).data.toString(),_("info",`[iQiyi] \u89E3\u7801\u540E tvid: ${s}`)}catch(d){return _("error","[iQiyi] \u8BF7\u6C42\u89E3\u7801\u4FE1\u606F\u5931\u8D25:",d),new St({type:"qiyi",segmentList:[]})}let i;try{let d=`${n}${s}`,f=await ge(d,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),m=(typeof f.data=="string"?JSON.parse(f.data):f.data).data;if(i=Number(m.durationSec)||0,m.displayBarrage===!1)return _("info","[iQiyi] \u7231\u5947\u827A\u89C6\u9891\u672A\u5F00\u542F\u5F39\u5E55"),new St({type:"qiyi",duration:i,segmentList:[]});_("info",`[iQiyi] \u65F6\u957F: ${i}`)}catch(d){return _("error","[iQiyi] \u8BF7\u6C42\u89C6\u9891\u57FA\u7840\u4FE1\u606F\u5931\u8D25:",d),new St({type:"qiyi",segmentList:[]})}let a=60,o=Math.ceil(i/a);_("info",`[iQiyi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${o}`);let c=[],u=`0000${s}`,l=`${u.slice(-4,-2)}/${u.slice(-2)}`;for(let d=0;d<o;d++){let f=d+1,p=Ls(`${s}_${a}_${f}cbzuw1259a`).slice(-8),m=`https://cmts.iqiyi.com/bullet/${l}/${s}_${a}_${f}_${p}.br`;c.push({type:"qiyi",segment_start:d*a,segment_end:Math.min((d+1)*a,i),url:m})}return new St({type:"qiyi",duration:i,segmentList:c})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Accept-Encoding":"br","Content-Type":"application/octet-stream","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},base64Data:!0,validStatusCodes:[404],retries:1});if(!r||r.status===404||!r.data)return[];let n=this._base64ToUint8Array(r.data),s=await this._decompressBrotli(n);return s[0]===60?this._parseIqiyiXmlDanmu(new TextDecoder("utf-8").decode(s)):this._parseIqiyiProtoDanmu(s)}catch(r){return _("error","[iQiyi] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}_base64ToUint8Array(e){if(typeof atob=="function"){let r=atob(e),n=new Uint8Array(r.length);for(let s=0;s<r.length;s++)n[s]=r.charCodeAt(s);return n}if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));throw new Error("\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301 base64 \u89E3\u7801")}async _decompressBrotli(e){if(typeof DecompressionStream<"u")try{let n=new Blob([e]).stream().pipeThrough(new DecompressionStream("brotli"));return new Uint8Array(await new Response(n).arrayBuffer())}catch{_("info","[iQiyi] DecompressionStream Brotli \u89E3\u538B\u5931\u8D25\uFF0C\u5C1D\u8BD5 Node zlib")}let{brotliDecompressSync:r}=await import("node:zlib");return new Uint8Array(r(e))}_parseIqiyiXmlDanmu(e){function r(o){let c=new RegExp(`<${o}>(.*?)</${o}>`,"g");return e.match(c)?.map(u=>u.substring(o.length+2,u.length-o.length-3))||[]}let n=r("content"),s=r("showTime"),i=r("color"),a=r("likeCount");return n.map((o,c)=>({content:o,showTime:s[c],color:i[c],like:parseInt(a[c],10)||0}))}_parseIqiyiProtoDanmu(e){let r=[],n=this._parseIqiyiProtoFields(e);for(let s of n){if(s.number!==6||!s.bytes)continue;let i=this._parseIqiyiProtoFields(s.bytes),a=this._getIqiyiProtoString(i,1);for(let o of i){if(o.number!==2||!o.bytes)continue;let c=this._parseIqiyiProtoFields(o.bytes),u=this._getIqiyiProtoString(c,2);u&&r.push({content:u,showTime:this._getIqiyiProtoString(c,6)||a||"0",color:this._getIqiyiProtoString(c,8)||"ffffff",like:parseInt(this._getIqiyiProtoString(c,14),10)||0})}}return r}_parseIqiyiProtoFields(e){let r=[],n=0,s=new TextDecoder("utf-8");for(;n<e.length;){let i=this._readIqiyiVarint(e,n),a=i.value;n=i.offset;let o=Number(a>>3n),c=Number(a&7n);if(o===0)break;if(c===0){let u=this._readIqiyiVarint(e,n);r.push({number:o,wireType:c,value:u.value.toString()}),n=u.offset}else if(c===1)r.push({number:o,wireType:c}),n+=8;else if(c===2){let u=this._readIqiyiVarint(e,n),l=Number(u.value);n=u.offset;let d=n+l;if(d>e.length)break;let f=e.subarray(n,d);r.push({number:o,wireType:c,bytes:f,value:s.decode(f)}),n=d}else if(c===5)r.push({number:o,wireType:c}),n+=4;else break}return r}_readIqiyiVarint(e,r){let n=0n,s=0n,i=r;for(;i<e.length;){let a=e[i++];if(n|=BigInt(a&127)<<s,!(a&128))return{value:n,offset:i};s+=7n}throw new Error("\u7231\u5947\u827A\u5F39\u5E55 protobuf varint \u4E0D\u5B8C\u6574")}_getIqiyiProtoString(e,r){return e.find(n=>n.number===r)?.value||""}formatComments(e){return e.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};return n.timepoint=parseFloat(r.showTime),n.color=parseInt(r.color,16),n.content=of(r.content),n.size=25,n.like=r.like,n})}};Ot();_t();ir();hn();Ts();$n();hs();var Ng=class extends Tt{transformV2Color(e){if(!e)return-1;let n=cz(e.color_left),s=cz(e.color_right);return n===-1&&s===-1?-1:n===-1?s:s===-1?n:Math.floor((n+s)/2)}_extractMediaType(e){let r=(e||"").toLowerCase();return r.includes("\u7535\u5F71")||r.includes("movie")?"\u7535\u5F71":r.includes("\u52A8\u6F2B")||r.includes("\u52A8\u753B")||r.includes("anime")?"\u52A8\u6F2B":r.includes("\u7EFC\u827A")||r.includes("\u771F\u4EBA\u79C0")||r.includes("variety")?"\u7EFC\u827A":r.includes("\u7EAA\u5F55\u7247")||r.includes("documentary")?"\u7EAA\u5F55\u7247":(r.includes("\u7535\u89C6\u5267")||r.includes("\u5267\u96C6")||r.includes("drama")||r.includes("tv"),"\u7535\u89C6\u5267")}async search(e){try{_("info",`[Mango] \u5F00\u59CB\u641C\u7D22: ${e}`);let n=`https://mobileso.bz.mgtv.com/msite/search/v2?q=${encodeURIComponent(e)}&pc=30&pn=1&sort=-99&ty=0&du=0&pt=0&corr=1&abroad=0&_support=10000000000000000`,s=await ge(n,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Accept:"application/json",Referer:"https://www.mgtv.com/"}});if(!s||!s.data)return _("info","[Mango] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let i=typeof s.data=="string"?JSON.parse(s.data):s.data;if(!i.data||!i.data.contents)return _("info","[Mango] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let a=[];for(let o of i.data.contents)if(o.type==="media")for(let c of o.data){if(c.source!=="imgo")continue;let u=c.url?c.url.match(/\/b\/(\d+)/):null;if(!u)continue;let l=u[1],d=c.title?c.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"):"",f=c.desc&&c.desc[0]?c.desc[0].match(/[12][890][0-9][0-9]/):null,p=f?parseInt(f[0]):null,m=c.desc&&c.desc[0]?c.desc[0].split("/")[0].replace("\u7C7B\u578B:","").trim():"",h=this._extractMediaType(m);a.push({provider:"imgo",mediaId:l,title:d,type:h,year:p,imageUrl:c.img||null,episodeCount:c.videoCount||null})}return _("info",`[Mango] \u641C\u7D22\u627E\u5230 ${a.length} \u4E2A\u6709\u6548\u7ED3\u679C`),a}catch(r){return _("error","[Mango] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Mango] \u83B7\u53D6\u5206\u96C6\u5217\u8868: collection_id=${e}`);let r=[],n="",s=0,i=1;for(;s<i;){let u=`https://pcweb.api.mgtv.com/variety/showlist?allowedRC=1&collection_id=${e}&month=${n}&page=1&_support=10000000`,l=await ge(u,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.mgtv.com/"}});if(!l||!l.data){_("info","[Mango] \u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F");break}let d=typeof l.data=="string"?JSON.parse(l.data):l.data;if(!d.data||!d.data.list){_("info","[Mango] \u5206\u96C6\u5217\u8868\u4E3A\u7A7A");break}d.data.list&&d.data.list.length>0&&r.push(...d.data.list.filter(f=>f.src_clip_id===e)),s===0&&(i=d.data.tab_m&&d.data.tab_m.length>0?d.data.tab_m.length:1,_("info",`[Mango] \u68C0\u6D4B\u5230 ${i} \u4E2A\u6708\u4EFD\u5206\u9875`)),s++,s<i&&d.data.tab_m&&d.data.tab_m[s]&&(n=d.data.tab_m[s].m)}let a=/^(.*?)(抢先(看|版)|åŠ æ›´(版)?|花絮|预告|特辑|(特别|惊喜|纳凉)?ä¼åˆ’|彩蛋|专访|幕åŽ(花絮)?|ç›´æ’|纯享|未æ’|è¡ç”Ÿ|番外|åˆä¼™äººæ‰‹è®°|会员(专享|åŠ é•¿)|片花|ç²¾åŽ|看点|速看|解读|reaction|è¶…å‰è¥ä¸š|è¶…å‰(vlog)?|陪看(è®°)?|.{3,}篇|影评)(.*?)$/i,o=r.filter(u=>{let l=`${u.t2||""} ${u.t1||""}`.trim();return u.isnew==="2"?(_("info",`[Mango] \u8FC7\u6EE4\u9884\u544A\u7247: ${l}`),!1):a.test(l)?(_("info",`[Mango] \u9ED1\u540D\u5355\u8FC7\u6EE4: ${l}`),!1):!0}),c=this._processVarietyEpisodes(o);return _("info",`[Mango] \u5171\u83B7\u53D6 ${c.length} \u96C6`),c}catch(r){return _("error","[Mango] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getMovieEpisode(e){try{_("info",`[Mango] \u83B7\u53D6\u7535\u5F71\u6B63\u7247: collection_id=${e}`);let r=`https://pcweb.api.mgtv.com/variety/showlist?allowedRC=1&collection_id=${e}&month=&page=1&_support=10000000`,n=await ge(r,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.mgtv.com/"}});if(!n||!n.data)return _("info","[Mango] \u672A\u627E\u5230\u7535\u5F71\u4FE1\u606F"),null;let s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(!s.data||!s.data.list||s.data.list.length===0)return _("info","[Mango] \u7535\u5F71\u5217\u8868\u4E3A\u7A7A"),null;let i=s.data.list.find(a=>a.isIntact==="1");return i||(i=s.data.list.find(a=>a.isnew!=="2")),i||(i=s.data.list[0]),_("info",`[Mango] \u627E\u5230\u7535\u5F71\u6B63\u7247: ${i.t3||i.t1||"\u6B63\u7247"}`),i}catch(r){return _("error","[Mango] \u83B7\u53D6\u7535\u5F71\u6B63\u7247\u51FA\u9519:",r.message),null}}_processVarietyEpisodes(e){if(!e||e.length===0)return[];_("info",`[Mango] \u7EFC\u827A\u5904\u7406\u5F00\u59CB\uFF0C\u539F\u59CB\u5206\u96C6\u6570: ${e.length}`);let r=e.some(i=>{let a=`${i.t2||""} ${i.t1||""}`.trim();return/第\d+期/.test(a)});_("info",`[Mango] \u7EFC\u827A\u683C\u5F0F\u5206\u6790: \u6709\u671F\u6570\u683C\u5F0F=${r}`);let n=[],s=new Map;for(let i of e){let a=`${i.t2||""} ${i.t1||""}`.trim();if(r){let o=a.match(/第(\d+)期([上ä¸ä¸‹])/),c=a.match(/第(\d+)期/),u=/第\d+期[上ä¸ä¸‹]/.test(a);if(o){let l=o[1],d=o[2],f=`\u7B2C${l}\u671F${d}`,p=a.substring(a.indexOf(f)+f.length);/^(åŠ æ›´|会员版|纯享版|特别版|独家版|Plus|\+|花絮|预告|彩蛋|抢先|精选|未æ’|回顾|特辑|幕åŽ)/.test(p)?_("info",`[Mango] \u7EFC\u827A\u8FC7\u6EE4\u4E0A\u4E2D\u4E0B\u683C\u5F0F+\u540E\u7F00: ${a}`):(s.set(i,[parseInt(l),d]),n.push(i),_("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u4E0A\u4E2D\u4E0B\u683C\u5F0F: ${a}`))}else if(c&&!u&&!/会员版|纯享版|特别版|独家版|åŠ æ›´|Plus|\+|花絮|预告|彩蛋|抢先|精选|未æ’|回顾|特辑|幕åŽ|访谈|采访|混剪|åˆé›†|盘点|总结|åˆ å‡|æœªæ’æ”¾|NG|番外|片段|看点|精彩|制作|导演|演员|æ‹æ‘„|片尾曲|æ’æ›²|主题曲|背景音ä¹|OST|音ä¹|æŒæ›²/.test(a)){let l=c[1];s.set(i,[parseInt(l),""]),n.push(i),_("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u6807\u51C6\u671F\u6570: ${a}`)}else _("info",`[Mango] \u7EFC\u827A\u8FC7\u6EE4\u975E\u6807\u51C6\u671F\u6570\u683C\u5F0F: ${a}`)}else{if(a.includes("\u5E7F\u544A")||a.includes("\u63A8\u5E7F")){_("info",`[Mango] \u8DF3\u8FC7\u5E7F\u544A\u5185\u5BB9: ${a}`);continue}n.push(i),_("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u539F\u59CB\u6807\u9898: ${a}`)}}return r?n.sort((i,a)=>{let o=s.get(i)||[0,""],c=s.get(a)||[0,""];if(o[0]!==c[0])return o[0]-c[0];let u={"":0,\u4E0A:1,\u4E2D:2,\u4E0B:3};return(u[o[1]]||0)-(u[c[1]]||0)}):n.sort((i,a)=>{let o=l=>{let f=`${l.t2||""} ${l.t1||""}`.trim().match(/第(\d+)集/);return f?parseInt(f[1]):999999},c=o(i),u=o(a);if(c===999999&&u===999999){let l=i.ts||"0",d=a.ts||"0";return l.localeCompare(d)}return c-u}),_("info",`[Mango] \u7EFC\u827A\u5904\u7406\u5B8C\u6210\uFF0C\u8FC7\u6EE4\u540E\u5206\u96C6\u6570: ${n.length}`),n}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Mango] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Mango] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{if(l.type==="\u7535\u5F71"){let p=await this._getMovieEpisode(l.mediaId);if(!p)return;let m=`https://www.mgtv.com/b/${l.mediaId}/${p.video_id}.html`,h=p.t3||p.t1||"\u6B63\u7247",A=[{name:"1",url:m,title:`\u3010imgo\u3011 ${h}`}],b={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from imgo`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Or(l.year),episodeCount:1,rating:0,isFavorited:!0,source:"imgo"};a.push(b),Dt({...b,links:A},s),O.animes.length>O.MAX_ANIMES&&$t();return}let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=`https://www.mgtv.com/b/${l.mediaId}/${m.video_id}.html`,A=`${m.t2||""} ${m.t1||""}`.trim();f.push({name:String(p+1),url:h,title:`\u3010imgo\u3011 ${A}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from imgo`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Or(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"imgo"};a.push(m),Dt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[Mango] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Mango] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u8292\u679CTV\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Mango] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=[];for(let a of n)s.push(ge(a.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}));let i=[];try{(await Promise.allSettled(s)).filter(c=>c.status==="fulfilled").map(c=>c.value&&c.value.data?c.value.data:null).filter(c=>c!==null).forEach(c=>{c=typeof c=="string"?JSON.parse(c):c,c.data?.items&&i.push(...c.data.items)})}catch(a){return _("error","[Mango] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",a),[]}return ts(i),i}async getEpisodeDanmuSegments(e){_("info","[Mango] \u83B7\u53D6\u8292\u679CTV\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r="https://pcweb.api.mgtv.com/video/info",n="https://galaxy.bz.mgtv.com/getctlbarrage",s="https://galaxy.bz.mgtv.com/rdbarrage",i=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,a=e.match(i),o;if(a)o=a[2].split("/").filter(Boolean);else return _("error","[Mango] Invalid URL"),new St({type:"imgo",segmentList:[]});let c=o[o.length-2],u=o[o.length-1].split(".")[0];_("info",`[Mango] \u83B7\u53D6\u5F39\u5E55\u5206\u6BB5\u5217\u8868 - cid: ${c}, vid: ${u}`);let l;try{let m=`${r}?cid=${c}&vid=${u}`;l=await ge(m,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(m){return m.response?.status===404?new St({type:"imgo",segmentList:[]}):(_("error","[Mango] \u8BF7\u6C42\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",m),new St({type:"imgo",segmentList:[]}))}let f=(typeof l.data=="string"?JSON.parse(l.data):l.data).data.info.time,p=!0;try{let m=`${n}?version=8.1.39&abroad=0&uuid=&os=10.15.7&platform=0&mac=&vid=${u}&pid=&cid=${c}&ticket=`,h=await ge(m,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),A=typeof h.data=="string"?JSON.parse(h.data):h.data;(!A.data||!A.data.cdn_list||!A.data.cdn_version)&&(_("warn","[Mango] \u65B0API\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u8FD4\u56DE\u7A7A\u5206\u6BB5\u5217\u8868"),p=!1);let g=[];if(p){let b=Math.ceil(Ig(f)/60),y=A.data.cdn_list.split(",")[0],x=A.data.cdn_version;for(let v=0;v<b;v++)g.push({type:"imgo",segment_start:v*60,segment_end:Math.min((v+1)*60,Ig(f)),url:`https://${y}/${x}/${v}.json`})}else{let y=Ig(f);for(let x=0;x<y;x+=60)g.push({type:"imgo",segment_start:x,segment_end:Math.min(x+60,Ig(f)),url:`${s}?vid=${u}&cid=${c}&time=${x*1e3}`})}return new St({type:"imgo",segmentList:g})}catch(m){return _("error","[Mango] \u8BF7\u6C42\u5F39\u5E55\u5206\u6BB5\u6570\u636E\u5931\u8D25:",m),new St({type:"imgo",segmentList:[]})}}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;s.data?.items&&n.push(...s.data.items)}return n}catch(r){return _("error","[Mango] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};return r?.v2_color&&(n.color=this.transformV2Color(r?.v2_color)),r?.v2_position&&(r?.v2_position===1?n.ct=5:r?.v2_position===2&&(n.ct=4)),n.timepoint=r.time/1e3,n.content=r.content,n.uid=r.uid,n.like=r.v2_up_count,n})}};Ot();_t();ir();Ts();$n();hn();hs();so();var Og=class t extends Tt{static WBI_MIXIN_KEY_CACHE={key:null,timestamp:0};static WBI_MIXIN_KEY_CACHE_TTL=3600;static WBI_MIXIN_KEY_TABLE=[46,47,18,2,53,8,23,32,15,50,10,31,58,3,45,35,27,43,5,49,33,9,42,19,29,28,14,39,12,38,41,13,37,48,7,16,24,55,40,61,26,17,0,1,60,51,30,4,22,25,54,21,56,59,6,63,57,62,11,36,20,34,44,52];static APP_KEY="1d8b6e7d45233436";static APP_SEC="560c52ccd288fed045859ed18bffd973";async resolveB23Link(e){let r;try{_("info",`[Bilibili] \u6B63\u5728\u89E3\u6790 b23.tv \u77ED\u94FE\u63A5: ${e}`);let n=parseInt(O.vodRequestTimeout||"5000",10)||5e3,s=new AbortController;r=setTimeout(()=>s.abort(),n);let a=await(typeof fetch=="function"?fetch:(await Promise.resolve().then(()=>(bI(),TB))).default)(e,{method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},signal:s.signal,redirect:"manual"}),o=a.headers?.get?.("location")||a.headers?.get?.("Location"),c=o?new URL(o,e).toString():a.url;return c&&c!==e?(_("info",`[Bilibili] b23.tv \u77ED\u94FE\u63A5\u5DF2\u89E3\u6790\u4E3A: ${c}`),c):(_("error","[Bilibili] \u65E0\u6CD5\u89E3\u6790 b23.tv \u77ED\u94FE\u63A5"),e)}catch(n){return _("error","[Bilibili] \u89E3\u6790 b23.tv \u77ED\u94FE\u63A5\u5931\u8D25:",n),e}finally{r&&clearTimeout(r)}}async _getWbiMixinKey(){let e=Math.floor(Date.now()/1e3),r=t.WBI_MIXIN_KEY_CACHE;if(r.key&&e-r.timestamp<t.WBI_MIXIN_KEY_CACHE_TTL)return r.key;_("info","[Bilibili] WBI mixin key \u5DF2\u8FC7\u671F\u6216\u4E0D\u5B58\u5728\uFF0C\u6B63\u5728\u83B7\u53D6\u65B0\u7684...");try{let n=await ge("https://api.bilibili.com/x/web-interface/nav",{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(s.code!==0)return _("error","[Bilibili] \u83B7\u53D6 WBI \u5BC6\u94A5\u5931\u8D25:",s.message),"dba4a5925b345b4598b7452c75070bca";let i=s.data?.wbi_img||{},a=i.img_url||"",o=i.sub_url||"",c=a.split("/").pop()?.split(".")[0]||"",u=o.split("/").pop()?.split(".")[0]||"",l=t.WBI_MIXIN_KEY_TABLE.map(d=>(c+u)[d]).join("").substring(0,32);return r.key=l,r.timestamp=e,_("info","[Bilibili] \u6210\u529F\u83B7\u53D6\u65B0\u7684 WBI mixin key"),l}catch(n){return _("error","[Bilibili] \u83B7\u53D6 WBI \u5BC6\u94A5\u5931\u8D25:",n.message),"dba4a5925b345b4598b7452c75070bca"}}_getWbiSignedParams(e,r){let n={...e};n.wts=Math.floor(Date.now()/1e3);let o=Object.keys(n).sort().map(u=>{let l=n[u]??"";return`${encodeURIComponent(u)}=${encodeURIComponent(l)}`}).join("&")+r,c=Ls(o);return n.w_rid=c,n}async _searchByType(e,r,n){try{_("info",`[Bilibili] \u641C\u7D22\u7C7B\u578B '${r}'\uFF0C\u5173\u952E\u8BCD '${e}'`);let s={keyword:e,search_type:r},i=this._getWbiSignedParams(s,n),o=`https://api.bilibili.com/x/web-interface/wbi/search/type?${Object.keys(i).map(d=>`${encodeURIComponent(d)}=${encodeURIComponent(i[d])}`).join("&")}`,c=await ge(o,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),u=typeof c.data=="string"?JSON.parse(c.data):c.data;if(u.code!==0||!u.data?.result)return _("info",`[Bilibili] \u7C7B\u578B '${r}' \u65E0\u7ED3\u679C (Code: ${u.code})`),[];let l=[];for(let d of u.data.result){let f=d.season_id?`ss${d.season_id}`:d.bvid?`bv${d.bvid}`:"";if(!f)continue;let p=this._extractMediaType(d.season_type_name),m=p==="\u7535\u5F71"?1:d.ep_size||0,h=null;try{d.pubdate?typeof d.pubdate=="number"?h=new Date(d.pubdate*1e3).getFullYear():typeof d.pubdate=="string"&&d.pubdate.length>=4&&(h=parseInt(d.pubdate.substring(0,4))):d.pubtime&&(h=new Date(d.pubtime*1e3).getFullYear())}catch{}let A=of((d.title||"").replace(/<[^>]+>/g,"")).replace(/:/g,"\uFF1A").trim(),g=of((d.org_title||"").replace(/<[^>]+>/g,"")).trim(),b={provider:"bilibili",mediaId:f,mdId:d.media_id?`md${d.media_id}`:null,title:A,org_title:g,type:p,year:h,imageUrl:d.cover||null,episodeCount:m};d.eps&&d.eps.length>0&&(b._eps=d.eps),l.push(b)}return _("info",`[Bilibili] \u7C7B\u578B '${r}' \u627E\u5230 ${l.length} \u4E2A\u7ED3\u679C`),l}catch(s){return _("error",`[Bilibili] \u641C\u7D22\u7C7B\u578B '${r}' \u5931\u8D25:`,s.message),[]}}_extractMediaType(e){let r=(e||"").toLowerCase();return r.includes("\u7535\u5F71")||r.includes("movie")?"\u7535\u5F71":r.includes("\u756A\u5267")||r.includes("\u56FD\u521B")||r.includes("\u52A8\u6F2B")||r.includes("anime")?"\u52A8\u6F2B":r.includes("\u7EAA\u5F55\u7247")||r.includes("documentary")?"\u7EAA\u5F55\u7247":r.includes("\u7EFC\u827A")||r.includes("variety")?"\u7EFC\u827A":(r.includes("\u7535\u89C6\u5267")||r.includes("\u5267\u96C6")||r.includes("drama")||r.includes("tv"),"\u7535\u89C6\u5267")}async search(e){let r=[];O.useBangumiData&&(r=await Au(e,["bilibili","bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"]),_("info",`[Bilibili] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`));let n=r.filter(s=>["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(s.matchedSiteKey));try{_("info",`[Bilibili] \u5F00\u59CB\u641C\u7D22: ${e}`);let s=await this._getWbiMixinKey(),i=this._searchByType(e,"media_bangumi",s),a=this._searchByType(e,"media_ft",s),o=Promise.resolve([]);this._hasBilibiliProxy()&&(_("info","[Bilibili] \u68C0\u6D4B\u5230\u4EE3\u7406\u914D\u7F6E\uFF0C\u542F\u7528\u6E2F\u6FB3\u53F0\u5E76\u884C\u641C\u7D22"),o=this._searchOversea(e,n.length>0));let c=(await Promise.all([i,a,o])).flat(),u=[],l=new Set,d=new Set;for(let p of c){if(!p||!p.mediaId&&!p.season_id)continue;let m=r.find(A=>p.mdId&&p.mdId===`md${A.siteId}`)||r.find(A=>p.org_title&&A.title===p.org_title);if(m){let g=(m.titles.find(b=>b&&b.includes(e))||m.titles[1]||m.title)+(m.titleSuffix||"");p.title=g,p._displayTitle=g,p.aliases=[...m.titles],p.type=m.typeStr||p.type,p.isLocalPriority=!0,d.add(`md${m.siteId}`),_("info",`[Bilibili] \u7F51\u7EDC\u7ED3\u679C [${p.title}] \u6210\u529F\u5BF9\u9F50\u672C\u5730 Bangumi-Data \u6570\u636E`)}let h=p.mediaId||(p.season_id?`ss${p.season_id}`:null);h&&l.has(h)||(h&&l.add(h),u.push(p))}let f=r.filter(p=>!d.has(`md${p.siteId}`));if(f.length>0){let p=f.filter(h=>h.season_id),m=f.filter(h=>!h.season_id);if(p.length>0){_("info",`[Bilibili] \u4ECE\u672C\u5730 Bangumi-Data \u8865\u5145 ${p.length} \u6761\u7F3A\u6F0F\u8BB0\u5F55\u5E76\u8BF7\u6C42\u8BE6\u60C5....\uFF08\u5305\u542B season_id \uFF09`);for(let h of p){let g=(h.titles.find(x=>x&&x.includes(e))||h.titles[1]||h.title)+(h.titleSuffix||""),b={provider:"bilibili",mediaId:`ss${h.season_id}`,mdId:`md${h.siteId}`,title:g,org_title:h.title,aliases:[...h.titles],_displayTitle:g,type:h.typeStr,year:h.begin?parseInt(h.begin.substring(0,4)):null,imageUrl:"",episodeCount:0,isOversea:["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(h.matchedSiteKey),isLocalPriority:!0},y=b.mediaId;y&&!l.has(y)&&(l.add(y),u.unshift(b))}}if(m.length>0){_("info",`[Bilibili] \u4ECE\u672C\u5730 Bangumi-Data \u8865\u5145 ${m.length} \u6761\u7F3A\u6F0F\u8BB0\u5F55\u5E76\u8BF7\u6C42\u8BE6\u60C5...`);let h=m.map(async g=>{let b=await this._resolveMediaInfo(g.siteId),x=(g.titles.find(v=>v&&v.includes(e))||g.titles[1]||g.title)+(g.titleSuffix||"");return{provider:"bilibili",mediaId:b.seasonId||`md${g.siteId}`,mdId:`md${g.siteId}`,title:x,org_title:g.title,aliases:[...g.titles],_displayTitle:x,type:g.typeStr,year:g.begin?parseInt(g.begin.substring(0,4)):null,imageUrl:b.cover,episodeCount:0,isOversea:["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(g.matchedSiteKey),isLocalPriority:!0}}),A=await Promise.all(h);for(let g of A){let b=g.mediaId;b&&l.has(b)||b&&(l.add(b),u.unshift(g))}}}return _("info",`[Bilibili] \u641C\u7D22\u5B8C\u6210\uFF0C\u627E\u5230 ${u.length} \u4E2A\u6709\u6548\u7ED3\u679C`),u}catch(s){return _("error","[Bilibili] \u641C\u7D22\u51FA\u9519:",s.message),[]}}async _resolveMediaInfo(e){try{let r=await ge(`https://api.bilibili.com/pgc/review/user?media_id=${e}`),n=typeof r.data=="string"?JSON.parse(r.data):r.data;if(n.code===0&&n.result&&n.result.media){let s=n.result.media;return{seasonId:`ss${s.season_id}`,cover:s.cover||s.horizontal_picture||""}}}catch(r){_("error",`[Bilibili] \u83B7\u53D6\u5A92\u4F53\u4FE1\u606F\u5931\u8D25 (md${e}):`,r.message)}return{seasonId:null,cover:""}}async _getPgcEpisodes(e){let r=[],n=[`https://api.bilibili.com/pgc/view/web/season?season_id=${e}`,`https://api.bilibili.com/pgc/web/season/section?season_id=${e}`];for(let i of n)try{let a=await ge(i,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),o=typeof a.data=="string"?JSON.parse(a.data):a.data;if(o.code===0&&o.result&&(r=o.result.main_section?.episodes||o.result.episodes||[],o.result.cover&&(r._cover=o.result.cover),r.length>0))break}catch{}if(r.length===0)return _("error",`[Bilibili] \u83B7\u53D6\u756A\u5267\u5206\u96C6\u5931\u8D25 (season_id=${e}): \u6240\u6709\u63A5\u53E3\u5747\u65E0\u6570\u636E`),[];let s=r.map((i,a)=>{let o="";if(i.show_title)o=i.show_title;else{let c=i.title||String(a+1),u=i.long_title||"";o=/^\d+(\.\d+)?$/.test(c)?`\u7B2C${c}\u8BDD`:c,u&&u!==c&&(o+=` ${u}`)}return{vid:`${i.aid},${i.cid}`,id:i.id,title:o.trim(),link:`https://www.bilibili.com/bangumi/play/ep${i.id}`}});return r._cover&&(s._cover=r._cover),_("info",`[Bilibili] \u83B7\u53D6\u5230 ${s.length} \u4E2A\u756A\u5267\u5206\u96C6`),s}async _getUgcEpisodes(e){try{let r=`https://api.bilibili.com/x/web-interface/view?bvid=${e}`,n=await ge(r,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(s.code!==0||!s.data)return _("error",`[Bilibili] \u83B7\u53D6\u89C6\u9891\u5206\u96C6\u5931\u8D25 (bvid=${e}):`,s.message),[];let i=s.data.pages||[];if(i.length===0)return _("info",`[Bilibili] \u89C6\u9891 bvid=${e} \u65E0\u5206\u96C6\u6570\u636E`),[];let a=i.map((o,c)=>({vid:`${s.data.aid},${o.cid}`,id:o.cid,title:(o.part||`P${o.page}`).trim(),link:`https://www.bilibili.com/video/${e}?p=${o.page}`}));return _("info",`[Bilibili] \u83B7\u53D6\u5230 ${a.length} \u4E2A\u89C6\u9891\u5206\u96C6`),a}catch(r){return _("error",`[Bilibili] \u83B7\u53D6\u89C6\u9891\u5206\u96C6\u51FA\u9519 (bvid=${e}):`,r.message),[]}}async getEpisodes(e){if(e.startsWith("md")){let r=e.substring(2),n=await this._resolveMediaInfo(r);if(n.seasonId){let s=await this._getPgcEpisodes(n.seasonId.substring(2));return s._cover=n.cover,s}return[]}if(e.startsWith("ss")){let r=e.substring(2);return await this._getPgcEpisodes(r)}else if(e.startsWith("bv")){let r=e.substring(2);return await this._getUgcEpisodes(r)}return _("error",`[Bilibili] \u4E0D\u652F\u6301\u7684 ID \u683C\u5F0F: ${e}`),[]}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Bilibili] sourceAnimes is not a valid array"),[];e.forEach(d=>{d.aliases=d.aliases||[],d.title&&!d.aliases.includes(d.title)&&d.aliases.push(d.title),d.org_title&&!d.aliases.includes(d.org_title)&&d.aliases.push(d.org_title)});let o=e.length>0?e[0]._tmdbCnAlias:null;Zb(e,o);let c=e.filter(d=>d.isOversea||yt(d.title,r,i)||d.aliases&&d.aliases.some(f=>yt(f,r,i))),u=i!==null?i:Wt(r);if(u!==null){let d=c.filter(f=>{let p=f._displayTitle||f.title,m=Ct(p).season;return m===u||u===1&&m===null});d.length>0&&(c=d,_("info",`[Bilibili] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${u}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l=c.map(async d=>{try{let f=[],p=d.checkMore?.content?.includes("\u67E5\u770B\u5168\u90E8");if(d._eps&&d._eps.length>0&&!p){f=d._eps.map((b,y)=>{let x;d.isOversea&&b.position?x=b.position.toString():x=b.index_title||b.index||(y+1).toString();let v=b.title||b.index_title||x,I=b.long_title||"",R=/^\d+(\.\d+)?$/.test(v)?`\u7B2C${v}\u8BDD`:v;I&&I!==v&&(R+=` ${I}`);let w=b.id||b.param,N=`https://www.bilibili.com/bangumi/play/ep${w}?season_id=${d.mediaId.substring(2)}`;return d.isOversea&&(N+="&area=hkmt"),{name:x,url:N,title:`\u3010bilibili1\u3011 ${R.trim()}`,_id:parseInt(w,10)||0}});let g=f.map(b=>uf(b.name));g.every(b=>b!==null)?(f.forEach((b,y)=>b._sortKey=g[y]),f.sort((b,y)=>b._sortKey-y._sortKey)):f.sort((b,y)=>b._id-y._id),_("info",`[Bilibili] \u76F4\u63A5\u4F7F\u7528\u641C\u7D22\u7ED3\u679C\u4E2D\u7684 ${f.length} \u96C6\u5206\u96C6`)}else{let g=await this.getEpisodes(d.mediaId);if(g.length===0){_("info",`[Bilibili] ${d.title} \u65E0\u5206\u96C6\uFF0C\u8DF3\u8FC7`);return}g._cover&&(d.imageUrl=g._cover),f=g.map((b,y)=>{let x=b.link+`?season_id=${d.mediaId.substring(2)}`;return d.isOversea&&(x+="&area=hkmt"),{name:`${y+1}`,url:x,title:`\u3010bilibili1\u3011 ${b.title}`,_id:parseInt(b.id,10)||0}}),f.sort((b,y)=>b._id-y._id)}if(f.length===0)return;let m=Yr(d.mediaId),h=d._displayTitle||Qt(d.title),A={animeId:m,bangumiId:d.mediaId,animeTitle:`${h}(${d.year||"N/A"})\u3010${d.type}\u3011from bilibili`,type:d.type,typeDescription:d.type,imageUrl:d.imageUrl,startDate:Or(d.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"bilibili",aliases:d.aliases};a.push(A),Dt({...A,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}catch(f){_("error",`[Bilibili] \u5904\u7406 ${d.title} \u5931\u8D25:`,f.message)}});return await Promise.all(l),this.sortAndPushAnimesByYear(a,n),a}async _extractVideoInfo(e){_("info","[Bilibili] \u63D0\u53D6B\u7AD9\u89C6\u9891\u4FE1\u606F...",e);let r="https://api.bilibili.com/x/web-interface/view",n="https://api.bilibili.com/pgc/view/web/season",s=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,i=e.match(s),a;if(i)a=i[2].split("/").filter(Boolean),a.unshift(""),_("info","[Bilibili] ",a);else return _("error","[Bilibili] Invalid URL"),null;let o,c,u,l;if(e.includes("video/"))try{let d=e.split("?")[1],f=1;if(d){let A=d.split("&");for(let g of A){let[b,y]=g.split("=");b==="p"&&(f=y||1)}}_("info",`[Bilibili] p: ${f}`);let p;e.includes("BV")?p=`${r}?bvid=${a[2]}`:(c=a[2].substring(2),p=`${r}?aid=${a[2].substring(2)}`);let m=await ge(p,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),h=typeof m.data=="string"?JSON.parse(m.data):m.data;if(h.code!==0)return _("error","[Bilibili] \u83B7\u53D6\u666E\u901A\u6295\u7A3F\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",h.message),null;u=h.data.duration,o=h.data.pages[f-1].cid}catch(d){return _("error","[Bilibili] \u8BF7\u6C42\u666E\u901A\u6295\u7A3F\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else if(e.includes("bangumi/")&&e.includes("ep"))try{let d=a.slice(-1)[0].slice(2),f=e.split("?")[1]||"",p=null,m=!1;f.split("&").forEach(A=>{let[g,b]=A.split("=");g==="season_id"&&(p=b),g==="area"&&b==="hkmt"&&(m=!0)});let h=!1;if(!m){let A=await ge(`${n}?ep_id=${d}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0"}}),g=typeof A.data=="string"?JSON.parse(A.data):A.data;if(g.code===0&&g.result){let b=g.result.episodes.find(y=>y.id==d);b&&(o=b.cid,u=b.duration/1e3,l=b.share_copy,h=!0)}}if((!h||m)&&p&&this._hasBilibiliProxy()){try{let A=this._makeProxyUrl(`https://api.bilibili.com/pgc/view/web/season?season_id=${p}`),g=await ge(A,{headers:{Cookie:O.bilibliCookie||"","User-Agent":"Mozilla/5.0"}}),b=typeof g.data=="string"?JSON.parse(g.data):g.data;if(b.code===0&&b.result){let y=(b.result.episodes||b.result.main_section?.episodes||[]).find(x=>x.id==d);y&&(o=y.cid,c=y.aid,u=y.duration/1e3,l=y.long_title,h=!0)}}catch{}if(!h)try{let A=await ge(`https://api.bilibili.com/pgc/web/season/section?season_id=${p}`,{headers:{"User-Agent":"Mozilla/5.0",Cookie:O.bilibliCookie||""}}),g=typeof A.data=="string"?JSON.parse(A.data):A.data;if(g.code===0&&g.result?.main_section?.episodes){let b=g.result.main_section.episodes.find(y=>y.id==d);b&&(o=b.cid,c=b.aid,u=b.duration?b.duration/1e3:0,l=b.long_title,h=!0)}}catch{}}if(!o)return _("error","[Bilibili] \u672A\u627E\u5230\u5339\u914D\u7684\u756A\u5267\u96C6\u4FE1\u606F"),null;!u&&u!==0&&(u=0)}catch(d){return _("error","[Bilibili] \u8BF7\u6C42\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else if(e.includes("bangumi/")&&e.includes("ss"))try{let d=a.slice(-1)[0].slice(2).split("?")[0],f=`${n}?season_id=${d}`;_("info",`[Bilibili] \u83B7\u53D6\u756A\u5267\u4FE1\u606F: season_id=${d}`);let p=await ge(f,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),m=typeof p.data=="string"?JSON.parse(p.data):p.data;if(m.code!==0)return _("error","[Bilibili] \u83B7\u53D6\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",m.message),null;if(!m.result.episodes||m.result.episodes.length===0)return _("error","[Bilibili] \u756A\u5267\u6CA1\u6709\u53EF\u7528\u7684\u96C6\u6570"),null;let h=m.result.episodes[0];o=h.cid,u=h.duration/1e3,l=h.share_copy,_("info",`[Bilibili] \u4F7F\u7528\u7B2C\u4E00\u96C6: ${l}, cid=${o}`)}catch(d){return _("error","[Bilibili] \u8BF7\u6C42\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else return _("error","[Bilibili] \u4E0D\u652F\u6301\u7684B\u7AD9\u89C6\u9891\u7F51\u5740\uFF0C\u4EC5\u652F\u6301\u666E\u901A\u89C6\u9891(av,bv)\u3001\u5267\u96C6\u89C6\u9891(ep,ss)"),null;return _("info",`[Bilibili] \u63D0\u53D6\u89C6\u9891\u4FE1\u606F\u5B8C\u6210: cid=${o}, aid=${c}, duration=${u}`),{cid:o,aid:c,duration:u,title:l}}async getEpisodeDanmu(e){_("info","[Bilibili] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42B\u7AD9\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Bilibili] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=6,i=[];for(let a=0;a<n.length;a+=s){let c=n.slice(a,a+s).map(d=>this.getEpisodeSegmentDanmu(d).then(f=>({status:"ok",value:f})).catch(f=>({status:"err",error:f}))),u=await Promise.all(c),l=!1;for(let d of u)d.status==="ok"&&d.value?i.push(...d.value):(_("info","[Bilibili] \u6355\u83B7\u5230\u5206\u6BB5\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF4\u660E\u8BF7\u6C42\u5B8C\u6BD5\uFF0C\u505C\u6B62\u540E\u7EED\u8BF7\u6C42"),l=!0);if(l)break}return i}async getEpisodeDanmuSegments(e){if(_("info","[Bilibili] \u83B7\u53D6B\u7AD9\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),typeof e=="string"&&e.includes("/combine?")){let c=[],u=0,l=0,d=e.startsWith("http")?e:`https://www.bilibili.com${e}`,f=new URL(d);for(let[p,m]of f.searchParams.entries()){if(!p.startsWith("cid"))continue;let h=p.substring(3),[A,g]=m.split("-"),b=parseFloat(A)||0,y=parseFloat(g)||0,x=y-b;if(x<=0)continue;l+=x;let v=Math.ceil(y/360);for(let I=0;I<v;I++){let R=`#combine_start=${b}&combine_end=${y}&combine_offset=${u}`;c.push({type:"bilibili1",segment_start:I*360,segment_end:Math.min((I+1)*360,y),url:`https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=${h}&segment_index=${I+1}${R}`})}u+=x}return new St({type:"bilibili1",duration:l,segmentList:c})}let r=await this._extractVideoInfo(e);if(!r)return new St({type:"bilibili1",segmentList:[]});let{cid:n,aid:s,duration:i}=r;_("info",`[Bilibili] \u89C6\u9891\u4FE1\u606F: cid=${n}, aid=${s}, duration=${i}`),i<=0&&_("info","[Bilibili] \u672A\u83B7\u53D6\u5230\u7CBE\u51C6\u65F6\u957F\uFF0C\u4F7F\u7528\u9884\u8BBE 36 \u5206\u6BB5");let a=i>0?Math.ceil(i/360):36;_("info",`[Bilibili] maxLen: ${a}`);let o=[];for(let c=0;c<a;c+=1){let u;s?u=`https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=${n}&pid=${s}&segment_index=${c+1}`:u=`https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=${n}&segment_index=${c+1}`,o.push({type:"bilibili1",segment_start:c*360,segment_end:i>0?Math.min((c+1)*360,i):(c+1)*360,url:u})}return new St({type:"bilibili1",duration:i>0?i:0,segmentList:o})}async getEpisodeSegmentDanmu(e){try{let r=new URL(e.url),n=e.url.split("#")[0],s=await ge(n,{headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Cookie:O.bilibliCookie},base64Data:!0,retries:1}),i=[];if(s&&s.data&&(i=T8e(s.data)),r.hash&&r.hash.includes("combine_offset")){let a=new URLSearchParams(r.hash.substring(1)),o=parseFloat(a.get("combine_start"))||0,c=parseFloat(a.get("combine_end"))||0,u=parseFloat(a.get("combine_offset"))||0,l=[];for(let d of i){let f=0;if(d.p&&typeof d.p=="string"?f=parseFloat(d.p.split(",")[0]):d.t!==void 0?f=Number(d.t):d.progress!==void 0&&(f=d.progress/1e3),!isNaN(f)&&f>=o&&f<=c){let p=f-o+u;if(d.p&&typeof d.p=="string"){let m=d.p.split(",");m[0]=p.toFixed(5),d.p=m.join(",")}d.t!==void 0&&(d.t=p),d.progress!==void 0&&(d.progress=Math.round(p*1e3)),l.push(d)}}return l}return i}catch(r){throw r}}formatComments(e){return e.map(r=>(O.danmuSimplifiedTraditional==="simplified"&&r.m&&(r.m=Qt(r.m)),r.like=r.like_num,r))}_makeProxyUrl(e){return O.makeProxyUrl(e)}_hasBilibiliProxy(){return(O.proxyUrl||"").split(",").some(e=>{let r=e.trim();return r.startsWith("bilibili@")||r.startsWith("@")})}_javaUrlEncode(e){return encodeURIComponent(e).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")}async _searchOverseaRequest(e,r,n,s="Original",i=null){let o=(O.bilibliCookie||"").match(/([0-9a-fA-F]{32})/);if(!((O.proxyUrl||"").includes("bilibili@")||(O.proxyUrl||"").includes("@")))return[];if(o){_("info",`[Bilibili-Proxy][${s}] \u68C0\u6D4B\u5230 Access Key\uFF0C\u542F\u7528 APP \u7AEF\u63A5\u53E3\u6A21\u5F0F (Type: ${r})...`);try{let u={keyword:e,type:r,area:"tw",mobi_app:"android",platform:"android",build:"8140200",ts:Math.floor(Date.now()/1e3),appkey:t.APP_KEY,access_key:o[1],disable_rcmd:1},l=Object.keys(u).sort().map(h=>`${h}=${this._javaUrlEncode(String(u[h]))}`).join("&"),d=Ls(l+t.APP_SEC),f=`https://app.bilibili.com/x/v2/search/type?${l}&sign=${d}`,p=O.makeProxyUrl(f),m=await this._fetchAppSearchWithStream(p,{"User-Agent":"Mozilla/5.0 Android","X-From-Biliroaming":"1.0.0"},s,i);if(m&&m.code===0)return(m.data?.items||m.data?.result||m.data||[]).filter(h=>h.goto!=="recommend_tips"&&h.area!=="\u6F2B\u6E38"&&h.badge!=="\u516C\u544A").map(h=>({provider:"bilibili",mediaId:h.season_id?`ss${h.season_id}`:h.uri.match(/season\/(\d+)/)?.[1]?`ss${h.uri.match(/season\/(\d+)/)[1]}`:"",title:of((h.title||"").replace(/<[^>]+>/g,"")).trim(),org_title:of((h.org_title||"").replace(/<[^>]+>/g,"")).trim(),type:this._extractMediaType(h.season_type_name),year:h.ptime?new Date(h.ptime*1e3).getFullYear():null,imageUrl:h.cover||h.pic||"",episodeCount:0,_eps:h.episodes||h.episodes_new,checkMore:h.check_more,isOversea:!0})).filter(h=>h.mediaId);m&&m.code!==0&&_("warn",`[Bilibili-Proxy] App \u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF Code ${m.code}: ${m.message}`)}catch(u){if(u.name==="AbortError")throw u;_("error",`[Bilibili-Proxy] App \u63A5\u53E3\u8BF7\u6C42\u5F02\u5E38: ${u.message}`)}_("info","[Bilibili-Proxy] App \u63A5\u53E3\u8BF7\u6C42\u5931\u8D25\uFF0C\u81EA\u52A8\u964D\u7EA7\u81F3 Web \u63A5\u53E3...")}else _("info",`[Bilibili-Proxy][${s}] \u672A\u68C0\u6D4B\u5230 Access Key\uFF0C\u542F\u7528 Web \u7AEF\u63A5\u53E3\u6A21\u5F0F (Type: ${n})...`);try{let u={keyword:e,search_type:n,area:"tw",page:1,order:"totalrank",__refresh__:!0,_timestamp:Date.now()},d=`https://api.bilibili.com/x/web-interface/search/type?${Object.keys(u).map(h=>`${encodeURIComponent(h)}=${encodeURIComponent(u[h])}`).join("&")}`,f=O.makeProxyUrl(d),p=await ge(f,{headers:{"User-Agent":"Mozilla/5.0",Cookie:O.bilibliCookie||"","X-From-Biliroaming":"1.0.0"},signal:i}),m=typeof p.data=="string"?JSON.parse(p.data):p.data;if(m.code!==0)return _("warn",`[Bilibili-Proxy] Web \u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF Code ${m.code}: ${m.message}`),[];if(m.data?.result)return m.data.result.filter(h=>h.url?.includes("bilibili.com")&&!h.areas?.includes("\u6F2B\u6E38")).map(h=>({provider:"bilibili",mediaId:h.season_id?`ss${h.season_id}`:"",mdId:h.media_id?`md${h.media_id}`:null,title:of((h.title||"").replace(/<[^>]+>/g,"")).trim(),org_title:of((h.org_title||"").replace(/<[^>]+>/g,"")).trim(),type:this._extractMediaType(h.season_type_name),year:h.pubtime?new Date(h.pubtime*1e3).getFullYear():null,imageUrl:h.cover||null,episodeCount:h.ep_size||0,_eps:h.eps,isOversea:!0})).filter(h=>h.mediaId)}catch(u){if(u.name==="AbortError")throw u;_("error",`[Bilibili-Proxy] Web \u63A5\u53E3\u8BF7\u6C42\u5F02\u5E38: ${u.message}\uFF08\u5982\u679C\u662F-500/-502\u8BF4\u660E\u53EA\u662F\u98CE\u63A7\uFF09`)}return[]}async _searchOversea(e,r=!1){let n=new AbortController,s=r?[{appType:8,webType:"media_ft"}]:[{appType:7,webType:"media_bangumi"},{appType:8,webType:"media_ft"}],i=Promise.all(s.map(async(o,c)=>(c>0&&await new Promise(u=>setTimeout(u,c*300)),this._searchOverseaRequest(e,o.appType,o.webType,"Original")))).then(o=>{let c=o.flat();return c.length&&n.abort(),c.forEach(u=>u._originalQuery=e),c}).catch(()=>[]),a=O.tmdbApiKey?new Promise(o=>setTimeout(o,100)).then(async()=>{let o=await Xb(e,n.signal,"Bilibili");if(o&&o.title&&o.title!==e){let{title:c,cnAlias:u}=o,l=s.map(async(f,p)=>(p>0&&await new Promise(m=>setTimeout(m,p*300)),this._searchOverseaRequest(c,f.appType,f.webType,"TMDB",n.signal))),d=(await Promise.all(l)).flat();return d.forEach(f=>{f._originalQuery=e,f._searchUsedTitle=c,f._tmdbCnAlias=u}),d}return[]}).catch(()=>[]):Promise.resolve([]);return(await Promise.all([i,a])).flat()}async _fetchAppSearchWithStream(e,r,n,s){if(typeof $V!="function")return null;let i=!1,a=!1,o=await $V(e,{headers:r,sniffLimit:8192,signal:s},c=>i?!0:c.includes('"goto":"recommend_tips"')||c.includes("\u6682\u65E0\u641C\u7D22\u7ED3\u679C")?(_("info",`[Bilibili-Proxy][${n}] \u55C5\u63A2\u5230\u65E0\u6548\u6570\u636E\uFF0C\u4E2D\u65AD`),a=!0,!1):((c.includes('"season_id"')||c.includes('"episodes"'))&&(i=!0),!0));return a?{code:0,data:{items:[]}}:o}};Ot();_t();ir();hn();Ts();$n();hs();var Pg=class extends Tt{convertYoukuUrl(e){let r=e.match(/vid=([^&]+)/);return!r||!r[1]?null:`https://v.youku.com/v_show/id_${r[1]}.html`}filterYoukuSearchItem(e,r){let n=e.commonData;if(!n||!n.titleDTO||n.isYouku!==1&&n.hasYouku!==1)return null;let s=n.titleDTO.displayName;if(["\u4E2D\u914D\u7248","\u62A2\u5148\u770B","\u975E\u6B63\u7247","\u89E3\u8BFB","\u63ED\u79D8","\u8D4F\u6790","\u300A"].some(f=>s.includes(f)))return null;let a=n.feature.match(/[12][890][0-9][0-9]/),o=a?parseInt(a[0]):null,c=s.replace(/<[^>]+>/g,"").replace(/ã€.+?】/g,"").trim().replace(/:/g,"\uFF1A"),u="\u7535\u89C6\u5267",l=(n.cats||"").toLowerCase(),d=(n.feature||"").toLowerCase();return l.includes("\u52A8\u6F2B")||l.includes("anime")?u="\u52A8\u6F2B":l.includes("\u7535\u5F71")||l.includes("movie")?u="\u7535\u5F71":l.includes("\u7535\u89C6\u5267")||l.includes("drama")?u="\u7535\u89C6\u5267":l.includes("\u7EFC\u827A")||l.includes("variety")?u="\u7EFC\u827A":d.includes("\u52A8\u6F2B")?u="\u52A8\u6F2B":d.includes("\u7535\u5F71")?u="\u7535\u5F71":d.includes("\u7535\u89C6\u5267")?u="\u7535\u89C6\u5267":d.includes("\u7EFC\u827A")&&(u="\u7EFC\u827A"),{provider:"youku",mediaId:n.showId,title:c,type:u,year:o,imageUrl:n.posterDTO?n.posterDTO.vThumbUrl:null,episodeCount:n.episodeTotal,cats:n.cats}}async search(e){try{_("info",`[Youku] \u5F00\u59CB\u641C\u7D22: ${e}`);let r=encodeURIComponent(e),n=encodeURIComponent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"),s=`https://search.youku.com/api/search?keyword=${r}&userAgent=${n}&site=1&categories=0&ftype=0&ob=0&pg=1`,i=await ge(s,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Accept:"application/json",Referer:"https://www.youku.com/"}});if(!i||!i.data)return _("info","[Youku] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.pageComponentList)return _("info","[Youku] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let o=[];for(let c of a.pageComponentList){let u=this.filterYoukuSearchItem(c,e);u&&o.push(u)}return _("info",`[Youku] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[Youku] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Youku] \u83B7\u53D6\u5206\u96C6\u5217\u8868: show_id=${e}`);let r=100,n=await this._getEpisodesPage(e,1,r);if(!n||!n.videos||n.videos.length===0)return _("info","[Youku] \u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F"),[];let s=[...n.videos],i=n.total;if(i>r){let a=Math.ceil(i/r);_("info",`[Youku] \u68C0\u6D4B\u5230 ${i} \u4E2A\u5206\u96C6\uFF0C\u5C06\u5E76\u53D1\u8BF7\u6C42 ${a} \u9875`);let o=[];for(let u=2;u<=a;u++)o.push(this._getEpisodesPage(e,u,r));let c=await Promise.allSettled(o);for(let u=0;u<c.length;u++){let l=c[u];l.status==="fulfilled"&&l.value&&l.value.videos?s.push(...l.value.videos):l.status==="rejected"&&_("error",`[Youku] \u83B7\u53D6\u5206\u96C6\u9875\u9762 ${u+2} \u5931\u8D25:`,l.reason)}_("info",`[Youku] \u5E76\u53D1\u83B7\u53D6\u5B8C\u6210\uFF0C\u5171\u83B7\u53D6 ${s.length} \u4E2A\u5206\u96C6`)}return _("info",`[Youku] \u5171\u83B7\u53D6 ${s.length} \u96C6`),s}catch(r){return _("error","[Youku] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getEpisodesPage(e,r,n){let s=`https://openapi.youku.com/v2/shows/videos.json?client_id=53e6cc67237fc59a&package=com.huawei.hwvplayer.youku&ext=show&show_id=${e}&page=${r}&count=${n}`,i=await ge(s,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!i||!i.data?null:typeof i.data=="string"?JSON.parse(i.data):i.data}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Youku] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Youku] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=this._extractMediaType(l.cats,l.type),p=this._processAndFormatEpisodes(d,f),m=[];for(let h of p){let A=h.link||`https://v.youku.com/v_show/id_${h.vid}.html`;m.push({name:h.episodeIndex.toString(),url:A,title:`\u3010youku\u3011 ${h.title}`})}if(m.length>0){let A={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from youku`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Or(l.year),episodeCount:m.length,rating:0,isFavorited:!0,source:"youku"};a.push(A),Dt({...A,links:m},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[Youku] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}_processAndFormatEpisodes(e,r="variety"){return[...e].map((i,a)=>{let o=a+1,c=this._formatEpisodeTitle(i,o,r);return{vid:i.id,title:c,episodeIndex:o,link:i.link}})}_formatEpisodeTitle(e,r,n){let s=e.displayName||e.title,i=/^(?:\d{2,4}-\d{2}-\d{2}|\d{2}-\d{2})\s*(?=(?:第\d+期))|^(?:\d{2,4}-\d{2}-\d{2}|\d{2}-\d{2})\s*:\s*/;if(s=s.replace(i,"").trim(),n==="movie")return s;if(n==="variety"){let a=s.match(/第(\d+)期/);return a?`\u7B2C${a[1]}\u671F ${e.published?.split(" ")[0]??""} ${s}`:`\u7B2C${r}\u671F ${e.published?.split(" ")[0]??""} ${s}`}return/^第\d+集/.test(s)?s:`\u7B2C${r}\u96C6 ${s}`}_extractMediaType(e,r){let n=(e||"").toLowerCase(),s=(r||"").toLowerCase();return n.includes("\u7EFC\u827A")||n.includes("variety")?"variety":n.includes("\u7535\u5F71")||n.includes("movie")?"movie":n.includes("\u52A8\u6F2B")||n.includes("anime")?"anime":n.includes("\u7535\u89C6\u5267")||n.includes("drama")?"drama":s.includes("\u7EFC\u827A")?"variety":s.includes("\u7535\u5F71")?"movie":s.includes("\u52A8\u6F2B")?"anime":(s.includes("\u7535\u89C6\u5267"),"drama")}async getEpisodeDanmu(e){if(_("info","[Youku] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4F18\u9177\u5F39\u5E55...",e),!e)return[];let n=(await this.getEpisodeDanmuSegments(e)).segmentList,s=[],i=O.youkuConcurrency,a=[...n];for(let o=0;o<a.length;o+=i){let c=a.slice(o,o+i).map(async u=>{let l=await Kr(u.url,yi({data:u.data}),{headers:{Cookie:`_m_h5_tk=${u._m_h5_tk};_m_h5_tk_enc=${u._m_h5_tk_enc};`,Referer:"https://v.youku.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1,retries:1}),d=[];if(l.data?.data&&l.data.data.result){let f=JSON.parse(l.data.data.result);f.code!=="-1"&&d.push(...f.data.result)}return d});try{let u=await Promise.allSettled(c);for(let l of u)l.status==="fulfilled"&&Array.isArray(l.value)&&(s=s.concat(l.value))}catch(u){_("error","[Youku] \u4F18\u9177\u5206\u6BB5\u6279\u91CF\u8BF7\u6C42\u5931\u8D25:",u.message)}}return ts(s),s}async getEpisodeDanmuSegments(e){if(_("info","[Youku] \u83B7\u53D6\u4F18\u9177\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),!e)return new St({type:"youku",segmentList:[]});e.includes("youku.com/video?vid")&&(e=this.convertYoukuUrl(e));let r="https://openapi.youku.com/v2/videos/show.json",n="https://acs.youku.com/h5/mopen.youku.danmu.list/1.0/",s=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,i=e.match(s),a;if(i)a=i[2].split("/").filter(Boolean),a.unshift(""),_("info","[Youku]",a);else return _("error","[Youku] Invalid URL"),[];let o=a[a.length-1].split(".")[0].slice(3);_("info",`[Youku] video_id: ${o}`);let c;try{let x=`${r}?client_id=53e6cc67237fc59a&video_id=${o}&package=com.huawei.hwvplayer.youku&ext=show`;c=await ge(x,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1})}catch(x){return _("error","[Youku] \u8BF7\u6C42\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",x),[]}let u=typeof c.data=="string"?JSON.parse(c.data):c.data,l=u.title,d=u.duration;_("info",`[Youku] \u6807\u9898: ${l}, \u65F6\u957F: ${d}`);let f,p,m;try{let x="https://log.mmstat.com/eg.js",v="https://acs.youku.com/h5/mtop.com.youku.aplatform.weakget/1.0/?jsv=2.5.1&appKey=24679788",I=await ge(x,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1});_("info",`[Youku] cnaRes: ${JSON.stringify(I)}`),_("info",`[Youku] cnaRes.headers: ${JSON.stringify(I.headers)}`);let R=I.headers.etag||I.headers.Etag;_("info",`[Youku] etag: ${R}`),f=R.replace(/^"|"$/g,""),_("info",`[Youku] cna: ${f}`);let w;for(;!w;)w=await ge(v,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1});_("info",`[Youku] tkEncRes: ${JSON.stringify(w)}`),_("info",`[Youku] tkEncRes.headers: ${JSON.stringify(w.headers)}`);let N=w.headers["set-cookie"]||w.headers["Set-Cookie"];_("info",`[Youku] tkEncSetCookie: ${N}`);let P=N.match(/_m_h5_tk_enc=([^;]+)/);p=P?P[1]:null;let B=N.match(/_m_h5_tk=([^;]+)/);m=B?B[1]:null,_("info",`[Youku] _m_h5_tk_enc: ${p}`),_("info",`[Youku] _m_h5_tk: ${m}`)}catch(x){return _("error","[Youku] \u83B7\u53D6 cna \u6216 tk_enc \u5931\u8D25:",x),[]}let h=60,A=Math.floor(d/h)+1,g=[],b=async x=>{let v={ctime:Date.now(),ctype:10004,cver:"v1.0",guid:f,mat:x,mcount:1,pid:0,sver:"3.1.0",type:1,vid:o},I=JSON.stringify(v);function R(Z){let W="";for(let F=0;F<Z.length;F++)Z.charCodeAt(F)>255?W+=encodeURIComponent(Z[F]):W+=Z[F];return W}function w(Z){let W="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",F="",K=0,j=0;for(let J=0;J<Z.length;J++)for(K=K<<8|Z.charCodeAt(J),j+=8;j>=6;)F+=W[K>>j-6&63],j-=6;for(j>0&&(F+=W[K<<6-j&63]);F.length%4!==0;)F+="=";return F}let N=w(R(I));v.msg=N,v.sign=Ls(`${N}MkmC9SoIw6xCkSKHhJ7b5D2r51kBiREr`).toString().toLowerCase();let P=JSON.stringify(v),B=Date.now(),M={jsv:"2.5.6",appKey:"24679788",t:B,sign:Ls([m.slice(0,32),B,"24679788",P].join("&")).toString().toLowerCase(),api:"mopen.youku.danmu.list",v:"1.0",type:"originaljson",dataType:"jsonp",timeout:"20000",jsonpIncPrefix:"utility"},D=yi(M),L=`${n}?${D}`;return _("info",`[Youku] piece_url: ${L}`),{type:"youku",segment_start:x*h,segment_end:Math.min((x+1)*h,d),url:L,data:P,_m_h5_tk:m,_m_h5_tk_enc:p}},y=Array.from({length:A},(x,v)=>v);for(let x=0;x<y.length;x++){let v=await b(y[x]);g.push(v)}return new St({type:"youku",segmentList:g})}async getEpisodeSegmentDanmu(e){_("info","[Youku] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4F18\u9177\u5206\u6BB5\u5F39\u5E55...",e.url);let r=await Kr(e.url,yi({data:e.data}),{headers:{Cookie:`_m_h5_tk=${e._m_h5_tk};_m_h5_tk_enc=${e._m_h5_tk_enc};`,Referer:"https://v.youku.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1,retries:1}),n=[];if(r.data?.data&&r.data.data.result){let s=JSON.parse(r.data.data.result);s.code!=="-1"&&n.push(...s.data.result)}return n}formatComments(e){return e.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};n.timepoint=r.playat/1e3;let s=JSON.parse(r.propertis);if(s?.color&&(n.color=typeof s.color=="string"?parseInt(s.color,10):s.color),s?.pos){let i=s.pos;i===1?n.ct=5:i===2&&(n.ct=4)}return n.content=r.content,n.like=r.extFields.voteUp,n})}};hn();var ysn=new wg,xsn=new Rg,bsn=new Ng,Esn=new Og,_sn=new Pg,Ssn=new Tg,i4=`LogVar Danmu API/${O.version}`,JT=class extends Tt{async search(e,r=!1){if(O.useBangumiData&&!r){let n=await Au(e,["anidb"]);if(n.length>0)return _("info",`[Dandan] Bangumi-Data \u672C\u5730\u547D\u4E2D ${n.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`),n.map(s=>{let a=(s.titles.find(o=>o&&o.includes(e))||s.titles[1]||s.title)+(s.titleSuffix||"");return{animeId:parseInt(s.siteId),animeTitle:a,type:s.typeId,typeDescription:s.typeStr,imageUrl:"",startDate:s.begin,rating:0,aliases:[...s.titles]}})}try{_("info",`[Dandan] \u539F\u59CB\u641C\u7D22\u8BCD: ${e}`);let n=new AbortController,s=(async()=>{try{let c=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/search/anime?keyword=${e}`,{headers:{"Content-Type":"application/json","User-Agent":i4},retries:1});if(!c||!c.data)return _("info","[Dandan] \u539F\u59CB\u641C\u7D22\u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (source: original)"),{success:!1,source:"original"};if(!c.data.animes||c.data.animes.length===0)return _("info","[Dandan] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: original)"),{success:!1,source:"original"};n.abort();let u=c.data.animes;return _("info",`[Dandan] dandanSearchresp (original): ${JSON.stringify(u)}`),_("info",`[Dandan] \u8FD4\u56DE ${u.length} \u6761\u7ED3\u679C (source: original)`),{success:!0,data:u,source:"original"}}catch(c){return _("error","[Dandan] getDandanAnimes error:",{message:c.message,name:c.name,stack:c.stack}),{success:!1,source:"original"}}})(),i=(async()=>{try{await new Promise(p=>setTimeout(p,100));let c=await Xb(e,n.signal,"Dandan");if(!c||!c.title)return _("info","[Dandan] TMDB\u8F6C\u6362\u672A\u8FD4\u56DE\u7ED3\u679C\uFF0C\u53D6\u6D88\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb"};let{title:u,cnAlias:l}=c;_("info",`[Dandan] \u4F7F\u7528\u65E5\u8BED\u539F\u540D\u901A\u8FC7 episodes \u63A5\u53E3\u8FDB\u884C\u641C\u7D22: ${u}`);let d=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/search/episodes?anime=${encodeURIComponent(u)}`,{headers:{"Content-Type":"application/json","User-Agent":i4},signal:n.signal,retries:1});if(!d||!d.data)return _("info","[Dandan] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (source: tmdb)"),{success:!1,source:"tmdb"};if(!d.data.animes||d.data.animes.length===0)return _("info","[Dandan] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: tmdb)"),{success:!1,source:"tmdb"};let f=d.data.animes;for(let p of f)p.isTmdbSource=!0,p._tmdbCnAlias=l;return _("info",`[Dandan] dandanSearchresp (tmdb): ${JSON.stringify(f)}`),_("info",`[Dandan] \u8FD4\u56DE ${f.length} \u6761\u7ED3\u679C (source: tmdb)`),{success:!0,data:f,source:"tmdb"}}catch(c){if(c.name==="AbortError")return _("info","[Dandan] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4E2D\u65AD\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb",aborted:!0};throw c}})(),[a,o]=await Promise.all([s,i]);if(a.success)return a.data;if(o.success)return o.data;if(_("info",`[Dandan] \u539F\u59CB\u641C\u7D22\u548C\u57FA\u4E8ETMDB\u7684\u641C\u7D22\u5747\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (\u5F53\u524D\u641C\u7D22\u8BCD: ${e})`),!r){let c=e.replace(/(?:第\s*[0-9一二三四五å…七八ä¹å百åƒä¸‡]+\s*[壿œŸéƒ¨])|(?:S(?:eason)?\s*\d+)|(?:Part\s*\d+)/gi,"").trim();if(c&&c!==e)return _("info",`[Dandan] \u5C1D\u8BD5\u53BB\u9664\u5B63\u5EA6\u4FE1\u606F\u8FDB\u884C\u964D\u7EA7\u641C\u7D22: ${c}`),await this.search(c,!0)}return[]}catch(n){return _("error","[Dandan] getDandanAnimes error:",{message:n.message,name:n.name,stack:n.stack}),[]}}async getEpisodes(e){try{let r=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/bangumi/${e}`,{headers:{"Content-Type":"application/json","User-Agent":i4},retries:1});if(!r||!r.data)return _("info","[Dandan] getDandanEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null};if(!r.data.bangumi)return _("info","[Dandan] getDandanEposides: bangumi \u6570\u636E\u4E0D\u5B58\u5728"),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null};let n=r.data.bangumi,s=Array.isArray(n.episodes)?n.episodes:[],i=Array.isArray(n.titles)?n.titles.map(f=>f.title):[],a=Array.isArray(n.relateds)?n.relateds:[],o=n.type||null,c=n.typeDescription||null,u=!1,l=!1;n.tags&&Array.isArray(n.tags)&&n.tags.forEach(f=>{f.name&&f.name.toUpperCase().includes("3D")&&(u=!0),f.name&&f.name.toUpperCase().includes("2D")&&(l=!0)}),u?c="3D"+(c||""):l&&(c="2D"+(c||""));let d=n.imageUrl||null;return _("info",`[Dandan] getDandanEposides: ${JSON.stringify(r.data.bangumi.episodes)}`),{episodes:s,titles:i,relateds:a,type:o,typeDescription:c,imageUrl:d}}catch(r){return _("error","[Dandan] getDandanEposides error:",{message:r.message,name:r.name,stack:r.stack}),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null,imageUrl:null}}}calculateSimilarity(e,r){if(!e||!r)return 0;let n=new Set(e.toLowerCase()),s=new Set(r.toLowerCase()),i=[...n].filter(o=>s.has(o)).length,a=new Set([...n,...s]).size;return i/a}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Dandan] sourceAnimes is not a valid array"),[];e.forEach(m=>{m.title=m.animeTitle});let o=e.length>0?e[0]._tmdbCnAlias:null;Zb(e,o);let c=e.length,u=new Set,l=[],d=i!==null?i:Wt(r),f=e,p=!1;if(d!==null){let m=e.filter(h=>{let A=h._displayTitle||h.animeTitle,g=Ct(A).season;return g===d||d===1&&g===null});m.length>0&&(f=m,p=!0,_("info",`[Dandan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${d}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}for(let m of f)u.add(m.animeId),l.push({...m,isRelated:!1});for(;l.length>0;){let m=l.splice(0,l.length);await Promise.all(m.map(async h=>{try{let A=await this.getEpisodes(h.animeId),g=A.episodes,b=A.titles||[],y=this.calculateSimilarity(r,h.animeTitle),x=!p;if(y>=.1&&A.relateds&&Array.isArray(A.relateds)&&x)for(let w of A.relateds){let N=Ct(w.animeTitle).season!==null;!u.has(w.animeId)&&(N||c>=25)&&(u.add(w.animeId),l.push({animeId:w.animeId,animeTitle:w.animeTitle,imageUrl:w.imageUrl,rating:w.rating||0,isRelated:!0}))}let v=[h.animeTitle,...b,...h.aliases||[]],I=!1;if(h.isRelated||h.isTmdbSource)if(d!==null){let w=null;for(let N of v){if(!N)continue;let P=Wt(N);if(P!==null){w=P;break}}d>1?I=(w||1)===d:d===1&&(I=w===null||w===1)}else I=!0;else I=v.some(w=>w&&yt(w,r,d));if(!I)return;let R=[];for(let w of g){let N=w.episodeTitle&&w.episodeTitle.trim()!==""?`${w.episodeTitle}`:`\u7B2C${w.episodeNumber}\u96C6`;R.push({name:N,url:w.episodeId.toString(),title:`\u3010dandan\u3011 ${N}`})}if(R.length>0){let w=h._displayTitle||h.animeTitle,N=[...new Set([...b,...h.aliases||[]])];h.animeTitle&&h.animeTitle!==w&&!N.includes(h.animeTitle)&&N.push(h.animeTitle);let P=A.type||h.type||"tvseries",B=A.typeDescription||h.typeDescription||"TV\u52A8\u753B",M=h.startDate||(g.length>0?g[0].airDate:null),D=M?new Date(M).getFullYear():"\u672A\u77E5",L={animeId:h.animeId,bangumiId:String(h.animeId),animeTitle:`${w}(${D})\u3010${B}\u3011from dandan`,aliases:N,type:P,typeDescription:B,imageUrl:A.imageUrl||h.imageUrl,startDate:M,episodeCount:R.length,rating:h.rating||0,isFavorited:!0,source:"dandan"};a.push(L),Dt({...L,links:R},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(A){_("error",`[Dandan] Error processing anime: ${A.message}`)}}))}return this.sortAndPushAnimesByYear(a,n),a}async getEpisodeDanmu(e,r=[]){let n=[],s={};try{let a=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=%2Fv2%2Fcomment%2F${e}%3Ffrom%3D0%26withRelated%3Dtrue%26chConvert%3D0`,{headers:{"Content-Type":"application/json","User-Agent":i4},retries:1}).catch(o=>(_("error",`[Dandan] dandan base comments error: ${o.message}`),null));a&&a.data&&a.data.comments?(n=a.data.comments,s.dandan=n.length):s.dandan=0}catch(i){_("error","[Dandan] getEpisodeDanmu error:",{message:i.message,name:i.name,stack:i.stack})}return n}async getEpisodeDanmuSegments(e){return _("info","[Dandan] \u83B7\u53D6\u5F39\u5F39play\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new St({type:"dandan",segmentList:[{type:"dandan",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e.map(r=>r.isRealTimePulled?O.danmuSimplifiedTraditional==="simplified"&&r.m?{...r,m:Qt(r.m)}:r:{cid:r.cid,p:`${r.p.replace(/([A-Za-z]+)([0-9a-fA-F]{6})/,(n,s,i)=>{let a=parseInt(i.substring(0,2),16),o=parseInt(i.substring(2,4),16),c=parseInt(i.substring(4,6),16),u=a*256*256+o*256+c;return`${s}${u}`})}`,m:O.danmuSimplifiedTraditional==="simplified"?Qt(r.m):r.m})}};Ot();_t();ir();$n();so();hs();var XT=class extends Tt{async search(e){try{let r=await ge(`${O.customSourceApiUrl}/api/v2/search/anime?keyword=${e}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!r||!r.data?(_("info","[Custom] customSourceSearchresp: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[]):r.data.animes?(_("info",`[Custom] \u641C\u7D22\u627E\u5230 ${r.data.animes.length} \u4E2A\u6709\u6548\u7ED3\u679C`),r.data.animes):(_("info","[Custom] customSourceSearchresp: seriesData \u6216 seriesList \u4E0D\u5B58\u5728"),[])}catch(r){return _("error","[Custom] getCustomSourceAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){try{let r=await ge(`${O.customSourceApiUrl}/api/v2/bangumi/${e}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!r||!r.data?(_("info","[Custom] getCustomSourceEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[]):!r.data.bangumi||!r.data.bangumi.episodes?(_("info",`[Custom] getCustomSourceEposides: episodes \u4E0D\u5B58\u5728. Response: ${JSON.stringify(r.data)}`),[]):(_("info",`[Custom] getCustomSourceEposides: ${JSON.stringify(r.data.bangumi.episodes)}`),r.data.bangumi.episodes)}catch(r){return _("error","[Custom] getCustomSourceEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null){let i=[];if(!e||!Array.isArray(e))return _("error","[Custom] sourceAnimes is not a valid array"),[];let a=await Promise.all(e.map(async o=>{try{let c=await this.getEpisodes(o.bangumiId),u=[];for(let l of c){let d=l.episodeTitle&&l.episodeTitle.trim()!==""?`${l.episodeTitle}`:`\u7B2C${l.episodeNumber}\u96C6`;u.push({name:d,url:l.episodeId.toString(),title:`\u3010custom\u3011 ${d}`})}if(u.length>0){let l={animeId:o.animeId,bangumiId:String(o.bangumiId),animeTitle:`${o.animeTitle}(${new Date(o.startDate).getFullYear()})\u3010${o.typeDescription}\u3011from custom`,type:o.type,typeDescription:o.typeDescription,imageUrl:o.imageUrl,startDate:o.startDate,episodeCount:u.length,rating:o.rating,isFavorited:!0,source:"custom"};i.push(l),Dt({...l,links:u},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(c){_("error",`[Custom] Error processing anime: ${c.message}`)}}));return this.sortAndPushAnimesByYear(i,n),a}async getEpisodeDanmu(e){let r=[];try{let n=await ge(`${O.customSourceApiUrl}/api/v2/comment/${e}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1});return n.data&&n.data.comments&&(r=n.data.comments),r}catch(n){return _("error","[Custom] fetchCustomSourceEpisodeDanmu error:",{message:n.message,name:n.name,stack:n.stack}),r}}async getEpisodeDanmuSegments(e){return _("info","[Custom] \u83B7\u53D6Custom Source\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new St({type:"custom",segmentList:[{type:"custom",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e.map(r=>({cid:r.cid,p:`${r.p.replace(/([A-Za-z]+)([0-9a-fA-F]{6})/,(n,s,i)=>{let a=parseInt(i.substring(0,2),16),o=parseInt(i.substring(2,4),16),c=parseInt(i.substring(4,6),16),u=a*256*256+o*256+c;return`${s}${u}`})}`,m:O.danmuSimplifiedTraditional==="simplified"?Qt(r.m):r.m}))}};Ot();_t();ir();Ts();$n();Ts();var pmr=`
|
|
AGFzbQEAAAABWA5gAn9/AX9gA39/fwF/YAJ/fwBgA39/fwBgAX8Bf2ABfwBgBX9/f39/AX9gBX9/f39/AGAAAX9gBH9/f38AYAR/
|
|
f39/AX9gAn5/AX9gBn9/f39/fwBgAAACXAMDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAUDd2JnFV9fd2JpbmRnZW5f
|
|
c3RyaW5nX25ldwAAA3diZxdfX3diaW5kZ2VuX2RlYnVnX3N0cmluZwACA4gBhgEEAgUBAAIGBQMFAQMBAgMCAwMCAgAGAAsABQIB
|
|
CAcHAAIHBgMJAwwDAAMDCQAAAAACBwIDAwMDAAIDAwUAAQIBAwAABg0CCgAAAgUFAwIFBAQCAQAFAAoDBAAAAAAAAgICAgQABAQE
|
|
BAIEAAAEBQAAAAQEBAQAAAIAAAECAgABAQgAAAQEBQQFAXABOTkFAwEAEQYJAX8BQYCAwAALB58BCQZtZW1vcnkCAAZlbnNpZ24A
|
|
JA9nYXRld2F5X2VuY3J5cHQAIA9nYXRld2F5X2RlY3J5cHQAIQdnZXRfa2V5AIMBEV9fd2JpbmRnZW5fbWFsbG9jAEUSX193Ymlu
|
|
ZGdlbl9yZWFsbG9jAEkfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgBvD19fd2JpbmRnZW5fZnJlZQBaCUgBAEEBCzhw
|
|
RF5fL4gBKzJXMYgBcnFfiAFKS247UUAZc2OIAWJBZE4jM4gBYYgBSlFCe3mIAVZ4UTptXWaIAWGIAQ8/fIABGyIKv+YChgG+IQIP
|
|
fwF+IwBBEGsiCyQAAkACQAJ/AkAgAEH1AU8EQEEIQQgQWCEGQRRBCBBYIQVBEEEIEFghAUEAQRBBCBBYQQJ0ayICQYCAfCABIAUg
|
|
Bmpqa0F3cUEDayIBIAEgAksbIABNDQQgAEEEakEIEFghBEG0psAAKAIARQ0DQQAgBGshAwJ/QQAgBEGAAkkNABpBHyAEQf///wdL
|
|
DQAaIARBBiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmoLIgZBAnRBmKPAAGooAgAiAUUEQEEAIQBBACEFDAILIAQgBhBTdCEHQQAhAEEA
|
|
IQUDQAJAIAEQdCICIARJDQAgAiAEayICIANPDQAgASEFIAIiAw0AQQAhAyABIQBBAAwECyABQRRqKAIAIgIgACACIAEgB0EddkEE
|
|
cWpBEGooAgAiAUcbIAAgAhshACAHQQF0IQcgAQ0ACwwBC0EQIABBBGpBEEEIEFhBBWsgAEsbQQgQWCEEQbCmwAAoAgAiASAEQQN2
|
|
IgB2IgJBA3EEQAJAIAJBf3NBAXEgAGoiA0EDdCIAQbCkwABqKAIAIgVBCGooAgAiAiAAQaikwABqIgBHBEAgAiAANgIMIAAgAjYC
|
|
CAwBC0GwpsAAIAFBfiADd3E2AgALIAUgA0EDdBBQIAUQhgEhAwwECyAEQbimwAAoAgBNDQICQAJAAkACQAJAAkAgAkUEQEG0psAA
|
|
KAIAIgBFDQkgABBpaEECdEGYo8AAaigCACIBEHQgBGshAyABEFIiAARAA0AgABB0IARrIgIgAyACIANJIgIbIQMgACABIAIbIQEg
|
|
ABBSIgANAAsLIAEgBBCEASEFIAEQHEEQQQgQWCADSw0CIAEgBBBrIAUgAxBUQbimwAAoAgAiAA0BDAULAkBBASAAQR9xIgB0EFsg
|
|
AiAAdHEQaWgiAkEDdCIAQbCkwABqKAIAIgNBCGooAgAiASAAQaikwABqIgBHBEAgASAANgIMIAAgATYCCAwBC0GwpsAAQbCmwAAo
|
|
AgBBfiACd3E2AgALIAMgBBBrIAMgBBCEASIFIAJBA3QgBGsiAhBUQbimwAAoAgAiAA0CDAMLIABBeHFBqKTAAGohB0HApsAAKAIA
|
|
IQYCf0GwpsAAKAIAIgJBASAAQQN2dCIAcUUEQEGwpsAAIAAgAnI2AgAgBwwBCyAHKAIICyEAIAcgBjYCCCAAIAY2AgwgBiAHNgIM
|
|
IAYgADYCCAwDCyABIAMgBGoQUAwDCyAAQXhxQaikwABqIQdBwKbAACgCACEGAn9BsKbAACgCACIBQQEgAEEDdnQiAHFFBEBBsKbA
|
|
ACAAIAFyNgIAIAcMAQsgBygCCAshACAHIAY2AgggACAGNgIMIAYgBzYCDCAGIAA2AggLQcCmwAAgBTYCAEG4psAAIAI2AgAgAxCG
|
|
ASEDDAULQcCmwAAgBTYCAEG4psAAIAM2AgALIAEQhgEiA0UNAgwDCyAAIAVyRQRAQQAhBUEBIAZ0EFtBtKbAACgCAHEiAEUNAiAA
|
|
EGloQQJ0QZijwABqKAIAIQALQQELIQEDQCABRQRAIAUgACAFIAAQdCIBIARrIgYgA0kiAhsgASAESSIBGyEFIAMgBiADIAIbIAEb
|
|
IQMgABBSIQBBASEBDAELIAAEQEEAIQEMAQUgBUUNAiAEQbimwAAoAgAiAE0gAyAAIARrT3ENAiAFIAQQhAEhBiAFEBwCQEEQQQgQ
|
|
WCADTQRAIAUgBBBrIAYgAxBUIANBgAJPBEAgBiADEB0MAgsgA0F4cUGopMAAaiECAn9BsKbAACgCACIBQQEgA0EDdnQiAHFFBEBB
|
|
sKbAACAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAQsgBSADIARqEFALIAUQhgEiAw0D
|
|
CwsLAkACQCAEQbimwAAoAgAiAEsEQCAEQbymwAAoAgAiAE8EQEEIQQgQWCAEakEUQQgQWGpBEEEIEFhqQYCABBBYIgBBEHZAACEC
|
|
IAtBBGoiAUEANgIIIAFBACAAQYCAfHEgAkF/RiIAGzYCBCABQQAgAkEQdCAAGzYCACALKAIEIghFBEBBACEDDAULIAsoAgwhDEHI
|
|
psAAIAsoAggiCkHIpsAAKAIAaiIBNgIAQcymwABBzKbAACgCACIAIAEgACABSxs2AgACQEHEpsAAKAIABEBBmKTAACEAA0AgABBs
|
|
IAhGDQIgACgCCCIADQALDAQLQdSmwAAoAgAiAEEAIAAgCE0bRQRAQdSmwAAgCDYCAAtB2KbAAEH/HzYCAEGkpMAAIAw2AgBBnKTA
|
|
ACAKNgIAQZikwAAgCDYCAEG0pMAAQaikwAA2AgBBvKTAAEGwpMAANgIAQbCkwABBqKTAADYCAEHEpMAAQbikwAA2AgBBuKTAAEGw
|
|
pMAANgIAQcykwABBwKTAADYCAEHApMAAQbikwAA2AgBB1KTAAEHIpMAANgIAQcikwABBwKTAADYCAEHcpMAAQdCkwAA2AgBB0KTA
|
|
AEHIpMAANgIAQeSkwABB2KTAADYCAEHYpMAAQdCkwAA2AgBB7KTAAEHgpMAANgIAQeCkwABB2KTAADYCAEH0pMAAQeikwAA2AgBB
|
|
6KTAAEHgpMAANgIAQfCkwABB6KTAADYCAEH8pMAAQfCkwAA2AgBB+KTAAEHwpMAANgIAQYSlwABB+KTAADYCAEGApcAAQfikwAA2
|
|
AgBBjKXAAEGApcAANgIAQYilwABBgKXAADYCAEGUpcAAQYilwAA2AgBBkKXAAEGIpcAANgIAQZylwABBkKXAADYCAEGYpcAAQZCl
|
|
wAA2AgBBpKXAAEGYpcAANgIAQaClwABBmKXAADYCAEGspcAAQaClwAA2AgBBqKXAAEGgpcAANgIAQbSlwABBqKXAADYCAEG8pcAA
|
|
QbClwAA2AgBBsKXAAEGopcAANgIAQcSlwABBuKXAADYCAEG4pcAAQbClwAA2AgBBzKXAAEHApcAANgIAQcClwABBuKXAADYCAEHU
|
|
pcAAQcilwAA2AgBByKXAAEHApcAANgIAQdylwABB0KXAADYCAEHQpcAAQcilwAA2AgBB5KXAAEHYpcAANgIAQdilwABB0KXAADYC
|
|
AEHspcAAQeClwAA2AgBB4KXAAEHYpcAANgIAQfSlwABB6KXAADYCAEHopcAAQeClwAA2AgBB/KXAAEHwpcAANgIAQfClwABB6KXA
|
|
ADYCAEGEpsAAQfilwAA2AgBB+KXAAEHwpcAANgIAQYymwABBgKbAADYCAEGApsAAQfilwAA2AgBBlKbAAEGIpsAANgIAQYimwABB
|
|
gKbAADYCAEGcpsAAQZCmwAA2AgBBkKbAAEGIpsAANgIAQaSmwABBmKbAADYCAEGYpsAAQZCmwAA2AgBBrKbAAEGgpsAANgIAQaCm
|
|
wABBmKbAADYCAEGopsAAQaCmwAA2AgBBCEEIEFghBUEUQQgQWCECQRBBCBBYIQFBxKbAACAIIAgQhgEiAEEIEFggAGsiABCEASID
|
|
NgIAQbymwAAgCkEIaiABIAIgBWpqIABqayIFNgIAIAMgBUEBcjYCBEEIQQgQWCECQRRBCBBYIQFBEEEIEFghACADIAUQhAEgACAB
|
|
IAJBCGtqajYCBEHQpsAAQYCAgAE2AgAMBAsgABB2DQIgABB3IAxHDQIgACgCACICQcSmwAAoAgAiAU0EfyACIAAoAgRqIAFLBUEA
|
|
C0UNAiAAIAAoAgQgCmo2AgRBvKbAACgCACAKaiEBQcSmwAAoAgAiACAAEIYBIgBBCBBYIABrIgAQhAEhA0G8psAAIAEgAGsiBTYC
|
|
AEHEpsAAIAM2AgAgAyAFQQFyNgIEQQhBCBBYIQJBFEEIEFghAUEQQQgQWCEAIAMgBRCEASAAIAEgAkEIa2pqNgIEQdCmwABBgICA
|
|
ATYCAAwDC0G8psAAIAAgBGsiATYCAEHEpsAAQcSmwAAoAgAiAiAEEIQBIgA2AgAgACABQQFyNgIEIAIgBBBrIAIQhgEhAwwDC0HA
|
|
psAAKAIAIQJBEEEIEFggACAEayIBTQRAIAIgBBCEASEAQbimwAAgATYCAEHApsAAIAA2AgAgACABEFQgAiAEEGsgAhCGASEDDAML
|
|
QcCmwABBADYCAEG4psAAKAIAIQBBuKbAAEEANgIAIAIgABBQIAIQhgEhAwwCC0HUpsAAQdSmwAAoAgAiACAIIAAgCEkbNgIAIAgg
|
|
CmohAUGYpMAAIQACQANAIAEgACgCAEcEQCAAKAIIIgANAQwCCwsgABB2DQAgABB3IAxHDQAgACgCACEDIAAgCDYCACAAIAAoAgQg
|
|
Cmo2AgQgCBCGASIFQQgQWCECIAMQhgEiAUEIEFghACAIIAIgBWtqIgYgBBCEASEHIAYgBBBrIAMgACABa2oiACAEIAZqayEEAkBB
|
|
xKbAACgCACAARwRAIABBwKbAACgCAEYNASAAKAIEQQNxQQFGBEACQCAAEHQiBUGAAk8EQCAAEBwMAQsgAEEMaigCACICIABBCGoo
|
|
AgAiAUcEQCABIAI2AgwgAiABNgIIDAELQbCmwABBsKbAACgCAEF+IAVBA3Z3cTYCAAsgBCAFaiEEIAAgBRCEASEACyAHIAQgABBP
|
|
IARBgAJPBEAgByAEEB0gBhCGASEDDAULIARBeHFBqKTAAGohAgJ/QbCmwAAoAgAiAUEBIARBA3Z0IgBxRQRAQbCmwAAgACABcjYC
|
|
ACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIIAYQhgEhAwwEC0HEpsAAIAc2AgBBvKbAAEG8psAAKAIA
|
|
IARqIgA2AgAgByAAQQFyNgIEIAYQhgEhAwwDC0HApsAAIAc2AgBBuKbAAEG4psAAKAIAIARqIgA2AgAgByAAEFQgBhCGASEDDAIL
|
|
QcSmwAAoAgAhCUGYpMAAIQACQANAIAkgACgCAE8EQCAAEGwgCUsNAgsgACgCCCIADQALQQAhAAsgCSAAEGwiBkEUQQgQWCIPa0EX
|
|
ayIBEIYBIgBBCBBYIABrIAFqIgAgAEEQQQgQWCAJakkbIg0QhgEhDiANIA8QhAEhAEEIQQgQWCEDQRRBCBBYIQVBEEEIEFghAkHE
|
|
psAAIAggCBCGASIBQQgQWCABayIBEIQBIgc2AgBBvKbAACAKQQhqIAIgAyAFamogAWprIgM2AgAgByADQQFyNgIEQQhBCBBYIQVB
|
|
FEEIEFghAkEQQQgQWCEBIAcgAxCEASABIAIgBUEIa2pqNgIEQdCmwABBgICAATYCACANIA8Qa0GYpMAAKQIAIRAgDkEIakGgpMAA
|
|
KQIANwIAIA4gEDcCAEGkpMAAIAw2AgBBnKTAACAKNgIAQZikwAAgCDYCAEGgpMAAIA42AgADQCAAQQQQhAEgAEEHNgIEIgBBBGog
|
|
BkkNAAsgCSANRg0AIAkgDSAJayIAIAkgABCEARBPIABBgAJPBEAgCSAAEB0MAQsgAEF4cUGopMAAaiECAn9BsKbAACgCACIBQQEg
|
|
AEEDdnQiAHFFBEBBsKbAACAAIAFyNgIAIAIMAQsgAigCCAshACACIAk2AgggACAJNgIMIAkgAjYCDCAJIAA2AggLQQAhA0G8psAA
|
|
KAIAIgAgBE0NAEG8psAAIAAgBGsiATYCAEHEpsAAQcSmwAAoAgAiAiAEEIQBIgA2AgAgACABQQFyNgIEIAIgBBBrIAIQhgEhAwsg
|
|
C0EQaiQAIAMLrRABGH8gACABKAIQIgkgASgCICIHIAEoAjAiCiABKAIAIgsgASgCJCIMIAEoAjQiDSABKAIEIg4gASgCFCIPIA0g
|
|
DCAPIA4gCiAHIAkgCyAAKAIAIhkgACgCCCIQIAAoAgQiCHFqIAAoAgwiGCAIQX9zcWpqQYi31cQCa0EHdyAIaiICaiAOIBhqIBAg
|
|
AkF/c3FqIAIgCHFqQaqR4bkBa0EMdyACaiIDIAggASgCDCIRaiACIAMgECABKAIIIhJqIAggA0F/c3FqIAIgA3FqQdvhgaECakER
|
|
d2oiBUF/c3FqIAMgBXFqQZLiiPIDa0EWdyAFaiIEQX9zcWogBCAFcWpB0eCP1ABrQQd3IARqIgJqIAMgD2ogBSACQX9zcWogAiAE
|
|
cWpBqoyfvARqQQx3IAJqIgMgASgCHCITIARqIAIgAyABKAIYIhQgBWogBCADQX9zcWogAiADcWpB7fO+vgVrQRF3aiIFQX9zcWog
|
|
AyAFcWpB/9XlFWtBFncgBWoiAkF/c3FqIAIgBXFqQdixgswGakEHdyACaiIEaiADIAxqIAUgBEF/c3FqIAIgBHFqQdGQ7KUHa0EM
|
|
dyAEaiIDIAEoAiwiFSACaiAEIAMgASgCKCIWIAVqIAIgA0F/c3FqIAMgBHFqQc/IAmtBEXdqIgJBf3NxaiACIANxakHC0Iy1B2tB
|
|
FncgAmoiBUF/c3FqIAIgBXFqQaKiwNwGakEHdyAFaiIGaiABKAI4IhcgAmogBSADIA1qIAIgBkF/c3FqIAUgBnFqQe2cnhNrQQx3
|
|
IAZqIgRBf3MiAnFqIAQgBnFqQfL4mswFa0ERdyAEaiIDIAJxaiAFIAEoAjwiBWogBiADQX9zIgFxaiADIARxakGhkNDNBGpBFncg
|
|
A2oiBiAEcWpBnrWHzwBrQQV3IAZqIgJqIAMgFWogAiAGQX9zcWogBCAUaiABIAZxaiACIANxakHAmf39A2tBCXcgAmoiBCAGcWpB
|
|
0bT5sgJqQQ53IARqIgMgBEF/c3FqIAYgC2ogBCACQX9zcWogAiADcWpB1vCksgFrQRR3IANqIgIgBHFqQaPfw84Ca0EFdyACaiIB
|
|
aiADIAVqIAEgAkF/c3FqIAQgFmogAiADQX9zcWogASADcWpB06iQEmpBCXcgAWoiBCACcWpB/7L4ugJrQQ53IARqIgMgBEF/c3Fq
|
|
IAIgCWogBCABQX9zcWogASADcWpBuIiwwQFrQRR3IANqIgIgBHFqQeabh48CakEFdyACaiIBaiADIBFqIAEgAkF/c3FqIAQgF2og
|
|
AiADQX9zcWogASADcWpBqvCj5gNrQQl3IAFqIgQgAnFqQfnkq9kAa0EOdyAEaiIDIARBf3NxaiACIAdqIAQgAUF/c3FqIAEgA3Fq
|
|
Qe2p6KoEakEUdyADaiICIARxakH7rfCwBWtBBXcgAmoiAWogAiAKaiAEIBJqIAIgA0F/c3FqIAEgA3FqQYi4wRhrQQl3IAFqIgYg
|
|
AUF/c3FqIAMgE2ogASACQX9zcWogAiAGcWpB2YW8uwZqQQ53IAZqIgQgAXFqQfbm1pYHa0EUdyAEaiIDIARzIgEgBnNqQb6NF2tB
|
|
BHcgA2oiAmogBCAVaiACIAYgB2ogASACc2pB/5K4xAdrQQt3IAJqIgJzIgEgA3NqQaLC9ewGakEQdyACaiIEIAJzIAMgF2ogASAE
|
|
c2pB9I/rEGtBF3cgBGoiB3NqQbyrhNoFa0EEdyAHaiIBaiAEIBNqIAIgCWogBCAHcyABc2pBqZ/73gRqQQt3IAFqIgQgASAHc3Nq
|
|
QaDpksoAa0EQdyAEaiIDIARzIAcgFmogASAEcyADc2pBkIeBigRrQRd3IANqIgJzakHG/e3EAmpBBHcgAmoiAWogAyARaiAEIAtq
|
|
IAIgA3MgAXNqQYaw+6oBa0ELdyABaiIEIAEgAnNzakH7nsPYAmtBEHcgBGoiAyAEcyACIBRqIAEgBHMgA3NqQYW6oCRqQRd3IANq
|
|
IgJzakHH36yxAmtBBHcgAmoiAWogAiASaiAEIApqIAIgA3MgAXNqQZvMkckBa0ELdyABaiIEIAFzIAMgBWogASACcyAEc2pB+PmJ
|
|
/QFqQRB3IARqIgNzakGb087aA2tBF3cgA2oiAiAEQX9zciADc2pBvLvb3gBrQQZ3IAJqIgFqIAIgD2ogAyAXaiAEIBNqIAEgA0F/
|
|
c3IgAnNqQZf/q5kEakEKdyABaiIEIAJBf3NyIAFzakHZuK+jBWtBD3cgBGoiAyABQX9zciAEc2pBx7+xG2tBFXcgA2oiAiAEQX9z
|
|
ciADc2pBw7PtqgZqQQZ3IAJqIgFqIAIgDmogAyAWaiAEIBFqIAEgA0F/c3IgAnNqQe7mzIcHa0EKdyABaiIEIAJBf3NyIAFzakGD
|
|
l8AAa0EPdyAEaiICIAFBf3NyIARzakGvxO7TB2tBFXcgAmoiASAEQX9zciACc2pBz/yh/QZqQQZ3IAFqIgNqIAEgDWogAiAUaiAE
|
|
IAVqIAMgAkF/c3IgAXNqQaCyzA5rQQp3IANqIgIgAUF/c3IgA3NqQez5+ucFa0EPdyACaiIBIANBf3NyIAJzakGho6DwBGpBFXcg
|
|
AWoiBCACQX9zciABc2pB/oKyxQBrQQZ3IARqIgMgGWo2AgAgACAYIAIgFWogAyABQX9zciAEc2pBy5uUlgRrQQp3IANqIgJqNgIM
|
|
IAAgECABIBJqIAIgBEF/c3IgA3NqQbul39YCakEPdyACaiIBajYCCCAAIAEgCGogBCAMaiABIANBf3NyIAJzakHv2OSjAWtBFXdq
|
|
NgIEC5IHAQV/IAAQhwEiACAAEHQiARCEASECAkACQAJAAkACQAJAAkACQAJAIAAQdQ0AIAAoAgAhAyAAEGoNASABIANqIQEgACAD
|
|
EIUBIgBBwKbAACgCAEYEQCACKAIEQQNxQQNHDQFBuKbAACABNgIAIAAgASACEE8MCQsgA0GAAk8EQCAAEBwMAQsgAEEMaigCACIE
|
|
IABBCGooAgAiBUcEQCAFIAQ2AgwgBCAFNgIIDAELQbCmwABBsKbAACgCAEF+IANBA3Z3cTYCAAsgAhBlDQIgAkHEpsAAKAIARg0E
|
|
IAJBwKbAACgCAEcNAUHApsAAIAA2AgBBuKbAAEG4psAAKAIAIAFqIgI2AgAgACACEFQPCyABIANqQRBqIQAMBgsgAhB0IgMgAWoh
|
|
AQJAIANBgAJPBEAgAhAcDAELIAJBDGooAgAiBCACQQhqKAIAIgJHBEAgAiAENgIMIAQgAjYCCAwBC0GwpsAAQbCmwAAoAgBBfiAD
|
|
QQN2d3E2AgALIAAgARBUIABBwKbAACgCAEcNAUG4psAAIAE2AgAPCyAAIAEgAhBPCyABQYACSQ0BIAAgARAdQdimwABB2KbAACgC
|
|
AEEBayIANgIAIAANAxAfGg8LQcSmwAAgADYCAEG8psAAQbymwAAoAgAgAWoiAjYCACAAIAJBAXI2AgRBwKbAACgCACAARgRAQbim
|
|
wABBADYCAEHApsAAQQA2AgALIAJB0KbAACgCAE0NAkEIQQgQWCEAQRRBCBBYIQJBEEEIEFghA0EAQRBBCBBYQQJ0ayIBQYCAfCAD
|
|
IAAgAmpqa0F3cUEDayIAIAAgAUsbRQ0CQcSmwAAoAgBFDQJBCEEIEFghAEEUQQgQWCECQRBBCBBYIQFBACEDQbymwAAoAgAiBCAB
|
|
IAIgAEEIa2pqIgBNDQEgBCAAa0H//wNqQYCAfHEiBEGAgARrIQJBxKbAACgCACEBQZikwAAhAAJAA0AgASAAKAIATwRAIAAQbCAB
|
|
Sw0CCyAAKAIIIgANAAtBACEACyAAEHYNASAAKAIMGgwBCyABQXhxQaikwABqIQICf0GwpsAAKAIAIgNBASABQQN2dCIBcUUEQEGw
|
|
psAAIAEgA3I2AgAgAgwBCyACKAIICyEDIAIgADYCCCADIAA2AgwgACACNgIMIAAgAzYCCA8LEB9BACADa0cNAEG8psAAKAIAQdCm
|
|
wAAoAgBNDQBB0KbAAEF/NgIACwv0BgEIfwJAIAAoAgAiCiAAKAIIIgNyBEACQCADRQ0AIAEgAmohCCAAQQxqKAIAQQFqIQcgASEF
|
|
A0ACQCAFIQMgB0EBayIHRQ0AIAMgCEYNAgJ/IAMsAAAiBkEATgRAIAZB/wFxIQYgA0EBagwBCyADLQABQT9xIQkgBkEfcSEFIAZB
|
|
X00EQCAFQQZ0IAlyIQYgA0ECagwBCyADLQACQT9xIAlBBnRyIQkgBkFwSQRAIAkgBUEMdHIhBiADQQNqDAELIAVBEnRBgIDwAHEg
|
|
Ay0AA0E/cSAJQQZ0cnIiBkGAgMQARg0DIANBBGoLIgUgBCADa2ohBCAGQYCAxABHDQEMAgsLIAMgCEYNACADLAAAIgVBAE4gBUFg
|
|
SXIgBUFwSXJFBEAgBUH/AXFBEnRBgIDwAHEgAy0AA0E/cSADLQACQT9xQQZ0IAMtAAFBP3FBDHRycnJBgIDEAEYNAQsCQAJAIARF
|
|
DQAgAiAETQRAQQAhAyACIARGDQEMAgtBACEDIAEgBGosAABBQEgNAQsgASEDCyAEIAIgAxshAiADIAEgAxshAQsgCkUNASAAKAIE
|
|
IQgCQCACQRBPBEAgASACEAchAwwBCyACRQRAQQAhAwwBCyACQQNxIQcCQCACQQRJBEBBACEDQQAhBgwBCyACQXxxIQVBACEDQQAh
|
|
BgNAIAMgASAGaiIELAAAQb9/SmogBEEBaiwAAEG/f0pqIARBAmosAABBv39KaiAEQQNqLAAAQb9/SmohAyAFIAZBBGoiBkcNAAsL
|
|
IAdFDQAgASAGaiEFA0AgAyAFLAAAQb9/SmohAyAFQQFqIQUgB0EBayIHDQALCwJAIAMgCEkEQCAIIANrIQRBACEDAkACQAJAIAAt
|
|
ACBBAWsOAgABAgsgBCEDQQAhBAwBCyAEQQF2IQMgBEEBakEBdiEECyADQQFqIQMgAEEYaigCACEFIAAoAhAhBiAAKAIUIQADQCAD
|
|
QQFrIgNFDQIgACAGIAUoAhARAABFDQALQQEPCwwCC0EBIQMgACABIAIgBSgCDBEBAAR/IAMFQQAhAwJ/A0AgBCADIARGDQEaIANB
|
|
AWohAyAAIAYgBSgCEBEAAEUNAAsgA0EBawsgBEkLDwsgACgCFCABIAIgAEEYaigCACgCDBEBAA8LIAAoAhQgASACIABBGGooAgAo
|
|
AgwRAQAL1wYBCH8CQAJAIAEgAEEDakF8cSICIABrIghJDQAgASAIayIGQQRJDQAgBkEDcSEHQQAhAQJAIAAgAkYiCQ0AAkAgAiAA
|
|
QX9zakEDSQRADAELA0AgASAAIARqIgMsAABBv39KaiADQQFqLAAAQb9/SmogA0ECaiwAAEG/f0pqIANBA2osAABBv39KaiEBIARB
|
|
BGoiBA0ACwsgCQ0AIAAgAmshAyAAIARqIQIDQCABIAIsAABBv39KaiEBIAJBAWohAiADQQFqIgMNAAsLIAAgCGohBAJAIAdFDQAg
|
|
BCAGQXxxaiIALAAAQb9/SiEFIAdBAUYNACAFIAAsAAFBv39KaiEFIAdBAkYNACAFIAAsAAJBv39KaiEFCyAGQQJ2IQYgASAFaiED
|
|
A0AgBCEAIAZFDQJBwAEgBiAGQcABTxsiBUEDcSEHIAVBAnQhBEEAIQIgBUEETwRAIAAgBEHwB3FqIQggACEBA0AgAiABKAIAIgJB
|
|
f3NBB3YgAkEGdnJBgYKECHFqIAFBBGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAUEIaigCACICQX9zQQd2IAJBBnZyQYGChAhx
|
|
aiABQQxqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIQIgAUEQaiIBIAhHDQALCyAGIAVrIQYgACAEaiEEIAJBCHZB/4H8B3EgAkH/
|
|
gfwHcWpBgYAEbEEQdiADaiEDIAdFDQALAn8gACAFQfwBcUECdGoiACgCACIBQX9zQQd2IAFBBnZyQYGChAhxIgEgB0EBRg0AGiAB
|
|
IAAoAgQiAUF/c0EHdiABQQZ2ckGBgoQIcWoiASAHQQJGDQAaIAAoAggiAEF/c0EHdiAAQQZ2ckGBgoQIcSABagsiAUEIdkH/gRxx
|
|
IAFB/4H8B3FqQYGABGxBEHYgA2oPCyABRQRAQQAPCyABQQNxIQQCQCABQQRJBEBBACECDAELIAFBfHEhBUEAIQIDQCADIAAgAmoi
|
|
ASwAAEG/f0pqIAFBAWosAABBv39KaiABQQJqLAAAQb9/SmogAUEDaiwAAEG/f0pqIQMgBSACQQRqIgJHDQALCyAERQ0AIAAgAmoh
|
|
AQNAIAMgASwAAEG/f0pqIQMgAUEBaiEBIARBAWsiBA0ACwsgAwunBgEGfyMAQeADayIFJAAgBUEAQeADEIEBIgUgASABEBQgBUEg
|
|
aiABQRBqIgEgARAUQcAAIQZBCCEHA0AgBSAHEDUgAyAFaiIBQUBrIgQQDCAEIAQoAgBBf3M2AgAgAUHEAGoiBCAEKAIAQX9zNgIA
|
|
IAFB1ABqIgQgBCgCAEF/czYCACABQdgAaiIEIAQoAgBBf3M2AgAgBSAGaiIEIAQoAgBBgIADczYCACAFIAdBCGoiB0EOECogA0GA
|
|
A0YEQCAFQeAAaiEHIAVBQGshAyAFQSBqIQZBAyEEA0AgBEEBayEEQQAhAQNAIAEgBmoiAiACKAIAIgIgAiACQQR2c0GAmLwYcSIC
|
|
QQR0cyACcyICIAIgAkECdnNBgOaAmANxIgJBAnRzIAJzNgIAIAFBBGoiAUEgRw0AC0EAIQEDQCABIANqIgIgAigCACICIAIgAkEE
|
|
dnNBgJ6A+ABxIgJBBHRzIAJzNgIAIAFBBGoiAUEgRw0AC0EAIQEDQCABIAdqIgIgAigCACICIAIgAkEEdnNBgIa84ABxIgJBBHRz
|
|
IAJzIgIgAiACQQJ2c0GA5oCYA3EiAkECdHMgAnM2AgAgAUEEaiIBQSBHDQALIAdBgAFqIQcgA0GAAWohAyAGQYABaiEGIAQNAAtB
|
|
oAMhAQNAIAEgBWoiAyADKAIAIgMgAyADQQR2c0GAmLwYcSIDQQR0cyADcyIDIAMgA0ECdnNBgOaAmANxIgNBAnRzIANzNgIAIAFB
|
|
BGoiAUHAA0cNAAtBACEDA0AgAyAFaiIBQSBqIgYgBigCAEF/czYCACABQSRqIgYgBigCAEF/czYCACABQTRqIgYgBigCAEF/czYC
|
|
ACABQThqIgEgASgCAEF/czYCACADQSBqIgNBwANHDQALIAAgBUHgAxCCARogBUHgA2okAAUgBSAHEDUgAUHgAGoiBBAMIAQgBCgC
|
|
AEF/czYCACABQeQAaiIEIAQoAgBBf3M2AgAgAUH0AGoiBCAEKAIAQX9zNgIAIAFB+ABqIgEgASgCAEF/czYCACAFIAdBCGoiB0EG
|
|
ECogBkHEAGohBiADQUBrIQMMAQsLC7QFAQh/QStBgIDEACAAKAIcIghBAXEiBhshDCAEIAZqIQYCQCAIQQRxRQRAQQAhAQwBCwJA
|
|
IAJBEE8EQCABIAIQByEFDAELIAJFBEAMAQsgAkEDcSEJAkAgAkEESQRADAELIAJBfHEhCgNAIAUgASAHaiILLAAAQb9/SmogC0EB
|
|
aiwAAEG/f0pqIAtBAmosAABBv39KaiALQQNqLAAAQb9/SmohBSAKIAdBBGoiB0cNAAsLIAlFDQAgASAHaiEHA0AgBSAHLAAAQb9/
|
|
SmohBSAHQQFqIQcgCUEBayIJDQALCyAFIAZqIQYLAkACQCAAKAIARQRAQQEhBSAAKAIUIgYgACgCGCIAIAwgASACEEYNAQwCCyAG
|
|
IAAoAgQiB08EQEEBIQUgACgCFCIGIAAoAhgiACAMIAEgAhBGDQEMAgsgCEEIcQRAIAAoAhAhCCAAQTA2AhAgAC0AICEKQQEhBSAA
|
|
QQE6ACAgACgCFCIJIAAoAhgiCyAMIAEgAhBGDQEgByAGa0EBaiEFAkADQCAFQQFrIgVFDQEgCUEwIAsoAhARAABFDQALQQEPC0EB
|
|
IQUgCSADIAQgCygCDBEBAA0BIAAgCjoAICAAIAg2AhBBACEFDAELIAcgBmshBgJAAkACQCAALQAgIgVBAWsOAwABAAILIAYhBUEA
|
|
IQYMAQsgBkEBdiEFIAZBAWpBAXYhBgsgBUEBaiEFIABBGGooAgAhCCAAKAIQIQogACgCFCEAAkADQCAFQQFrIgVFDQEgACAKIAgo
|
|
AhARAABFDQALQQEPC0EBIQUgACAIIAwgASACEEYNACAAIAMgBCAIKAIMEQEADQBBACEFA0AgBSAGRgRAQQAPCyAFQQFqIQUgACAK
|
|
IAgoAhARAABFDQALIAVBAWsgBkkPCyAFDwsgBiADIAQgACgCDBEBAAvYBAEcfyAAIAAoAggiBCAAKAIEIgVzIgwgACgCHCINIAAo
|
|
AhAiAXMiFiAAKAIYIgJzIhcgFnFzIAIgDXMiAyAAKAIMIgYgACgCACIHcyIIcyIJcyADIAUgB3MiCnMiEyABIAJzIg8gBCAAKAIU
|
|
IgRzIhBzIhlxIhRzIAYgF3MiFSABIAZzIgEgDHMiGHEgCSAYcyABcSILcyIOcyIRIA4gDyABIAdzIhpxIAIgBXMiBSAEIAZzcyIH
|
|
IAEgCnMiDnJzcyIScSICIAsgAyAJcXMiCyAHIA5xIAogD3MiCiAEcyIbIAUgCHMiHHFzIAFzIARzcyIGcyARIBQgCiANIBBzIhRx
|
|
IAhzcyALcyIEcyIIcSAEcyIFIAYgEnMiCyACIARzcSAGcyINcyIQIAFxIAogDXEiCnMgDSALIAQgEnFBf3NxIAJzIgFzIgQgE3Eg
|
|
AyACIAYgEXEgCHFzIAhzIgIgAXMiA3EiCHMiEXM2AgAgACAHIAIgBXMiB3EiBiAFIBtxIhJzIAMgEHMiEyAVcSIVIAMgCXEiA3Mi
|
|
CyAQIAkgDHNxIgwgByAOcSIHIAIgD3EiD3NzIg5zIglzNgIcIAAgDCACIBpxIgIgASAXcXMiDCAGIAUgHHFzc3MiBSADIA0gFHEi
|
|
AyABIBZxcyIBIA9zcyARc3M2AhggACABIApzIgEgB3MgC3MgBXM2AhQgACADIAQgGXEiA3MgCXM2AhAgACATIBhxIAJzIA5zIgIg
|
|
ASADIBJzIgEgCHNzczYCDCAAIAEgDHMgCXM2AgggACAGIBVzIAJzNgIEC9QFAgZ/An4CQCACRQ0AIAJBB2siA0EAIAIgA08bIQcg
|
|
AUEDakF8cSABayEIQQAhAwNAAkACQAJAIAEgA2otAAAiBcAiBkEATgRAIAggA2tBA3ENASADIAdPDQIDQCABIANqIgRBBGooAgAg
|
|
BCgCAHJBgIGChHhxDQMgA0EIaiIDIAdJDQALDAILQoCAgICAICEKQoCAgIAQIQkCQAJAAn4CQAJAAkACQAJAAkACQAJAAkAgBUGM
|
|
oMAAai0AAEECaw4DAAECCgsgA0EBaiIEIAJJDQJCACEKQgAhCQwJC0IAIQogA0EBaiIEIAJJDQJCACEJDAgLQgAhCiADQQFqIgQg
|
|
AkkNAkIAIQkMBwsgASAEaiwAAEG/f0oNBgwHCyABIARqLAAAIQQCQAJAIAVB4AFrIgUEQCAFQQ1GBEAMAgUMAwsACyAEQWBxQaB/
|
|
Rg0EDAMLIARBn39KDQIMAwsgBkEfakH/AXFBDE8EQCAGQX5xQW5HDQIgBEFASA0DDAILIARBQEgNAgwBCyABIARqLAAAIQQCQAJA
|
|
AkACQCAFQfABaw4FAQAAAAIACyAGQQ9qQf8BcUECSyAEQUBOcg0DDAILIARB8ABqQf8BcUEwTw0CDAELIARBj39KDQELIAIgA0EC
|
|
aiIETQRAQgAhCQwFCyABIARqLAAAQb9/Sg0CQgAhCSADQQNqIgQgAk8NBCABIARqLAAAQb9/TA0FQoCAgICA4AAMAwtCgICAgIAg
|
|
DAILQgAhCSADQQJqIgQgAk8NAiABIARqLAAAQb9/TA0DC0KAgICAgMAACyEKQoCAgIAQIQkLIAAgCiADrYQgCYQ3AgQgAEEBNgIA
|
|
DwsgBEEBaiEDDAILIANBAWohAwwBCyACIANNDQADQCABIANqLAAAQQBIDQEgAiADQQFqIgNHDQALDAILIAIgA0sNAAsLIAAgATYC
|
|
BCAAQQhqIAI2AgAgAEEANgIAC6YEARt/IAAgACgCHCIBIAAoAgQiBHMiByAAKAIQIgUgACgCCCIKcyIMcyIRIAAoAgxzIgggACgC
|
|
GCIGcyILIAEgBXMiEnMiCSAGIAAoAhRzIgJzIgMgBCACIAAoAgAiBHMiBnMiEyAGcXMgAyAHcSINcyAHcyAJIBJxIg4gAiAIIApz
|
|
IgJzIgggCXMiFyAMcXMiD3MiECAPIAIgEXEiDyALIAIgBHMiGCATIAEgCnMiCnMiGXFzc3MiFHEiCyAIIApxIA5zIg4gDyAFIAZz
|
|
Ig8gBHEgCnMgCHNzcyIFcyAOIA0gAyAEIAlzIg0gASAGcyIOcXNzIAFzcyIBIBBzcSIVIAtzIAFxIhYgEHMiECACcSIaIAQgASAV
|
|
cyIEcXMiFSAFIAEgC3MiAiAFIBRzIgVxcyIBIA1xcyADIAIgFnMgAXEgBXMiAyABcyILcSINcyIUIAMgE3FzIAwgAyAEIBBzIgJz
|
|
IgUgASAEcyIMcyITcSAMIBJxIhJzIhZzIhsgDSADIAZxcyIGIBMgF3FzIgMgByALcSIHIAUgCHEgFXNzcyIIczYCBCAAIAcgG3M2
|
|
AgAgACAWIAIgGXFzIgcgECARcXMiESADIAkgDHFzIglzNgIcIAAgCCABIA5xcyIDIAUgCnEgEnMgCXNzNgIUIAAgAiAYcSAacyAG
|
|
cyARcyIBNgIQIAAgByAEIA9xcyADczYCCCAAIAEgCXM2AhggACABIBRzNgIMC4YFAQp/IwBBMGsiAyQAIANBJGogATYCACADQQM6
|
|
ACwgA0EgNgIcIANBADYCKCADIAA2AiAgA0EANgIUIANBADYCDAJ/AkACQAJAIAIoAhAiCkUEQCACQQxqKAIAIgBFDQEgAigCCCEB
|
|
IABBA3QhBSAAQQFrQf////8BcUEBaiEHIAIoAgAhAANAIABBBGooAgAiBARAIAMoAiAgACgCACAEIAMoAiQoAgwRAQANBAsgASgC
|
|
ACADQQxqIAFBBGooAgARAAANAyABQQhqIQEgAEEIaiEAIAVBCGsiBQ0ACwwBCyACQRRqKAIAIgBFDQAgAEEFdCELIABBAWtB////
|
|
P3FBAWohByACKAIIIQggAigCACEAA0AgAEEEaigCACIBBEAgAygCICAAKAIAIAEgAygCJCgCDBEBAA0DCyADIAUgCmoiAUEQaigC
|
|
ADYCHCADIAFBHGotAAA6ACwgAyABQRhqKAIANgIoIAFBDGooAgAhBkEAIQlBACEEAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBkED
|
|
dCAIaiIMKAIEQS1HDQEgDCgCACgCACEGC0EBIQQLIAMgBjYCECADIAQ2AgwgAUEEaigCACEEAkACQAJAIAEoAgBBAWsOAgACAQsg
|
|
BEEDdCAIaiIGKAIEQS1HDQEgBigCACgCACEEC0EBIQkLIAMgBDYCGCADIAk2AhQgCCABQRRqKAIAQQN0aiIBKAIAIANBDGogASgC
|
|
BBEAAA0CIABBCGohACALIAVBIGoiBUcNAAsLIAcgAigCBE8NASADKAIgIAIoAgAgB0EDdGoiACgCACAAKAIEIAMoAiQoAgwRAQBF
|
|
DQELQQEMAQtBAAsgA0EwaiQAC4cVARV/IwBBIGsiAyQAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANCADcDACADIAIg
|
|
AkEQahAUIAFBwANqIQpBACECA0AgAiADaiITIBMoAgAgAiAKaigCAHM2AgAgAkEEaiICQSBHDQALIAMQCkEAIQIDQCACIANqIgog
|
|
CigCACIKIAogCkEEdnNBgJ6A+ABxIgpBBHRzIApzNgIAIAJBBGoiAkEgRw0ACyABQcACaiETIAFB4AJqIRQgAUGAA2ohFSABQaAD
|
|
aiEWQegAIQoCQANAQQAhAgNAIAIgA2oiBiAGKAIAIAIgFmooAgBzNgIAIAJBBGoiAkEgRw0ACyADIAMoAhgiBkEWd0G//vz5A3Eg
|
|
BkEed0HAgYOGfHFyIAZzIgkgAygCHCICcyIHIAJBFndBv/78+QNxIAJBHndBwIGDhnxxciACcyICIAMoAhAiBUEWd0G//vz5A3Eg
|
|
BUEed0HAgYOGfHFyIAVzIgwgAygCFCIEcyINcyILQQx3QY+evPgAcSALQRR3QfDhw4d/cXJzIAtzNgIcIAMgBiAEIARBFndBv/78
|
|
+QNxIARBHndBwIGDhnxxcnMiCHMiBiADKAIAIgRBFndBv/78+QNxIARBHndBwIGDhnxxciAEcyIPcyILIAtBDHdBj568+ABxIAtB
|
|
FHdB8OHDh39xcnMgAiAEcyILczYCACADIAYgCSAFIAMoAgwiBEEWd0G//vz5A3EgBEEed0HAgYOGfHFyIARzIg5zIAJzIhBzIgVB
|
|
DHdBj568+ABxIAVBFHdB8OHDh39xcnMgBXM2AhggAyANIAQgAygCCCIFQRZ3Qb/+/PkDcSAFQR53QcCBg4Z8cXIgBXMiCXMgAnMi
|
|
ESAHIAhzcyIEQQx3QY+evPgAcSAEQRR3QfDhw4d/cXJzIARzNgIUIAMgECAGIAdzIg0gDCAFIAMoAgQiBEEWd0G//vz5A3EgBEEe
|
|
d0HAgYOGfHFyIARzIghzIhJzcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIQIAMgESAEIA9zIAJzIgUgBiAOc3MiAkEM
|
|
d0GPnrz4AHEgAkEUd0Hw4cOHf3FycyACczYCDCADIBIgByAJcyALcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAJzNgIIIAMg
|
|
BSAIIA1zIgJBDHdBj568+ABxIAJBFHdB8OHDh39xcnMgAnM2AgQgAxAKIApBCEYEQEEAIQIDQCACIANqIgogCigCACABIAJqKAIA
|
|
czYCACACQQRqIgJBIEcNAAsgACADEBUgA0EgaiQADwtBACECA0AgAiADaiIGIAYoAgAgAiAVaigCAHM2AgAgAkEEaiICQSBHDQAL
|
|
IApBEGshCyADIAMoAhgiB0EYdyAHcyIJIAMoAhwiAnMiBiACQRh3IAJzIgIgAygCECIFQRh3IAVzIgwgAygCFCIEcyINcyIIQRB3
|
|
cyAIczYCHCADIAcgBCAEQRh3cyIIcyIHIAMoAgAiBEEYdyAEcyIPcyIOQRB3IA5zIAIgBHMiDnM2AgAgAyAHIAkgBSADKAIMIgRB
|
|
GHcgBHMiEHMgAnMiEXMiBUEQd3MgBXM2AhggAyANIAQgAygCCCIFQRh3IAVzIglzIAJzIhIgBiAIc3MiBEEQd3MgBHM2AhQgAyAR
|
|
IAYgB3MiDSAMIAUgAygCBCIEQRh3IARzIghzIgVzcyIMQRB3cyAMczYCECADIBIgBCAPcyACcyICIAcgEHNzIgdBEHdzIAdzNgIM
|
|
IAMgBSAGIAlzIA5zIgZBEHdzIAZzNgIIIAMgAiAIIA1zIgZBEHdzIAZzNgIEIAMQCkEAIQIDQCACIANqIgYgBigCACACIBRqKAIA
|
|
czYCACACQQRqIgJBIEcNAAsgAyADKAIYIgZBEndBg4aMGHEgBkEad0H8+fNncXIgBnMiDCADKAIcIgJzIgcgAkESd0GDhowYcSAC
|
|
QRp3Qfz582dxciACcyICIAMoAhAiBUESd0GDhowYcSAFQRp3Qfz582dxciAFcyINIAMoAhQiBHMiCHMiCUEMd0GPnrz4AHEgCUEU
|
|
d0Hw4cOHf3FycyAJczYCHCADIAYgBCAEQRJ3QYOGjBhxIARBGndB/PnzZ3FycyIPcyIGIAMoAgAiBEESd0GDhowYcSAEQRp3Qfz5
|
|
82dxciAEcyIOcyIJIAlBDHdBj568+ABxIAlBFHdB8OHDh39xcnMgAiAEcyIJczYCACADIAYgDCAFIAMoAgwiBEESd0GDhowYcSAE
|
|
QRp3Qfz582dxciAEcyIQcyACcyIRcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIYIAMgCCAEIAMoAggiBUESd0GDhowY
|
|
cSAFQRp3Qfz582dxciAFcyIMcyACcyISIAcgD3NzIgRBDHdBj568+ABxIARBFHdB8OHDh39xcnMgBHM2AhQgAyARIAYgB3MiCCAN
|
|
IAUgAygCBCIEQRJ3QYOGjBhxIARBGndB/PnzZ3FyIARzIg9zIhdzcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIQIAMg
|
|
EiAEIA5zIAJzIgUgBiAQc3MiAkEMd0GPnrz4AHEgAkEUd0Hw4cOHf3FycyACczYCDCADIBcgByAMcyAJcyICQQx3QY+evPgAcSAC
|
|
QRR3QfDhw4d/cXJzIAJzNgIIIAMgBSAIIA9zIgJBDHdBj568+ABxIAJBFHdB8OHDh39xcnMgAnM2AgQgAxAKIApBGGsiCSALSw0B
|
|
QQAhAgNAIAIgA2oiBiAGKAIAIAIgE2ooAgBzNgIAIAJBBGoiAkEgRw0ACyATQYABayETIBRBgAFrIRQgFUGAAWshFSAWQYABayEW
|
|
IAMgAygCGCIGQRR3QY+evPgAcSAGQRx3QfDhw4d/cXIgBnMiCyADKAIcIgJzIgcgAkEUd0GPnrz4AHEgAkEcd0Hw4cOHf3FyIAJz
|
|
IgIgAygCECIFQRR3QY+evPgAcSAFQRx3QfDhw4d/cXIgBXMiDCADKAIUIgRzIg1zIghBEHdzIAhzNgIcIAMgBiAEIARBFHdBj568
|
|
+ABxIARBHHdB8OHDh39xcnMiCHMiBiADKAIAIgRBFHdBj568+ABxIARBHHdB8OHDh39xciAEcyIPcyIOQRB3IA5zIAIgBHMiDnM2
|
|
AgAgAyAGIAsgBSADKAIMIgRBFHdBj568+ABxIARBHHdB8OHDh39xciAEcyIQcyACcyIRcyIFQRB3cyAFczYCGCADIA0gBCADKAII
|
|
IgVBFHdBj568+ABxIAVBHHdB8OHDh39xciAFcyILcyACcyISIAcgCHNzIgRBEHdzIARzNgIUIAMgESAGIAdzIg0gDCAFIAMoAgQi
|
|
BEEUd0GPnrz4AHEgBEEcd0Hw4cOHf3FyIARzIghzIgVzcyIMQRB3cyAMczYCECADIBIgBCAPcyACcyICIAYgEHNzIgZBEHdzIAZz
|
|
NgIMIAMgBSAHIAtzIA5zIgZBEHdzIAZzNgIIIAMgAiAIIA1zIgZBEHdzIAZzNgIEIAMQCiAKQSBrIgpBeEcNAAtBeCAJQYyWwAAQ
|
|
OQALIAkgC0GclsAAEDkAC5UEAQt/IAAoAgQhCiAAKAIAIQsgACgCCCEMAkADQCAFDQECQAJAIAIgBEkNAANAIAEgBGohBQJAAkAC
|
|
QAJAIAIgBGsiBkEITwRAIAVBA2pBfHEiACAFRg0BIAAgBWsiAEUNAUEAIQMDQCADIAVqLQAAQQpGDQUgACADQQFqIgNHDQALIAAg
|
|
BkEIayIDSw0DDAILIAIgBEYEQCACIQQMBgtBACEDA0AgAyAFai0AAEEKRg0EIAYgA0EBaiIDRw0ACyACIQQMBQsgBkEIayEDQQAh
|
|
AAsDQCAAIAVqIgdBBGooAgAiCUGKlKjQAHNBgYKECGsgCUF/c3EgBygCACIHQYqUqNAAc0GBgoQIayAHQX9zcXJBgIGChHhxDQEg
|
|
AEEIaiIAIANNDQALCyAAIAZGBEAgAiEEDAMLA0AgACAFai0AAEEKRgRAIAAhAwwCCyAGIABBAWoiAEcNAAsgAiEEDAILIAMgBGoi
|
|
AEEBaiEEAkAgACACTw0AIAAgAWotAABBCkcNAEEAIQUgBCEDIAQhAAwDCyACIARPDQALC0EBIQUgAiIAIAgiA0YNAgsCQCAMLQAA
|
|
BEAgC0HUnMAAQQQgCigCDBEBAA0BCyABIAhqIQYgACAIayEHQQAhCSAMIAAgCEcEfyAGIAdqQQFrLQAAQQpGBSAJCzoAACADIQgg
|
|
CyAGIAcgCigCDBEBAEUNAQsLQQEhDQsgDQvPBAEEfyAAIAEQhAEhAgJAAkACQAJAAkACQAJAIAAQdQ0AIAAoAgAhAyAAEGoNASAB
|
|
IANqIQEgACADEIUBIgBBwKbAACgCAEYEQCACKAIEQQNxQQNHDQFBuKbAACABNgIAIAAgASACEE8PCyADQYACTwRAIAAQHAwBCyAA
|
|
QQxqKAIAIgQgAEEIaigCACIFRwRAIAUgBDYCDCAEIAU2AggMAQtBsKbAAEGwpsAAKAIAQX4gA0EDdndxNgIACyACEGUNAiACQcSm
|
|
wAAoAgBGDQQgAkHApsAAKAIARw0BQcCmwAAgADYCAEG4psAAQbimwAAoAgAgAWoiATYCACAAIAEQVA8LIAEgA2pBEGohAAwECyAC
|
|
EHQiAyABaiEBAkAgA0GAAk8EQCACEBwMAQsgAkEMaigCACIEIAJBCGooAgAiAkcEQCACIAQ2AgwgBCACNgIIDAELQbCmwABBsKbA
|
|
ACgCAEF+IANBA3Z3cTYCAAsgACABEFQgAEHApsAAKAIARw0BQbimwAAgATYCAA8LIAAgASACEE8LIAFBgAJPBEAgACABEB0PCyAB
|
|
QXhxQaikwABqIQICf0GwpsAAKAIAIgNBASABQQN2dCIBcUUEQEGwpsAAIAEgA3I2AgAgAgwBCyACKAIICyEBIAIgADYCCCABIAA2
|
|
AgwgACACNgIMIAAgATYCCA8LQcSmwAAgADYCAEG8psAAQbymwAAoAgAgAWoiATYCACAAIAFBAXI2AgQgAEHApsAAKAIARw0AQbim
|
|
wABBADYCAEHApsAAQQA2AgALC5ASAQ5/IwBBIGsiAyQAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANCADcDACADIAIg
|
|
AkEQahAUQQAhAgNAIAIgA2oiCiAKKAIAIAEgAmooAgBzNgIAIAJBBGoiAkEgRw0ACyABQYABaiEKIAFB4ABqIQ0gAUFAayEOIAFB
|
|
IGohD0EIIRADQCADEAwgAyADKAIYIgJBFndBv/78+QNxIAJBHndBwIGDhnxxciIGIAJzIgQgAygCHCICQRZ3Qb/+/PkDcSACQR53
|
|
QcCBg4Z8cXIiBSACcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAVzNgIcIAMgBiADKAIUIgVBFndBv/78+QNxIAVBHndBwIGD
|
|
hnxxciIHIAVzIgUgBEEMd0GPnrz4AHEgBEEUd0Hw4cOHf3Fyc3M2AhggAyADKAIQIgRBFndBv/78+QNxIARBHndBwIGDhnxxciIJ
|
|
IARzIgQgBUEMd0GPnrz4AHEgBUEUd0Hw4cOHf3FycyAHczYCFCADIAMoAgQiBUEWd0G//vz5A3EgBUEed0HAgYOGfHFyIgsgBXMi
|
|
BSADKAIIIgZBFndBv/78+QNxIAZBHndBwIGDhnxxciIHIAZzIgZBDHdBj568+ABxIAZBFHdB8OHDh39xcnMgB3M2AgggAyADKAIA
|
|
IgdBFndBv/78+QNxIAdBHndBwIGDhnxxciIIIAdzIgdBDHdBj568+ABxIAdBFHdB8OHDh39xciAIcyACczYCACADIAkgAygCDCII
|
|
QRZ3Qb/+/PkDcSAIQR53QcCBg4Z8cXIiDCAIcyIIIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzIAJzNgIQIAMgBiAIQQx3QY+e
|
|
vPgAcSAIQRR3QfDhw4d/cXJzIAxzIAJzNgIMIAMgByAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAtzIAJzNgIEQQAhAgNAIAIg
|
|
A2oiBCAEKAIAIAIgD2ooAgBzNgIAIAJBBGoiAkEgRw0ACyAQQegARgRAQQAhAgNAIAIgA2oiCiAKKAIAIgogCiAKQQR2c0GAnoD4
|
|
AHEiCkEEdHMgCnM2AgAgAkEEaiICQSBHDQALIAFBwANqIQEgAxAMQQAhAgNAIAIgA2oiCiAKKAIAIAEgAmooAgBzNgIAIAJBBGoi
|
|
AkEgRw0ACyAAIAMQFSADQSBqJAAFIAMQDCADIAMoAhgiAkEUd0GPnrz4AHEgAkEcd0Hw4cOHf3FyIgUgAnMiBiADKAIcIgJBFHdB
|
|
j568+ABxIAJBHHdB8OHDh39xciIEIAJzIgJBEHdzIARzNgIcIAMgBSADKAIUIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIHIARz
|
|
IgggBkEQd3NzNgIYIAMgByADKAIQIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIFIARzIgYgCEEQd3NzNgIUIAMgAygCBCIEQRR3
|
|
QY+evPgAcSAEQRx3QfDhw4d/cXIiByAEcyIIIAMoAggiBEEUd0GPnrz4AHEgBEEcd0Hw4cOHf3FyIgkgBHMiC0EQd3MgCXM2Aggg
|
|
AyADKAIAIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIJIARzIgxBEHcgCXMgAnM2AgAgAyAFIAMoAgwiBEEUd0GPnrz4AHEgBEEc
|
|
d0Hw4cOHf3FyIgkgBHMiBCAGQRB3c3MgAnM2AhAgAyALIARBEHdzIAlzIAJzNgIMIAMgDCAIQRB3cyAHcyACczYCBEEAIQIDQCAC
|
|
IANqIgQgBCgCACACIA5qKAIAczYCACACQQRqIgJBIEcNAAsgAxAMIAMgAygCGCICQRJ3QYOGjBhxIAJBGndB/PnzZ3FyIgYgAnMi
|
|
BCADKAIcIgJBEndBg4aMGHEgAkEad0H8+fNncXIiBSACcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAVzNgIcIAMgBiADKAIU
|
|
IgVBEndBg4aMGHEgBUEad0H8+fNncXIiByAFcyIFIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzNgIYIAMgAygCECIEQRJ3QYOG
|
|
jBhxIARBGndB/PnzZ3FyIgkgBHMiBCAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAdzNgIUIAMgAygCBCIFQRJ3QYOGjBhxIAVB
|
|
GndB/PnzZ3FyIgsgBXMiBSADKAIIIgZBEndBg4aMGHEgBkEad0H8+fNncXIiByAGcyIGQQx3QY+evPgAcSAGQRR3QfDhw4d/cXJz
|
|
IAdzNgIIIAMgAygCACIHQRJ3QYOGjBhxIAdBGndB/PnzZ3FyIgggB3MiB0EMd0GPnrz4AHEgB0EUd0Hw4cOHf3FyIAhzIAJzNgIA
|
|
IAMgCSADKAIMIghBEndBg4aMGHEgCEEad0H8+fNncXIiDCAIcyIIIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzIAJzNgIQIAMg
|
|
BiAIQQx3QY+evPgAcSAIQRR3QfDhw4d/cXJzIAxzIAJzNgIMIAMgByAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAtzIAJzNgIE
|
|
QQAhAgNAIAIgA2oiBCAEKAIAIAIgDWooAgBzNgIAIAJBBGoiAkEgRw0ACyADEAwgAyADKAIYIgJBGHciBCACcyIFIAMoAhwiAkEY
|
|
dyIGIAJzIgJBEHdzIAZzNgIcIAMgBCADKAIUIgZBGHciByAGcyIGIAVBEHdzczYCGCADIAcgAygCECIEQRh3IgUgBHMiBCAGQRB3
|
|
c3M2AhQgAyADKAIEIgZBGHciByAGcyIGIAMoAggiCEEYdyIJIAhzIghBEHdzIAlzNgIIIAMgAygCACIJQRh3IgsgCXMiCUEQdyAL
|
|
cyACczYCACADIAUgAygCDCILQRh3IgwgC3MiCyAEQRB3c3MgAnM2AhAgAyAIIAtBEHdzIAxzIAJzNgIMIAMgCSAGQRB3cyAHcyAC
|
|
czYCBEEAIQIDQCACIANqIgQgBCgCACACIApqKAIAczYCACACQQRqIgJBIEcNAAsgCkGAAWohCiANQYABaiENIA5BgAFqIQ4gD0GA
|
|
AWohDyAQQSBqIRAMAQsLC4gEAQh/IAEoAgQiBQRAIAEoAgAhBANAAkAgA0EBaiECAn8gAiADIARqLQAAIgjAIglBAE4NABoCQAJA
|
|
AkACQAJAAkACQAJAAkACQAJAIAhBjKDAAGotAABBAmsOAwABAgwLQYyiwAAgAiAEaiACIAVPGy0AAEHAAXFBgAFHDQsgA0ECagwK
|
|
C0GMosAAIAIgBGogAiAFTxssAAAhByAIQeABayIGRQ0BIAZBDUYNAgwDC0GMosAAIAIgBGogAiAFTxssAAAhBiAIQfABaw4FBAMD
|
|
AwUDCyAHQWBxQaB/Rw0IDAYLIAdBn39KDQcMBQsgCUEfakH/AXFBDE8EQCAJQX5xQW5HIAdBQE5yDQcMBQsgB0FATg0GDAQLIAlB
|
|
D2pB/wFxQQJLIAZBQE5yDQUMAgsgBkHwAGpB/wFxQTBPDQQMAQsgBkGPf0oNAwtBjKLAACAEIANBAmoiAmogAiAFTxstAABBwAFx
|
|
QYABRw0CQYyiwAAgBCADQQNqIgJqIAIgBU8bLQAAQcABcUGAAUcNAiADQQRqDAELQYyiwAAgBCADQQJqIgJqIAIgBU8bLQAAQcAB
|
|
cUGAAUcNASADQQNqCyIDIgIgBUkNAQsLIAAgAzYCBCAAIAQ2AgAgASAFIAJrNgIEIAEgAiAEajYCACAAIAIgA2s2AgwgACADIARq
|
|
NgIIDwsgAEEANgIAC/QGAgx/AX4jAEHQAGsiAyQAIANBPGogASACECYCQCADKAI8BEAgA0EoaiADQcQAaiILKAIAIgE2AgAgAyAD
|
|
KQI8Ig83AyBBACECIANBGGogAUEAEDwgA0EANgJEIAMgAykDGDcCPCADQRBqIgQgASAPpyIFajYCBCAEIAU2AgAgAygCECIBIAMo
|
|
AhQiDEcEQANAIAEtAAAiBEEEdkHkiMAAai0AAEEEdCAEQQ9xQeSIwABqLQAAciENIAMoAkAgAkYEfyMAQRBrIggkACAIQQhqIQog
|
|
A0E8aiEJQQAhBiMAQSBrIgUkAAJAIAIgAkEBaiIESw0AQQggCSgCBCICQQF0IgYgBCAEIAZJGyIEIARBCE0bIgRBf3NBH3YhBgJA
|
|
IAJFBEAgBUEANgIYDAELIAUgAjYCHCAFQQE2AhggBSAJKAIANgIUCyAFQRRqIQcgBUEIaiICAn8CQAJ/AkACQCAGBEAgBEEASA0B
|
|
IAcoAgQEQCAHQQhqKAIAIg4EQCAHKAIAIA4gBiAEEFkMBQsLIARFDQJB3aLAAC0AABogBCAGEGAMAwsgAkEANgIEIAJBCGogBDYC
|
|
AAwDCyACQQA2AgQMAgsgBgsiBwRAIAIgBzYCBCACQQhqIAQ2AgBBAAwCCyACIAY2AgQgAkEIaiAENgIAC0EBCzYCACAFKAIMIQYg
|
|
BSgCCARAIAVBEGooAgAhBAwBCyAJIAQ2AgQgCSAGNgIAQYGAgIB4IQYLIAogBDYCBCAKIAY2AgAgBUEgaiQAAkACQCAIKAIIIgJB
|
|
gYCAgHhHBEAgAkUNASACIAgoAgwQegALIAhBEGokAAwBCxBHAAsgAygCRAUgAgsgAygCPGogDToAACADIAMoAkRBAWoiAjYCRCAB
|
|
QQFqIgEgDEcNAAsLIANBOGogCygCACIBNgIAIAMgAykCPCIPNwMwIANBPGogD6cgARALIAMoAjwNASADKAJAIQIgA0EIaiADQcQA
|
|
aigCACIBQQAQPCADKAIMIQQgAygCCCACIAEQggEhAiAAIAE2AgggACAENgIEIAAgAjYCACADQTBqEFEgA0EgahBRIANB0ABqJAAP
|
|
CyADIAMpAkA3AzBB3IfAAEErIANBMGpBmIjAAEHUiMAAEDQACyADIAMpAkA3A0hB3IfAAEErIANByABqQYiIwABB9IjAABA0AAuk
|
|
AwENfyAAIAIoAAwiAyABKAAMIgRBAXZzQdWq1aoFcSIIIANzIgMgAigACCIFIAEoAAgiBkEBdnNB1arVqgVxIgkgBXMiBUECdnNB
|
|
s+bMmQNxIgsgA3MiAyACKAAEIgcgASgABCIKQQF2c0HVqtWqBXEiDCAHcyIHIAIoAAAiAiABKAAAIgFBAXZzQdWq1aoFcSINIAJz
|
|
IgJBAnZzQbPmzJkDcSIOIAdzIgdBBHZzQY+evPgAcSIPIANzNgIcIAAgBCAIQQF0cyIDIAYgCUEBdHMiBEECdnNBs+bMmQNxIggg
|
|
A3MiAyAKIAxBAXRzIgYgASANQQF0cyIBQQJ2c0Gz5syZA3EiCSAGcyIGQQR2c0GPnrz4AHEiCiADczYCGCAAIAtBAnQgBXMiAyAO
|
|
QQJ0IAJzIgJBBHZzQY+evPgAcSIFIANzNgIUIAAgD0EEdCAHczYCDCAAIAhBAnQgBHMiAyAJQQJ0IAFzIgFBBHZzQY+evPgAcSIE
|
|
IANzNgIQIAAgCkEEdCAGczYCCCAAIAVBBHQgAnM2AgQgACAEQQR0IAFzNgIAC6QDAQ5/IAAgASgCHCICIAEoAhgiBEEBdnNB1arV
|
|
qgVxIgcgAnMiAiABKAIUIgUgASgCECIGQQF2c0HVqtWqBXEiCCAFcyIFQQJ2c0Gz5syZA3EiCSACcyICIAEoAgwiAyABKAIIIgtB
|
|
AXZzQdWq1aoFcSIMIANzIgMgASgCBCIKIAEoAgAiAUEBdnNB1arVqgVxIg0gCnMiCkECdnNBs+bMmQNxIg4gA3MiA0EEdnNBj568
|
|
+ABxIg8gAnM2ABwgACAJQQJ0IAVzIgIgDkECdCAKcyIFQQR2c0GPnrz4AHEiCSACczYAGCAAIA9BBHQgA3M2ABQgACAEIAdBAXRz
|
|
IgIgBiAIQQF0cyIEQQJ2c0Gz5syZA3EiByACcyICIAsgDEEBdHMiBiABIA1BAXRzIgFBAnZzQbPmzJkDcSIIIAZzIgZBBHZzQY+e
|
|
vPgAcSIDIAJzNgAMIAAgCUEEdCAFczYAECAAIAdBAnQgBHMiAiAIQQJ0IAFzIgFBBHZzQY+evPgAcSIEIAJzNgAIIAAgA0EEdCAG
|
|
czYABCAAIARBBHQgAXM2AAAL+wIBB38jAEEQayIEJAACQAJAAkACQAJAAkAgASgCBCICRQ0AIAEoAgAhBiACQQNxIQcCQCACQQRJ
|
|
BEBBACECDAELIAZBHGohAyACQXxxIQhBACECA0AgAygCACADQQhrKAIAIANBEGsoAgAgA0EYaygCACACampqaiECIANBIGohAyAI
|
|
IAVBBGoiBUcNAAsLIAcEQCAFQQN0IAZqQQRqIQMDQCADKAIAIAJqIQIgA0EIaiEDIAdBAWsiBw0ACwsgAUEMaigCAARAIAJBAEgN
|
|
ASAGKAIERSACQRBJcQ0BIAJBAXQhAgsgAg0BC0EBIQNBACECDAELIAJBAEgNAUHdosAALQAAGiACQQEQYCIDRQ0CCyAEQQA2Aggg
|
|
BCACNgIEIAQgAzYCACAEQbiZwAAgARANRQ0CQZiawABBMyAEQQ9qQcyawABB9JrAABA0AAsQRwALQQEgAhB6AAsgACAEKQIANwIA
|
|
IABBCGogBEEIaigCADYCACAEQRBqJAAL4wIBBX9BEEEIEFggAEsEQEEQQQgQWCEAC0EIQQgQWCEDQRRBCBBYIQJBEEEIEFghBAJA
|
|
QQBBEEEIEFhBAnRrIgVBgIB8IAQgAiADamprQXdxQQNrIgMgAyAFSxsgAGsgAU0NACAAQRAgAUEEakEQQQgQWEEFayABSxtBCBBY
|
|
IgNqQRBBCBBYakEEaxADIgJFDQAgAhCHASEBAkAgAEEBayIEIAJxRQRAIAEhAAwBCyACIARqQQAgAGtxEIcBIQJBEEEIEFghBCAB
|
|
EHQgAiAAQQAgAiABayAETRtqIgAgAWsiAmshBCABEGpFBEAgACAEEEwgASACEEwgASACEBAMAQsgASgCACEBIAAgBDYCBCAAIAEg
|
|
Amo2AgALAkAgABBqDQAgABB0IgJBEEEIEFggA2pNDQAgACADEIQBIQEgACADEEwgASACIANrIgMQTCABIAMQEAsgABCGASEGIAAQ
|
|
ahoLIAYLigMCBX8BfiMAQUBqIgUkAEEBIQcCQCAALQAEDQAgAC0ABSEJIAAoAgAiBigCHCIIQQRxRQRAIAYoAhRB25zAAEHYnMAA
|
|
IAkbQQJBAyAJGyAGQRhqKAIAKAIMEQEADQEgBigCFCABIAIgBigCGCgCDBEBAA0BIAYoAhRBqJzAAEECIAYoAhgoAgwRAQANASAD
|
|
IAYgBCgCDBEAACEHDAELIAlFBEAgBigCFEHdnMAAQQMgBkEYaigCACgCDBEBAA0BIAYoAhwhCAsgBUEBOgAbIAVBNGpBvJzAADYC
|
|
ACAFIAYpAhQ3AgwgBSAFQRtqNgIUIAUgBikCCDcCJCAGKQIAIQogBSAINgI4IAUgBigCEDYCLCAFIAYtACA6ADwgBSAKNwIcIAUg
|
|
BUEMaiIINgIwIAggASACEA8NACAFQQxqQaicwABBAhAPDQAgAyAFQRxqIAQoAgwRAAANACAFKAIwQeCcwABBAiAFKAI0KAIMEQEA
|
|
IQcLIABBAToABSAAIAc6AAQgBUFAayQAIAALiAQBBX8jAEEQayIDJAACQAJ/AkAgAUGAAU8EQCADQQA2AgwgAUGAEEkNASABQYCA
|
|
BEkEQCADIAFBP3FBgAFyOgAOIAMgAUEMdkHgAXI6AAwgAyABQQZ2QT9xQYABcjoADUEDDAMLIAMgAUE/cUGAAXI6AA8gAyABQQZ2
|
|
QT9xQYABcjoADiADIAFBDHZBP3FBgAFyOgANIAMgAUESdkEHcUHwAXI6AAxBBAwCCyAAKAIIIgIgACgCBEYEQCMAQSBrIgQkAAJA
|
|
AkAgAkEBaiICRQ0AQQggACgCBCIGQQF0IgUgAiACIAVJGyICIAJBCE0bIgVBf3NBH3YhAgJAIAZFBEAgBEEANgIYDAELIAQgBjYC
|
|
HCAEQQE2AhggBCAAKAIANgIUCyAEQQhqIAIgBSAEQRRqEC4gBCgCDCECIAQoAghFBEAgACAFNgIEIAAgAjYCAAwCCyACQYGAgIB4
|
|
Rg0BIAJFDQAgAiAEQRBqKAIAEHoACxBHAAsgBEEgaiQAIAAoAgghAgsgACACQQFqNgIIIAAoAgAgAmogAToAAAwCCyADIAFBP3FB
|
|
gAFyOgANIAMgAUEGdkHAAXI6AAxBAgshASABIAAoAgQgACgCCCICa0sEQCAAIAIgARAsIAAoAgghAgsgACgCACACaiADQQxqIAEQ
|
|
ggEaIAAgASACajYCCAsgA0EQaiQAQQALvgICBX8BfiMAQTBrIgQkAEEnIQICQCAAQpDOAFQEQCAAIQcMAQsDQCAEQQlqIAJqIgNB
|
|
BGsgACAAQpDOAIAiB0KQzgB+faciBUH//wNxQeQAbiIGQQF0QaqdwABqLwAAOwAAIANBAmsgBSAGQeQAbGtB//8DcUEBdEGqncAA
|
|
ai8AADsAACACQQRrIQIgAEL/wdcvViAHIQANAAsLIAenIgNB4wBLBEAgAkECayICIARBCWpqIAenIgMgA0H//wNxQeQAbiIDQeQA
|
|
bGtB//8DcUEBdEGqncAAai8AADsAAAsCQCADQQpPBEAgAkECayICIARBCWpqIANBAXRBqp3AAGovAAA7AAAMAQsgAkEBayICIARB
|
|
CWpqIANBMGo6AAALIAFBxJvAAEEAIARBCWogAmpBJyACaxAJIARBMGokAAuyAgEDfyMAQYABayIEJAACQAJAAn8CQCABKAIcIgJB
|
|
EHFFBEAgAkEgcQ0BIAA1AgAgARAaDAILIAAoAgAhAEEAIQIDQCACIARqQf8AakEwQdcAIABBD3EiA0EKSRsgA2o6AAAgAkEBayEC
|
|
IABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQCQwBCyAAKAIAIQBBACECA0AgAiAE
|
|
akH/AGpBMEE3IABBD3EiA0EKSRsgA2o6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIg
|
|
BGpBgAFqQQAgAmsQCQsgBEGAAWokAA8LIABBgAFBmJ3AABA2AAsgAEGAAUGYncAAEDYAC7sCAQV/IAAoAhghAwJAAkAgACAAKAIM
|
|
RgRAIABBFEEQIABBFGoiASgCACIEG2ooAgAiAg0BQQAhAQwCCyAAKAIIIgIgACgCDCIBNgIMIAEgAjYCCAwBCyABIABBEGogBBsh
|
|
BANAIAQhBSACIgFBFGoiAiABQRBqIAIoAgAiAhshBCABQRRBECACG2ooAgAiAg0ACyAFQQA2AgALAkAgA0UNAAJAIAAgACgCHEEC
|
|
dEGYo8AAaiICKAIARwRAIANBEEEUIAMoAhAgAEYbaiABNgIAIAENAQwCCyACIAE2AgAgAQ0AQbSmwABBtKbAACgCAEF+IAAoAhx3
|
|
cTYCAA8LIAEgAzYCGCAAKAIQIgIEQCABIAI2AhAgAiABNgIYCyAAQRRqKAIAIgBFDQAgAUEUaiAANgIAIAAgATYCGAsLnwIBBH8g
|
|
AEIANwIQIAACf0EAIAFBgAJJDQAaQR8gAUH///8HSw0AGiABQQYgAUEIdmciAmt2QQFxIAJBAXRrQT5qCyIDNgIcIANBAnRBmKPA
|
|
AGohAgJAQbSmwAAoAgAiBEEBIAN0IgVxRQRAQbSmwAAgBCAFcjYCACACIAA2AgAMAQsgAigCACECIAMQUyEDAkACQCACEHQgAUYE
|
|
QCACIQMMAQsgASADdCEEA0AgAiAEQR12QQRxakEQaiIFKAIAIgNFDQIgBEEBdCEEIAMiAhB0IAFHDQALCyADKAIIIgEgADYCDCAD
|
|
IAA2AgggACADNgIMIAAgATYCCCAAQQA2AhgPCyAFIAA2AgALIAAgAjYCGCAAIAA2AgggACAANgIMC8QCAgR/AX4jAEFAaiIDJAAg
|
|
ACgCACEFIAACf0EBIAAtAAgNABogACgCBCIEKAIcIgZBBHFFBEBBASAEKAIUQducwABB5ZzAACAFG0ECQQEgBRsgBEEYaigCACgC
|
|
DBEBAA0BGiABIAQgAigCDBEAAAwBCyAFRQRAQQEgBCgCFEHmnMAAQQIgBEEYaigCACgCDBEBAA0BGiAEKAIcIQYLIANBAToAGyAD
|
|
QTRqQbycwAA2AgAgAyAEKQIUNwIMIAMgA0EbajYCFCADIAQpAgg3AiQgBCkCACEHIAMgBjYCOCADIAQoAhA2AiwgAyAELQAgOgA8
|
|
IAMgBzcCHCADIANBDGo2AjBBASABIANBHGogAigCDBEAAA0AGiADKAIwQeCcwABBAiADKAI0KAIMEQEACzoACCAAIAVBAWo2AgAg
|
|
A0FAayQAIAALXQEMf0GgpMAAKAIAIgIEQEGYpMAAIQYDQCACIgEoAgghAiABKAIEIQMgASgCACEEIAEoAgwaIAEhBiAFQQFqIQUg
|
|
Ag0ACwtB2KbAAEH/HyAFIAVB/x9NGzYCACAIC8YeAhB/A34jAEEgayIIJAAgCCACNgIYIAggAjYCFCAIIAE2AhAgCEEQahA+IAgo
|
|
AhghEyAIKAIQIQEgCCADBH8gCCAENgIYIAggBDYCFCAIIAM2AhAgCEEQahA+IAggCCgCGCICNgIMIAggAjYCCCAIKAIQBUEACzYC
|
|
BCAIQRBqIREjAEGgCWsiBSQAAkACQAJAAkACQCAIQQRqIgMoAgBFBEAgBUHwBGpB4InAAEEsEBMgBSgC8AQiAkUNASAFIAUoAvgE
|
|
Igc2AiwgBSAFKAL0BDYCKCAFIAI2AiQMAgsgBUGYAWogA0EIaigCACICNgIAIAUgAykCACIWNwOQASAFQfAEaiAWpyACEBMgBSgC
|
|
8AQiAgRAIAUgBSgC+AQiBzYCLCAFIAUoAvQENgIoIAUgAjYCJCAFQZABahBRDAILIAUoAvQEIQIgEUEANgIAIBEgAjYCBCAFQZAB
|
|
ahBRDAILIAUoAvQEIQIgEUEANgIAIBEgAjYCBAwBCyAHQSBHBEBBnIrAAEEJEAEhAiARQQA2AgAgESACNgIEIAVBJGoQUQwBCyAF
|
|
QcgAaiIHIAJBGGopAAA3AwAgBUFAayIEIAJBEGopAAA3AwAgBUE4aiIDIAJBCGopAAA3AwAgBSACKQAANwMwIAVBGGogE0EAEDwg
|
|
BSgCHCECIAUoAhggASATEIIBIQogBSATNgJcIAUgAjYCWCAFIAo2AlQgBUH4AGogBykDADcDACAFQfAAaiAEKQMANwMAIAVB6ABq
|
|
IAMpAwA3AwAgBSAFKQMwNwNgIAVBkAFqIAVB4ABqEAggBUEQaiATQXBxIg1BEGoiDkEBEDwgBSAONgKMASAFIAUoAhQ2AogBIAUg
|
|
BSgCECISNgKEASAOIBNJDQEgBUHwBGoiECAFQZABakHgAxCCARogBUGACWoiA0IANwAAIANBCGpCADcAACADIAogDWogE0EPcSIC
|
|
EIIBGiACIANqQRAgAmsiAiACEIEBGiAFQdgIaiAFQYgJaikAADcDACAFIAUpAIAJNwPQCCAFIBNBBHY2AogJIAUgEjYChAkgBSAK
|
|
NgKACSMAQUBqIgkkACADKAIIIhRBAXEgAygCBCEHIAMoAgAhBCAUQQJPBEAgFEEBdiEGIAQhAyAHIQIDQCAJQSBqIBAgAxARIAJB
|
|
GGogCUE4aikDADcAACACQRBqIAlBMGopAwA3AAAgAkEIaiAJQShqKQMANwAAIAIgCSkDIDcAACADQSBqIQMgAkEgaiECIAZBAWsi
|
|
Bg0ACwsEQCAJEE0gCUEIaiAEIBRB/v///wBxQQR0IgNqIgJBCGopAAA3AwAgCSACKQAANwMAIAlBIGogECAJEBEgAyAHaiICQQhq
|
|
IAlBKGopAAA3AAAgAiAJKQAgNwAACyAJQUBrJAAgEkUNASAFQeAIaiICEE0gBUHoCGogBUHYCGopAwA3AwAgBSAFKQPQCDcD4Agg
|
|
BUGACWogBUHwBGoiFCACEBEgDSASaiICQQhqIAVBiAlqKQAANwAAIAIgBSkAgAk3AAAgBUEIaiAOQQAQPCAFKAIMIQMgBSgCCCAS
|
|
IA4QggEhAiAFIA42AvgEIAUgAzYC9AQgBSACNgLwBCMAQTBrIgwkACAMQRBqIQYgFCgCCCIPIRBBqILAAC0AACEKIwBBIGsiDSQA
|
|
IBBBgICAgHxJIQQgEEEDbiICQQJ0IQMCQCAQIAJBA2xrIgdFBEAgAyECDAELAkACQAJAIApFBEBBAiECIAdBAWsOAgMCAQsgEEGA
|
|
gICAfEkgA0EEaiICIANPcSEEDAMLIA1BEGpCADcCACANQQE2AgggDUHgjsAANgIEIA0gDUEcajYCDCANQQRqQcyPwAAQSAALQQMh
|
|
AgsgAiADciECCyAGIAI2AgQgBiAENgIAIA1BIGokAAJAAkAgDCgCEARAIAxBCGogDCgCFCILQQEQPCAMKAIMIRAgDCgCCCEJQQAh
|
|
B0EAIQQCQAJAAkACfyAUKAIAIQ5BACECAkAgD0EbSQ0AIA9BGmsiAkEAIAIgD00bIQoCQANAIA8gB0Eaak8EQCAEQWBGDQIgCyAE
|
|
QSBqIgJJBEAgAiALQZSVwAAQOAALIAQgCWoiBiAHIA5qIgQpAAAiFUI4hiIWQjqIp0GrgsAAai0AADoAACAGQQRqIBVCgICA+A+D
|
|
QgiGIhdCIoinQauCwABqLQAAOgAAIAZBAWogFiAVQoD+A4NCKIaEIhZCNIinQT9xQauCwABqLQAAOgAAIAZBAmogFiAVQoCA/AeD
|
|
QhiGIBeEhCIXQi6Ip0E/cUGrgsAAai0AADoAACAGQQNqIBdCKIinQT9xQauCwABqLQAAOgAAIAZBBmogFUIIiEKAgID4D4MgFUIY
|
|
iEKAgPwHg4QgFUIoiEKA/gODIBVCOIiEhCIWpyIDQRZ2QT9xQauCwABqLQAAOgAAIAZBB2ogA0EQdkE/cUGrgsAAai0AADoAACAG
|
|
QQVqIBYgF4RCHIinQT9xQauCwABqLQAAOgAAIAZBCGogBEEGaikAACIVQjiGIhZCOoinQauCwABqLQAAOgAAIAZBCWogFiAVQoD+
|
|
A4NCKIaEIhdCNIinQT9xQauCwABqLQAAOgAAIAZBCmogFyAVQoCAgPgPg0IIhiIWIBVCgID8B4NCGIaEhCIXQi6Ip0E/cUGrgsAA
|
|
ai0AADoAACAGQQtqIBdCKIinQT9xQauCwABqLQAAOgAAIAZBDGogFkIiiKdBq4LAAGotAAA6AAAgBkENaiAXIBVCCIhCgICA+A+D
|
|
IBVCGIhCgID8B4OEIBVCKIhCgP4DgyAVQjiIhIQiFoRCHIinQT9xQauCwABqLQAAOgAAIAZBDmogFqciA0EWdkE/cUGrgsAAai0A
|
|
ADoAACAGQQ9qIANBEHZBP3FBq4LAAGotAAA6AAAgBkEQaiAEQQxqKQAAIhVCOIYiFkI6iKdBq4LAAGotAAA6AAAgBkERaiAWIBVC
|
|
gP4Dg0IohoQiF0I0iKdBP3FBq4LAAGotAAA6AAAgBkESaiAXIBVCgICA+A+DQgiGIhYgFUKAgPwHg0IYhoSEIhdCLoinQT9xQauC
|
|
wABqLQAAOgAAIAZBE2ogF0IoiKdBP3FBq4LAAGotAAA6AAAgBkEUaiAWQiKIp0GrgsAAai0AADoAACAGQRZqIBVCCIhCgICA+A+D
|
|
IBVCGIhCgID8B4OEIBVCKIhCgP4DgyAVQjiIhIQiFqciA0EWdkE/cUGrgsAAai0AADoAACAGQRdqIANBEHZBP3FBq4LAAGotAAA6
|
|
AAAgBkEVaiAWIBeEQhyIp0E/cUGrgsAAai0AADoAACAGQRhqIARBEmopAAAiFUI4hiIWQjqIp0GrgsAAai0AADoAACAGQRlqIBYg
|
|
FUKA/gODQiiGhCIXQjSIp0E/cUGrgsAAai0AADoAACAGQRpqIBcgFUKAgID4D4NCCIYiFiAVQoCA/AeDQhiGhIQiF0IuiKdBP3FB
|
|
q4LAAGotAAA6AAAgBkEbaiAXQiiIp0E/cUGrgsAAai0AADoAACAGQRxqIBZCIoinQauCwABqLQAAOgAAIAZBHWogFyAVQgiIQoCA
|
|
gPgPgyAVQhiIQoCA/AeDhCAVQiiIQoD+A4MgFUI4iISEIhaEQhyIp0E/cUGrgsAAai0AADoAACAGQR5qIBanIgNBFnZBP3FBq4LA
|
|
AGotAAA6AAAgBkEfaiADQRB2QT9xQauCwABqLQAAOgAAIAIhBCAKIAdBGGoiB08NAQwDCwsgB0EaaiAPQYSVwAAQOAALQWBBAEGU
|
|
lcAAEDkACwJAAkACQAJAAkACfwJAAkACQAJAAkACQCAPIA9BA3AiBmsiEiAHTQRAIAIhAwwBCwNAIAdBfEsNAiAHQQNqIgQgD0sN
|
|
AyACQQRqIQMgAkF7Sw0EIAMgC0sEQCADIAtB9JTAABA4AAsgAiAJaiINIAcgDmoiAi0AACIKQQJ2QauCwABqLQAAOgAAIA1BA2og
|
|
AkECai0AACIHQT9xQauCwABqLQAAOgAAIA1BAmogAkEBai0AACICQQJ0IAdBBnZyQT9xQauCwABqLQAAOgAAIA1BAWogCkEEdCAC
|
|
QQR2ckE/cUGrgsAAai0AADoAACADIQIgBCIHIBJJDQALCyAGQQFrDgIDBAYLIAcgB0EDakHklMAAEDkACyAHQQNqIA9B5JTAABA4
|
|
AAsgAiADQfSUwAAQOQALIAMgC0kEQEECIQcgAyAJaiAOIBJqLQAAIgJBAnZBq4LAAGotAAA6AAAgAkEEdEEwcSALIANBAWoiBEsN
|
|
AhogBCALQdSUwAAQNwALIAMgC0HElMAAEDcACyADIAtPDQIgAyAJaiAOIBJqLQAAIgJBAnZBq4LAAGotAAA6AAAgEkEBaiIKIA9P
|
|
DQMgA0EBaiIEIAtPDQRBAyEHIAQgCWogAkEEdCAKIA5qLQAAIgJBBHZyQT9xQauCwABqLQAAOgAAIANBAmoiBCALTw0FIAJBAnRB
|
|
PHELIQIgBCAJaiACQauCwABqLQAAOgAAIAMgB2ohAwsgAwwECyADIAtBhJTAABA3AAsgCiAPQZSUwAAQNwALIAQgC0GklMAAEDcA
|
|
CyAEIAtBtJTAABA3AAsiCkGogsAALQAABH8gCiALSw0BAn8gCSAKaiECIAsgCmshB0EAIQMCQEEAIAprQQNxIgQEQANAIAMgB0YN
|
|
AiACIANqQT06AAAgBCADQQFqIgNHDQALCyAEDAELIAcgB0Hcj8AAEDcACwVBAAsgCmpLDQEMAgsgCiALQdCFwAAQNgALQeCFwABB
|
|
KkGMhsAAED0ACyAMQRxqIAkgCxALIAwoAhwEQCAMKQIgIhZCgICAgPAfg0KAgICAIFINAgsgESALNgIIIBEgEDYCBCARIAk2AgAg
|
|
FBBRIAxBMGokAAwCC0GCh8AAQS1BsIfAABA9AAsgDCAWNwIoIAwgCzYCJCAMIBA2AiAgDCAJNgIcQcCHwABBDCAMQRxqQZCBwABB
|
|
zIfAABA0AAsgBUGEAWoQUSAFQdQAahBRIAVBJGoQUQsgBUGgCWokAAwBC0Hch8AAQSsgBUHwBGpBuIjAAEGMisAAEDQACyAIKAIY
|
|
IQIgCCgCFCEDIAgoAhAhBCATBEAgARAFCyAAIAQEfyAIIAI2AhggCCADNgIUIAggBDYCECAIQRBqED4gCCgCGCEBIAgoAhAhBEEA
|
|
IQNBAAVBAQs2AgwgACADNgIIIAAgATYCBCAAIAQ2AgAgCEEgaiQAC9wRAg1/AX4jAEEgayIHJAAgByACNgIYIAcgAjYCFCAHIAE2
|
|
AhAgB0EQahA+IAcoAhghDyAHKAIQIQEgByADBH8gByAENgIYIAcgBDYCFCAHIAM2AhAgB0EQahA+IAcgBygCGCICNgIMIAcgAjYC
|
|
CCAHKAIQBUEACzYCBCAHQRBqIQsjAEHgCGsiBSQAAkACQAJAIAdBBGoiAigCAEUEQCAFQfQEakHgicAAQSwQEyAFKAL0BCIDRQ0B
|
|
IAUgBSgC/AQiBDYCLCAFIAUoAvgENgIoIAUgAzYCJAwCCyAFQZgBaiACQQhqKAIAIgM2AgAgBSACKQIAIhI3A5ABIAVB9ARqIBKn
|
|
IAMQEyAFKAL0BCIDBEAgBSAFKAL8BCIENgIsIAUgBSgC+AQ2AiggBSADNgIkIAVBkAFqEFEMAgsgBSgC+AQhAiALQQA2AgAgCyAC
|
|
NgIEIAVBkAFqEFEMAgsgBSgC+AQhAiALQQA2AgAgCyACNgIEDAELAkACQAJAIARBIEYEQCAFQcgAaiIEIANBGGopAAA3AwAgBUFA
|
|
ayIJIANBEGopAAA3AwAgBUE4aiIGIANBCGopAAA3AwAgBSADKQAANwMwIAVB9ARqIAEgDxAmIAUoAvQEIgINAUG4isAAQRwQASEC
|
|
IAtBADYCACALIAI2AgQMAgtBnIrAAEEJEAEhAiALQQA2AgAgCyACNgIEDAELIAUgBSgC/AQiCjYCXCAFIAUoAvgENgJYIAUgAjYC
|
|
VCAFQfgAaiAEKQMANwMAIAVB8ABqIAkpAwA3AwAgBUHoAGogBikDADcDACAFIAUpAzA3A2AgBUGQAWoiAyAFQeAAahAIIAVBGGog
|
|
CkEBEDwgBSAKNgKMASAFIAUoAhw2AogBIAUgBSgCGCIJNgKEASAFQfQEaiADQeADEIIBGgJAIApBD3ENACAFIAk2AtgIIAUgAjYC
|
|
1AggBSAKQQR2Igw2AtwIIAVB9ARqIQ4jAEFAaiIIJAAgBUHUCGoiAigCCCINQQFxIAIoAgQhAyACKAIAIQYgDUECTwRAIA1BAXYh
|
|
ECAGIQQgAyECA0AgCEEgaiAOIAQQDiACQRhqIAhBOGopAwA3AAAgAkEQaiAIQTBqKQMANwAAIAJBCGogCEEoaikDADcAACACIAgp
|
|
AyA3AAAgBEEgaiEEIAJBIGohAiAQQQFrIhANAAsLBEAgCBBNIAhBCGogBiANQf7///8AcUEEdCICaiIEQQhqKQAANwMAIAggBCkA
|
|
ADcDACAIQSBqIA4gCBAOIAIgA2oiAkEIaiAIQShqKQAANwAAIAIgCCkAIDcAAAsgCEFAayQAIAVBEGohCCAJIQJBACEDQQAhBgJA
|
|
AkACQCAMRQ0AIAxBBHQgAmpBEGstAA8iBEERa0H/AXFB8AFJDQBBACAEayEDQRAgBGsgAiAMQQR0aiEOAkADQCADQX9GDQEgAyAO
|
|
aiEGIANBAWohAyAGLQAAIARGDQALQQAhAwwBC0ERTw0BIAxBBHQgBGshBiACIQMLIAggBjYCBCAIIAM2AgAMAQtB5YDAAEEZQYCB
|
|
wAAQQwALIAUoAhBFDQACQCAKRQRAQQAhBgwBCyAKIAkgCmpBAWstAAAiAmshBiACIApLDQMLIAVB9ARqIQhBACEEIwBB8ABrIgMk
|
|
ACADQShqIgIgBjYCBCACIAk2AgAgAyADKQMoNwI0IANB0ABqIANBNGoQEgJAAkACQAJAIAMoAlAEQCADQegAaiADQdgAaikCADcD
|
|
ACADIAMpAlA3A2AgA0EgaiADQeAAaiICEH4gAygCJCEJIAMoAiAhCiADQRhqIAIQfyADKAIcRQRAIAggCjYCBCAIQQA2AgAgCEEI
|
|
aiAJNgIADAILAkAgBkUEQEEBIQIMAQsgBkEASA0DQd2iwAAtAAAaIAZBARBgIgJFDQQLIANBADYCRCADIAI2AjwgAyAGNgJAIAYg
|
|
CUkEfyADQTxqQQAgCRAtIAMoAkQhBCADKAI8BSACCyAEaiAKIAkQggEaIAMgBCAJaiIGNgJEIAMoAkAgBmtBAk0EQCADQTxqIAZB
|
|
AxAtIAMoAkQhBgsgAygCPCICIAZqIgRBhJvAAC8AACIJOwAAIARBAmpBhpvAAC0AACIKOgAAIAMgBkEDaiIGNgJEIAMgAykCNDcC
|
|
SCADQdAAaiADQcgAahASIAMoAlAEQANAIANB6ABqIANB2ABqKQIANwMAIAMgAykCUDcDYCADQRBqIANB4ABqEH4gAygCECEMIAMo
|
|
AhQiBCADKAJAIAZrSwRAIANBPGogBiAEEC0gAygCRCEGIAMoAjwhAgsgAiAGaiAMIAQQggEaIAMgBCAGaiIGNgJEIANBCGogA0Hg
|
|
AGoQfyADKAIMBEAgAygCQCAGa0ECTQRAIANBPGogBkEDEC0gAygCRCEGCyADKAI8IgIgBmoiBCAJOwAAIARBAmogCjoAACADIAZB
|
|
A2oiBjYCRAsgA0HQAGogA0HIAGoQEiADKAJQDQALCyAIIAMpAjw3AgAgCEEIaiADQcQAaigCADYCAAwBCyAIQbiZwAA2AgQgCEEA
|
|
NgIAIAhBCGpBADYCAAsgA0HwAGokAAwCCxBHAAtBASAGEHoACwJAIAUoAvQEIgNFBEAgBSgC+AQhBCAFQQhqIAVB/ARqKAIAIgZB
|
|
ABA8IAUoAgwhAiAFKAIIIgMgBCAGEIIBGgwBCyAFKAL8BCEGIAUoAvgEIQILIAsgBjYCCCALIAI2AgQgCyADNgIAIAVBhAFqEFEg
|
|
BUHUAGoQUSAFQSRqEFEMAwtB1IrAAEEeEAEhAiALQQA2AgAgCyACNgIEIAVBhAFqEFEgBUHUAGoQUQsgBUEkahBRDAELIAYgCkGo
|
|
isAAEDgACyAFQeAIaiQAIAcoAhghAiAHKAIUIQMgBygCECEEIA8EQCABEAULIAAgBAR/IAcgAjYCGCAHIAM2AhQgByAENgIQIAdB
|
|
EGoQPiAHKAIYIQEgBygCECEEQQAhA0EABUEBCzYCDCAAIAM2AgggACABNgIEIAAgBDYCACAHQSBqJAALjQIBAn8jAEEQayICJAAC
|
|
QCAAKAIAIgMtAABFBEAgASgCFEGNosAAQQQgAUEYaigCACgCDBEBACEADAELQQEhACACIANBAWo2AgAgAiABKAIUQZGiwABBBCAB
|
|
QRhqKAIAKAIMEQEAOgAMIAIgATYCCCACQQA6AA0gAkEANgIEIAJBBGogAkHsnMAAEB4gAi0ADCEBKAIAIgNFBEAgAUEARyEADAEL
|
|
IAENACACKAIIIQECQCADQQFHDQAgAi0ADUUNACABLQAcQQRxDQAgASgCFEHonMAAQQEgAUEYaigCACgCDBEBAA0BCyABKAIUQcSb
|
|
wABBASABQRhqKAIAKAIMEQEAIQALIAJBEGokACAAC/ABAgR/AX4jAEEwayICJAAgAUEEaiEEIAEoAgRFBEAgASgCACEDIAJBLGoi
|
|
BUEANgIAIAJCATcCJCACQSRqQaCXwAAgAxANGiACQSBqIAUoAgAiAzYCACACIAIpAiQiBjcDGCAEQQhqIAM2AgAgBCAGNwIACyAC
|
|
QRBqIgMgBEEIaigCADYCACABQQxqQQA2AgAgBCkCACEGIAFCATcCBEHdosAALQAAGiACIAY3AwhBDEEEEGAiAUUEQEEEQQwQegAL
|
|
IAEgAikDCDcCACABQQhqIAMoAgA2AgAgAEHQmMAANgIEIAAgATYCACACQTBqJAAL1wYBCn8jAEEQayIFJAAgBSACNgIIIAUgAjYC
|
|
BCAFIAE2AgAgBRA+IAUoAgghCyAFKAIAIQEgBSAENgIIIAUgBDYCBCAFIAM2AgAgBRA+IAUoAgAiDCEEIAUoAgghAyMAQfABayIC
|
|
JAAgAiALNgIEIAIgATYCACACIAM2AgwgAiAENgIIIAJBmAFqQYSJwABBLBATIAIoApgBRQRAIAIgAigCnAE2AkBB3IfAAEErIAJB
|
|
QGtBqIjAAEGwicAAEDQACyACQRhqIAJBoAFqKAIANgIAIAIgAikCmAE3AxAgAkHMAGpCAzcCACACQawBakEDNgIAIAJBpAFqIg1B
|
|
BDYCACACQQM2AkQgAkHAicAANgJAIAJBAzYCnAEgAiACQZgBaiIHNgJIIAIgAkEIajYCqAEgAiACQRBqIg42AqABIAIgAjYCmAEg
|
|
AkEcaiIEIAJBQGsiCRAWIAlBAEHAABCBARogAkGIAWpC/rnrxemOlZkQNwIAIAJCgcaUupbx6uZvNwKAASACQgA3ApABIAkgAigC
|
|
HCACKAIkECggBBBRIAcgCUHYABCCARogAkEoaiEKQQAhBCMAQdAAayIGJAAgBkEAQTgQgQEiBiAHKAJQIgg2AjggBiAHQdQAaigC
|
|
ADYCPCAHQfKKwABBOEH4ACAIQQN2QT9xIghBOEkbIAhrECgDQCAEIAZqIAQgB2ooAgA2AgAgBEEEaiIEQThHDQALIAdBQGsiCCAG
|
|
EAQgBkIANwNIIAZCADcDQEFwIQQDQCAEIAZqQdAAaiAEIAhqQRBqKAIANgIAIARBBGoiBA0ACyAKIAYpA0g3AAggCiAGKQNANwAA
|
|
IAZB0ABqJAAgDUIBNwIAIAJBATYCnAEgAkHYicAANgKYASACQQU2AjwgAiACQThqNgKgASACIAo2AjggCSAHEBYgBUEIaiACQcgA
|
|
aigCADYCACAFIAIpA0A3AgAgDhBRIAJB8AFqJAAgBSgCCCEGIAUoAgQhBCAFKAIAIQIgAwRAIAwQBQsgCwRAIAEQBQsgACACBH8g
|
|
BSAGNgIIIAUgBDYCBCAFIAI2AgAgBRA+IAUoAgghASAFKAIAIQNBACEEQQAFQQELNgIMIAAgBDYCCCAAIAE2AgQgACADNgIAIAVB
|
|
EGokAAvaAQEBfyMAQRBrIgUkACAFIAAoAhQgASACIABBGGooAgAoAgwRAQA6AAwgBSAANgIIIAUgAkU6AA0gBUEANgIEIAVBBGog
|
|
A0Hsj8AAEB4gBEHYi8AAEB4hAAJ/IAUtAAwiAUEARyAAKAIAIgJFDQAaQQEgAQ0AGiAFKAIIIQACQCACQQFHDQAgBS0ADUUNACAA
|
|
LQAcQQRxDQBBASAAKAIUQeicwABBASAAQRhqKAIAKAIMEQEADQEaCyAAKAIUQcSbwABBASAAQRhqKAIAKAIMEQEACyAFQRBqJAAL
|
|
jSICEX8IfiMAQTBrIgkkACAJQQhqIhEgAkEDdiACQQdxIgNBAEdqNgIAIBEgAkECdiACQQNxQQBHakEDbDYCBCAJIAkpAwg3AhAg
|
|
CSAJQRBqKAIEIg5BARA8IAkgDjYCICAJIAkoAgQ2AhwgCSAJKAIAIhE2AhggCUEkaiEGIAEhDCAJKAIQIQogCSgCFBpBqoLAAC0A
|
|
ACETQamCwAAtAAAhEgJAAkACQAJAAkACQAJAAkACQAJAAkAgAw4GAAUBAgMFBAtBCCEDDAMLQQohAwwCC0ELIQMMAQtBDCEDC0EA
|
|
IQEgAiADayIEQQAgAiAETxsiD0EgTw0BDAMLIAJFDQEgDCACQQFrIgFqLQAAIgJBPUYNASACQeuCwABqLQAAQf8BRw0BIAZBADoA
|
|
BCAGQQI2AgAgBkEIaiABNgIAIAZBBWogAjoAAAwECyAPQSBrIQsCQAJAAkACQANAIAVBYEYNASAFQSBqIgEgAksNAiAIQRpqIA5L
|
|
DQMCQAJAIAUgDGoiBy0AACIDQeuCwABqMQAAIhlC/wFRDQAgB0EBai0AACIDQeuCwABqMQAAIhdC/wFRBEAgBUEBaiEFDAELIAdB
|
|
AmotAAAiA0HrgsAAajEAACIYQv8BUQRAIAVBAmohBQwBCyAHQQNqLQAAIgNB64LAAGoxAAAiGkL/AVEEQCAFQQNqIQUMAQsgB0EE
|
|
ai0AACIDQeuCwABqMQAAIhRC/wFRBEAgBUEEaiEFDAELIAdBBWotAAAiA0HrgsAAajEAACIVQv8BUQRAIAVBBWohBQwBCyAHQQZq
|
|
LQAAIgNB64LAAGoxAAAiG0L/AVEEQCAFQQZqIQUMAQsgB0EHai0AACIDQeuCwABqMQAAIhZC/wFSDQEgBUEHaiEFCyAGQQI2AgAg
|
|
BiADrUIIhiAFrUIghoQ3AgQMCQsgCCARaiINIBdCNIYgGUI6hoQiFyAYQi6GhCIYIBpCKIaEIBRCIoaEIhQgFUIchoQiFSAbQhaG
|
|
hCAWQhCGhCIWQoD+A4NCKIYgFkKAgPwHg0IYhiAWQoCAgPgPg0IIhoSEIBVCCIhCgICA+A+DIBRCGIhCgID8B4OEIBhCKIhCgP4D
|
|
gyAXQjiIhISENwAAQQghAyAHQQhqLQAAIgRB64LAAGoxAAAiGUL/AVENBEEJIQMgB0EJai0AACIEQeuCwABqMQAAIhdC/wFRDQRB
|
|
CiEDIAdBCmotAAAiBEHrgsAAajEAACIYQv8BUQ0EQQshAyAHQQtqLQAAIgRB64LAAGoxAAAiGkL/AVENBEEMIQMgB0EMai0AACIE
|
|
QeuCwABqMQAAIhRC/wFRDQRBDSEDIAdBDWotAAAiBEHrgsAAajEAACIVQv8BUQ0EQQ4hAyAHQQ5qLQAAIgRB64LAAGoxAAAiG0L/
|
|
AVENBEEPIQMgB0EPai0AACIEQeuCwABqMQAAIhZC/wFRDQQgDUEGaiAXQjSGIBlCOoaEIhcgGEIuhoQiGCAaQiiGhCAUQiKGhCIU
|
|
IBVCHIaEIhUgG0IWhoQgFkIQhoQiFkKA/gODQiiGIBZCgID8B4NCGIYgFkKAgID4D4NCCIaEhCAVQgiIQoCAgPgPgyAUQhiIQoCA
|
|
/AeDhCAYQiiIQoD+A4MgF0I4iISEhDcAAEEQIQMCQCAHQRBqLQAAIgRB64LAAGoxAAAiGUL/AVENAEERIQMgB0ERai0AACIEQeuC
|
|
wABqMQAAIhdC/wFRDQBBEiEDIAdBEmotAAAiBEHrgsAAajEAACIYQv8BUQ0AQRMhAyAHQRNqLQAAIgRB64LAAGoxAAAiGkL/AVEN
|
|
AEEUIQMgB0EUai0AACIEQeuCwABqMQAAIhRC/wFRDQBBFSEDIAdBFWotAAAiBEHrgsAAajEAACIVQv8BUQ0AQRYhAyAHQRZqLQAA
|
|
IgRB64LAAGoxAAAiG0L/AVENAEEXIQMgB0EXai0AACIEQeuCwABqMQAAIhZC/wFRDQAgDUEMaiAXQjSGIBlCOoaEIhcgGEIuhoQi
|
|
GCAaQiiGhCAUQiKGhCIUIBVCHIaEIhUgG0IWhoQgFkIQhoQiFkKA/gODQiiGIBZCgID8B4NCGIYgFkKAgID4D4NCCIaEhCAVQgiI
|
|
QoCAgPgPgyAUQhiIQoCA/AeDhCAYQiiIQoD+A4MgF0I4iISEhDcAAEEYIQMgB0EYai0AACIEQeuCwABqMQAAIhlC/wFRDQhBGSED
|
|
IAdBGWotAAAiBEHrgsAAajEAACIXQv8BUQ0IQRohAyAHQRpqLQAAIgRB64LAAGoxAAAiGEL/AVENCEEbIQMgB0Ebai0AACIEQeuC
|
|
wABqMQAAIhpC/wFRDQhBHCEDIAdBHGotAAAiBEHrgsAAajEAACIUQv8BUQ0IQR0hAyAHQR1qLQAAIgRB64LAAGoxAAAiFUL/AVEN
|
|
CEEeIQMgB0Eeai0AACIEQeuCwABqMQAAIhtC/wFRDQhBHyEDIAdBH2otAAAiBEHrgsAAajEAACIWQv8BUQ0IIA1BEmogF0I0hiAZ
|
|
QjqGhCIXIBhCLoaEIhggGkIohoQgFEIihoQiFCAVQhyGhCIVIBtCFoaEIBZCEIaEIhZCgP4Dg0IohiAWQoCA/AeDQhiGIBZCgICA
|
|
+A+DQgiGhIQgFUIIiEKAgID4D4MgFEIYiEKAgPwHg4QgGEIoiEKA/gODIBdCOIiEhIQ3AAAgCkEEayEKIAhBGGohCCALIAEiBUkN
|
|
BwwBCwsMBgtBYEEAQayRwAAQOQALIAEgAkGskcAAEDgACyAIQRpqIA5BvJHAABA4AAsMAgsgBkECNgIAIAZBAToABAwCCwJAAkAg
|
|
D0EISQ0AIAEgD0EIayIFTw0AAkACQAJAAkACQANAIAFBCGohBCABQXhGDQIgAiAESQ0DIAhBd0sNBCAIQQhqIA5LDQUgASAMaiIL
|
|
LQAAIgNB64LAAGoxAAAiGUL/AVENASALQQFqLQAAIgNB64LAAGoxAAAiF0L/AVEEQCABQQFyIQEMAgsgC0ECai0AACIDQeuCwABq
|
|
MQAAIhhC/wFRBEAgAUECciEBDAILIAtBA2otAAAiA0HrgsAAajEAACIaQv8BUQRAIAFBA3IhAQwCCyALQQRqLQAAIgNB64LAAGox
|
|
AAAiFEL/AVEEQCABQQRyIQEMAgsgC0EFai0AACIDQeuCwABqMQAAIhVC/wFRBEAgAUEFciEBDAILIAtBBmotAAAiA0HrgsAAajEA
|
|
ACIbQv8BUQRAIAFBBnIhAQwCCyALQQdqLQAAIgNB64LAAGoxAAAiFkL/AVIEQCAIIBFqIBdCNIYgGUI6hoQiFyAYQi6GhCIYIBpC
|
|
KIaEIBRCIoaEIhQgFUIchoQiFSAbQhaGhCAWQhCGhCIWQoD+A4NCKIYgFkKAgPwHg0IYhiAWQoCAgPgPg0IIhoSEIBVCCIhCgICA
|
|
+A+DIBRCGIhCgID8B4OEIBhCKIhCgP4DgyAXQjiIhISENwAAIApBAWshCiAIQQZqIQggBSAEIgFNDQgMAQsLIAFBB3IhAQsgBkEC
|
|
NgIAIAYgAa1CIIYgA61CCIaENwIEDAcLQXggBEHMkcAAEDkACyAEIAJBzJHAABA4AAsgCCAIQQhqQdyRwAAQOQALIAhBCGogDkHc
|
|
kcAAEDgACyABIQQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCkECSQRAIAghCgwBCyAKQQFrIQUgAiAE
|
|
ayEDA0AgAiAESQ0DIAhBBmohCiAIQXlLDQQgCiAOSw0FIAIgBEYNBiAEIAxqIgstAAAiAUHrgsAAajEAACIZQv8BUQ0TIANBAkkN
|
|
ByALQQFqLQAAIgFB64LAAGoxAAAiGkL/AVENAiADQQJNDQggC0ECai0AACIBQeuCwABqMQAAIhtC/wFRDQkgA0EDTQ0KIAtBA2ot
|
|
AAAiAUHrgsAAajEAACIWQv8BUQ0LIANBBE0NDCALQQRqLQAAIgFB64LAAGoxAAAiF0L/AVENDSADQQVNDQ4gC0EFai0AACIBQeuC
|
|
wABqMQAAIhhC/wFRDQ8gA0EGTQ0QIAtBBmotAAAiAUHrgsAAajEAACIUQv8BUQ0RIANBB00NEiALQQdqLQAAIgFB64LAAGoxAAAi
|
|
FUL/AVEEQCAEQQdqIQQMFAsgCCARaiIBIBpCNIYgGUI6hoQgG0IuhoQgFkIohoQgF0IihoQgGEIchoQgFEIWhoQiFEIIiEKAgID4
|
|
D4MgFEIYiEKAgPwHg4QgFEIoiEKA/gODIBRCOIiEhD4AACABQQRqIBQgFUIQhoQiFUKAgPwHg0IYhiAVQoCAgPgPg0IIhoRCIIg9
|
|
AAAgA0EIayEDIARBCGohBCAKIQggBUEBayIFDQALCyASQQBHIRJBACENQQAhCEEAIQNCACEUQQAhB0EAIQEjAEEgayIQJAACQAJA
|
|
AkACQAJAIAIgBE8EQCACIARGBEBBACECDAMLIAIgDGohDyAEIAxqIQwDQEEAIQUDQCAFIAdqIQ0gBSAMaiILLQAAIgJBPUcEQAJA
|
|
IAVFBEAgAkHrgsAAajEAACIVQv8BUQ0BIA1BAWohByAVIAhBAWoiCEE6bEE+ca2GIBSEIRRBACENIAIhASALQQFqIgwgD0cNBAwH
|
|
CyAGQYD6ADsBBCAGQQI2AgAgBkEIaiADIARqNgIADAcLIAZBADoABCAGQQI2AgAgBkEFaiACOgAAIAZBCGogBCAHaiAFajYCAAwG
|
|
CyADIA0gBRshAyANQQJxBEAgDCAFQQFqIgVqIA9GDQQMAQsLCyAGQYD6ADsBBCAGQQI2AgAgBkEIaiADIARqNgIADAMLIAQgAkHo
|
|
jMAAEDYACyAPIAxrIQ0gASECCwJAAkACQAJAIBNBAWsOAgEAAwsgDQ0BDAILIAggDWpBA3FFDQEgBkECNgIAIAZBAzoABAwCCyAG
|
|
QQI2AgAgBkEDOgAEDAELQQAhBQJAAn8CQAJAAkACQAJAAkACQCAIIgwOCQgAAQIDAAQFBgALIBBBEGpCADcCACAQQQE2AgggEEGI
|
|
jsAANgIEIBAgEEEcajYCDCAQQQRqQZCOwAAQSAALQQgMBQtBEAwEC0EYDAMLQSAMAgtBKAwBC0EwCyEMQQEhBQsgEkUgFCAMrYZC
|
|
AFJxRQRAIAUEQCAKIA4gCiAOSxshAUEAIQJBOCEFA0AgASAKRg0EIAogEWogFCAFQThxrYg8AAAgBUEIayEFIApBAWohCiACQQhq
|
|
IgIgDEkNAAsLIAYgCjYCCCAGIAMgBGo2AgQgBiANQQBHNgIADAELIAZBAjoABCAGQQI2AgAgBkEFaiACOgAAIAZBCGogBCAIakEB
|
|
azYCAAsgEEEgaiQADAELIAEgDkH4jMAAEDcACwwTCyAEQQFqIQQMEAsgBCACQeyRwAAQNgALIAggCkH8kcAAEDkACyAKIA5B/JHA
|
|
ABA4AAtBAEEAQYySwAAQNwALQQFBAUGcksAAEDcAC0ECQQJBrJLAABA3AAsgBEECaiEEDAkLQQNBA0G8ksAAEDcACyAEQQNqIQQM
|
|
BwtBBEEEQcySwAAQNwALIARBBGohBAwFC0EFQQVB3JLAABA3AAsgBEEFaiEEDAMLQQZBBkHsksAAEDcACyAEQQZqIQQMAQtBB0EH
|
|
QfySwAAQNwALIAZBAjYCACAGIAGtQgiGIAStQiCGhDcCBAwBCyAGQQI2AgAgBiAErUIIhiADIAVqrUIghoQ3AgQLAkAgCSgCJEEC
|
|
RwRAIAlBLGooAgAiASAOTQRAIAkgATYCIAsgACAJKQIYNwIAIABBCGogCUEgaigCADYCAAwBCyAJKQIoIRUgAEEANgIAIAAgFTcC
|
|
BCAJQRhqEFELIAlBMGokAAvKAQACQAJAIAEEQCACQQBIDQECQAJAAn8gAygCBARAIANBCGooAgAiAUUEQCACRQRAQQEhAQwEC0Hd
|
|
osAALQAAGiACQQEQYAwCCyADKAIAIAFBASACEFkMAQsgAkUEQEEBIQEMAgtB3aLAAC0AABogAkEBEGALIgFFDQELIAAgATYCBCAA
|
|
QQhqIAI2AgAgAEEANgIADwsgAEEBNgIEDAILIABBADYCBAwBCyAAQQA2AgQgAEEBNgIADwsgAEEIaiACNgIAIABBATYCAAvFAQEE
|
|
fyMAQUBqIgMkACADQQBBwAAQgQEhAyAAIAAoAlAiBiACQQN0aiIENgJQIABB1ABqIgUgBSgCACACQR12aiAEIAZJajYCACACBEAg
|
|
ASACaiEEIABBQGshBSAGQQN2QT9xIQIDQCAAIAJqIAEtAAA6AAAgAkEBaiICQcAARgRAQQAhAgNAIAIgA2ogACACaigCADYCACAC
|
|
QQRqIgJBwABHDQALIAUgAxAEQQAhAgsgAUEBaiIBIARHDQALCyADQUBrJAALhAIBAn8jAEEgayIGJABBlKPAAEGUo8AAKAIAIgdB
|
|
AWo2AgACQAJAIAdBAEgNAEHgpsAALQAADQBB4KbAAEEBOgAAQdymwABB3KbAACgCAEEBajYCACAGIAU6AB0gBiAEOgAcIAYgAzYC
|
|
GCAGIAI2AhQgBkGYmcAANgIQIAZB9JbAADYCDEGEo8AAKAIAIgJBAEgNAEGEo8AAIAJBAWo2AgBBhKPAAEGMo8AAKAIABH8gBiAA
|
|
IAEoAhARAgAgBiAGKQMANwIMQYyjwAAoAgAgBkEMakGQo8AAKAIAKAIUEQIAQYSjwAAoAgBBAWsFIAILNgIAQeCmwABBADoAACAE
|
|
DQELAAsAC70BAQR/QXAhBCAAIAFBAnRqIQBB+AAgASABQfgATxtB+ABrIQYCQAJAA0AgASAEaiIDQfgATw0CIAUgBkYNASAAIABB
|
|
QGooAgAgACgCACACeEGDhowYcXMiA0ECdEH8+fNncSADQQR0QfDhw4d/cXMgA0EGdEHAgYOGfHFzIANzNgIAIARBAWohBCAAQQRq
|
|
IQAgBUEBayIFQXhHDQALDwsgASAFa0H4AEG8lsAAEDcACyADQfgAQayWwAAQNwAL2QEBAn8jAEEQayICJAAgAiAAQQRqNgIEIAEo
|
|
AhRBraLAAEEJIAFBGGooAgAoAgwRAQAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQbaiwABBCyAAQZiiwAAQGEHBosAAQQkg
|
|
AkEEakHMosAAEBghAyACLQAMIQACfyAAQQBHIAItAA1FDQAaQQEgAA0AGiADKAIAIgAtABxBBHFFBEAgACgCFEHjnMAAQQIgACgC
|
|
GCgCDBEBAAwBCyAAKAIUQeKcwABBASAAKAIYKAIMEQEACyACQRBqJAALyAEBAn8jAEEgayIDJAACQAJAIAEgASACaiIBSw0AQQgg
|
|
ACgCBCICQQF0IgQgASABIARJGyIBIAFBCE0bIgRBf3NBH3YhAQJAIAJFBEAgA0EANgIYDAELIAMgAjYCHCADQQE2AhggAyAAKAIA
|
|
NgIUCyADQQhqIAEgBCADQRRqEC4gAygCDCEBIAMoAghFBEAgACAENgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASADQRBq
|
|
KAIAEHoACxBHAAsgA0EgaiQAC8gBAQJ/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNAEEIIAAoAgQiAkEBdCIEIAEgASAESRsiASAB
|
|
QQhNGyIEQX9zQR92IQECQCACRQRAIANBADYCGAwBCyADIAI2AhwgA0EBNgIYIAMgACgCADYCFAsgA0EIaiABIAQgA0EUahAnIAMo
|
|
AgwhASADKAIIRQRAIAAgBDYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgA0EQaigCABB6AAsQRwALIANBIGokAAusAQEB
|
|
fwJAAkAgAQRAIAJBAEgNAQJ/IAMoAgQEQAJAIANBCGooAgAiBEUEQAwBCyADKAIAIAQgASACEFkMAgsLIAEgAkUNABpB3aLAAC0A
|
|
ABogAiABEGALIgMEQCAAIAM2AgQgAEEIaiACNgIAIABBADYCAA8LIAAgATYCBCAAQQhqIAI2AgAMAgsgAEEANgIEIABBCGogAjYC
|
|
AAwBCyAAQQA2AgQLIABBATYCAAusAQEDfyMAQdAAayICJAADQAJAIAIgACADajYCDCACQQ02AiwgAkEBNgIkIAJBATYCFCACQbSL
|
|
wAA2AhAgAkEBNgIcIAIgAkEMajYCKCACQQM6AEwgAkEINgJIIAJCIDcCQCACQoCAgIAgNwI4IAJBAjYCMCACIAJBMGo2AiAgAiAC
|
|
QShqNgIYIAEgAkEQahBcIgQNACADQQFqIgNBEEcNAQsLIAJB0ABqJAAgBAuPAQEDfyMAQYABayIDJAAgAC0AACECQQAhAANAIAAg
|
|
A2pB/wBqQTBB1wAgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAiIEQQR2IQIgBEEQTw0ACyAAQYABaiICQYABSwRAIAJBgAFBmJ3A
|
|
ABA2AAsgAUGoncAAQQIgACADakGAAWpBACAAaxAJIANBgAFqJAALkgEBAX8jAEFAaiICJAAgAkIANwM4IAJBOGogACgCABACIAJB
|
|
GGpCATcCACACIAIoAjwiADYCNCACIAA2AjAgAiACKAI4NgIsIAJBDjYCKCACQQI2AhAgAkHIi8AANgIMIAIgAkEsajYCJCACIAJB
|
|
JGo2AhQgASACQQxqEFwgAigCMARAIAIoAiwQBQsgAkFAayQAC4sBAQF/IwBBEGsiAiQAAn8CQAJAAkACQCAALQAAQQFrDgMBAgMA
|
|
CyACIABBAWo2AgggAUGJkMAAQQsgAEEEaiACQQhqECUMAwsgAUH8j8AAQQ0QVQwCCyACIABBAWo2AgwgAUGUkMAAQREgAEEEaiAC
|
|
QQxqECUMAQsgAUGlkMAAQQ4QVQsgAkEQaiQAC4wBAgN/AX4jAEEgayICJAAgAUEEaiEDIAEoAgRFBEAgASgCACEBIAJBHGoiBEEA
|
|
NgIAIAJCATcCFCACQRRqQaCXwAAgARANGiACQRBqIAQoAgAiATYCACACIAIpAhQiBTcDCCADQQhqIAE2AgAgAyAFNwIACyAAQdCY
|
|
wAA2AgQgACADNgIAIAJBIGokAAt9AQF/IwBBQGoiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQSRqQgI3AgAgBUE8
|
|
akEuNgIAIAVBAjYCHCAFQaycwAA2AhggBUEvNgI0IAUgBUEwajYCICAFIAVBEGo2AjggBSAFQQhqNgIwIAVBGGogBBBIAAt4AQJ/
|
|
IAFBD2ohAiAAIAFBAnRqIQBBICEBAkACQANAIAJBCGtB+ABPDQIgAkH4AE8NASAAIAFqIgNBHGogA0EEaygCADYCACACQQFrIQIg
|
|
AUEEayIBDQALDwsgAkH4AEHclsAAEDcACyACQQhrQfgAQcyWwAAQNwALbAEBfyMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBFGpC
|
|
AjcCACADQSxqQRI2AgAgA0ECNgIMIANBqJ/AADYCCCADQRI2AiQgAyADQSBqNgIQIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEEgA
|
|
C2wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRRqQgI3AgAgA0EsakESNgIAIANBAjYCDCADQZicwAA2AgggA0ESNgIkIAMg
|
|
A0EgajYCECADIAM2AiggAyADQQRqNgIgIANBCGogAhBIAAtsAQF/IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0EUakICNwIAIANB
|
|
LGpBEjYCACADQQI2AgwgA0HIn8AANgIIIANBEjYCJCADIANBIGo2AhAgAyADQQRqNgIoIAMgAzYCICADQQhqIAIQSAALbAEBfyMA
|
|
QTBrIgMkACADIAA2AgAgAyABNgIEIANBFGpCAjcCACADQSxqQRI2AgAgA0ECNgIMIANB/J/AADYCCCADQRI2AiQgAyADQSBqNgIQ
|
|
IAMgA0EEajYCKCADIAM2AiAgA0EIaiACEEgAC/sDAgd/AX4jAEEQayIEJAAgACgCCCEGIAAoAgAhACABKAIUQdCbwABBASABQRhq
|
|
KAIAKAIMEQEAIQMgBEEEaiICQQA6AAUgAiADOgAEIAIgATYCACAGBEADQCAEIAA2AgwgBEEMaiEIIwBBQGoiASQAQQEhAwJAIARB
|
|
BGoiBS0ABA0AIAUtAAUhAwJAIAUoAgAiAigCHCIHQQRxRQRAIANFDQFBASEDIAIoAhRB25zAAEECIAJBGGooAgAoAgwRAQBFDQEM
|
|
AgsgA0UEQEEBIQMgAigCFEHpnMAAQQEgAkEYaigCACgCDBEBAA0CIAIoAhwhBwtBASEDIAFBAToAGyABQTRqQbycwAA2AgAgASAC
|
|
KQIUNwIMIAEgAUEbajYCFCABIAIpAgg3AiQgAikCACEJIAEgBzYCOCABIAIoAhA2AiwgASACLQAgOgA8IAEgCTcCHCABIAFBDGo2
|
|
AjAgCCABQRxqQbSZwAAoAgARAAANASABKAIwQeCcwABBAiABKAI0KAIMEQEAIQMMAQsgCCACQbSZwAAoAgARAAAhAwsgBUEBOgAF
|
|
IAUgAzoABCABQUBrJAAgAEEBaiEAIAZBAWsiBg0ACwsgBEEEaiIALQAEBH9BAQUgACgCACIAKAIUQfycwABBASAAQRhqKAIAKAIM
|
|
EQEACyAEQRBqJAALZwAjAEEwayIAJABB3KLAAC0AAARAIABBGGpCATcCACAAQQI2AhAgAEHcl8AANgIMIABBEjYCKCAAIAE2Aiwg
|
|
ACAAQSRqNgIUIAAgAEEsajYCJCAAQQxqQYSYwAAQSAALIABBMGokAAt3AAJAAkACQCABRQRAQQEhAgwBCyABQQBIDQECfyACRQRA
|
|
Qd2iwAAtAAAaIAFBARBgDAELAkAgARADIgJFDQAgAhCHARBqDQAgAkEAIAEQgQEaCyACCyICRQ0CCyAAIAE2AgQgACACNgIADwsQ
|
|
RwALQQEgARB6AAtbAQF/IwBBMGsiAyQAIAMgATYCDCADIAA2AgggA0EcakIBNwIAIANBATYCFCADQcibwAA2AhAgA0EvNgIsIAMg
|
|
A0EoajYCGCADIANBCGo2AiggA0EQaiACEEgAC7sCAQd/IwBBEGsiBSQAAkAgACgCCCIEIAAoAgRPDQAgBUEIaiEGIwBBIGsiASQA
|
|
AkAgBCAAKAIETQRAIAFBCGohAgJAIAAoAgQiA0UEQCACQQA2AgQMAQsgAiADNgIIIAJBATYCBCACIAAoAgA2AgALAkACQCABKAIM
|
|
IgJFDQAgAUEQaigCACEDIAEoAgghByAERQRAIAMEQCAHEAULIABCATcCAAwBCyAHIAMgAiAEEFkiA0UNASAAIAQ2AgQgACADNgIA
|
|
C0GBgICAeCECCyAGIAQ2AgQgBiACNgIAIAFBIGokAAwBCyABQRRqQgA3AgAgAUEBNgIMIAFBxIHAADYCCCABQZCBwAA2AhAgAUEI
|
|
akGYgsAAEEgACyAFKAIIIgBBgYCAgHhGDQAgACAFKAIMEHoACyAFQRBqJAALTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAA
|
|
RQ0AIANB1JzAAEEEIAIoAgwRAQBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEAAAtCAQF/IAIgACgCBCAAKAIIIgNrSwRAIAAg
|
|
AyACECwgACgCCCEDCyAAKAIAIANqIAEgAhCCARogACACIANqNgIIQQALTQECf0HdosAALQAAGiABKAIEIQIgASgCACEDQQhBBBBg
|
|
IgFFBEBBBEEIEHoACyABIAI2AgQgASADNgIAIABB4JjAADYCBCAAIAE2AgALQgEBfyACIAAoAgQgACgCCCIDa0sEQCAAIAMgAhAt
|
|
IAAoAgghAwsgACgCACADaiABIAIQggEaIAAgAiADajYCCEEAC0cBAX8jAEEgayIDJAAgA0EMakIANwIAIANBATYCBCADQcSbwAA2
|
|
AgggAyABNgIcIAMgADYCGCADIANBGGo2AgAgAyACEEgAC+cBAQN/IwBBEGsiAyQAIAMgAEEMajYCDCMAQRBrIgIkACABKAIUQaSb
|
|
wABBDSABQRhqKAIAKAIMEQEAIQQgAkEAOgANIAIgBDoADCACIAE2AgggAkEIakGHm8AAQQUgAEG0m8AAEBhBjJvAAEEFIANBDGpB
|
|
lJvAABAYIQACfyACLQAMIgFBAEcgAi0ADUUNABpBASABDQAaIAAoAgAiAC0AHEEEcUUEQCAAKAIUQeOcwABBAiAAKAIYKAIMEQEA
|
|
DAELIAAoAhRB4pzAAEEBIAAoAhgoAgwRAQALIAJBEGokACADQRBqJAALNwACQCABaUEBR0GAgICAeCABayAASXINACAABEBB3aLA
|
|
AC0AABogACABEGAiAUUNAQsgAQ8LAAs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAAANARoLIAMNAUEACw8LIAAgAyAEIAEo
|
|
AgwRAQALPwEBfyMAQSBrIgAkACAAQRRqQgA3AgAgAEEBNgIMIABBgJrAADYCCCAAQbiZwAA2AhAgAEEIakGImsAAEEgAC8kCAQJ/
|
|
IwBBIGsiAiQAIAJBATsBHCACIAE2AhggAiAANgIUIAJB1JvAADYCECACQcSbwAA2AgwjAEEQayIBJAACQCACQQxqIgAoAgwiAgRA
|
|
IAAoAggiA0UNASABIAI2AgwgASAANgIIIAEgAzYCBCMAQRBrIgAkACABQQRqIgEoAgAiAkEMaigCACEDAkACfwJAAkAgAigCBA4C
|
|
AAEDCyADDQJBACECQfSWwAAMAQsgAw0BIAIoAgAiAygCBCECIAMoAgALIQMgACACNgIEIAAgAzYCACAAQfCYwAAgASgCBCIAKAII
|
|
IAEoAgggAC0AECAALQARECkACyAAQQA2AgQgACACNgIAIABBhJnAACABKAIEIgAoAgggASgCCCAALQAQIAAtABEQKQALQfSWwABB
|
|
K0GwmMAAEEMAC0H0lsAAQStBwJjAABBDAAstAAJAIANpQQFHQYCAgIB4IANrIAFJckUEQCAAIAEgAyACEFkiAA0BCwALIAALsgEB
|
|
A38gACgCACEAIAEQZ0UEQCABEGhFBEAgADEAACABEBoPCyMAQYABayIDJAAgAC0AACEAA0AgAiADakH/AGpBMEE3IABBD3EiBEEK
|
|
SRsgBGo6AAAgAkEBayECIAAiBEEEdiEAIARBEE8NAAsgAkGAAWoiAEGAAUsEQCAAQYABQZidwAAQNgALIAFBqJ3AAEECIAIgA2pB
|
|
gAFqQQAgAmsQCSADQYABaiQADwsgACABEDALpwIBA38gARBnRQRAIAEQaEUEQCAAIAEQbg8LIwBBgAFrIgMkACAAKAIAIQADQCAC
|
|
IANqQf8AakEwQTcgAEEPcSIEQQpJGyAEajoAACACQQFrIQIgAEEQSSAAQQR2IQBFDQALIAJBgAFqIgBBgAFLBEAgAEGAAUGYncAA
|
|
EDYACyABQaidwABBAiACIANqQYABakEAIAJrEAkgA0GAAWokAA8LIwBBgAFrIgMkACAAKAIAIQADQCACIANqQf8AakEwQdcAIABB
|
|
D3EiBEEKSRsgBGo6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSwRAIABBgAFBmJ3AABA2AAsgAUGoncAAQQIg
|
|
AiADakGAAWpBACACaxAJIANBgAFqJAALJwAgACAAKAIEQQFxIAFyQQJyNgIEIAAgAWoiACAAKAIEQQFyNgIECycAIABCADcAACAA
|
|
QRhqQgA3AAAgAEEQakIANwAAIABBCGpCADcAAAsgAQF/AkAgACgCBCIBRQ0AIABBCGooAgBFDQAgARAFCwsjACACIAIoAgRBfnE2
|
|
AgQgACABQQFyNgIEIAAgAWogATYCAAseACAAIAFBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLEQAgACgCBARAIAAoAgAQBQsLGQEB
|
|
fyAAKAIQIgEEfyABBSAAQRRqKAIACwsSAEEZIABBAXZrQQAgAEEfRxsLFgAgACABQQFyNgIEIAAgAWogATYCAAsZACAAKAIUIAEg
|
|
AiAAQRhqKAIAKAIMEQEACxwAIAEoAhRBqKLAAEEFIAFBGGooAgAoAgwRAQALFAAgACgCACIAQYQBTwRAIAAQAAsLEAAgACABakEB
|
|
a0EAIAFrcQuLBgEGfwJ/IAAhBQJAAkACQAJAAkAgAkEJTwRAIAIgAxAXIgcNAUEADAYLQQhBCBBYIQBBFEEIEFghAUEQQQgQWCEC
|
|
QQBBEEEIEFhBAnRrIgRBgIB8IAIgACABamprQXdxQQNrIgAgACAESxsgA00NA0EQIANBBGpBEEEIEFhBBWsgA0sbQQgQWCECIAUQ
|
|
hwEiACAAEHQiBBCEASEBAkACQAJAAkACQAJAIAAQakUEQCACIARNDQQgAUHEpsAAKAIARg0GIAFBwKbAACgCAEYNAyABEGUNCSAB
|
|
EHQiBiAEaiIIIAJJDQkgCCACayEEIAZBgAJJDQEgARAcDAILIAAQdCEBIAJBgAJJDQggASACa0GBgAhJIAJBBGogAU1xDQQgASAA
|
|
KAIAIgFqQRBqIQQgAkEfakGAgAQQWCECDAgLIAFBDGooAgAiCSABQQhqKAIAIgFHBEAgASAJNgIMIAkgATYCCAwBC0GwpsAAQbCm
|
|
wAAoAgBBfiAGQQN2d3E2AgALQRBBCBBYIARNBEAgACACEIQBIQEgACACEEwgASAEEEwgASAEEBAgAA0JDAcLIAAgCBBMIAANCAwG
|
|
C0G4psAAKAIAIARqIgQgAkkNBQJAQRBBCBBYIAQgAmsiAUsEQCAAIAQQTEEAIQFBACEEDAELIAAgAhCEASIEIAEQhAEhBiAAIAIQ
|
|
TCAEIAEQVCAGIAYoAgRBfnE2AgQLQcCmwAAgBDYCAEG4psAAIAE2AgAgAA0HDAULQRBBCBBYIAQgAmsiAUsNACAAIAIQhAEhBCAA
|
|
IAIQTCAEIAEQTCAEIAEQEAsgAA0FDAMLQbymwAAoAgAgBGoiBCACSw0BDAILIAcgBSABIAMgASADSRsQggEaIAUQBQwCCyAAIAIQ
|
|
hAEhASAAIAIQTCABIAQgAmsiAkEBcjYCBEG8psAAIAI2AgBBxKbAACABNgIAIAANAgsgAxADIgFFDQAgASAFIAAQdEF4QXwgABBq
|
|
G2oiACADIAAgA0kbEIIBIAUQBQwCCyAHDAELIAAQahogABCGAQsLCwAgAQRAIAAQBQsLDwAgAEEBdCIAQQAgAGtyCxMAIAAoAhQg
|
|
AEEYaigCACABEA0LFAAgACgCACABIAAoAgQoAgwRAAALEAAgACgCACAAKAIEIAEQfQsQACAAKAIAIAAoAgggARB9CxkAAn8gAUEJ
|
|
TwRAIAEgABAXDAELIAAQAwsLIQAgAEKYo6rL4I761NYANwMIIABCq6qJm/b22twaNwMACyAAIABC5N7HhZDQhd59NwMIIABCwff5
|
|
6MyTstFBNwMACyIAIABCqrDurabN4qqqfzcDCCAAQrusqeeAuviazQA3AwALEwAgAEHgmMAANgIEIAAgATYCAAsNACAALQAEQQJx
|
|
QQF2CxAAIAEgACgCACAAKAIEEAYLDQAgAC0AHEEQcUEEdgsNACAALQAcQSBxQQV2CwoAQQAgAGsgAHELCwAgAC0ABEEDcUULDAAg
|
|
ACABQQNyNgIECw0AIAAoAgAgACgCBGoLDgAgACgCABoDQAwACwALCwAgADUCACABEBoLCwAgACMAaiQAIwALBgAgABBRCwsAIAAo
|
|
AgAgARAwCw0AIAFB7JbAAEEIEFULDQAgAEGgl8AAIAEQDQsKACAAKAIEQXhxCwoAIAAoAgRBAXELCgAgACgCDEEBcQsKACAAKAIM
|
|
QQF2CwsAIAAoAgAgARArCw0AIABBuJnAACABEA0LGQAgACABQYCjwAAoAgAiAEETIAAbEQIAAAuIBAEFfyMAQRBrIgMkAAJAAn8C
|
|
QCABQYABTwRAIANBADYCDCABQYAQSQ0BIAFBgIAESQRAIAMgAUE/cUGAAXI6AA4gAyABQQx2QeABcjoADCADIAFBBnZBP3FBgAFy
|
|
OgANQQMMAwsgAyABQT9xQYABcjoADyADIAFBBnZBP3FBgAFyOgAOIAMgAUEMdkE/cUGAAXI6AA0gAyABQRJ2QQdxQfABcjoADEEE
|
|
DAILIAAoAggiAiAAKAIERgRAIwBBIGsiBCQAAkACQCACQQFqIgJFDQBBCCAAKAIEIgZBAXQiBSACIAIgBUkbIgIgAkEITRsiBUF/
|
|
c0EfdiECAkAgBkUEQCAEQQA2AhgMAQsgBCAGNgIcIARBATYCGCAEIAAoAgA2AhQLIARBCGogAiAFIARBFGoQJyAEKAIMIQIgBCgC
|
|
CEUEQCAAIAU2AgQgACACNgIADAILIAJBgYCAgHhGDQEgAkUNACACIARBEGooAgAQegALEEcACyAEQSBqJAAgACgCCCECCyAAIAJB
|
|
AWo2AgggACgCACACaiABOgAADAILIAMgAUE/cUGAAXI6AA0gAyABQQZ2QcABcjoADEECCyEBIAEgACgCBCAAKAIIIgJrSwRAIAAg
|
|
AiABEC0gACgCCCECCyAAKAIAIAJqIANBDGogARCCARogACABIAJqNgIICyADQRBqJABBAAsNACAAQbycwAAgARANCwoAIAIgACAB
|
|
EAYLDAAgACABKQIANwMACwwAIAAgASkCCDcDAAu3AgEDfwJ/IAAoAgAhACMAQYABayIEJAACQAJAAn8CQCABKAIcIgNBEHFFBEAg
|
|
A0EgcQ0BIAAxAAAgARAaDAILIAAtAAAhAANAIAIgBGpB/wBqQTBB1wAgAEEPcSIDQQpJGyADajoAACACQQFrIQIgACIDQQR2IQAg
|
|
A0EQTw0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQCQwBCyAALQAAIQADQCACIARqQf8AakEwQTcgAEEP
|
|
cSIDQQpJGyADajoAACACQQFrIQIgACIDQQR2IQAgA0EQTw0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQ
|
|
CQsgBEGAAWokAAwCCyAAQYABQZidwAAQNgALIABBgAFBmJ3AABA2AAsLrwEBA38gASEFAkAgAkEQSQRAIAAhAQwBCyAAQQAgAGtB
|
|
A3EiA2ohBCADBEAgACEBA0AgASAFOgAAIAFBAWoiASAESQ0ACwsgBCACIANrIgJBfHEiA2ohASADQQBKBEAgBUH/AXFBgYKECGwh
|
|
AwNAIAQgAzYCACAEQQRqIgQgAUkNAAsLIAJBA3EhAgsgAgRAIAEgAmohAgNAIAEgBToAACABQQFqIgEgAkkNAAsLIAALuAIBB38C
|
|
QCACIgRBEEkEQCAAIQIMAQsgAEEAIABrQQNxIgNqIQUgAwRAIAAhAiABIQYDQCACIAYtAAA6AAAgBkEBaiEGIAJBAWoiAiAFSQ0A
|
|
CwsgBSAEIANrIghBfHEiB2ohAgJAIAEgA2oiA0EDcQRAIAdBAEwNASADQQN0IgRBGHEhCSADQXxxIgZBBGohAUEAIARrQRhxIQQg
|
|
BigCACEGA0AgBSAGIAl2IAEoAgAiBiAEdHI2AgAgAUEEaiEBIAVBBGoiBSACSQ0ACwwBCyAHQQBMDQAgAyEBA0AgBSABKAIANgIA
|
|
IAFBBGohASAFQQRqIgUgAkkNAAsLIAhBA3EhBCADIAdqIQELIAQEQCACIARqIQMDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiAD
|
|
SQ0ACwsgAAsLAEGEicAAQSwQAQsHACAAIAFqCwcAIAAgAWsLBwAgAEEIagsHACAAQQhrCwMAAQsL7SEEAEGAgMAAC/MKL1VzZXJz
|
|
L21hZ3Vhbmd6aGkvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9ibG9jay1wYWRk
|
|
aW5nLTAuMy4zL3NyYy9saWIucnNhc3NlcnRpb24gZmFpbGVkOiBuIDw9IGJzAAAAABAAZQAAAFEAAAARAAAAAQAAABQAAAAEAAAA
|
|
AgAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eaAAEAAkAAAAL3J1c3RjLzc5ZTk3MTZjOTgwNTcwYmZkMWY2
|
|
NjZlM2IxNmFjNTgzZjAxNjg5NjIvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc8wAEABMAAAArgEAAAkAAAABAAFBQkNERUZH
|
|
SElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv////////////////////////
|
|
/////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf//
|
|
/////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/////////////////y9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJi
|
|
YmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5jb2RlLnJzAAAAawIQAGIAAABQAAAAMwAAAHVzaXplIG92ZXJmbG93IHdoZW4g
|
|
Y2FsY3VsYXRpbmcgYjY0IGxlbmd0aAAAawIQAGIAAABXAAAACgAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9z
|
|
cmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5naW5lL21vZC5yc2ludGVnZXIg
|
|
b3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBidWZmZXIgc2l6ZQAcAxAAZgAAAHcAAAAOAAAASW52YWxpZCBVVEY4HAMQAGYAAAB8
|
|
AAAAIAAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUABgAAAAgAAAAEAAAABwAAAAYAAAAIAAAA
|
|
BAAAAAgAAAAJAAAABAAAAAQAAAAKAAAACwAAAAAAAAABAAAADAAAAHNyYy9saWIucnMAAEgEEAAKAAAAeQAAACUAAAADBQcADwoN
|
|
AQsOBAYJDAgCSAQQAAoAAAB7AAAAJwAAAEFMc1BEcnNPQjdDN0RBZTN1cjhNQ3dzQnNBRUh1Z0M2QXdBQUI3OEtBQTg9SAQQAAoA
|
|
AAAVAAAALwAAANwDEAAAAAAA3AMQAAAAAADcAxAAAAAAANwDEAAAAAAAdnd3THU3ZTZ1ZzRIQVFNQXVnOENzQThIRDdvSER3dXhB
|
|
ZzRIQVFHNkRMQT1IBBAACgAAADcAAAAKAAAARXJyb3IgS2V5AAAASAQQAAoAAABaAAAANgAAAEVycm9yIGRlY29kaW5nIGNpcGhl
|
|
ciB0ZXh0IDFFcnJvciBkZWNyeXB0aW5nIGNpcGhlciB0ZXh0IDKAAEG0i8AAC9gVsgUQAAAAAABKc1ZhbHVlKCkAAAC8BRAACAAA
|
|
AMQFEAABAAAADwAAAAQAAAAEAAAAEAAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVz
|
|
LmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5naW5lL2dlbmVyYWxfcHVycG9zZS9kZWNvZGVfc3VmZml4
|
|
LnJz6AUQAIAAAAAdAAAAGQAAAOgFEACAAAAAmgAAAAkAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2Rl
|
|
OiBJbXBvc3NpYmxlOiBtdXN0IG9ubHkgaGF2ZSAwIHRvIDggaW5wdXQgYnl0ZXMgaW4gbGFzdCBjaHVuaywgd2l0aCBubyBpbnZh
|
|
bGlkIGxlbmd0aHMAAIgGEAB+AAAA6AUQAIAAAACFAAAADgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNv
|
|
ZGU6IEltcG9zc2libGUgcmVtYWluZGVyAAAgBxAAPgAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5k
|
|
ZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5jb2RlLnJzAABoBxAAYgAAAG4AAAAWAAAA
|
|
aAcQAGIAAACCAAAACQAAAA8AAAAEAAAABAAAABEAAABJbnZhbGlkTGVuZ3RoSW52YWxpZEJ5dGVJbnZhbGlkTGFzdFN5bWJvbElu
|
|
dmFsaWRQYWRkaW5nL1VzZXJzL21hZ3Vhbmd6aGkvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJi
|
|
YTE1MDAxZi9iYXNlNjQtMC4yMS4yL3NyYy9lbmdpbmUvZ2VuZXJhbF9wdXJwb3NlL2RlY29kZS5yczMIEAB5AAAAcgAAACkAAAAz
|
|
CBAAeQAAAHMAAAAvAAAAMwgQAHkAAACZAAAAGwAAADMIEAB5AAAAnQAAABkAAAAzCBAAeQAAALAAAAATAAAAMwgQAHkAAACzAAAA
|
|
GAAAADMIEAB5AAAA2gAAAB8AAAAzCBAAeQAAAOAAAAAfAAAAMwgQAHkAAADpAAAAHwAAADMIEAB5AAAA8gAAAB8AAAAzCBAAeQAA
|
|
APsAAAAfAAAAMwgQAHkAAAAEAQAAHwAAADMIEAB5AAAADQEAAB8AAAAzCBAAeQAAABYBAAAfAAAAL1VzZXJzL21hZ3Vhbmd6aGkv
|
|
LmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9iYXNlNjQtMC4yMS4yL3NyYy9lbmdp
|
|
bmUvZ2VuZXJhbF9wdXJwb3NlL21vZC5ycwAAjAkQAHYAAACUAAAADQAAAIwJEAB2AAAAlgAAAEAAAACMCRAAdgAAAJUAAAANAAAA
|
|
jAkQAHYAAACYAAAADQAAAIwJEAB2AAAAnAAAAA0AAACMCRAAdgAAAJ0AAAANAAAAjAkQAHYAAACFAAAAJQAAAIwJEAB2AAAAhgAA
|
|
ACsAAACMCRAAdgAAAD4AAAAbAAAAjAkQAHYAAABAAAAAIAAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMv
|
|
aW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWVzLTAuOC4zL3NyYy9zb2Z0L2ZpeHNsaWNlMzIucnMApAoQAGcAAADd
|
|
AQAAKQAAAKQKEABnAAAA8gEAAC0AAACkChAAZwAAAIkEAAASAAAApAoQAGcAAACJBAAAPQAAAKQKEABnAAAAFAUAACIAAACkChAA
|
|
ZwAAABQFAAAJAAAAUGFkRXJyb3JjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlABQAAAAMAAAABAAA
|
|
ABUAAAAWAAAAFwAAAG1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQAALgLEAAVAAAAzQsQAA0AAABsaWJyYXJ5L3N0
|
|
ZC9zcmMvYWxsb2MucnPsCxAAGAAAAGIBAAAJAAAAbGlicmFyeS9zdGQvc3JjL3Bhbmlja2luZy5ycxQMEAAcAAAAUwIAAB8AAAAU
|
|
DBAAHAAAAFQCAAAeAAAAFAAAAAwAAAAEAAAAGAAAABkAAAAIAAAABAAAABoAAAAZAAAACAAAAAQAAAAbAAAAHAAAAB0AAAAQAAAA
|
|
BAAAAB4AAAAfAAAAIAAAAAAAAAABAAAAIQAAACIAAAAEAAAABAAAACMAAAAkAAAADAAAAAQAAAAlAAAAJgAAACcAAABsaWJyYXJ5
|
|
L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAAADsDBAAEQAAANAMEAAcAAAAFgIAAAUAAABhIGZvcm1hdHRp
|
|
bmcgdHJhaXQgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IAKAAAAAAAAAABAAAAKQAAAGxpYnJhcnkvYWxsb2Mvc3Jj
|
|
L2ZtdC5yc1wNEAAYAAAAYgIAACAAAADvv71ieXRlc2Vycm9yAAAAIgAAAAQAAAAEAAAAKgAAAEZyb21VdGY4RXJyb3IAAAArAAAA
|
|
DAAAAAQAAAAsAAAAKQAAAMQNEAAAAAAAWwAAADAAAAAAAAAAAQAAADEAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlz
|
|
ICBidXQgdGhlIGluZGV4IGlzIAAA5A0QACAAAAAEDhAAEgAAADogAADEDRAAAAAAACgOEAACAAAAMgAAAAwAAAAEAAAAMwAAADQA
|
|
AAA1AAAAICAgICB7ICwgIHsKLAp9IH0oKAosCgAAMgAAAAQAAAAEAAAANgAAAF1saWJyYXJ5L2NvcmUvc3JjL2ZtdC9udW0ucnN9
|
|
DhAAGwAAAGkAAAAXAAAAMHgwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4
|
|
MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2
|
|
NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OXJhbmdlIHN0
|
|
YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCAAAHIPEAASAAAAhA8QACIAAAByYW5nZSBlbmQgaW5k
|
|
ZXgguA8QABAAAACEDxAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgANgPEAAWAAAA7g8QAA0AAAABAQEB
|
|
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
|
|
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBzqHAAAszAgICAgICAgICAgICAgICAgIC
|
|
AgICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwQEBAQEAEGNosAAC0xOb25lU29tZQAAADIAAAAEAAAABAAAADcAAABFcnJvclV0
|
|
ZjhFcnJvcnZhbGlkX3VwX3RvZXJyb3JfbGVuAAAyAAAABAAAAAQAAAA4AHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJv
|
|
Y2Vzc2VkLWJ5AwVydXN0Yx0xLjc0LjAgKDc5ZTk3MTZjOSAyMDIzLTExLTEzKQZ3YWxydXMGMC4xOS4wDHdhc20tYmluZGdlbhIw
|
|
LjIuODcgKGYwYThhZTNiOSkALA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0
|
|
`,Bo=null,ZT=null,ew=null,Nie=null,o4=0,qf=new Array(132).fill(void 0);qf.push(void 0,null,!0,!1);var tw=qf.length;function ust(t){let e=qf[t];return t>=132&&(qf[t]=tw,tw=t),e}function Rie(){return(ew===null||ew.byteLength===0)&&(ew=new Uint8Array(Nie.buffer)),ew}function a4(){return(ZT===null||ZT.byteLength===0)&&(ZT=new Int32Array(Nie.buffer)),ZT}function lst(t,e){return t=t>>>0,Cc(Rie().subarray(t,t+e))}function cst(t,e,r){if(r===void 0){let i=eg(t),a=e(i.length,1)>>>0;return Rie().subarray(a,a+i.length).set(i),o4=i.length,a}let n=eg(t),s=e(n.length,1)>>>0;return Rie().subarray(s,s+n.length).set(n),o4=n.length,s}function mmr(t){return t==null}function hmr(t){let e=atob(t.replace(/\s+/g,"")),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}async function gmr(){if(Bo!==null)return Bo;let t=hmr(pmr),e={wbg:{__wbindgen_object_drop_ref:n=>ust(n),__wbindgen_string_new:(n,s)=>{let i=lst(n,s);tw===qf.length&&qf.push(qf.length+1);let a=tw;return tw=qf[a],qf[a]=i,a},__wbindgen_debug_string:()=>{}}};return Bo=(await WebAssembly.instantiate(t,e)).instance.exports,Nie=Bo.memory,ZT=null,ew=null,Bo}function Amr(t,e){let r,n;try{let s=Bo.__wbindgen_add_to_stack_pointer(-16),i=cst(t,Bo.__wbindgen_malloc,Bo.__wbindgen_realloc),a=o4,o=mmr(e)?0:cst(e,Bo.__wbindgen_malloc,Bo.__wbindgen_realloc),c=o4;Bo.gateway_decrypt(s,i,a,o,c);let u=a4()[s/4+0],l=a4()[s/4+1],d=a4()[s/4+2],f=a4()[s/4+3],p=u,m=l;if(f)throw p=0,m=0,ust(d);return r=p,n=m,lst(p,m)}finally{Bo.__wbindgen_add_to_stack_pointer(16),r!==void 0&&n!==void 0&&Bo.__wbindgen_free(r,n,1)}}async function dst(t,e){return t=t.replace(/\s+/g,""),await gmr(),Amr(t,e)}hn();hs();var Oie=class extends Tt{async search(e){try{let r="https://jadeite.migu.cn/search/v3/open-search",n={appVersion:"6.1.1.00",ct:101,isCorrectWord:1,k:e,mediaSource:9e6,packId:"1002581,1002601,1003861,1003862,1003863,1003864,1003865,1003866,1004041,1004121,1004261,1004262,1004281,1004321,1004262,1004281,1004322,1004261,1004421,1004422,1002781,1004301,1004641,1004761,1005061,1005261,1005301,1005321,1005361,1005362,1005341,1005342,1005521,1005722,1005721,1015749,1015761,1015760,1015762,1015763,1015768,1015786,1015790,1015812,1015813,1015814,1015815,1015816,1015817,1015820,1015819,1015821",pageIdx:1,pageSize:20,sid:"1X4A395AL3XS3UV5MT8PQ1L5JUYK6KFM8VKDSDD48S5Y7YX5WY1MOUHRT6512988",copyrightTerminal:3,searchScene:2,uiVersion:"A3.26.0"},s={Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9",Connection:"keep-alive","Content-Type":"application/json",Origin:"https://www.miguvideo.com",Referer:"https://www.miguvideo.com/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"cross-site","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",appId:"miguvideo","sec-ch-ua":'Not(A:Brand";v="8", "Chromium";v="144", "Google Chrome";v="144"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"Windows",terminalId:"www"},i=await Kr(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return _("info","[Migu] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let o=(typeof i.data=="string"?JSON.parse(i.data):i.data)?.body?.contentInfoList,c=[];return o.forEach(u=>{let l=u?.shortMediaAsset;if(l&&l.isLong){let d;l?.extraData?d=l?.extraData?.episodes?.[0]:d=l?.pID,c.push({name:l.name,type:l.contDisplayName,year:l.year.trim(),img:l.h5pics?.highResolutionV,url:`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${d}/1`,epsId:d})}}),_("info",`[Migu] \u641C\u7D22\u627E\u5230 ${c.length} \u4E2A\u6709\u6548\u7ED3\u679C`),c}catch(r){return _("error","[Migu] getMiguAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}extractEpId(e){let n=e.split("?")[0].split("/").filter(s=>s!=="");return n[n.length-1]||""}async getDetail(e){try{let r=await ge(`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${e}/1`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"}});if(!r||!r.data)return _("info","[Migu] getMiguDetail: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),{duration:0,epsID:null};let n=r.data?.body?.data?.playing?.duration||0,s=r.data?.body?.data?.epsID||null;return{duration:n,epsID:s}}catch(r){return _("error","[Migu] getMiguDetail error:",{message:r.message,name:r.name,stack:r.stack}),{duration:0,epsID:null}}}async getEpisodes(e){try{let r=await ge(e,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"}});if(!r||!r.data)return _("info","[Migu] getMiguEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];let n=r.data?.body?.data?.datas;if(n)return n;{let s=r.data?.body?.data?.name,i=r.data?.body?.data?.playing?.pID;return i?[{name:s,pID:i}]:(_("info","[Migu] getMiguEposides: eps \u4E0D\u5B58\u5728"),[])}}catch(r){return _("error","[Migu] getMiguEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Migu] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.name||l.title,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=d.name||d.title,p=Ct(f).season;return p===c||c===1&&p===null});l.length>0&&(o=l,_("info",`[Migu] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.url||l.mediaId),f=[];for(let p of d)f.push({name:p.name,url:`https://webapi.miguvideo.com/gateway/live_barrage/videox/barrage/v2/list/${l.epsId??p.pID}/${p.pID}`,title:`\u3010migu\u3011 ${p.name}`});if(f.length>0){let p={animeId:Yr(l.epsId??d[0]?.pID),bangumiId:String(l.epsId??d[0]?.pID),animeTitle:`${l.name||l.title}(${l.year})\u3010${l.type}\u3011from migu`,type:l.type,typeDescription:l.type,imageUrl:l.img??l.imageUrl,startDate:Or(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"migu"};a.push(p),Dt({...p,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[Migu] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Migu] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u54AA\u5495\u89C6\u9891\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Migu] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=100,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;h&&h.length>0&&i.push(...h)}else _("error",`[Migu] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Migu] \u54AA\u5495\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getEpisodeDanmuSegments(e){_("info","[Migu] \u83B7\u53D6\u54AA\u5495\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r=this.extractEpId(e),n=await this.getDetail(r),s=Ig(n.duration);_("info","[Migu] itemId:",r),_("info","[Migu] durationSec:",s),_("info","[Migu] epsID:",n.epsID);let i=30,a=[];for(let o=0;o<s;o+=i){let c=o,u=Math.min(o+i,s),l=`https://webapi.miguvideo.com/gateway/live_barrage/videox/barrage/v2/list/${n.epsID??r}/${r}/${c}/${u}/020`;a.push({type:"migu",segment_start:c,segment_end:u,url:l})}return new St({type:"migu",segmentList:a})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",appCode:"miguvideo_default_h5"},retries:1}),n=[];if(r&&r.data){let s=await dst(r.data),a=(typeof r.data=="string"?JSON.parse(s):s)?.body?.result??[];n.push(...a)}return n}catch(r){return _("error","[Migu] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>({cid:Number(r.cid),p:`${r.playtime},1,${hb(r.textcolor)},[migu]`,m:r.msg,t:r.playtime,like:r.praiseCount}))}},fst=Oie;Ot();_t();ir();Ts();$n();hn();hs();var rw=class extends Tt{constructor(){super(),this.positionMap={1:1,4:5,5:4}}filterSohuSearchItem(e,r){if(!e.aid||!e.album_name||e.is_trailer===1||e.corner_mark&&e.corner_mark.text==="\u9884\u544A")return null;let n=e.album_name.replace("<<<","").replace(">>>",""),s=null;if(e.meta&&Array.isArray(e.meta)){for(let i of e.meta)if(i.txt&&i.txt.includes("|")){let a=i.txt.split("|");if(a.length>0){let o=a[0].trim();o.includes("\u522B\u540D")&&a.length>1?s=a[1].trim():s=o;break}}}return{mediaId:String(e.aid),title:n,type:s,year:e.year||null,imageUrl:e.ver_big_pic||null,episodeCount:e.total_video_count||0}}async search(e){try{_("info",`[Sohu] \u5F00\u59CB\u641C\u7D22: ${e}`);let r={key:e,type:"1",page:"1",page_size:"20",user_id:"",tabsChosen:"0",poster:"4",tuple:"6",extSource:"1",show_star_detail:"3",pay:"1",hl:"3",uid:String(Math.floor(Date.now()*1e3)),passport:"",plat:"-1",ssl:"0"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:"https://so.tv.sohu.com/",Origin:"https://so.tv.sohu.com"},s=`https://m.so.tv.sohu.com/search/pc/keyword?${yi(r)}`,i=await ge(s,{headers:n});if(!i||!i.data)return _("info","[Sohu] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.data||!a.data.items)return _("info","[Sohu] \u641C\u7D22\u54CD\u5E94\u4E2D\u65E0\u6570\u636E"),[];let o=[];for(let c of a.data.items){let u=this.filterSohuSearchItem(c,e);u&&o.push(u)}return _("info",`[Sohu] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[Sohu] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getPlaylistData(e){let r={playlistid:e,api_key:"f351515304020cad28c92f70f002261c"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Referer:"https://tv.sohu.com/"},s=`https://pl.hd.sohu.com/videolist?${yi(r)}`,i=await ge(s,{headers:n,timeout:15e3});if(!i||!i.data)return null;let a=i.data;if(typeof a=="string"&&a.startsWith("jsonp")){let o=a.indexOf("(")+1,c=a.lastIndexOf(")");if(o>0&&c>o)a=JSON.parse(a.substring(o,c));else return _("error","[Sohu] \u641C\u72D0\u89C6\u9891: \u65E0\u6CD5\u89E3\u6790JSONP\u54CD\u5E94"),null}else typeof a=="string"&&(a=JSON.parse(a));return a}async getEpisodes(e){try{_("info",`[Sohu] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${e}`);let r=await this.getPlaylistData(e);if(!r)return _("info","[Sohu] \u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let n=r.videos||[];if(!n||n.length===0)return _("warn",`[Sohu] \u641C\u72D0\u89C6\u9891: \u672A\u627E\u5230\u5206\u96C6\u5217\u8868 (media_id=${e})`),[];let s=[];for(let i=0;i<n.length;i++){let a=n[i],o,c,u;typeof a=="object"?(o=String(a.vid||""),c=a.video_name||`\u7B2C${i+1}\u96C6`,u=a.url_html5||""):(o=String(a.vid||a.vid||""),c=a.name||a.video_name||`\u7B2C${i+1}\u96C6`,u=a.pageUrl||a.url_html5||""),u&&u.startsWith("http://")&&(u=u.replace("http://","https://"));let l={vid:o,title:c,url:u,episodeId:`${o}:${e}`};s.push(l)}return _("info",`[Sohu] \u6210\u529F\u83B7\u53D6 ${s.length} \u4E2A\u5206\u96C6 (media_id=${e})`),s}catch(r){return _("error","[Sohu] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Sohu] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Sohu] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=m.title||`\u7B2C${p+1}\u96C6`,A=`https://tv.sohu.com/item/${l.mediaId}.html`;f.push({name:(p+1).toString(),url:`${m.url}`,title:`\u3010sohu\u3011 ${h}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||new Date().getFullYear()})\u3010${l.type}\u3011from sohu`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Or(l.year||new Date().getFullYear()),episodeCount:f.length,rating:0,isFavorited:!0,source:"sohu"};a.push(m),Dt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[Sohu] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDuration(e,r){if(!e)return 0;try{let n=await this.getPlaylistData(e),s=Array.isArray(n?.videos)?n.videos:[];if(!s.length)return 0;let i=s.find(o=>String(o?.vid||"")===String(r||""))||(s.length===1?s[0]:null),a=Number(i?.playLength||0);return Number.isFinite(a)&&a>0?a:0}catch(n){return _("warn",`[Sohu] \u83B7\u53D6\u771F\u5B9E\u65F6\u957F\u5931\u8D25: ${n.message}`),0}}async extractVidAndAid(e){let r,n="0",s=await ge(e,{headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),i=s.data.match(/vid="(\d+)"/);return i&&(r=i[1]),n=s.data.match(/id="aid"[^>]*value=['"](\d+)['"]/)?.[1],n||(n=s.data.match(/playlistId="(\d+)"/)?.[1]),{vid:r,aid:n}}async getEpisodeDanmu(e){_("info","[Sohu] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u641C\u72D0\u89C6\u9891\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Sohu] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=10,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getDanmuSegment(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;if(h&&h.length>0)i.push(...h);else if(p>600)break}else _("error",`[Sohu] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Sohu] \u641C\u72D0\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getDanmuSegment(e){try{let r={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Referer:"https://tv.sohu.com/"},n=await ge(e.url,{headers:r,timeout:1e4});if(!n||!n.data)return _("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u5F39\u5E55\u6BB5\u54CD\u5E94\u4E3A\u7A7A (${e.segment_start}-${e.segment_end}s)`),[];try{let i=(typeof n.data=="string"?JSON.parse(n.data):n.data).info?.comments||[];return i&&i.length>0&&_("info",`[Sohu] \u641C\u72D0\u89C6\u9891: \u83B7\u53D6\u5230 ${i.length} \u6761\u5F39\u5E55 (${e.segment_start}-${e.segment_end}s)`),i||[]}catch(s){return _("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u89E3\u6790\u5F39\u5E55\u54CD\u5E94\u5931\u8D25: ${s.message}`),[]}}catch(r){return _("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (vid=${vid}, ${start}-${end}s): ${r.message}`),[]}}async getEpisodeDanmuSegments(e){_("info","[Sohu] \u83B7\u53D6\u641C\u72D0\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let{vid:r,aid:n}=await this.extractVidAndAid(e),s=await this.getEpisodeDuration(n,r),i=s>0?Math.ceil(s):10800,a=300,o=[];for(let c=0;c<i;c+=a){let u=Math.min(c+a,i);o.push({type:"sohu",segment_start:c,segment_end:u,url:`https://api.danmu.tv.sohu.com/dmh5/dmListAll?act=dmlist_v2&vid=${r}&aid=${n}&pct=2&time_begin=${c}&time_end=${u}&dct=1&request_from=h5_js`})}return new St({type:"sohu",duration:s>0?s:0,segmentList:o})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;n.push(...s.info?.comments||[])}return n}catch(r){return _("error","[Sohu] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>{try{let n=16777215;if(r.t&&r.t.c){let l=r.t.c;typeof l=="string"&&l.startsWith("#")?n=parseInt(l.substring(1),16):n=parseInt(String(l),16)}let s=r.v||0,i=Math.floor(parseFloat(r.created||Date.now()/1e3)),a=r.uid||"",o=r.i||"",c=1;r.t&&r.t.p&&(c=this.positionMap[r.t.p]||1);let u=`${s},1,25,${n},${i},0,${a},${o}`;return{cid:String(o),p:u,m:r.c||"",t:parseFloat(s),like:r.fcount}}catch(n){return _("error",`[Sohu] \u683C\u5F0F\u5316\u5F39\u5E55\u5931\u8D25: ${n.message}, \u5F39\u5E55\u6570\u636E:`,r),null}}).filter(r=>r!==null)}};Ot();_t();ir();Ts();$n();hn();hs();var pst={tv:"\u7535\u89C6\u5267",movie:"\u7535\u5F71",cartoon:"\u52A8\u6F2B",comic:"\u52A8\u6F2B"},nw=class extends Tt{constructor(){super(),this.positionMap={4:1,3:4,1:5,2:1}}filterLeshiSearchItem(e,r){if(!e.pid||!e.title)return null;let n=e.title,s=pst[e.type]||"\u7535\u89C6\u5267";return{mediaId:String(e.pid),title:n,type:s,year:e.year||null,imageUrl:e.imageUrl||null,episodeCount:e.episodeCount||0}}async search(e){try{_("info",`[Leshi] \u5F00\u59CB\u641C\u7D22: ${e}`);let r={wd:e,from:"pc",ref:"click",click_area:"search_button",query:e,is_default_query:"0",module:"search_rst_page"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8","Accept-Encoding":"gzip, deflate, br",Referer:"https://so.le.com/",Connection:"keep-alive","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin"},s=`https://so.le.com/s?${yi(r)}`,i=await ge(s,{headers:n,timeout:15e3});if(!i||!i.data)return _("info","[Leshi] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=i.data;_("info",`[Leshi] \u641C\u7D22\u8BF7\u6C42\u6210\u529F\uFF0C\u54CD\u5E94\u957F\u5EA6: ${a.length} \u5B57\u7B26`);let o=[],c=/<div class="So-detail[^"]*"[^>]*data-info="({.*?})"[^>]*>/g,u,l=[];for(;(u=c.exec(a))!==null;)l.push(u);_("info",`[Leshi] \u4ECEHTML\u4E2D\u627E\u5230 ${l.length} \u4E2A data-info \u5757`);for(let d of l)try{let f=d[1];_("info",`[Leshi] \u63D0\u53D6\u5230 data-info \u539F\u59CB\u5B57\u7B26\u4E32: ${f.substring(0,200)}...`),f=f.replace(/'/g,'"'),f=f.replace(/([{,])(\w+):/g,'$1"$2":');let p=JSON.parse(f);_("info",`[Leshi] \u6210\u529F\u89E3\u6790 data-info\uFF0Cpid=${p.pid}, type=${p.type}`);let m=p.pid||"",h=p.type||"",A=p.total||"0";if(!m)continue;let g=d.index,b=[`</div>
|
|
</div>`,`</div>
|
|
</div>`,"</div></div>"],y=-1;for(let L of b){let Z=a.indexOf(L,g);if(Z!==-1){y=Z;break}}if(y===-1){let L=a.indexOf('<div class="So-detail',g+100);if(L!==-1)y=L;else continue}let x=a.substring(g,y),v="",I=/<h1>[\s\S]*?<a[^>]*title="([^"]*)"[^>]*>/.exec(x);if(I&&I[1]&&(v=I[1].trim()),!v&&p.keyWord){let L=/(.*?)(?:\d{4})?(?:电影|电视剧|综艺)?$/.exec(p.keyWord);L&&L[1]&&(v=L[1].replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g,"").trim())}if(!v){let L=/<a[^>]*title="([^"]*?)[^0-9\u4e00-\u9fa5][^"]*"/.exec(x);L&&L[1]&&(v=L[1].trim())}v||_("info","[Leshi] \u672A\u627E\u5230\u6807\u9898\uFF0C\u5C1D\u8BD5\u4ECE\u5176\u4ED6\u6765\u6E90\u83B7\u53D6");let R=/<img[^>]*(?:src|data-src|alt)="([^"]+)"/.exec(x),w=R?R[1]:"",N=null,P=/<b>年份:<\/b>.*?>(\d{4})<\/a>/.exec(x);P||(P=/<b>ä¸Šæ˜ æ—¶é—´ï¼š<\/b>.*?>(\d{4})<\/a>/.exec(x)),P||(P=/_y(\d{4})_/.exec(x)),P||(P=/(\d{4})/.exec(p.keyWord||"")),P&&(N=parseInt(P[1]));let B=pst[h]||"\u7535\u89C6\u5267",M=A&&/^\d+$/.test(A)?parseInt(A):0,D={mediaId:m,title:v,type:B,year:N,imageUrl:w&&w.startsWith("http")?w:w?`https:${w}`:null,episodeCount:M};o.push(D),_("info",`[Leshi] \u89E3\u6790\u6210\u529F - ${v} (pid=${m}, type=${B}, episodes=${M})`)}catch(f){_("warn",`[Leshi] \u89E3\u6790\u641C\u7D22\u7ED3\u679C\u9879\u5931\u8D25: ${f}`);continue}if(o.length>0){_("info",`[Leshi] \u7F51\u7EDC\u641C\u7D22 '${e}' \u5B8C\u6210\uFF0C\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C\u3002`),_("info","[Leshi] \u641C\u7D22\u7ED3\u679C\u5217\u8868:");for(let d of o)_("info",`[Leshi] - ${d.title} (ID: ${d.mediaId}, \u7C7B\u578B: ${d.type}, \u5E74\u4EFD: ${d.year})`)}else _("info",`[Leshi] \u7F51\u7EDC\u641C\u7D22 '${e}' \u5B8C\u6210\uFF0C\u627E\u5230 0 \u4E2A\u7ED3\u679C\u3002`);return o}catch(r){return _("error","[Leshi] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Leshi] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${e}`);let r=[`https://www.le.com/tv/${e}.html`,`https://www.le.com/comic/${e}.html`,`https://www.le.com/playlet/${e}.html`,`https://www.le.com/movie/${e}.html`],n=null;for(let l of r)try{let d=await ge(l,{timeout:1e4});if(d&&d.data&&d.status===200){n=d.data,_("info",`[Leshi] \u6210\u529F\u83B7\u53D6\u9875\u9762: ${l}`);break}}catch(d){_("info",`[Leshi] \u5C1D\u8BD5URL\u5931\u8D25 ${l}: ${d}`);continue}if(!n)return _("error",`[Leshi] \u65E0\u6CD5\u83B7\u53D6\u4F5C\u54C1\u9875\u9762: media_id=${e}`),[];let s=/<div class="show_cnt twxj-[^"]*">[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(s)return _("info","[Leshi] \u627E\u5230\u56FE\u6587\u9009\u96C6\u5BB9\u5668"),this.parseEpisodesFromHtml(s[0],e);let i=/<div class="show_cnt sjxj-[^"]*">[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(i)return _("info","[Leshi] \u627E\u5230\u6570\u5B57\u9009\u96C6\u5BB9\u5668"),this.parseEpisodesFromHtml(i[0],e);_("info","[Leshi] \u672A\u627E\u5230\u7279\u5B9A\u9009\u96C6\u5BB9\u5668\uFF0C\u5C1D\u8BD5\u67E5\u627E\u7B2C\u4E00\u96C6\u89C6\u9891\u5217\u8868...");let a=/<div class="show_play first_videolist[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(a){let l=a[0];return this.parseEpisodesFromHtml(l,e)}_("error",`[Leshi] \u65E0\u6CD5\u627E\u5230\u5267\u96C6\u5217\u8868\u5BB9\u5668: media_id=${e}`);let o=/https:\/\/www\.le\.com\/ptv\/vplay\/(\d+)\.html/g,c=n.matchAll(o),u=[];for(let l of c){let d=l[1],f=l[0],p={vid:d,title:`\u7B2C${u.length+1}\u96C6`,url:f,episodeId:`${d}:${e}`};u.push(p)}return u.length>0?(_("info",`[Leshi] \u4ECEHTML\u5185\u5BB9\u4E2D\u5339\u914D\u5230 ${u.length} \u4E2A\u5267\u96C6\u94FE\u63A5`),u):[]}catch(r){return _("error","[Leshi] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}parseEpisodesFromHtml(e,r){try{let n=/<div class="col_4"[^>]*>[\s\S]*?<\/div>/g,s=e.match(n);if(!s||s.length===0){_("info","[Leshi] \u5728HTML\u4E2D\u672A\u627E\u5230\u5267\u96C6\u5BB9\u5668div.col_4\uFF0C\u5C1D\u8BD5\u67E5\u627Edl.dl_temp\u5143\u7D20");let a=/<dl class="dl_temp">[\s\S]*?<\/dl>/g,o=e.match(a);if(!o||o.length===0){_("info","[Leshi] \u5728HTML\u4E2D\u672A\u627E\u5230\u5267\u96C6\u5143\u7D20\uFF0C\u5C1D\u8BD5\u66F4\u5E7F\u6CDB\u7684\u9009\u62E9\u5668");let c=/<dl[^>]*class="[^"]*dl_temp[^"]*"[^>]*>[\s\S]*?<\/dl>/g,u=e.match(c);return!u||u.length===0?(_("error",`[Leshi] \u65E0\u6CD5\u4ECEHTML\u4E2D\u89E3\u6790\u5230\u4EFB\u4F55\u5267\u96C6: media_id=${r}`),[]):this.extractEpisodes(u,r)}return this.extractEpisodes(o,r)}let i=[];for(let a of s){let o=/<dl class="dl_temp">[\s\S]*?<\/dl>/.exec(a);o&&i.push(o[0])}return i.length===0?(_("error",`[Leshi] \u4ECE\u5BB9\u5668\u4E2D\u672A\u80FD\u63D0\u53D6\u5230\u4EFB\u4F55dl.dl_temp\u5143\u7D20: media_id=${r}`),[]):this.extractEpisodes(i,r)}catch(n){return _("error",`[Leshi] \u89E3\u6790\u5267\u96C6HTML\u5931\u8D25: ${n.message}`),[]}}extractEpisodes(e,r){let n=[];for(let s of e)try{let i=/<a[^>]+href="(\/\/www\.le\.com\/ptv\/vplay\/(\d+)\.html)"[^>]*>/.exec(s);if(!i){_("info","[Leshi] \u8DF3\u8FC7\u65E0\u6CD5\u89E3\u6790\u94FE\u63A5\u7684\u5267\u96C6\u5143\u7D20");continue}let a=i[1],o=i[2],c=`https:${a}`,u="",l=/<dt class="d_tit">[\s\n\r]*<a[^>]*title="([^"]*)"[^>]*>([^<]*)<\/a>/.exec(s);if(l&&l[1])u=l[1].trim();else if(l&&l[2])u=l[2].trim();else{let p=/<a[^>]*title="([^"]*)"[^>]*>[\s\S]*?<dt class="d_tit">/.exec(s)||/<dt class="d_tit">[\s\S]*?<a[^>]*title="([^"]*)"/.exec(s);if(p&&p[1])u=p[1].trim();else{let m=/<dd class="d_cnt"[^>]*>([^<]*)/.exec(s);if(m&&m[1])u=m[1].trim();else{let h=/<a[^>]*title="[^"]*"[^>]*>([^<]*)/.exec(s);h&&h[1]&&(u=h[1].trim())}}}if(!u){let p=/第(\d+)集|(\d+)(?:\s*预告)?/.exec(s);p?u=`\u7B2C${p[1]||p[2]}\u96C6`:u=`\u7B2C${n.length+1}\u96C6`}if(/预告|Preview|preview/.test(u)){_("info",`[Leshi] \u8DF3\u8FC7\u9884\u544A\u7247: ${u}`);continue}let f={vid:o,title:u,url:c,episodeId:`${o}:${r}`};n.push(f)}catch(i){_("warn",`[Leshi] \u89E3\u6790\u5355\u4E2A\u5267\u96C6\u5931\u8D25: ${i.message}`);continue}return _("info",`[Leshi] \u6210\u529F\u89E3\u6790\u5267\u96C6\u5217\u8868: media_id=${r}, \u5171 ${n.length} \u96C6`),n}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Leshi] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Leshi] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=m.title||`\u7B2C${p+1}\u96C6`;f.push({name:(p+1).toString(),url:`${m.url}`,title:`\u3010leshi\u3011 ${h}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||new Date().getFullYear()})\u3010${l.type}\u3011from leshi`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Or(l.year||new Date().getFullYear()),episodeCount:f.length,rating:0,isFavorited:!0,source:"leshi"};a.push(m),Dt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[Leshi] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Leshi] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4E50\u89C6\u7F51\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Leshi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=10,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getDanmuSegment(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;if(h&&h.length>0)i.push(...h);else if(p>600)break}else _("error",`[Leshi] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Leshi] \u4E50\u89C6\u7F51: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getDanmuSegment(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?r.data:JSON.stringify(r.data),i=/vjs_\d+\((.*)\)/.exec(s);if(i){let a=JSON.parse(i[1]);a.code===200&&a.data&&n.push(...a.data.list||[])}}return n}catch(r){return _("error","[Leshi] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}async getEpisodeDanmuSegments(e){_("info","[Leshi] \u83B7\u53D6\u4E50\u89C6\u7F51\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r=e,n=e.match(/\/vplay\/(\d+)\.html/);n&&(r=n[1]);let s=await this.getVideoDuration(r),i=[];for(let a=0;a<Math.ceil(s/300);a++){let o=a*300,c=Math.min((a+1)*300,s);i.push({type:"leshi",segment_start:o,segment_end:c,url:`https://hd-my.le.com/danmu/list?vid=${r}&start=${o}&end=${c}&callback=vjs_${Date.now()}`})}return _("info",`[Leshi] \u4E50\u89C6\u7F51: \u89C6\u9891\u65F6\u957F ${s}\u79D2\uFF0C\u5206\u4E3A ${i.length} \u4E2A\u65F6\u95F4\u6BB5`),new St({type:"leshi",segmentList:i})}async getEpisodeSegmentDanmu(e){return this.getDanmuSegment(e)}async getVideoDuration(e){try{let r=await ge(`https://www.le.com/ptv/vplay/${e}.html`,{timeout:1e4});if(!r||!r.data)return _("warn","[Leshi] \u4E50\u89C6\u7F51: \u83B7\u53D6\u89C6\u9891\u65F6\u957F\u5931\u8D25\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u503C2400\u79D2"),2400;let n=/duration['"]?\s*:\s*['"]?(\d{2}):(\d{2}):(\d{2})['"]?|duration['"]?\s*:\s*['"]?(\d{2}):(\d{2})['"]?|duration['"]?\s*:\s*(\d+)['"]?/.exec(r.data);if(n){if(n[1]&&n[2]&&n[3]){let s=parseInt(n[1]),i=parseInt(n[2]),a=parseInt(n[3]);return s*3600+i*60+a}else if(n[4]&&n[5]){let s=parseInt(n[4]),i=parseInt(n[5]);return s*60+i}else if(n[6])return parseInt(n[6])}return 2400}catch(r){return _("warn",`[Leshi] \u83B7\u53D6\u89C6\u9891\u65F6\u957F\u5931\u8D25: ${r}\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u503C2400\u79D2`),2400}}formatComments(e){return e.map(r=>{try{let n=this.positionMap[parseInt(r.position)]||1,s=parseFloat(r.start||0),i=r.color||"FFFFFF",a=parseInt(i,16),o=r.id||r._id||"",c=r.txt||"",u=`${s.toFixed(2)},${n},25,${a},[${this.constructor.name.toLowerCase()}]`;return{cid:String(o),p:u,m:c,t:Math.round(s*100)/100}}catch(n){return _("error",`[Leshi] \u683C\u5F0F\u5316\u5F39\u5E55\u5931\u8D25: ${n.message}, \u5F39\u5E55\u6570\u636E:`,r),null}}).filter(r=>r!==null)}};Ot();_t();ir();Ts();$n();hn();hs();var Pie=class extends Tt{async search(e){try{let r=`https://m.ixigua.com/s/${e}`,s=(await ge(r,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}})).data,i=[],a=/<section class="search-section">[\s\S]*?<h2 class="search-section-title">[\s\S]*?相关视频[\s\S]*?<\/h2>[\s\S]*?<div class="s-long-video-card">([\s\S]*?)<\/div><\/div><\/div>/,o=s.match(a);if(o){let c=o[1],u=/<div class="s-long-video">[\s\S]*?(?=<div class="s-long-video">|$)/g;(c.match(u)||[]).forEach(d=>{let f=d.match(/href="(\/video\/\d+)"/),p=f?`https://m.ixigua.com${f[1]}`:"",m=d.match(/<h3 class="s-long-video-info-title">[\s\S]*?title="([^"]+)"/),h=m?m[1]:"",A=d.match(/<img src="([^"]+)"/),g=A?A[1]:"";g&&g.startsWith("//")&&(g="https:"+g),g=g.replace(/&/g,"&");let b=d.match(/<p>([^<]+\/[^<]+\/\d{4})<\/p>/),y="",x="";if(b){let v=b[1].split("/");y=v[0]||"",x=v[2]||""}p&&h&&i.push({name:h,type:y,year:x,img:g,url:p})})}else return _("info","[Xigua] xiguaSearchresp: \u76F8\u5173\u89C6\u9891\u7684section \u4E0D\u5B58\u5728"),[];return _("info",`[Xigua] \u641C\u7D22\u627E\u5230 ${i.length} \u4E2A\u6709\u6548\u7ED3\u679C`),i}catch(r){return _("error","[Xigua] getXiguaAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getDetail(e){try{let n=`https://m.ixigua.com/video/${e.split("/").pop()}`,s=await ge(n,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}});if(!s||!s.data)return _("info","[Xigua] getXiguaDetail: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),0;let i=s.data.match(/"duration"\s*:\s*([\d.]+)/);return i?parseFloat(i[1]):0}catch(r){return _("error","[Xigua] getXiguaDetail error:",{message:r.message,name:r.name,stack:r.stack}),0}}async getEpisodes(e){try{let r=`https://m.ixigua.com/video/${e}`,n=await ge(r,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}});if(!n||!n.data)return _("info","[Xigua] getXiguaEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];let s=n.data.match(/"episodes_list"\s*:\s*(\[[\s\S]*?\})\s*\]/);if(s)try{let i=s[0].replace(/"episodes_list"\s*:\s*/,"");return JSON.parse(i).map(c=>({seq_num:c.seq_num,title:c.title||`\u7B2C${c.seq_num}\u96C6`,url:`https://m.ixigua.com/video/${c.gid}`,gid:c.gid,cover_image_url:c.cover_image_url}))}catch(i){_("error","[Xigua] \u89E3\u6790episodes_list\u5931\u8D25:",i)}else return _("info","[Xigua] getXiguaEposides: episodes_list \u4E0D\u5B58\u5728"),[]}catch(r){return _("error","[Xigua] getXiguaEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Xigua] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.name,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.name).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Xigua] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=l.url.split("/").pop(),f=await this.getEpisodes(d),p=[];for(let m of f){let h=m.title;p.push({name:h,url:m.url,title:`\u3010xigua\u3011 ${h}`})}if(p.length>0){let m={animeId:Yr(d),bangumiId:String(d),animeTitle:`${l.name}(${l.year})\u3010${l.type}\u3011from xigua`,type:l.type,typeDescription:l.type,imageUrl:l.img,startDate:Or(l.year),episodeCount:p.length,rating:0,isFavorited:!0,source:"xigua"};a.push(m),Dt({...m,links:p},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[Xigua] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Xigua] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u897F\u74DC\u89C6\u9891\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Xigua] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=100,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;h&&h.length>0&&i.push(...h)}else _("error",`[Xigua] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Xigua] \u897F\u74DC\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getEpisodeDanmuSegments(e){_("info","[Xigua] \u83B7\u53D6\u897F\u74DC\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r=e.split("/").pop(),n=await this.getDetail(e)*1e3;_("info","[Xigua] itemId:",r),_("info","[Xigua] duration:",n);let s=3e5,i=[];for(let a=0;a<n;a+=s){let o=a,c=Math.min(a+s,n),l=`https://ib.snssdk.com/vapp/danmaku/list/v1/?${yi({item_id:r,start_time:o,end_time:c,format:"json"})}`;i.push({type:"xigua",segment_start:o,segment_end:c,url:l})}return new St({type:"xigua",segmentList:i})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"},retries:1}),n=[];if(r&&r.data){let i=(typeof r.data=="string"?JSON.parse(r.data):r.data).data??[];n.push(...i)}return n}catch(r){return _("error","[Xigua] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>({cid:Number(r.danmaku_id),p:`${(r.offset_time/1e3).toFixed(2)},1,16777215,[xigua]`,m:r.text,t:Math.round(r.offset_time/1e3)}))}},mst=Pie;Ot();_t();ir();Ts();$n();hn();hs();var kie=class extends Tt{constructor(){super(),this.domain="https://mob.mddcloud.com.cn",this.headers={"user-agent":"Mdd/5.8.00 (Android+32+)","Content-Type":"application/json",version:"5.8.00",Referer:"mdd"}}getPlayload(e,r){let n=Date.now(),s=yi(r,!1),i=`os:Android|version:5.8.00|action:${e}|time:${n}|appToken:|privateKey:e1be6b4cf4021b3d181170d1879a530a9e4130b69032144d5568abfd6cd6c1c2|data:${s}&`;return{channel:"1000",data:r,deviceNum:"853BDD7A1DC011F1C341455071C03AEB",deviceType:0,jsonSign:0,os:"Android",sign:Ls(i),sourceVersion:0,terminalType:"APP",thirdStatus:0,time:n,version:"5.8.00",visitorStatus:0}}extractByRegex(e){let r=e.match(/\/video\/([a-f0-9]+)\.html/i),n=e.match(/[?&]uuid=([a-f0-9]+)/i);return{vodUuid:r?r[1]:null,uuid:n?n[1]:null,success:!!(r&&n)}}async search(e){try{let r="/searchApi/search/getAllSearchResult4820.action",n=`${this.domain}${r}`,s={keyWord:e},i=await Kr(n,JSON.stringify(this.getPlayload(r,s)),{headers:this.headers});if(!i||!i.data)return _("info","[Maiduidui] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data,o=[],c=a?.data;for(let u of c)if(u?.typeName==="\u5267\u96C6"||u?.typeName==="\u7535\u5F71"||u?.typeName==="\u7EFC\u827A")for(let l of u?.vodList)o.push({name:l.name,type:u.typeName,year:l.yearName,img:l.downImage,url:l.uuid});return _("info",`[Maiduidui] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[Maiduidui] getMaiduiduiAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getDetail(e){try{let r=this.extractByRegex(e),n=r.uuid,s=r.vodUuid,i="/api/vod/listVodSactions.action",a=`${this.domain}${i}`,o={hasIntroduction:0,vodUuid:s},c=await Kr(a,JSON.stringify(this.getPlayload(i,o)),{headers:this.headers});if(!c||!c.data)return _("info","[Maiduidui] \u83B7\u53D6\u8BE6\u60C5\u4FE1\u606F\u54CD\u5E94\u4E3A\u7A7A"),[];let u=typeof c.data=="string"?JSON.parse(c.data):c.data;for(let l of u?.data)if(l.uuid===n)return l.duration;return 0}catch(r){return _("error","[Maiduidui] getMaiduiduiDetail error:",{message:r.message,name:r.name,stack:r.stack}),0}}async getEpisodes(e){try{let r="/api/vod/listVodSactions.action",n=`${this.domain}${r}`,s={hasIntroduction:0,vodUuid:e},i=await Kr(n,JSON.stringify(this.getPlayload(r,s)),{headers:this.headers});if(!i||!i.data)return _("info","[Maiduidui] \u83B7\u53D6\u96C6\u4FE1\u606F\u54CD\u5E94\u4E3A\u7A7A"),[];let a=[];return(typeof i.data=="string"?JSON.parse(i.data):i.data)?.data.forEach(c=>{a.push({title:c.name,episodeId:c.uuid})}),a}catch(r){return _("error","[Maiduidui] getMaiduiduiEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Maiduidui] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.name,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.name).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Maiduidui] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.url),f=[];for(let p of d){let m=p.title;f.push({name:m,url:`https://www.mddcloud.com.cn/video/${l.url}.html?uuid=${p.episodeId}`,title:`\u3010maiduidui\u3011 ${m}`})}if(f.length>0){let p={animeId:Yr(l.url),bangumiId:l.url,animeTitle:`${l.name}(${l.year})\u3010${l.type}\u3011from maiduidui`,type:l.type,typeDescription:l.type,imageUrl:l.img,startDate:Or(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"maiduidui"};a.push(p),Dt({...p,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[Maiduidui] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Maiduidui] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u57CB\u5806\u5806\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Maiduidui] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=20,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;h&&h.length>0&&i.push(...h)}else _("error",`[Maiduidui] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Maiduidui] \u57CB\u5806\u5806: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getEpisodeDanmuSegments(e){_("info","[Maiduidui] \u83B7\u53D6\u57CB\u5806\u5806\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let n=this.extractByRegex(e).uuid,s=await this.getDetail(e);_("info","[Maiduidui] uuid:",n),_("info","[Maiduidui] duration:",s);let i=60,a=[];for(let o=0;o<s;o+=i){let c=o,u=Math.min(o+i,s);a.push({type:"maiduidui",segment_start:c,segment_end:u,url:e})}return new St({type:"maiduidui",segmentList:a})}async getEpisodeSegmentDanmu(e){try{let r=this.extractByRegex(e.url),n=r.uuid,s=r.vodUuid,i="/api/barrage/vodBarrage396.action",a=`${this.domain}${i}`,o={sactionUuid:n,times:e.segment_start,vodUuid:s},c=await Kr(a,JSON.stringify(this.getPlayload(i,o)),{headers:this.headers,retries:1}),u=[];return c&&c.data&&((typeof c.data=="string"?JSON.parse(c.data):c.data).data??[]).forEach(f=>{u.push(...f.barrageList)}),u}catch(r){return _("error","[Maiduidui] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>({cid:Number(r.uuid),p:`${r.times.toFixed(2)},1,${hb(r.color.replace("#",""))},[maiduidui]`,m:r.content,t:r.times}))}},hst=kie;_t();ir();Ts();$n();hn();so();Ot();Ot();_t();Ts();ir();var ymr="https://www.yfsp.tv/",xmr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0 Safari/537.36",bmr=60*1e3;function sw(t,e,r){if(t==null)return r;let n=e.split("."),s=t;for(let i=0;i<n.length;i++){if(s==null)return r;let a=n[i],o=a.match(/^(.+)\[(\d+)\]$/);if(o){let c=o[1],u=parseInt(o[2],10);if(s=s[c],Array.isArray(s)&&u<s.length)s=s[u];else return r}else s=s[a]}return s!==void 0?s:r}function Emr(t,e){let n=new RegExp("\\b(?:var|let|const)\\s+"+e+"\\s*=\\s*").exec(t);if(!n)return null;let s=t.indexOf("{",n.index+n[0].length);if(s===-1)return null;let i=0,a=!1,o="",c=!1;for(let u=s;u<t.length;u++){let l=t[u];if(a){c?c=!1:l==="\\"?c=!0:l===o&&(a=!1,o="");continue}if(l==='"'||l==="'"){a=!0,o=l;continue}if(l==="{"){i+=1;continue}if(l==="}"&&(i-=1,i===0))return t.slice(s,u+1)}return null}function _mr(t){let e=t.match(/"pConfig"\s*:\s*\{\s*"publicKey"\s*:\s*"([^"]+)"\s*,\s*"privateKey"\s*:\s*\[(.*?)\]\s*\}/s);if(!e)return null;let r=[];try{r=JSON.parse("["+e[2]+"]")}catch{return null}return!e[1]||!r.length?null:{publicKey:e[1],privateKey:r[0]}}function Smr(t){let e=sw(t,"config[0]",null),r=e?e.pConfig:null;if(!r)return null;let n=r.publicKey,s=Array.isArray(r.privateKey)?r.privateKey[0]:r.privateKey;return!n||!s?null:{publicKey:n,privateKey:s}}function vmr(t){let e=Emr(t,"injectJson");if(e)try{let r=JSON.parse(e),n=Smr(r);if(n)return n}catch(r){_("warn","[Utils] [Aiyifan] \u89E3\u6790 injectJson \u5931\u8D25\uFF0C\u56DE\u9000\u5230 pConfig \u63D0\u53D6: "+(r.message||"\u672A\u77E5\u9519\u8BEF"))}return _mr(t)}function gst(t){return t==null?null:String(t)}function Imr(t){return t==="vv"||t==="pub"}function Cmr(t){return t?t.split("&").filter(Boolean).map(function(e){let r=e.indexOf("="),n=r===-1?e:e.slice(0,r),s=r===-1?"":e.slice(r+1);function i(c){try{return decodeURIComponent(c.replace(/\+/g,"%20"))}catch{return c}}let a=i(n),o=i(s);return[a,o]}):[]}function Tmr(t){if(!t)return[];if(typeof t=="string"){let n=t.trim();if(!n)return[];let s=n,i=n.indexOf("?");if(i!==-1){let a=n.indexOf("#",i);s=n.slice(i+1,a===-1?void 0:a)}else n.charAt(0)==="?"&&(s=n.slice(1));return Cmr(s)}if(typeof t=="object"&&t!==null){if(typeof t.entries=="function")try{var e=t.entries();if(Array.isArray(e))return e;var r=[];if(typeof t.forEach=="function")return t.forEach(function(n,s){r.push([s,gst(n)])}),r.filter(function(n){return n[1]!==null})}catch{}return Object.keys(t).map(function(n){return[n,gst(t[n])]}).filter(function(n){return n[1]!==null})}return[]}function wmr(t){return Tmr(t).filter(function(e){return!Imr(e[0])}).map(function(e){return e[0]+"="+e[1]}).join("&")}function Rmr(t,e){let r=wmr(t),n=e.publicKey+"&"+r.toLowerCase()+"&"+e.privateKey;return Ls(n)}function Nmr(t){return typeof t=="string"?JSON.parse(t):t}function Omr(t){var e=sw(t,"ret",null),r=sw(t,"data.code",null);return e===200&&r===0}function Ast(t,e){var r=sw(t,"data.msg",null)||sw(t,"msg",null);return r||"HTTP "+e}var c4=class{constructor(e){e=e||{},this.proxyUrlBuilder=e.proxyUrlBuilder||function(r){return O.makeProxyUrl(r)},this.userAgent=e.userAgent||xmr,this.configPageUrl=e.configPageUrl||ymr,this.ttlMs=e.ttlMs||bmr,this.now=e.now||function(){return Date.now()},this.signingConfig=null,this.signingConfigFetchedAt=0}async getSigningConfig(e){e=e||!1;var r=this.now(),n=this.signingConfig&&r-this.signingConfigFetchedAt<this.ttlMs;if(!e&&n)return this.signingConfig;var s=await ge(this.proxyUrlBuilder(this.configPageUrl),{headers:{"User-Agent":this.userAgent,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}}),i=typeof s.data=="string"?s.data:String(s.data||""),a=vmr(i);if(!a)throw new Error("\u672A\u80FD\u4ECE\u684C\u9762\u7AD9\u9875\u9762\u89E3\u6790\u5230 pConfig");return this.signingConfig=a,this.signingConfigFetchedAt=r,_("info","[Utils] [Aiyifan] \u5DF2\u66F4\u65B0\u684C\u9762\u7AD9\u7B7E\u540D\u914D\u7F6E: "+a.publicKey.slice(0,12)+"..."),a}buildSignedParams(e,r){var n={};for(var s in e)e.hasOwnProperty(s)&&(n[s]=e[s]);return n.vv=Rmr(e,r),n.pub=r.publicKey,n}async signedGetJson(e,r,n,s,i){n=n||{},s=s||"Aiyifan",i=i||!1;var a=await this.getSigningConfig(i),o=this.buildSignedParams(r,a),c=lb(e,o),u=await ge(this.proxyUrlBuilder(c),{headers:n}),l;try{l=Nmr(u.data)}catch(f){if(!i)return _("warn","["+s+"] \u54CD\u5E94\u65E0\u6CD5\u89E3\u6790\u4E3A JSON\uFF0C\u5237\u65B0\u7B7E\u540D\u914D\u7F6E\u540E\u91CD\u8BD5: "+(f.message||"\u672A\u77E5\u9519\u8BEF")),this.signedGetJson(e,r,n,s,!0);throw f}var d=u.status!=null?u.status:200;if(d!==200||!Omr(l)){if(!i)return _("warn","["+s+"] \u5F53\u524D\u7B7E\u540D\u8BF7\u6C42\u5931\u8D25\uFF0C\u5237\u65B0 pConfig \u540E\u91CD\u8BD5: "+Ast(l,d)),this.signedGetJson(e,r,n,s,!0);throw new Error(Ast(l,d))}return{data:l,vv:o.vv,signingConfig:a}}};var iw=class extends Tt{constructor(){super(),this.USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0 Safari/537.36",this.SEARCH_API="https://rankv21.tripdata.app/v3/list/briefsearch",this.PLAYLIST_API="https://m10.yfsp.tv/v3/video/languagesplaylist",this.VIDEO_API="https://m10.yfsp.tv/v3/video/play",this.DANMU_API="https://m10.yfsp.tv/api/video/getBarrage",this.DOMAIN_API="https://www.yfsp.tv/play",this.CONFIG_PAGE_API="https://www.yfsp.tv/",this.signingProvider=new c4({userAgent:this.USER_AGENT,configPageUrl:this.CONFIG_PAGE_API}),this.inflightDanmuRequests=new Map}extractEpisodeRequestKey(e){try{return new URL(e).searchParams.get("id")??e}catch{return e}}async searchDrama(e,r=1,n=10){let s={tags:e,orderby:4,page:r,size:n,desc:1,isserial:-1},i={"User-Agent":this.USER_AGENT,Accept:"application/json"};_("info",`[Aiyifan] [\u641C\u7D22] \u5173\u952E\u8BCD: ${e}, \u9875\u7801: ${r}`);try{let a=lb(this.SEARCH_API,s),o=await ge(O.makeProxyUrl(a),{headers:i});return typeof o.data=="string"?JSON.parse(o.data):o.data}catch(a){return _("error",`[Aiyifan] [\u641C\u7D22\u5931\u8D25] \u9519\u8BEF: ${a.message}`),null}}extractDramaList(e){let r=[],n=e?.data?.info||[];if(!n.length)return _("warn","[Aiyifan] [\u8B66\u544A] \u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A"),r;for(let s of n){let i=s.result||[];if(i.length)for(let a of i){let o=a.contxt,c=a.title;r.push({contxt:o,title:c,...a}),_("info",`[Aiyifan] [\u53D1\u73B0\u5267\u76EE] ${c} vid=${o}`)}}return r}async getPlaylist(e){let r={cinema:1,vid:e,lsk:1,taxis:0,cid:"0,1,4,152"},n={"User-Agent":this.USER_AGENT,Accept:"application/json"};_("info",`[Aiyifan] [\u64AD\u653E\u5217\u8868] \u8BF7\u6C42 vid: ${e}`);try{let{data:s}=await this.signingProvider.signedGetJson(this.PLAYLIST_API,r,n,"\u64AD\u653E\u5217\u8868"),i=[],a=s.data?.info||[];for(let o of a)for(let c of o.playList||[])i.push(c);return _("info",`[Aiyifan] [\u64AD\u653E\u5217\u8868] \u5171\u83B7\u53D6\u5230 ${i.length} \u96C6`),i}catch(s){return _("error",`[Aiyifan] [\u64AD\u653E\u5217\u8868\u5931\u8D25] \u9519\u8BEF: ${s.message}`),[]}}async getVideoInfo(e,r=null){let n={cinema:1,id:e,a:0,lang:"none",usersign:1,region:"GL.",device:0,isMasterSupport:1},s={"User-Agent":this.USER_AGENT,Accept:"application/json"},i=r?`(ID:${r})`:"";_("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] \u8BF7\u6C42 key: ${e} ${i}`);try{let{data:a,vv:o}=await this.signingProvider.signedGetJson(this.VIDEO_API,n,s,"\u89C6\u9891\u4FE1\u606F");return _("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] vv\u7B7E\u540D: ${o.substring(0,16)}...`),a.data||{}}catch(a){return _("error",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F\u5931\u8D25] \u9519\u8BEF: ${a.message}`),null}}extractUniqueKey(e){let n=(e.info?.[0]||{}).uniqueKey;return n&&_("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] \u83B7\u53D6\u5230 uniqueKey: ${n}`),n}async fetchBarrage(e,r=1,n=3e4){let s={cinema:1,page:r,size:n,uniqueKey:e},i={"User-Agent":this.USER_AGENT};_("info",`[Aiyifan] [\u5F39\u5E55] \u8BF7\u6C42 uniqueKey: ${e}`);try{let{data:a,vv:o}=await this.signingProvider.signedGetJson(this.DANMU_API,s,i,"\u5F39\u5E55");_("info",`[Aiyifan] [\u5F39\u5E55] vv\u7B7E\u540D: ${o.substring(0,16)}...`);let c=a.data?.info||[];return _("info",`[Aiyifan] [\u5F39\u5E55] \u83B7\u53D6\u5230 ${c.length} \u6761\u5F39\u5E55`),c}catch(a){return _("error",`[Aiyifan] [\u5F39\u5E55\u5931\u8D25] \u9519\u8BEF: ${a.message}`),[]}}async search(e){_("info",`[Aiyifan] \u5F00\u59CB\u641C\u7D22: ${e}`);let r=await this.searchDrama(e);if(!r)return _("error","[Aiyifan] \u641C\u7D22\u5931\u8D25\uFF0C\u9000\u51FA"),[];let n=this.extractDramaList(r);if(!n.length)return _("warn","[Aiyifan] \u672A\u627E\u5230\u5267\u76EE\u4FE1\u606F\uFF0C\u9000\u51FA"),[];let s=n.map(i=>({provider:"aiyifan",mediaId:i.contxt,title:i.title,type:i.atypeName,year:new Date(i.postTime).getFullYear(),imageUrl:i.imgPath||null,episodeCount:0}));return _("info",`[Aiyifan] \u641C\u7D22\u5B8C\u6210\uFF0C\u627E\u5230 ${s.length} \u4E2A\u7ED3\u679C`),s}async getEpisodes(e){_("info",`[Aiyifan] \u83B7\u53D6\u5267\u96C6\u8BE6\u60C5: ${e}`);let r=await this.getPlaylist(e);if(!r.length)return _("error","[Aiyifan] \u83B7\u53D6\u64AD\u653E\u5217\u8868\u5931\u8D25"),[];let n=r.map((s,i)=>({vid:s.key,id:s.id,title:s.name||`\u7B2C${i+1}\u96C6`,link:`${this.DOMAIN_API}/${e}?id=${s.key}`}));return _("info",`[Aiyifan] \u83B7\u53D6\u5230 ${n.length} \u4E2A\u5267\u96C6`),n}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Aiyifan] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=Ct(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Aiyifan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId);if(d.length===0){_("info",`[Aiyifan] ${l.title} \u65E0\u5206\u96C6\uFF0C\u8DF3\u8FC7`);return}let f=d.map((h,A)=>({name:h.title||`${A+1}`,url:h.link,title:`\u3010aiyifan\u3011 ${h.title}`}));if(f.length===0)return;let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from aiyifan`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Or(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"aiyifan"};a.push(m),Dt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}catch(d){_("error",`[Aiyifan] \u5904\u7406 ${l.title} \u5931\u8D25:`,d.message)}});return await Promise.all(u),this.sortAndPushAnimesByYear(a,n),a}async getEpisodeDanmu(e){_("info",`[Aiyifan] \u83B7\u53D6\u5F39\u5E55: ${e}`);let r=this.extractEpisodeRequestKey(e),n=this.inflightDanmuRequests.get(r);if(n)return _("info",`[Aiyifan] \u590D\u7528\u8FDB\u884C\u4E2D\u7684\u5F39\u5E55\u8BF7\u6C42: ${r}`),await n;let s=(async()=>{let i=r,a=await this.getVideoInfo(i);if(!a)return _("error","[Aiyifan] \u83B7\u53D6\u89C6\u9891\u4FE1\u606F\u5931\u8D25"),[];let o=this.extractUniqueKey(a);if(!o)return _("error","[Aiyifan] \u672A\u83B7\u53D6\u5230uniqueKey"),[];let c=await this.fetchBarrage(o);return c.length===0?(_("info","[Aiyifan] \u672A\u83B7\u53D6\u5230\u5F39\u5E55"),[]):(c.sort((u,l)=>(u.second||0)-(l.second||0)),_("info",`[Aiyifan] \u83B7\u53D6\u5230 ${c.length} \u6761\u5F39\u5E55`),c)})();this.inflightDanmuRequests.set(r,s);try{return await s}finally{this.inflightDanmuRequests.delete(r)}}async getEpisodeDanmuSegments(e){let r=await this.getEpisodeDanmu(e),n=[{type:"aiyifan",segment_start:0,segment_end:Math.max(...r.map(s=>s.second||0),0),url:`${this.DANMU_API}?uniqueKey=${e}`}];return{type:"aiyifan",duration:Math.max(...r.map(s=>s.second||0),0),segmentList:n}}async getEpisodeSegmentDanmu(e){let r=e.url?.split("uniqueKey=")[1];return r?await this.getEpisodeDanmu(r):[]}formatComments(e){return e.map(r=>({p:`${r.second||0},${r.position===1?5:1},25,${hb(r.color.replace("#",""))},0,0,0,0`,m:r.contxt||r.content||"",like:r.good,...r})).map(r=>(O.danmuSimplifiedTraditional==="simplified"&&r.m&&(r.m=Qt(r.m)),r))}};Ot();_t();ir();$n();so();hs();hn();var Rc={danmu:null,subject:null},aw=new Map,Pmr=3*60*1e3,kmr=100,ow=class extends Tt{get headers(){return{"Content-Type":"application/json","User-Agent":`huangxd-/danmu_api/${O.version}(https://github.com/huangxd-/danmu_api)`}}_applyProxyForSearch(e){return O.makeProxyUrl(e)}_getDanmuServerPriority(){return new Date().getTimezoneOffset()===-480?["https://api.animeko.org","https://danmaku-global.myani.org","https://danmaku-cn.myani.org","https://s1.animeko.openani.org"]:["https://danmaku-global.myani.org","https://api.animeko.org","https://s1.animeko.openani.org","https://danmaku-cn.myani.org"]}_getSubjectServerPriority(){let e="https://api.bgm.tv",r="https://api.bangumi.lol",n=this._applyProxyForSearch(e),i=new Date().getTimezoneOffset()===-480?[{type:"V2",url:"https://api.animeko.org"},{type:"V2",url:"https://danmaku-global.myani.org"},{type:"V2",url:"https://danmaku-cn.myani.org"},{type:"V2",url:"https://s1.animeko.openani.org"}]:[{type:"V2",url:"https://danmaku-global.myani.org"},{type:"V2",url:"https://api.animeko.org"},{type:"V2",url:"https://s1.animeko.openani.org"},{type:"V2",url:"https://danmaku-cn.myani.org"}];return n!==e?[...i,{type:"V0",url:n},{type:"V0",url:r}]:[...i,{type:"V0",url:r},{type:"V0",url:e}]}async _fetchV0AllEpisodes(e,r){let n=[],s=0,i=200;try{for(;;){let a=`${e}/v0/episodes?subject_id=${r}&limit=${i}&offset=${s}`,o=await ge(a,{headers:this.headers,timeout:3e3});if(!o||!o.data||!Array.isArray(o.data.data)){s===0&&_("info",`[Animeko] Subject ${r} \u65E0\u5267\u96C6\u6570\u636E\u6216\u54CD\u5E94\u5F02\u5E38`);break}let c=o.data.data;if(c.length===0||(n=n.concat(c),c.length===i&&_("info",`[Animeko] ID:${r} \u6B63\u52A0\u8F7D\u66F4\u591A\u5267\u96C6 (\u5F53\u524D\u5DF2\u83B7: ${n.length})`),c.length<i))break;if(s+=i,s>1600){_("warn",`[Animeko] ID:${r} \u5267\u96C6\u6570\u91CF\u8D85\u8FC7\u5B89\u5168\u9650\u5236(1600)\uFF0C\u505C\u6B62\u7FFB\u9875`);break}}return n}catch(a){return _("error","[Animeko] V0\u5267\u96C6\u83B7\u53D6\u5F02\u5E38:",{message:a.message,id:r,offset:s}),[]}}async _fetchAnimekoSubject(e){let r=aw.get(e);if(r&&Date.now()-r.timestamp<Pmr)return r.data;let n=this._getSubjectServerPriority(),s=Rc.subject,i=n.findIndex(a=>a.url===s);(!s||i===-1)&&(i=0,s=n[0].url,Rc.subject=s);for(let a=0;a<n.length;a++){let o=n[(i+a)%n.length];try{let c=null;if(o.type==="V2"){_("info",`[Animeko] \u8BE6\u60C5\u63A5\u53E3\u8BF7\u6C42 V2 \u8282\u70B9: ${o.url} (${e})`);let u=await ge(`${o.url}/v2/subjects/${e}`,{headers:this.headers,timeout:3e3});u&&u.data&&u.data.id&&(c=u.data)}else if(o.type==="V0"){_("info",`[Animeko] \u8BE6\u60C5\u8865\u5168\u8BF7\u6C42 V0 \u8282\u70B9: ${o.url} (${e})`);let[u,l]=await Promise.all([this._fetchV0AllEpisodes(o.url,e),ge(`${o.url}/v0/subjects/${e}/subjects`,{headers:this.headers,timeout:3e3}).catch(d=>(_("warn",`[Animeko] V0\u5173\u8054\u83B7\u53D6\u5F02\u5E38: ${d.message}`),null))]);(u&&u.length>0||l)&&(c={id:e},u&&u.length>0&&(c.episodes=u.map(d=>({episodeId:d.id,sort:d.sort,ep:d.ep,type:d.type===0?"MAIN":d.type===1?"SP":String(d.type),name:d.name,nameCn:d.name_cn,airdate:d.airdate}))),l&&l.data&&Array.isArray(l.data)&&(c.relations=l.data))}if(c){if(Rc.subject!==o.url&&(_("info",`[Animeko] \u8BE6\u60C5\u8282\u70B9\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${Rc.subject} -> ${o.url}`),Rc.subject=o.url),aw.set(e,{data:c,timestamp:Date.now()}),aw.size>kmr){let u=aw.keys().next().value;aw.delete(u)}return c}_("warn",`[Animeko] \u8282\u70B9 ${o.url} \u8FD4\u56DE\u65E0\u6548\u6570\u636E`)}catch(c){_("warn",`[Animeko] \u8282\u70B9\u8BF7\u6C42\u5931\u8D25: ${o.url} - ${c.message}`)}}return _("warn","[Animeko] \u6240\u6709\u8BE6\u60C5\u8282\u70B9\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3\u4F18\u5148\u7EA7\u9996\u4F4D"),Rc.subject=n[0].url,null}async search(e){if(O.useBangumiData){let r=await Au(e,["bangumi"]);if(r.length>0){_("info",`[Animeko] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`);let n=r.map(s=>{let a=(s.titles.find(o=>o&&o.includes(e))||s.titles[1]||s.title)+(s.titleSuffix||"");return{id:parseInt(s.siteId),name:s.title,name_cn:a,imageUrl:"",date:s.begin,score:0,platform:s.typeStr,aliases:[...s.titles]}});if(n.length>1){let s=await this.checkRelationsAndModifyTitles(n);return _("info",`[Animeko] \u641C\u7D22\u5B8C\u6210\uFF08Bangumi-Data + \u5173\u7CFB\u68C0\u6D4B\uFF09\uFF0C\u5171\u627E\u5230 ${s.length} \u4E2A\u6709\u6548\u7ED3\u679C`),this.transformResults(s)}return this.transformResults(n)}}try{let r=e.replace(/[._]/g," ").replace(/\s+/g," ").trim();_("info",`[Animeko] \u5F00\u59CB\u641C\u7D22 (V0): ${r}`);let n=[],s=0,i=20;for(;;){let o=`/v0/search/subjects?limit=${i}&offset=${s}`,c=`https://api.bgm.tv${o}`,u=`https://api.bangumi.lol${o}`,l=this._applyProxyForSearch(c),d=[];l!==c?d=[{id:"PROXY_OFFICIAL",url:l},{id:"MIRROR",url:u}]:d=[{id:"MIRROR",url:u},{id:"OFFICIAL",url:c}];let f={keyword:r,filter:{type:[2]}},p=null;for(let A of d)try{if(p=await Kr(A.url,JSON.stringify(f),{headers:this.headers,timeout:5e3}),p&&p.data){_("info",`[Animeko] \u641C\u7D22\u8282\u70B9 [${A.id}] \u8BF7\u6C42\u6210\u529F (offset: ${s})`);break}}catch(g){_("warn",`[Animeko] \u641C\u7D22\u8282\u70B9 [${A.id}] \u8BF7\u6C42\u5931\u8D25: ${g.message}`)}if(!p||!p.data){_("info",`[Animeko] \u641C\u7D22\u8BF7\u6C42\u6240\u6709\u8282\u70B9\u5747\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (offset: ${s})`);break}let m=p.data.data||[];if(m.length===0)break;let h=this.filterSearchResults(m,e);if(h.length>0&&(n=n.concat(h)),h.length<i){_("info",`[Animeko] \u8FC7\u6EE4\u540E\u5F53\u524D\u6279\u6B21\u5269 ${h.length} \u4E2A\u7ED3\u679C\uFF0C\u505C\u6B62\u7FFB\u9875`);break}if(s+=i,s>=60){_("warn","[Animeko] \u641C\u7D22\u7FFB\u9875\u8FBE\u5230\u5B89\u5168\u4E0A\u9650(60)\uFF0C\u5F3A\u5236\u505C\u6B62");break}}if(n.length===0)return _("info","[Animeko] \u8FC7\u6EE4\u540E\u65E0\u5339\u914D\u7ED3\u679C"),[];let a=Array.from(new Map(n.map(o=>[o.id,o])).values());return a.length>1&&(a=await this.checkRelationsAndModifyTitles(a)),_("info",`[Animeko] \u641C\u7D22\u5B8C\u6210\uFF0C\u5171\u627E\u5230 ${a.length} \u4E2A\u6709\u6548\u7ED3\u679C`),this.transformResults(a)}catch(r){return _("error","[Animeko] Search error:",{message:r.message,name:r.name,stack:r.stack}),[]}}filterSearchResults(e,r){return e.filter(n=>{let s=[n.name,n.name_cn];return n.infobox&&Array.isArray(n.infobox)&&n.infobox.forEach(i=>{i.key==="\u522B\u540D"&&Array.isArray(i.value)&&i.value.forEach(a=>{a&&a.v&&s.push(a.v)}),i.key==="\u4E2D\u6587\u540D"&&typeof i.value=="string"&&s.push(n.value)}),s.some(i=>i&&yt(i,r))})}hasExplicitSeasonInfo(e){return e?/第?\s*(?:\d+|[一二三四五å…七八ä¹å]+)\s*[壿œŸéƒ¨]|Season\s*\d+|S\d+|Part\s*\d+|Act\s*\d+|Phase\s*\d+|The\s+Final\s+Season|OVA|OAD|剧场版|åŠ‡å ´ç‰ˆ|Movie|Film|ç»[篇集]|å¤–ä¼ |SP|(?<!\d)\d+$|\S+[ç¯‡ç« ]/i.test(e):!1}async checkRelationsAndModifyTitles(e){let r=Math.min(e.length,3);for(let n=0;n<r;n++)for(let s=0;s<r;s++){if(n===s)continue;let i=e[n],a=e[s],o=i.name_cn||i.name,c=a.name_cn||a.name;if(c.includes(o)&&c.length>o.length){if(this.hasExplicitSeasonInfo(c))continue;let u=await this._fetchAnimekoSubject(i.id),d=this._extractRelations(u).find(f=>f.id===a.id);if(d&&(_("info",`[Animeko] \u68C0\u6D4B\u5230\u5173\u7CFB: [${o}] -> ${d.relation} -> [${c}]`),["\u7EED\u96C6","\u756A\u5916\u7BC7","\u4E3B\u7EBF\u6545\u4E8B","\u524D\u4F20","\u4E0D\u540C\u6F14\u7ECE","\u884D\u751F"].includes(d.relation))){let p=d.relation;p==="\u7EED\u96C6"&&(p="\u7EED\u7BC7"),a._relation_mark=`(${p})`}}}return e}_extractRelations(e){if(!e||!e.relations)return[];let r=e.relations;if(Array.isArray(r))return r.filter(i=>i.type===2).map(i=>({id:i.id,name:i.name_cn||i.name,relation:i.relation}));let n=[],s=(i,a)=>{Array.isArray(i)&&i.forEach(o=>{o&&n.push({id:o,name:"",relation:a})})};return s(r.sequelSubjects,"\u7EED\u96C6"),s(r.prequelSubjects,"\u524D\u4F20"),s(r.sideStorySubjects,"\u756A\u5916\u7BC7"),s(r.alternativeSettingSubjects,"\u4E0D\u540C\u6F14\u7ECE"),s(r.characterSubjects,"\u884D\u751F"),n}_extractInfoboxValue(e,r){if(!e||!e.fields||!Array.isArray(e.fields))return null;let n=e.fields.find(s=>s.key===r);return n&&n.values&&n.values.length>0&&n.values[0].v||null}_ExtractInfoboxAliases(e){let r=[];return!e||!e.fields||!Array.isArray(e.fields)||e.fields.forEach(n=>{n.key==="\u522B\u540D"&&Array.isArray(n.values)&&n.values.forEach(s=>{s&&s.v&&!r.includes(s.v)&&r.push(s.v)})}),r}transformResults(e){return e.map(r=>{let n="\u52A8\u6F2B";if(r.platform)switch(r.platform){case"TV":case 1:n="TV\u52A8\u753B";break;case"Web":n="Web\u52A8\u753B";break;case"OVA":n="OVA";break;case"Movie":n="\u5267\u573A\u7248";break;default:n=typeof r.platform=="number"?"TV\u52A8\u753B":r.platform}let s=!1,i=!1;r.tags&&Array.isArray(r.tags)&&r.tags.forEach(u=>{let l=u.name||u;l==="3D"&&(s=!0),l==="2D"&&(i=!0)}),s?n="3D"+n:i&&(n="2D"+n);let a=r._relation_mark?` ${r._relation_mark}`:"",o=Array.isArray(r.aliases)?[...r.aliases]:[];r.infobox&&(Array.isArray(r.infobox)?r.infobox.forEach(u=>{u.key==="\u522B\u540D"&&Array.isArray(u.value)&&u.value.forEach(l=>{l&&l.v&&!o.includes(l.v)&&o.push(l.v)})}):r.infobox.fields&&this._ExtractInfoboxAliases(r.infobox).forEach(l=>{o.includes(l)||o.push(l)})),r.name_cn&&r.name_cn!==r.name&&o.push(r.name_cn),r.nameCn&&r.nameCn!==r.name&&(o.includes(r.nameCn)||o.push(r.nameCn));let c=r.airDate||r.date||"";return{id:r.id,name:r.name,name_cn:(r.name_cn||r.nameCn||r.name)+a,aliases:o,images:r.images,air_date:c,score:r.score?parseFloat(r.score):0,typeDescription:n}})}async getEpisodes(e){try{let r=await this._fetchAnimekoSubject(e);return!r||!r.episodes||!Array.isArray(r.episodes)?(r&&_("info",`[Animeko] Subject ${e} \u65E0\u5267\u96C6\u6570\u636E`),[]):r.episodes.map(n=>({id:n.episodeId,sort:parseInt(n.sort)||0,ep:n.ep,type:n.type==="MAIN"?0:n.type==="SP"?1:n.type,name:n.name||"",name_cn:n.nameCn||"",airdate:n.airdate||""}))}catch(r){return _("error","[Animeko] GetEpisodes error:",{message:r.message,id:e}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return e&&_("error","[Animeko] sourceAnimes is not a valid array"),[];let o=e,c=i!==null?i:Wt(r);if(c!==null){let l=o.filter(d=>{let f=d.name_cn||d.name,p=Ct(f).season;return p===c||c===1&&p===null});l.length>0&&(o=l,_("info",`[Animeko] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.id),f=[],p=l.air_date||"";if(Array.isArray(d)){d.sort((m,h)=>(m.sort||0)-(h.sort||0));for(let m of d){if(m.type!==0)continue;!p&&m.airdate&&(p=m.airdate);let h=m.sort||m.ep,A=m.name_cn||m.name||"",g=`\u7B2C${h}\u8BDD ${A}`.trim();f.push({name:`${h}`,url:m.id.toString(),title:`\u3010animeko\u3011 ${g}`})}}if(f.length>0){let m=p?new Date(p).getFullYear():"",h={animeId:l.id,bangumiId:String(l.id),animeTitle:`${l.name_cn||l.name}(${m})\u3010${l.typeDescription||"\u52A8\u6F2B"}\u3011from animeko`,aliases:l.aliases||[],type:"\u52A8\u6F2B",typeDescription:l.typeDescription||"\u52A8\u6F2B",imageUrl:l.images?l.images.common||l.images.large:"",startDate:p,episodeCount:f.length,rating:l.score||0,isFavorited:!0,source:"animeko"};a.push(h),Dt({...h,links:f},s),O.animes.length>O.MAX_ANIMES&&$t()}}catch(d){_("error",`[Animeko] Error processing anime ${l.id}: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){let r=String(e).trim();if(r.includes("/")){let a=r.split("/");r=a[a.length-1]}if(r.includes("?")&&(r=r.split("?")[0]),!r)return _("error","[Animeko] \u65E0\u6548\u7684 episodeId"),[];let n=this._getDanmuServerPriority(),s=Rc.danmu,i=n.indexOf(s);(!s||i===-1)&&(i=0,s=n[0],Rc.danmu=s);for(let a=0;a<n.length;a++){let o=(i+a)%n.length,c=n[o],u=`${c}/v1/danmaku/${r}`;_("info",`[Animeko] \u5C1D\u8BD5\u4F7F\u7528 ${c} \u8282\u70B9\u83B7\u53D6\u5F39\u5E55`);try{let l=await ge(u,{headers:this.headers,timeout:3e3});if(l&&l.data){let d=l.data.danmakuList;if(d&&Array.isArray(d))return Rc.danmu!==c&&(_("info",`[Animeko] \u5F39\u5E55\u57DF\u8282\u70B9\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${Rc.danmu} -> ${c}`),Rc.danmu=c),_("info",`[Animeko] \u6210\u529F\u83B7\u53D6\u5F39\u5E55\uFF0C\u5171 ${d.length} \u6761 (${c}\u8282\u70B9)`),d}_("info",`[Animeko] ${c} \u8282\u70B9\u83B7\u53D6\u5931\u8D25/\u65E0\u6570\u636E\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(l){_("warn",`[Animeko] \u8BF7\u6C42\u8282\u70B9\u5931\u8D25: ${c} - ${l.message}`)}}return _("info","[Animeko] \u5F39\u5E55\u57DF\u6240\u6709\u964D\u7EA7\u8282\u70B9\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3\u9996\u9009\u8282\u70B9"),Rc.danmu=n[0],[]}async getEpisodeDanmuSegments(e){return new St({type:"animeko",segmentList:[{type:"animeko",segment_start:0,segment_end:3e4,url:String(e)}]})}async getEpisodeSegmentDanmu(e){let r=(e.url||"").trim();return r?this.getEpisodeDanmu(r):[]}formatComments(e){if(!Array.isArray(e))return[];let r={NORMAL:1,TOP:5,BOTTOM:4};return e.filter(n=>n&&n.danmakuInfo).map(n=>{let s=n.danmakuInfo,i=(Number(s.playTime)/1e3).toFixed(2),a=r[s.location]||1,o=s.color===-1?16777215:s.color,c=O.danmuSimplifiedTraditional==="simplified"?Qt(s.text):s.text;return{cid:n.id,p:`${i},${a},${o},[animeko]`,m:c}})}};Ot();_t();ir();hn();hs();var cw=class extends Tt{async search(e){}async getEpisodes(e){}async handleAnimes(e,r,n,s=null){}async getEpisodeDanmu(e){try{let r=await ge(`${O.otherServer}/?url=${e}&ac=dm`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return _("info",`[Other] danmu response from ${O.otherServer}: \u2193\u2193\u2193`),ts(r.data),r.data}catch(r){return _("error",`[Other] \u8BF7\u6C42 ${O.otherServer} \u5931\u8D25:`,r),[]}}async getEpisodeDanmuSegments(e){return _("info","[Other] \u83B7\u53D6\u7B2C\u4E09\u65B9\u670D\u52A1\u5668\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new St({type:"other_server",segmentList:[{type:"other_server",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e}};hs();var bst=new jT,Est=new HT,uw=new zT,lw=new YT,dw=new Tg,fw=new JT,h4=new XT,V0=new wg,z0=new Pg,Y0=new Rg,kg=new Ng,Tu=new Og,J0=new fst,Dg=new rw,Bg=new nw,Lg=new mst,Mg=new hst,Wg=new iw,pw=new ow,Bie=new cw,Lie=new GT(V0,Y0,z0,Tu,J0),_st=new QT(Lie),u4=new Map;function yst(t){let e=Number(t||0);return!Number.isFinite(e)||e<=0?0:e>6*60*60?e/1e3:e}function Sst(t,e=!1){return e?String(t||O.danmuOutputFormat||"json").toLowerCase()==="json":!1}function l4(t,e=null){return e===null?t:{videoDuration:e,...t}}function Dmr(t){let e=yst(t?.duration||t?.videoDuration||0);if(e>0)return e;let r=Array.isArray(t?.segmentList)?t.segmentList:[];if(!r.length)return 0;let n=0;return r.forEach(s=>{let i=yst(s?.segment_end||0);i<=0||i>n&&(n=i)}),n>0?n:0}async function Mie(t){if(!/^https?:\/\//i.test(t))return 0;try{let e=t,r=null;return e.includes(".qq.com")?r=await be.run("tencent",()=>V0.getComments(e,"qq",!0)):e.includes(".iqiyi.com")?r=await be.run("iqiyi",()=>Y0.getComments(e,"qiyi",!0)):e.includes(".mgtv.com")?r=await be.run("mango",()=>kg.getComments(e,"imgo",!0)):e.includes(".bilibili.com")||e.includes("b23.tv")?(e.includes("b23.tv")&&(e=await be.run("bilibili",()=>Tu.resolveB23Link(e))),r=await be.run("bilibili",()=>Tu.getComments(e,"bilibili1",!0))):e.includes(".youku.com")?r=await be.run("youku",()=>z0.getComments(e,"youku",!0)):e.includes(".miguvideo.com")?r=await be.run("migu",()=>J0.getComments(e,"migu",!0)):e.includes(".sohu.com")?r=await be.run("sohu",()=>Dg.getComments(e,"sohu",!0)):e.includes(".le.com")?r=await be.run("leshi",()=>Bg.getComments(e,"leshi",!0)):e.includes(".douyin.com")||e.includes(".ixigua.com")?r=await be.run("xigua",()=>Lg.getComments(e,"xigua",!0)):e.includes(".mddcloud.com.cn")?r=await be.run("maiduidui",()=>Mg.getComments(e,"maiduidui",!0)):e.includes(".yfsp.tv")&&(r=await be.run("aiyifan",()=>Wg.getComments(e,"aiyifan",!0))),Dmr(r)}catch(e){return _("warn",`[system] [Duration] \u83B7\u53D6\u65F6\u957F\u5931\u8D25: ${e.message}`),0}}function Bmr(t){return String(t||"").split(Cu).map(e=>{let r=e.indexOf(":");return r===-1?e.trim():e.slice(r+1).trim()}).filter(Boolean)}async function d4(t){if(!t)return 0;try{let e=t.includes(Cu)?Bmr(t):[t];return(await Promise.all(e.map(Mie))).reduce((n,s)=>Math.max(n,s||0),0)}catch(e){return _("warn",`[system] [Duration] \u83B7\u53D6\u65F6\u957F\u5931\u8D25: ${e.message}`),0}}function f4(t,e){if(!e)return!0;let r=W0(t.animeTitle);return r?r===e:!0}function Lmr(t,e,r){let n=t.animeTitle.match(/^(.*?)\(\d{4}\)/),s=n?n[1].trim():t.animeTitle.split("(")[0].trim(),i=Fr(s),a=Fr(e);if(i.includes(a)){if(i.startsWith(a)){let o=i.substring(a.length).trim();if(o===""&&r===1)return!0;let c=o.match(/\d+/);if(c&&c[0]===r.toString())return!0;let u=o.match(/[一二三四五å…七八ä¹å壹贰å肆ä¼é™†æŸ’æŒçŽ–æ‹¾]+/);if(u&&tg(u[0])===r)return!0}return!1}else return!1}function Die(t,e,r,n,s){if(r===null||e===null)return!0;let i=[];s&&(i=s.split("&").map(o=>o.trim().toLowerCase()).filter(o=>o)),i.length===0&&(i=["_any_"]);let a=!0;for(let o of i){let c=!1,u=new Map,l=!1;for(let d of t){let f=p4(d.animeTitle)||d.source;if(o!=="_any_"&&jf(f,o)===0)continue;l=!0;let p=Fg(d,n);if(p?.success&&p.bangumi?.episodes){let m=p.bangumi.episodes.filter(y=>!O.episodeTitleFilter.test(y.episodeTitle)),h=$g(m);if(h.some(y=>uf(y.episodeTitle)===r)){c=!0;break}let A=[d.animeTitle];d.aliases&&Array.isArray(d.aliases)&&A.push(...d.aliases);let g=null;for(let y of A){if(!y)continue;let x=Ct(y).season;if(x!==null){g=x;break}}g===null&&(g=1);let b=u.get(g)||0;h.length>b&&u.set(g,h.length)}}if(l&&!c){let d=0;for(let f of u.values())d+=f;if(d<r){a=!1;break}}}return a}async function xst(t,e,r,n,s,i=null,a=null){let{vod:o,360:c,tmdb:u,douban:l,renren:d,hanjutv:f,bahamut:p,dandan:m,custom:h,tencent:A,youku:g,iqiyi:b,imgo:y,bilibili:x,migu:v,sohu:I,leshi:R,xigua:w,maiduidui:N,aiyifan:P,animeko:B}=t,M=O.sourceOrderArr.filter(W=>t[W]!==void 0),D=[];for(let W of M){let F=[],K=new Map;if(W==="360")D.push({key:W,animes:F,detailStore:K,promise:be.run(In(W),()=>bst.handleAnimes(c,e,F,K,s))});else if(W==="vod"){if(o&&Array.isArray(o)){let j=be.run(W,()=>(async()=>{for(let J of o)J&&J.list&&J.list.length>0&&await Est.handleAnimes(J.list,e,F,J.serverName,K,s)})());D.push({key:W,animes:F,detailStore:K,promise:j})}}else W==="tmdb"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>_st.handleAnimes(u,e,F,K,s))}):W==="douban"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>Lie.handleAnimes(l,e,F,K,s))}):W==="renren"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>uw.handleAnimes(d,e,F,K,s))}):W==="hanjutv"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>lw.handleAnimes(f,e,F,K,s))}):W==="bahamut"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>dw.handleAnimes(p,e,F,K,s))}):W==="dandan"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>fw.handleAnimes(m,e,F,K,s))}):W==="custom"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>h4.handleAnimes(h,e,F))}):W==="tencent"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>V0.handleAnimes(A,e,F,K,s))}):W==="youku"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>z0.handleAnimes(g,e,F,K,s))}):W==="iqiyi"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>Y0.handleAnimes(b,e,F,K,s))}):W==="imgo"?D.push({key:W,animes:F,detailStore:K,promise:be.run(In(W),()=>kg.handleAnimes(y,e,F,K,s))}):W==="bilibili"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>Tu.handleAnimes(x,e,F,K,s))}):W==="migu"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>J0.handleAnimes(v,e,F,K,s))}):W==="sohu"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>Dg.handleAnimes(I,e,F,K,s))}):W==="leshi"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>Bg.handleAnimes(R,e,F,K,s))}):W==="xigua"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>Lg.handleAnimes(w,e,F,K,s))}):W==="maiduidui"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>Mg.handleAnimes(N,e,F,K,s))}):W==="aiyifan"?D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>Wg.handleAnimes(P,e,F,K,s))}):W==="animeko"&&D.push({key:W,animes:F,detailStore:K,promise:be.run(W,()=>pw.handleAnimes(B,e,F,K,s))})}let L=await Promise.allSettled(D.map(W=>W.promise)),Z=new Set(r.map(W=>W.animeId));for(let W=0;W<D.length;W++){if(L[W].status==="rejected"){_("error",`[system] [executeSourceHandlers] \u6E90 ${D[W].key} \u5904\u7406\u5931\u8D25: ${L[W].reason}`);continue}let{animes:F,detailStore:K}=D[W];for(let j of F)Z.has(j.animeId)||(r.push(j),Z.add(j.animeId));for(let[j,J]of K)n.has(j)||n.set(j,J)}}async function nE(t,e=null,r=null,n=null,s=null){let i=t.searchParams.get("keyword"),a=t.searchParams.get("season");a=a?parseInt(a,10):null;let o=t.searchParams.get("episode");if(o=o?parseInt(o,10):null,_("info",`[system] [searchAnime] Search anime with keyword: ${i}, target season: ${a}, target episode: ${o}`),i==="")return Le({errorCode:0,success:!0,errorMessage:"",animes:[]});if(O.animeTitleSimplified){let A=Qt(i);_("info",`[system] [searchAnime] searchAnime converted traditional to simplified: ${i} -> ${A}`),i=A}let c=n instanceof Map?n:new Map,u=a!==null?`${i}_S${a}`:i,l=OI(u,c);if(l===null&&a!==null){let A=OI(i,c);A!==null&&(_("info",`[system] [searchAnime] Cache miss for ${u}, fallback to generic cache for ${i}`),l=A)}if(l!==null){let A=Die(l,a,o,c,s);if(A)return Le({errorCode:0,success:!0,errorMessage:"",animes:l});{let g=a+1,b=[...l],y=!1;for(;!A&&!y;){let x=`${i}_S${g}`,v=OI(x,c);v!==null&&v.length>0?(b.push(...v),A=Die(b,a,o,c,s),g++):y=!0}if(A)return _("info",`[system] [LogVar-API] Episode ${o} satisfied by combining cached seasons S${a} to S${g-1}`),Le({errorCode:0,success:!0,errorMessage:"",animes:b});_("info",`[system] [LogVar-API] Episode ${o} not satisfied in cache. Proceeding to network search.`)}}let d=[];if(/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}(:\d+)?(\/[^\s]*)?$/.test(i)){let A=F0.fromJson({animeId:0,bangumiId:"0",animeTitle:i,type:"",typeDescription:"\u94FE\u63A5\u89E3\u6790",imageUrl:"",startDate:"",episodeCount:1,rating:0,isFavorited:!0}),g="unknown";i.includes(".qq.com")?g="qq":i.includes(".iqiyi.com")?g="qiyi":i.includes(".mgtv.com")?g="imgo":i.includes(".youku.com")?g="youku":i.includes(".bilibili.com")?g="bilibili1":i.includes(".miguvideo.com")?g="migu":i.includes(".sohu.com")?g="sohu":i.includes(".le.com")?g="leshi":i.includes(".douyin.com")||i.includes(".ixigua.com")?g="xigua":i.includes(".mddcloud.com.cn")?g="maiduidui":i.includes(".yfsp.tv")&&(g="aiyifan");let b=await be.run(In(g),()=>E8e(i)),y=[{name:"\u624B\u52A8\u89E3\u6790\u94FE\u63A5\u5F39\u5E55",url:i,title:`\u3010${g}\u3011 ${b}`}];d.push(A),Dt(F0.fromJson({...A,links:y}),c),O.animes.length>O.MAX_ANIMES&&$t(),O.localCacheValid&&d.length!==0&&await QB(),O.redisValid&&d.length!==0&&await PB(),O.localRedisValid&&d.length!==0&&await zL();let x=d.map(({links:v,...I})=>I);return Le({errorCode:0,success:!0,errorMessage:"",animes:x})}try{_("info",`[system] [LogVar-API] Search sourceOrderArr: ${O.sourceOrderArr}`);let A={},g={};for(let I of O.sourceOrderArr)I==="360"?g[I]=be.run(In(I),()=>bst.search(i)):I==="vod"?g[I]=be.run(In(I),()=>Est.search(i,e,r)):I==="tmdb"?g[I]=be.run(In(I),()=>_st.search(i)):I==="douban"?g[I]=be.run(In(I),()=>Lie.search(i)):I==="renren"?g[I]=be.run(In(I),()=>uw.search(i)):I==="hanjutv"?g[I]=be.run(In(I),()=>lw.search(i)):I==="bahamut"?g[I]=be.run(In(I),()=>dw.search(i)):I==="dandan"?g[I]=be.run(In(I),()=>fw.search(i)):I==="custom"?g[I]=be.run(In(I),()=>h4.search(i)):I==="tencent"?g[I]=be.run(In(I),()=>V0.search(i)):I==="youku"?g[I]=be.run(In(I),()=>z0.search(i)):I==="iqiyi"?g[I]=be.run(In(I),()=>Y0.search(i)):I==="imgo"?g[I]=be.run(In(I),()=>kg.search(i)):I==="bilibili"?g[I]=be.run(In(I),()=>Tu.search(i)):I==="migu"?g[I]=be.run(In(I),()=>J0.search(i)):I==="sohu"?g[I]=be.run(In(I),()=>Dg.search(i)):I==="leshi"?g[I]=be.run(In(I),()=>Bg.search(i)):I==="xigua"?g[I]=be.run(In(I),()=>Lg.search(i)):I==="maiduidui"?g[I]=be.run(In(I),()=>Mg.search(i)):I==="aiyifan"?g[I]=be.run(In(I),()=>Wg.search(i)):I==="animeko"&&(g[I]=be.run(In(I),()=>pw.search(i)));let b=O.sourceOrderArr.map(I=>{let R=[],w=new Map,N=g[I].then(async P=>{A[I]=P,await xst({[I]:P},i,R,w,a,e,r)});return{key:I,animes:R,detailStore:w,promise:N}}),y=await Promise.allSettled(b.map(I=>I.promise)),x=new Set(d.map(I=>I.animeId));for(let I=0;I<b.length;I++){if(y[I].status==="rejected"){_("error",`[system] [searchAnime] \u6E90 ${b[I].key} \u7BA1\u9053\u5904\u7406\u5931\u8D25: ${y[I].reason}`);continue}let{animes:R,detailStore:w}=b[I];for(let N of R)x.has(N.animeId)||(d.push(N),x.add(N.animeId));for(let[N,P]of w)c.has(N)||c.set(N,P)}if(d.length>0&&PI(u,d.map(({links:I,...R})=>R),c),!Die(d,a,o,c,s)&&a!==null){let I=a;for(let R of O.sourceOrderArr){let w=A[R];if(Array.isArray(w))for(let N of w){let P=N&&Array.isArray(N.list)?N.list:[N];for(let B of P){if(!B)continue;let M=Ct(B.animeTitle||B.title||"").season;M!==null&&M>I&&(I=M)}}}if(I>a){_("info",`[system] [LogVar-API] Episode ${o} not satisfied in Season ${a}. Parallel mapping to S${a+1}~S${I}...`);let R=[];for(let N=a+1;N<=I;N++)R.push((async()=>{let P=[];return await xst(A,i,P,c,N,e,r),P.length>0&&PI(`${i}_S${N}`,P.map(({links:B,...M})=>M),c),P})());let w=await Promise.all(R);for(let N of w)d.push(...N)}}}catch(A){_("error","[system] [LogVar-API] \u53D1\u751F\u9519\u8BEF:",A)}let p=O.mergeSourcePairs&&O.mergeSourcePairs.length>0,m=O.customMergeRules&&O.customMergeRules.length>0;if((p||m)&&await Ont(d,c),nz(d,i),O.enableAnimeEpisodeFilter){let A=[];for(let g of d){let b=g.animeTitle||"";if(O.animeTitleFilter&&O.animeTitleFilter.test(b)){_("info",`[searchAnime] Anime ${g.animeId} filtered by name: ${b}`);continue}let y=ig(g?.bangumiId,c,g?.source)||ig(g?.animeId,c,g?.source)||sg(g?.bangumiId,c,g?.source)||sg(g?.animeId,c,g?.source);if(y&&y.links){let x=y.links.map((v,I)=>({episodeId:v.id,episodeTitle:v.title,episodeNumber:I+1}));x=x.filter(v=>!O.episodeTitleFilter.test(v.episodeTitle)),_("info",`[searchAnime] Anime ${g.animeId} filtered episodes: ${x.length}/${y.links.length}`),x.length>0&&A.push(g)}}d.length=0,d.push(...A)}O.localCacheValid&&d.length!==0&&await QB(),O.redisValid&&d.length!==0&&await PB(),O.localRedisValid&&d.length!==0&&await zL();let h=d.map(({links:A,...g})=>g);if(h.length>0){let A=a!==null?`${i}_S${a}`:i;PI(A,h,c)}return Le({errorCode:0,success:!0,errorMessage:"",animes:h})}function $g(t){return t.filter((r,n,s)=>!s.slice(0,n).some(i=>i.episodeTitle===r.episodeTitle))}function jf(t,e){if(!t||!e)return 0;let r=t.split("&").map(i=>i.trim().toLowerCase()).filter(i=>i),n=e.split("&").map(i=>i.trim().toLowerCase()).filter(i=>i),s=0;for(let i of n)r.some(o=>o===i||o.includes(i)&&i.length>2||i.includes(o)&&o.length>2)&&s++;return s===0?0:s*1e3-r.length}function p4(t){let e=t.match(/from\s+([a-zA-Z0-9&]+)/i);return e?e[1]:null}function m4(t,e,r,n=null){if(!t||t.length===0)return null;let s=t;if(n&&(s=t.filter(i=>{let a=rg(i.episodeTitle);return jf(a,n)>0})),s.length===0)return null;for(let i of s){let a=uf(i.episodeTitle);if(e===r&&a===r)return _("info",`Found episode by title number: ${i.episodeTitle} (extracted: ${a})`),i}if(s.length>=r){let i=s[r-1];return _("info",`Using fallback array index for episode ${r}: ${i.episodeTitle}`),i}for(let i of s)if(i.episodeNumber&&parseInt(i.episodeNumber,10)===r)return _("info",`Found episode by episodeNumber: ${i.episodeTitle} (episodeNumber: ${i.episodeNumber})`),i;return null}async function Mmr(t,e,r,n,s,i,a,o,c=null){let u=O.aiBaseUrl,l=O.aiModel,d=O.aiApiKey,f=O.aiMatchPrompt;if(!O.aiValid||!f)return _("warn","AI configuration is incomplete, falling back to normal matching"),{resEpisode:null,resAnime:null};let p=new df({apiKey:d,baseURL:u,model:l,systemPrompt:f}),m={title:s,season:t,episode:e,year:r,dynamicPlatformOrder:a,preferAnimeId:o,animes:n.animes.map(h=>{let A=h.animeTitle||"",g=A.match(/^(.*?)\(\d{4}\)/),b=g?g[1].trim():A.split("(")[0].trim();return{animeId:h.animeId,animeTitle:b,aliases:h.aliases||[],type:h.type,year:h.startDate?h.startDate.slice(0,4):null,episodeCount:h.episodeCount,source:h.source}})};try{let h=JSON.stringify(m,null,2),A=await p.ask(h);_("info",`AI match response: ${A}`);let g;try{let I=A.match(/```json\s*([\s\S]*?)\s*```|```([\s\S]*?)\s*```|({[\s\S]*})/),R=I?I[1]||I[2]||I[3]:A;g=JSON.parse(R.trim())}catch(I){return _("error",`Failed to parse AI response: ${I.message}`),{resEpisode:null,resAnime:null}}let b=g.animeIndex;if(b==null)return{resEpisode:null,resAnime:null};let y=n.animes[b];if(!y)return _("error",`AI returned invalid anime index: ${b}`),{resEpisode:null,resAnime:null};let x=Fg(y,c);if(!x?.success||!x?.bangumi?.episodes)return{resEpisode:null,resAnime:null};let v=null;if(t&&e){let I=x.bangumi.episodes.filter(w=>!O.episodeTitleFilter.test(w.episodeTitle)),R=$g(I);_("info","\u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",R.map(w=>w.episodeTitle)),v=m4(R,e,e)}else x.bangumi.episodes.length>0&&(v=x.bangumi.episodes[0]);return{resEpisode:v,resAnime:y}}catch(h){return _("error",`AI matching failed: ${h.message}`),{resEpisode:null,resAnime:null}}}function Fg(t,e=null){let r=ig(t?.bangumiId,e,t?.source)||ig(t?.animeId,e,t?.source);return r?$ie(r,t?.bangumiId||t?.animeId||""):(_("warn",`[matchAnime] Missing request detail snapshot for anime ${t?.animeId??t?.bangumiId}`),null)}function vst(t,e,r,n,s){let i=String(e),a=t[i].match(/^([^:]+):(.+)$/),o=Number(a?.[1])||0,c=a?.[2]||"",u=r-o,l=n.findIndex(d=>d.episodeTitle===c);return l!==-1&&(s=l+u+1,_("info",`Applying offset "${t[i]}" for S${e}E${r} -> ${s}`)),s}function Ist(t,e,r,n,s,i,a){if(!n||!s)return{resEpisode:null,resAnime:null};_("info",`[system] [Spillover] \u5F53\u524D\u5B63\u96C6\u5339\u914D\u7B56\u7565\u5931\u8D25 (S${n}E${s})\uFF0C\u6B63\u5728\u8FDB\u884C\u8DE8\u5B63\u96C6\u6570\u6620\u5C04\u5339\u914D...`);let o=Fr(e),c=new Map;for(let f of t.animes){let p=[f.animeTitle];f.aliases&&Array.isArray(f.aliases)&&p.push(...f.aliases);let m=!1;for(let A of p)if(A&&Fr(A).includes(o)){if(!f4(f,r))continue;m=!0;break}if(!m)continue;let h=null;for(let A of p){if(!A)continue;let g=Ct(A).season;if(g!==null){h=g;break}}if(h===null&&(h=1),!c.has(h)){let A=Fg(f,a);if(A?.success&&A?.bangumi?.episodes){let g=A.bangumi.episodes.filter(y=>!O.episodeTitleFilter.test(y.episodeTitle)),b=$g(g);b.length>0&&c.set(h,{anime:f,episodes:b,actualPlatform:p4(f.animeTitle)||f.source})}}}let u=s,l=n,d={anime:null,episode:null,score:0};for(;c.has(l);){let f=c.get(l),p=f.episodes,m=null;for(let h of p)if(uf(h.episodeTitle)===s){m=h;break}if(m){if(i&&jf(rg(m.episodeTitle),i)===0)break;_("info",`[system] [Spillover] \u8DE8\u5B63\u6EA2\u51FA\u67E5\u627E\u547D\u4E2D (\u6309\u7EDD\u5BF9\u6807\u9898\u6570\u5B57) -> \u6240\u5728\u5B63\uFF1AS${l} \u96C6\u6807\u9898\uFF1A${m.episodeTitle}`),d={anime:f.anime,episode:m,score:i?jf(f.actualPlatform,i):1};break}if(u<=p.length){let h=p[u-1];if(i&&jf(rg(h.episodeTitle),i)===0)break;_("info",`[system] [Spillover] \u8DE8\u5B63\u6EA2\u51FA\u67E5\u627E\u547D\u4E2D (\u6309\u76F8\u5BF9\u6392\u4F4D\u8BA1\u7B97) -> \u6240\u5728\u5B63\uFF1AS${l} \u96C6\u6807\u9898\uFF1A${h.episodeTitle}`),d={anime:f.anime,episode:h,score:i?jf(f.actualPlatform,i):1};break}_("info",`[system] [Spillover] S${l} \u5171\u6709 ${p.length} \u96C6(\u5DF2\u8FC7\u6EE4\u756A\u5916)\uFF0C\u5269\u4F59\u76EE\u6807\u96C6\u6570\u4E3A ${u}\uFF0C\u6620\u5C04\u81F3 S${l+1} \u7EE7\u7EED\u67E5\u627E`),u-=p.length,l++}return{resEpisode:d.episode,resAnime:d.anime}}async function Wmr(t,e,r,n,s,i,a,o,c,u=null){let l={anime:null,episode:null,score:-9999},d=Fr(s);for(let f of n.animes){if(O.rememberLastSelect&&o&&String(f.bangumiId)!==String(o)&&String(f.animeId)!==String(o))continue;let m=!1,h=[f.animeTitle];f.aliases&&Array.isArray(f.aliases)&&h.push(...f.aliases);for(let y of h)if(y){if(t&&e){if(Fr(y).includes(d)){if(!f4(f,r)){_("info",`Year mismatch: anime year ${W0(f.animeTitle)} vs query year ${r}`);continue}let x=O.rememberLastSelect&&o&&(String(f.bangumiId)===String(o)||String(f.animeId)===String(o)),v={...f,animeTitle:y};if(Lmr(v,s,t)||x){m=!0;break}}}else if(y.split("(")[0].trim()===s){if(!f4(f,r)){_("info",`Year mismatch: anime year ${W0(f.animeTitle)} vs query year ${r}`);continue}m=!0;break}}if(!m)continue;let A=Fg(f,u);if(!A?.success||!A?.bangumi?.episodes)continue;_("info","\u5224\u65AD\u5267\u96C6",`Anime: ${f.animeTitle}`),_("info",A);let g=null,b=O.rememberLastSelect&&o!=null&&(String(f.bangumiId)===String(o)||String(f.animeId)===String(o));if(t&&e){let y=A.bangumi.episodes.filter(I=>!O.episodeTitleFilter.test(I.episodeTitle)),x=$g(y);_("info","\u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",x.map(I=>I.episodeTitle));let v=e;c&&c[String(t)]!==void 0&&(v=vst(c,t,e,x,v)),g=m4(x,e,v,a),!g&&b&&(_("info",`[system] [Match] \u4F18\u9009\u5267\u96C6\u672A\u547D\u4E2D\u76EE\u6807\u5E73\u53F0 ${a}\uFF0C\u653E\u5BBD\u6761\u4EF6\u63D0\u53D6\u96C6\u6570`),g=m4(x,e,v,null))}else if(A.bangumi.episodes.length>0)if(a){let y=A.bangumi.episodes.find(x=>{let v=rg(x.episodeTitle);return jf(v,a)>0});y?g=y:b&&(_("info",`[system] [Match] \u4F18\u9009\u7535\u5F71\u672A\u547D\u4E2D\u76EE\u6807\u5E73\u53F0 ${a}\uFF0C\u653E\u5BBD\u6761\u4EF6\u63D0\u53D6\u8D44\u6E90`),g=A.bangumi.episodes[0])}else g=A.bangumi.episodes[0];if(g){let y=p4(f.animeTitle)||f.source,x=0;if(a?x=jf(y,a):x=1,b&&(x+=9999),x>l.score&&(l={anime:f,episode:g,score:x}),!a||b)break}}if(!l.episode&&t&&e){let f=Ist(n,s,r,t,e,a,u);f.resEpisode&&(l={episode:f.resEpisode,anime:f.resAnime,score:a?jf(p4(f.resAnime.animeTitle)||f.resAnime.source,a):1})}return{resEpisode:l.episode,resAnime:l.anime}}async function $mr(t,e,r,n,s,i,a,o,c,u=null){for(let d of t.animes){if(s&&!f4(d,s)){_("info",`Fallback: Year mismatch: anime year ${W0(d.animeTitle)} vs query year ${s}`);continue}let f=Fg(d,u);if(!(!f?.success||!f?.bangumi?.episodes)){if(_("info",f),r&&n){let p=f.bangumi.episodes.filter(g=>!O.episodeTitleFilter.test(g.episodeTitle)),m=$g(p);_("info","[system] [LogVar-API] \u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",m.map(g=>g.episodeTitle));let h=n;c&&c[String(r)]!==void 0&&(h=vst(c,r,n,m,h));let A=m4(m,n,h,null);if(A){a=A,o=d;break}}else if(f.bangumi.episodes.length>0){a=f.bangumi.episodes[0],o=d;break}}}let l=!1;if(!a&&r&&n){let d=Ist(t,i,s,r,n,null,u);d.resEpisode&&(a=d.resEpisode,o=d.resAnime,l=!0)}return{resEpisode:a,resAnime:o,isSpillover:l}}async function Fmr(t){let e=/^(.+?)[.\s]+S(\d+)E(\d+)/i,r=t.match(e),n,s,i,a;if(r){n=r[1].trim(),s=parseInt(r[2],10),i=parseInt(r[3],10);let o=t.match(/(?:\.|\(|()((?:19|20)\d{2})(?:\)|)|\.|$)/);o&&(a=parseInt(o[1],10));let c=n.match(/^[\u4e00-\u9fa5·]+[^.\r\n]*/);if(c)n=c[0];else if(/^[A-Za-z0-9]/.test(n)){let u=n.match(/^([A-Za-z0-9.&\s]+?)(?=\.\d{4}|$)/);u&&(n=u[1].trim().replace(/[._]/g," "))}else{let u=n.split(/\.(?:19|20)\d{2}|2160p|1080p|720p|H265|iPhone/)[0],l=u.match(/^[\u4e00-\u9fa5·]+/);n=l?l[0]:u.trim()}n=n.replace(/\.\d{4}$/i,"").trim()}else{let o=/^([^.\s]+(?:[.\s][^.\s]+)*?)(?:[.\s](?:\d{4}|(?:19|20)\d{2}|\d{3,4}p|S\d+|E\d+|WEB|BluRay|Blu-ray|HDTV|DVDRip|BDRip|x264|x265|H\.?264|H\.?265|AAC|AC3|DDP|TrueHD|DTS|10bit|HDR|60FPS))/i,c=t.match(o);n=c?c[1].replace(/[._]/g," ").trim():t,s=null,i=null;let u=t.match(/(?:\.|\(|()((?:19|20)\d{2})(?:\)|)|\.|$)/);u&&(a=parseInt(u[1],10))}return O.titleToChinese&&(n=await hnt(n.replace("."," "),s,i)),_("info","[system] [Match] Parsed title, season, episode, year",{title:n,season:s,episode:i,year:a}),{title:n,season:s,episode:i,year:a}}function Cst(t,e,r,n){let s=new URL(t),i=s.pathname.replace(/\/(?:match|search\/episodes)$/,"");return s.pathname=`${i}/search/anime`,s.search="",s.searchParams.set("keyword",e||""),r!==void 0&&s.searchParams.set("season",r||""),n!==void 0&&s.searchParams.set("episode",n||""),s}async function Tst(t,e,r){try{let n=await e.json();if(!n)return _("error","[system] [Match] Request body is empty"),Le({errorCode:400,success:!1,errorMessage:"Empty request body"},400);let{fileName:s}=n;if(!s)return _("error","[system] [Match] Missing fileName parameter in request body"),Le({errorCode:400,success:!1,errorMessage:"Missing fileName parameter"},400);let{cleanFileName:i,preferredPlatform:a}=k8e(s);_("info",`[system] [Match] Processing anime match for query: ${s}`),_("info",`[system] [Match] Parsed cleanFileName: ${i}, preferredPlatform: ${a}`);let{title:o,season:c,episode:u,year:l}=await Fmr(i);if(O.titleMappingTable&&O.titleMappingTable.size>0){let N=O.titleMappingTable.get(o);N&&(o=N,_("info",`[system] [Match] Title mapped from original: ${t.searchParams.get("keyword")} to: ${o}`))}if(O.animeTitleSimplified){let N=Qt(o);_("info",`[system] [Match] matchAnime converted traditional to simplified: ${o} -> ${N}`),o=N}let[d,f,p]=iz(o,c);_("info",`[system] [Match] prefer animeId: ${d} from ${f}`);let m=D8e(a),h=m.length>0?m[0]:null,A=new Map,g=Cst(e.url,o,c,u),y=await(await nE(g,d,f,A,h)).json();_("info",`[system] [Match] searchData: ${y.animes}`);let x,v,I=!1,R={errorCode:0,success:!0,errorMessage:"",isMatched:!1,matches:[]};_("info",`[system] [Match] Original platformOrderArr: ${O.platformOrderArr}`),_("info",`[system] [Match] Dynamic platformOrder: ${m}`),_("info",`[system] [Match] Preferred platform: ${a||"none"}`);let w=await Mmr(c,u,l,y,o,e,m,d,A);if(w.resAnime&&w.resEpisode)x=w.resAnime,v=w.resEpisode,R.isMatched=!0,_("info",`[system] [Match] AI match found: ${x.animeTitle}; episode: ${v.episodeTitle}`);else{for(let N of m){let P=await Wmr(c,u,l,y,o,e,N,d,p,A);if(v=P.resEpisode,x=P.resAnime,x){R.isMatched=!0,_("info",`[system] [Match] Found match with platform: ${N||"default"}`);break}}if(!x){let N=await $mr(y,e,c,u,l,o,v,x,p,A);v=N.resEpisode,x=N.resAnime,I=N.isSpillover}}return v&&(R.isMatched=!0,r&&!I&&ZV(r,{title:o,season:c,episode:u,episodeId:v.episodeId}),R.matches=[BB.fromJson({episodeId:v.episodeId,animeId:x.animeId,animeTitle:x.animeTitle,episodeTitle:v.episodeTitle,type:x.type,typeDescription:x.typeDescription,shift:0,imageUrl:x.imageUrl})]),_("info",`[system] [Match] resMatchData: ${R}`),Le(R)}catch(n){return _("error",`[system] [Match] Failed to parse request body: ${n.message}`),Le({errorCode:400,success:!1,errorMessage:"Invalid JSON body"},400)}}async function wst(t){let e=t.searchParams.get("anime"),r=t.searchParams.get("episode")||"";if(O.animeTitleSimplified){let c=Qt(e);_("info",`[system] [Episodes] searchEpisodes converted traditional to simplified: ${e} -> ${c}`),e=c}if(_("info",`[system] [Episodes] Search episodes with anime: ${e}, episode: ${r}`),!e)return _("error","[system] [Episodes] Missing anime parameter"),Le({errorCode:400,success:!1,errorMessage:"Missing anime parameter"},400);let n=Cst(t,e),s=new Map,a=await(await nE(n,null,null,s)).json();if(!a.success||!a.animes||a.animes.length===0)return _("info","[system] [Episodes] No anime found for the given title"),Le({errorCode:0,success:!0,errorMessage:"",hasMore:!1,animes:[]});let o=[];for(let c of a.animes){let u=sg(c.bangumiId,s,c.source)||sg(c.animeId,s,c.source),l=null;if(u)l=$ie(u,c.bangumiId);else{let d=new URL(`/bangumi/${c.bangumiId}`,t.origin);l=await(await Wie(d.pathname)).json()}if(l.success&&l.bangumi&&l.bangumi.episodes){let d=l.bangumi.episodes;if(r){if(r==="movie")d=l.bangumi.episodes.filter(f=>c.typeDescription&&(c.typeDescription.includes("\u7535\u5F71")||c.typeDescription.includes("\u5267\u573A\u7248")||f.episodeTitle.toLowerCase().includes("movie")||f.episodeTitle.includes("\u5267\u573A\u7248")));else if(/^\d+$/.test(r)){let f=parseInt(r);d=l.bangumi.episodes.filter(p=>parseInt(p.episodeNumber)===f)}}d.length>0&&o.push(MB.fromJson({animeId:c.animeId,animeTitle:c.animeTitle,type:c.type,typeDescription:c.typeDescription,episodes:d.map(f=>({episodeId:f.episodeId,episodeTitle:f.episodeTitle}))}))}}return _("info",`[system] [Episodes] Found ${o.length} animes with filtered episodes`),Le({errorCode:0,success:!0,errorMessage:"",animes:o})}async function Wie(t,e=null,r=null){let n=t.split("/").pop(),s=ig(n,e,r)||sg(n);return s?Le($ie(s,n)):(_("error",`[system] [Bangumi] Anime with ID ${n} not found`),Le({errorCode:404,success:!1,errorMessage:"Anime not found",bangumi:null},404))}function $ie(t,e=""){_("info",`[system] [Bangumi] Fetched details for anime ID: ${e||t.bangumiId}`);let r=[];for(let s=0;s<t.links.length;s++){let i=t.links[s];r.push({seasonId:`season-${t.animeId}`,episodeId:i.id,episodeTitle:`${i.title}`,episodeNumber:`${s+1}`,airDate:t.startDate})}if(O.enableAnimeEpisodeFilter){if(r=r.filter(s=>!O.episodeTitleFilter.test(s.episodeTitle)),_("info",`[system] [getBangumi] Episode filter enabled. Filtered episodes: ${r.length}/${t.links.length}`),r.length===0)return _("warn",`[system] [getBangumi] No valid episodes after filtering for anime ID ${e||t.bangumiId}`),{errorCode:404,success:!1,errorMessage:"No valid episodes after filtering",bangumi:null};r=r.map((s,i)=>({...s,episodeNumber:`${i+1}`}))}return{errorCode:0,success:!0,errorMessage:"",bangumi:WB.fromJson({animeId:t.animeId,bangumiId:t.bangumiId,animeTitle:t.animeTitle,imageUrl:t.imageUrl,isOnAir:!0,airDay:1,isFavorited:t.isFavorited,rating:t.rating,type:t.type,typeDescription:t.typeDescription,seasons:[{id:`season-${t.animeId}`,airDate:t.startDate,name:"Season 1",episodeCount:t.episodeCount}],episodes:r})}}async function Umr(t,e,r){let n=t.split(Cu),s=n.map(m=>{let h=m.indexOf(":");if(h===-1)return{realId:"",logicalSource:"",sourceLabel:""};let A=m.substring(0,h),g=m.substring(h+1);return A!=="hanjutv"?{realId:g,logicalSource:A,sourceLabel:A}:{realId:g,logicalSource:"hanjutv",sourceLabel:s4(g)}}),i=s.map(m=>m.logicalSource).filter(Boolean),a=s.map(m=>m.realId),o=s.map(m=>m.sourceLabel).filter(Boolean).join("\uFF06");_("info",`[Merge] \u5F00\u59CB\u83B7\u53D6 [${o}] \u805A\u5408\u5F39\u5E55...`);let c=lf(t);if(c)return _("info",`[Merge] \u547D\u4E2D\u7F13\u5B58 [${o}]\uFF0C\u8FD4\u56DE ${c.length} \u6761`),c;let u={},l=s.map(async m=>{let h=m.logicalSource,A=m.sourceLabel||m.logicalSource,g=m.realId;if(!h||!g)return[];let b=`${h}:${g}`;if(u4.has(b)){_("info",`[Merge] \u590D\u7528\u6B63\u5728\u8FDB\u884C\u7684\u8BF7\u6C42: ${b}`);try{return await u4.get(b)||[]}catch{return[]}}let y=be.run(In(h),async()=>{let x=null;if(h==="renren"?x=uw:h==="hanjutv"?x=lw:h==="bahamut"?x=dw:h==="dandan"?x=fw:h==="tencent"?x=V0:h==="youku"?x=z0:h==="iqiyi"?x=Y0:h==="imgo"?x=kg:h==="bilibili"?x=Tu:h==="migu"?x=J0:h==="sohu"?x=Dg:h==="leshi"?x=Bg:h==="xigua"?x=Lg:h==="maiduidui"?x=Mg:h==="aiyifan"?x=Wg:h==="animeko"&&(x=pw),x)try{let v=await x.getEpisodeDanmu(g,n),I=x.formatComments(v);return _("info",`[${A}] \u83B7\u53D6\u5F39\u5E55 ${I.length} \u6761`),I&&Array.isArray(I)&&I.forEach(R=>{R._sourceLabel||(R._sourceLabel=A)}),u[A]=I.length,I}catch(v){return _("error",`[Merge] \u83B7\u53D6 ${A} \u5931\u8D25: ${v.message}`),u[A]=0,[]}return[]});u4.set(b,y);try{return await y}finally{u4.delete(b)}}),d=await Promise.all(l);if(knt(d,i,a),O.danmuOffsetRules?.length>0&&e&&r){let[,,m]=UB(r);if(m){let{baseTitle:h,season:A,episode:g}=YV(e,m);A||=1,g||=FB(r)+1;let b=`S${A.toString().padStart(2,"0")}`,y=`E${g.toString().padStart(2,"0")}`;for(let x=0;x<d.length;x++){let v=d[x],I=bV(O.danmuOffsetRules,{anime:h,season:b,episode:y,source:i[x]}),R=I?.offset||0;if(R!==0){let w=a[x],N=I?.usePercent?await Mie(w):0,P=I?.usePercent?"%":"s";_("info",`[Merge] \u5E94\u7528\u504F\u79FB ${R}${P} -> ${i[x]} (${h}/${b}/${y})${I?.usePercent?`, duration=${N}s`:""}`),d[x]=EV(v,R,{usePercent:I?.usePercent,videoDuration:N})}}}}let f=[];d.forEach(m=>{f=Pnt(f,m)});let p=Object.entries(u).map(([m,h])=>`${m}: ${h}`).join(", ");return _("info",`[Merge] \u805A\u5408\u539F\u59CB\u6570\u636E\u5B8C\u6210: \u603B\u8BA1 ${f.length} \u6761 (${p})`),BI(f,o)}async function Fie(t,e,r,n,s=!1){let i=parseInt(t.split("/").pop()),a=rz(i),o=DI(i),c=tz(i),u=c?(c.match(/ã€(.*?)】/)||[null])[0]?.replace(/[ã€ã€‘]/g,""):null,l=Sst(e,s);if(_("info","[system] [LogVar-API] comment url...",o),_("info","[system] [LogVar-API] comment title...",c),_("info","[system] [LogVar-API] comment platform...",u),!o)return _("error",`[system] [LogVar-API] Comment with ID ${i} not found`),Le({count:0,comments:[]},404);_("info",`[system] [LogVar-API] Fetched comment ID: ${i}`);let d=lf(o);if(d!==null){let y=l4({count:d.length,comments:d},l?await d4(o):null);return ag(y,e)}_("info","[system] [LogVar-API] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5F39\u5E55...",o);let f=[],p=l?d4(o):null;if(o&&o.includes(Cu))f=await Umr(o,a,i);else{o.includes(".qq.com")?f=await be.run("tencent",()=>V0.getComments(o,u,r)):o.includes(".iqiyi.com")?f=await be.run("iqiyi",()=>Y0.getComments(o,u,r)):o.includes(".mgtv.com")?f=await be.run("mango",()=>kg.getComments(o,u,r)):o.includes(".bilibili.com")||o.includes("b23.tv")?(o.includes("b23.tv")&&(o=await be.run("bilibili",()=>Tu.resolveB23Link(o))),f=await be.run("bilibili",()=>Tu.getComments(o,u,r))):o.includes(".youku.com")?f=await be.run("youku",()=>z0.getComments(o,u,r)):o.includes(".miguvideo.com")?f=await be.run("migu",()=>J0.getComments(o,u,r)):o.includes(".sohu.com")?f=await be.run("sohu",()=>Dg.getComments(o,u,r)):o.includes(".le.com")?f=await be.run("leshi",()=>Bg.getComments(o,u,r)):o.includes(".douyin.com")||o.includes(".ixigua.com")?f=await be.run("xigua",()=>Lg.getComments(o,u,r)):o.includes(".mddcloud.com.cn")?f=await be.run("maiduidui",()=>Mg.getComments(o,u,r)):o.includes(".yfsp.tv")&&(f=await be.run("aiyifan",()=>Wg.getComments(o,u,r)));let y=/^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/.*)?$/i;y.test(o)||(u==="renren"?f=await be.run("renren",()=>uw.getComments(o,u,r)):u==="hanjutv"?f=await be.run("hanjutv",()=>lw.getComments(o,u,r)):u==="bahamut"?f=await be.run("bahamut",()=>dw.getComments(o,u,r)):u==="dandan"?f=await be.run("dandan",()=>fw.getComments(o,u,r)):u==="custom"?f=await be.run("custom",()=>h4.getComments(o,u,r)):u==="animeko"&&(f=await be.run("animeko",()=>pw.getComments(o,u,r)))),(!f||f.length===0)&&y.test(o)&&(f=await be.run("other",()=>Bie.getComments(o,"other_server",r)))}let[m,h,A,g]=UB(i);if(m&&h){let y=null,x=null,v=null;if(n){let R=ez(n);R&&R.title&&R.season&&R.episode&&A&&(y=R.title,x=R.season,v=`${R.episode}:${A}`,_("info",`[system] [LogVar-API] Calculated episode offset for IP ${n}: Query E${R.episode}, Selected ${A} -> Offset ${v} (Season ${x})`))}_("info",`[system] [LogVar-API] animeTitle\uFF1A${a}; lastTitle\uFF1A${y}; titleMatches\uFF1A${yt(a,y)}`),(yt(a,y)||Array.isArray(g)&&g.some(R=>yt(R,y)))&&(_("info","[system] [LogVar-API] excute setPreferByAnimeId"),sz(m,h,x,v)),O.localCacheValid&&m&&HB("lastSelectMap",JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.redisValid&&m&&jV("lastSelectMap",O.lastSelectMap).catch(R=>_("error","[system] [LogVar-API] Redis set error",R)),O.localRedisValid&&m&&VL("lastSelectMap",O.lastSelectMap)}if(a&&A&&O.danmuOffsetRules?.length>0&&!(o&&o.includes(Cu))){let{baseTitle:y,season:x,episode:v}=YV(a,A);x||=1,v||=FB(i)+1;let I=`S${x.toString().padStart(2,"0")}`,R=`E${v.toString().padStart(2,"0")}`,w=bV(O.danmuOffsetRules,{anime:y,season:I,episode:R,source:h}),N=w?.offset||0;if(N!==0){let P=w?.usePercent?await Mie(o):0;_("info",`[system] [LogVar-API] Applying danmu offset: ${N}${w?.usePercent?"%":"s"} for ${y}/${I}/${R}${w?.usePercent?`, duration=${P}s`:""}`),f=EV(f,N,{usePercent:w?.usePercent,videoDuration:P})}}r||(f&&f.comments&&(f=f.comments),Array.isArray(f)||(f=[]),f.length>0&&kI(o,f));let b=l4({count:f.length,comments:f},p?await p:null);return ag(b,e)}async function Uie(t,e,r,n=!1){try{if(!t||typeof t!="string")return _("error","[system] [LogVar-API] Missing or invalid url parameter"),Le({errorCode:400,success:!1,errorMessage:"Missing or invalid url parameter",count:0,comments:[]},400);if(t=t.trim(),!t.startsWith("http"))return _("error","[system] [LogVar-API] Invalid url format, must start with http or https"),Le({errorCode:400,success:!1,errorMessage:"Invalid url format, must start with http or https",count:0,comments:[]},400);_("info",`[system] [LogVar-API] Processing comment request for URL: ${t}`);let s=t,i=Sst(e,n),a=lf(s);if(a!==null){let l=l4({errorCode:0,success:!0,errorMessage:"",count:a.length,comments:a},i?await d4(s):null);return ag(l,e)}_("info","[system] [LogVar-API] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5F39\u5E55...",s);let o=[],c=i?d4(s):null;s.includes(".qq.com")?o=await be.run("tencent",()=>V0.getComments(s,"qq",r)):s.includes(".iqiyi.com")?o=await be.run("iqiyi",()=>Y0.getComments(s,"qiyi",r)):s.includes(".mgtv.com")?o=await be.run("mango",()=>kg.getComments(s,"imgo",r)):s.includes(".bilibili.com")||s.includes("b23.tv")?(s.includes("b23.tv")&&(s=await be.run("bilibili",()=>Tu.resolveB23Link(s))),o=await be.run("bilibili",()=>Tu.getComments(s,"bilibili1",r))):s.includes(".youku.com")?o=await be.run("youku",()=>z0.getComments(s,"youku",r)):s.includes(".miguvideo.com")?o=await be.run("migu",()=>J0.getComments(s,"migu",r)):s.includes(".sohu.com")?o=await be.run("sohu",()=>Dg.getComments(s,"sohu",r)):s.includes(".le.com")?o=await be.run("leshi",()=>Bg.getComments(s,"leshi",r)):s.includes(".douyin.com")||s.includes(".ixigua.com")?o=await be.run("xigua",()=>Lg.getComments(s,"xigua",r)):s.includes(".mddcloud.com.cn")?o=await be.run("maiduidui",()=>Mg.getComments(s,"maiduidui",r)):s.includes(".yfsp.tv")?o=await be.run("aiyifan",()=>Wg.getComments(s,"aiyifan",r)):/^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/.*)?$/i.test(s)&&(o=await be.run("other",()=>Bie.getComments(s,"other_server",r))),_("info",`[system] [LogVar-API] Successfully fetched ${o.length} comments from URL`),o.length>0&&kI(s,o);let u=l4({errorCode:0,success:!0,errorMessage:"",count:o.length,comments:o},c?await c:null);return ag(u,e)}catch(s){return _("error",`[system] [LogVar-API] Failed to process comment by URL request: ${s.message}`),Le({errorCode:500,success:!1,errorMessage:"Internal server error",count:0,comments:[]},500)}}async function Rst(t,e){try{let r=t.url,n=t.type;if(!r||typeof r!="string")return _("error","[system] [SegmentComment] Missing or invalid url parameter"),Le({errorCode:400,success:!1,errorMessage:"Missing or invalid url parameter",count:0,comments:[]},400);r=r.trim(),_("info",`[system] [SegmentComment] Processing segment comment request for URL: ${r}`);let s=lf(r);if(s!==null){let o={errorCode:0,success:!0,errorMessage:"",count:s.length,comments:s};return ag(o,e)}_("info",`[system] [SegmentComment] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5206\u6BB5\u5F39\u5E55... URL: ${r}`);let i=[];n==="qq"?i=await be.run("tencent",()=>V0.getSegmentComments(t)):n==="qiyi"?i=await be.run("iqiyi",()=>Y0.getSegmentComments(t)):n==="imgo"?i=await be.run("mango",()=>kg.getSegmentComments(t)):n==="bilibili1"?i=await be.run("bilibili",()=>Tu.getSegmentComments(t)):n==="youku"?i=await be.run("youku",()=>z0.getSegmentComments(t)):n==="migu"?i=await be.run("migu",()=>J0.getSegmentComments(t)):n==="sohu"?i=await be.run("sohu",()=>Dg.getSegmentComments(t)):n==="leshi"?i=await be.run("leshi",()=>Bg.getSegmentComments(t)):n==="xigua"?i=await be.run("xigua",()=>Lg.getSegmentComments(t)):n==="maiduidui"?i=await be.run("maiduidui",()=>Mg.getSegmentComments(t)):n==="aiyifan"?i=await be.run("aiyifan",()=>Wg.getSegmentComments(t)):n==="hanjutv"?i=await be.run("hanjutv",()=>lw.getSegmentComments(t)):n==="bahamut"?i=await be.run("bahamut",()=>dw.getSegmentComments(t)):n==="renren"?i=await be.run("renren",()=>uw.getSegmentComments(t)):n==="dandan"?i=await be.run("dandan",()=>fw.getSegmentComments(t)):n==="animeko"?i=await be.run("animeko",()=>pw.getSegmentComments(t)):n==="custom"?i=await be.run("custom",()=>h4.getSegmentComments(t)):n==="other_server"&&(i=await be.run("other",()=>Bie.getSegmentComments(t))),_("info",`[system] [SegmentComment] Successfully fetched ${i.length} segment comments from URL`),i.length>0&&kI(r,i);let a={errorCode:0,success:!0,errorMessage:"",count:i.length,comments:i};return ag(a,e)}catch(r){return _("error",`[system] [SegmentComment] Failed to process segment comment request: ${r.message}`),Le({errorCode:500,success:!1,errorMessage:"Internal server error",count:0,comments:[]},500)}}Ot();ir();_t();so();hn();var qmr=[[/[\(\[(ã€]\s*(19|20)\d{2}\s*[\)\])】]/g," "],[/\b(19|20)\d{2}\b/g," "],[/\b(?:2160p|1080p|720p|4k|web-?dl|web-?rip|blu-?ray|hdr|dv|x265|x264|h\.?265|h\.?264|60fps)\b/gi," "],[/[_.-]+/g," "]],jmr=[[/\[[^\]]*\]/g," "],[/[ã€ï¼ˆ(][^】))]*[】))]/g," "],[/\.(mp4|mkv|avi|rmvb|ts|flv|mov|m4v)$/gi," "],[/\b(?:2160p|1080p|720p|4k|web-?dl|web-?rip|blu-?ray|hdr|dv|x265|x264|h\.?265|h\.?264|60fps|aac|flac|dts)\b/gi," "],[/[_~.-]+/g," "]],Hmr=[{pattern:/[Ss]\d{1,2}\s*[Ee](\d{1,4})/,group:1},{pattern:/第\s*([零一二三四五å…七八ä¹å百零〇两\d]+)\s*[集期è¯ç« 回段篇]/,group:1,chinese:!0},{pattern:/[Ee][Pp]?\.?\s*(\d{1,4})/,group:1},{pattern:/[Ee](\d{1,4})(?:\s|$|\.)/,group:1},{pattern:/Episode\s*(\d{1,4})/i,group:1},{pattern:/(?:æ£åœ¨)?æ’æ”¾[::]\s*(\d{1,4})/,group:1},{pattern:/(?:第\s*)?[零一二三四五å…七八ä¹å百\d]+\s*å£\s*[||]\s*(\d{1,4})/,group:1},{pattern:/[\[ã€\((](\d{1,4})[\]】\))]/,group:1},{pattern:/@@@(\d{1,4})/,group:1},{pattern:/(?:^|[\s_\-])(\d{1,4})x(?:[\s_\-]|$)/i,group:1},{pattern:/\s(\d{1,4})\.(?:mp4|mkv|avi|mov|mp3|1080|720|4k|2k)/i,group:1},{pattern:/[_\-](\d{1,4})(?:\s|$|\.)/,group:1},{pattern:/\s(\d{1,4})\s/,group:1},{pattern:/\s(\d{1,4})$/,group:1},{pattern:/^(\d{1,4})\s/,group:1},{pattern:/(\d{1,4})(?:\s|$)$/,group:1}],Qmr=[{pattern:/(\d{4})[.\-\/å¹´](\d{1,2})[.\-\/月](\d{1,2})/,type:"ymd"},{pattern:/(\d{4})(\d{2})(\d{2})/,type:"ymd_compact"}];function g4(t){let e=String(t||"").trim();if(!e)return"";if(O.animeTitleSimplified)try{e=Qt(e)}catch{}return Fr(e.toLowerCase())}function Nst(t){let e=String(t||"").replace(/\D/g,"");return e.length>=8?e.slice(0,8):""}function Gmr(t){let e=String(t||"");return qmr.forEach(([r,n])=>{e=e.replace(r,n)}),e}function Pst(t){let e=String(t||"");return jmr.forEach(([n,s],i)=>{e=e.replace(n,s)}),e.replace(/\s+/g," ").trim()}function Ost(t){if(!t)return null;let e=String(t);for(let{pattern:s,group:i,chinese:a}of Hmr){let o=e.match(s);if(o&&o[i]!==void 0){let c=o[i];if(a){let u=tg(c);if(u!==null&&!isNaN(u))return u}else{let u=parseInt(c,10);if(!isNaN(u)&&u>0&&u<1e4)return u}}}for(let{pattern:s,type:i}of Qmr){let a=e.match(s);if(a){if(i==="ymd"){let o=parseInt(a[1],10),c=parseInt(a[2],10),u=parseInt(a[3],10);if(o>=2e3&&o<=2099&&c>=1&&c<=12&&u>=1&&u<=31)return o*1e4+c*100+u}else if(i==="ymd_compact"){let o=parseInt(a[1],10),c=parseInt(a[2],10),u=parseInt(a[3],10);if(o>=2e3&&o<=2099&&c>=1&&c<=12&&u>=1&&u<=31)return o*1e4+c*100+u}}}let r=Pst(t),n=uf(r);return n!==null?n:null}function Kmr(t){let e=String(t||"").trim();if(!e)return[];let r=[],n=a=>{let o=Fr(String(a||"").trim());!o||r.includes(o)||r.push(o)};n(e);let s=Fr(Gmr(e)).trim();s&&s!==e&&n(s);let i=Fr(e.replace(/[\(\[(ã€].*$/,"")).trim();return i&&i!==e&&n(i),r.sort((a,o)=>a.length-o.length)}function Vmr(t){let e=new URL(t.url),r=e.pathname.replace(/\/+$/,""),n="/api/v2/",s="/danmaku",i="",a=r.indexOf(n);if(a>=0)i=r.slice(0,a);else{let o=r.indexOf(s);o>=0?i=r.slice(0,o):i=r}return`${e.origin}${i}`}async function zmr(t,e){if(e.method==="GET")return{name:t.searchParams.get("name")||"",episode:t.searchParams.get("episode")||""};try{let r=e.clone(),n=(r.headers.get("content-type")||"").toLowerCase();if(n.includes("application/json")){let i=await r.json();return{name:i?.name||"",episode:i?.episode||""}}if(n.includes("application/x-www-form-urlencoded")||n.includes("multipart/form-data")){let i=await r.formData();return{name:i.get("name")||"",episode:i.get("episode")||""}}let s=await r.text();if(s)try{let i=JSON.parse(s);return{name:i?.name||"",episode:i?.episode||""}}catch{let a=new URLSearchParams(s);return{name:a.get("name")||"",episode:a.get("episode")||""}}}catch(r){_("warn",`[system] [Fongmi] \u89E3\u6790\u8BF7\u6C42\u53C2\u6570\u5931\u8D25: ${r.message}`)}return{name:"",episode:""}}function Ymr(t,e,r,n){let s=Math.max(0,200-n),i=Pst(r),a=g4(i);if(!a)return s;let o=e?.episodeTitle||"",c=g4(o),u=g4(rg(o)),l=g4(t?.animeTitle||"");(c===a||u===a)&&(s+=1e4),(c.includes(a)||a.includes(c))&&(s+=4500),u&&(u.includes(a)||a.includes(u))&&(s+=2500);let d=Ost(i),f=Ost(o),p=parseInt(e?.episodeNumber||`${n+1}`,10);d!==null&&f!==null&&d===f&&(s+=7e3),d!==null&&Number.isFinite(p)&&d===p&&(s+=4e3);let m=Nst(i),h=Nst(o);return m&&h&&m===h&&(s+=9e3),m&&a.includes(m)&&(s+=800),l.includes("\u7EFC\u827A")&&m&&h&&(s+=1200),l.includes("\u7EFC\u827A")&&m&&!h&&d===null&&(s-=1500),s}function Jmr(t,e,r){let n=[];for(let s of t){let i=Fg(s,e);if(!i?.success||!i?.bangumi?.episodes?.length)continue;let a=i.bangumi.episodes;O.enableAnimeEpisodeFilter&&(a=a.filter(o=>!O.episodeTitleFilter.test(o.episodeTitle))),a=$g(a),a.forEach((o,c)=>{let u=`${r}/api/v2/comment/${encodeURIComponent(o.episodeId)}?format=xml`;n.push({anime:s,episode:o,index:c,commentUrl:u})})}return n}async function qie(t,e){let{name:r,episode:n}=await zmr(t,e);if(!r)return Le([],200);if(O.titleMappingTable&&O.titleMappingTable.size>0){let f=O.titleMappingTable.get(r);f&&(_("info",`[system] [Fongmi] Title mapped from original: ${r} to: ${f}`),r=f)}let s=new URL(t.toString()),i=new Map,a=Kmr(r),o=[];for(let f of a){s.searchParams.set("keyword",f);let m=await(await nE(s,null,null,i)).json();if(o=Array.isArray(m?.animes)?m.animes:[],o.length){f!==r&&_("info",`[system] [Fongmi] Search fallback hit: raw=${r}, keyword=${f}, episode=${n}`);break}}if(!o.length)return _("info",`[system] [Fongmi] No danmaku candidates for name=${r}, episode=${n}`),Le([],200);let c=Vmr(e),u=Jmr(o,i,c).map(f=>({...f,score:Ymr(f.anime,f.episode,n,f.index)})).sort((f,p)=>p.score-f.score),l=new Set,d=[];for(let f of u)if(!(!f?.commentUrl||l.has(f.commentUrl))&&(l.add(f.commentUrl),d.push({name:`${f.anime.animeTitle} - ${f.episode.episodeTitle}`,url:f.commentUrl}),d.length>=1e3))break;return _("info",`[system] [Fongmi] name=${r}, episode=${n}, candidates=${d.length}`),Le(d,200)}Ot();ir();Ot();var kst=`
|
|
/* \u57FA\u7840\u6837\u5F0F - Zen-iOS Hybrid Design */
|
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;800&display=swap');
|
|
|
|
:root {
|
|
--bg-base: #F2F2F7;
|
|
--bg-card: rgba(255, 255, 255, 0.65);
|
|
--bg-glass: rgba(255, 255, 255, 0.4);
|
|
--text-primary: #1C1C1E;
|
|
--text-secondary: #6C6C70;
|
|
--primary-color: #1C1C1E; /* \u6DF1\u7A7A\u9ED1 */
|
|
--accent-color: #007AFF; /* iOS Blue for interactions */
|
|
--danger-color: #FF3B30;
|
|
--success-color: #34C759;
|
|
--warning-color: #FFCC00;
|
|
|
|
--shadow-floating: 0 24px 48px -12px rgba(0, 0, 0, 0.08);
|
|
--shadow-card: 0 4px 12px rgba(0, 0, 0, 0.03);
|
|
--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
|
|
|
|
--radius-xl: 40px;
|
|
--radius-lg: 24px;
|
|
--radius-md: 16px;
|
|
--radius-sm: 8px;
|
|
}
|
|
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
|
|
body {
|
|
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;
|
|
background-color: var(--bg-base);
|
|
color: var(--text-primary);
|
|
min-height: 100vh;
|
|
padding: 20px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/* \u5BB9\u5668\uFF1A\u6781\u81F4\u6BDB\u73BB\u7483 + \u53CC\u5C42\u7269\u7406\u63CF\u8FB9 */
|
|
.container {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
background: var(--bg-card);
|
|
backdrop-filter: blur(50px);
|
|
-webkit-backdrop-filter: blur(50px);
|
|
border-radius: var(--radius-xl);
|
|
box-shadow: var(--shadow-floating);
|
|
border: 1px solid rgba(255, 255, 255, 0.6); /* \u5185\u63CF\u8FB9 */
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* \u6A21\u62DF\u5916\u63CF\u8FB9 (\u901A\u8FC7\u4F2A\u5143\u7D20\u6216 box-shadow \u4E5F\u53EF\u4EE5\uFF0C\u8FD9\u91CC\u7528 outline \u4FDD\u6301 dom \u5E72\u51C0) */
|
|
.container::after {
|
|
content: '';
|
|
position: absolute;
|
|
inset: -1px;
|
|
border-radius: var(--radius-xl);
|
|
padding: 1px;
|
|
background: linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0.02));
|
|
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
-webkit-mask-composite: xor;
|
|
mask-composite: exclude;
|
|
pointer-events: none;
|
|
z-index: 1;
|
|
}
|
|
|
|
.header {
|
|
background: rgba(255, 255, 255, 0.5);
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
|
padding: 30px 40px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: 20px;
|
|
}
|
|
|
|
.header-left {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
}
|
|
|
|
.logo-title-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 18px;
|
|
}
|
|
|
|
.logo {
|
|
width: 56px;
|
|
height: 56px;
|
|
background: #fff;
|
|
border-radius: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
|
|
overflow: hidden;
|
|
border: 1px solid rgba(0,0,0,0.03);
|
|
}
|
|
|
|
.logo img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.header h1 {
|
|
font-size: 28px;
|
|
font-weight: 800;
|
|
color: var(--text-primary);
|
|
letter-spacing: -0.02em;
|
|
margin: 0;
|
|
}
|
|
|
|
.version-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.version-badge {
|
|
background: rgba(0, 0, 0, 0.04);
|
|
padding: 4px 12px;
|
|
border-radius: 100px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
.update-badge {
|
|
background: rgba(255, 204, 0, 0.15);
|
|
color: #997a00;
|
|
padding: 4px 12px;
|
|
border-radius: 100px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.update-badge:hover {
|
|
background: rgba(255, 204, 0, 0.25);
|
|
}
|
|
|
|
.api-endpoint-badge span {
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.content {
|
|
padding: 40px;
|
|
}
|
|
|
|
.section {
|
|
display: none;
|
|
animation: fadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1); /* iOS easeOut */
|
|
}
|
|
|
|
.section.active {
|
|
display: block;
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from { opacity: 0; transform: translateY(10px) scale(0.98); }
|
|
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
}
|
|
|
|
h2 {
|
|
font-size: 24px;
|
|
font-weight: 700;
|
|
letter-spacing: -0.01em;
|
|
margin-bottom: 24px;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
/* Footer */
|
|
.footer {
|
|
padding: 40px;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
color: var(--text-secondary);
|
|
border-top: 1px solid rgba(0,0,0,0.05);
|
|
background: rgba(255,255,255,0.3);
|
|
}
|
|
|
|
.footer-text {
|
|
color: var(--text-secondary);
|
|
margin: 8px 0;
|
|
max-width: 600px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.footer-links {
|
|
margin-top: 20px;
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 20px;
|
|
}
|
|
|
|
.footer-link {
|
|
color: var(--text-primary);
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s;
|
|
}
|
|
|
|
.footer-link:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
.github-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
|
|
.github-icon {
|
|
width: 14px;
|
|
height: 14px;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.tg-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
|
|
.tg-icon {
|
|
width: 14px;
|
|
height: 14px;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
/* \u6EDA\u52A8\u6761\u7F8E\u5316 */
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
::-webkit-scrollbar-thumb {
|
|
background: rgba(0, 0, 0, 0.1);
|
|
border-radius: 4px;
|
|
}
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
/* \u5DE5\u5177\u7C7B */
|
|
.text-gray {
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.text-dark-gray {
|
|
color: #333;
|
|
}
|
|
|
|
.text-red {
|
|
color: var(--danger-color);
|
|
}
|
|
|
|
.text-center {
|
|
text-align: center;
|
|
}
|
|
|
|
.font-size-12 {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.margin-top-3 {
|
|
margin-top: 3px;
|
|
}
|
|
|
|
.margin-bottom-15 {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.padding-20 {
|
|
padding: 20px;
|
|
}
|
|
|
|
.text-monospace {
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
}
|
|
`;var Dst=`
|
|
/* \u7EC4\u4EF6\u6837\u5F0F - Zen-iOS Hybrid Design */
|
|
|
|
/* \u5BFC\u822A\u6309\u94AE\uFF1A\u80F6\u56CA\u5F0F\u8BBE\u8BA1 */
|
|
.nav-buttons {
|
|
display: flex;
|
|
gap: 8px;
|
|
background: rgba(118, 118, 128, 0.12);
|
|
padding: 4px;
|
|
border-radius: 14px; /* iOS Segmented Control style */
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.nav-btn {
|
|
padding: 8px 16px;
|
|
background: transparent;
|
|
border: none;
|
|
color: var(--text-secondary);
|
|
border-radius: 10px;
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
|
|
user-select: none;
|
|
}
|
|
|
|
.nav-btn:hover {
|
|
color: var(--text-primary);
|
|
background: rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
.nav-btn.active {
|
|
background: #FFFFFF;
|
|
color: #000000;
|
|
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12), 0 3px 1px rgba(0, 0, 0, 0.04);
|
|
}
|
|
|
|
.nav-btn:active {
|
|
transform: scale(0.97);
|
|
}
|
|
|
|
/* \u73AF\u5883\u53D8\u91CF\u5206\u7C7B\u5207\u6362 */
|
|
.env-categories {
|
|
display: flex;
|
|
gap: 12px;
|
|
margin-bottom: 30px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.category-btn {
|
|
padding: 10px 20px;
|
|
background: #FFFFFF;
|
|
border: 1px solid rgba(0,0,0,0.05);
|
|
border-radius: 100px; /* Fully rounded */
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--text-secondary);
|
|
transition: all 0.2s;
|
|
box-shadow: var(--shadow-card);
|
|
}
|
|
|
|
.category-btn:hover {
|
|
transform: translateY(-1px);
|
|
background: #FAFAFA;
|
|
}
|
|
|
|
.category-btn.active {
|
|
background: var(--primary-color);
|
|
color: white;
|
|
border-color: var(--primary-color);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.category-btn:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* \u5361\u7247\u5217\u8868 (Layering) */
|
|
.env-list {
|
|
display: grid;
|
|
gap: 16px;
|
|
margin-bottom: 30px;
|
|
}
|
|
|
|
.env-item {
|
|
background: rgba(255, 255, 255, 0.6);
|
|
backdrop-filter: blur(20px);
|
|
padding: 24px;
|
|
border-radius: var(--radius-lg);
|
|
border: 1px solid rgba(255, 255, 255, 0.8); /* Inner light stroke */
|
|
box-shadow:
|
|
0 4px 6px -1px rgba(0, 0, 0, 0.02),
|
|
0 2px 4px -1px rgba(0, 0, 0, 0.02),
|
|
inset 0 0 0 1px rgba(255, 255, 255, 0.5);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start; /* Align to top for better look with descriptions */
|
|
flex-wrap: wrap;
|
|
gap: 20px;
|
|
transition: transform 0.2s;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.env-item:hover {
|
|
transform: translateY(-1px);
|
|
background: rgba(255, 255, 255, 0.8);
|
|
}
|
|
|
|
.env-item .env-info {
|
|
flex: 1;
|
|
min-width: 240px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.env-item .env-info strong {
|
|
color: var(--text-primary);
|
|
font-size: 15px;
|
|
font-weight: 700;
|
|
margin-bottom: 8px;
|
|
display: block;
|
|
letter-spacing: -0.01em;
|
|
overflow-wrap: break-word;
|
|
word-break: break-word;
|
|
}
|
|
|
|
.env-item .env-info div.text-dark-gray {
|
|
background: rgba(0, 0, 0, 0.03);
|
|
padding: 8px 12px;
|
|
border-radius: 8px;
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
font-size: 14px;
|
|
color: #333;
|
|
display: block;
|
|
border: 1px solid rgba(0,0,0,0.04);
|
|
overflow-wrap: break-word;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.env-item .env-actions {
|
|
display: flex;
|
|
gap: 10px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* \u6309\u94AE\u4F53\u7CFB */
|
|
.btn {
|
|
padding: 10px 20px;
|
|
border: none;
|
|
border-radius: 12px; /* iOS medium radius */
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 6px;
|
|
letter-spacing: 0.01em;
|
|
}
|
|
|
|
.btn:active {
|
|
transform: scale(0.95); /* Tactile feedback */
|
|
}
|
|
|
|
/* Primary: Dark Space Black */
|
|
.btn-primary {
|
|
background: var(--primary-color);
|
|
color: white;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
background: #333;
|
|
}
|
|
|
|
/* Success: iOS Green */
|
|
.btn-success {
|
|
background: var(--success-color);
|
|
color: white;
|
|
box-shadow: 0 4px 12px rgba(52, 199, 89, 0.2);
|
|
}
|
|
|
|
.btn-success:hover {
|
|
background: #2db54e;
|
|
}
|
|
|
|
/* Danger: iOS Red */
|
|
.btn-danger {
|
|
background: var(--danger-color);
|
|
color: white;
|
|
box-shadow: 0 4px 12px rgba(255, 59, 48, 0.2);
|
|
}
|
|
|
|
.btn-danger:hover {
|
|
background: #e03328;
|
|
}
|
|
|
|
/* \u9884\u89C8\u533A\u57DF */
|
|
.preview-area {
|
|
display: grid;
|
|
gap: 30px;
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.preview-category {
|
|
background: rgba(255, 255, 255, 0.6);
|
|
backdrop-filter: blur(20px);
|
|
border-radius: var(--radius-lg);
|
|
border: 1px solid rgba(255, 255, 255, 0.8);
|
|
box-shadow:
|
|
0 4px 6px -1px rgba(0, 0, 0, 0.02),
|
|
0 2px 4px -1px rgba(0, 0, 0, 0.02),
|
|
inset 0 0 0 1px rgba(255, 255, 255, 0.5);
|
|
padding: 24px;
|
|
transition: transform 0.2s;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.preview-category:hover {
|
|
transform: translateY(-2px);
|
|
background: rgba(255, 255, 255, 0.75);
|
|
box-shadow: var(--shadow-floating);
|
|
}
|
|
|
|
.preview-category h3 {
|
|
font-size: 18px;
|
|
font-weight: 800;
|
|
margin-bottom: 20px;
|
|
color: var(--text-primary);
|
|
border-bottom: 1px solid rgba(0,0,0,0.05);
|
|
padding-bottom: 12px;
|
|
}
|
|
|
|
.preview-item {
|
|
padding: 16px;
|
|
background: rgba(255, 255, 255, 0.5);
|
|
margin-bottom: 12px;
|
|
border-radius: 12px;
|
|
border-left: 4px solid var(--primary-color);
|
|
box-shadow: 0 2px 8px rgba(0,0,0,0.02);
|
|
transition: all 0.2s;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.preview-item:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.preview-item:hover {
|
|
transform: translateX(4px);
|
|
background: #FFFFFF;
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.preview-item .preview-key {
|
|
font-size: 11px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
color: var(--text-secondary);
|
|
margin-bottom: 6px;
|
|
font-weight: 700;
|
|
overflow-wrap: break-word;
|
|
word-break: break-word;
|
|
}
|
|
|
|
.preview-item .preview-value {
|
|
background: transparent;
|
|
padding: 0;
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
color: var(--text-primary);
|
|
font-size: 13px;
|
|
word-break: break-all;
|
|
overflow-wrap: break-word;
|
|
}
|
|
|
|
/* \u65E5\u5FD7\u6837\u5F0F */
|
|
.log-controls {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 15px;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.5); }
|
|
70% { box-shadow: 0 0 0 10px rgba(40, 167, 69, 0); }
|
|
100% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0); }
|
|
}
|
|
|
|
/* \u65E5\u5FD7\u4E0E\u54CD\u5E94\u5BB9\u5668 */
|
|
.log-container, .api-response, .json-response, .error-response {
|
|
background: #1C1C1E; /* Deep Dark */
|
|
color: #F2F2F7;
|
|
padding: 20px;
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(255,255,255,0.1);
|
|
box-shadow: inset 0 2px 10px rgba(0,0,0,0.2);
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
font-size: 12px;
|
|
line-height: 1.6;
|
|
max-height: 400px;
|
|
overflow: auto;
|
|
white-space: pre-wrap;
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
.log-container {
|
|
max-height: 500px;
|
|
}
|
|
|
|
/* \u65E5\u5FD7\u8FC7\u6EE4\u4EA4\u4E92\u9762\u677F\u53CA\u6807\u7B7E\u6837\u5F0F */
|
|
.log-filters-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.filter-btn {
|
|
background: transparent;
|
|
color: #888;
|
|
border: 1px solid #555;
|
|
padding: 4px 14px;
|
|
border-radius: 20px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition: all 0.3s;
|
|
text-transform: capitalize;
|
|
}
|
|
|
|
.filter-btn:hover {
|
|
border-color: #999;
|
|
background: rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.filter-btn.active {
|
|
background: rgba(191, 161, 255, 0.1);
|
|
color: #bfa1ff;
|
|
border-color: #bfa1ff;
|
|
text-shadow: 0.3px 0 0 currentColor, -0.3px 0 0 currentColor;
|
|
}
|
|
|
|
.log-tag {
|
|
color: #bfa1ff;
|
|
font-weight: bold;
|
|
margin-right: 4px;
|
|
display: inline-block;
|
|
}
|
|
|
|
.log-entry.error .log-tag {
|
|
color: #ffb74d;
|
|
}
|
|
|
|
|
|
|
|
/* \u8868\u5355\u5E2E\u52A9\u6587\u672C */
|
|
.form-help {
|
|
font-size: 12px;
|
|
color: #666;
|
|
margin-top: 5px;
|
|
font-style: italic;
|
|
}
|
|
|
|
/* API\u8C03\u8BD5\u6837\u5F0F */
|
|
.api-selector {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.api-params {
|
|
background: rgba(255, 255, 255, 0.6);
|
|
padding: 20px;
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(255,255,255,0.8);
|
|
box-shadow:
|
|
0 4px 6px -1px rgba(0, 0, 0, 0.02),
|
|
0 2px 4px -1px rgba(0, 0, 0, 0.02),
|
|
inset 0 0 0 1px rgba(255, 255, 255, 0.5);
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.api-response.xml {
|
|
color: #88ccff;
|
|
}
|
|
|
|
/* JSON\u9AD8\u4EAE\u6837\u5F0F */
|
|
.json-response .key {
|
|
color: #9cdcfe;
|
|
}
|
|
|
|
.json-response .string {
|
|
color: #ce9178;
|
|
}
|
|
|
|
.json-response .number {
|
|
color: #b5cea8;
|
|
}
|
|
|
|
.json-response .boolean {
|
|
color: #569cd6;
|
|
}
|
|
|
|
.json-response .null {
|
|
color: #569cd6;
|
|
}
|
|
|
|
.json-response .undefined {
|
|
color: #569cd6;
|
|
}
|
|
|
|
.error-response {
|
|
color: #f48771;
|
|
}
|
|
|
|
.log-entry {
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
margin-bottom: 2px;
|
|
}
|
|
|
|
.log-entry.info { color: #4fc3f7; }
|
|
.log-entry.warn { color: #ffb74d; }
|
|
.log-entry.error { color: #e57373; }
|
|
.log-entry.success { color: #81c784; }
|
|
|
|
.log-entry:hover {
|
|
background: rgba(255,255,255,0.05);
|
|
}
|
|
|
|
/* \u6A21\u6001\u6846 */
|
|
.modal {
|
|
display: none;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(0, 0, 0, 0.25);
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
z-index: 1000;
|
|
padding: 20px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.modal.active {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.modal-content {
|
|
background: rgba(255, 255, 255, 0.85);
|
|
backdrop-filter: blur(50px);
|
|
-webkit-backdrop-filter: blur(50px);
|
|
border-radius: 32px;
|
|
box-shadow: 0 40px 80px rgba(0,0,0,0.2);
|
|
border: 1px solid rgba(255,255,255,0.5);
|
|
padding: 40px;
|
|
width: 100%;
|
|
max-width: 600px;
|
|
max-height: calc(100vh - 40px);
|
|
overflow-y: auto;
|
|
position: relative;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
/* \u914D\u7F6E\u7F16\u8F91\u5F39\u7A97\u4E13\u7528\u6837\u5F0F - \u66F4\u5BBD\u66F4\u534F\u8C03\u7684\u6BD4\u4F8B */
|
|
#env-modal .modal-content {
|
|
width: 90vw;
|
|
max-width: 680px;
|
|
max-height: 85vh;
|
|
overflow-y: auto;
|
|
padding: 32px 36px;
|
|
}
|
|
|
|
#env-modal .modal-content::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
#env-modal .modal-content::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
#env-modal .modal-content::-webkit-scrollbar-thumb {
|
|
background: rgba(0, 0, 0, 0.15);
|
|
border-radius: 3px;
|
|
}
|
|
|
|
#env-modal .modal-content::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(0, 0, 0, 0.25);
|
|
}
|
|
|
|
/* \u591A\u9009\u6807\u7B7E\u533A\u57DF\u4F18\u5316 - \u9650\u5236\u9AD8\u5EA6\u5E76\u652F\u6301\u6EDA\u52A8 */
|
|
#env-modal .selected-tags {
|
|
max-height: 140px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
#env-modal .available-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
max-height: 180px;
|
|
overflow-y: auto;
|
|
padding: 12px;
|
|
background: rgba(245, 245, 247, 0.5);
|
|
border-radius: 12px;
|
|
margin-top: 12px;
|
|
}
|
|
|
|
.modal-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
border-bottom: 1px solid rgba(0,0,0,0.06);
|
|
padding-bottom: 20px;
|
|
margin-bottom: 30px;
|
|
}
|
|
|
|
.modal-header h3 {
|
|
font-size: 20px;
|
|
font-weight: 700;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.close-btn {
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 50%;
|
|
background: rgba(0,0,0,0.05);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: all 0.2s;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.close-btn:hover {
|
|
background: rgba(0,0,0,0.1);
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
/* \u8FDB\u5EA6\u6761 */
|
|
.progress-container {
|
|
height: 2px;
|
|
background: transparent;
|
|
}
|
|
.progress-bar {
|
|
background: linear-gradient(90deg, var(--primary-color), var(--text-secondary));
|
|
box-shadow: none;
|
|
}
|
|
|
|
/* Bilibili Status */
|
|
.bili-cookie-status {
|
|
background: rgba(255,255,255,0.5);
|
|
border: 1px solid rgba(0,0,0,0.05);
|
|
border-left: 4px solid var(--primary-color);
|
|
border-radius: 12px;
|
|
}
|
|
|
|
/* Tag Styles */
|
|
.value-type-badge {
|
|
padding: 4px 10px;
|
|
border-radius: 100px;
|
|
background: var(--text-primary);
|
|
color: #FFFFFF;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
font-size: 10px;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
/* \u52A0\u8F7D\u63D0\u793A */
|
|
.loading-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(0, 0, 0, 0.2);
|
|
backdrop-filter: blur(12px);
|
|
-webkit-backdrop-filter: blur(12px);
|
|
display: none;
|
|
justify-content: center;
|
|
align-items: center;
|
|
z-index: 9998;
|
|
}
|
|
|
|
.loading-overlay.active {
|
|
display: flex;
|
|
}
|
|
|
|
.loading-content {
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(20px);
|
|
-webkit-backdrop-filter: blur(20px);
|
|
padding: 32px;
|
|
border-radius: 24px;
|
|
text-align: center;
|
|
box-shadow: 0 20px 40px rgba(0,0,0,0.15);
|
|
max-width: 320px;
|
|
border: 1px solid rgba(255,255,255,0.4);
|
|
}
|
|
|
|
.loading-spinner {
|
|
width: 48px;
|
|
height: 48px;
|
|
border: 4px solid rgba(0,0,0,0.05);
|
|
border-top: 4px solid var(--primary-color);
|
|
border-radius: 50%;
|
|
animation: spin 0.8s cubic-bezier(0.6, 0.2, 0.4, 0.8) infinite;
|
|
margin: 0 auto 20px;
|
|
}
|
|
|
|
.loading-spinner-small {
|
|
display: inline-block;
|
|
width: 16px;
|
|
height: 16px;
|
|
border: 2px solid rgba(255,255,255,0.3);
|
|
border-top: 2px solid white;
|
|
border-radius: 50%;
|
|
animation: spin 0.8s cubic-bezier(0.6, 0.2, 0.4, 0.8) infinite;
|
|
}
|
|
|
|
.btn-success .loading-spinner-small {
|
|
border: 2px solid rgba(255,255,255,0.3);
|
|
border-top: 2px solid white;
|
|
}
|
|
|
|
.loading-text {
|
|
font-size: 16px;
|
|
color: var(--text-primary);
|
|
font-weight: 600;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.loading-detail {
|
|
font-size: 13px;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
@keyframes spin {
|
|
0% { transform: rotate(0deg); }
|
|
100% { transform: rotate(360deg); }
|
|
}
|
|
|
|
/* \u52A8\u6F2B\u641C\u7D22\u7ED3\u679C\u7F51\u683C */
|
|
.anime-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
|
|
gap: 20px;
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.anime-item {
|
|
background: rgba(255, 255, 255, 0.6);
|
|
backdrop-filter: blur(20px);
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(255, 255, 255, 0.8);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
|
|
overflow: hidden;
|
|
cursor: pointer;
|
|
transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1);
|
|
}
|
|
|
|
.anime-item:hover {
|
|
transform: translateY(-4px);
|
|
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
|
|
background: rgba(255, 255, 255, 0.85);
|
|
}
|
|
|
|
.anime-item:active {
|
|
transform: scale(0.98);
|
|
}
|
|
|
|
.anime-item-img {
|
|
width: 100%;
|
|
aspect-ratio: 3 / 4;
|
|
object-fit: cover;
|
|
display: block;
|
|
background: rgba(0, 0, 0, 0.03);
|
|
}
|
|
|
|
.anime-title {
|
|
padding: 12px;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--text-primary);
|
|
line-height: 1.4;
|
|
margin: 0;
|
|
word-break: normal;
|
|
overflow-wrap: break-word;
|
|
display: -webkit-box;
|
|
-webkit-line-clamp: 2;
|
|
-webkit-box-orient: vertical;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
/* \u5267\u96C6\u5217\u8868 */
|
|
.episode-list-container {
|
|
display: grid;
|
|
gap: 10px;
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.episode-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 16px;
|
|
padding: 16px 20px;
|
|
background: rgba(255, 255, 255, 0.6);
|
|
backdrop-filter: blur(20px);
|
|
border-radius: 14px;
|
|
border: 1px solid rgba(255, 255, 255, 0.8);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.episode-item:hover {
|
|
background: rgba(255, 255, 255, 0.85);
|
|
transform: translateX(4px);
|
|
}
|
|
|
|
.episode-item-content {
|
|
flex: 1;
|
|
font-size: 14px;
|
|
color: var(--text-primary);
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.episode-item-content strong {
|
|
font-weight: 700;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.episode-push-btn {
|
|
flex-shrink: 0;
|
|
padding: 8px 16px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
/* \u6587\u5B57\u989C\u8272\u5DE5\u5177\u7C7B */
|
|
.text-yellow-gold {
|
|
color: #997a00;
|
|
}
|
|
|
|
/* \u63A8\u9001\u5F39\u5E55\u533A\u57DF\u6807\u9898 */
|
|
#push-anime-list h3,
|
|
#push-episode-list h3 {
|
|
font-size: 18px;
|
|
font-weight: 700;
|
|
margin-bottom: 8px;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
#push-anime-list,
|
|
#push-episode-list {
|
|
margin-top: 24px;
|
|
padding: 24px;
|
|
background: rgba(255, 255, 255, 0.4);
|
|
border-radius: 20px;
|
|
border: 1px solid rgba(255, 255, 255, 0.6);
|
|
}
|
|
|
|
/* \u8BF7\u6C42\u8BB0\u5F55\u6837\u5F0F */
|
|
.request-records-container {
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.no-records {
|
|
text-align: center;
|
|
color: #fff;
|
|
padding: 60px;
|
|
font-style: italic;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.record-item {
|
|
background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
|
|
border: none;
|
|
border-radius: 16px;
|
|
padding: 10px;
|
|
margin-bottom: 10px;
|
|
box-shadow: 0 8px 32px rgba(0,0,0,0.15);
|
|
transition: transform 0.2s, box-shadow 0.2s;
|
|
}
|
|
|
|
.record-item:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 12px 40px rgba(0,0,0,0.2);
|
|
}
|
|
|
|
.record-header {
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
align-items: center;
|
|
margin-bottom: 15px;
|
|
flex-wrap: wrap;
|
|
gap: 15px;
|
|
}
|
|
|
|
.record-method {
|
|
background: linear-gradient(135deg, #00b4db 0%, #0083b0 100%);
|
|
color: white;
|
|
padding: 8px 16px;
|
|
border-radius: 10px;
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
min-width: 60px;
|
|
text-align: center;
|
|
box-shadow: 0 4px 15px rgba(0,180,219,0.3);
|
|
}
|
|
|
|
.record-interface {
|
|
flex: 1;
|
|
font-family: 'Courier New', monospace;
|
|
font-weight: 600;
|
|
color: #2d3748;
|
|
word-break: break-all;
|
|
font-size: 15px;
|
|
background: #edf2f7;
|
|
padding: 8px 16px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.record-ip {
|
|
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
|
|
color: white;
|
|
padding: 8px 16px;
|
|
border-radius: 10px;
|
|
font-size: 13px;
|
|
min-width: 120px;
|
|
text-align: center;
|
|
font-weight: 500;
|
|
box-shadow: 0 4px 15px rgba(245,87,108,0.3);
|
|
}
|
|
|
|
.record-timestamp {
|
|
color: #718096;
|
|
font-size: 14px;
|
|
margin-bottom: 15px;
|
|
padding-bottom: 15px;
|
|
border-bottom: 2px dashed #e2e8f0;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.record-timestamp.no-params {
|
|
border-bottom: none;
|
|
margin-bottom: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
.record-timestamp::before {
|
|
content: '\u{1F550}';
|
|
font-size: 16px;
|
|
}
|
|
|
|
.record-params {
|
|
background: #f5f5f5;
|
|
border-radius: 12px;
|
|
padding: 15px;
|
|
border: 1px solid #e0e0e0;
|
|
}
|
|
|
|
.record-params-title {
|
|
color: #667eea;
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
margin-bottom: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.record-params-title::before {
|
|
content: '\u{1F4CB}';
|
|
font-size: 16px;
|
|
}
|
|
|
|
.record-params pre {
|
|
margin: 0;
|
|
padding: 15px;
|
|
background: #ffffff;
|
|
color: #333;
|
|
border-radius: 8px;
|
|
font-family: 'Courier New', monospace;
|
|
font-size: 13px;
|
|
white-space: pre-wrap;
|
|
word-wrap: break-word;
|
|
overflow-x: auto;
|
|
line-height: 1.6;
|
|
border: 1px solid #ddd;
|
|
}
|
|
|
|
/* \u8BF7\u6C42\u8BB0\u5F55\u79FB\u52A8\u7AEF\u9002\u914D */
|
|
@media (max-width: 768px) {
|
|
.record-header {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.record-method,
|
|
.record-interface,
|
|
.record-ip {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
}
|
|
|
|
/* ===================== */
|
|
/* \u5F39\u5E55\u6D4B\u8BD5\u76F8\u5173\u6837\u5F0F */
|
|
/* ===================== */
|
|
|
|
/* \u9876\u7EA7\u6807\u7B7E\u9875 */
|
|
.api-top-tabs {
|
|
display: flex;
|
|
gap: 0;
|
|
margin-bottom: 20px;
|
|
border-bottom: 2px solid #e0e0e0;
|
|
}
|
|
|
|
.api-top-tab {
|
|
padding: 10px 24px;
|
|
background: none;
|
|
border: none;
|
|
border-bottom: 3px solid transparent;
|
|
cursor: pointer;
|
|
font-size: 15px;
|
|
font-weight: 500;
|
|
color: #666;
|
|
transition: all 0.3s;
|
|
margin-bottom: -2px;
|
|
}
|
|
|
|
.api-top-tab:hover {
|
|
color: #667eea;
|
|
}
|
|
|
|
.api-top-tab.active {
|
|
color: #667eea;
|
|
border-bottom-color: #667eea;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.api-tab-content {
|
|
display: none;
|
|
}
|
|
|
|
.api-tab-content.active {
|
|
display: block;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u6D4B\u8BD5\u5B50\u6807\u7B7E */
|
|
.danmu-test-tabs {
|
|
display: flex;
|
|
gap: 10px;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.danmu-test-tab {
|
|
padding: 8px 20px;
|
|
background: #f0f0f0;
|
|
border: 2px solid transparent;
|
|
border-radius: 20px;
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
transition: all 0.3s;
|
|
color: #555;
|
|
}
|
|
|
|
.danmu-test-tab:hover {
|
|
background: #e0e0e0;
|
|
}
|
|
|
|
.danmu-test-tab.active {
|
|
background: #667eea;
|
|
color: white;
|
|
border-color: #667eea;
|
|
}
|
|
|
|
.danmu-test-panel {
|
|
display: none;
|
|
}
|
|
|
|
.danmu-test-panel.active {
|
|
display: block;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u7EDF\u8BA1\u5361\u7247 */
|
|
.danmu-stats {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.danmu-stats-title {
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
color: #667eea;
|
|
margin-bottom: 12px;
|
|
padding-bottom: 8px;
|
|
border-bottom: 1px solid #eee;
|
|
}
|
|
|
|
.danmu-stats-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
gap: 12px;
|
|
}
|
|
|
|
.danmu-stat-card {
|
|
background: #f8f9fa;
|
|
border-radius: 10px;
|
|
padding: 15px;
|
|
text-align: center;
|
|
border: 1px solid #eee;
|
|
transition: transform 0.2s;
|
|
}
|
|
|
|
.danmu-stat-card:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
|
|
}
|
|
|
|
.stat-value {
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
color: #333;
|
|
margin-bottom: 4px;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.stat-label {
|
|
font-size: 12px;
|
|
color: #999;
|
|
}
|
|
|
|
.danmu-result-error {
|
|
margin-bottom: 15px;
|
|
background: #fff8f8;
|
|
border: 1px solid #ffcdd2;
|
|
color: #c62828;
|
|
border-radius: 10px;
|
|
padding: 12px 15px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u70ED\u529B\u56FE */
|
|
.danmu-heatmap-container {
|
|
margin-bottom: 15px;
|
|
background: #f8f9fa;
|
|
border-radius: 10px;
|
|
padding: 15px;
|
|
}
|
|
|
|
.danmu-section-title {
|
|
margin: 0 0 10px;
|
|
font-size: 15px;
|
|
}
|
|
|
|
.danmu-section-title-spaced {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.danmu-empty-text {
|
|
color: #999;
|
|
}
|
|
|
|
.danmu-empty-list {
|
|
text-align: center;
|
|
padding: 20px;
|
|
}
|
|
|
|
.heatmap-bars {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
gap: 2px;
|
|
height: 100px;
|
|
padding: 0 2px;
|
|
}
|
|
|
|
.danmu-heatmap-interactive {
|
|
position: relative;
|
|
padding-top: 34px;
|
|
touch-action: pan-y;
|
|
user-select: none;
|
|
}
|
|
|
|
.danmu-heatmap-tooltip {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
transform: translateX(-50%) translateY(-4px);
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 4px;
|
|
padding: 5px 9px;
|
|
border-radius: 999px;
|
|
background: rgba(51, 51, 51, 0.92);
|
|
color: white;
|
|
font-size: 12px;
|
|
line-height: 1.2;
|
|
white-space: nowrap;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transition: opacity 0.12s ease, transform 0.12s ease;
|
|
z-index: 2;
|
|
}
|
|
|
|
.danmu-heatmap-tooltip.active {
|
|
opacity: 1;
|
|
transform: translateX(-50%) translateY(0);
|
|
}
|
|
|
|
.danmu-heatmap-tooltip strong {
|
|
font-size: 15px;
|
|
}
|
|
|
|
.danmu-heatmap-tooltip em {
|
|
color: rgba(255,255,255,0.72);
|
|
font-style: normal;
|
|
margin-left: 3px;
|
|
}
|
|
|
|
.danmu-heatmap-indicator {
|
|
position: absolute;
|
|
top: 34px;
|
|
bottom: 0;
|
|
width: 2px;
|
|
transform: translateX(-50%);
|
|
border-radius: 999px;
|
|
background: rgba(102, 126, 234, 0.88);
|
|
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.14);
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transition: opacity 0.12s ease;
|
|
z-index: 1;
|
|
}
|
|
|
|
.danmu-heatmap-indicator.active {
|
|
opacity: 1;
|
|
}
|
|
|
|
.heatmap-bar {
|
|
flex: 1;
|
|
min-width: 3px;
|
|
height: var(--heatmap-height, 2%);
|
|
background: var(--heatmap-color, #667eea);
|
|
border-radius: 2px 2px 0 0;
|
|
transition: opacity 0.2s, transform 0.12s ease, box-shadow 0.12s ease;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.heatmap-bar.active {
|
|
opacity: 0.95;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.24);
|
|
}
|
|
|
|
.heatmap-bar:hover {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.heatmap-axis {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: 6px;
|
|
font-size: 11px;
|
|
color: #999;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u8FC7\u6EE4\u6807\u7B7E */
|
|
.danmu-filter-tabs {
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
gap: 8px;
|
|
margin-bottom: 12px;
|
|
overflow-x: auto;
|
|
overflow-y: hidden;
|
|
padding-bottom: 2px;
|
|
-webkit-overflow-scrolling: touch;
|
|
scrollbar-width: none;
|
|
}
|
|
|
|
.danmu-filter-tabs::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
.danmu-filter-tab {
|
|
flex: 0 0 auto;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
white-space: nowrap;
|
|
padding: 6px 12px;
|
|
background: #f0f0f0;
|
|
border: 1px solid #ddd;
|
|
border-radius: 15px;
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
transition: all 0.2s;
|
|
color: #555;
|
|
}
|
|
|
|
.danmu-filter-tab:hover {
|
|
background: #e0e0e0;
|
|
}
|
|
|
|
.danmu-filter-tab.active {
|
|
background: #667eea;
|
|
color: white;
|
|
border-color: #667eea;
|
|
}
|
|
|
|
.danmu-filter-count {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 20px;
|
|
height: 18px;
|
|
padding: 0 6px;
|
|
border-radius: 999px;
|
|
background: rgba(0,0,0,0.08);
|
|
color: inherit;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
line-height: 1;
|
|
}
|
|
|
|
.danmu-filter-tab.active .danmu-filter-count {
|
|
background: rgba(255,255,255,0.22);
|
|
}
|
|
|
|
/* \u5F39\u5E55\u5217\u8868 */
|
|
.danmu-list-area {
|
|
background: #f8f9fa;
|
|
border-radius: 10px;
|
|
padding: 15px;
|
|
}
|
|
|
|
.danmu-list-area h3 {
|
|
margin: 0 0 10px;
|
|
font-size: 15px;
|
|
}
|
|
|
|
.danmu-list {
|
|
max-height: 500px;
|
|
overflow-y: auto;
|
|
border: 1px solid #eee;
|
|
border-radius: 8px;
|
|
background: white;
|
|
}
|
|
|
|
.danmu-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 8px 12px;
|
|
border-bottom: 1px solid #f0f0f0;
|
|
font-size: 13px;
|
|
transition: background 0.15s;
|
|
}
|
|
|
|
.danmu-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.danmu-item:hover {
|
|
background: #f8f9ff;
|
|
}
|
|
|
|
.danmu-time {
|
|
color: #999;
|
|
font-family: 'Courier New', monospace;
|
|
font-size: 12px;
|
|
min-width: 50px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.danmu-color-dot {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 50%;
|
|
flex-shrink: 0;
|
|
border: 1px solid rgba(0,0,0,0.1);
|
|
background: var(--danmu-color-dot, #fff);
|
|
}
|
|
|
|
.danmu-mode-tag {
|
|
font-size: 11px;
|
|
padding: 2px 6px;
|
|
border-radius: 8px;
|
|
flex-shrink: 0;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.danmu-mode-scroll {
|
|
background: #e3f2fd;
|
|
color: #1976d2;
|
|
}
|
|
|
|
.danmu-mode-top {
|
|
background: #fce4ec;
|
|
color: #c62828;
|
|
}
|
|
|
|
.danmu-mode-bottom {
|
|
background: #e8f5e9;
|
|
color: #2e7d32;
|
|
}
|
|
|
|
.danmu-text {
|
|
flex: 1;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
color: #333;
|
|
}
|
|
|
|
.danmu-load-more {
|
|
display: none;
|
|
width: 100%;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.jump-to-episode {
|
|
margin-top: 15px;
|
|
margin-bottom: 15px;
|
|
padding: 10px;
|
|
background: #f8f9fa;
|
|
border-radius: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.jump-episode-input {
|
|
padding: 8px;
|
|
width: 90px;
|
|
border: 1px solid #ccc;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.jump-episode-btn {
|
|
margin-left: 5px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.jump-episode-total {
|
|
margin-left: 5px;
|
|
color: #666;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.episode-item.episode-item-highlight {
|
|
background: #fff3cd;
|
|
}
|
|
|
|
/* \u8FD4\u56DE\u6309\u94AE */
|
|
.btn-back {
|
|
padding: 8px 16px;
|
|
background: #f0f0f0;
|
|
border: 1px solid #ddd;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
color: #555;
|
|
transition: all 0.2s;
|
|
margin-bottom: 15px;
|
|
display: inline-block;
|
|
}
|
|
|
|
.btn-back:hover {
|
|
background: #e0e0e0;
|
|
color: #333;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u52A0\u8F7D\u52A8\u753B */
|
|
.danmu-loading {
|
|
text-align: center;
|
|
padding: 60px 20px;
|
|
}
|
|
|
|
.danmu-loading .loading-spinner {
|
|
margin: 0 auto 15px;
|
|
}
|
|
|
|
.danmu-loading .loading-text {
|
|
color: #666;
|
|
font-size: 15px;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u7ED3\u679C\u5DE5\u5177\u680F\uFF08\u8FD4\u56DE+\u5BFC\u51FA\u540C\u884C\uFF09 */
|
|
.danmu-result-toolbar {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 15px;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
}
|
|
|
|
.danmu-result-toolbar .btn-back {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.danmu-export-btns {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-left: auto;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u6D4B\u8BD5\u79FB\u52A8\u7AEF\u9002\u914D */
|
|
@media (max-width: 768px) {
|
|
.danmu-stats-grid {
|
|
grid-template-columns: repeat(2, 1fr);
|
|
}
|
|
|
|
.api-top-tab {
|
|
padding: 8px 16px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.danmu-test-tabs {
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.stat-value {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.heatmap-bars {
|
|
height: 70px;
|
|
gap: 1px;
|
|
padding: 0 1px;
|
|
}
|
|
|
|
.heatmap-bar {
|
|
min-width: 2px;
|
|
}
|
|
}
|
|
|
|
/* \u989C\u8272\u6C60\u914D\u7F6E */
|
|
.color-pool-display {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
margin-bottom: 12px;
|
|
min-height: 36px;
|
|
padding: 8px;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 8px;
|
|
background: #f9f9f9;
|
|
}
|
|
|
|
.color-pool-item {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 3px 8px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.color-pool-swatch {
|
|
display: inline-block;
|
|
width: 18px;
|
|
height: 18px;
|
|
border-radius: 3px;
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
.color-pool-value {
|
|
color: #666;
|
|
font-family: monospace;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.color-pool-remove {
|
|
border: none;
|
|
background: none;
|
|
color: #999;
|
|
cursor: pointer;
|
|
padding: 0 2px;
|
|
font-size: 14px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.color-pool-empty {
|
|
color: #999;
|
|
font-size: 12px;
|
|
align-self: center;
|
|
}
|
|
|
|
.color-pool-picker {
|
|
padding: 14px;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 10px;
|
|
background: #fafafa;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.color-pool-picker-inner {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.color-wheel {
|
|
width: 120px;
|
|
height: 120px;
|
|
border-radius: 50%;
|
|
background: conic-gradient(hsl(0,100%,50%),hsl(60,100%,50%),hsl(120,100%,50%),hsl(180,100%,50%),hsl(240,100%,50%),hsl(300,100%,50%),hsl(360,100%,50%));
|
|
cursor: crosshair;
|
|
position: relative;
|
|
box-shadow: 0 1px 4px rgba(0,0,0,0.1);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.color-wheel-center {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%,-50%);
|
|
width: 44%;
|
|
height: 44%;
|
|
border-radius: 50%;
|
|
background: #fafafa;
|
|
}
|
|
|
|
.color-wheel-dot {
|
|
position: absolute;
|
|
width: 14px;
|
|
height: 14px;
|
|
border-radius: 50%;
|
|
border: 2.5px solid #fff;
|
|
box-shadow: 0 0 4px rgba(0,0,0,0.35);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.color-pool-preview {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.color-pool-preview-swatch {
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 6px;
|
|
border: 1px solid #ddd;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.color-pool-preview-hex {
|
|
font-family: monospace;
|
|
font-size: 13px;
|
|
color: #555;
|
|
}
|
|
|
|
.color-pool-lightness {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
width: 100%;
|
|
max-width: 240px;
|
|
}
|
|
|
|
.color-pool-lightness span {
|
|
font-size: 12px;
|
|
color: #888;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.color-pool-lightness input {
|
|
flex: 1;
|
|
accent-color: #667eea;
|
|
}
|
|
|
|
.color-pool-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
flex-wrap: nowrap;
|
|
}
|
|
|
|
.color-pool-actions .btn {
|
|
white-space: nowrap;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.color-pool-actions .spacer {
|
|
flex: 1;
|
|
}
|
|
|
|
/* \u6279\u91CF\u6DFB\u52A0\u989C\u8272\u5F39\u7A97 */
|
|
.batch-color-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0,0,0,0.4);
|
|
z-index: 9999;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.batch-color-dialog {
|
|
background: #fff;
|
|
border-radius: 12px;
|
|
padding: 20px;
|
|
width: 90%;
|
|
max-width: 420px;
|
|
box-shadow: 0 4px 20px rgba(0,0,0,0.15);
|
|
}
|
|
|
|
.batch-color-input {
|
|
width: 100%;
|
|
padding: 8px 10px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 6px;
|
|
font-size: 13px;
|
|
font-family: monospace;
|
|
resize: vertical;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.batch-color-preview {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
margin-top: 10px;
|
|
min-height: 24px;
|
|
}
|
|
|
|
.batch-color-preview-swatch {
|
|
display: inline-block;
|
|
width: 22px;
|
|
height: 22px;
|
|
border-radius: 4px;
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
.batch-color-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
justify-content: flex-end;
|
|
margin-top: 14px;
|
|
}
|
|
|
|
/* \u504F\u79FB\u89C4\u5219\u5FEB\u901F\u914D\u7F6E */
|
|
.offset-rule-panel {
|
|
display: none;
|
|
margin-top: 10px;
|
|
padding: 12px;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 8px;
|
|
background: #f9f9f9;
|
|
}
|
|
|
|
.offset-form-row {
|
|
display: flex;
|
|
gap: 8px;
|
|
flex-wrap: wrap;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.offset-label {
|
|
font-size: 12px;
|
|
color: #666;
|
|
}
|
|
|
|
.offset-input {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 4px;
|
|
font-size: 13px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.offset-sources {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 5px;
|
|
margin-top: 5px;
|
|
}
|
|
|
|
.offset-source-tag {
|
|
padding: 3px 10px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 12px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
background: #fff;
|
|
color: #666;
|
|
transition: all 0.15s;
|
|
}
|
|
|
|
.offset-source-tag.selected {
|
|
background: #1a73e8;
|
|
color: #fff;
|
|
border-color: #1a73e8;
|
|
}
|
|
|
|
.offset-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
/* \u6700\u8FD1\u6570\u636E\u4E0Eanimes\u7F13\u5B58\u9762\u677F\u6837\u5F0F */
|
|
|
|
/* \u9762\u677F\u5BB9\u5668 */
|
|
.recent-data-panel {
|
|
display: none;
|
|
max-height: 350px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.anime-cache-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.anime-cache-card {
|
|
background: #fff;
|
|
border-radius: 6px;
|
|
border: 1px solid #eaeaea;
|
|
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.anime-cache-card-body {
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: center;
|
|
padding: 10px;
|
|
}
|
|
|
|
.anime-cache-cover {
|
|
width: 44px;
|
|
height: 60px;
|
|
border-radius: 4px;
|
|
background-color: #e2e3e5;
|
|
background-size: cover;
|
|
background-position: center;
|
|
flex-shrink: 0;
|
|
box-shadow: 0 1px 4px rgba(0,0,0,0.15);
|
|
}
|
|
|
|
.anime-cache-info,
|
|
.anime-cache-child-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.anime-cache-title {
|
|
font-weight: 600;
|
|
font-size: 13px;
|
|
line-height: 1.4;
|
|
margin-bottom: 4px;
|
|
display: -webkit-box;
|
|
-webkit-line-clamp: 2;
|
|
-webkit-box-orient: vertical;
|
|
overflow: hidden;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.anime-cache-meta {
|
|
color: #888;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.anime-cache-actions,
|
|
.anime-cache-child-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.anime-cache-actions { gap: 6px; }
|
|
|
|
.btn-xs {
|
|
padding: 2px 6px;
|
|
font-size: 11px;
|
|
}
|
|
|
|
/* \u5361\u7247\u5E95\u90E8\u6807\u7B7E\u5207\u6362\u680F(Tab \u98CE\u683C) */
|
|
.anime-cache-footer {
|
|
display: flex;
|
|
gap: 8px;
|
|
padding: 8px 10px;
|
|
background: #fdfdfd;
|
|
border-top: 1px solid #f0f0f0;
|
|
}
|
|
|
|
.cache-badge {
|
|
font-size: 11px;
|
|
padding: 4px 10px;
|
|
border-radius: 12px;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
font-weight: 500;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.cache-badge.badge-sources { background: #e3f2fd; color: #0d47a1; border: 1px solid #bbdefb; }
|
|
.cache-badge.badge-episodes { background: #e8f5e9; color: #1b5e20; border: 1px solid #c8e6c9; }
|
|
.cache-badge.active { filter: brightness(0.9); box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); }
|
|
|
|
/* \u6298\u53E0\u5217\u8868\u5BB9\u5668 */
|
|
.merged-children-container,
|
|
.episodes-list-container {
|
|
display: none;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
padding: 8px 10px;
|
|
background: #fafafa;
|
|
border-top: 1px solid #f0f0f0;
|
|
}
|
|
|
|
.episodes-list-container {
|
|
max-height: 200px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
/* \u5B50\u8282\u70B9\u5361\u7247 */
|
|
.anime-cache-child-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: #fff;
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
border: 1px dashed #ccc;
|
|
}
|
|
|
|
.anime-cache-child-main {
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: center;
|
|
width: 100%;
|
|
}
|
|
|
|
.anime-cache-child-cover {
|
|
width: 33px;
|
|
height: 45px;
|
|
border-radius: 3px;
|
|
background-color: #e2e3e5;
|
|
background-size: cover;
|
|
background-position: center;
|
|
flex-shrink: 0;
|
|
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.anime-cache-child-title {
|
|
font-weight: 500;
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.anime-cache-child-actions { gap: 4px; }
|
|
|
|
/* \u5408\u5E76\u6620\u5C04\u8BE6\u60C5 */
|
|
.child-mapping-toggle {
|
|
font-size: 10px;
|
|
color: #666;
|
|
cursor: pointer;
|
|
margin-top: 8px;
|
|
padding-top: 6px;
|
|
border-top: 1px dashed #eee;
|
|
text-align: center;
|
|
}
|
|
|
|
.child-mapping-toggle:hover {
|
|
color: #0066cc;
|
|
}
|
|
|
|
.child-mapping-container {
|
|
display: none;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
margin-top: 6px;
|
|
background: #fdfdfd;
|
|
padding: 6px;
|
|
border-radius: 4px;
|
|
border: 1px solid #f0f0f0;
|
|
max-height: 150px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.mapping-row {
|
|
font-size: 10px;
|
|
display: flex;
|
|
gap: 6px;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.mapping-status { flex-shrink: 0; font-weight: bold; }
|
|
.mapping-status.success { color: #28a745; }
|
|
.mapping-status.warning { color: #d39e00; }
|
|
.mapping-text { color: #555; word-break: break-all; }
|
|
`;var Bst=`
|
|
/* \u8868\u5355\u6837\u5F0F - Zen-iOS Hybrid Design */
|
|
.form-group {
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.form-group label {
|
|
display: block;
|
|
margin-bottom: 8px;
|
|
font-size: 11px;
|
|
font-weight: 700;
|
|
color: var(--text-secondary);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.08em;
|
|
}
|
|
|
|
.form-group input,
|
|
.form-group select,
|
|
.form-group textarea {
|
|
width: 100%;
|
|
padding: 12px 16px;
|
|
border: 1px solid rgba(0,0,0,0.06);
|
|
border-radius: 12px; /* Smooth corners */
|
|
font-size: 14px;
|
|
background-color: rgba(245, 245, 247, 0.5); /* #F5F5F7 50% */
|
|
color: var(--text-primary);
|
|
box-shadow: var(--shadow-inner); /* Inner shadow for depth */
|
|
transition: all 0.2s;
|
|
outline: none;
|
|
}
|
|
|
|
.form-group input:focus,
|
|
.form-group select:focus,
|
|
.form-group textarea:focus {
|
|
background-color: #FFFFFF;
|
|
border-color: var(--primary-color);
|
|
box-shadow: 0 0 0 4px rgba(28, 28, 30, 0.1); /* Focus ring */
|
|
}
|
|
|
|
.form-group textarea {
|
|
resize: vertical;
|
|
min-height: 100px;
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/* \u5F00\u5173\u6309\u94AE (iOS style) */
|
|
.switch-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.switch {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 52px;
|
|
height: 32px;
|
|
}
|
|
|
|
.switch input {
|
|
opacity: 0;
|
|
width: 0;
|
|
height: 0;
|
|
}
|
|
|
|
.slider {
|
|
position: absolute;
|
|
cursor: pointer;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: rgba(120, 120, 128, 0.16); /* iOS gray */
|
|
transition: .3s cubic-bezier(0.25, 1, 0.5, 1);
|
|
border-radius: 32px;
|
|
}
|
|
|
|
.slider:before {
|
|
position: absolute;
|
|
content: "";
|
|
height: 28px;
|
|
width: 28px;
|
|
left: 2px;
|
|
bottom: 2px;
|
|
background-color: white;
|
|
transition: .3s cubic-bezier(0.25, 1, 0.5, 1);
|
|
border-radius: 50%;
|
|
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 3px 1px rgba(0, 0, 0, 0.06);
|
|
}
|
|
|
|
input:checked + .slider {
|
|
background-color: var(--success-color); /* Green for on */
|
|
}
|
|
|
|
input:checked + .slider:before {
|
|
transform: translateX(20px);
|
|
}
|
|
|
|
.switch-label {
|
|
font-weight: 600;
|
|
color: var(--text-primary);
|
|
font-size: 14px;
|
|
}
|
|
|
|
/* \u6570\u5B57\u6EDA\u8F6E */
|
|
.number-picker {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 20px;
|
|
background: rgba(255, 255, 255, 0.5);
|
|
padding: 20px;
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.number-display {
|
|
font-size: 40px;
|
|
font-weight: 800;
|
|
color: var(--text-primary);
|
|
min-width: 70px;
|
|
text-align: center;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.number-controls {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.number-btn {
|
|
width: 36px;
|
|
height: 36px;
|
|
border: 1px solid rgba(0,0,0,0.1);
|
|
background: white;
|
|
color: var(--text-primary);
|
|
border-radius: 10px;
|
|
cursor: pointer;
|
|
font-size: 18px;
|
|
font-weight: bold;
|
|
transition: all 0.2s;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.number-btn:hover {
|
|
background: #F5F5F7;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.number-btn:active {
|
|
transform: scale(0.95);
|
|
background: #E5E5EA;
|
|
}
|
|
|
|
/* Range Slider */
|
|
.number-range input[type="range"] {
|
|
-webkit-appearance: none;
|
|
width: 100%;
|
|
height: 6px;
|
|
border-radius: 3px;
|
|
background: rgba(120, 120, 128, 0.16);
|
|
outline: none;
|
|
padding: 0;
|
|
box-shadow: none;
|
|
border: none;
|
|
}
|
|
|
|
.number-range input[type="range"]::-webkit-slider-thumb {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
width: 28px;
|
|
height: 28px;
|
|
border-radius: 50%;
|
|
background: white;
|
|
cursor: pointer;
|
|
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 3px 1px rgba(0, 0, 0, 0.06);
|
|
border: 0.5px solid rgba(0,0,0,0.04);
|
|
}
|
|
|
|
/* \u6807\u7B7E\u9009\u62E9 */
|
|
.tag-selector {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 12px;
|
|
}
|
|
|
|
.tag-option {
|
|
padding: 8px 16px;
|
|
background: #FFFFFF;
|
|
border: 1px solid rgba(0,0,0,0.1);
|
|
border-radius: 100px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.tag-option:hover {
|
|
background: #F5F5F7;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.tag-option.selected {
|
|
background: var(--primary-color);
|
|
color: white;
|
|
border-color: var(--primary-color);
|
|
box-shadow: 0 4px 10px rgba(0,0,0,0.15);
|
|
}
|
|
|
|
/* \u591A\u9009\u533A\u57DF */
|
|
.selected-tags {
|
|
min-height: 80px;
|
|
background: rgba(245, 245, 247, 0.5);
|
|
border: 1px dashed rgba(0,0,0,0.15);
|
|
border-radius: 16px;
|
|
padding: 16px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
align-items: flex-start;
|
|
box-shadow: var(--shadow-inner);
|
|
}
|
|
|
|
.selected-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
background: var(--primary-color);
|
|
color: white;
|
|
padding: 8px 16px;
|
|
border-radius: 100px;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
|
|
cursor: move;
|
|
}
|
|
|
|
.selected-tag .remove-btn {
|
|
width: 20px;
|
|
height: 20px;
|
|
background: rgba(255,255,255,0.2);
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
transition: background 0.2s;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.selected-tag .remove-btn:hover {
|
|
background: rgba(255,255,255,0.4);
|
|
}
|
|
|
|
.available-tags {
|
|
margin-top: 15px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
|
|
.available-tag {
|
|
padding: 6px 14px;
|
|
background: #FFFFFF;
|
|
border: 1px solid rgba(0,0,0,0.1);
|
|
border-radius: 100px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
color: var(--text-secondary);
|
|
transition: all 0.2s;
|
|
display: inline-flex;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.available-tag:hover {
|
|
transform: translateY(-1px);
|
|
border-color: rgba(0,0,0,0.2);
|
|
}
|
|
|
|
.available-tag.disabled {
|
|
opacity: 0.4;
|
|
cursor: not-allowed;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* \u5408\u5E76\u6A21\u5F0F\u63A7\u5236\u533A */
|
|
.merge-mode-controls {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-top: 16px;
|
|
margin-bottom: 12px;
|
|
gap: 0;
|
|
}
|
|
|
|
.merge-mode-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 0;
|
|
background: transparent;
|
|
border: none;
|
|
color: var(--accent-color);
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
text-decoration: none;
|
|
position: relative;
|
|
}
|
|
|
|
.merge-mode-btn:hover {
|
|
color: #005ecb;
|
|
}
|
|
|
|
.merge-mode-btn:active {
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.merge-mode-btn.active {
|
|
color: var(--success-color);
|
|
}
|
|
|
|
.merge-mode-controls .form-help {
|
|
font-size: 12px;
|
|
color: var(--text-secondary);
|
|
margin: 0;
|
|
margin-left: 10px;
|
|
}
|
|
|
|
/* \u6682\u5B58\u533A */
|
|
.staging-area {
|
|
display: none;
|
|
min-height: 60px;
|
|
background: rgba(255, 243, 205, 0.3);
|
|
border: 1px dashed rgba(255, 193, 7, 0.4);
|
|
border-radius: 12px;
|
|
padding: 12px;
|
|
margin-top: 12px;
|
|
margin-bottom: 12px;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
align-items: center;
|
|
position: relative;
|
|
}
|
|
|
|
.staging-area.active {
|
|
display: flex;
|
|
}
|
|
|
|
.staging-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
background: rgba(255, 193, 7, 0.15);
|
|
color: var(--text-primary);
|
|
padding: 6px 12px;
|
|
border-radius: 100px;
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
border: 1px solid rgba(255, 193, 7, 0.3);
|
|
cursor: move;
|
|
}
|
|
|
|
.staging-tag.dragging {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.staging-tag.drag-over {
|
|
border-color: var(--accent-color);
|
|
background: rgba(0, 122, 255, 0.1);
|
|
}
|
|
|
|
.staging-tag .remove-btn {
|
|
width: 16px;
|
|
height: 16px;
|
|
background: rgba(0, 0, 0, 0.1);
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
transition: background 0.2s;
|
|
font-size: 11px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.staging-tag .remove-btn:hover {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.confirm-merge-btn {
|
|
width: 32px;
|
|
height: 32px;
|
|
background: var(--success-color);
|
|
color: white;
|
|
border: none;
|
|
border-radius: 50%;
|
|
cursor: pointer;
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: all 0.2s;
|
|
box-shadow: 0 2px 8px rgba(52, 199, 89, 0.3);
|
|
margin-left: auto;
|
|
}
|
|
|
|
.confirm-merge-btn:hover {
|
|
background: #2fb350;
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
.confirm-merge-btn:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* Map items */
|
|
.map-item {
|
|
background: #FFFFFF;
|
|
border: 1px solid rgba(0,0,0,0.06);
|
|
border-radius: 12px;
|
|
padding: 12px;
|
|
margin-bottom: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
box-shadow: 0 2px 6px rgba(0,0,0,0.02);
|
|
}
|
|
|
|
.map-input-left, .map-input-right {
|
|
background: #F5F5F7;
|
|
border: none;
|
|
border-radius: 8px;
|
|
padding: 8px 12px;
|
|
font-family: 'SF Mono', monospace;
|
|
font-size: 13px;
|
|
}
|
|
`;var Lst=`
|
|
/* \u54CD\u5E94\u5F0F\u6837\u5F0F - Zen-iOS Hybrid Design */
|
|
@media (max-width: 768px) {
|
|
body {
|
|
padding: 10px;
|
|
}
|
|
|
|
.container {
|
|
border-radius: 24px; /* Slightly smaller radius on mobile */
|
|
}
|
|
|
|
.header {
|
|
padding: 20px;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.header-left {
|
|
width: 100%;
|
|
align-items: center;
|
|
text-align: center;
|
|
}
|
|
|
|
.logo-title-container {
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
|
|
.logo {
|
|
width: 48px;
|
|
height: 48px;
|
|
font-size: 20px;
|
|
}
|
|
|
|
.header h1 {
|
|
font-size: 20px;
|
|
}
|
|
|
|
.version-info {
|
|
justify-content: center;
|
|
margin-top: 8px;
|
|
width: 100%;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.nav-buttons {
|
|
width: 100%;
|
|
justify-content: stretch;
|
|
gap: 4px;
|
|
background: rgba(118, 118, 128, 0.12);
|
|
border-radius: 12px;
|
|
padding: 4px;
|
|
}
|
|
|
|
.nav-btn {
|
|
flex: 1;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
padding: 6px 2px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.content {
|
|
padding: 20px;
|
|
}
|
|
|
|
.env-item {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
padding: 16px;
|
|
}
|
|
|
|
.env-item .env-info {
|
|
min-width: 0; /* Fix flex overflow */
|
|
width: 100%;
|
|
}
|
|
|
|
.env-item .env-info div.text-dark-gray {
|
|
font-size: 13px;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.env-actions {
|
|
width: 100%;
|
|
margin-top: 12px;
|
|
display: flex;
|
|
}
|
|
|
|
.env-actions .btn {
|
|
flex: 1;
|
|
}
|
|
|
|
/* \u9884\u89C8\u5361\u7247\u79FB\u52A8\u7AEF */
|
|
.preview-category {
|
|
padding: 16px;
|
|
}
|
|
|
|
.preview-item {
|
|
padding: 12px;
|
|
}
|
|
|
|
.preview-item .preview-value {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.api-selector select {
|
|
font-size: 16px; /* Prevent auto-zoom on iOS */
|
|
}
|
|
|
|
/* \u914D\u7F6E\u7F16\u8F91\u5F39\u7A97\u79FB\u52A8\u7AEF\u9002\u914D */
|
|
#env-modal .modal-content {
|
|
width: 95vw;
|
|
max-width: none;
|
|
padding: 24px 20px;
|
|
border-radius: 24px;
|
|
max-height: 90vh;
|
|
}
|
|
|
|
#env-modal .selected-tags {
|
|
max-height: 120px;
|
|
}
|
|
|
|
#env-modal .available-tags {
|
|
max-height: 150px;
|
|
}
|
|
|
|
#env-modal .modal-header {
|
|
padding-bottom: 16px;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
#env-modal .modal-header h3 {
|
|
font-size: 18px;
|
|
}
|
|
|
|
/* \u63A8\u9001\u5F39\u5E55\u79FB\u52A8\u7AEF\u9002\u914D */
|
|
.anime-grid {
|
|
grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
|
|
gap: 12px;
|
|
}
|
|
|
|
.anime-item-img {
|
|
aspect-ratio: 3 / 4;
|
|
}
|
|
|
|
.anime-title {
|
|
padding: 10px;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.episode-item {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 12px;
|
|
padding: 14px 16px;
|
|
}
|
|
|
|
.episode-item-content {
|
|
white-space: normal;
|
|
}
|
|
|
|
.episode-push-btn {
|
|
width: 100%;
|
|
}
|
|
|
|
#push-anime-list,
|
|
#push-episode-list {
|
|
padding: 16px;
|
|
margin-top: 16px;
|
|
}
|
|
}
|
|
`;var Mst=`
|
|
// \u81EA\u5B9A\u4E49\u5F39\u7A97\u7EC4\u4EF6
|
|
function createCustomAlert() {
|
|
// \u68C0\u67E5\u662F\u5426\u5DF2\u5B58\u5728\u81EA\u5B9A\u4E49\u5F39\u7A97\u5143\u7D20
|
|
if (document.getElementById('custom-alert-overlay')) {
|
|
return;
|
|
}
|
|
|
|
// \u521B\u5EFA\u5F39\u7A97HTML\u5143\u7D20
|
|
const alertHTML = '<div class="modal" id="custom-alert-overlay"><div class="modal-content" id="custom-alert-content"><div class="modal-header"><h3 id="custom-alert-title">\u63D0\u793A</h3><button class="close-btn" id="custom-alert-close">×</button></div><div class="modal-body"><p id="custom-alert-message"></p></div><div class="modal-footer"><button class="btn btn-primary" id="custom-alert-confirm">\u786E\u5B9A</button></div></div></div>';
|
|
|
|
// \u6DFB\u52A0\u5230body
|
|
document.body.insertAdjacentHTML('beforeend', alertHTML);
|
|
|
|
// \u83B7\u53D6\u5143\u7D20
|
|
const overlay = document.getElementById('custom-alert-overlay');
|
|
const closeBtn = document.getElementById('custom-alert-close');
|
|
const confirmBtn = document.getElementById('custom-alert-confirm');
|
|
|
|
// \u5173\u95ED\u5F39\u7A97\u51FD\u6570
|
|
function closeAlert() {
|
|
overlay.classList.remove('active');
|
|
// \u91CD\u7F6E\u6807\u9898\u548C\u6D88\u606F
|
|
document.getElementById('custom-alert-title').textContent = '\u63D0\u793A';
|
|
}
|
|
|
|
// \u4E8B\u4EF6\u76D1\u542C\u5668
|
|
closeBtn.addEventListener('click', closeAlert);
|
|
confirmBtn.addEventListener('click', closeAlert);
|
|
|
|
// \u70B9\u51FB\u906E\u7F69\u5C42\u5173\u95ED\u5F39\u7A97
|
|
overlay.addEventListener('click', function(e) {
|
|
if (e.target === overlay) {
|
|
closeAlert();
|
|
}
|
|
});
|
|
}
|
|
|
|
// \u81EA\u5B9A\u4E49alert\u51FD\u6570
|
|
function customAlert(message, title = '\u63D0\u793A') {
|
|
// \u786E\u4FDD\u5F39\u7A97\u5143\u7D20\u5DF2\u521B\u5EFA
|
|
createCustomAlert();
|
|
|
|
// \u83B7\u53D6\u5143\u7D20
|
|
const overlay = document.getElementById('custom-alert-overlay');
|
|
const titleElement = document.getElementById('custom-alert-title');
|
|
const messageElement = document.getElementById('custom-alert-message');
|
|
|
|
// \u8BBE\u7F6E\u6807\u9898\u548C\u6D88\u606F
|
|
titleElement.textContent = title;
|
|
messageElement.innerHTML = message;
|
|
|
|
// \u663E\u793A\u5F39\u7A97
|
|
overlay.classList.add('active');
|
|
}
|
|
|
|
// \u81EA\u5B9A\u4E49confirm\u51FD\u6570\uFF08\u5982\u679C\u9700\u8981\uFF09
|
|
function customConfirm(message, title = '\u786E\u8BA4') {
|
|
return new Promise((resolve) => {
|
|
// \u786E\u4FDD\u5F39\u7A97\u5143\u7D20\u5DF2\u521B\u5EFA
|
|
createCustomAlert();
|
|
|
|
// \u83B7\u53D6\u5143\u7D20
|
|
const overlay = document.getElementById('custom-alert-overlay');
|
|
const titleElement = document.getElementById('custom-alert-title');
|
|
const messageElement = document.getElementById('custom-alert-message');
|
|
const confirmBtn = document.getElementById('custom-alert-confirm');
|
|
|
|
// \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\uFF08\u5982\u679C\u6709\uFF09
|
|
const newConfirmBtn = confirmBtn.cloneNode(true);
|
|
confirmBtn.parentNode.replaceChild(newConfirmBtn, confirmBtn);
|
|
|
|
// \u8BBE\u7F6E\u6807\u9898\u548C\u6D88\u606F
|
|
titleElement.textContent = title;
|
|
messageElement.innerHTML = message;
|
|
|
|
// \u786E\u5B9A\u6309\u94AE\u4E8B\u4EF6
|
|
newConfirmBtn.addEventListener('click', () => {
|
|
overlay.classList.remove('active');
|
|
resolve(true);
|
|
});
|
|
|
|
// \u5173\u95ED\u6309\u94AE\u4E8B\u4EF6
|
|
document.getElementById('custom-alert-close').addEventListener('click', () => {
|
|
overlay.classList.remove('active');
|
|
resolve(false);
|
|
});
|
|
|
|
// \u70B9\u51FB\u906E\u7F69\u5C42\u5173\u95ED
|
|
overlay.addEventListener('click', function(e) {
|
|
if (e.target === overlay) {
|
|
overlay.classList.remove('active');
|
|
resolve(false);
|
|
}
|
|
});
|
|
|
|
// \u663E\u793A\u5F39\u7A97
|
|
overlay.classList.add('active');
|
|
});
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u81EA\u5B9A\u4E49\u5F39\u7A97
|
|
document.addEventListener('DOMContentLoaded', createCustomAlert);
|
|
|
|
// \u6570\u636E\u5B58\u50A8
|
|
let envVariables = {};
|
|
let currentCategory = 'api'; // \u9ED8\u8BA4\u5206\u7C7B\u6539\u4E3Aapi
|
|
let editingKey = null;
|
|
let logs = []; // \u4FDD\u7559\u672C\u5730\u65E5\u5FD7\u6570\u7EC4\uFF0C\u7528\u4E8EUI\u663E\u793A
|
|
|
|
// \u7248\u672C\u4FE1\u606F
|
|
let currentVersion = '';
|
|
let latestVersion = '';
|
|
let currentToken = 'globals.currentToken';
|
|
let currentAdminToken = ''; // admin token\uFF0C\u7528\u4E8E\u7CFB\u7EDF\u7BA1\u7406
|
|
let originalToken = '';
|
|
|
|
// \u53CD\u5411\u4EE3\u7406/API\u57FA\u7840\u8DEF\u5F84\u914D\u7F6E
|
|
// \u4ECELocalStorage\u83B7\u53D6\u7528\u6237\u81EA\u5B9A\u4E49\u7684Base URL
|
|
let customBaseUrl = localStorage.getItem('logvar_api_base_url') || '';
|
|
|
|
// \u4FDD\u5B58\u81EA\u5B9A\u4E49Base URL (\u4E3A\u7A7A\u5219\u6E05\u9664)
|
|
function saveBaseUrl() {
|
|
const input = document.getElementById('custom-base-url').value.trim();
|
|
if (input) {
|
|
// \u786E\u4FDDURL\u4E0D\u4EE5\u659C\u6760\u7ED3\u5C3E\uFF0C\u65B9\u4FBF\u540E\u7EED\u62FC\u63A5
|
|
let formattedUrl = input;
|
|
if (formattedUrl.endsWith('/')) {
|
|
formattedUrl = formattedUrl.slice(0, -1);
|
|
}
|
|
localStorage.setItem('logvar_api_base_url', formattedUrl);
|
|
customBaseUrl = formattedUrl;
|
|
customAlert('API\u5730\u5740\u914D\u7F6E\u5DF2\u4FDD\u5B58\uFF0C\u5373\u5C06\u5237\u65B0\u9875\u9762\u3002', '\u4FDD\u5B58\u6210\u529F');
|
|
setTimeout(() => {
|
|
location.reload();
|
|
}, 1000);
|
|
} else {
|
|
// \u8F93\u5165\u4E3A\u7A7A\uFF0C\u89C6\u4E3A\u6E05\u9664\u914D\u7F6E/\u91CD\u7F6E\u4E3A\u9ED8\u8BA4
|
|
localStorage.removeItem('logvar_api_base_url');
|
|
customBaseUrl = '';
|
|
customAlert('\u914D\u7F6E\u5DF2\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u72B6\u6001\uFF0C\u5373\u5C06\u5237\u65B0\u9875\u9762\u3002', '\u64CD\u4F5C\u6210\u529F');
|
|
setTimeout(() => {
|
|
location.reload();
|
|
}, 1000);
|
|
}
|
|
}
|
|
|
|
// \u6784\u5EFA\u5E26token\u7684API\u8BF7\u6C42\u8DEF\u5F84
|
|
function buildApiUrl(path, isSystemPath = false) {
|
|
let res;
|
|
// \u5982\u679C\u662F\u7CFB\u7EDF\u7BA1\u7406\u8DEF\u5F84\u4E14\u6709admin token,\u5219\u4F7F\u7528admin token
|
|
if (isSystemPath && currentAdminToken && currentAdminToken.trim() !== '' && currentAdminToken.trim() !== '*'.repeat(currentAdminToken.length)) {
|
|
res = '/' + currentAdminToken + path;
|
|
} else {
|
|
// \u5426\u5219\u4F7F\u7528\u666E\u901Atoken
|
|
res = (currentToken ? '/' + currentToken : "") + path;
|
|
}
|
|
|
|
// \u5982\u679C\u914D\u7F6E\u4E86\u81EA\u5B9A\u4E49\u57FA\u7840URL (\u89E3\u51B3\u53CD\u4EE3\u95EE\u9898)
|
|
if (customBaseUrl) {
|
|
// \u786E\u4FDD\u8DEF\u5F84\u4EE5/\u5F00\u5934
|
|
const cleanPath = res.startsWith('/') ? res : '/' + res;
|
|
return customBaseUrl + cleanPath;
|
|
}
|
|
|
|
return res;
|
|
}
|
|
|
|
// \u4ECEAPI\u52A0\u8F7D\u771F\u5B9E\u73AF\u5883\u53D8\u91CF\u6570\u636E
|
|
function loadEnvVariables() {
|
|
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u914D\u7F6E\u6570\u636E
|
|
fetch(buildApiUrl('/api/config', true))
|
|
.then(response => response.json())
|
|
.then(config => {
|
|
// \u4ECE\u914D\u7F6E\u4E2D\u83B7\u53D6admin token
|
|
currentAdminToken = config.originalEnvVars?.ADMIN_TOKEN || '';
|
|
|
|
originalToken = config.originalEnvVars?.TOKEN || '';
|
|
|
|
// \u4F7F\u7528\u4ECEAPI\u83B7\u53D6\u7684\u539F\u59CB\u73AF\u5883\u53D8\u91CF\uFF0C\u7528\u4E8E\u7CFB\u7EDF\u8BBE\u7F6E
|
|
const originalEnvVars = config.originalEnvVars || {};
|
|
|
|
// \u91CD\u65B0\u7EC4\u7EC7\u6570\u636E\u7ED3\u6784\u4EE5\u9002\u914D\u73B0\u6709UI
|
|
envVariables = {};
|
|
|
|
// \u5C06\u539F\u59CB\u73AF\u5883\u53D8\u91CF\u8F6C\u6362\u4E3AUI\u6240\u9700\u683C\u5F0F
|
|
// \u8FD9\u91CC\u9700\u8981\u5C06\u539F\u59CB\u73AF\u5883\u53D8\u91CF\u6309\u7C7B\u522B\u7EC4\u7EC7
|
|
Object.keys(originalEnvVars).forEach(key => {
|
|
// \u4ECEenvVarConfig\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F
|
|
const varConfig = config.envVarConfig?.[key] || { category: 'system', type: 'text', description: '\u672A\u5206\u7C7B\u914D\u7F6E\u9879' };
|
|
const category = varConfig.category || 'system';
|
|
|
|
// \u5982\u679C\u8BE5\u5206\u7C7B\u4E0D\u5B58\u5728\uFF0C\u521B\u5EFA\u5B83
|
|
if (!envVariables[category]) {
|
|
envVariables[category] = [];
|
|
}
|
|
|
|
// \u6DFB\u52A0\u5230\u5BF9\u5E94\u5206\u7C7B\uFF0C\u5305\u542B\u5B8C\u6574\u7684\u914D\u7F6E\u4FE1\u606F
|
|
envVariables[category].push({
|
|
key: key,
|
|
value: originalEnvVars[key],
|
|
description: varConfig.description || '',
|
|
type: varConfig.type || 'text',
|
|
min: varConfig.min,
|
|
max: varConfig.max,
|
|
options: varConfig.options || [], // \u4EC5\u5BF9 select \u548C multi-select \u7C7B\u578B\u6709\u6548
|
|
sources: varConfig.sources || null // \u4EC5\u5BF9 DANMU_OFFSET \u7B49\u9700\u8981\u6765\u6E90\u914D\u7F6E\u7684\u6709\u6548
|
|
});
|
|
});
|
|
|
|
// \u6E32\u67D3\u73AF\u5883\u53D8\u91CF\u5217\u8868
|
|
renderEnvList();
|
|
})
|
|
.catch(error => {
|
|
console.error('Failed to load env variables:', error);
|
|
});
|
|
}
|
|
|
|
// \u66F4\u65B0API\u7AEF\u70B9\u4FE1\u606F
|
|
function updateApiEndpoint() {
|
|
return fetch(buildApiUrl('/api/config', true))
|
|
.then(response => {
|
|
// \u68C0\u67E5ContentType\uFF0C\u5982\u679C\u662FHTML\u8BF4\u660E\u53EF\u80FD\u662F404\u9875\u9762\u6216\u53CD\u4EE3\u9519\u8BEF\u9875\u9762
|
|
const contentType = response.headers.get("content-type");
|
|
if (contentType && contentType.indexOf("application/json") === -1) {
|
|
throw new Error("Received HTML instead of JSON. Possible 404 or Proxy Error.");
|
|
}
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(config => {
|
|
let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u914D\u7F6E
|
|
|
|
// \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3
|
|
const protocol = window.location.protocol;
|
|
const host = window.location.host;
|
|
const token = config.originalEnvVars?.TOKEN || '87654321'; // \u9ED8\u8BA4token\u503C
|
|
const adminToken = config.originalEnvVars?.ADMIN_TOKEN;
|
|
|
|
// \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token
|
|
let urlPath = window.location.pathname;
|
|
if(_reverseProxy) {
|
|
try {
|
|
let proxyPath = _reverseProxy.startsWith('http')
|
|
? new URL(_reverseProxy).pathname
|
|
: _reverseProxy;
|
|
|
|
if (proxyPath.endsWith('/')) {
|
|
proxyPath = proxyPath.slice(0, -1);
|
|
}
|
|
if(proxyPath && urlPath.startsWith(proxyPath)) {
|
|
urlPath = urlPath.substring(proxyPath.length);
|
|
}
|
|
} catch(e) { /* ignore */ }
|
|
}
|
|
|
|
const pathParts = urlPath.split('/').filter(part => part !== '');
|
|
const urlToken = pathParts.length > 0 ? pathParts[0] : '';
|
|
let apiToken = '********';
|
|
|
|
// \u5224\u65AD\u662F\u5426\u4F7F\u7528\u9ED8\u8BA4token
|
|
if (token === '87654321') {
|
|
// \u5982\u679C\u662F\u9ED8\u8BA4token\uFF0C\u5219\u663E\u793A\u771F\u5B9Etoken
|
|
apiToken = token;
|
|
} else {
|
|
// \u5982\u679C\u4E0D\u662F\u9ED8\u8BA4token\uFF0C\u5219\u68C0\u67E5URL\u4E2D\u7684token\u662F\u5426\u5339\u914D\uFF0C\u5339\u914D\u5219\u663E\u793A\u771F\u5B9Etoken\uFF0C\u5426\u5219\u663E\u793A\u661F\u53F7
|
|
if (urlToken === token || (adminToken !== "" && urlToken === adminToken)) {
|
|
apiToken = token; // \u66F4\u65B0\u5168\u5C40token\u53D8\u91CF
|
|
}
|
|
}
|
|
|
|
// \u6784\u9020API\u7AEF\u70B9URL
|
|
let baseUrlStr;
|
|
if (_reverseProxy) {
|
|
// \u5982\u679C\u914D\u7F6E\u4E86\u53CD\u4EE3\uFF0C\u4E14\u662F\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u5219\u8865\u5168\u534F\u8BAE\u548C\u4E3B\u673A\uFF0C\u786E\u4FDD\u663E\u793A\u4E3A\u7EDD\u5BF9\u8DEF\u5F84
|
|
baseUrlStr = _reverseProxy.startsWith('http')
|
|
? _reverseProxy
|
|
: (protocol + '//' + host + _reverseProxy);
|
|
} else {
|
|
baseUrlStr = protocol + '//' + host;
|
|
}
|
|
|
|
// \u786E\u4FDD baseUrlStr \u4E0D\u4EE5\u659C\u6760\u7ED3\u5C3E
|
|
let cleanBaseUrl = baseUrlStr;
|
|
if (cleanBaseUrl.endsWith('/')) {
|
|
cleanBaseUrl = cleanBaseUrl.slice(0, -1);
|
|
}
|
|
const apiEndpoint = cleanBaseUrl + '/' + apiToken;
|
|
|
|
const apiEndpointElement = document.getElementById('api-endpoint');
|
|
if (apiEndpointElement) {
|
|
apiEndpointElement.textContent = apiEndpoint;
|
|
}
|
|
return config; // \u8FD4\u56DE\u914D\u7F6E\u4FE1\u606F\uFF0C\u4EE5\u4FBF\u94FE\u5F0F\u8C03\u7528
|
|
})
|
|
.catch(error => {
|
|
console.error('\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F\u5931\u8D25:', error);
|
|
// \u51FA\u9519\u65F6\u663E\u793A\u9ED8\u8BA4\u503C
|
|
const protocol = window.location.protocol;
|
|
const host = window.location.host;
|
|
let _reverseProxy = customBaseUrl;
|
|
|
|
// \u6784\u9020\u663E\u793A\u7528\u7684BaseUrl
|
|
let baseUrlStr;
|
|
if (_reverseProxy) {
|
|
baseUrlStr = _reverseProxy.startsWith('http')
|
|
? _reverseProxy
|
|
: (protocol + '//' + host + _reverseProxy);
|
|
} else {
|
|
baseUrlStr = protocol + '//' + host;
|
|
}
|
|
|
|
let cleanBaseUrl = baseUrlStr;
|
|
if (cleanBaseUrl.endsWith('/')) {
|
|
cleanBaseUrl = cleanBaseUrl.slice(0, -1);
|
|
}
|
|
const apiEndpoint = cleanBaseUrl + '/********';
|
|
|
|
const apiEndpointElement = document.getElementById('api-endpoint');
|
|
if (apiEndpointElement) {
|
|
apiEndpointElement.textContent = apiEndpoint;
|
|
}
|
|
|
|
// \u5982\u679C\u662F\u56E0\u4E3A\u53CD\u4EE3\u5BFC\u81F4\u7684\u95EE\u9898\uFF0C\u663E\u793A\u8F93\u5165\u6846 (\u4EA4\u7531renderPreview\u5904\u7406\uFF0C\u6216\u8005\u5728\u8FD9\u91CC\u4E5F\u53EF\u4EE5\u89E6\u53D1)
|
|
const proxyContainer = document.getElementById('proxy-config-container');
|
|
if(proxyContainer) {
|
|
proxyContainer.style.display = 'block';
|
|
// \u586B\u5145\u5F53\u524D\u8F93\u5165\u6846\uFF08\u5982\u679C\u6709\u503C\uFF09
|
|
if(customBaseUrl) {
|
|
document.getElementById('custom-base-url').value = customBaseUrl;
|
|
}
|
|
}
|
|
|
|
throw error; // \u629B\u51FA\u9519\u8BEF\uFF0C\u4EE5\u4FBF\u8C03\u7528\u8005\u53EF\u4EE5\u5904\u7406
|
|
});
|
|
}
|
|
|
|
function getDockerVersion() {
|
|
const url = "https://img.shields.io/docker/v/logvar/danmu-api?sort=semver";
|
|
|
|
fetch(url)
|
|
.then(response => response.text())
|
|
.then(svgContent => {
|
|
// \u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u4ECE SVG \u4E2D\u63D0\u53D6\u7248\u672C\u53F7
|
|
const versionMatch = svgContent.match(/version<\\/text><text.*?>(v[\\d\\.]+)/);
|
|
|
|
if (versionMatch && versionMatch[1]) {
|
|
console.log("Version:", versionMatch[1]);
|
|
const latestVersionElement = document.getElementById('latest-version');
|
|
if (latestVersionElement) {
|
|
latestVersionElement.textContent = versionMatch[1];
|
|
}
|
|
} else {
|
|
console.log("Version not found");
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error("Error fetching the SVG:", error);
|
|
});
|
|
}
|
|
|
|
// \u5207\u6362\u5BFC\u822A
|
|
function switchSection(section, event = null) {
|
|
// \u68C0\u67E5\u662F\u5426\u5C1D\u8BD5\u8BBF\u95EE\u53D7token\u4FDD\u62A4\u7684section\uFF08\u65E5\u5FD7\u67E5\u770B\u3001\u63A5\u53E3\u8C03\u8BD5\u3001\u63A8\u9001\u5F39\u5E55\u3001\u8BF7\u6C42\u8BB0\u5F55\u3001\u7CFB\u7EDF\u914D\u7F6E\u9700\u8981token\u8BBF\u95EE\uFF09
|
|
if (section === 'logs' || section === 'api' || section === 'env' || section === 'push' || section === 'request-records') {
|
|
let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u914D\u7F6E
|
|
|
|
// \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token
|
|
let urlPath = window.location.pathname;
|
|
if(_reverseProxy) {
|
|
// \u4E25\u8C28\u5730\u79FB\u9664BaseUrl\u4E2D\u7684path\u90E8\u5206
|
|
try {
|
|
// \u5982\u679C_reverseProxy\u5305\u542B\u5B8C\u6574URL\uFF0C\u63D0\u53D6pathname
|
|
// \u5982\u679C\u53EA\u662F\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u76F4\u63A5\u4F7F\u7528
|
|
let proxyPath = _reverseProxy.startsWith('http')
|
|
? new URL(_reverseProxy).pathname
|
|
: _reverseProxy;
|
|
|
|
// \u786E\u4FDD\u79FB\u9664\u5C3E\u90E8\u659C\u6760\uFF0C\u9632\u6B62\u5339\u914D\u5931\u8D25
|
|
if (proxyPath.endsWith('/')) {
|
|
proxyPath = proxyPath.slice(0, -1);
|
|
}
|
|
|
|
if(proxyPath && urlPath.startsWith(proxyPath)) {
|
|
urlPath = urlPath.substring(proxyPath.length);
|
|
}
|
|
} catch(e) {
|
|
console.error("\u89E3\u6790\u53CD\u4EE3\u8DEF\u5F84\u5931\u8D25", e);
|
|
}
|
|
}
|
|
|
|
const pathParts = urlPath.split('/').filter(part => part !== '');
|
|
const urlToken = pathParts.length > 0 ? pathParts[0] : '';
|
|
|
|
// \u68C0\u67E5URL\u4E2D\u662F\u5426\u6709token
|
|
if (!urlToken && originalToken !== "87654321") {
|
|
// \u63D0\u793A\u7528\u6237\u9700\u8981\u5728URL\u4E2D\u914D\u7F6ETOKEN
|
|
setTimeout(() => {
|
|
// \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3
|
|
const protocol = window.location.protocol;
|
|
const host = window.location.host;
|
|
|
|
// \u6784\u9020\u663E\u793A\u7684BaseUrl\uFF0C\u786E\u4FDD\u662F\u7EDD\u5BF9\u8DEF\u5F84
|
|
let displayBase;
|
|
if (_reverseProxy) {
|
|
displayBase = _reverseProxy.startsWith('http')
|
|
? _reverseProxy
|
|
: (protocol + '//' + host + _reverseProxy);
|
|
} else {
|
|
displayBase = protocol + '//' + host;
|
|
}
|
|
|
|
if (displayBase.endsWith('/')) {
|
|
displayBase = displayBase.slice(0, -1);
|
|
}
|
|
|
|
// \u6839\u636Esection\u7C7B\u578B\u663E\u793A\u4E0D\u540C\u7684token\u63D0\u793A
|
|
const tokenType = section === 'env' ? 'ADMIN_TOKEN' : 'TOKEN';
|
|
customAlert('\u8BF7\u5728URL\u4E2D\u914D\u7F6E\u76F8\u5E94\u7684' + tokenType + '\u4EE5\u8BBF\u95EE\u6B64\u529F\u80FD\uFF01\\n\\n\u8BBF\u95EE\u65B9\u5F0F\uFF1A' + displayBase + '/{' + tokenType + '}');
|
|
}, 100);
|
|
return;
|
|
}
|
|
|
|
// \u5982\u679C\u662F\u7CFB\u7EDF\u914D\u7F6E\u9875\u9762\uFF0C\u8FD8\u9700\u8981\u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN\u4E14URL\u4E2D\u7684token\u7B49\u4E8EcurrentAdminToken
|
|
if (section === 'env') {
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
|
|
checkDeployPlatformConfig().then(result => {
|
|
if (!result.success) {
|
|
// \u5982\u679C\u914D\u7F6E\u68C0\u67E5\u4E0D\u901A\u8FC7\uFF0C\u53EA\u663E\u793A\u63D0\u793A\uFF0C\u4E0D\u5207\u6362\u9875\u9762
|
|
setTimeout(() => {
|
|
customAlert(result.message);
|
|
}, 100);
|
|
} else {
|
|
// \u5982\u679C\u914D\u7F6E\u68C0\u67E5\u901A\u8FC7\uFF0C\u624D\u5207\u6362\u5230env\u9875\u9762
|
|
document.querySelectorAll('.section').forEach(s => s.classList.remove('active'));
|
|
document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active'));
|
|
|
|
document.getElementById(\`\${section}-section\`).classList.add('active');
|
|
// \u5728\u5F02\u6B65\u56DE\u8C03\u4E2D\u4F7F\u7528\u4F20\u5165\u7684event\u53C2\u6570\u6765\u8BBE\u7F6E\u6309\u94AE\u7684active\u72B6\u6001
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
|
|
addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : section === 'request-records' ? '\u8BF7\u6C42\u8BB0\u5F55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info');
|
|
}
|
|
});
|
|
} else {
|
|
// \u5BF9\u4E8E\u65E5\u5FD7\u67E5\u770B\u3001\u63A5\u53E3\u8C03\u8BD5\u548C\u63A8\u9001\u5F39\u5E55\u9875\u9762\uFF0C\u53EA\u8981URL\u4E2D\u6709token\u5C31\u53EF\u4EE5\u8BBF\u95EE
|
|
document.querySelectorAll('.section').forEach(s => s.classList.remove('active'));
|
|
document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active'));
|
|
|
|
document.getElementById(\`\${section}-section\`).classList.add('active');
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
|
|
addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : section === 'request-records' ? '\u8BF7\u6C42\u8BB0\u5F55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info');
|
|
|
|
// \u5982\u679C\u5207\u6362\u5230\u65E5\u5FD7\u67E5\u770B\u9875\u9762\uFF0C\u5219\u7ACB\u5373\u5237\u65B0\u65E5\u5FD7
|
|
if (section === 'logs') {
|
|
if (typeof fetchRealLogs === 'function') {
|
|
fetchRealLogs();
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
// \u5BF9\u4E8E\u975E\u53D7\u4FDD\u62A4\u9875\u9762\uFF08\u5982\u914D\u7F6E\u9884\u89C8\uFF09\uFF0C\u6B63\u5E38\u5207\u6362
|
|
document.querySelectorAll('.section').forEach(s => s.classList.remove('active'));
|
|
document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active'));
|
|
|
|
document.getElementById(\`\${section}-section\`).classList.add('active');
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
|
|
addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info');
|
|
}
|
|
}
|
|
|
|
// \u5207\u6362\u7C7B\u522B
|
|
function switchCategory(category, event = null) {
|
|
currentCategory = category;
|
|
document.querySelectorAll('.category-btn').forEach(b => b.classList.remove('active'));
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
renderEnvList();
|
|
}
|
|
|
|
// \u5173\u95ED\u6A21\u6001\u6846
|
|
function closeModal() {
|
|
document.getElementById('env-modal').classList.remove('active');
|
|
|
|
// \u91CD\u7F6E\u8868\u5355\u5B57\u6BB5\u72B6\u6001
|
|
document.getElementById('env-category').disabled = false;
|
|
document.getElementById('env-key').readOnly = false;
|
|
document.getElementById('value-type').disabled = false;
|
|
document.getElementById('env-description').readOnly = false;
|
|
}
|
|
|
|
// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316\u65F6\u83B7\u53D6\u4E00\u6B21\u65E5\u5FD7
|
|
async function init() {
|
|
try {
|
|
await updateApiEndpoint(); // \u7B49\u5F85API\u7AEF\u70B9\u66F4\u65B0\u5B8C\u6210
|
|
getDockerVersion();
|
|
// \u4ECEAPI\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F\uFF0C\u5305\u62EC\u68C0\u67E5\u662F\u5426\u6709admin token
|
|
const config = await fetchAndSetConfig();
|
|
|
|
// \u8BBE\u7F6E\u9ED8\u8BA4\u63A8\u9001\u5730\u5740
|
|
setDefaultPushUrl(config);
|
|
|
|
// \u68C0\u67E5\u5E76\u5904\u7406\u7BA1\u7406\u5458\u4EE4\u724C
|
|
checkAndHandleAdminToken();
|
|
|
|
loadEnvVariables(); // \u4ECEAPI\u52A0\u8F7D\u771F\u5B9E\u73AF\u5883\u53D8\u91CF\u6570\u636E
|
|
renderEnvList();
|
|
renderPreview();
|
|
addLog('\u7CFB\u7EDF\u521D\u59CB\u5316\u5B8C\u6210', 'success');
|
|
// \u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E
|
|
fetchRealLogs();
|
|
|
|
// \u521D\u59CB\u5316\u63A8\u9001\u5F39\u5E55\u754C\u9762
|
|
if (typeof initPushDanmuInterface === 'function') {
|
|
initPushDanmuInterface();
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u63A5\u53E3\u8C03\u8BD5\u754C\u9762
|
|
if (typeof initApiTestInterface === 'function') {
|
|
initApiTestInterface();
|
|
}
|
|
|
|
} catch (error) {
|
|
console.error('\u521D\u59CB\u5316\u5931\u8D25:', error);
|
|
addLog('\u7CFB\u7EDF\u521D\u59CB\u5316\u5931\u8D25: ' + error.message, 'error');
|
|
|
|
// \u786E\u4FDD\u53CD\u4EE3\u914D\u7F6E\u6846\u663E\u793A
|
|
const proxyContainer = document.getElementById('proxy-config-container');
|
|
if(proxyContainer) {
|
|
proxyContainer.style.display = 'block';
|
|
if(customBaseUrl) {
|
|
document.getElementById('custom-base-url').value = customBaseUrl;
|
|
}
|
|
}
|
|
|
|
// \u5373\u4F7F\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u4E5F\u8981\u5C1D\u8BD5\u83B7\u53D6\u65E5\u5FD7
|
|
fetchRealLogs();
|
|
}
|
|
}
|
|
|
|
// \u590D\u5236API\u7AEF\u70B9\u5230\u526A\u8D34\u677F
|
|
function copyApiEndpoint() {
|
|
const apiEndpointElement = document.getElementById('api-endpoint');
|
|
if (apiEndpointElement) {
|
|
const apiEndpoint = apiEndpointElement.textContent;
|
|
navigator.clipboard.writeText(apiEndpoint)
|
|
.then(() => {
|
|
// \u4E34\u65F6\u6539\u53D8\u663E\u793A\u6587\u672C\u4EE5\u63D0\u4F9B\u53CD\u9988
|
|
const originalText = apiEndpointElement.textContent;
|
|
apiEndpointElement.textContent = '\u5DF2\u590D\u5236!';
|
|
apiEndpointElement.style.color = '#ff6b6b';
|
|
|
|
// 2\u79D2\u540E\u6062\u590D\u539F\u59CB\u6587\u672C
|
|
setTimeout(() => {
|
|
apiEndpointElement.textContent = originalText;
|
|
apiEndpointElement.style.color = '#4CAF50';
|
|
}, 2000);
|
|
|
|
addLog('API\u7AEF\u70B9\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F: ' + apiEndpoint, 'success');
|
|
})
|
|
.catch(err => {
|
|
console.error('\u590D\u5236\u5931\u8D25:', err);
|
|
customAlert('\u590D\u5236\u5931\u8D25: ' + err);
|
|
addLog('\u590D\u5236API\u7AEF\u70B9\u5931\u8D25: ' + err, 'error');
|
|
});
|
|
}
|
|
}
|
|
|
|
function escapeHtml(text) {
|
|
// \u5982\u679C\u662F null \u6216 undefined\uFF0C\u8FD4\u56DE\u7A7A\u5B57\u7B26\u4E32
|
|
if (text === null || text === undefined) {
|
|
return '';
|
|
}
|
|
|
|
// \u5C06\u975E\u5B57\u7B26\u4E32\u503C\u8F6C\u6362\u4E3A\u5B57\u7B26\u4E32
|
|
const str = String(text);
|
|
|
|
const map = {
|
|
'&': '&',
|
|
'<': '<',
|
|
'>': '>',
|
|
'"': '"',
|
|
"'": '''
|
|
};
|
|
return str.replace(/[&<>"']/g, m => map[m]);
|
|
}
|
|
|
|
|
|
// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316
|
|
init();
|
|
`;var Wst=`
|
|
// \u6E32\u67D3\u914D\u7F6E\u9884\u89C8
|
|
let currentPreviewCategory = 'api';
|
|
|
|
function renderPreview() {
|
|
const preview = document.getElementById('preview-area');
|
|
const proxyConfigContainer = document.getElementById('proxy-config-container');
|
|
|
|
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u914D\u7F6E\u6570\u636E
|
|
fetch(buildApiUrl('/api/config'))
|
|
.then(response => {
|
|
const contentType = response.headers.get("content-type");
|
|
if (contentType && contentType.indexOf("application/json") === -1) {
|
|
// \u8FD4\u56DE\u6587\u672C\u4EE5\u4FBF\u540E\u7EED\u5904\u7406\uFF08\u4F8B\u5982\u663E\u793AHTML\u9519\u8BEF\u7684\u524D\u51E0\u4E2A\u5B57\u7B26\uFF09
|
|
return response.text().then(text => {
|
|
throw new Error('Expected JSON, got ' + contentType + '. Content: ' + text.substring(0, 50) + '...');
|
|
});
|
|
}
|
|
if (!response.ok) {
|
|
throw new Error('HTTP error! status: ' + response.status);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(config => {
|
|
// \u6210\u529F\u52A0\u8F7D\uFF0C\u9690\u85CF\u53CD\u4EE3\u914D\u7F6E\u6846
|
|
if(proxyConfigContainer) {
|
|
proxyConfigContainer.style.display = 'none';
|
|
}
|
|
|
|
// \u4F7F\u7528\u4ECEAPI\u83B7\u53D6\u7684\u5206\u7C7B\u73AF\u5883\u53D8\u91CF
|
|
const categorizedVars = config.categorizedEnvVars || {};
|
|
|
|
// \u6E32\u67D3\u5F53\u524D\u9009\u4E2D\u7684\u9884\u89C8\u5185\u5BB9
|
|
let html = '';
|
|
|
|
const items = categorizedVars[currentPreviewCategory];
|
|
if (items && items.length > 0) {
|
|
html += '<div class="preview-category">' +
|
|
'<h3>' + getCategoryName(currentPreviewCategory) + '</h3>';
|
|
items.forEach(item => {
|
|
const escapedValue = escapeHtml(item.value);
|
|
html += '<div class="preview-item">' +
|
|
'<div class="preview-item-content">' +
|
|
'<div class="preview-key"><strong>' + item.key + '</strong></div>' +
|
|
'<div class="preview-value">' + escapedValue + '</div>' +
|
|
'</div>' +
|
|
(item.description ? '<div class="text-gray font-size-12 margin-top-3">' + item.description + '</div>' : '') +
|
|
'</div>';
|
|
});
|
|
html += '</div>';
|
|
}
|
|
|
|
preview.innerHTML = html || '<p class="text-gray padding-20 text-center">\u6682\u65E0\u914D\u7F6E</p>';
|
|
})
|
|
.catch(error => {
|
|
console.error('Failed to load config for preview:', error);
|
|
|
|
// \u663E\u793A\u53CD\u4EE3\u914D\u7F6E\u6846
|
|
if(proxyConfigContainer) {
|
|
proxyConfigContainer.style.display = 'block';
|
|
// \u5982\u679C\u6709\u5DF2\u4FDD\u5B58\u7684URL\uFF0C\u586B\u5145\u5B83
|
|
const savedUrl = localStorage.getItem('logvar_api_base_url');
|
|
if(savedUrl) {
|
|
document.getElementById('custom-base-url').value = savedUrl;
|
|
}
|
|
}
|
|
|
|
preview.innerHTML = '<p class="text-red">\u52A0\u8F7D\u914D\u7F6E\u5931\u8D25: ' + error.message + '</p>';
|
|
addLog('\u52A0\u8F7D\u914D\u7F6E\u5931\u8D25: ' + error.message, 'error');
|
|
});
|
|
}
|
|
|
|
// \u5207\u6362\u9884\u89C8\u7C7B\u522B
|
|
function switchPreviewCategory(category, event = null) {
|
|
currentPreviewCategory = category;
|
|
// \u66F4\u65B0\u6309\u94AE\u72B6\u6001
|
|
const section = document.getElementById('preview-section');
|
|
if (section) {
|
|
section.querySelectorAll('.category-btn').forEach(b => b.classList.remove('active'));
|
|
}
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
renderPreview();
|
|
}
|
|
|
|
// \u83B7\u53D6\u7C7B\u522B\u540D\u79F0
|
|
function getCategoryName(category) {
|
|
const names = {
|
|
api: 'API\u914D\u7F6E',
|
|
source: '\u6E90\u914D\u7F6E',
|
|
match: '\u5339\u914D\u914D\u7F6E',
|
|
danmu: '\u5F39\u5E55\u914D\u7F6E',
|
|
cache: '\u7F13\u5B58\u914D\u7F6E',
|
|
system: '\u7CFB\u7EDF\u914D\u7F6E'
|
|
};
|
|
return names[category] || category;
|
|
}
|
|
`;var $st=`
|
|
// \u65E5\u5FD7\u5168\u5C40\u8FC7\u6EE4\u72B6\u6001
|
|
let currentLogFilter = 'ALL';
|
|
|
|
// \u83B7\u53D6\u65E5\u5FD7\u7684\u4E25\u683C\u5F52\u5C5E\u5206\u7C7B
|
|
function getLogCategory(message) {
|
|
// \u5339\u914D\u884C\u9996\u7684\u8FDE\u7EED\u65B9\u62EC\u53F7\u6807\u7B7E (\u9700\u53CC\u91CD\u8F6C\u4E49)
|
|
const prefixMatch = message.match(/^(?:\\s*\\[[^\\]]+\\])+/);
|
|
if (!prefixMatch) {
|
|
// \u65E0\u6807\u7B7E\u884C\u4F5C\u4E3A\u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u884C\u7684\u5206\u7C7B
|
|
return '_inherit_';
|
|
}
|
|
|
|
const tags = prefixMatch[0].match(/\\[([^\\]]+)\\]/g).map(t => t.replace(/[\\[\\]]/g, '').trim());
|
|
|
|
// \u5F52\u7C7B\u5408\u5E76\u5DE5\u5177\u65E5\u5FD7
|
|
// \u53EA\u8981\u884C\u9996\u5305\u542B Merge\uFF0C\u6216\u8005\u5305\u542B\u5408\u5E76\u6620\u5C04\u72EC\u6709\u7684\u5B50\u6807\u7B7E\uFF0C\u5F3A\u884C\u5C06\u5176\u6536\u675F\u81F3 Merge \u4E13\u5C5E\u5206\u7C7B
|
|
if (tags.some(t => t.toLowerCase() === 'merge' || ['\u5339\u914D', '\u843D\u5355', '\u8865\u5168', '\u5408\u96C6', '\u7565\u8FC7', 'Merge-Check'].some(key => t.includes(key)))) {
|
|
return 'merge';
|
|
}
|
|
|
|
// \u6392\u9664\u65F6\u95F4\u6233\u548C\u5E95\u5C42\u65E0\u610F\u4E49\u6807\u7B7E\uFF0C\u6293\u53D6\u771F\u6B63\u7684\u4E1A\u52A1\u6E90
|
|
const validTags = tags.filter(t =>
|
|
!/^\\d{4}-\\d{2}-\\d{2}[T ]/.test(t) && // \u6392\u9664 ISO \u65F6\u95F4\u6233\u683C\u5F0F\uFF08YYYY-MM-DDTHH:MM:SS\uFF09
|
|
!/^\\d{2}:\\d{2}(:\\d{2})?$/.test(t) && // \u6392\u9664 HH:MM:SS \u65F6\u95F4\u683C\u5F0F\uFF08JSON \u7EED\u884C\uFF09
|
|
!t.includes('08:00') &&
|
|
t !== '\u8BF7\u6C42\u6A21\u62DF' &&
|
|
t !== '\u7F51\u7EDC\u8BF7\u6C42'
|
|
);
|
|
|
|
if (validTags.length === 0) {
|
|
// \u5168\u90E8\u6807\u7B7E\u88AB\u65F6\u95F4\u6233\u7B49\u8FC7\u6EE4\u89C4\u5219\u6392\u9664\uFF0C\u4F5C\u4E3A\u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u884C\u7684\u5206\u7C7B
|
|
return '_inherit_';
|
|
}
|
|
|
|
// \u7EDF\u4E00\u8F6C\u6362\u4E3A\u5C0F\u5199\uFF0C\u786E\u4FDD\u5927\u5C0F\u5199\u53D8\u4F53(\u5982 Bahamut \u548C bahamut)\u6536\u675F\u81F3\u540C\u4E00\u5185\u90E8\u6807\u8BC6\u7B26
|
|
let category = validTags[0].toLowerCase();
|
|
|
|
// \u6807\u7B7E\u5F52\u4E00\u5316\uFF1A\u5C06\u53D8\u4F53\u6807\u7B7E\u6620\u5C04\u5230\u6807\u51C6\u5206\u7C7B
|
|
const normalizationMap = {
|
|
'vod fastest mode': 'vod',
|
|
'custom source': 'custom',
|
|
'bilibili-proxy': 'bilibili',
|
|
'tmdb-source': 'tmdb',
|
|
'path check': 'system',
|
|
'path fix': 'system',
|
|
'base': 'system',
|
|
'fongmi': 'system',
|
|
};
|
|
if (normalizationMap[category]) {
|
|
category = normalizationMap[category];
|
|
}
|
|
|
|
return category;
|
|
}
|
|
|
|
// \u65E5\u5FD7\u76F8\u5173
|
|
function addLog(message, type = 'info') {
|
|
const timestamp = new Date().toLocaleTimeString();
|
|
logs.push({ timestamp, message, type });
|
|
if (logs.length > 100) logs.shift();
|
|
renderLogs();
|
|
}
|
|
|
|
function renderLogs() {
|
|
const container = document.getElementById('log-container');
|
|
const filterContainer = document.getElementById('log-filters') || createFilterContainer();
|
|
|
|
let filteredLogs = logs;
|
|
if (currentLogFilter !== 'ALL') {
|
|
// \u91C7\u7528\u4E25\u683C\u5F52\u5C5E\u6821\u9A8C\uFF0C\u540C\u65F6\u652F\u6301\u7EED\u884C\u4E0A\u4E0B\u6587\u7EE7\u627F
|
|
let lastCategory = 'system';
|
|
filteredLogs = logs.filter(log => {
|
|
let category = getLogCategory(log.message);
|
|
if (category === '_inherit_') {
|
|
// \u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u4E2A\u660E\u786E\u5206\u7C7B\u884C
|
|
category = lastCategory;
|
|
} else {
|
|
lastCategory = category;
|
|
}
|
|
return category === currentLogFilter;
|
|
});
|
|
}
|
|
|
|
container.innerHTML = filteredLogs.map(log => {
|
|
let highlightedMessage = log.message;
|
|
|
|
// \u884C\u9996\u8FDE\u7EED\u6807\u7B7E\u9AD8\u4EAE (\u9700\u53CC\u91CD\u8F6C\u4E49)
|
|
const prefixMatch = log.message.match(/^(?:\\s*\\[[^\\]]+\\])+/);
|
|
if (prefixMatch) {
|
|
const prefix = prefixMatch[0];
|
|
const rest = log.message.slice(prefix.length);
|
|
const coloredPrefix = prefix.replace(/\\[([^\\]]+)\\]/g, '<span class="log-tag">[$1]</span>');
|
|
highlightedMessage = coloredPrefix + rest;
|
|
}
|
|
|
|
return \`<div class="log-entry \${log.type}">[\${log.timestamp}] \${highlightedMessage}</div>\`;
|
|
}).join('');
|
|
container.scrollTop = container.scrollHeight;
|
|
|
|
updateFilterUI();
|
|
}
|
|
|
|
function createFilterContainer() {
|
|
const controls = document.querySelector('.log-controls');
|
|
const filterDiv = document.createElement('div');
|
|
filterDiv.id = 'log-filters';
|
|
filterDiv.className = 'log-filters-container';
|
|
controls.parentNode.insertBefore(filterDiv, document.getElementById('log-container'));
|
|
return filterDiv;
|
|
}
|
|
|
|
// \u6807\u7B7E\u663E\u793A\u987A\u5E8F\uFF1AALL \u2192 \u7CFB\u7EDF \u2192 \u5DE5\u5177 \u2192 \u6E90\uFF0C\u7EC4\u5185\u5B57\u6BCD\u5E8F
|
|
const tagGroupOrder = [
|
|
['system', 'ai'],
|
|
['utils', 'cache', 'merge'],
|
|
['360kan', 'aiyifan', 'animeko', 'bahamut', 'bilibili', 'custom', 'dandan', 'douban', 'hanjutv', 'iqiyi', 'leshi', 'maiduidui', 'mango', 'migu', 'other', 'renren', 'sohu', 'tencent', 'tmdb', 'vod', 'xigua', 'youku'],
|
|
];
|
|
const tagOrderMap = {};
|
|
tagGroupOrder.forEach((group, gi) => group.forEach((tag, ti) => tagOrderMap[tag] = gi * 1000 + ti));
|
|
|
|
function updateFilterUI() {
|
|
const filterContainer = document.getElementById('log-filters');
|
|
let html = \`<button class="filter-btn \${currentLogFilter === 'ALL' ? 'active' : ''}" onclick="setLogFilter('ALL')">ALL</button>\`;
|
|
|
|
const currentTags = new Set();
|
|
let lastCategory = 'system';
|
|
logs.forEach(log => {
|
|
let category = getLogCategory(log.message);
|
|
// \u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u4E2A\u660E\u786E\u5206\u7C7B\u884C
|
|
if (category === '_inherit_') {
|
|
category = lastCategory;
|
|
} else {
|
|
lastCategory = category;
|
|
}
|
|
// \u6240\u6709\u5206\u7C7B\u6807\u7B7E\u5747\u751F\u6210\u7B5B\u9009\u6309\u94AE
|
|
currentTags.add(category);
|
|
});
|
|
|
|
[...currentTags].sort((a, b) => {
|
|
const ai = tagOrderMap[a] ?? 99999, bi = tagOrderMap[b] ?? 99999;
|
|
return ai !== bi ? ai - bi : a.localeCompare(b);
|
|
}).forEach(tag => {
|
|
html += \`<button class="filter-btn \${currentLogFilter === tag ? 'active' : ''}" onclick="setLogFilter('\${tag}')">\${tag}</button>\`;
|
|
});
|
|
|
|
filterContainer.innerHTML = html;
|
|
}
|
|
|
|
window.setLogFilter = function(tag) {
|
|
currentLogFilter = tag;
|
|
renderLogs();
|
|
};
|
|
|
|
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E
|
|
async function fetchRealLogs() {
|
|
try {
|
|
// \u65E5\u5FD7\u67E5\u770B\u4F7F\u7528\u666E\u901Atoken\u8BBF\u95EE\uFF0C\u4E0D\u9700\u8981admin token
|
|
const response = await fetch(buildApiUrl('/api/logs')); // \u4E0D\u4F7F\u7528admin token
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
const logText = await response.text();
|
|
// \u89E3\u6790\u65E5\u5FD7\u6587\u672C\u4E3A\u6570\u7EC4
|
|
const logLines = logText.split('\\n').filter(line => line.trim() !== '');
|
|
// \u8F6C\u6362\u4E3Alogs\u6570\u7EC4\u683C\u5F0F
|
|
logs = logLines.map(line => {
|
|
// \u89E3\u6790\u65E5\u5FD7\u884C\uFF0C\u63D0\u53D6\u65F6\u95F4\u6233\u3001\u7EA7\u522B\u548C\u6D88\u606F
|
|
const match = line.match(/\\[([^\\]]+)\\] (\\w+): (.*)/);
|
|
if (match) {
|
|
return {
|
|
timestamp: match[1],
|
|
type: match[2],
|
|
message: match[3]
|
|
};
|
|
}
|
|
// \u5982\u679C\u65E0\u6CD5\u89E3\u6790\uFF0C\u8FD4\u56DE\u539F\u59CB\u884C
|
|
return {
|
|
timestamp: new Date().toLocaleTimeString(),
|
|
type: 'info',
|
|
message: line
|
|
};
|
|
});
|
|
renderLogs();
|
|
} catch (error) {
|
|
console.error('Failed to fetch logs:', error);
|
|
addLog(\`\u83B7\u53D6\u65E5\u5FD7\u5931\u8D25: \${error.message}\`, 'error');
|
|
}
|
|
}
|
|
|
|
function refreshLogs() {
|
|
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E
|
|
fetchRealLogs();
|
|
}
|
|
|
|
async function clearLogs() {
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
|
|
const configCheck = await checkDeployPlatformConfig();
|
|
if (!configCheck.success) {
|
|
customAlert(configCheck.message);
|
|
return;
|
|
}
|
|
|
|
customConfirm('\u786E\u5B9A\u8981\u6E05\u7A7A\u6240\u6709\u65E5\u5FD7\u5417?', '\u6E05\u7A7A\u786E\u8BA4').then(async confirmed => {
|
|
if (confirmed) {
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/logs/clear', true), { // \u4F7F\u7528admin token
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
});
|
|
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
|
|
const result = await response.json();
|
|
if (result.success) {
|
|
// \u6E05\u7A7A\u524D\u7AEF\u663E\u793A\u7684\u65E5\u5FD7
|
|
logs = [];
|
|
renderLogs();
|
|
addLog('\u65E5\u5FD7\u5DF2\u6E05\u7A7A', 'warn');
|
|
} else {
|
|
addLog(\`\u6E05\u7A7A\u65E5\u5FD7\u5931\u8D25: \${result.message}\`, 'error');
|
|
}
|
|
} catch (error) {
|
|
console.error('Failed to clear logs:', error);
|
|
addLog(\`\u6E05\u7A7A\u65E5\u5FD7\u5931\u8D25: \${error.message}\`, 'error');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
// JSON\u9AD8\u4EAE\u51FD\u6570
|
|
function highlightJSON(obj) {
|
|
let json = JSON.stringify(obj, null, 2);
|
|
// \u8F6C\u4E49HTML\u7279\u6B8A\u5B57\u7B26
|
|
json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
|
|
// \u9AD8\u4EAEJSON\u8BED\u6CD5
|
|
return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(s*:)?|\b(true|false|null)\b|-?d+(?:.d*)?(?:[eE][+-]?d+)?)/g, function (match) {
|
|
let cls = 'number';
|
|
if (/^"/.test(match)) {
|
|
if (/:$/.test(match)) {
|
|
cls = 'key';
|
|
} else {
|
|
cls = 'string';
|
|
}
|
|
} else if (/true|false/.test(match)) {
|
|
cls = 'boolean';
|
|
} else if (/null/.test(match)) {
|
|
cls = 'null';
|
|
}
|
|
return '<span class="' + cls + '">' + match + '</span>';
|
|
});
|
|
}
|
|
`;var Fst=`
|
|
// API \u914D\u7F6E
|
|
const apiConfigs = {
|
|
searchAnime: {
|
|
name: '\u641C\u7D22\u52A8\u6F2B',
|
|
method: 'GET',
|
|
path: '/api/v2/search/anime',
|
|
params: [
|
|
{ name: 'keyword', label: '\u5173\u952E\u8BCD \u6216 \u64AD\u653E\u94FE\u63A5URL', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269 \u6216 http://v.qq.com/x/cover/rjae621myqca41h/j0032ubhl9s.html' }
|
|
]
|
|
},
|
|
searchEpisodes: {
|
|
name: '\u641C\u7D22\u5267\u96C6',
|
|
method: 'GET',
|
|
path: '/api/v2/search/episodes',
|
|
params: [
|
|
{ name: 'anime', label: '\u52A8\u6F2B\u540D\u79F0', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269' },
|
|
{ name: 'episode', label: '\u96C6', type: 'text', required: false, placeholder: '\u793A\u4F8B: 1, movie' }
|
|
]
|
|
},
|
|
matchAnime: {
|
|
name: '\u5339\u914D\u52A8\u6F2B',
|
|
method: 'POST',
|
|
path: '/api/v2/match',
|
|
params: [
|
|
{ name: 'fileName', label: '\u6587\u4EF6\u540D', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269 S02E08, \u65E0\u5FE7\u6E21.S02E08.2160p.WEB-DL.H265.DDP.5.1, \u7231\u60C5\u516C\u5BD3.ipartment.2009.S02E08.H.265.25fps.mkv, \u4EB2\u7231\u7684X S02E08, \u5B87\u5B99Marry Me? S02E08' }
|
|
]
|
|
},
|
|
getBangumi: {
|
|
name: '\u83B7\u53D6\u756A\u5267\u8BE6\u60C5',
|
|
method: 'GET',
|
|
path: '/api/v2/bangumi/:animeId',
|
|
params: [
|
|
{ name: 'animeId', label: '\u52A8\u6F2BID', type: 'text', required: true, placeholder: '\u793A\u4F8B: 236379' }
|
|
]
|
|
},
|
|
getComment: {
|
|
name: '\u83B7\u53D6\u5F39\u5E55',
|
|
method: 'GET',
|
|
path: '/api/v2/comment/:commentId',
|
|
params: [
|
|
{ name: 'commentId', label: '\u5F39\u5E55ID', type: 'text', required: true, placeholder: '\u793A\u4F8B: 10009' },
|
|
{ name: 'format', label: '\u683C\u5F0F', type: 'select', required: false, placeholder: '\u53EF\u9009: json\u6216xml', options: ['json', 'xml'] },
|
|
{ name: 'duration', label: '\u9644\u5E26\u65F6\u957F', type: 'select', required: false, placeholder: '\u53EF\u9009: true\u6216false', options: ['true', 'false'] },
|
|
{ name: 'segmentflag', label: '\u5206\u7247\u6807\u5FD7', type: 'select', required: false, placeholder: '\u53EF\u9009: true\u6216false', options: ['true', 'false'] }
|
|
]
|
|
},
|
|
getSegmentComment: {
|
|
name: '\u83B7\u53D6\u5206\u7247\u5F39\u5E55',
|
|
method: 'POST',
|
|
path: '/api/v2/segmentcomment',
|
|
params: [
|
|
{ name: 'format', label: '\u683C\u5F0F', type: 'select', required: false, placeholder: '\u53EF\u9009: json\u6216xml', options: ['json', 'xml'] },
|
|
],
|
|
hasBody: true,
|
|
bodyType: 'json'
|
|
}
|
|
};
|
|
|
|
// \u5F39\u5E55\u6D4B\u8BD5\u5168\u5C40\u72B6\u6001
|
|
let danmuTestState = {
|
|
allComments: [],
|
|
filteredComments: [],
|
|
currentFilter: 'all',
|
|
displayedCount: 0,
|
|
pageSize: 100,
|
|
currentEpisodeId: null,
|
|
currentTitle: '',
|
|
currentDuration: 0,
|
|
currentCallTrace: null,
|
|
currentManualSearchCallTraceBase: null,
|
|
currentManualEpisodeCallTraceBase: null,
|
|
nextDanmuRequestId: 0,
|
|
activeDanmuRequestId: 0,
|
|
nextDanmuFlowRequestId: 0,
|
|
activeDanmuFlowRequestId: 0,
|
|
nextManualBangumiRequestId: 0,
|
|
activeManualBangumiRequestId: 0
|
|
};
|
|
|
|
// \u521D\u59CB\u5316\u63A5\u53E3\u8C03\u8BD5\u754C\u9762
|
|
function initApiTestInterface() {
|
|
const apiSelect = document.getElementById('api-select');
|
|
if (apiSelect) {
|
|
apiSelect.addEventListener('keypress', function(event) {
|
|
if (event.key === 'Enter') { loadApiParams(); }
|
|
});
|
|
}
|
|
const autoInput = document.getElementById('auto-match-filename');
|
|
if (autoInput) {
|
|
autoInput.addEventListener('keypress', function(event) {
|
|
if (event.key === 'Enter') { autoMatchTest(); }
|
|
});
|
|
}
|
|
const manualInput = document.getElementById('manual-search-keyword');
|
|
if (manualInput) {
|
|
manualInput.addEventListener('keypress', function(event) {
|
|
if (event.key === 'Enter') { manualSearchAnime(); }
|
|
});
|
|
}
|
|
}
|
|
|
|
// \u4E3A\u53C2\u6570\u8F93\u5165\u6846\u6DFB\u52A0\u56DE\u8F66\u4E8B\u4EF6\u76D1\u542C
|
|
function attachEnterEventToParams() {
|
|
// \u5EF6\u8FDF\u6267\u884C\uFF0C\u786E\u4FDDDOM\u5143\u7D20\u5DF2\u7ECF\u6E32\u67D3
|
|
setTimeout(() => {
|
|
// \u83B7\u53D6\u6240\u6709\u53C2\u6570\u8F93\u5165\u6846
|
|
const paramInputs = document.querySelectorAll('#params-form input[type="text"], #params-form textarea, #params-form select');
|
|
paramInputs.forEach(input => {
|
|
// \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\uFF08\u907F\u514D\u91CD\u590D\u7ED1\u5B9A\uFF09
|
|
input.removeEventListener('keypress', handleParamInputEnter);
|
|
// \u6DFB\u52A0\u65B0\u7684\u4E8B\u4EF6\u76D1\u542C\u5668
|
|
input.addEventListener('keypress', handleParamInputEnter);
|
|
});
|
|
}, 100);
|
|
}
|
|
|
|
function updateCommentDurationFieldVisibility() {
|
|
const apiSelect = document.getElementById('api-select');
|
|
const durationGroup = document.querySelector('#params-form [data-param-name="duration"]');
|
|
const durationInput = document.getElementById('param-duration');
|
|
const formatInput = document.getElementById('param-format');
|
|
|
|
if (!durationGroup) return;
|
|
|
|
const isCommentApi = apiSelect && apiSelect.value === 'getComment';
|
|
const formatValue = formatInput ? formatInput.value.toLowerCase() : '';
|
|
const shouldShowDuration = isCommentApi && (formatValue === '' || formatValue === 'json');
|
|
|
|
durationGroup.style.display = shouldShowDuration ? '' : 'none';
|
|
if (!shouldShowDuration && durationInput) {
|
|
durationInput.value = '';
|
|
}
|
|
}
|
|
|
|
function bindCommentDurationFieldVisibility() {
|
|
const formatInput = document.getElementById('param-format');
|
|
if (!formatInput) return;
|
|
formatInput.addEventListener('change', updateCommentDurationFieldVisibility);
|
|
updateCommentDurationFieldVisibility();
|
|
}
|
|
|
|
// \u5904\u7406\u53C2\u6570\u8F93\u5165\u6846\u7684\u56DE\u8F66\u4E8B\u4EF6
|
|
function handleParamInputEnter(event) {
|
|
if (event.key === 'Enter') {
|
|
// \u89E6\u53D1\u6D4B\u8BD5API\u6309\u94AE\u7684\u70B9\u51FB\u4E8B\u4EF6
|
|
const testButton = document.querySelector('#api-params .btn-success');
|
|
if (testButton) {
|
|
testButton.click();
|
|
}
|
|
}
|
|
}
|
|
|
|
// \u63A5\u53E3\u8C03\u8BD5\u76F8\u5173
|
|
function loadApiParams() {
|
|
const select = document.getElementById('api-select');
|
|
const apiKey = select.value;
|
|
const paramsDiv = document.getElementById('api-params');
|
|
const formDiv = document.getElementById('params-form');
|
|
|
|
if (!apiKey) {
|
|
paramsDiv.style.display = 'none';
|
|
return;
|
|
}
|
|
|
|
const config = apiConfigs[apiKey];
|
|
paramsDiv.style.display = 'block';
|
|
|
|
let html = '';
|
|
|
|
// \u6DFB\u52A0\u67E5\u8BE2\u53C2\u6570\u90E8\u5206
|
|
if (config.params && config.params.length > 0) {
|
|
html += '<div class="params-section">';
|
|
html += '<h4>\u67E5\u8BE2\u53C2\u6570</h4>';
|
|
html += config.params.map(param => {
|
|
if (param.type === 'select') {
|
|
// \u4E3Aselect\u7C7B\u578B\u53C2\u6570\u6DFB\u52A0\u9ED8\u8BA4\u9009\u9879
|
|
let optionsHtml = '<option value="">-- \u8BF7\u9009\u62E9 --</option>';
|
|
if (param.options) {
|
|
optionsHtml += param.options.map(opt => \`<option value="\${opt}">\${opt}</option>\`).join('');
|
|
}
|
|
return \`
|
|
<div class="form-group" data-param-name="\${param.name}">
|
|
<label>\${param.label}\${param.required ? ' *' : ''}</label>
|
|
<select id="param-\${param.name}">
|
|
\${optionsHtml}
|
|
</select>
|
|
\${param.placeholder ? \`<div class="form-help">\${param.placeholder}</div>\` : ''}
|
|
</div>
|
|
\`;
|
|
}
|
|
// \u4F7F\u7528placeholder\u5C5E\u6027\u663E\u793A\u793A\u4F8B\u53C2\u6570
|
|
const placeholder = param.placeholder ? param.placeholder : "\u8BF7\u8F93\u5165" + param.label;
|
|
return \`
|
|
<div class="form-group" data-param-name="\${param.name}">
|
|
<label>\${param.label}\${param.required ? ' *' : ''}</label>
|
|
<input type="\${param.type}" id="param-\${param.name}" placeholder="\${placeholder}" \${param.required ? 'required' : ''}>
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
html += '</div>';
|
|
}
|
|
|
|
// \u6DFB\u52A0\u8BF7\u6C42\u4F53\u90E8\u5206\uFF08\u5982\u679C\u63A5\u53E3\u6709\u8BF7\u6C42\u4F53\uFF09
|
|
if (config.hasBody) {
|
|
html += '<div class="body-section">';
|
|
html += '<h4>\u8BF7\u6C42\u4F53</h4>';
|
|
html += \`<div class="form-group">
|
|
<label>\u8BF7\u6C42\u4F53\u5185\u5BB9 * (JSON\u683C\u5F0F)</label>
|
|
<textarea id="body-content" rows="6" placeholder='\u8F93\u5165JSON\u683C\u5F0F\u7684\u8BF7\u6C42\u4F53\uFF0C\u4F8B\u5982\uFF1A{"type": "qq","segment_start":0,"segment_end":30000,"url":"https://dm.video.qq.com/barrage/segment/j0032ubhl9s/t/v1/0/30000"}'></textarea>
|
|
<div class="form-help">\u8F93\u5165JSON\u683C\u5F0F\u7684\u8BF7\u6C42\u4F53\u5185\u5BB9</div>
|
|
</div>\`;
|
|
html += '</div>';
|
|
}
|
|
|
|
if (!html) {
|
|
html = '<p class="text-gray">\u6B64\u63A5\u53E3\u65E0\u9700\u53C2\u6570</p>';
|
|
}
|
|
|
|
formDiv.innerHTML = html;
|
|
|
|
// \u4E3A\u53C2\u6570\u8F93\u5165\u6846\u6DFB\u52A0\u56DE\u8F66\u4E8B\u4EF6\u76D1\u542C
|
|
attachEnterEventToParams();
|
|
bindCommentDurationFieldVisibility();
|
|
}
|
|
|
|
function testApi() {
|
|
const select = document.getElementById('api-select');
|
|
const apiKey = select.value;
|
|
const sendButton = document.querySelector('#api-params .btn-success'); // \u83B7\u53D6\u53D1\u9001\u8BF7\u6C42\u6309\u94AE
|
|
|
|
if (!apiKey) {
|
|
addLog('\u8BF7\u5148\u9009\u62E9\u63A5\u53E3', 'error');
|
|
return;
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = sendButton.innerHTML;
|
|
sendButton.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
sendButton.disabled = true;
|
|
|
|
const config = apiConfigs[apiKey];
|
|
const params = {};
|
|
|
|
// \u83B7\u53D6\u67E5\u8BE2\u53C2\u6570
|
|
if (config.params) {
|
|
config.params.forEach(param => {
|
|
const value = document.getElementById(\`param-\${param.name}\`).value;
|
|
if (value) params[param.name] = value;
|
|
});
|
|
}
|
|
|
|
addLog(\`\u8C03\u7528\u63A5\u53E3: \${config.name} (\${config.method} \${config.path})\`, 'info');
|
|
addLog(\`\u8BF7\u6C42\u53C2\u6570: \${JSON.stringify(params)}\`, 'info');
|
|
|
|
// \u6784\u5EFA\u8BF7\u6C42URL
|
|
let url = config.path;
|
|
|
|
// \u68C0\u67E5\u662F\u5426\u4E3A\u8DEF\u5F84\u53C2\u6570\u63A5\u53E3
|
|
const isPathParameterApi = config.path.includes(':');
|
|
|
|
if (isPathParameterApi) {
|
|
// \u5904\u7406\u8DEF\u5F84\u53C2\u6570\u63A5\u53E3 (/api/v2/comment \u548C /api/v2/bangumi)
|
|
// \u5148\u5206\u79BB\u8DEF\u5F84\u53C2\u6570\u548C\u67E5\u8BE2\u53C2\u6570
|
|
const pathParams = {};
|
|
const queryParams = {};
|
|
|
|
// \u5206\u7C7B\u53C2\u6570
|
|
for (const [key, value] of Object.entries(params)) {
|
|
// \u68C0\u67E5\u53C2\u6570\u662F\u5426\u4E3A\u8DEF\u5F84\u53C2\u6570
|
|
if (config.path.includes(':' + key)) {
|
|
pathParams[key] = value;
|
|
} else {
|
|
// \u5176\u4ED6\u53C2\u6570\u4F5C\u4E3A\u67E5\u8BE2\u53C2\u6570
|
|
queryParams[key] = value;
|
|
}
|
|
}
|
|
|
|
// \u66FF\u6362\u8DEF\u5F84\u53C2\u6570
|
|
for (const [key, value] of Object.entries(pathParams)) {
|
|
url = url.replace(':' + key, encodeURIComponent(value));
|
|
}
|
|
|
|
// \u6DFB\u52A0\u67E5\u8BE2\u53C2\u6570
|
|
if (config.method === 'GET' && Object.keys(queryParams).length > 0) {
|
|
const queryString = new URLSearchParams(queryParams).toString();
|
|
url = url + '?' + queryString;
|
|
}
|
|
} else {
|
|
// \u4FDD\u6301\u539F\u6765\u7684\u903B\u8F91\uFF0C\u7528\u4E8E search/anime \u7B49\u63A5\u53E3
|
|
if (config.method === 'GET') {
|
|
const queryString = new URLSearchParams(params).toString();
|
|
url = url + '?' + queryString;
|
|
} else if (config.method === 'POST' && apiKey === 'getSegmentComment') {
|
|
// \u5BF9\u4E8E getSegmentComment \u63A5\u53E3\uFF0C\u9700\u8981\u5C06 format \u53C2\u6570\u6DFB\u52A0\u5230 URL \u67E5\u8BE2\u53C2\u6570\u4E2D
|
|
const queryParams = {};
|
|
if (params.format) {
|
|
queryParams.format = params.format;
|
|
}
|
|
if (Object.keys(queryParams).length > 0) {
|
|
const queryString = new URLSearchParams(queryParams).toString();
|
|
url = url + '?' + queryString;
|
|
}
|
|
}
|
|
}
|
|
|
|
// \u914D\u7F6E\u8BF7\u6C42\u9009\u9879
|
|
const requestOptions = {
|
|
method: config.method,
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
};
|
|
|
|
// \u5904\u7406\u8BF7\u6C42\u4F53
|
|
if (config.hasBody) {
|
|
// \u4ECE\u8BF7\u6C42\u4F53\u8F93\u5165\u6846\u83B7\u53D6\u5185\u5BB9
|
|
const bodyContent = document.getElementById('body-content').value;
|
|
if (bodyContent) {
|
|
try {
|
|
// \u5C1D\u8BD5\u89E3\u6790\u7528\u6237\u8F93\u5165\u7684JSON
|
|
const bodyData = JSON.parse(bodyContent);
|
|
requestOptions.body = JSON.stringify(bodyData);
|
|
} catch (e) {
|
|
addLog('\u8BF7\u6C42\u4F53JSON\u683C\u5F0F\u9519\u8BEF: ' + e.message, 'error');
|
|
sendButton.innerHTML = originalText;
|
|
sendButton.disabled = false;
|
|
return;
|
|
}
|
|
} else {
|
|
// \u5982\u679C\u6CA1\u6709\u5728\u8BF7\u6C42\u4F53\u8F93\u5165\u6846\u4E2D\u8F93\u5165\u5185\u5BB9\uFF0C\u5219\u4F7F\u7528\u53C2\u6570\u6784\u5EFA\u8BF7\u6C42\u4F53\uFF08\u5411\u540E\u517C\u5BB9\uFF09
|
|
if (apiKey === 'getSegmentComment') {
|
|
// \u5BF9\u4E8E getSegmentComment \u63A5\u53E3\uFF0C\u521B\u5EFA segment \u5BF9\u8C61
|
|
const segmentData = { url: params.url };
|
|
if (params.format) {
|
|
segmentData.format = params.format;
|
|
}
|
|
requestOptions.body = JSON.stringify(segmentData);
|
|
} else {
|
|
requestOptions.body = JSON.stringify(params);
|
|
}
|
|
}
|
|
} else if (config.method === 'POST') {
|
|
// \u5BF9\u4E8E\u6CA1\u6709\u7279\u6B8A\u8BF7\u6C42\u4F53\u914D\u7F6E\u7684POST\u63A5\u53E3\uFF0C\u4F7F\u7528\u53C2\u6570\u6784\u5EFA\u8BF7\u6C42\u4F53
|
|
requestOptions.body = JSON.stringify(params);
|
|
}
|
|
|
|
// \u53D1\u9001\u771F\u5B9EAPI\u8BF7\u6C42
|
|
fetch(buildApiUrl(url), requestOptions)
|
|
.then(response => {
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
|
|
// \u68C0\u67E5format\u53C2\u6570\u4EE5\u786E\u5B9A\u5982\u4F55\u5904\u7406\u54CD\u5E94
|
|
const formatParam = params.format || 'json';
|
|
|
|
if (formatParam.toLowerCase() === 'xml') {
|
|
// \u5BF9\u4E8EXML\u683C\u5F0F\uFF0C\u8FD4\u56DE\u6587\u672C\u5185\u5BB9
|
|
return response.text().then(text => ({
|
|
data: text,
|
|
format: 'xml'
|
|
}));
|
|
} else {
|
|
// \u5BF9\u4E8EJSON\u683C\u5F0F\u6216\u5176\u4ED6\u60C5\u51B5\uFF0C\u8FD4\u56DEJSON\u5BF9\u8C61
|
|
return response.json().then(json => ({
|
|
data: json,
|
|
format: 'json'
|
|
}));
|
|
}
|
|
})
|
|
.then(result => {
|
|
// \u663E\u793A\u54CD\u5E94\u7ED3\u679C
|
|
document.getElementById('api-response-container').style.display = 'block';
|
|
|
|
if (result.format === 'xml') {
|
|
// \u663E\u793AXML\u54CD\u5E94
|
|
document.getElementById('api-response').textContent = result.data;
|
|
document.getElementById('api-response').className = 'api-response xml'; // \u4F7F\u7528XML\u4E13\u7528\u6837\u5F0F\u7C7B
|
|
} else {
|
|
// \u663E\u793AJSON\u54CD\u5E94
|
|
document.getElementById('api-response').className = 'json-response';
|
|
document.getElementById('api-response').innerHTML = highlightJSON(result.data);
|
|
}
|
|
|
|
addLog('\u63A5\u53E3\u8C03\u7528\u6210\u529F', 'success');
|
|
})
|
|
.catch(error => {
|
|
// \u5904\u7406\u9519\u8BEF
|
|
const errorMessage = \`API\u8BF7\u6C42\u5931\u8D25: \${error.message}\`;
|
|
document.getElementById('api-response-container').style.display = 'block';
|
|
document.getElementById('api-response').textContent = errorMessage;
|
|
// \u6DFB\u52A0\u9519\u8BEF\u4FE1\u606F\u7684CSS\u7C7B
|
|
document.getElementById('api-response').className = 'error-response';
|
|
addLog(errorMessage, 'error');
|
|
})
|
|
.finally(() => {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
sendButton.innerHTML = originalText;
|
|
sendButton.disabled = false;
|
|
});
|
|
}
|
|
|
|
// =====================
|
|
// \u6807\u7B7E\u9875\u5207\u6362
|
|
// =====================
|
|
function switchApiTopTab(tab, event) {
|
|
document.querySelectorAll('.api-top-tab').forEach(btn => btn.classList.remove('active'));
|
|
document.querySelectorAll('.api-tab-content').forEach(el => el.classList.remove('active'));
|
|
event.target.classList.add('active');
|
|
if (tab === 'debug') {
|
|
document.getElementById('api-debug-content').classList.add('active');
|
|
} else {
|
|
document.getElementById('danmu-test-content').classList.add('active');
|
|
}
|
|
}
|
|
|
|
function switchDanmuTestTab(tab, event) {
|
|
document.querySelectorAll('.danmu-test-tab').forEach(btn => btn.classList.remove('active'));
|
|
document.querySelectorAll('.danmu-test-panel').forEach(el => el.classList.remove('active'));
|
|
event.target.classList.add('active');
|
|
if (tab === 'auto') {
|
|
document.getElementById('auto-match-panel').classList.add('active');
|
|
} else {
|
|
document.getElementById('manual-match-panel').classList.add('active');
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u5DE5\u5177\u51FD\u6570
|
|
// =====================
|
|
function decColorToHex(dec) {
|
|
const n = parseInt(dec) || 16777215;
|
|
return '#' + n.toString(16).padStart(6, '0');
|
|
}
|
|
|
|
function parseDanmuMode(p) {
|
|
const parts = p.split(',');
|
|
return parseInt(parts[1]) || 1;
|
|
}
|
|
|
|
function parseDanmuColor(p) {
|
|
const parts = p.split(',');
|
|
return parseInt(parts[2]) || 16777215;
|
|
}
|
|
|
|
function parseDanmuTime(p) {
|
|
return parseFloat(p.split(',')[0]) || 0;
|
|
}
|
|
|
|
function getModeLabel(mode) {
|
|
switch (mode) {
|
|
case 4: return '\u5E95\u90E8';
|
|
case 5: return '\u9876\u90E8';
|
|
default: return '\u6EDA\u52A8';
|
|
}
|
|
}
|
|
|
|
function formatDuration(seconds) {
|
|
const s = Math.floor(seconds);
|
|
const h = Math.floor(s / 3600);
|
|
const m = Math.floor((s % 3600) / 60);
|
|
const sec = s % 60;
|
|
if (h > 0) return h + ':' + String(m).padStart(2,'0') + ':' + String(sec).padStart(2,'0');
|
|
return m + ':' + String(sec).padStart(2,'0');
|
|
}
|
|
|
|
function getValidDanmuTimes(comments) {
|
|
return comments
|
|
.map(c => c.t !== undefined ? Number(c.t) : parseDanmuTime(c.p))
|
|
.filter(time => Number.isFinite(time) && time >= 0)
|
|
.sort((a, b) => a - b);
|
|
}
|
|
|
|
function getPercentileValue(sortedValues, percentile) {
|
|
if (!sortedValues.length) return 0;
|
|
const safePercentile = Math.min(Math.max(percentile, 0), 1);
|
|
const index = Math.floor((sortedValues.length - 1) * safePercentile);
|
|
return sortedValues[index] || 0;
|
|
}
|
|
|
|
function getMedian(values) {
|
|
if (!values.length) return 0;
|
|
const sorted = [...values].sort((a, b) => a - b);
|
|
const mid = Math.floor(sorted.length / 2);
|
|
return sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid];
|
|
}
|
|
|
|
function buildTailGapThreshold(sortedValues) {
|
|
if (sortedValues.length < 2) return 45;
|
|
|
|
const gaps = [];
|
|
const startIndex = Math.max(1, sortedValues.length - 80);
|
|
for (let i = startIndex; i < sortedValues.length; i++) {
|
|
const gap = sortedValues[i] - sortedValues[i - 1];
|
|
if (gap > 0) {
|
|
gaps.push(gap);
|
|
}
|
|
}
|
|
|
|
if (!gaps.length) return 45;
|
|
|
|
const sortedGaps = [...gaps].sort((a, b) => a - b);
|
|
const medianGap = getMedian(sortedGaps);
|
|
const p90Gap = getPercentileValue(sortedGaps, 0.9);
|
|
return Math.min(240, Math.max(45, medianGap * 12, p90Gap * 3));
|
|
}
|
|
|
|
function estimateVideoDurationFromComments(comments) {
|
|
const validTimes = getValidDanmuTimes(comments);
|
|
if (!validTimes.length) return 0;
|
|
if (validTimes.length < 200) return validTimes[validTimes.length - 1];
|
|
|
|
const p995Time = getPercentileValue(validTimes, 0.995);
|
|
const p998Time = getPercentileValue(validTimes, 0.998);
|
|
const gapThreshold = buildTailGapThreshold(validTimes);
|
|
const trimBaseline = p998Time + Math.max(90, gapThreshold * 2);
|
|
let endIndex = validTimes.length - 1;
|
|
|
|
while (endIndex > 0) {
|
|
let tailStartIndex = endIndex;
|
|
while (tailStartIndex > 0) {
|
|
const gap = validTimes[tailStartIndex] - validTimes[tailStartIndex - 1];
|
|
if (gap > gapThreshold) break;
|
|
tailStartIndex--;
|
|
}
|
|
|
|
const tailClusterSize = endIndex - tailStartIndex + 1;
|
|
const tailClusterSpan = validTimes[endIndex] - validTimes[tailStartIndex];
|
|
const previousGap = tailStartIndex > 0 ? validTimes[tailStartIndex] - validTimes[tailStartIndex - 1] : 0;
|
|
const isIsolatedTail = tailStartIndex > 0
|
|
&& tailClusterSize <= 2
|
|
&& tailClusterSpan <= 15
|
|
&& previousGap > gapThreshold;
|
|
|
|
if (!isIsolatedTail || validTimes[endIndex] <= trimBaseline) {
|
|
break;
|
|
}
|
|
|
|
endIndex = tailStartIndex - 1;
|
|
}
|
|
|
|
return Math.max(validTimes[Math.max(endIndex, 0)] || 0, p995Time);
|
|
}
|
|
|
|
function getEffectiveDuration(comments, explicitDuration) {
|
|
if (Number.isFinite(explicitDuration) && explicitDuration > 0) {
|
|
return explicitDuration;
|
|
}
|
|
return estimateVideoDurationFromComments(comments);
|
|
}
|
|
|
|
function setBtnLoading(btn, loading) {
|
|
if (!btn) return;
|
|
if (loading) {
|
|
btn._origText = btn.innerHTML;
|
|
btn.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
btn.disabled = true;
|
|
} else {
|
|
btn.innerHTML = btn._origText || '\u6309\u94AE';
|
|
btn.disabled = false;
|
|
}
|
|
}
|
|
|
|
// \u901A\u7528\uFF1A\u663E\u793A\u6307\u5B9A\u9762\u677F\uFF0C\u9690\u85CF\u540C\u7EA7\u5176\u4ED6\u9762\u677F
|
|
function showDanmuView(showIds, hideIds) {
|
|
hideIds.forEach(id => { const el = document.getElementById(id); if (el) el.style.display = 'none'; });
|
|
showIds.forEach(id => { const el = document.getElementById(id); if (el) el.style.display = 'block'; });
|
|
}
|
|
|
|
// \u751F\u6210\u8FD4\u56DE\u6309\u94AEHTML
|
|
function backBtnHtml(text, onclick) {
|
|
return '<button class="btn btn-back" onclick="' + onclick + '">← ' + escapeHtml(text) + '</button>';
|
|
}
|
|
|
|
function inlineJsString(value) {
|
|
return escapeHtml(JSON.stringify(String(value || '')));
|
|
}
|
|
|
|
function createDanmuCallTrace(mode, inputText) {
|
|
return {
|
|
mode: mode || 'manual',
|
|
inputText: inputText || '',
|
|
steps: [],
|
|
startedAt: performance.now()
|
|
};
|
|
}
|
|
|
|
function cloneDanmuCallTrace(trace) {
|
|
if (!trace) return null;
|
|
return {
|
|
mode: trace.mode,
|
|
inputText: trace.inputText,
|
|
startedAt: performance.now(),
|
|
steps: (trace.steps || []).map(step => Object.assign({}, step))
|
|
};
|
|
}
|
|
|
|
function createDanmuCallStep(step) {
|
|
return Object.assign({
|
|
name: '',
|
|
method: 'GET',
|
|
url: '',
|
|
params: '',
|
|
result: '',
|
|
elapsed: 0,
|
|
status: 'success'
|
|
}, step);
|
|
}
|
|
|
|
function addDanmuCallStep(trace, step) {
|
|
if (!trace) return;
|
|
trace.steps.push(createDanmuCallStep(step));
|
|
}
|
|
|
|
function finishDanmuCallStep(trace, startedAt, step) {
|
|
addDanmuCallStep(trace, Object.assign({}, step, {
|
|
elapsed: performance.now() - startedAt
|
|
}));
|
|
}
|
|
|
|
function finishDanmuCallFailure(trace, startedAt, step, error) {
|
|
const message = error && error.message ? error.message : String(error || '\u672A\u77E5\u9519\u8BEF');
|
|
finishDanmuCallStep(trace, startedAt, Object.assign({
|
|
status: 'error',
|
|
result: '\u5931\u8D25\uFF1A' + message
|
|
}, step));
|
|
}
|
|
|
|
function finishDanmuCallEmpty(trace, startedAt, step, message) {
|
|
finishDanmuCallStep(trace, startedAt, Object.assign({
|
|
status: 'empty',
|
|
result: message || '\u65E0\u7ED3\u679C'
|
|
}, step));
|
|
}
|
|
|
|
function safeDanmuApiPath(path) {
|
|
return String(path || '').replace(new RegExp('^/[^/]+/api/'), '/<TOKEN>/api/');
|
|
}
|
|
|
|
function renderDanmuCallTrace(trace) {
|
|
return '';
|
|
}
|
|
|
|
function getDanmuCallTraceTotalMs(trace) {
|
|
if (!trace || !Array.isArray(trace.steps) || trace.steps.length === 0) return 0;
|
|
return trace.steps.reduce((sum, step) => sum + (Number(step.elapsed) || 0), 0);
|
|
}
|
|
|
|
function renderDanmuCallFailure(trace, title, message, source) {
|
|
let html = '<div class="danmu-result-toolbar">';
|
|
if (source === 'manual-episode') {
|
|
html += backBtnHtml('\u8FD4\u56DE\u5217\u8868', 'backToEpisodeList()');
|
|
} else if (source === 'manual-anime') {
|
|
html += backBtnHtml('\u8FD4\u56DE\u641C\u7D22\u7ED3\u679C', 'backToManualSearch()');
|
|
}
|
|
html += '</div>';
|
|
html += '<div class="danmu-result-error">' + escapeHtml(title || '\u8C03\u7528\u5931\u8D25') + '\uFF1A' + escapeHtml(message || '\u8BF7\u6C42\u5931\u8D25') + '</div>';
|
|
html += renderDanmuCallTrace(trace);
|
|
return html;
|
|
}
|
|
|
|
function showDanmuCallTraceFailure(trace, title, message, source) {
|
|
const resultArea = document.getElementById('danmu-result-area');
|
|
if (!resultArea) return;
|
|
resultArea.innerHTML = renderDanmuCallFailure(trace, title, message, source);
|
|
resultArea.style.display = 'block';
|
|
}
|
|
|
|
function getDanmuCallTraceTotalSeconds(trace, fallbackSeconds) {
|
|
const totalMs = getDanmuCallTraceTotalMs(trace);
|
|
if (totalMs > 0) return (totalMs / 1000).toFixed(2);
|
|
return fallbackSeconds || '0.00';
|
|
}
|
|
|
|
function formatCallElapsed(ms) {
|
|
if (!Number.isFinite(ms)) return '--';
|
|
return ms >= 1000 ? (ms / 1000).toFixed(2) + 's' : Math.round(ms) + 'ms';
|
|
}
|
|
|
|
function startDanmuFlowRequest() {
|
|
const requestId = ++danmuTestState.nextDanmuFlowRequestId;
|
|
danmuTestState.activeDanmuFlowRequestId = requestId;
|
|
danmuTestState.activeManualBangumiRequestId = 0;
|
|
invalidateActiveDanmuRequest();
|
|
return requestId;
|
|
}
|
|
|
|
function isCurrentDanmuFlowRequest(requestId) {
|
|
return danmuTestState.activeDanmuFlowRequestId === requestId;
|
|
}
|
|
|
|
function startManualBangumiRequest() {
|
|
const requestId = ++danmuTestState.nextManualBangumiRequestId;
|
|
danmuTestState.activeManualBangumiRequestId = requestId;
|
|
danmuTestState.activeDanmuFlowRequestId = 0;
|
|
invalidateActiveDanmuRequest();
|
|
return requestId;
|
|
}
|
|
|
|
function isCurrentManualBangumiRequest(requestId) {
|
|
return danmuTestState.activeManualBangumiRequestId === requestId;
|
|
}
|
|
|
|
function invalidateActiveDanmuRequest() {
|
|
danmuTestState.activeDanmuRequestId = 0;
|
|
}
|
|
|
|
function setDanmuFlowButtonLoading(btn, requestId, loading) {
|
|
if (!btn) return;
|
|
if (loading) {
|
|
btn._danmuFlowRequestId = requestId;
|
|
setBtnLoading(btn, true);
|
|
return;
|
|
}
|
|
if (btn._danmuFlowRequestId === requestId) {
|
|
setBtnLoading(btn, false);
|
|
btn._danmuFlowRequestId = 0;
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u81EA\u52A8\u5339\u914D\u6D4B\u8BD5
|
|
// =====================
|
|
async function autoMatchTest() {
|
|
const fileName = document.getElementById('auto-match-filename').value.trim();
|
|
if (!fileName) { customAlert('\u8BF7\u8F93\u5165\u6587\u4EF6\u540D'); return; }
|
|
|
|
const flowRequestId = startDanmuFlowRequest();
|
|
const btn = document.getElementById('auto-match-btn');
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, true);
|
|
document.getElementById('danmu-result-area').style.display = 'none';
|
|
addLog('\u81EA\u52A8\u5339\u914D\u6D4B\u8BD5: ' + fileName, 'info');
|
|
const trace = createDanmuCallTrace('auto', fileName);
|
|
danmuTestState.currentCallTrace = trace;
|
|
danmuTestState.currentManualSearchCallTraceBase = null;
|
|
danmuTestState.currentManualEpisodeCallTraceBase = null;
|
|
|
|
let matchStartedAt = 0;
|
|
try {
|
|
matchStartedAt = performance.now();
|
|
const resp = await fetch(buildApiUrl('/api/v2/match'), {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({ fileName: fileName })
|
|
});
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
const data = await resp.json();
|
|
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
|
|
|
|
if (data.isMatched && data.matches && data.matches.length > 0) {
|
|
const best = data.matches[0];
|
|
const title = (best.animeTitle || '') + ' ' + (best.episodeTitle || '');
|
|
finishDanmuCallStep(trace, matchStartedAt, {
|
|
name: '\u5339\u914D',
|
|
method: 'POST',
|
|
url: '/api/v2/match',
|
|
params: '\u6587\u4EF6\u540D\uFF1A' + fileName,
|
|
result: '\u547D\u4E2D ' + data.matches.length + ' \u4E2A\u7ED3\u679C\uFF0CepisodeId: ' + best.episodeId
|
|
});
|
|
addLog('\u81EA\u52A8\u5339\u914D\u547D\u4E2D: ' + title + ' (\u5171' + data.matches.length + '\u4E2A\u7ED3\u679C\uFF0C\u53D6\u7B2C1\u4E2A)', 'success');
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, false);
|
|
fetchDanmuForTest(best.episodeId, title, 'auto', trace);
|
|
return;
|
|
} else {
|
|
finishDanmuCallEmpty(trace, matchStartedAt, {
|
|
name: '\u5339\u914D',
|
|
method: 'POST',
|
|
url: '/api/v2/match',
|
|
params: '\u6587\u4EF6\u540D\uFF1A' + fileName
|
|
}, '\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C');
|
|
customAlert('\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C');
|
|
addLog('\u81EA\u52A8\u5339\u914D\u65E0\u7ED3\u679C', 'warn');
|
|
showDanmuCallTraceFailure(trace, '\u81EA\u52A8\u5339\u914D\u65E0\u7ED3\u679C', '\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C', 'auto');
|
|
}
|
|
} catch (e) {
|
|
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
|
|
finishDanmuCallFailure(trace, matchStartedAt || performance.now(), {
|
|
name: '\u5339\u914D',
|
|
method: 'POST',
|
|
url: '/api/v2/match',
|
|
params: '\u6587\u4EF6\u540D\uFF1A' + fileName
|
|
}, e);
|
|
customAlert('\u5339\u914D\u5931\u8D25: ' + e.message);
|
|
addLog('\u81EA\u52A8\u5339\u914D\u5931\u8D25: ' + e.message, 'error');
|
|
showDanmuCallTraceFailure(trace, '\u81EA\u52A8\u5339\u914D\u5931\u8D25', e.message, 'auto');
|
|
} finally {
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, false);
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u624B\u52A8\u5339\u914D\u6D4B\u8BD5
|
|
// =====================
|
|
async function manualSearchAnime() {
|
|
const keyword = document.getElementById('manual-search-keyword').value.trim();
|
|
if (!keyword) { customAlert('\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57'); return; }
|
|
|
|
const flowRequestId = startDanmuFlowRequest();
|
|
const btn = document.getElementById('manual-search-btn');
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, true);
|
|
document.getElementById('manual-anime-list').style.display = 'none';
|
|
document.getElementById('manual-episode-list').style.display = 'none';
|
|
document.getElementById('danmu-result-area').style.display = 'none';
|
|
addLog('\u624B\u52A8\u641C\u7D22: ' + keyword, 'info');
|
|
const trace = createDanmuCallTrace('manual', keyword);
|
|
danmuTestState.currentCallTrace = trace;
|
|
danmuTestState.currentManualSearchCallTraceBase = null;
|
|
danmuTestState.currentManualEpisodeCallTraceBase = null;
|
|
|
|
let searchStartedAt = 0;
|
|
let searchUrl = '';
|
|
try {
|
|
searchUrl = '/api/v2/search/anime?keyword=' + encodeURIComponent(keyword);
|
|
searchStartedAt = performance.now();
|
|
const resp = await fetch(buildApiUrl(searchUrl));
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
const data = await resp.json();
|
|
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
|
|
|
|
if (data.success && data.animes && data.animes.length > 0) {
|
|
finishDanmuCallStep(trace, searchStartedAt, {
|
|
name: '\u641C\u7D22',
|
|
method: 'GET',
|
|
url: searchUrl,
|
|
params: '\u5173\u952E\u8BCD\uFF1A' + keyword,
|
|
result: '\u627E\u5230 ' + data.animes.length + ' \u4E2A\u52A8\u6F2B'
|
|
});
|
|
danmuTestState.currentManualSearchCallTraceBase = cloneDanmuCallTrace(trace);
|
|
displayManualAnimeList(data.animes);
|
|
addLog('\u641C\u7D22\u5230 ' + data.animes.length + ' \u4E2A\u52A8\u6F2B', 'success');
|
|
} else {
|
|
finishDanmuCallEmpty(trace, searchStartedAt, {
|
|
name: '\u641C\u7D22',
|
|
method: 'GET',
|
|
url: searchUrl,
|
|
params: '\u5173\u952E\u8BCD\uFF1A' + keyword
|
|
}, '\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B');
|
|
customAlert('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B');
|
|
addLog('\u641C\u7D22\u65E0\u7ED3\u679C', 'warn');
|
|
showDanmuCallTraceFailure(trace, '\u641C\u7D22\u65E0\u7ED3\u679C', '\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B', 'manual-search');
|
|
}
|
|
} catch (e) {
|
|
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
|
|
finishDanmuCallFailure(trace, searchStartedAt || performance.now(), {
|
|
name: '\u641C\u7D22',
|
|
method: 'GET',
|
|
url: searchUrl || '/api/v2/search/anime',
|
|
params: '\u5173\u952E\u8BCD\uFF1A' + keyword
|
|
}, e);
|
|
customAlert('\u641C\u7D22\u5931\u8D25: ' + e.message);
|
|
addLog('\u641C\u7D22\u5931\u8D25: ' + e.message, 'error');
|
|
showDanmuCallTraceFailure(trace, '\u641C\u7D22\u5931\u8D25', e.message, 'manual-search');
|
|
} finally {
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, false);
|
|
}
|
|
}
|
|
|
|
function displayManualAnimeList(animes) {
|
|
const container = document.getElementById('manual-anime-list');
|
|
let html = '<h3 class="danmu-section-title danmu-section-title-spaced">\u641C\u7D22\u7ED3\u679C</h3><div class="anime-grid">';
|
|
animes.forEach(anime => {
|
|
const animeId = Number.parseInt(anime.animeId, 10);
|
|
if (!Number.isFinite(animeId)) return;
|
|
const img = escapeHtml(anime.imageUrl || 'https://placehold.co/150x200?text=No+Image');
|
|
html += '<div class="anime-item" onclick="manualGetBangumi(' + animeId + ')">';
|
|
html += '<img src="' + img + '" alt="' + escapeHtml(anime.animeTitle) + '" referrerpolicy="no-referrer" class="anime-item-img">';
|
|
html += '<h4 class="anime-title">' + escapeHtml(anime.animeTitle) + ' - \u5171' + (anime.episodeCount || '?') + '\u96C6</h4>';
|
|
html += '</div>';
|
|
});
|
|
html += '</div>';
|
|
container.innerHTML = html;
|
|
container.style.display = 'block';
|
|
}
|
|
|
|
async function manualGetBangumi(animeId) {
|
|
const detailRequestId = startManualBangumiRequest();
|
|
const requestTrace = danmuTestState.currentManualSearchCallTraceBase
|
|
? cloneDanmuCallTrace(danmuTestState.currentManualSearchCallTraceBase)
|
|
: createDanmuCallTrace('manual', String(animeId || ''));
|
|
danmuTestState.currentCallTrace = requestTrace;
|
|
addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5: ' + animeId, 'info');
|
|
// \u9690\u85CF\u641C\u7D22\u7ED3\u679C\uFF0C\u663E\u793A\u5267\u96C6\u5217\u8868\u533A\u57DF
|
|
showDanmuView(['manual-episode-list'], ['manual-anime-list', 'danmu-result-area']);
|
|
|
|
let bangumiStartedAt = 0;
|
|
const bangumiUrl = '/api/v2/bangumi/' + animeId;
|
|
try {
|
|
bangumiStartedAt = performance.now();
|
|
const resp = await fetch(buildApiUrl(bangumiUrl));
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
const data = await resp.json();
|
|
if (!isCurrentManualBangumiRequest(detailRequestId)) return;
|
|
|
|
const episodes = data && data.bangumi && Array.isArray(data.bangumi.episodes) ? data.bangumi.episodes : [];
|
|
if (data.success && data.bangumi && episodes.length > 0) {
|
|
finishDanmuCallStep(requestTrace, bangumiStartedAt, {
|
|
name: '\u756A\u5267\u8BE6\u60C5',
|
|
method: 'GET',
|
|
url: bangumiUrl,
|
|
params: 'animeId: ' + animeId,
|
|
result: '\u83B7\u53D6\u5230 ' + episodes.length + ' \u4E2A\u5267\u96C6'
|
|
});
|
|
danmuTestState.currentManualEpisodeCallTraceBase = cloneDanmuCallTrace(requestTrace);
|
|
displayManualEpisodeList(data.bangumi.animeTitle, episodes);
|
|
addLog('\u83B7\u53D6\u5230 ' + episodes.length + ' \u4E2A\u5267\u96C6', 'success');
|
|
} else {
|
|
finishDanmuCallEmpty(requestTrace, bangumiStartedAt, {
|
|
name: '\u756A\u5267\u8BE6\u60C5',
|
|
method: 'GET',
|
|
url: bangumiUrl,
|
|
params: 'animeId: ' + animeId
|
|
}, '\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F');
|
|
customAlert('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F');
|
|
showDanmuCallTraceFailure(requestTrace, '\u756A\u5267\u8BE6\u60C5\u65E0\u5267\u96C6', '\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F', 'manual-anime');
|
|
// \u6062\u590D\u641C\u7D22\u7ED3\u679C
|
|
showDanmuView(['manual-anime-list'], ['manual-episode-list']);
|
|
}
|
|
} catch (e) {
|
|
if (!isCurrentManualBangumiRequest(detailRequestId)) return;
|
|
finishDanmuCallFailure(requestTrace, bangumiStartedAt || performance.now(), {
|
|
name: '\u756A\u5267\u8BE6\u60C5',
|
|
method: 'GET',
|
|
url: bangumiUrl,
|
|
params: 'animeId: ' + animeId
|
|
}, e);
|
|
customAlert('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + e.message);
|
|
addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + e.message, 'error');
|
|
showDanmuCallTraceFailure(requestTrace, '\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25', e.message, 'manual-anime');
|
|
showDanmuView(['manual-anime-list'], ['manual-episode-list']);
|
|
}
|
|
}
|
|
|
|
function displayManualEpisodeList(animeTitle, episodes) {
|
|
const container = document.getElementById('manual-episode-list');
|
|
let html = backBtnHtml('\u8FD4\u56DE\u641C\u7D22\u7ED3\u679C', 'backToManualSearch()');
|
|
html += '<h3 class="danmu-section-title danmu-section-title-spaced">\u5267\u96C6\u5217\u8868</h3>';
|
|
html += '<h4 class="text-yellow-gold">' + escapeHtml(animeTitle) + '</h4>';
|
|
|
|
// \u6DFB\u52A0\u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\u7684\u529F\u80FD
|
|
html += \`
|
|
<div class="jump-to-episode">
|
|
<span>\u8DF3\u8F6C\u5230\u7B2C</span>
|
|
<input type="number" id="jump-episode-input" class="jump-episode-input" placeholder="\u8F93\u5165\u96C6\u6570" min="1">
|
|
<span>\u96C6</span>
|
|
<button class="btn btn-primary btn-sm jump-episode-btn" onclick="jumpToEpisode()">\u8DF3\u8F6C</button>
|
|
<span class="jump-episode-total">\u5171\${episodes.length}\u96C6</span>
|
|
</div>\`;
|
|
|
|
html += '<div class="episode-list-container">';
|
|
episodes.forEach(ep => {
|
|
const episodeId = Number.parseInt(ep.episodeId, 10);
|
|
const episodeNumber = Number.parseInt(ep.episodeNumber, 10);
|
|
if (!Number.isFinite(episodeId) || !Number.isFinite(episodeNumber)) return;
|
|
const title = String(animeTitle || '') + ' \u7B2C' + episodeNumber + '\u96C6';
|
|
html += '<div class="episode-item" id="episode-item-' + episodeNumber + '">';
|
|
html += '<div class="episode-item-content"><strong>\u7B2C' + episodeNumber + '\u96C6</strong> - ' + escapeHtml(ep.episodeTitle || '\u65E0\u6807\u9898') + '</div>';
|
|
html += '<button class="btn btn-success btn-sm" onclick="fetchDanmuForTest(' + episodeId + ', ' + inlineJsString(title) + ', \\'manual\\')">\u83B7\u53D6\u5F39\u5E55</button>';
|
|
html += '</div>';
|
|
});
|
|
html += '</div>';
|
|
container.innerHTML = html;
|
|
container.style.display = 'block';
|
|
setTimeout(() => container.scrollIntoView({ behavior: 'smooth', block: 'start' }), 10);
|
|
}
|
|
|
|
// \u8FD4\u56DE\u641C\u7D22\u7ED3\u679C
|
|
function backToManualSearch() {
|
|
showDanmuView(['manual-anime-list'], ['manual-episode-list', 'danmu-result-area']);
|
|
}
|
|
|
|
// \u8FD4\u56DE\u5267\u96C6\u5217\u8868
|
|
function backToEpisodeList() {
|
|
showDanmuView(['manual-episode-list'], ['danmu-result-area']);
|
|
}
|
|
|
|
// \u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570
|
|
function jumpToEpisode() {
|
|
const episodeInput = document.getElementById('jump-episode-input');
|
|
const episodeNumber = parseInt(episodeInput.value);
|
|
|
|
if (!episodeNumber || episodeNumber <= 0) {
|
|
customAlert('\u8BF7\u8F93\u5165\u6709\u6548\u7684\u96C6\u6570\uFF08\u6B63\u6574\u6570\uFF09');
|
|
return;
|
|
}
|
|
|
|
// \u67E5\u627E\u5BF9\u5E94\u96C6\u6570\u7684\u5143\u7D20
|
|
const episodeElement = document.getElementById('episode-item-' + episodeNumber);
|
|
if (episodeElement) {
|
|
// \u6EDA\u52A8\u5230\u6307\u5B9A\u5143\u7D20\u4F4D\u7F6E
|
|
episodeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
// \u6DFB\u52A0\u9AD8\u4EAE\u6548\u679C\u4EE5\u4FBF\u8BC6\u522B
|
|
episodeElement.classList.add('episode-item-highlight');
|
|
setTimeout(() => {
|
|
episodeElement.classList.remove('episode-item-highlight');
|
|
}, 2000);
|
|
} else {
|
|
customAlert('\u627E\u4E0D\u5230\u7B2C' + episodeNumber + '\u96C6');
|
|
}
|
|
}
|
|
|
|
function isCurrentDanmuRequest(requestId) {
|
|
return danmuTestState.activeDanmuRequestId === requestId;
|
|
}
|
|
|
|
// =====================
|
|
// \u83B7\u53D6\u5F39\u5E55\u5E76\u5C55\u793A\u7ED3\u679C
|
|
// =====================
|
|
async function fetchDanmuForTest(episodeId, title, source, traceBase) {
|
|
addLog('\u83B7\u53D6\u5F39\u5E55: ' + episodeId + ' (' + title + ')', 'info');
|
|
const requestId = ++danmuTestState.nextDanmuRequestId;
|
|
danmuTestState.activeDanmuRequestId = requestId;
|
|
let requestTrace = null;
|
|
if (traceBase) {
|
|
requestTrace = cloneDanmuCallTrace(traceBase);
|
|
danmuTestState.currentCallTrace = requestTrace;
|
|
} else if (source === 'manual' && danmuTestState.currentManualEpisodeCallTraceBase) {
|
|
danmuTestState.currentCallTrace = cloneDanmuCallTrace(danmuTestState.currentManualEpisodeCallTraceBase);
|
|
requestTrace = danmuTestState.currentCallTrace;
|
|
} else {
|
|
requestTrace = cloneDanmuCallTrace(danmuTestState.currentCallTrace);
|
|
danmuTestState.currentCallTrace = requestTrace;
|
|
}
|
|
danmuTestState.currentEpisodeId = episodeId;
|
|
danmuTestState.currentTitle = title;
|
|
danmuTestState.currentDuration = 0;
|
|
|
|
// \u9690\u85CF\u4E0A\u7EA7\u9762\u677F
|
|
if (source === 'manual') {
|
|
showDanmuView([], ['manual-episode-list', 'manual-anime-list', 'danmu-result-area']);
|
|
} else {
|
|
showDanmuView([], ['danmu-result-area']);
|
|
}
|
|
|
|
// \u663E\u793A\u52A0\u8F7D\u52A8\u753B
|
|
const resultArea = document.getElementById('danmu-result-area');
|
|
resultArea.innerHTML = '<div class="danmu-loading"><div class="loading-spinner"></div><div class="loading-text">\u6B63\u5728\u83B7\u53D6\u5F39\u5E55\u6570\u636E...</div></div>';
|
|
resultArea.style.display = 'block';
|
|
|
|
const startTime = performance.now();
|
|
try {
|
|
const commentUrl = '/api/v2/comment/' + episodeId + '?format=json&duration=true';
|
|
const data = await fetch(buildApiUrl(commentUrl))
|
|
.then(resp => {
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
return resp.json();
|
|
});
|
|
if (!isCurrentDanmuRequest(requestId)) return;
|
|
const elapsed = ((performance.now() - startTime) / 1000).toFixed(2);
|
|
const durationSeconds = Number((data && data.videoDuration) || 0);
|
|
|
|
if (!data.comments || data.comments.length === 0) {
|
|
finishDanmuCallEmpty(requestTrace, startTime, {
|
|
name: '\u5F39\u5E55',
|
|
method: 'GET',
|
|
url: commentUrl,
|
|
params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true'
|
|
}, '\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E');
|
|
customAlert('\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E');
|
|
addLog('\u65E0\u5F39\u5E55\u6570\u636E', 'warn');
|
|
const failureSource = source === 'manual' ? 'manual-episode' : source;
|
|
resultArea.innerHTML = renderDanmuCallFailure(requestTrace, '\u65E0\u5F39\u5E55\u6570\u636E', '\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E', failureSource);
|
|
resultArea.style.display = 'block';
|
|
return;
|
|
}
|
|
|
|
finishDanmuCallStep(requestTrace, startTime, {
|
|
name: '\u5F39\u5E55',
|
|
method: 'GET',
|
|
url: commentUrl,
|
|
params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true',
|
|
result: data.comments.length + ' \u6761\u5F39\u5E55'
|
|
});
|
|
|
|
addLog('\u83B7\u53D6\u5230 ' + data.comments.length + ' \u6761\u5F39\u5E55, \u8017\u65F6 ' + elapsed + 's', 'success');
|
|
|
|
danmuTestState.allComments = data.comments;
|
|
danmuTestState.currentFilter = 'all';
|
|
danmuTestState.displayedCount = 0;
|
|
danmuTestState.currentDuration = durationSeconds;
|
|
|
|
// \u91CD\u5EFA\u7ED3\u679C\u533A\u5185\u5BB9\uFF1Aauto\u6A21\u5F0F\u53EA\u6709\u5BFC\u51FA\u6309\u94AE\uFF0Cmanual\u6A21\u5F0F\u6709\u8FD4\u56DE+\u5BFC\u51FA
|
|
let toolbarHtml = '<div class="danmu-result-toolbar">';
|
|
if (source === 'manual') {
|
|
toolbarHtml += backBtnHtml('\u8FD4\u56DE\u5217\u8868', 'backToEpisodeList()');
|
|
}
|
|
toolbarHtml += '<div class="danmu-export-btns">' +
|
|
'<button class="btn btn-sm btn-primary" onclick="exportDanmu(\\'json\\')">\u5BFC\u51FA JSON</button>' +
|
|
'<button class="btn btn-sm btn-primary" onclick="exportDanmu(\\'xml\\')">\u5BFC\u51FA XML</button>' +
|
|
'</div></div>';
|
|
|
|
const filterCounts = getDanmuFilterCounts(data.comments);
|
|
resultArea.innerHTML =
|
|
toolbarHtml +
|
|
'<div class="danmu-stats" id="danmu-stats"></div>' +
|
|
renderDanmuCallTrace(requestTrace) +
|
|
'<div class="danmu-heatmap-container"><h3 class="danmu-section-title">\u5F39\u5E55\u70ED\u529B\u56FE</h3><div class="danmu-heatmap" id="danmu-heatmap"></div></div>' +
|
|
'<div class="danmu-list-area"><h3 class="danmu-section-title">\u5F39\u5E55\u5217\u8868</h3>' +
|
|
renderDanmuFilterTabs(filterCounts) +
|
|
'<div class="danmu-list" id="danmu-list"></div>' +
|
|
'<button class="btn btn-primary danmu-load-more" id="danmu-load-more" onclick="loadMoreDanmu()">\u52A0\u8F7D\u66F4\u591A</button>' +
|
|
'</div>';
|
|
|
|
applyDanmuFilter();
|
|
renderDanmuStats(data, elapsed, title, durationSeconds, filterCounts);
|
|
renderDanmuHeatmap(data.comments, durationSeconds);
|
|
renderDanmuList();
|
|
|
|
setTimeout(() => resultArea.scrollIntoView({ behavior: 'smooth', block: 'start' }), 10);
|
|
} catch (e) {
|
|
if (!isCurrentDanmuRequest(requestId)) return;
|
|
const commentUrl = '/api/v2/comment/' + episodeId + '?format=json&duration=true';
|
|
finishDanmuCallFailure(requestTrace, startTime, {
|
|
name: '\u5F39\u5E55',
|
|
method: 'GET',
|
|
url: commentUrl,
|
|
params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true'
|
|
}, e);
|
|
customAlert('\u83B7\u53D6\u5F39\u5E55\u5931\u8D25: ' + e.message);
|
|
addLog('\u83B7\u53D6\u5F39\u5E55\u5931\u8D25: ' + e.message, 'error');
|
|
const failureSource = source === 'manual' ? 'manual-episode' : source;
|
|
resultArea.innerHTML = renderDanmuCallFailure(requestTrace, '\u83B7\u53D6\u5F39\u5E55\u5931\u8D25', e.message, failureSource);
|
|
resultArea.style.display = 'block';
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u5BFC\u51FA\u5F39\u5E55\uFF08\u76F4\u63A5\u8BF7\u6C42\u540E\u7AEF\u83B7\u53D6\u683C\u5F0F\u5316\u6570\u636E\uFF09
|
|
// =====================
|
|
async function exportDanmu(format) {
|
|
const id = danmuTestState.currentEpisodeId;
|
|
if (!id) { customAlert('\u65E0\u5F39\u5E55\u6570\u636E\u53EF\u5BFC\u51FA'); return; }
|
|
|
|
const title = danmuTestState.currentTitle || ('danmu_' + id);
|
|
// \u6E05\u7406\u6587\u4EF6\u540D\u4E2D\u7684\u975E\u6CD5\u5B57\u7B26
|
|
const safeTitle = title.replace(/[\\\\/:*?"<>|]/g, '_');
|
|
|
|
addLog('\u5BFC\u51FA\u5F39\u5E55 ' + format.toUpperCase() + '...', 'info');
|
|
try {
|
|
const resp = await fetch(buildApiUrl('/api/v2/comment/' + id + '?format=' + format));
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
|
|
let content, mimeType;
|
|
if (format === 'xml') {
|
|
content = await resp.text();
|
|
mimeType = 'application/xml';
|
|
} else {
|
|
const data = await resp.json();
|
|
content = JSON.stringify(data, null, 2);
|
|
mimeType = 'application/json';
|
|
}
|
|
|
|
const blob = new Blob([content], { type: mimeType });
|
|
const url = URL.createObjectURL(blob);
|
|
const a = document.createElement('a');
|
|
a.href = url;
|
|
a.download = safeTitle + '.' + format;
|
|
document.body.appendChild(a);
|
|
a.click();
|
|
document.body.removeChild(a);
|
|
URL.revokeObjectURL(url);
|
|
addLog('\u5BFC\u51FA\u5F39\u5E55 ' + format.toUpperCase() + ' \u6210\u529F', 'success');
|
|
} catch (e) {
|
|
customAlert('\u5BFC\u51FA\u5931\u8D25: ' + e.message);
|
|
addLog('\u5BFC\u51FA\u5931\u8D25: ' + e.message, 'error');
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u5F39\u5E55\u7EDF\u8BA1
|
|
// =====================
|
|
function renderDanmuStats(data, elapsed, title, durationSeconds, filterCounts) {
|
|
const comments = data.comments;
|
|
const count = comments.length;
|
|
|
|
const maxTime = getEffectiveDuration(comments, durationSeconds);
|
|
|
|
// \u5E73\u5747\u5BC6\u5EA6
|
|
const durationMin = maxTime / 60;
|
|
const avgDensity = durationMin > 0 ? (count / durationMin).toFixed(1) : '0';
|
|
|
|
// \u9AD8\u80FD\u65F6\u523B\uFF1A\u627E\u5BC6\u5EA6\u6700\u9AD8\u768430\u79D2\u533A\u95F4
|
|
const segLen = 30;
|
|
const segCount = Math.ceil(maxTime / segLen) || 1;
|
|
const segs = new Array(segCount).fill(0);
|
|
comments.forEach(c => {
|
|
const t = c.t !== undefined ? c.t : parseDanmuTime(c.p);
|
|
if (t > maxTime) return; // \u8DF3\u8FC7\u5F02\u5E38\u65F6\u95F4\u70B9
|
|
const idx = Math.min(Math.floor(t / segLen), segCount - 1);
|
|
segs[idx]++;
|
|
});
|
|
let hotIdx = 0;
|
|
for (let i = 1; i < segs.length; i++) {
|
|
if (segs[i] > segs[hotIdx]) hotIdx = i;
|
|
}
|
|
const hotStart = hotIdx * segLen;
|
|
const hotMoment = formatDuration(hotStart) + ' - ' + formatDuration(hotStart + segLen);
|
|
|
|
const coloredCount = comments.reduce((sum, comment) => {
|
|
if (!comment || !comment.p) return sum;
|
|
const color = parseInt(String(comment.p).split(',')[2], 10);
|
|
return Number.isFinite(color) && color !== 16777215 ? sum + 1 : sum;
|
|
}, 0);
|
|
const coloredRatio = count > 0 ? ((coloredCount / count) * 100).toFixed(1) + '%' : '--';
|
|
|
|
const container = document.getElementById('danmu-stats');
|
|
container.innerHTML =
|
|
'<div class="danmu-stats-title">' + escapeHtml(title) + '</div>' +
|
|
'<div class="danmu-stats-grid">' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + count + '</div><div class="stat-label">\u5F39\u5E55\u6570</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + formatDuration(maxTime) + '</div><div class="stat-label">\u65F6\u957F</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + hotMoment + '</div><div class="stat-label">\u9AD8\u80FD\u65F6\u523B</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + avgDensity + ' \u6761/\u5206</div><div class="stat-label">\u5E73\u5747\u5BC6\u5EA6</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + elapsed + 's</div><div class="stat-label">\u8BF7\u6C42\u8017\u65F6</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + coloredRatio + '</div><div class="stat-label">\u5F69\u8272\u5360\u6BD4</div></div>' +
|
|
'</div>';
|
|
}
|
|
|
|
// =====================
|
|
// \u5F39\u5E55\u70ED\u529B\u56FE
|
|
// =====================
|
|
function renderDanmuHeatmap(comments, durationSeconds) {
|
|
const container = document.getElementById('danmu-heatmap');
|
|
const maxTime = getEffectiveDuration(comments, durationSeconds);
|
|
if (maxTime === 0) { container.innerHTML = '<p class="danmu-empty-text">\u65E0\u6570\u636E</p>'; return; }
|
|
|
|
const barCount = Math.min(60, Math.max(20, Math.ceil(maxTime / 30)));
|
|
const segLen = maxTime / barCount;
|
|
const segs = new Array(barCount).fill(0);
|
|
comments.forEach(c => {
|
|
const t = c.t !== undefined ? c.t : parseDanmuTime(c.p);
|
|
if (t > maxTime) return; // \u8DF3\u8FC7\u5F02\u5E38\u65F6\u95F4\u70B9
|
|
const idx = Math.min(Math.floor(t / segLen), barCount - 1);
|
|
segs[idx]++;
|
|
});
|
|
|
|
const maxSeg = Math.max(...segs, 1);
|
|
let html = '<div class="danmu-heatmap-interactive">';
|
|
html += '<div class="heatmap-bars">';
|
|
for (let i = 0; i < barCount; i++) {
|
|
const pct = Math.max(2, (segs[i] / maxSeg) * 100);
|
|
const intensity = segs[i] / maxSeg;
|
|
// \u4ECE\u84DD\u5230\u7EA2\u7684\u6E10\u53D8
|
|
const r = Math.round(66 + intensity * 189);
|
|
const g = Math.round(126 - intensity * 80);
|
|
const b = Math.round(234 - intensity * 180);
|
|
const start = i * segLen;
|
|
const end = Math.min((i + 1) * segLen, maxTime);
|
|
const timeLabel = formatDuration(start) + ' - ' + formatDuration(end);
|
|
html += '<div class="heatmap-bar" data-index="' + i + '" data-count="' + segs[i] + '" style="--heatmap-height:' + pct + '%;--heatmap-color:rgb(' + r + ',' + g + ',' + b + ');" aria-label="' + timeLabel + ' | ' + segs[i] + '\u6761\u5F39\u5E55"></div>';
|
|
}
|
|
html += '</div>';
|
|
html += '<div class="danmu-heatmap-indicator"></div><div class="danmu-heatmap-tooltip"></div>';
|
|
html += '</div>';
|
|
html += '<div class="heatmap-axis"><span>00:00</span><span>' + formatDuration(maxTime / 2) + '</span><span>' + formatDuration(maxTime) + '</span></div>';
|
|
container.innerHTML = html;
|
|
bindDanmuHeatmapScrub(container, segs, segLen, maxTime);
|
|
}
|
|
|
|
function bindDanmuHeatmapScrub(container, segs, segLen, maxTime) {
|
|
const interactive = container.querySelector('.danmu-heatmap-interactive');
|
|
const bars = container.querySelector('.heatmap-bars');
|
|
const tooltip = container.querySelector('.danmu-heatmap-tooltip');
|
|
const indicator = container.querySelector('.danmu-heatmap-indicator');
|
|
if (!interactive || !bars || !tooltip || !indicator) return;
|
|
|
|
let rafId = null;
|
|
let latestEvent = null;
|
|
const scheduleUpdate = event => {
|
|
latestEvent = event;
|
|
if (rafId) return;
|
|
rafId = requestAnimationFrame(() => {
|
|
rafId = null;
|
|
if (!latestEvent) return;
|
|
updateDanmuHeatmapTooltip(latestEvent, interactive, bars, tooltip, indicator, segs, segLen, maxTime);
|
|
});
|
|
};
|
|
|
|
const hideTooltip = () => hideDanmuHeatmapTooltip(bars, tooltip, indicator, () => {
|
|
if (rafId) {
|
|
cancelAnimationFrame(rafId);
|
|
rafId = null;
|
|
}
|
|
latestEvent = null;
|
|
});
|
|
|
|
interactive.addEventListener('pointermove', scheduleUpdate, { passive: true });
|
|
interactive.addEventListener('pointerdown', scheduleUpdate, { passive: true });
|
|
interactive.addEventListener('pointerup', hideTooltip, { passive: true });
|
|
interactive.addEventListener('pointercancel', hideTooltip, { passive: true });
|
|
interactive.addEventListener('pointerleave', hideTooltip);
|
|
}
|
|
|
|
function hideDanmuHeatmapTooltip(bars, tooltip, indicator, beforeHide) {
|
|
if (beforeHide) beforeHide();
|
|
tooltip.classList.remove('active');
|
|
indicator.classList.remove('active');
|
|
const activeBar = bars.querySelector('.heatmap-bar.active');
|
|
if (activeBar) activeBar.classList.remove('active');
|
|
}
|
|
|
|
function updateDanmuHeatmapTooltip(event, interactive, bars, tooltip, indicator, segs, segLen, maxTime) {
|
|
if (!event) return;
|
|
const rect = bars.getBoundingClientRect();
|
|
if (!rect.width) return;
|
|
const ratio = Math.max(0, Math.min(1, (event.clientX - rect.left) / rect.width));
|
|
const index = Math.max(0, Math.min(segs.length - 1, Math.floor(ratio * segs.length)));
|
|
const start = index * segLen;
|
|
const end = Math.min((index + 1) * segLen, maxTime);
|
|
const leftPct = ((index + 0.5) / segs.length) * 100;
|
|
|
|
const activeBar = bars.querySelector('.heatmap-bar.active');
|
|
if (activeBar) activeBar.classList.remove('active');
|
|
const currentBar = bars.querySelector('.heatmap-bar[data-index="' + index + '"]');
|
|
if (currentBar) currentBar.classList.add('active');
|
|
|
|
tooltip.innerHTML = '<strong>' + segs[index] + '</strong><span>\u6761\u5F39\u5E55</span><em>' + formatDuration(start) + ' - ' + formatDuration(end) + '</em>';
|
|
tooltip.classList.add('active');
|
|
indicator.classList.add('active');
|
|
|
|
const clampedLeft = clampHeatmapTooltipLeft(interactive, tooltip, leftPct);
|
|
tooltip.style.left = clampedLeft + 'px';
|
|
indicator.style.left = leftPct + '%';
|
|
}
|
|
|
|
function clampHeatmapTooltipLeft(interactive, tooltip, leftPct) {
|
|
const width = interactive.clientWidth || 0;
|
|
const tooltipWidth = tooltip.offsetWidth || 0;
|
|
const padding = 8;
|
|
const rawLeft = (leftPct / 100) * width;
|
|
const minLeft = (tooltipWidth / 2) + padding;
|
|
const maxLeft = width - (tooltipWidth / 2) - padding;
|
|
if (width <= tooltipWidth + padding * 2) return width / 2;
|
|
return Math.max(minLeft, Math.min(maxLeft, rawLeft));
|
|
}
|
|
|
|
function getDanmuFilterCounts(comments) {
|
|
const counts = { all: comments.length, scroll: 0, top: 0, bottom: 0 };
|
|
comments.forEach(c => {
|
|
const mode = parseDanmuMode(c.p);
|
|
if (mode === 5) counts.top++;
|
|
else if (mode === 4) counts.bottom++;
|
|
else counts.scroll++;
|
|
});
|
|
return counts;
|
|
}
|
|
|
|
function renderDanmuFilterTabs(counts) {
|
|
const items = [
|
|
{ key: 'all', label: '\u5168\u90E8' },
|
|
{ key: 'scroll', label: '\u6EDA\u52A8' },
|
|
{ key: 'top', label: '\u9876\u90E8' },
|
|
{ key: 'bottom', label: '\u5E95\u90E8' }
|
|
];
|
|
let html = '<div class="danmu-filter-tabs">';
|
|
items.forEach(item => {
|
|
const active = item.key === 'all' ? ' active' : '';
|
|
html += '<button class="danmu-filter-tab' + active + '" data-count="' + counts[item.key] + '" onclick="filterDanmuList(\\'' + item.key + '\\', event)">' + item.label + '<span class="danmu-filter-count">' + counts[item.key] + '</span></button>';
|
|
});
|
|
html += '</div>';
|
|
return html;
|
|
}
|
|
|
|
// =====================
|
|
// \u5F39\u5E55\u5217\u8868\u8FC7\u6EE4\u4E0E\u61D2\u52A0\u8F7D
|
|
// =====================
|
|
function applyDanmuFilter() {
|
|
const filter = danmuTestState.currentFilter;
|
|
if (filter === 'all') {
|
|
danmuTestState.filteredComments = danmuTestState.allComments;
|
|
} else {
|
|
const modeMap = { scroll: 1, top: 5, bottom: 4 };
|
|
const targetMode = modeMap[filter];
|
|
danmuTestState.filteredComments = danmuTestState.allComments.filter(c => {
|
|
const mode = parseDanmuMode(c.p);
|
|
if (filter === 'scroll') return mode !== 4 && mode !== 5;
|
|
return mode === targetMode;
|
|
});
|
|
}
|
|
danmuTestState.displayedCount = 0;
|
|
}
|
|
|
|
function filterDanmuList(type, event) {
|
|
document.querySelectorAll('.danmu-filter-tab').forEach(btn => btn.classList.remove('active'));
|
|
const tab = event.currentTarget || event.target.closest('.danmu-filter-tab');
|
|
if (tab) tab.classList.add('active');
|
|
danmuTestState.currentFilter = type;
|
|
applyDanmuFilter();
|
|
renderDanmuList();
|
|
}
|
|
|
|
function renderDanmuList() {
|
|
const list = danmuTestState.filteredComments;
|
|
const end = Math.min(danmuTestState.displayedCount + danmuTestState.pageSize, list.length);
|
|
let html = '';
|
|
|
|
for (let i = danmuTestState.displayedCount; i < end; i++) {
|
|
const c = list[i];
|
|
const time = c.t !== undefined ? c.t : parseDanmuTime(c.p);
|
|
const mode = parseDanmuMode(c.p);
|
|
const color = parseDanmuColor(c.p);
|
|
const hexColor = decColorToHex(color);
|
|
const modeLabel = getModeLabel(mode);
|
|
|
|
html += '<div class="danmu-item">' +
|
|
'<span class="danmu-time">' + formatDuration(time) + '</span>' +
|
|
'<span class="danmu-color-dot" style="--danmu-color-dot:' + hexColor + ';" title="' + hexColor + '"></span>' +
|
|
'<span class="danmu-mode-tag danmu-mode-' + (mode === 5 ? 'top' : mode === 4 ? 'bottom' : 'scroll') + '">' + modeLabel + '</span>' +
|
|
'<span class="danmu-text">' + escapeHtml(c.m) + '</span>' +
|
|
'</div>';
|
|
}
|
|
|
|
const container = document.getElementById('danmu-list');
|
|
if (danmuTestState.displayedCount === 0) {
|
|
container.innerHTML = html || '<p class="danmu-empty-text danmu-empty-list">\u65E0\u5F39\u5E55\u6570\u636E</p>';
|
|
} else {
|
|
container.insertAdjacentHTML('beforeend', html);
|
|
}
|
|
danmuTestState.displayedCount = end;
|
|
|
|
// \u63A7\u5236\u52A0\u8F7D\u66F4\u591A\u6309\u94AE
|
|
const loadMoreBtn = document.getElementById('danmu-load-more');
|
|
if (end < list.length) {
|
|
loadMoreBtn.style.display = 'block';
|
|
loadMoreBtn.textContent = '\u52A0\u8F7D\u66F4\u591A (' + end + '/' + list.length + ')';
|
|
} else {
|
|
loadMoreBtn.style.display = 'none';
|
|
}
|
|
}
|
|
|
|
function loadMoreDanmu() {
|
|
renderDanmuList();
|
|
}
|
|
`;var Ust=`
|
|
// \u63A8\u9001\u5F39\u5E55\u529F\u80FD\u76F8\u5173
|
|
|
|
// \u4ECE\u73AF\u5883\u53D8\u91CF\u83B7\u53D6\u9ED8\u8BA4\u63A8\u9001\u5730\u5740
|
|
function getDefaultPushUrl(config) {
|
|
const pushUrl = config.originalEnvVars?.DANMU_PUSH_URL || '';
|
|
return pushUrl.trim();
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u9ED8\u8BA4\u63A8\u9001\u5730\u5740
|
|
function setDefaultPushUrl(config) {
|
|
const defaultPushUrl = getDefaultPushUrl(config);
|
|
if (defaultPushUrl) {
|
|
const pushUrlInput = document.getElementById('push-url');
|
|
if (pushUrlInput && !pushUrlInput.value) {
|
|
pushUrlInput.value = defaultPushUrl;
|
|
}
|
|
}
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u63A8\u9001\u5F39\u5E55\u754C\u9762
|
|
function initPushDanmuInterface() {
|
|
const searchKeywordInput = document.getElementById('push-search-keyword');
|
|
if (searchKeywordInput) {
|
|
// \u6DFB\u52A0\u56DE\u8F66\u952E\u641C\u7D22\u4E8B\u4EF6\u76D1\u542C
|
|
searchKeywordInput.addEventListener('keypress', function(event) {
|
|
if (event.key === 'Enter') {
|
|
searchAnimeForPush();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
// \u641C\u7D22\u52A8\u6F2B\u7528\u4E8E\u63A8\u9001
|
|
function searchAnimeForPush() {
|
|
const keyword = document.getElementById('push-search-keyword').value.trim();
|
|
const pushUrl = document.getElementById('push-url').value.trim();
|
|
const searchBtn = document.querySelector('#push-section .btn-primary');
|
|
|
|
if (!keyword) {
|
|
customAlert('\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57');
|
|
return;
|
|
}
|
|
|
|
// \u641C\u7D22\u65F6\u4E0D\u518D\u6821\u9A8CpushUrl\u662F\u5426\u4E3A\u7A7A\uFF0C\u53EA\u5728\u63A8\u9001\u65F6\u6821\u9A8C
|
|
|
|
// \u6DFB\u52A0\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = searchBtn.textContent;
|
|
searchBtn.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
searchBtn.disabled = true;
|
|
|
|
// \u6784\u5EFA\u641C\u7D22API\u8BF7\u6C42URL
|
|
const searchUrl = buildApiUrl('/api/v2/search/anime?keyword=' + encodeURIComponent(keyword));
|
|
|
|
addLog(\`\u5F00\u59CB\u641C\u7D22\u52A8\u6F2B: \${keyword}\`, 'info');
|
|
|
|
// \u53D1\u9001\u641C\u7D22\u8BF7\u6C42
|
|
fetch(searchUrl)
|
|
.then(response => {
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(data => {
|
|
if (data.success && data.animes.length > 0) {
|
|
displayAnimeListForPush(data.animes, pushUrl);
|
|
} else {
|
|
document.getElementById('push-anime-list').style.display = 'none';
|
|
document.getElementById('push-episode-list').style.display = 'none';
|
|
customAlert('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B');
|
|
addLog('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B', 'warn');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25:', error);
|
|
customAlert('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25: ' + error.message);
|
|
addLog('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25: ' + error.message, 'error');
|
|
})
|
|
.finally(() => {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
searchBtn.innerHTML = originalText;
|
|
searchBtn.disabled = false;
|
|
});
|
|
}
|
|
|
|
// \u5C55\u793A\u52A8\u6F2B\u5217\u8868\u7528\u4E8E\u63A8\u9001
|
|
function displayAnimeListForPush(animes, pushUrl) {
|
|
const container = document.getElementById('push-anime-list');
|
|
let html = '<h3>\u641C\u7D22\u7ED3\u679C</h3><div class="anime-grid">';
|
|
|
|
animes.forEach(anime => {
|
|
const imageUrl = anime.imageUrl || 'https://placehold.co/150x200?text=No+Image';
|
|
html += \`
|
|
<div class="anime-item" onclick="getBangumiForPush(\${anime.animeId}, '\${pushUrl}')">
|
|
<img src="\${imageUrl}" alt="\${anime.animeTitle}" referrerpolicy="no-referrer" class="anime-item-img">
|
|
<h4 class="anime-title">\${anime.animeTitle} - \u5171\${anime.episodeCount}\u96C6</h4>
|
|
</div>
|
|
\`;
|
|
});
|
|
|
|
html += '</div>';
|
|
container.innerHTML = html;
|
|
container.style.display = 'block';
|
|
|
|
addLog(\`\u663E\u793A \${animes.length} \u4E2A\u52A8\u6F2B\u7ED3\u679C\`, 'info');
|
|
}
|
|
|
|
// \u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u7528\u4E8E\u63A8\u9001
|
|
function getBangumiForPush(animeId, pushUrl) {
|
|
const bangumiUrl = buildApiUrl('/api/v2/bangumi/' + animeId);
|
|
|
|
addLog(\`\u83B7\u53D6\u756A\u5267\u8BE6\u60C5: \${animeId}\`, 'info');
|
|
|
|
fetch(bangumiUrl)
|
|
.then(response => {
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(data => {
|
|
if (data.success && data.bangumi && data.bangumi.episodes) {
|
|
displayEpisodeListForPush(data.bangumi.animeTitle, data.bangumi.episodes, pushUrl);
|
|
} else {
|
|
customAlert('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F');
|
|
addLog('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F', 'warn');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25:', error);
|
|
customAlert('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + error.message);
|
|
addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + error.message, 'error');
|
|
});
|
|
}
|
|
|
|
// \u5C55\u793A\u5267\u96C6\u5217\u8868\u7528\u4E8E\u63A8\u9001
|
|
function displayEpisodeListForPush(animeTitle, episodes, pushUrl) {
|
|
const container = document.getElementById('push-episode-list');
|
|
let html = \`<h3>\u5267\u96C6\u5217\u8868</h3><h4 class="text-yellow-gold">\${animeTitle}</h4>\`;
|
|
|
|
// \u6DFB\u52A0\u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\u7684\u529F\u80FD
|
|
html += \`
|
|
<div class="jump-to-episode" style="margin-top: 15px; margin-bottom: 15px; padding: 10px; background: #f8f9fa; border-radius: 12px; display: flex; align-items: center; gap: 10px;">
|
|
<span>\u8DF3\u8F6C\u5230\u7B2C</span>
|
|
<input type="number" id="jump-episode-input-push" placeholder="\u8F93\u5165\u96C6\u6570" min="1" style="padding: 8px; width: 90px; border: 1px solid #ccc; border-radius: 8px;">
|
|
<span>\u96C6</span>
|
|
<button class="btn btn-primary btn-sm" onclick="jumpToEpisodeForPushDanmu()" style="margin-left: 5px; border-radius: 8px;">\u8DF3\u8F6C</button>
|
|
<span style="margin-left: 5px; color: #666; font-size: 14px;">\u5171\${episodes.length}\u96C6</span>
|
|
</div>\`;
|
|
|
|
html += '<div class="episode-list-container">';
|
|
|
|
episodes.forEach(episode => {
|
|
// \u751F\u6210\u5F39\u5E55URL
|
|
const commentUrl = window.location.origin + buildApiUrl('/api/v2/comment/' + episode.episodeId + '?format=xml');
|
|
html += \`
|
|
<div class="episode-item" id="episode-item-push-\${episode.episodeNumber}">
|
|
<div class="episode-item-content">
|
|
<strong>\u7B2C\${episode.episodeNumber}\u96C6</strong> - \${episode.episodeTitle || '\u65E0\u6807\u9898'}
|
|
</div>
|
|
<button class="btn btn-success btn-sm episode-push-btn" onclick="pushDanmu('\${pushUrl}', '\${commentUrl}', '\${episode.episodeTitle || '\u7B2C' + episode.episodeNumber + '\u96C6'}')">\u63A8\u9001</button>
|
|
</div>
|
|
\`;
|
|
});
|
|
|
|
html += '</div>';
|
|
container.innerHTML = html;
|
|
container.style.display = 'block';
|
|
|
|
addLog(\`\u663E\u793A \${episodes.length} \u4E2A\u5267\u96C6\`, 'info');
|
|
|
|
// \u81EA\u52A8\u6EDA\u52A8\u5230\u5267\u96C6\u5217\u8868\u5904
|
|
setTimeout(() => {
|
|
container.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
}, 10);
|
|
}
|
|
|
|
// \u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\uFF08\u63A8\u9001\u5F39\u5E55\u7248\uFF09
|
|
function jumpToEpisodeForPushDanmu() {
|
|
const episodeInput = document.getElementById('jump-episode-input-push');
|
|
const episodeNumber = parseInt(episodeInput.value);
|
|
|
|
if (!episodeNumber || episodeNumber <= 0) {
|
|
customAlert('\u8BF7\u8F93\u5165\u6709\u6548\u7684\u96C6\u6570\uFF08\u6B63\u6574\u6570\uFF09');
|
|
return;
|
|
}
|
|
|
|
// \u67E5\u627E\u5BF9\u5E94\u96C6\u6570\u7684\u5143\u7D20
|
|
const episodeElement = document.getElementById('episode-item-push-' + episodeNumber);
|
|
if (episodeElement) {
|
|
// \u6EDA\u52A8\u5230\u6307\u5B9A\u5143\u7D20\u4F4D\u7F6E
|
|
episodeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
// \u6DFB\u52A0\u9AD8\u4EAE\u6548\u679C\u4EE5\u4FBF\u8BC6\u522B
|
|
episodeElement.style.backgroundColor = '#fff3cd'; // \u9EC4\u8272\u80CC\u666F\u9AD8\u4EAE
|
|
setTimeout(() => {
|
|
episodeElement.style.backgroundColor = ''; // \u6062\u590D\u539F\u8272
|
|
}, 2000);
|
|
} else {
|
|
customAlert('\u627E\u4E0D\u5230\u7B2C' + episodeNumber + '\u96C6');
|
|
}
|
|
}
|
|
|
|
// \u63A8\u9001\u5F39\u5E55
|
|
async function pushDanmu(pushUrl, commentUrl, episodeTitle) {
|
|
// \u83B7\u53D6\u63A8\u9001\u6309\u94AE\u5143\u7D20
|
|
const pushButton = event.target; // \u901A\u8FC7\u4E8B\u4EF6\u5BF9\u8C61\u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u6309\u94AE
|
|
|
|
// \u6821\u9A8C\u63A8\u9001\u5730\u5740\u662F\u5426\u4E3A\u7A7A
|
|
if (!pushUrl || pushUrl.trim() === '') {
|
|
customAlert('\u8BF7\u8F93\u5165\u63A8\u9001\u5730\u5740');
|
|
if (pushButton) {
|
|
pushButton.innerHTML = '\u63A8\u9001';
|
|
pushButton.disabled = false;
|
|
}
|
|
return;
|
|
}
|
|
|
|
if (pushButton) {
|
|
const originalText = pushButton.innerHTML;
|
|
pushButton.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
pushButton.disabled = true;
|
|
}
|
|
|
|
try {
|
|
// \u5411\u63A8\u9001\u5730\u5740\u53D1\u9001\u5F39\u5E55\u6570\u636E
|
|
const pushResponse = await fetch(pushUrl + encodeURIComponent(commentUrl), {
|
|
method: 'GET',
|
|
mode: 'no-cors', // \u7531\u4E8E\u8DE8\u57DF\u9650\u5236\uFF0C\u4F7F\u7528no-cors\u6A21\u5F0F
|
|
});
|
|
|
|
customAlert('\u5F39\u5E55\u63A8\u9001\u6210\u529F\uFF01' + episodeTitle);
|
|
addLog('\u5F39\u5E55\u63A8\u9001\u6210\u529F - ' + episodeTitle, 'success');
|
|
} catch (error) {
|
|
console.error('\u63A8\u9001\u5F39\u5E55\u5931\u8D25:', error);
|
|
customAlert('\u63A8\u9001\u5F39\u5E55\u5931\u8D25: ' + error.message);
|
|
addLog('\u63A8\u9001\u5F39\u5E55\u5931\u8D25: ' + error.message, 'error');
|
|
} finally {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
if (pushButton) {
|
|
pushButton.innerHTML = '\u63A8\u9001';
|
|
pushButton.disabled = false;
|
|
}
|
|
}
|
|
}
|
|
`;var qst=`
|
|
// \u8BF7\u6C42\u8BB0\u5F55\u76F8\u5173\u529F\u80FD
|
|
async function renderRequestRecords() {
|
|
const recordsContainer = document.getElementById('request-records-list');
|
|
if (!recordsContainer) {
|
|
console.error('\u672A\u627E\u5230\u8BF7\u6C42\u8BB0\u5F55\u5BB9\u5668');
|
|
return;
|
|
}
|
|
|
|
try {
|
|
// \u4ECEAPI\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55
|
|
const response = await fetch(buildApiUrl('/api/reqrecords'));
|
|
if (!response.ok) {
|
|
throw new Error('\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u5931\u8D25');
|
|
}
|
|
|
|
const data = await response.json();
|
|
const records = data.records;
|
|
const todayReqNum = data.todayReqNum;
|
|
|
|
// \u663E\u793A\u4ECA\u65E5\u8BF7\u6C42\u603B\u6570
|
|
const totalRequestsElement = document.getElementById('total-requests-today');
|
|
if (totalRequestsElement) {
|
|
totalRequestsElement.textContent = \`\u4ECA\u65E5\u8BF7\u6C42\u603B\u6570: \${todayReqNum}\`;
|
|
}
|
|
|
|
if (records.length === 0) {
|
|
recordsContainer.innerHTML = '<div class="no-records">\u6682\u65E0\u8BF7\u6C42\u8BB0\u5F55</div>';
|
|
return;
|
|
}
|
|
|
|
// \u751F\u6210\u8BB0\u5F55HTML
|
|
const recordsHtml = records.map(record => {
|
|
const interfaceName = decodeURIComponent(record.interface) || '\u672A\u77E5\u63A5\u53E3';
|
|
const params = record.params || {};
|
|
const timestamp = record.timestamp ? new Date(record.timestamp).toLocaleString('zh-CN') : '\u672A\u77E5\u65F6\u95F4';
|
|
const method = record.method || 'GET';
|
|
const clientIp = record.clientIp || '\u672A\u77E5IP';
|
|
|
|
// \u683C\u5F0F\u5316\u53C2\u6570\u663E\u793A
|
|
const hasParams = Object.keys(params).length > 0;
|
|
const paramsHtml = hasParams
|
|
? \`<div class="record-params">
|
|
<div class="record-params-title">\u8BF7\u6C42\u53C2\u6570</div>
|
|
<pre>\${JSON.stringify(params, null, 2)}</pre>
|
|
</div>\`
|
|
: '';
|
|
|
|
// \u5982\u679C\u6CA1\u6709\u53C2\u6570\uFF0C\u7ED9\u65F6\u95F4\u6233\u6DFB\u52A0 no-params \u7C7B\u4EE5\u9690\u85CF\u865A\u7EBF
|
|
const timestampClass = hasParams ? 'record-timestamp' : 'record-timestamp no-params';
|
|
|
|
return \`
|
|
<div class="record-item">
|
|
<div class="record-header">
|
|
<div class="record-method">\${method}</div>
|
|
<div class="record-interface">\${interfaceName}</div>
|
|
<div class="record-ip">\${clientIp}</div>
|
|
</div>
|
|
<div class="\${timestampClass}">\${timestamp}</div>
|
|
\${paramsHtml}
|
|
</div>\`;
|
|
}).join('');
|
|
|
|
recordsContainer.innerHTML = recordsHtml;
|
|
} catch (error) {
|
|
console.error('\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u65F6\u51FA\u9519:', error);
|
|
recordsContainer.innerHTML = '<div class="no-records">\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u5931\u8D25: ' + error.message + '</div>';
|
|
}
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u8BF7\u6C42\u8BB0\u5F55\u754C\u9762
|
|
function initRequestRecordsInterface() {
|
|
// \u786E\u4FDD\u5728\u5207\u6362\u5230\u8BF7\u6C42\u8BB0\u5F55\u6807\u7B7E\u9875\u65F6\u4E5F\u66F4\u65B0\u8BB0\u5F55
|
|
const originalSwitchSection = window.switchSection;
|
|
if (originalSwitchSection && typeof originalSwitchSection === 'function') {
|
|
window.switchSection = function(section, event = null) {
|
|
// \u8C03\u7528\u539F\u51FD\u6570
|
|
originalSwitchSection(section, event);
|
|
|
|
// \u5982\u679C\u5207\u6362\u5230\u8BF7\u6C42\u8BB0\u5F55\u9875\u9762\uFF0C\u5219\u5237\u65B0\u8BB0\u5F55
|
|
if (section === 'request-records') {
|
|
setTimeout(renderRequestRecords, 100);
|
|
}
|
|
};
|
|
}
|
|
|
|
// \u9996\u6B21\u521D\u59CB\u5316
|
|
if (document.getElementById('request-records-section') &&
|
|
document.querySelector('.nav-btn[data-section="request-records"]') &&
|
|
document.querySelector('.nav-btn[data-section="request-records"]').classList.contains('active')) {
|
|
renderRequestRecords();
|
|
}
|
|
}
|
|
|
|
// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
if (typeof initRequestRecordsInterface === 'function') {
|
|
initRequestRecordsInterface();
|
|
}
|
|
|
|
// \u6DFB\u52A0\u5237\u65B0\u6309\u94AE\u529F\u80FD
|
|
const refreshBtn = document.getElementById('refresh-request-records');
|
|
if (refreshBtn) {
|
|
refreshBtn.onclick = function() {
|
|
renderRequestRecords();
|
|
};
|
|
}
|
|
|
|
});
|
|
`;var jst=`
|
|
// \u5168\u5C40\u53D8\u91CF\u5B9A\u4E49
|
|
let isMergeMode = false;
|
|
let stagingTags = [];
|
|
|
|
// \u663E\u793A\u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846
|
|
function showClearCacheModal() {
|
|
document.getElementById('clear-cache-modal').classList.add('active');
|
|
}
|
|
|
|
// \u9690\u85CF\u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846
|
|
function hideClearCacheModal() {
|
|
document.getElementById('clear-cache-modal').classList.remove('active');
|
|
}
|
|
|
|
// \u786E\u8BA4\u6E05\u7406\u7F13\u5B58
|
|
async function confirmClearCache() {
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
|
|
const configCheck = await checkDeployPlatformConfig();
|
|
if (!configCheck.success) {
|
|
hideClearCacheModal();
|
|
customAlert(configCheck.message);
|
|
return;
|
|
}
|
|
|
|
hideClearCacheModal();
|
|
showLoading('\u6B63\u5728\u6E05\u7406\u7F13\u5B58...', '\u6E05\u9664\u4E2D\uFF0C\u8BF7\u7A0D\u5019');
|
|
addLog('\u5F00\u59CB\u6E05\u7406\u7F13\u5B58', 'info');
|
|
|
|
try {
|
|
// \u8C03\u7528\u771F\u5B9E\u7684\u6E05\u7406\u7F13\u5B58API
|
|
const response = await fetch(buildApiUrl('/api/cache/clear', true), { // \u4F7F\u7528admin token
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.success) {
|
|
updateLoadingText('\u6E05\u7406\u5B8C\u6210', '\u7F13\u5B58\u5DF2\u6210\u529F\u6E05\u9664');
|
|
addLog('\u7F13\u5B58\u6E05\u7406\u5B8C\u6210', 'success');
|
|
addLog('\u7F13\u5B58\u6E05\u7406\u6210\u529F\uFF01\u5DF2\u6E05\u7406: ' + JSON.stringify(result.clearedItems), 'success');
|
|
} else {
|
|
updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u8BF7\u67E5\u770B\u65E5\u5FD7\u4E86\u89E3\u8BE6\u60C5');
|
|
addLog('\u7F13\u5B58\u6E05\u7406\u5931\u8D25: ' + result.message, 'error');
|
|
}
|
|
} catch (error) {
|
|
updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u7F51\u7EDC\u9519\u8BEF\u6216\u670D\u52A1\u4E0D\u53EF\u7528');
|
|
addLog('\u7F13\u5B58\u6E05\u7406\u8BF7\u6C42\u5931\u8D25: ' + error.message, 'error');
|
|
} finally {
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
}, 10);
|
|
}
|
|
}
|
|
|
|
// \u663E\u793A\u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846
|
|
function showDeploySystemModal() {
|
|
document.getElementById('deploy-system-modal').classList.add('active');
|
|
}
|
|
|
|
// \u9690\u85CF\u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846
|
|
function hideDeploySystemModal() {
|
|
document.getElementById('deploy-system-modal').classList.remove('active');
|
|
}
|
|
|
|
// \u786E\u8BA4\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF
|
|
function confirmDeploySystem() {
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
|
|
checkDeployPlatformConfig().then(configCheck => {
|
|
if (!configCheck.success) {
|
|
hideDeploySystemModal();
|
|
customAlert(configCheck.message);
|
|
return;
|
|
}
|
|
|
|
hideDeploySystemModal();
|
|
showLoading('\u51C6\u5907\u90E8\u7F72...', '\u6B63\u5728\u68C0\u67E5\u7CFB\u7EDF\u72B6\u6001');
|
|
addLog('===== \u5F00\u59CB\u7CFB\u7EDF\u90E8\u7F72 =====', 'info');
|
|
|
|
// \u83B7\u53D6\u5F53\u524D\u90E8\u7F72\u5E73\u53F0
|
|
fetch(buildApiUrl('/api/config', true))
|
|
.then(response => response.json())
|
|
.then(config => {
|
|
const deployPlatform = config.envs.deployPlatform || 'node';
|
|
addLog(\`\u68C0\u6D4B\u5230\u90E8\u7F72\u5E73\u53F0: \${deployPlatform}\`, 'info');
|
|
|
|
if (deployPlatform.toLowerCase() === 'node') {
|
|
// Node\u90E8\u7F72\u4E0D\u9700\u8981\u91CD\u65B0\u90E8\u7F72
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
addLog('===== \u90E8\u7F72\u5B8C\u6210 =====', 'success');
|
|
addLog('Node\u90E8\u7F72\u6A21\u5F0F\uFF0C\u73AF\u5883\u53D8\u91CF\u5DF2\u751F\u6548', 'info');
|
|
addLog('Node\u90E8\u7F72\u6A21\u5F0F - \u5728Node\u90E8\u7F72\u6A21\u5F0F\u4E0B\uFF0C\u73AF\u5883\u53D8\u91CF\u4FEE\u6539\u540E\u4F1A\u81EA\u52A8\u751F\u6548\uFF0C\u65E0\u9700\u91CD\u65B0\u90E8\u7F72\u3002\u7CFB\u7EDF\u5DF2\u66F4\u65B0\u914D\u7F6E', 'success');
|
|
}, 150);
|
|
} else {
|
|
// \u8C03\u7528\u771F\u5B9E\u7684\u90E8\u7F72API
|
|
fetch(buildApiUrl('/api/deploy', true), { // \u4F7F\u7528admin token
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
})
|
|
.then(response => response.json())
|
|
.then(result => {
|
|
if (result.success) {
|
|
addLog('\u4E91\u7AEF\u90E8\u7F72\u89E6\u53D1\u6210\u529F', 'success');
|
|
// \u6A21\u62DF\u4E91\u7AEF\u90E8\u7F72\u8FC7\u7A0B
|
|
simulateDeployProcess();
|
|
} else {
|
|
hideLoading();
|
|
addLog(\`\u4E91\u7AEF\u90E8\u7F72\u5931\u8D25: \${result.message}\`, 'error');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
hideLoading();
|
|
addLog(\`\u4E91\u7AEF\u90E8\u7F72\u8BF7\u6C42\u5931\u8D25: \${error.message}\`, 'error');
|
|
});
|
|
}
|
|
})
|
|
.catch(error => {
|
|
hideLoading();
|
|
addLog(\`\u83B7\u53D6\u90E8\u7F72\u5E73\u53F0\u4FE1\u606F\u5931\u8D25: \${error.message}\`, 'error');
|
|
console.error('\u83B7\u53D6\u90E8\u7F72\u5E73\u53F0\u4FE1\u606F\u5931\u8D25:', error);
|
|
});
|
|
});
|
|
}
|
|
|
|
// \u6A21\u62DF\u4E91\u7AEF\u90E8\u7F72\u8FC7\u7A0B
|
|
function simulateDeployProcess() {
|
|
let progress = 0;
|
|
const progressInterval = setInterval(() => {
|
|
progress += Math.random() * 8;
|
|
if (progress >= 100) {
|
|
progress = 10;
|
|
clearInterval(progressInterval);
|
|
}
|
|
updateProgress(progress);
|
|
}, 300);
|
|
|
|
// \u6A21\u62DF\u90E8\u7F72\u6B65\u9AA4
|
|
const steps = [
|
|
{ delay: 100, text: '\u68C0\u67E5\u73AF\u5883\u53D8\u91CF...', detail: '\u9A8C\u8BC1\u914D\u7F6E\u6587\u4EF6', log: '\u914D\u7F6E\u6587\u4EF6\u9A8C\u8BC1\u901A\u8FC7' },
|
|
{ delay: 5000, text: '\u89E6\u53D1\u4E91\u7AEF\u90E8\u7F72...', detail: '\u90E8\u7F72\u5230\u5F53\u524D\u5E73\u53F0', log: '\u4E91\u7AEF\u90E8\u7F72\u5DF2\u89E6\u53D1' },
|
|
{ delay: 9500, text: '\u6784\u5EFA\u9879\u76EE...', detail: '\u4E91\u7AEF\u6784\u5EFA\u4E2D', log: '\u4E91\u7AEF\u6784\u5EFA\u5B8C\u6210' },
|
|
{ delay: 5000, text: '\u90E8\u7F72\u66F4\u65B0...', detail: '\u53D1\u5E03\u5230\u751F\u4EA7\u73AF\u5883', log: '\u66F4\u65B0\u5DF2\u90E8\u7F72' },
|
|
{ delay: 5500, text: '\u670D\u52A1\u91CD\u542F...', detail: '\u5E94\u7528\u65B0\u914D\u7F6E', log: '\u670D\u52A1\u5DF2\u91CD\u542F' },
|
|
{ delay: 5000, text: '\u5065\u5EB7\u68C0\u67E5...', detail: '\u9A8C\u8BC1\u670D\u52A1\u72B6\u6001', log: '\u6240\u6709\u670D\u52A1\u8FD0\u884C\u6B63\u5E38' },
|
|
];
|
|
|
|
steps.forEach(step => {
|
|
setTimeout(() => {
|
|
updateLoadingText(step.text, step.detail);
|
|
addLog(step.log, 'success');
|
|
}, step.delay);
|
|
});
|
|
|
|
// \u90E8\u7F72\u540E\u68C0\u67E5\u670D\u52A1\u662F\u5426\u53EF\u7528
|
|
setTimeout(() => {
|
|
checkDeploymentStatus();
|
|
}, 900); // \u5EF6\u957F\u5EF6\u8FDF\u4EE5\u786E\u4FDD\u6A21\u62DF\u90E8\u7F72\u8FC7\u7A0B\u5B8C\u6210
|
|
}
|
|
|
|
// \u68C0\u67E5\u90E8\u7F72\u72B6\u6001\uFF0C\u6BCF\u96945\u79D2\u8BF7\u6C42/api/logs\u63A5\u53E3\u76F4\u5230\u8BF7\u6C42\u6210\u529F
|
|
function checkDeploymentStatus() {
|
|
const checkInterval = setInterval(() => {
|
|
updateLoadingText('\u90E8\u7F72\u5B8C\u6210\uFF0C\u68C0\u67E5\u670D\u52A1\u72B6\u6001...', '\u6B63\u5728\u8BF7\u6C42 /api/logs \u63A5\u53E3');
|
|
addLog('\u6B63\u5728\u68C0\u67E5\u670D\u52A1\u72B6\u6001...', 'info');
|
|
|
|
fetch(buildApiUrl('/api/logs'))
|
|
.then(response => {
|
|
if (response.ok) {
|
|
// \u8BF7\u6C42\u6210\u529F\uFF0C\u505C\u6B62\u68C0\u67E5
|
|
clearInterval(checkInterval);
|
|
// \u66F4\u65B0\u52A0\u8F7D\u72B6\u6001\u800C\u4E0D\u662F\u7ACB\u5373\u9690\u85CF
|
|
updateLoadingText('\u90E8\u7F72\u6210\u529F\uFF01', '\u670D\u52A1\u5DF2\u91CD\u542F\u5E76\u6B63\u5E38\u8FD0\u884C');
|
|
addLog('===== \u90E8\u7F72\u5B8C\u6210 =====', 'success');
|
|
addLog('\u90E8\u7F72\u7248\u672C: ' + latestVersion, 'info');
|
|
addLog('\u7CFB\u7EDF\u5DF2\u66F4\u65B0\u5E76\u91CD\u542F', 'success');
|
|
|
|
// \u90E8\u7F72\u5B8C\u6210\u540E\u518D\u6B21\u786E\u8BA4\uFF0C\u8BBF\u95EE/api/logs\u63A5\u53E3\u6765\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
|
|
confirmDeploymentByLogs();
|
|
} else {
|
|
addLog('\u670D\u52A1\u68C0\u67E5\u4E2D - \u72B6\u6001\u7801: ' + response.status, 'info');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
addLog('\u670D\u52A1\u68C0\u67E5\u4E2D - \u8FDE\u63A5\u5931\u8D25: ' + error.message, 'info');
|
|
});
|
|
}, 500); // \u6BCF5\u79D2\u68C0\u67E5\u4E00\u6B21
|
|
}
|
|
|
|
// \u90E8\u7F72\u5B8C\u6210\u540E\u901A\u8FC7\u8BBF\u95EE/api/logs\u63A5\u53E3\u6765\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
|
|
function confirmDeploymentByLogs() {
|
|
// \u90E8\u7F72\u5B8C\u6210\u540E\u7684\u786E\u8BA4\u68C0\u67E5
|
|
let confirmationAttempts = 0;
|
|
const maxAttempts = 3; // \u6700\u591A\u5C1D\u8BD53\u6B21\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
|
|
|
|
const confirmationInterval = setInterval(() => {
|
|
confirmationAttempts++;
|
|
updateLoadingText('\u90E8\u7F72\u5B8C\u6210\u786E\u8BA4\u4E2D...', '\u6B63\u5728\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210 (' + confirmationAttempts + '/' + maxAttempts + ')');
|
|
addLog('\u90E8\u7F72\u5B8C\u6210\u786E\u8BA4 - \u5C1D\u8BD5 ' + confirmationAttempts + '/' + maxAttempts, 'info');
|
|
|
|
fetch(buildApiUrl('/api/logs'))
|
|
.then(response => {
|
|
if (response.ok) {
|
|
// \u8BF7\u6C42\u6210\u529F\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5
|
|
clearInterval(confirmationInterval);
|
|
// \u663E\u793A\u6210\u529F\u4FE1\u606F\u540E\u5EF6\u8FDF\u9690\u85CF\u52A0\u8F7D\u906E\u7F69
|
|
updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u6210\u529F\uFF01', '\u670D\u52A1\u5DF2\u91CD\u542F\u5E76\u6B63\u5E38\u8FD0\u884C');
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u6210\u529F - /api/logs \u63A5\u53E3\u8BBF\u95EE\u6B63\u5E38', 'success');
|
|
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
// \u663E\u793A\u6210\u529F\u5F39\u7A97
|
|
customAlert('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548');
|
|
addLog('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success');
|
|
}, 200);
|
|
} else if (confirmationAttempts >= maxAttempts) {
|
|
// \u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5
|
|
clearInterval(confirmationInterval);
|
|
updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210', '\u670D\u52A1\u5DF2\u91CD\u542F');
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210 - \u5DF2\u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570', 'warn');
|
|
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
// \u663E\u793A\u6210\u529F\u5F39\u7A97
|
|
customAlert('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548');
|
|
addLog('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success');
|
|
}, 200);
|
|
} else {
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u4E2D - \u72B6\u6001\u7801: ' + response.status, 'info');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
if (confirmationAttempts >= maxAttempts) {
|
|
// \u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5
|
|
clearInterval(confirmationInterval);
|
|
updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210', '\u670D\u52A1\u5DF2\u91CD\u542F');
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210 - \u5DF2\u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570', 'warn');
|
|
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
// \u663E\u793A\u6210\u529F\u5F39\u7A97
|
|
customAlert('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548');
|
|
addLog('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success');
|
|
}, 200);
|
|
} else {
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u4E2D - \u8FDE\u63A5\u5931\u8D25: ' + error.message, 'info');
|
|
}
|
|
});
|
|
}, 5000); // \u6BCF5\u79D2\u68C0\u67E5\u4E00\u6B21\uFF0C\u7528\u4E8E\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
|
|
}
|
|
|
|
// \u68C0\u67E5URL\u4E2D\u7684token\u662F\u5426\u4E0EcurrentAdminToken\u5339\u914D
|
|
function checkAdminToken() {
|
|
let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u53D8\u91CF customBaseUrl
|
|
|
|
// \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token
|
|
let urlPath = window.location.pathname;
|
|
|
|
// \u5982\u679C\u914D\u7F6E\u4E86\u53CD\u4EE3\u8DEF\u5F84\uFF0C\u5FC5\u987B\u5148\u5265\u79BB\u5B83
|
|
if(_reverseProxy) {
|
|
try {
|
|
// \u89E3\u6790\u914D\u7F6E\u4E2D\u7684\u8DEF\u5F84\u90E8\u5206\uFF0C\u4F8B\u5982 http://192.168.8.1:2333/danmu_api => /danmu_api
|
|
let proxyPath = _reverseProxy.startsWith('http')
|
|
? new URL(_reverseProxy).pathname
|
|
: _reverseProxy;
|
|
|
|
// \u786E\u4FDD\u79FB\u9664\u5C3E\u90E8\u659C\u6760
|
|
if (proxyPath.endsWith('/')) {
|
|
proxyPath = proxyPath.slice(0, -1);
|
|
}
|
|
|
|
// \u5982\u679C\u5F53\u524DURL\u5305\u542B\u6B64\u524D\u7F00\uFF0C\u5219\u79FB\u9664\u5B83
|
|
if(proxyPath && urlPath.startsWith(proxyPath)) {
|
|
urlPath = urlPath.substring(proxyPath.length);
|
|
}
|
|
} catch(e) {
|
|
console.error("\u89E3\u6790\u53CD\u4EE3\u8DEF\u5F84\u5931\u8D25", e);
|
|
}
|
|
}
|
|
|
|
const pathParts = urlPath.split('/').filter(part => part !== '');
|
|
const urlToken = pathParts.length > 0 ? pathParts[0] : currentToken; // \u5982\u679C\u6CA1\u6709\u8DEF\u5F84\u6BB5\uFF0C\u4F7F\u7528\u9ED8\u8BA4token
|
|
|
|
// \u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN\u4E14URL\u4E2D\u7684token\u7B49\u4E8EcurrentAdminToken
|
|
return currentAdminToken && currentAdminToken.trim() !== '' && urlToken === currentAdminToken;
|
|
}
|
|
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u914D\u7F6E
|
|
async function checkDeployPlatformConfig() {
|
|
// \u9996\u5148\u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN
|
|
if (!checkAdminToken()) {
|
|
// \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3
|
|
const protocol = window.location.protocol;
|
|
const host = window.location.host;
|
|
|
|
let displayBase;
|
|
if (customBaseUrl) {
|
|
displayBase = customBaseUrl.startsWith('http')
|
|
? customBaseUrl
|
|
: (protocol + '//' + host + customBaseUrl);
|
|
} else {
|
|
displayBase = protocol + '//' + host;
|
|
}
|
|
|
|
if (displayBase.endsWith('/')) {
|
|
displayBase = displayBase.slice(0, -1);
|
|
}
|
|
|
|
return { success: false, message: \`<div style="text-align: left;">
|
|
<p style="margin-bottom: 12px; font-weight: 500;">\u68C0\u6D4B\u5230\u672A\u914D\u7F6E\u7CFB\u7EDF\u7BA1\u7406\u4EE4\u724C (ADMIN_TOKEN)\uFF0C\u65E0\u6CD5\u4F7F\u7528\u7CFB\u7EDF\u914D\u7F6E\u529F\u80FD\u3002</p>
|
|
<div style="background: rgba(0,0,0,0.03); padding: 16px; border-radius: 12px; font-size: 13px; border: 1px solid rgba(0,0,0,0.05);">
|
|
<p style="margin-bottom: 8px; font-weight: bold; color: var(--text-primary);">\u5982\u4F55\u4FEE\u590D\uFF1A</p>
|
|
<ol style="padding-left: 20px; margin-bottom: 12px; color: var(--text-secondary); line-height: 1.6;">
|
|
<li>\u5728\u90E8\u7F72\u5E73\u53F0\u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF <code>ADMIN_TOKEN</code></li>
|
|
<li>\u91CD\u65B0\u90E8\u7F72\u670D\u52A1</li>
|
|
<li>\u4F7F\u7528\u5E26Token\u7684\u94FE\u63A5\u8BBF\u95EE</li>
|
|
</ol>
|
|
<p style="margin-bottom: 6px; font-weight: bold; color: var(--text-primary);">\u8BBF\u95EE\u793A\u4F8B\uFF1A</p>
|
|
<code style="display: block; background: #fff; padding: 10px; border-radius: 8px; border: 1px solid rgba(0,0,0,0.08); word-break: break-all; font-family: 'SF Mono', monospace; color: var(--primary-color);">\${displayBase}/{ADMIN_TOKEN}</code>
|
|
</div>
|
|
</div>\` };
|
|
}
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/config', true));
|
|
if (!response.ok) {
|
|
throw new Error('HTTP error! status: ' + response.status);
|
|
}
|
|
|
|
const config = await response.json();
|
|
const deployPlatform = config.envs.deployPlatform || 'node';
|
|
|
|
// \u5982\u679C\u662Fnode\u90E8\u7F72\u5E73\u53F0\uFF0C\u53EA\u9700\u8981\u68C0\u67E5ADMIN_TOKEN
|
|
if (deployPlatform.toLowerCase() === 'node') {
|
|
return { success: true, message: 'Node\u90E8\u7F72\u5E73\u53F0\uFF0C\u4EC5\u9700\u914D\u7F6EADMIN_TOKEN' };
|
|
}
|
|
|
|
// \u5BF9\u4E8E\u5176\u4ED6\u90E8\u7F72\u5E73\u53F0\uFF0C\u6536\u96C6\u6240\u6709\u7F3A\u5931\u7684\u73AF\u5883\u53D8\u91CF
|
|
const missingVars = [];
|
|
const deployPlatformProject = config.originalEnvVars.DEPLOY_PLATFROM_PROJECT;
|
|
const deployPlatformToken = config.originalEnvVars.DEPLOY_PLATFROM_TOKEN;
|
|
const deployPlatformAccount = config.originalEnvVars.DEPLOY_PLATFROM_ACCOUNT;
|
|
|
|
if (!deployPlatformProject || deployPlatformProject.trim() === '') {
|
|
missingVars.push('DEPLOY_PLATFROM_PROJECT');
|
|
}
|
|
|
|
if (!deployPlatformToken || deployPlatformToken.trim() === '') {
|
|
missingVars.push('DEPLOY_PLATFROM_TOKEN');
|
|
}
|
|
|
|
// \u5BF9\u4E8E\u9700\u8981\u8D26\u53F7ID\u7684\u90E8\u7F72\u5E73\u53F0\uFF0C\u8FD8\u9700\u8981\u68C0\u67E5DEPLOY_PLATFROM_ACCOUNT
|
|
if (['netlify', 'cloudflare', 'huggingface'].includes(deployPlatform.toLowerCase())) {
|
|
if (!deployPlatformAccount || deployPlatformAccount.trim() === '') {
|
|
missingVars.push('DEPLOY_PLATFROM_ACCOUNT');
|
|
}
|
|
}
|
|
|
|
if (missingVars.length > 0) {
|
|
const missingVarsStr = missingVars.join('\u3001');
|
|
return { success: false, message: '\u90E8\u7F72\u5E73\u53F0\u4E3A' + deployPlatform + '\uFF0C\u8BF7\u914D\u7F6E\u4EE5\u4E0B\u7F3A\u5931\u7684\u73AF\u5883\u53D8\u91CF\uFF1A' + missingVarsStr };
|
|
}
|
|
|
|
return { success: true, message: deployPlatform + '\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5B8C\u6574' };
|
|
} catch (error) {
|
|
console.error('\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5931\u8D25:', error);
|
|
return { success: false, message: '\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5931\u8D25: ' + error.message };
|
|
}
|
|
}
|
|
|
|
// \u83B7\u53D6\u5E76\u8BBE\u7F6E\u914D\u7F6E\u4FE1\u606F
|
|
async function fetchAndSetConfig() {
|
|
const config = await fetch(buildApiUrl('/api/config', true)).then(response => response.json());
|
|
const hasAdminToken = config.hasAdminToken;
|
|
currentAdminToken = config.originalEnvVars?.ADMIN_TOKEN || '';
|
|
return config;
|
|
}
|
|
|
|
// \u68C0\u67E5\u5E76\u5904\u7406\u7BA1\u7406\u5458\u4EE4\u724C
|
|
function checkAndHandleAdminToken() {
|
|
if (!checkAdminToken()) {
|
|
// \u7981\u7528\u7CFB\u7EDF\u914D\u7F6E\u6309\u94AE\u5E76\u6DFB\u52A0\u63D0\u793A
|
|
const envNavBtn = document.getElementById('env-nav-btn');
|
|
if (envNavBtn) {
|
|
envNavBtn.title = '\u8BF7\u5148\u914D\u7F6EADMIN_TOKEN\u5E76\u4F7F\u7528\u6B63\u786E\u7684admin token\u8BBF\u95EE\u4EE5\u542F\u7528\u7CFB\u7EDF\u7BA1\u7406\u529F\u80FD';
|
|
}
|
|
}
|
|
}
|
|
|
|
// \u6E32\u67D3\u503C\u8F93\u5165\u63A7\u4EF6
|
|
function renderValueInput(item) {
|
|
const container = document.getElementById('value-input-container');
|
|
const type = item ? item.type : document.getElementById('value-type').value;
|
|
const value = item ? item.value : '';
|
|
const currentKey = item ? item.key : document.getElementById('env-key').value;
|
|
|
|
if (type === 'boolean') {
|
|
// \u5E03\u5C14\u5F00\u5173
|
|
// \u5BF9\u4E8ELIKE_SWITCH\u53D8\u91CF\uFF0C\u9ED8\u8BA4\u503C\u8BBE\u4E3Atrue\uFF08\u5F00\u542F\u72B6\u6001\uFF09
|
|
let checked;
|
|
if (currentKey === 'LIKE_SWITCH' || currentKey === 'REMEMBER_LAST_SELECT') {
|
|
// \u5982\u679C\u503C\u4E3A\u7A7A\u6216\u672A\u5B9A\u4E49\uFF0CLIKE_SWITCH\u548CREMEMBER_LAST_SELECT\u9ED8\u8BA4\u4E3Atrue\uFF08\u5F00\u542F\uFF09
|
|
checked = value === 'true' || value === true || (value === '' || value === undefined || value === null);
|
|
} else {
|
|
checked = value === 'true' || value === true;
|
|
}
|
|
container.innerHTML = \`
|
|
<label>\u503C</label>
|
|
<div class="switch-container">
|
|
<label class="switch">
|
|
<input type="checkbox" id="bool-value" \${checked ? 'checked' : ''}>
|
|
<span class="slider"></span>
|
|
</label>
|
|
<span class="switch-label" id="bool-label">\${checked ? '\u542F\u7528' : '\u7981\u7528'}</span>
|
|
</div>
|
|
\`;
|
|
|
|
document.getElementById('bool-value').addEventListener('change', function(e) {
|
|
document.getElementById('bool-label').textContent = e.target.checked ? '\u542F\u7528' : '\u7981\u7528';
|
|
});
|
|
|
|
} else if (type === 'number') {
|
|
// \u6570\u5B57\u6EDA\u8F6E
|
|
const min = item && item.min !== undefined ? item.min : 1;
|
|
const max = item && item.max !== undefined ? item.max : 100;
|
|
const currentValue = value || min;
|
|
|
|
container.innerHTML = \`
|
|
<label>\u503C (\${min}-\${max})</label>
|
|
<div class="number-picker">
|
|
<div class="number-controls">
|
|
<button type="button" class="number-btn" onclick="adjustNumber(1)">\u25B2</button>
|
|
<button type="button" class="number-btn" onclick="adjustNumber(-1)">\u25BC</button>
|
|
</div>
|
|
<div class="number-display" id="num-value">\${currentValue}</div>
|
|
</div>
|
|
<div class="number-range">
|
|
<input type="range" id="num-slider" min="\${min}" max="\${max}" value="\${currentValue}"
|
|
oninput="updateNumberDisplay(this.value)">
|
|
</div>
|
|
\`;
|
|
|
|
} else if (type === 'select') {
|
|
// \u6807\u7B7E\u9009\u62E9
|
|
const options = item && item.options ? item.options : ['option1', 'option2', 'option3'];
|
|
const optionsInput = item ? '' : \`
|
|
<div class="form-group margin-bottom-15">
|
|
<label>\u53EF\u9009\u9879 (\u9017\u53F7\u5206\u9694)</label>
|
|
<input type="text" id="select-options" placeholder="\u4F8B\u5982: debug,info,warn,error"
|
|
value="\${options.join(',')}" onchange="updateTagOptions()">
|
|
</div>
|
|
\`;
|
|
|
|
container.innerHTML = \`
|
|
\${optionsInput}
|
|
<label>\u9009\u62E9\u503C</label>
|
|
<div class="tag-selector" id="tag-selector">
|
|
\${options.map(opt => \`
|
|
<div class="tag-option \${opt === value ? 'selected' : ''}"
|
|
data-value="\${opt}" onclick="selectTag(this)">
|
|
\${opt}
|
|
</div>
|
|
\`).join('')}
|
|
</div>
|
|
\`;
|
|
|
|
} else if (type === 'multi-select') {
|
|
// \u591A\u9009\u6807\u7B7E\uFF08\u53EF\u62D6\u52A8\u6392\u5E8F\uFF09
|
|
const options = item && item.options ? item.options : ['option1', 'option2', 'option3', 'option4'];
|
|
// \u786E\u4FDDvalue\u662F\u5B57\u7B26\u4E32\u7C7B\u578B\u540E\u518D\u8FDB\u884Csplit\u64CD\u4F5C
|
|
const stringValue = typeof value === 'string' ? value : String(value || '');
|
|
const selectedValues = stringValue ? stringValue.split(',').map(v => v.trim()).filter(v => v) : [];
|
|
|
|
// \u68C0\u67E5\u662F\u5426\u4E3A SOURCE_ORDER\uFF0C\u5982\u679C\u662F\u5219\u4E0D\u663E\u793A\u5408\u5E76\u6A21\u5F0F
|
|
const shouldShowMergeMode = currentKey === 'MERGE_SOURCE_PAIRS' || currentKey === 'PLATFORM_ORDER';
|
|
|
|
// \u6BCF\u6B21\u6E32\u67D3\u65F6\u91CD\u7F6E\u5408\u5E76\u6A21\u5F0F\u72B6\u6001
|
|
isMergeMode = false;
|
|
stagingTags = [];
|
|
|
|
const optionsInput = item ? '' : \`
|
|
<div class="form-group margin-bottom-15">
|
|
<label>\u53EF\u9009\u9879 (\u9017\u53F7\u5206\u9694)</label>
|
|
<input type="text" id="multi-options" placeholder="\u4F8B\u5982: auth,payment,analytics"
|
|
value="\${options.join(',')}" onchange="updateMultiOptions()">
|
|
</div>
|
|
\`;
|
|
|
|
container.innerHTML = \`
|
|
\${optionsInput}
|
|
<label>\u5DF2\u9009\u62E9 (\u62D6\u52A8\u8C03\u6574\u987A\u5E8F)</label>
|
|
<div class="multi-select-container">
|
|
<div class="selected-tags \${selectedValues.length === 0 ? 'empty' : ''}" id="selected-tags">
|
|
\${selectedValues.map(val => \`
|
|
<div class="selected-tag" draggable="true" data-value="\${val}">
|
|
<span class="tag-text">\${val}</span>
|
|
<button type="button" class="remove-btn" onclick="removeSelectedTag(this)">\xD7</button>
|
|
</div>
|
|
\`).join('')}
|
|
</div>
|
|
|
|
\${shouldShowMergeMode ? \`
|
|
<div class="merge-mode-controls">
|
|
<div class="merge-mode-btn" id="merge-mode-toggle" onclick="toggleMergeMode()">
|
|
\u5F00\u542F\u5408\u5E76\u6A21\u5F0F
|
|
</div>
|
|
<div class="form-help" style="margin: 0; margin-left: 10px;">
|
|
\u5F00\u542F\u540E\u70B9\u51FB\u4E0B\u65B9\u9009\u9879\u5C06\u6DFB\u52A0\u5230\u6682\u5B58\u533A,\u7EC4\u5408\u540E\u70B9\u51FB \u221A \u786E\u8BA4
|
|
</div>
|
|
</div>
|
|
|
|
<div class="staging-area" id="staging-area">
|
|
<button type="button" class="confirm-merge-btn" onclick="confirmMergeGroup()" title="\u786E\u8BA4\u6DFB\u52A0\u8BE5\u7EC4">\u2713</button>
|
|
</div>
|
|
\` : ''}
|
|
|
|
<label>\u53EF\u9009\u9879 (\u70B9\u51FB\u6DFB\u52A0)</label>
|
|
<div class="available-tags" id="available-tags">
|
|
\${options.map(opt => {
|
|
return \`
|
|
<div class="available-tag"
|
|
data-value="\${opt}" onclick="addSelectedTag(this)">
|
|
\${opt}
|
|
</div>
|
|
\`;
|
|
}).join('')}
|
|
</div>
|
|
</div>
|
|
|
|
\${currentKey === 'MERGE_SOURCE_PAIRS' ? \`
|
|
<div style="margin-top: 15px; margin-bottom: 8px;">
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="fetchAndShowRecentData()">
|
|
\u{1F4CA} \u67E5\u770B\u6700\u8FD1\u6570\u636E
|
|
</button>
|
|
</div>
|
|
<div id="recent-data-panel" class="recent-data-panel">
|
|
<div id="recent-data-list"></div>
|
|
</div>
|
|
\` : ''}
|
|
\`;
|
|
|
|
// \u8BBE\u7F6E\u62D6\u52A8\u4E8B\u4EF6
|
|
// \u7ACB\u5373\u6267\u884C\u4E00\u6B21\u72B6\u6001\u68C0\u67E5\uFF0C\u786E\u4FDD\u5DF2\u9009\u9879\u53D8\u7070
|
|
setTimeout(updateTagStates, 0);
|
|
setupDragAndDrop();
|
|
|
|
} else if (type === 'map') {
|
|
// \u6620\u5C04\u8868\u7C7B\u578B
|
|
const pairs = value ? value.split(';').map(pair => pair.trim()).filter(pair => pair) : [];
|
|
const mapItems = pairs.map(pair => {
|
|
if (pair.includes('->')) {
|
|
const [left, right] = pair.split('->').map(s => s.trim());
|
|
return { left, right };
|
|
}
|
|
return { left: pair, right: '' };
|
|
});
|
|
|
|
container.innerHTML = \`
|
|
<label>\u6620\u5C04\u914D\u7F6E</label>
|
|
<div class="map-container" id="map-container">
|
|
\${mapItems.map((item, index) => \`
|
|
<div class="map-item" data-index="\${index}">
|
|
<input type="text" class="map-input-left" placeholder="\u539F\u59CB\u503C" value="\${item.left}">
|
|
<span class="map-separator">-></span>
|
|
<input type="text" class="map-input-right" placeholder="\u6620\u5C04\u503C" value="\${item.right}">
|
|
<button type="button" class="btn btn-danger map-remove-btn" onclick="removeMapItem(this)">\u5220\u9664</button>
|
|
</div>
|
|
\`).join('')}
|
|
<div class="map-item-template" style="display: none;">
|
|
<input type="text" class="map-input-left" placeholder="\u539F\u59CB\u503C">
|
|
<span class="map-separator">-></span>
|
|
<input type="text" class="map-input-right" placeholder="\u6620\u5C04\u503C">
|
|
<button type="button" class="btn btn-danger map-remove-btn" onclick="removeMapItem(this)">\u5220\u9664</button>
|
|
</div>
|
|
</div>
|
|
<button type="button" class="btn btn-primary" onclick="addMapItem()">\u6DFB\u52A0\u6620\u5C04\u9879</button>
|
|
\`;
|
|
|
|
} else {
|
|
// \u6587\u672C\u8F93\u5165
|
|
const currentKey = document.getElementById('env-key') ? document.getElementById('env-key').value : '';
|
|
const isBilibiliCookie = currentKey === 'BILIBILI_COOKIE';
|
|
const isAiApiKey = currentKey === 'AI_API_KEY';
|
|
const isColorPool = currentKey === 'COLOR_POOL';
|
|
const isDanmuOffset = currentKey === 'DANMU_OFFSET';
|
|
const isCustomMergeRules = currentKey === 'CUSTOM_MERGE_RULES';
|
|
const offsetSources = item && item.sources ? item.sources : [];
|
|
|
|
if (isColorPool) {
|
|
// \u81EA\u5B9A\u4E49\u989C\u8272\u6C60\u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
const colors = parseColorPool(value);
|
|
|
|
container.innerHTML = \`
|
|
<label>\u989C\u8272\u6C60\u914D\u7F6E (CONVERT_COLOR \u4E3A color \u65F6\u751F\u6548)</label>
|
|
<div id="color-pool-display" class="color-pool-display">
|
|
\${renderColorItems(colors)}
|
|
</div>
|
|
<div class="color-pool-picker">
|
|
<div class="color-pool-picker-inner">
|
|
<div id="color-wheel" class="color-wheel">
|
|
<div class="color-wheel-center"></div>
|
|
<div id="wheel-dot" class="color-wheel-dot" style="top: 2px; left: 53px; background: hsl(0,100%,50%);"></div>
|
|
</div>
|
|
<div class="color-pool-preview">
|
|
<div id="color-preview-swatch" class="color-pool-preview-swatch" style="background: #ff0000;"></div>
|
|
<span id="color-preview-hex" class="color-pool-preview-hex">#ff0000</span>
|
|
</div>
|
|
<div class="color-pool-lightness">
|
|
<span>\u4EAE\u5EA6</span>
|
|
<input type="range" id="color-lightness" min="10" max="100" value="50">
|
|
</div>
|
|
<div class="color-pool-actions">
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="addColorToPool()">\u6DFB\u52A0\u5230\u989C\u8272\u6C60</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="addRandomColorToPool()">\u968F\u673A\u6DFB\u52A0</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="color-pool-actions">
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="showBatchColorDialog()">\u6279\u91CF\u6DFB\u52A0</button>
|
|
<div class="spacer"></div>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="resetColorPool()">\u6062\u590D\u9ED8\u8BA4</button>
|
|
</div>
|
|
<textarea id="text-value" style="display: none;">\${value}</textarea>
|
|
\`;
|
|
setTimeout(initColorWheel, 0);
|
|
} else if (isDanmuOffset) {
|
|
// DANMU_OFFSET \u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 10) : 3;
|
|
container.innerHTML = \`
|
|
<label>\u53D8\u91CF\u503C</label>
|
|
<textarea id="text-value" placeholder="\u683C\u5F0F\uFF1A\u5267\u540D:\u79D2 \u6216 \u5267\u540D/S01:\u79D2 \u6216 \u5267\u540D@\u6765\u6E90:\u79D2 \u6216 \u5267\u540D/S01/E01@\u6765\u6E90%:\u79D2" rows="\${rows}" class="text-monospace">\${value}</textarea>
|
|
<div style="margin-top: 8px; display: flex; gap: 10px;">
|
|
<button type="button" class="btn btn-primary btn-sm" id="offset-rule-toggle" onclick="toggleOffsetRulePanel()">
|
|
\u6DFB\u52A0\u89C4\u5219
|
|
</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="fetchAndShowRecentData()">
|
|
\u{1F4CA} \u67E5\u770B\u6700\u8FD1\u6570\u636E
|
|
</button>
|
|
</div>
|
|
<div id="recent-data-panel" class="recent-data-panel">
|
|
<div class="form-help" style="margin: 0 0 8px 0;">\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u53EF\u5FEB\u6377\u586B\u5165\u89C4\u5219\u8868\u5355\uFF1A</div>
|
|
<div id="recent-data-list"></div>
|
|
</div>
|
|
<div id="offset-rule-panel" class="offset-rule-panel">
|
|
<div class="form-help" style="margin: 0 0 8px 0;">\u5B63\u548C\u96C6\u4E0D\u586B\u5219\u5BF9\u6240\u6709\u5B63/\u96C6\u751F\u6548</div>
|
|
<div class="offset-form-row">
|
|
<div style="flex: 2; min-width: 100px;">
|
|
<label class="offset-label">\u5267\u540D *</label>
|
|
<input type="text" id="offset-anime" class="offset-input" placeholder="\u4F8B\u5982: overlord">
|
|
</div>
|
|
<div style="width: 65px;">
|
|
<label class="offset-label">\u5B63</label>
|
|
<input type="number" id="offset-season" class="offset-input" placeholder="" min="1" max="99">
|
|
</div>
|
|
<div style="width: 65px;">
|
|
<label class="offset-label">\u96C6</label>
|
|
<input type="number" id="offset-episode" class="offset-input" placeholder="" min="1" max="999">
|
|
</div>
|
|
<div style="width: 85px;">
|
|
<label class="offset-label">\u504F\u79FB\u79D2 *</label>
|
|
<input type="number" id="offset-seconds" class="offset-input" placeholder="90">
|
|
</div>
|
|
</div>
|
|
<div style="margin-bottom: 10px; display: flex; align-items: center; width: 100%;">
|
|
<label class="offset-label" style="display: flex; align-items: center; gap: 8px; cursor: pointer; margin: 0; white-space: nowrap;">
|
|
\u542F\u7528\u767E\u5206\u6BD4\u6A21\u5F0F\uFF08\u6309\u89C6\u9891\u65F6\u957F\u7F29\u653E\u5168\u90E8\u5F39\u5E55\u65F6\u95F4\uFF09
|
|
<input type="checkbox" id="offset-use-percent" style="width: 16px; height: 16px; margin: 0; flex-shrink: 0;">
|
|
</label>
|
|
</div>
|
|
\${offsetSources.length > 0 ? \`
|
|
<div style="margin-bottom: 10px;">
|
|
<label class="offset-label">\u6765\u6E90 (\u53EF\u9009\uFF0C\u4E0D\u9009\u5219\u5BF9\u6240\u6709\u6765\u6E90\u751F\u6548)</label>
|
|
<div id="offset-sources" class="offset-sources">
|
|
\${offsetSources.map(src => \`
|
|
<div class="offset-source-tag" data-value="\${src}" onclick="toggleOffsetSource(this)">
|
|
\${src}
|
|
</div>
|
|
\`).join('')}
|
|
</div>
|
|
</div>
|
|
\` : ''}
|
|
<div class="offset-actions">
|
|
<button type="button" class="btn btn-sm" onclick="toggleOffsetRulePanel()">\u53D6\u6D88</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="appendOffsetRule()">\u786E\u8BA4\u6DFB\u52A0</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
} else if (isAiApiKey) {
|
|
// AI API Key \u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
container.innerHTML = \`
|
|
<div class="ai-apikey-editor">
|
|
<label>API Key \u503C</label>
|
|
<textarea class="form-group" id="text-value" placeholder="\u8BF7\u8F93\u5165 AI API Key" rows="3">\${value}</textarea>
|
|
<div class="form-help">\u652F\u6301 OpenAI \u517C\u5BB9\u7684 API\uFF0C\u9700\u914D\u5408 AI_BASE_URL \u548C AI_MODEL \u914D\u7F6E\u4F7F\u7528</div>
|
|
|
|
<div class="ai-apikey-status" id="ai-apikey-status">
|
|
<span class="ai-status-icon">\u{1F50D}</span>
|
|
<span class="ai-status-text">\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u6D4B\u8BD5\u8FDE\u901A\u6027</span>
|
|
</div>
|
|
<div class="ai-apikey-actions" style="margin-bottom: 15px;">
|
|
<button type="button" class="btn btn-primary btn-sm" id="ai-verify-btn" onclick="verifyAiConnection()">
|
|
\u{1F9EA} \u6D4B\u8BD5\u8FDE\u901A\u6027
|
|
</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
} else if (isBilibiliCookie) {
|
|
// Bilibili Cookie \u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 8) : 3;
|
|
container.innerHTML = \`
|
|
<div class="bili-cookie-editor">
|
|
<div class="bili-cookie-status" id="bili-cookie-status">
|
|
<span class="bili-status-text">\u68C0\u6D4B\u4E2D...</span>
|
|
</div>
|
|
|
|
<div class="bili-cookie-actions">
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="startBilibiliQRLogin()">
|
|
\u626B\u7801\u767B\u5F55
|
|
</button>
|
|
</div>
|
|
|
|
<label>Cookie \u503C</label>
|
|
<textarea class="form-group" id="text-value" placeholder="SESSDATA=xxx; bili_jct=xxx; DedeUserID=xxx;" rows="\${rows}">\${value}</textarea>
|
|
<div class="form-help">\u63A8\u8350\u4F7F\u7528\u626B\u7801\u767B\u5F55\u81EA\u52A8\u83B7\u53D6\uFF0C\u6216\u624B\u52A8\u7C98\u8D34\u5305\u542B SESSDATA \u548C bili_jct \u7684\u5B8C\u6574 Cookie</div>
|
|
</div>
|
|
\`;
|
|
|
|
// \u81EA\u52A8\u68C0\u6D4B Cookie \u72B6\u6001 + \u76D1\u542C\u8F93\u5165\u53D8\u5316\uFF08\u9632\u6296\uFF09
|
|
setTimeout(() => {
|
|
autoCheckBilibiliCookieStatus();
|
|
|
|
const inputEl = document.getElementById('text-value');
|
|
if (inputEl) {
|
|
let debounceTimer = null;
|
|
inputEl.addEventListener('input', () => {
|
|
if (debounceTimer) clearTimeout(debounceTimer);
|
|
debounceTimer = setTimeout(() => {
|
|
autoCheckBilibiliCookieStatus();
|
|
}, 600);
|
|
});
|
|
}
|
|
}, 120);
|
|
} else if (isCustomMergeRules) {
|
|
// CUSTOM_MERGE_RULES \u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 10) : 3;
|
|
container.innerHTML = \`
|
|
<label>\u53D8\u91CF\u503C</label>
|
|
<textarea id="text-value" placeholder="\u683C\u5F0F\uFF1A\u526F\u6E90 -> \u4E3B\u6E90 | \u8DEF\u7531\u89C4\u5219 \u6216 \u526F\u6E90 \xD7 \u4E3B\u6E90" rows="\${rows}" class="text-monospace">\${value || ''}</textarea>
|
|
<div style="margin-top: 8px; display: flex; gap: 10px;">
|
|
<button type="button" class="btn btn-primary btn-sm" id="merge-rule-toggle" onclick="toggleMergeRulePanel()">
|
|
\u6DFB\u52A0\u89C4\u5219
|
|
</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="fetchAndShowRecentData()">
|
|
\u{1F4CA} \u67E5\u770B\u6700\u8FD1\u6570\u636E
|
|
</button>
|
|
</div>
|
|
<div id="recent-data-panel" class="recent-data-panel">
|
|
<div class="form-help" style="margin: 0 0 8px 0;">\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u53EF\u5FEB\u6377\u586B\u5165\u89C4\u5219\u8868\u5355\uFF1A</div>
|
|
<div id="recent-data-list"></div>
|
|
</div>
|
|
<div id="merge-rule-panel" class="offset-rule-panel">
|
|
<div class="offset-form-row">
|
|
<div style="flex: 1; min-width: 120px;">
|
|
<label class="offset-label">\u526F\u6E90\u5B9E\u4F53\uFF08\u526F\u6E90\u5267\u540D@\u6E90\uFF09</label>
|
|
<input type="text" id="merge-sec-entity" class="offset-input" placeholder="\u4F8B: \u6211\u63A8\u7684\u5B69\u5B50/S01@bahamut" onfocus="setMergeFocus('sec')">
|
|
</div>
|
|
<div style="width: 60px;">
|
|
<label class="offset-label" style="text-align: center; display: block;">\u5173\u7CFB</label>
|
|
<select id="merge-action" class="offset-input" onchange="onMergeActionChange()" style="cursor: pointer; padding: 6px; text-align: center; font-weight: bold; font-size: 14px;">
|
|
<option value="->">-></option>
|
|
<option value="\xD7">\xD7</option>
|
|
</select>
|
|
<div id="merge-action-hint" style="font-size: 11px; color: #666; text-align: center; margin-top: 4px;">\u5408\u5E76</div>
|
|
</div>
|
|
<div style="flex: 1; min-width: 120px;">
|
|
<label class="offset-label">\u4E3B\u6E90\u5B9E\u4F53\uFF08\u4E3B\u6E90\u5267\u540D@\u6E90\uFF09</label>
|
|
<input type="text" id="merge-prim-entity" class="offset-input" placeholder="\u4F8B: \u6211\u63A8\u7684\u5B69\u5B50/S03@dandan" onfocus="setMergeFocus('prim')">
|
|
</div>
|
|
</div>
|
|
<div class="offset-form-row" id="merge-route-row">
|
|
<div style="flex: 1;">
|
|
<label class="offset-label">\u96C6\u6570\u8DEF\u7531\u89C4\u5219 (\u9009\u586B\uFF0C\u53EF\u591A\u7EC4\u3002\u4F8B\u5982: E01>E01,E25~E35>E25~E35)</label>
|
|
<input type="text" id="merge-route-rule" class="offset-input" placeholder="\u7559\u7A7A\u5219\u4EA4\u7531\u7CFB\u7EDF\u81EA\u52A8\u8BA1\u7B97\u504F\u79FB">
|
|
</div>
|
|
</div>
|
|
<div style="margin-bottom: 10px;">
|
|
<label class="offset-label">\u5FEB\u901F\u8FFD\u52A0\u6765\u6E90\u81F3\u5F53\u524D\u805A\u7126\u7684\u8F93\u5165\u6846 (\u6CA1\u6709 @ \u5219\u8FFD\u52A0 @xxx\uFF0C\u5DF2\u5B58\u5728 @ \u5219\u8FFD\u52A0 &xxx \u5408\u5E76\u5199\u6CD5)</label>
|
|
<div class="offset-sources">
|
|
\${offsetSources.map(src => \`
|
|
<div class="offset-source-tag" onclick="appendSourceToMerge('\${src}')">\${src}</div>
|
|
\`).join('')}
|
|
</div>
|
|
</div>
|
|
<div class="offset-actions">
|
|
<button type="button" class="btn btn-sm" onclick="toggleMergeRulePanel()">\u53D6\u6D88</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="appendMergeRule()">\u786E\u8BA4\u6DFB\u52A0</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
} else if (value && value.length > 50) {
|
|
const rows = Math.min(Math.max(Math.ceil(value.length / 50), 3), 10);
|
|
container.innerHTML = \`
|
|
<label>\u53D8\u91CF\u503C *</label>
|
|
<textarea id="text-value" placeholder="\u4F8B\u5982: localhost" rows="\${rows}" class="text-monospace">\${value}</textarea>
|
|
\`;
|
|
} else {
|
|
container.innerHTML = \`
|
|
<label>\u53D8\u91CF\u503C *</label>
|
|
<input type="text" id="text-value" placeholder="\u4F8B\u5982: localhost" value="\${value}" required>
|
|
\`;
|
|
}
|
|
}
|
|
}
|
|
|
|
// ===== \u989C\u8272\u6C60\u64CD\u4F5C\u51FD\u6570 =====
|
|
|
|
// \u8272\u8F6E\u72B6\u6001
|
|
let wheelHue = 0;
|
|
let wheelLightness = 50;
|
|
let wheelCleanup = null;
|
|
|
|
// \u89E3\u6790\u989C\u8272\u6C60\u5B57\u7B26\u4E32\u4E3A\u5341\u8FDB\u5236\u6570\u7EC4
|
|
function parseColorPool(str) {
|
|
if (!str) return [];
|
|
return str.split(',').map(c => parseInt(c.trim(), 10)).filter(c => !isNaN(c) && c >= 0 && c <= 16777215);
|
|
}
|
|
|
|
// \u6E32\u67D3\u989C\u8272\u6C60\u8272\u5757 HTML
|
|
function renderColorItems(colors) {
|
|
if (colors.length === 0) return '<span class="color-pool-empty">\u672A\u914D\u7F6E\uFF0C\u5C06\u4F7F\u7528\u9ED8\u8BA4\u989C\u8272\u6C60</span>';
|
|
return colors.map((c, i) => \`
|
|
<div class="color-pool-item">
|
|
<span class="color-pool-swatch" style="background: #\${c.toString(16).padStart(6, '0')};"></span>
|
|
<span class="color-pool-value">\${c}</span>
|
|
<button type="button" class="color-pool-remove" onclick="removeColorFromPool(\${i})">×</button>
|
|
</div>
|
|
\`).join('');
|
|
}
|
|
|
|
// HSL -> RGB -> \u5341\u8FDB\u5236
|
|
function hslToDecimal(h, s, l) {
|
|
s /= 100;
|
|
l /= 100;
|
|
const k = n => (n + h / 30) % 12;
|
|
const a = s * Math.min(l, 1 - l);
|
|
const f = n => l - a * Math.max(-1, Math.min(k(n) - 3, 9 - k(n), 1));
|
|
const r = Math.round(f(0) * 255);
|
|
const g = Math.round(f(8) * 255);
|
|
const b = Math.round(f(4) * 255);
|
|
return (r << 16) | (g << 8) | b;
|
|
}
|
|
|
|
// \u66F4\u65B0\u8272\u8F6E\u9884\u89C8
|
|
function updateWheelPreview() {
|
|
const dec = hslToDecimal(wheelHue, 100, wheelLightness);
|
|
const hex = '#' + dec.toString(16).padStart(6, '0');
|
|
const swatch = document.getElementById('color-preview-swatch');
|
|
const hexLabel = document.getElementById('color-preview-hex');
|
|
const dot = document.getElementById('wheel-dot');
|
|
if (swatch) swatch.style.background = hex;
|
|
if (hexLabel) hexLabel.textContent = hex;
|
|
if (dot) dot.style.background = hex;
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u8272\u8F6E\u4EA4\u4E92
|
|
function initColorWheel() {
|
|
if (wheelCleanup) wheelCleanup();
|
|
|
|
const wheel = document.getElementById('color-wheel');
|
|
const slider = document.getElementById('color-lightness');
|
|
if (!wheel) return;
|
|
|
|
let dragging = false;
|
|
|
|
function handleWheelEvent(e) {
|
|
const rect = wheel.getBoundingClientRect();
|
|
const cx = rect.width / 2;
|
|
const cy = rect.height / 2;
|
|
const x = e.clientX - rect.left - cx;
|
|
const y = e.clientY - rect.top - cy;
|
|
const dist = Math.sqrt(x * x + y * y);
|
|
const outerR = rect.width / 2;
|
|
const innerR = outerR * 0.22;
|
|
if (dist < innerR || dist > outerR) return;
|
|
let angle = Math.atan2(y, x) * 180 / Math.PI + 90;
|
|
if (angle < 0) angle += 360;
|
|
wheelHue = Math.round(angle % 360);
|
|
const dot = document.getElementById('wheel-dot');
|
|
if (dot) {
|
|
const r = (innerR + outerR) / 2;
|
|
const rad = (wheelHue - 90) * Math.PI / 180;
|
|
dot.style.left = (cx + r * Math.cos(rad) - 7) + 'px';
|
|
dot.style.top = (cy + r * Math.sin(rad) - 7) + 'px';
|
|
}
|
|
updateWheelPreview();
|
|
}
|
|
|
|
const onMove = e => {
|
|
if (dragging) handleWheelEvent(e);
|
|
};
|
|
const onTouchMove = e => {
|
|
if (dragging) handleWheelEvent(e.touches[0]);
|
|
};
|
|
const onUp = () => {
|
|
dragging = false;
|
|
};
|
|
|
|
wheel.addEventListener('mousedown', e => {
|
|
dragging = true;
|
|
handleWheelEvent(e);
|
|
});
|
|
wheel.addEventListener('touchstart', e => {
|
|
dragging = true;
|
|
handleWheelEvent(e.touches[0]);
|
|
e.preventDefault();
|
|
}, { passive: false });
|
|
document.addEventListener('mousemove', onMove);
|
|
document.addEventListener('touchmove', onTouchMove, { passive: false });
|
|
document.addEventListener('mouseup', onUp);
|
|
document.addEventListener('touchend', onUp);
|
|
|
|
if (slider) {
|
|
slider.addEventListener('input', function() {
|
|
wheelLightness = parseInt(this.value, 10);
|
|
updateWheelPreview();
|
|
});
|
|
}
|
|
|
|
wheelCleanup = () => {
|
|
document.removeEventListener('mousemove', onMove);
|
|
document.removeEventListener('touchmove', onTouchMove);
|
|
document.removeEventListener('mouseup', onUp);
|
|
document.removeEventListener('touchend', onUp);
|
|
wheelCleanup = null;
|
|
};
|
|
|
|
updateWheelPreview();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u8FFD\u52A0\u989C\u8272\u503C
|
|
function appendColorToPool(decimal) {
|
|
const textarea = document.getElementById('text-value');
|
|
const current = textarea.value.trim();
|
|
textarea.value = current ? current + ',' + decimal : String(decimal);
|
|
syncColorPoolDisplay();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u4ECE\u8272\u8F6E\u6DFB\u52A0
|
|
function addColorToPool() {
|
|
appendColorToPool(hslToDecimal(wheelHue, 100, wheelLightness));
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u968F\u673A\u6DFB\u52A0\uFF08crypto \u771F\u968F\u673A\uFF09
|
|
function addRandomColorToPool() {
|
|
const arr = new Uint32Array(1);
|
|
crypto.getRandomValues(arr);
|
|
appendColorToPool(arr[0] % 16777216);
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u5220\u9664\u6307\u5B9A\u989C\u8272
|
|
function removeColorFromPool(index) {
|
|
const textarea = document.getElementById('text-value');
|
|
const colors = textarea.value.split(',').map(c => c.trim()).filter(c => c);
|
|
colors.splice(index, 1);
|
|
textarea.value = colors.join(',');
|
|
syncColorPoolDisplay();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u6062\u590D\u9ED8\u8BA4\uFF08\u6E05\u7A7A\u503C\uFF0C\u540E\u7AEF\u9ED8\u8BA4\u503C\u81EA\u52A8\u751F\u6548\uFF09
|
|
function resetColorPool() {
|
|
const textarea = document.getElementById('text-value');
|
|
textarea.value = '';
|
|
syncColorPoolDisplay();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u540C\u6B65\u8272\u5757\u5C55\u793A
|
|
function syncColorPoolDisplay() {
|
|
const textarea = document.getElementById('text-value');
|
|
const display = document.getElementById('color-pool-display');
|
|
if (!textarea || !display) return;
|
|
display.innerHTML = renderColorItems(parseColorPool(textarea.value));
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u6279\u91CF\u6DFB\u52A0\u5F39\u7A97
|
|
function showBatchColorDialog() {
|
|
const overlay = document.createElement('div');
|
|
overlay.id = 'batch-color-overlay';
|
|
overlay.className = 'batch-color-overlay';
|
|
overlay.innerHTML = \`
|
|
<div class="batch-color-dialog">
|
|
<div style="font-size: 15px; font-weight: 600; margin-bottom: 12px;">\u6279\u91CF\u6DFB\u52A0\u989C\u8272</div>
|
|
<div class="form-help" style="margin: 0 0 10px 0;">\u652F\u6301\u5341\u8FDB\u5236\uFF08\u5982 16777215\uFF09\u548C\u5341\u516D\u8FDB\u5236\uFF08\u5982 #ffffff\uFF09\uFF0C\u9017\u53F7\u5206\u9694</div>
|
|
<textarea id="batch-color-input" class="batch-color-input" placeholder="\u4F8B\u5982: #ff0000, 65280, #0000ff, 16776960" rows="4"></textarea>
|
|
<div id="batch-color-preview" class="batch-color-preview"></div>
|
|
<div class="batch-color-actions">
|
|
<button type="button" class="btn btn-sm" onclick="closeBatchColorDialog()">\u53D6\u6D88</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="confirmBatchColor()">\u786E\u8BA4\u6DFB\u52A0</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
document.body.appendChild(overlay);
|
|
overlay.addEventListener('click', function(e) {
|
|
if (e.target === overlay) closeBatchColorDialog();
|
|
});
|
|
const input = document.getElementById('batch-color-input');
|
|
if (input) input.addEventListener('input', updateBatchColorPreview);
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u5173\u95ED\u6279\u91CF\u5F39\u7A97
|
|
function closeBatchColorDialog() {
|
|
const overlay = document.getElementById('batch-color-overlay');
|
|
if (overlay) overlay.remove();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u89E3\u6790\u5355\u4E2A\u989C\u8272\u503C\uFF08\u652F\u6301\u5341\u8FDB\u5236\u548C #hex\uFF09
|
|
function parseColorValue(raw) {
|
|
const s = raw.trim();
|
|
if (!s) return NaN;
|
|
if (s.startsWith('#')) {
|
|
const hex = s.slice(1);
|
|
if (/^[0-9a-fA-F]{3}$/.test(hex)) {
|
|
const full = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
return parseInt(full, 16);
|
|
}
|
|
if (/^[0-9a-fA-F]{6}$/.test(hex)) {
|
|
return parseInt(hex, 16);
|
|
}
|
|
return NaN;
|
|
}
|
|
const n = parseInt(s, 10);
|
|
if (isNaN(n) || n < 0 || n > 16777215) return NaN;
|
|
return n;
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u6279\u91CF\u9884\u89C8
|
|
function updateBatchColorPreview() {
|
|
const input = document.getElementById('batch-color-input');
|
|
const preview = document.getElementById('batch-color-preview');
|
|
if (!input || !preview) return;
|
|
const parts = input.value.split(',');
|
|
const html = parts.map(raw => {
|
|
const c = parseColorValue(raw);
|
|
if (isNaN(c)) return '';
|
|
return \`<span class="batch-color-preview-swatch" style="background: #\${c.toString(16).padStart(6, '0')};"></span>\`;
|
|
}).filter(Boolean).join('');
|
|
preview.innerHTML = html || '<span class="color-pool-empty">\u8F93\u5165\u989C\u8272\u540E\u9884\u89C8</span>';
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u786E\u8BA4\u6279\u91CF\u6DFB\u52A0
|
|
function confirmBatchColor() {
|
|
const input = document.getElementById('batch-color-input');
|
|
if (!input) return;
|
|
const parts = input.value.split(',');
|
|
const valid = parts.map(raw => parseColorValue(raw)).filter(c => !isNaN(c));
|
|
if (valid.length === 0) {
|
|
customAlert('\u672A\u8BC6\u522B\u5230\u6709\u6548\u989C\u8272\u503C');
|
|
return;
|
|
}
|
|
const textarea = document.getElementById('text-value');
|
|
const current = textarea.value.trim();
|
|
const newVal = valid.map(String).join(',');
|
|
textarea.value = current ? current + ',' + newVal : newVal;
|
|
syncColorPoolDisplay();
|
|
closeBatchColorDialog();
|
|
}
|
|
|
|
// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u89C4\u5219\u9762\u677F
|
|
function toggleOffsetRulePanel() {
|
|
const panel = document.getElementById('offset-rule-panel');
|
|
if (panel) {
|
|
const isHidden = getComputedStyle(panel).display === 'none';
|
|
panel.style.display = isHidden ? 'block' : 'none';
|
|
const btn = document.getElementById('offset-rule-toggle');
|
|
if (btn) btn.textContent = isHidden ? '\u6536\u8D77' : '\u6DFB\u52A0\u89C4\u5219';
|
|
}
|
|
}
|
|
|
|
// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u6765\u6E90\u9009\u4E2D\u72B6\u6001
|
|
function toggleOffsetSource(el) {
|
|
el.classList.toggle('selected');
|
|
}
|
|
|
|
// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u786E\u8BA4\u6DFB\u52A0\u89C4\u5219
|
|
function appendOffsetRule() {
|
|
const anime = document.getElementById('offset-anime').value.trim();
|
|
const season = document.getElementById('offset-season').value.trim();
|
|
const episode = document.getElementById('offset-episode').value.trim();
|
|
const seconds = document.getElementById('offset-seconds').value.trim();
|
|
const usePercent = !!document.getElementById('offset-use-percent')?.checked;
|
|
|
|
if (!anime) {
|
|
customAlert('\u8BF7\u8F93\u5165\u5267\u540D');
|
|
return;
|
|
}
|
|
if (!seconds) {
|
|
customAlert('\u8BF7\u8F93\u5165\u504F\u79FB\u79D2\u6570');
|
|
return;
|
|
}
|
|
if (episode && !season) {
|
|
customAlert('\u6307\u5B9A\u96C6\u65F6\u9700\u8981\u540C\u65F6\u6307\u5B9A\u5B63');
|
|
return;
|
|
}
|
|
|
|
let path = anime;
|
|
if (season) {
|
|
path += '/S' + season.padStart(2, '0');
|
|
if (episode) {
|
|
path += '/E' + episode.padStart(2, '0');
|
|
}
|
|
}
|
|
|
|
const sourcesEl = document.getElementById('offset-sources');
|
|
if (sourcesEl) {
|
|
const selectedSources = Array.from(sourcesEl.querySelectorAll('.offset-source-tag.selected'))
|
|
.map(el => el.dataset.value);
|
|
if (selectedSources.length > 0) {
|
|
path += '@' + selectedSources.join('&');
|
|
}
|
|
}
|
|
|
|
if (usePercent) {
|
|
path += '%';
|
|
}
|
|
|
|
const rule = path + ':' + seconds;
|
|
const textarea = document.getElementById('text-value');
|
|
const current = textarea.value.trim();
|
|
textarea.value = current ? current + ',' + rule : rule;
|
|
|
|
document.getElementById('offset-anime').value = '';
|
|
document.getElementById('offset-season').value = '';
|
|
document.getElementById('offset-episode').value = '';
|
|
document.getElementById('offset-seconds').value = '';
|
|
const usePercentEl = document.getElementById('offset-use-percent');
|
|
if (usePercentEl) {
|
|
usePercentEl.checked = false;
|
|
}
|
|
if (sourcesEl) {
|
|
sourcesEl.querySelectorAll('.offset-source-tag.selected').forEach(el => {
|
|
el.classList.remove('selected');
|
|
});
|
|
}
|
|
toggleOffsetRulePanel();
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u7126\u70B9\u72B6\u6001\u8BB0\u5F55
|
|
let currentMergeFocus = 'sec';
|
|
|
|
function setMergeFocus(type) {
|
|
currentMergeFocus = type;
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5FEB\u6377\u8FFD\u52A0\u6765\u6E90
|
|
function appendSourceToMerge(source) {
|
|
const inputId = currentMergeFocus === 'sec' ? 'merge-sec-entity' : 'merge-prim-entity';
|
|
const inputEl = document.getElementById(inputId);
|
|
if (!inputEl) return;
|
|
|
|
let val = inputEl.value.trim();
|
|
if (val.includes('@')) {
|
|
val += '&' + source;
|
|
} else {
|
|
val += '@' + source;
|
|
}
|
|
inputEl.value = val;
|
|
inputEl.focus(); // \u4FDD\u6301\u7126\u70B9\uFF0C\u65B9\u4FBF\u7528\u6237\u8FDE\u7EED\u70B9\u51FB\u591A\u4E2A\u6765\u6E90
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u89C4\u5219\u9762\u677F
|
|
function toggleMergeRulePanel() {
|
|
const panel = document.getElementById('merge-rule-panel');
|
|
if (panel) {
|
|
const isHidden = getComputedStyle(panel).display === 'none';
|
|
panel.style.display = isHidden ? 'block' : 'none';
|
|
const btn = document.getElementById('merge-rule-toggle');
|
|
if (btn) btn.textContent = isHidden ? '\u6536\u8D77' : '\u6DFB\u52A0\u89C4\u5219';
|
|
}
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u64CD\u4F5C\u7B26\u8054\u52A8
|
|
function onMergeActionChange() {
|
|
const action = document.getElementById('merge-action').value;
|
|
const routeRow = document.getElementById('merge-route-row');
|
|
const hint = document.getElementById('merge-action-hint');
|
|
|
|
if (action === '\xD7') {
|
|
if (routeRow) routeRow.style.display = 'none';
|
|
if (hint) hint.textContent = '\u963B\u65AD';
|
|
} else {
|
|
if (routeRow) routeRow.style.display = 'flex';
|
|
if (hint) hint.textContent = '\u5408\u5E76';
|
|
}
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u786E\u8BA4\u6DFB\u52A0\u89C4\u5219
|
|
function appendMergeRule() {
|
|
const secEntity = document.getElementById('merge-sec-entity').value.trim();
|
|
const action = document.getElementById('merge-action').value;
|
|
const primEntity = document.getElementById('merge-prim-entity').value.trim();
|
|
const routeRule = document.getElementById('merge-route-rule').value.trim();
|
|
|
|
if (!secEntity || !primEntity) {
|
|
customAlert('\u526F\u6E90\u5B9E\u4F53\u548C\u4E3B\u6E90\u5B9E\u4F53\u4E0D\u80FD\u4E3A\u7A7A');
|
|
return;
|
|
}
|
|
|
|
let rule = secEntity + ' ' + action + ' ' + primEntity;
|
|
if (action === '->' && routeRule) {
|
|
rule += ' | ' + routeRule;
|
|
}
|
|
|
|
const textarea = document.getElementById('text-value');
|
|
const current = textarea.value.trim();
|
|
|
|
if (current && !current.endsWith(';')) {
|
|
textarea.value = current + ';' + rule;
|
|
} else {
|
|
textarea.value = current ? current + rule : rule;
|
|
}
|
|
|
|
// \u6E05\u7A7A\u8868\u5355
|
|
document.getElementById('merge-sec-entity').value = '';
|
|
document.getElementById('merge-prim-entity').value = '';
|
|
document.getElementById('merge-route-rule').value = '';
|
|
|
|
toggleMergeRulePanel();
|
|
}
|
|
|
|
// \u8C03\u6574\u6570\u5B57
|
|
function adjustNumber(delta) {
|
|
const display = document.getElementById('num-value');
|
|
const slider = document.getElementById('num-slider');
|
|
let value = parseInt(display.textContent) + delta;
|
|
|
|
value = Math.max(parseInt(slider.min), Math.min(parseInt(slider.max), value));
|
|
|
|
display.textContent = value;
|
|
slider.value = value;
|
|
}
|
|
|
|
// \u66F4\u65B0\u6570\u5B57\u663E\u793A
|
|
function updateNumberDisplay(value) {
|
|
document.getElementById('num-value').textContent = value;
|
|
}
|
|
|
|
// \u9009\u62E9\u6807\u7B7E
|
|
function selectTag(element) {
|
|
document.querySelectorAll('.tag-option').forEach(el => el.classList.remove('selected'));
|
|
element.classList.add('selected');
|
|
}
|
|
|
|
// \u66F4\u65B0\u6807\u7B7E\u9009\u9879
|
|
function updateTagOptions() {
|
|
const input = document.getElementById('select-options');
|
|
const options = input.value.split(',').map(s => s.trim()).filter(s => s);
|
|
const container = document.getElementById('tag-selector');
|
|
|
|
container.innerHTML = options.map(opt => \`
|
|
<div class="tag-option" data-value="\${opt}" onclick="selectTag(this)">
|
|
\${opt}
|
|
</div>
|
|
\`).join('');
|
|
}
|
|
|
|
// \u7EDF\u4E00\u7684\u72B6\u6001\u68C0\u67E5\u51FD\u6570
|
|
function updateTagStates() {
|
|
// \u786E\u4FDD DOM \u5143\u7D20\u5B58\u5728\uFF0C\u9632\u6B62\u5728\u6E32\u67D3\u8FC7\u7A0B\u4E2D\u88AB\u8C03\u7528\u51FA\u9519
|
|
const keyInput = document.getElementById('env-key');
|
|
if (!keyInput) return;
|
|
|
|
const currentKey = keyInput.value;
|
|
const isMergeSourcePairs = currentKey === 'MERGE_SOURCE_PAIRS';
|
|
|
|
// 1. \u83B7\u53D6\u5F53\u524D\u6682\u5B58\u533A\u4E2D\u7684Token (\u9632\u6B62\u540C\u7EC4\u5185\u91CD\u590D)
|
|
const stagingTokens = new Set(stagingTags);
|
|
|
|
// 2. \u83B7\u53D6\u5DF2\u786E\u8BA4\u7684 Selected Tags (\u4EC5\u5728\u975E\u5408\u5E76\u6A21\u5F0F\u4E0B\u9700\u8981\u68C0\u67E5)
|
|
const selectedTagElements = Array.from(document.querySelectorAll('.selected-tag'));
|
|
|
|
// 3. \u66F4\u65B0\u6240\u6709\u53EF\u9009\u9879\u7684\u72B6\u6001
|
|
const availableTags = document.querySelectorAll('.available-tag');
|
|
availableTags.forEach(tag => {
|
|
const value = tag.dataset.value;
|
|
let shouldDisable = false;
|
|
|
|
if (isMergeMode) {
|
|
// [\u5408\u5E76\u6A21\u5F0F\u903B\u8F91]
|
|
// \u53EA\u8981\u4E0D\u5728\u5F53\u524D\u7684\u6682\u5B58\u533A\u4E2D\uFF0C\u5C31\u53EF\u4EE5\u9009\uFF08\u5141\u8BB8 bilibili&a \u548C bilibili&b\uFF09
|
|
// \u4E5F\u5C31\u662F\u8BF4\uFF0C\u6211\u4EEC\u5B8C\u5168\u4E0D\u68C0\u67E5 selectedTagElements
|
|
if (stagingTokens.has(value)) {
|
|
shouldDisable = true;
|
|
}
|
|
} else {
|
|
// [\u666E\u901A\u6A21\u5F0F\u903B\u8F91]
|
|
// \u53EA\u8981\u5DF2\u7ECF\u88AB\u9009\u4E86\uFF0C\u5C31\u7981\u7528 (\u7CBE\u51C6\u5339\u914D)
|
|
const isAlreadySelected = selectedTagElements.some(el => el.dataset.value === value);
|
|
if (isAlreadySelected) {
|
|
shouldDisable = true;
|
|
}
|
|
|
|
// \u7279\u6B8A\u60C5\u51B5\uFF1A\u5982\u679C\u662F MERGE_SOURCE_PAIRS \u4F46\u6CA1\u5F00\u5408\u5E76\u6A21\u5F0F\uFF0C\u4E14\u8FD8\u6CA1\u88AB\u9009\uFF0C\u4E5F\u7981\u7528\uFF08\u5F3A\u8FEB\u7528\u6237\u5F00\u5F00\u5173\uFF09
|
|
if (isMergeSourcePairs && !isAlreadySelected) {
|
|
shouldDisable = true;
|
|
}
|
|
}
|
|
|
|
if (shouldDisable) {
|
|
tag.classList.add('disabled');
|
|
} else {
|
|
tag.classList.remove('disabled');
|
|
}
|
|
});
|
|
}
|
|
|
|
// \u6DFB\u52A0\u5DF2\u9009\u6807\u7B7E
|
|
function addSelectedTag(element) {
|
|
const value = element.dataset.value;
|
|
|
|
if (isMergeMode) {
|
|
if (!stagingTags.includes(value)) {
|
|
stagingTags.push(value);
|
|
renderStagingArea();
|
|
updateTagStates(); // \u7ACB\u5373\u66F4\u65B0\u72B6\u6001 (\u8BE5\u9009\u9879\u53D8\u7070\uFF0C\u9632\u6B62\u540C\u7EC4\u91CD\u590D)
|
|
}
|
|
return;
|
|
}
|
|
|
|
if (element.classList.contains('disabled')) return;
|
|
|
|
const container = document.getElementById('selected-tags');
|
|
|
|
// \u79FB\u9664empty\u7C7B
|
|
container.classList.remove('empty');
|
|
|
|
// \u521B\u5EFA\u65B0\u6807\u7B7E
|
|
const tag = document.createElement('div');
|
|
tag.className = 'selected-tag';
|
|
tag.draggable = true;
|
|
tag.dataset.value = value;
|
|
tag.innerHTML = \`
|
|
<span class="tag-text">\${value}</span>
|
|
<button type="button" class="remove-btn" onclick="removeSelectedTag(this)">\xD7</button>
|
|
\`;
|
|
|
|
container.appendChild(tag);
|
|
updateTagStates(); // \u7ACB\u5373\u66F4\u65B0\u72B6\u6001
|
|
setupDragAndDrop();
|
|
}
|
|
|
|
// \u79FB\u9664\u5DF2\u9009\u6807\u7B7E
|
|
function removeSelectedTag(button) {
|
|
const tag = button.parentElement;
|
|
tag.remove();
|
|
|
|
const container = document.getElementById('selected-tags');
|
|
if (container.children.length === 0) {
|
|
container.classList.add('empty');
|
|
}
|
|
|
|
updateTagStates(); // \u79FB\u9664\u540E\u7ACB\u5373\u91CA\u653E\u72B6\u6001
|
|
setupDragAndDrop();
|
|
}
|
|
|
|
// \u66F4\u65B0\u591A\u9009\u9009\u9879
|
|
function updateMultiOptions() {
|
|
const input = document.getElementById('multi-options');
|
|
const options = input.value.split(',').map(s => s.trim()).filter(s => s);
|
|
|
|
const container = document.getElementById('available-tags');
|
|
container.innerHTML = options.map(opt => {
|
|
return \`
|
|
<div class="available-tag"
|
|
data-value="\${opt}" onclick="addSelectedTag(this)">
|
|
\${opt}
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
|
|
updateTagStates(); // \u521D\u59CB\u5316\u65F6\u66F4\u65B0\u72B6\u6001
|
|
}
|
|
|
|
// \u5207\u6362\u5408\u5E76\u6A21\u5F0F
|
|
function toggleMergeMode() {
|
|
isMergeMode = !isMergeMode;
|
|
const btn = document.getElementById('merge-mode-toggle');
|
|
const stagingArea = document.getElementById('staging-area');
|
|
|
|
if (isMergeMode) {
|
|
btn.classList.add('active');
|
|
btn.innerHTML = '\u5173\u95ED\u5408\u5E76\u6A21\u5F0F';
|
|
stagingArea.classList.add('active');
|
|
renderStagingArea();
|
|
} else {
|
|
btn.classList.remove('active');
|
|
btn.innerHTML = '\u5F00\u542F\u5408\u5E76\u6A21\u5F0F';
|
|
stagingArea.classList.remove('active');
|
|
stagingTags = [];
|
|
}
|
|
|
|
// \u5207\u6362\u6A21\u5F0F\u65F6\u7ACB\u5373\u5237\u65B0\u6240\u6709\u53EF\u9009\u9879\u72B6\u6001
|
|
updateTagStates();
|
|
}
|
|
|
|
// \u6E32\u67D3\u6682\u5B58\u533A
|
|
function renderStagingArea() {
|
|
const container = document.getElementById('staging-area');
|
|
const confirmBtn = container.querySelector('.confirm-merge-btn');
|
|
|
|
while (container.firstChild && container.firstChild !== confirmBtn) {
|
|
container.removeChild(container.firstChild);
|
|
}
|
|
|
|
if (stagingTags.length === 0) {
|
|
const hint = document.createElement('span');
|
|
hint.textContent = '\u8BF7\u70B9\u51FB\u4E0B\u65B9\u9009\u9879\u8FDB\u884C\u7EC4\u5408...';
|
|
hint.style.color = '#666';
|
|
hint.style.fontSize = '12px';
|
|
container.insertBefore(hint, confirmBtn);
|
|
confirmBtn.disabled = true;
|
|
} else {
|
|
stagingTags.forEach((tag, index) => {
|
|
if (index > 0) {
|
|
const sep = document.createElement('span');
|
|
sep.className = 'staging-separator';
|
|
sep.textContent = '&';
|
|
container.insertBefore(sep, confirmBtn);
|
|
}
|
|
const tagEl = document.createElement('div');
|
|
tagEl.className = 'staging-tag';
|
|
tagEl.draggable = true;
|
|
tagEl.dataset.value = tag;
|
|
tagEl.dataset.index = index;
|
|
tagEl.innerHTML = \`\${tag}<span class="remove-btn" onclick="removeFromStaging(\${index})">\xD7</span>\`;
|
|
container.insertBefore(tagEl, confirmBtn);
|
|
});
|
|
confirmBtn.disabled = false;
|
|
setupStagingDragAndDrop();
|
|
}
|
|
}
|
|
|
|
// \u4ECE\u6682\u5B58\u533A\u79FB\u9664
|
|
function removeFromStaging(index) {
|
|
stagingTags.splice(index, 1);
|
|
renderStagingArea();
|
|
updateTagStates(); // \u79FB\u9664\u540E\u5237\u65B0\u72B6\u6001
|
|
}
|
|
|
|
// \u786E\u8BA4\u6DFB\u52A0\u5408\u5E76\u7EC4
|
|
function confirmMergeGroup() {
|
|
if (stagingTags.length === 0) return;
|
|
const groupValue = stagingTags.join('&');
|
|
const container = document.getElementById('selected-tags');
|
|
container.classList.remove('empty');
|
|
|
|
const tag = document.createElement('div');
|
|
tag.className = 'selected-tag';
|
|
tag.draggable = true;
|
|
tag.dataset.value = groupValue;
|
|
tag.innerHTML = \`<span class="tag-text">\${groupValue}</span><button type="button" class="remove-btn" onclick="removeSelectedTag(this)">\xD7</button>\`;
|
|
|
|
container.appendChild(tag);
|
|
setupDragAndDrop();
|
|
|
|
stagingTags = []; // \u6E05\u7A7A\u6682\u5B58\u533A
|
|
renderStagingArea();
|
|
updateTagStates(); // \u5173\u952E\uFF1A\u786E\u8BA4\u540E\u7ACB\u5373\u91CD\u65B0\u8BA1\u7B97\u6240\u6709\u53EF\u9009\u9879\u7684\u7981\u7528\u72B6\u6001 (\u91CD\u7F6E\u4E3A\u53EF\u7528)
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u6682\u5B58\u533A\u62D6\u653E\u529F\u80FD
|
|
function setupStagingDragAndDrop() {
|
|
const container = document.getElementById('staging-area');
|
|
const tags = container.querySelectorAll('.staging-tag');
|
|
|
|
tags.forEach(tag => {
|
|
tag.addEventListener('dragstart', handleStagingDragStart);
|
|
tag.addEventListener('dragend', handleStagingDragEnd);
|
|
tag.addEventListener('dragover', handleStagingDragOver);
|
|
tag.addEventListener('drop', handleStagingDrop);
|
|
tag.addEventListener('dragenter', handleStagingDragEnter);
|
|
tag.addEventListener('dragleave', handleStagingDragLeave);
|
|
|
|
tag.addEventListener('touchstart', handleStagingTouchStart);
|
|
tag.addEventListener('touchmove', handleStagingTouchMove);
|
|
tag.addEventListener('touchend', handleStagingTouchEnd);
|
|
});
|
|
}
|
|
|
|
let stagingDraggedElement = null;
|
|
|
|
function handleStagingDragStart(e) {
|
|
stagingDraggedElement = this;
|
|
this.classList.add('dragging');
|
|
e.dataTransfer.effectAllowed = 'move';
|
|
}
|
|
|
|
function handleStagingDragEnd(e) {
|
|
this.classList.remove('dragging');
|
|
document.querySelectorAll('.staging-tag').forEach(tag => {
|
|
tag.classList.remove('drag-over');
|
|
});
|
|
}
|
|
|
|
function handleStagingDragOver(e) {
|
|
if (e.preventDefault) {
|
|
e.preventDefault();
|
|
}
|
|
e.dataTransfer.dropEffect = 'move';
|
|
return false;
|
|
}
|
|
|
|
function handleStagingDragEnter(e) {
|
|
if (this !== stagingDraggedElement) {
|
|
this.classList.add('drag-over');
|
|
}
|
|
}
|
|
|
|
function handleStagingDragLeave(e) {
|
|
this.classList.remove('drag-over');
|
|
}
|
|
|
|
function handleStagingDrop(e) {
|
|
if (e.stopPropagation) {
|
|
e.stopPropagation();
|
|
}
|
|
|
|
if (stagingDraggedElement !== this) {
|
|
const draggedIndex = parseInt(stagingDraggedElement.dataset.index);
|
|
const targetIndex = parseInt(this.dataset.index);
|
|
|
|
const [movedItem] = stagingTags.splice(draggedIndex, 1);
|
|
stagingTags.splice(targetIndex, 0, movedItem);
|
|
|
|
renderStagingArea();
|
|
}
|
|
|
|
this.classList.remove('drag-over');
|
|
return false;
|
|
}
|
|
|
|
function handleStagingTouchStart(e) {
|
|
if (e.target.classList.contains('remove-btn')) {
|
|
return;
|
|
}
|
|
|
|
e.preventDefault();
|
|
stagingDraggedElement = this;
|
|
this.classList.add('dragging');
|
|
|
|
this.style.transform = 'rotate(5deg)';
|
|
this.style.opacity = '0.8';
|
|
this.style.zIndex = '1000';
|
|
}
|
|
|
|
function handleStagingTouchMove(e) {
|
|
if (!stagingDraggedElement) return;
|
|
e.preventDefault();
|
|
|
|
const touch = e.touches[0];
|
|
const elementRect = stagingDraggedElement.getBoundingClientRect();
|
|
|
|
if (!document.getElementById('staging-touch-drag-ghost')) {
|
|
const ghostElement = stagingDraggedElement.cloneNode(true);
|
|
ghostElement.id = 'staging-touch-drag-ghost';
|
|
ghostElement.style.position = 'fixed';
|
|
ghostElement.style.left = '0';
|
|
ghostElement.style.top = '0';
|
|
ghostElement.style.pointerEvents = 'none';
|
|
ghostElement.style.zIndex = '9999';
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
ghostElement.style.opacity = '0.8';
|
|
ghostElement.style.boxSizing = 'border-box';
|
|
ghostElement.style.width = elementRect.width + 'px';
|
|
ghostElement.style.height = elementRect.height + 'px';
|
|
document.body.appendChild(ghostElement);
|
|
} else {
|
|
const ghostElement = document.getElementById('staging-touch-drag-ghost');
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
}
|
|
|
|
const container = document.getElementById('staging-area');
|
|
const tags = Array.from(container.querySelectorAll('.staging-tag')).filter(tag => tag !== stagingDraggedElement);
|
|
let targetElement = null;
|
|
|
|
for (const tag of tags) {
|
|
const rect = tag.getBoundingClientRect();
|
|
if (touch.clientX >= rect.left && touch.clientX <= rect.right &&
|
|
touch.clientY >= rect.top && touch.clientY <= rect.bottom) {
|
|
targetElement = tag;
|
|
break;
|
|
}
|
|
}
|
|
|
|
document.querySelectorAll('.staging-tag').forEach(tag => {
|
|
if (tag !== stagingDraggedElement) {
|
|
tag.classList.remove('drag-over');
|
|
}
|
|
});
|
|
|
|
if (targetElement) {
|
|
targetElement.classList.add('drag-over');
|
|
}
|
|
}
|
|
|
|
function handleStagingTouchEnd(e) {
|
|
if (!stagingDraggedElement) return;
|
|
e.preventDefault();
|
|
|
|
const ghostElement = document.getElementById('staging-touch-drag-ghost');
|
|
if (ghostElement) {
|
|
document.body.removeChild(ghostElement);
|
|
}
|
|
|
|
const touch = e.changedTouches[0];
|
|
const targetElement = document.elementFromPoint(touch.clientX, touch.clientY);
|
|
const targetTag = targetElement.closest('.staging-tag');
|
|
|
|
if (targetTag && targetTag !== stagingDraggedElement) {
|
|
const draggedIndex = parseInt(stagingDraggedElement.dataset.index);
|
|
const targetIndex = parseInt(targetTag.dataset.index);
|
|
|
|
const [movedItem] = stagingTags.splice(draggedIndex, 1);
|
|
stagingTags.splice(targetIndex, 0, movedItem);
|
|
|
|
renderStagingArea();
|
|
}
|
|
|
|
stagingDraggedElement.style.transform = '';
|
|
stagingDraggedElement.style.opacity = '';
|
|
stagingDraggedElement.style.zIndex = '';
|
|
stagingDraggedElement.classList.remove('dragging');
|
|
|
|
document.querySelectorAll('.staging-tag').forEach(tag => {
|
|
tag.classList.remove('drag-over');
|
|
});
|
|
|
|
stagingDraggedElement = null;
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u62D6\u653E\u529F\u80FD
|
|
let draggedElement = null;
|
|
let touchDragging = false;
|
|
|
|
// \u4E3A\u5220\u9664\u6309\u94AE\u6DFB\u52A0\u89E6\u6478\u4E8B\u4EF6\u76D1\u542C\u5668\uFF0C\u4EE5\u786E\u4FDD\u5176\u53EF\u4EE5\u88AB\u70B9\u51FB
|
|
function setupDragAndDrop() {
|
|
const container = document.getElementById('selected-tags');
|
|
const tags = container.querySelectorAll('.selected-tag');
|
|
|
|
tags.forEach(tag => {
|
|
// \u9F20\u6807\u62D6\u653E\u4E8B\u4EF6
|
|
tag.addEventListener('dragstart', handleDragStart);
|
|
tag.addEventListener('dragend', handleDragEnd);
|
|
tag.addEventListener('dragover', handleDragOver);
|
|
tag.addEventListener('drop', handleDrop);
|
|
tag.addEventListener('dragenter', handleDragEnter);
|
|
tag.addEventListener('dragleave', handleDragLeave);
|
|
|
|
// \u89E6\u6478\u62D6\u653E\u4E8B\u4EF6
|
|
tag.addEventListener('touchstart', handleTouchStart);
|
|
tag.addEventListener('touchmove', handleTouchMove);
|
|
tag.addEventListener('touchend', handleTouchEnd);
|
|
|
|
// \u786E\u4FDD\u5220\u9664\u6309\u94AE\u53EF\u4EE5\u88AB\u70B9\u51FB
|
|
const removeBtn = tag.querySelector('.remove-btn');
|
|
if (removeBtn) {
|
|
// \u963B\u6B62\u5220\u9664\u6309\u94AE\u4E0A\u7684\u89E6\u6478\u4E8B\u4EF6\u5192\u6CE1\u5230\u7236\u5143\u7D20
|
|
removeBtn.addEventListener('touchstart', function(e) {
|
|
e.stopPropagation();
|
|
});
|
|
|
|
removeBtn.addEventListener('touchend', function(e) {
|
|
e.stopPropagation();
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function handleDragStart(e) {
|
|
draggedElement = this;
|
|
this.classList.add('dragging');
|
|
e.dataTransfer.effectAllowed = 'move';
|
|
}
|
|
|
|
function handleDragEnd(e) {
|
|
this.classList.remove('dragging');
|
|
document.querySelectorAll('.selected-tag').forEach(tag => {
|
|
tag.classList.remove('drag-over');
|
|
});
|
|
}
|
|
|
|
function handleDragOver(e) {
|
|
if (e.preventDefault) {
|
|
e.preventDefault();
|
|
}
|
|
e.dataTransfer.dropEffect = 'move';
|
|
return false;
|
|
}
|
|
|
|
function handleDragEnter(e) {
|
|
if (this !== draggedElement) {
|
|
this.classList.add('drag-over');
|
|
}
|
|
}
|
|
|
|
function handleDragLeave(e) {
|
|
this.classList.remove('drag-over');
|
|
}
|
|
|
|
function handleDrop(e) {
|
|
if (e.stopPropagation) {
|
|
e.stopPropagation();
|
|
}
|
|
|
|
if (draggedElement !== this) {
|
|
const container = document.getElementById('selected-tags');
|
|
const allTags = Array.from(container.querySelectorAll('.selected-tag'));
|
|
const draggedIndex = allTags.indexOf(draggedElement);
|
|
const targetIndex = allTags.indexOf(this);
|
|
|
|
if (draggedIndex < targetIndex) {
|
|
this.parentNode.insertBefore(draggedElement, this.nextSibling);
|
|
} else {
|
|
this.parentNode.insertBefore(draggedElement, this);
|
|
}
|
|
}
|
|
|
|
this.classList.remove('drag-over');
|
|
return false;
|
|
}
|
|
|
|
// \u89E6\u6478\u62D6\u52A8\u4E8B\u4EF6\u5904\u7406
|
|
function handleTouchStart(e) {
|
|
// \u68C0\u67E5\u70B9\u51FB\u7684\u662F\u5426\u662F\u5220\u9664\u6309\u94AE
|
|
if (e.target.classList.contains('remove-btn')) {
|
|
// \u5982\u679C\u70B9\u51FB\u7684\u662F\u5220\u9664\u6309\u94AE\uFF0C\u5219\u4E0D\u6267\u884C\u62D6\u52A8\u64CD\u4F5C
|
|
return;
|
|
}
|
|
|
|
// \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A
|
|
e.preventDefault();
|
|
|
|
// \u83B7\u53D6\u89E6\u6478\u70B9
|
|
const touch = e.touches[0];
|
|
|
|
// \u6A21\u62DF\u62D6\u52A8\u5F00\u59CB
|
|
draggedElement = this;
|
|
this.classList.add('dragging');
|
|
touchDragging = true;
|
|
|
|
// \u6DFB\u52A0\u62D6\u52A8\u6837\u5F0F
|
|
this.style.transform = 'rotate(5deg)';
|
|
this.style.opacity = '0.8';
|
|
this.style.zIndex = '1000';
|
|
|
|
// \u6DFB\u52A0\u89E6\u6478\u79FB\u52A8\u548C\u7ED3\u675F\u4E8B\u4EF6\u76D1\u542C\u5668\u5230\u6587\u6863
|
|
document.addEventListener('touchmove', handleTouchMove, { passive: false });
|
|
document.addEventListener('touchend', handleTouchEnd, { passive: false });
|
|
}
|
|
|
|
function handleTouchMove(e) {
|
|
if (!touchDragging || !draggedElement) return;
|
|
|
|
// \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A
|
|
e.preventDefault();
|
|
|
|
// \u4F7F\u7528 requestAnimationFrame \u6765\u4F18\u5316\u6027\u80FD
|
|
if (window.requestAnimationFrame) {
|
|
window.requestAnimationFrame(() => {
|
|
// \u83B7\u53D6\u89E6\u6478\u70B9\u4F4D\u7F6E
|
|
const touch = e.touches[0];
|
|
|
|
// \u83B7\u53D6\u62D6\u52A8\u5143\u7D20\u7684\u5C3A\u5BF8
|
|
const elementRect = draggedElement.getBoundingClientRect();
|
|
|
|
// \u521B\u5EFA\u4E00\u4E2A\u4E34\u65F6\u7684\u62D6\u52A8\u5143\u7D20\uFF0C\u800C\u4E0D\u662F\u79FB\u52A8\u539F\u59CB\u5143\u7D20
|
|
if (!document.getElementById('touch-drag-ghost')) {
|
|
const ghostElement = draggedElement.cloneNode(true);
|
|
ghostElement.id = 'touch-drag-ghost';
|
|
ghostElement.style.position = 'fixed'; // \u4F7F\u7528 fixed \u800C\u4E0D\u662F absolute
|
|
ghostElement.style.left = '0';
|
|
ghostElement.style.top = '0';
|
|
ghostElement.style.pointerEvents = 'none'; // \u9632\u6B62\u5E72\u6270\u89E6\u6478\u4E8B\u4EF6
|
|
ghostElement.style.zIndex = '9999';
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
ghostElement.style.opacity = '0.8';
|
|
ghostElement.style.boxSizing = 'border-box'; // \u786E\u4FDD\u5C3A\u5BF8\u8BA1\u7B97\u6B63\u786E
|
|
ghostElement.style.width = elementRect.width + 'px'; // \u56FA\u5B9A\u5BBD\u5EA6
|
|
ghostElement.style.height = elementRect.height + 'px'; // \u56FA\u5B9A\u9AD8\u5EA6
|
|
document.body.appendChild(ghostElement);
|
|
} else {
|
|
const ghostElement = document.getElementById('touch-drag-ghost');
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
}
|
|
|
|
// \u68C0\u67E5\u4E0E\u5176\u4ED6\u5143\u7D20\u7684\u78B0\u649E
|
|
const container = document.getElementById('selected-tags');
|
|
const tags = Array.from(container.querySelectorAll('.selected-tag')).filter(tag => tag !== draggedElement);
|
|
let targetElement = null;
|
|
|
|
for (const tag of tags) {
|
|
const rect = tag.getBoundingClientRect();
|
|
if (touch.clientX >= rect.left && touch.clientX <= rect.right &&
|
|
touch.clientY >= rect.top && touch.clientY <= rect.bottom) {
|
|
targetElement = tag;
|
|
break;
|
|
}
|
|
}
|
|
|
|
// \u9AD8\u4EAE\u76EE\u6807\u5143\u7D20
|
|
document.querySelectorAll('.selected-tag').forEach(tag => {
|
|
if (tag !== draggedElement) {
|
|
tag.classList.remove('drag-over');
|
|
}
|
|
});
|
|
|
|
if (targetElement) {
|
|
targetElement.classList.add('drag-over');
|
|
}
|
|
});
|
|
} else {
|
|
// \u964D\u7EA7\u5904\u7406\uFF0C\u5982\u679C\u4E0D\u652F\u6301 requestAnimationFrame
|
|
const touch = e.touches[0];
|
|
|
|
// \u83B7\u53D6\u62D6\u52A8\u5143\u7D20\u7684\u5C3A\u5BF8
|
|
const elementRect = draggedElement.getBoundingClientRect();
|
|
|
|
// \u521B\u5EFA\u4E00\u4E2A\u4E34\u65F6\u7684\u62D6\u52A8\u5143\u7D20\uFF0C\u800C\u4E0D\u662F\u79FB\u52A8\u539F\u59CB\u5143\u7D20
|
|
if (!document.getElementById('touch-drag-ghost')) {
|
|
const ghostElement = draggedElement.cloneNode(true);
|
|
ghostElement.id = 'touch-drag-ghost';
|
|
ghostElement.style.position = 'fixed'; // \u4F7F\u7528 fixed \u800C\u4E0D\u662F absolute
|
|
ghostElement.style.left = '0';
|
|
ghostElement.style.top = '0';
|
|
ghostElement.style.pointerEvents = 'none'; // \u9632\u6B62\u5E72\u6270\u89E6\u6478\u4E8B\u4EF6
|
|
ghostElement.style.zIndex = '9999';
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
ghostElement.style.opacity = '0.8';
|
|
ghostElement.style.boxSizing = 'border-box'; // \u786E\u4FDD\u5C3A\u5BF8\u8BA1\u7B97\u6B63\u786E
|
|
ghostElement.style.width = elementRect.width + 'px'; // \u56FA\u5B9A\u5BBD\u5EA6
|
|
ghostElement.style.height = elementRect.height + 'px'; // \u56FA\u5B9A\u9AD8\u5EA6
|
|
document.body.appendChild(ghostElement);
|
|
} else {
|
|
const ghostElement = document.getElementById('touch-drag-ghost');
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
}
|
|
|
|
// \u68C0\u67E5\u4E0E\u5176\u4ED6\u5143\u7D20\u7684\u78B0\u649E
|
|
const container = document.getElementById('selected-tags');
|
|
const tags = Array.from(container.querySelectorAll('.selected-tag')).filter(tag => tag !== draggedElement);
|
|
let targetElement = null;
|
|
|
|
for (const tag of tags) {
|
|
const rect = tag.getBoundingClientRect();
|
|
if (touch.clientX >= rect.left && touch.clientX <= rect.right &&
|
|
touch.clientY >= rect.top && touch.clientY <= rect.bottom) {
|
|
targetElement = tag;
|
|
break;
|
|
}
|
|
}
|
|
|
|
// \u9AD8\u4EAE\u76EE\u6807\u5143\u7D20
|
|
document.querySelectorAll('.selected-tag').forEach(tag => {
|
|
if (tag !== draggedElement) {
|
|
tag.classList.remove('drag-over');
|
|
}
|
|
});
|
|
|
|
if (targetElement) {
|
|
targetElement.classList.add('drag-over');
|
|
}
|
|
}
|
|
}
|
|
|
|
function handleTouchEnd(e) {
|
|
if (!touchDragging || !draggedElement) return;
|
|
|
|
// \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A
|
|
e.preventDefault();
|
|
|
|
// \u79FB\u9664\u4E34\u65F6\u62D6\u52A8\u5143\u7D20
|
|
const ghostElement = document.getElementById('touch-drag-ghost');
|
|
if (ghostElement) {
|
|
document.body.removeChild(ghostElement);
|
|
}
|
|
|
|
// \u627E\u5230\u76EE\u6807\u5143\u7D20\uFF08\u5982\u679C\u6709\uFF09
|
|
const touch = e.changedTouches[0];
|
|
const targetElement = document.elementFromPoint(touch.clientX, touch.clientY);
|
|
|
|
const container = document.getElementById('selected-tags');
|
|
const targetTag = targetElement.closest('.selected-tag');
|
|
|
|
// \u5982\u679C\u76EE\u6807\u662F\u53E6\u4E00\u4E2A\u6807\u7B7E\uFF0C\u6267\u884C\u4EA4\u6362
|
|
if (targetTag && targetTag !== draggedElement && container.contains(targetTag)) {
|
|
const allTags = Array.from(container.querySelectorAll('.selected-tag'));
|
|
const draggedIndex = allTags.indexOf(draggedElement);
|
|
const targetIndex = allTags.indexOf(targetTag);
|
|
|
|
if (draggedIndex < targetIndex) {
|
|
targetTag.parentNode.insertBefore(draggedElement, targetTag.nextSibling);
|
|
} else {
|
|
targetTag.parentNode.insertBefore(draggedElement, targetTag);
|
|
}
|
|
}
|
|
|
|
// \u91CD\u7F6E\u5143\u7D20\u6837\u5F0F
|
|
draggedElement.style.transform = '';
|
|
draggedElement.style.opacity = '';
|
|
draggedElement.style.zIndex = '';
|
|
|
|
// \u79FB\u9664\u62D6\u52A8\u7C7B
|
|
draggedElement.classList.remove('dragging');
|
|
document.querySelectorAll('.selected-tag').forEach(tag => {
|
|
tag.classList.remove('drag-over');
|
|
});
|
|
|
|
// \u91CD\u7F6E\u53D8\u91CF
|
|
touchDragging = false;
|
|
draggedElement = null;
|
|
|
|
// \u79FB\u9664\u4E8B\u4EF6\u76D1\u542C\u5668
|
|
document.removeEventListener('touchmove', handleTouchMove);
|
|
document.removeEventListener('touchend', handleTouchEnd);
|
|
}
|
|
|
|
// \u663E\u793A\u52A0\u8F7D\u906E\u7F69
|
|
function showLoading(text, detail) {
|
|
document.getElementById('loading-text').textContent = text;
|
|
document.getElementById('loading-detail').textContent = detail;
|
|
document.getElementById('loading-overlay').classList.add('active');
|
|
document.getElementById('progress-container').classList.add('active');
|
|
updateProgress(0);
|
|
}
|
|
|
|
// \u9690\u85CF\u52A0\u8F7D\u906E\u7F69
|
|
function hideLoading() {
|
|
document.getElementById('loading-overlay').classList.remove('active');
|
|
setTimeout(() => {
|
|
document.getElementById('progress-container').classList.remove('active');
|
|
updateProgress(0);
|
|
}, 300);
|
|
}
|
|
|
|
// \u66F4\u65B0\u52A0\u8F7D\u6587\u672C
|
|
function updateLoadingText(text, detail) {
|
|
document.getElementById('loading-text').textContent = text;
|
|
document.getElementById('loading-detail').textContent = detail;
|
|
}
|
|
|
|
// \u66F4\u65B0\u8FDB\u5EA6\u6761
|
|
function updateProgress(percent) {
|
|
document.getElementById('progress-bar').style.width = percent + '%';
|
|
}
|
|
|
|
// \u6E32\u67D3\u73AF\u5883\u53D8\u91CF\u5217\u8868
|
|
function renderEnvList() {
|
|
const list = document.getElementById('env-list');
|
|
const items = envVariables[currentCategory] || [];
|
|
|
|
if (items.length === 0) {
|
|
list.innerHTML = '<p class="text-gray padding-20 text-center">\u6682\u65E0\u914D\u7F6E\u9879</p>';
|
|
return;
|
|
}
|
|
|
|
list.innerHTML = items.map((item, index) => {
|
|
const typeLabel = item.type === 'boolean' ? '\u5E03\u5C14' :
|
|
item.type === 'number' ? '\u6570\u5B57' :
|
|
item.type === 'select' ? '\u5355\u9009' :
|
|
item.type === 'map' ? '\u6620\u5C04' :
|
|
item.type === 'multi-select' ? '\u591A\u9009' : '\u6587\u672C';
|
|
const badgeClass = item.type === 'multi-select' ? 'multi' : '';
|
|
|
|
const escapedValue = escapeHtml(item.value);
|
|
|
|
return \`
|
|
<div class="env-item">
|
|
<div class="env-info">
|
|
<strong>\${item.key}<span class="value-type-badge \${badgeClass}">\${typeLabel}</span></strong>
|
|
<div class="text-dark-gray">\${escapedValue}</div>
|
|
<div class="text-gray font-size-12 margin-top-3">\${item.description || '\u65E0\u63CF\u8FF0'}</div>
|
|
</div>
|
|
<div class="env-actions">
|
|
<button class="btn btn-primary" onclick="editEnv(\${index})">\u7F16\u8F91</button>
|
|
<button class="btn btn-danger" onclick="deleteEnv(\${index})">\u5220\u9664</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
}
|
|
|
|
// \u7F16\u8F91\u73AF\u5883\u53D8\u91CF
|
|
function editEnv(index) {
|
|
const item = envVariables[currentCategory][index];
|
|
const editButton = event.target; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u7F16\u8F91\u6309\u94AE
|
|
|
|
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = editButton.innerHTML;
|
|
editButton.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
editButton.disabled = true;
|
|
|
|
editingKey = index;
|
|
document.getElementById('modal-title').textContent = '\u7F16\u8F91\u914D\u7F6E\u9879';
|
|
document.getElementById('env-category').value = currentCategory;
|
|
document.getElementById('env-key').value = item.key;
|
|
document.getElementById('env-description').value = item.description || '';
|
|
document.getElementById('value-type').value = item.type || 'text';
|
|
|
|
// \u8BBE\u7F6E\u5B57\u6BB5\u4E3A\u53EA\u8BFB\uFF08\u7F16\u8F91\u6A21\u5F0F\u4E0B\uFF09
|
|
document.getElementById('env-category').disabled = true;
|
|
document.getElementById('env-key').readOnly = true;
|
|
document.getElementById('value-type').disabled = true;
|
|
document.getElementById('env-description').readOnly = true;
|
|
|
|
// \u6E32\u67D3\u5BF9\u5E94\u7684\u503C\u8F93\u5165\u63A7\u4EF6
|
|
renderValueInput(item);
|
|
|
|
document.getElementById('env-modal').classList.add('active');
|
|
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001\uFF08\u5728\u5B9E\u9645\u573A\u666F\u4E2D\uFF0C\u8FD9\u4F1A\u5728\u7F16\u8F91\u5B8C\u6210\u540E\u53D1\u751F\uFF0C\u6BD4\u5982\u5728\u4FDD\u5B58\u540E\u6216\u53D6\u6D88\u540E\uFF09
|
|
// \u4E3A\u4E86\u6F14\u793A\uFF0C\u8FD9\u91CC\u7ACB\u5373\u6062\u590D\u6309\u94AE\u72B6\u6001\uFF0C\u5B9E\u9645\u4F7F\u7528\u4E2D\u5E94\u8BE5\u5728\u9002\u5F53\u7684\u5730\u65B9\u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
editButton.innerHTML = originalText;
|
|
editButton.disabled = false;
|
|
}
|
|
|
|
// \u5220\u9664\u73AF\u5883\u53D8\u91CF
|
|
function deleteEnv(index) {
|
|
customConfirm('\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u914D\u7F6E\u9879\u5417?', '\u5220\u9664\u786E\u8BA4').then(confirmed => {
|
|
if (confirmed) {
|
|
const item = envVariables[currentCategory][index];
|
|
const key = item.key;
|
|
const deleteButton = event.target; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u5220\u9664\u6309\u94AE
|
|
|
|
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = deleteButton.innerHTML;
|
|
deleteButton.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
deleteButton.disabled = true;
|
|
|
|
// \u8C03\u7528API\u5220\u9664\u73AF\u5883\u53D8\u91CF
|
|
fetch(buildApiUrl('/api/env/del'), {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({ key })
|
|
})
|
|
.then(response => response.json())
|
|
.then(result => {
|
|
if (result.success) {
|
|
// \u4ECE\u672C\u5730\u6570\u636E\u4E2D\u5220\u9664
|
|
envVariables[currentCategory].splice(index, 1);
|
|
renderEnvList();
|
|
renderPreview();
|
|
addLog(\`\u5220\u9664\u914D\u7F6E\u9879: \${key}\`, 'warn');
|
|
} else {
|
|
addLog(\`\u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${result.message}\`, 'error');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
addLog(\`\u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${error.message}\`, 'error');
|
|
})
|
|
.finally(() => {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
deleteButton.innerHTML = originalText;
|
|
deleteButton.disabled = false;
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
// \u8868\u5355\u63D0\u4EA4
|
|
document.getElementById('env-form').addEventListener('submit', async function(e) {
|
|
e.preventDefault();
|
|
|
|
const category = document.getElementById('env-category').value;
|
|
const key = document.getElementById('env-key').value.trim();
|
|
const description = document.getElementById('env-description').value.trim();
|
|
const type = document.getElementById('value-type').value;
|
|
const existingItem = editingKey !== null && envVariables[currentCategory]
|
|
? envVariables[currentCategory][editingKey]
|
|
: null;
|
|
|
|
// \u6839\u636E\u7C7B\u578B\u83B7\u53D6\u503C
|
|
let value, itemData;
|
|
|
|
if (type === 'boolean') {
|
|
value = document.getElementById('bool-value').checked ? 'true' : 'false';
|
|
itemData = { key, value, description, type };
|
|
} else if (type === 'number') {
|
|
value = document.getElementById('num-value').textContent;
|
|
const min = parseInt(document.getElementById('num-slider').min);
|
|
const max = parseInt(document.getElementById('num-slider').max);
|
|
itemData = { key, value, description, type, min, max };
|
|
} else if (type === 'select') {
|
|
const selected = document.querySelector('.tag-option.selected');
|
|
value = selected ? selected.dataset.value : '';
|
|
const options = Array.from(document.querySelectorAll('.tag-option')).map(el => el.dataset.value);
|
|
itemData = { key, value, description, type, options };
|
|
} else if (type === 'multi-select') {
|
|
// \u5982\u679C\u5F00\u542F\u4E86\u5408\u5E76\u6A21\u5F0F\uFF0C\u4E14\u6682\u5B58\u533A\u8FD8\u6709\u5185\u5BB9\uFF0C\u81EA\u52A8\u5C06\u5176\u89C6\u4E3A\u786E\u8BA4\u6DFB\u52A0
|
|
if (isMergeMode && stagingTags && stagingTags.length > 0) {
|
|
confirmMergeGroup();
|
|
}
|
|
|
|
const selectedTags = Array.from(document.querySelectorAll('.selected-tag'))
|
|
.map(el => el.dataset.value);
|
|
value = selectedTags.join(',');
|
|
const options = Array.from(document.querySelectorAll('.available-tag')).map(el => el.dataset.value);
|
|
itemData = { key, value, description, type, options };
|
|
} else if (type === 'map') {
|
|
// \u83B7\u53D6\u6620\u5C04\u8868\u503C
|
|
const mapItems = document.querySelectorAll('#map-container .map-item');
|
|
const pairs = [];
|
|
mapItems.forEach(item => {
|
|
const leftInput = item.querySelector('.map-input-left');
|
|
const rightInput = item.querySelector('.map-input-right');
|
|
const leftValue = leftInput.value.trim();
|
|
const rightValue = rightInput.value.trim();
|
|
if (leftValue && rightValue) {
|
|
pairs.push(leftValue + '->' + rightValue);
|
|
}
|
|
});
|
|
value = pairs.join(';');
|
|
itemData = { key, value, description, type };
|
|
} else {
|
|
value = document.getElementById('text-value').value.trim();
|
|
itemData = { key, value, description, type };
|
|
}
|
|
|
|
// \u8C03\u7528API\u66F4\u65B0\u73AF\u5883\u53D8\u91CF - \u5148\u5C1D\u8BD5set\u63A5\u53E3\uFF0C\u5931\u8D25\u5219\u8C03\u7528add\u63A5\u53E3
|
|
try {
|
|
// \u9996\u5148\u5C1D\u8BD5\u4F7F\u7528set\u63A5\u53E3\u66F4\u65B0
|
|
let response = await fetch(buildApiUrl('/api/env/set'), {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({ key, value })
|
|
});
|
|
|
|
let result = await response.json();
|
|
|
|
if (!result.success) {
|
|
// \u5982\u679Cset\u63A5\u53E3\u5931\u8D25\uFF0C\u5C1D\u8BD5\u4F7F\u7528add\u63A5\u53E3
|
|
response = await fetch(buildApiUrl('/api/env/add'), {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({ key, value })
|
|
});
|
|
|
|
result = await response.json();
|
|
}
|
|
|
|
if (result.success) {
|
|
// \u66F4\u65B0\u672C\u5730\u6570\u636E
|
|
if (!envVariables[category]) {
|
|
envVariables[category] = [];
|
|
}
|
|
|
|
if (editingKey !== null) {
|
|
envVariables[currentCategory][editingKey] = {
|
|
...(existingItem || {}),
|
|
...itemData
|
|
};
|
|
addLog(\`\u66F4\u65B0\u914D\u7F6E\u9879: \${key} = \${value}\`, 'success');
|
|
} else {
|
|
envVariables[category].push(itemData);
|
|
addLog(\`\u6DFB\u52A0\u914D\u7F6E\u9879: \${key} = \${value}\`, 'success');
|
|
}
|
|
|
|
if (category !== currentCategory) {
|
|
currentCategory = category;
|
|
document.querySelectorAll('.category-btn').forEach((btn, i) => {
|
|
btn.classList.toggle('active', ['api', 'source', 'match', 'danmu', 'cache', 'system'][i] === category);
|
|
});
|
|
}
|
|
|
|
renderEnvList();
|
|
renderPreview();
|
|
closeModal();
|
|
} else {
|
|
addLog(\`\u64CD\u4F5C\u5931\u8D25: \${result.message}\`, 'error');
|
|
customAlert(result.message + '\uFF0C\u8BF7\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\u662F\u5426\u6B63\u786E');
|
|
}
|
|
} catch (error) {
|
|
addLog(\`\u66F4\u65B0\u73AF\u5883\u53D8\u91CF\u5931\u8D25: \${error.message}\`, 'error');
|
|
customAlert(error.message + '\uFF0C\u8BF7\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\u662F\u5426\u6B63\u786E');
|
|
}
|
|
});
|
|
|
|
// \u6DFB\u52A0\u6620\u5C04\u9879
|
|
function addMapItem() {
|
|
const container = document.getElementById('map-container');
|
|
const template = document.querySelector('.map-item-template');
|
|
const newItem = template.cloneNode(true);
|
|
newItem.style.display = 'flex';
|
|
newItem.classList.remove('map-item-template');
|
|
newItem.classList.add('map-item');
|
|
const index = container.querySelectorAll('.map-item').length;
|
|
newItem.setAttribute('data-index', index);
|
|
container.appendChild(newItem);
|
|
}
|
|
|
|
// \u5220\u9664\u6620\u5C04\u9879
|
|
function removeMapItem(button) {
|
|
const item = button.closest('.map-item');
|
|
if (item) {
|
|
item.remove();
|
|
}
|
|
}
|
|
/* ========================================
|
|
Bilibili Cookie \u626B\u7801\u767B\u5F55\u529F\u80FD
|
|
======================================== */
|
|
let biliQRCheckInterval = null;
|
|
let biliBiliQRKey = null;
|
|
|
|
async function startBilibiliQRLogin() {
|
|
// \u521B\u5EFA\u626B\u7801\u767B\u5F55\u6A21\u6001\u6846
|
|
if (!document.getElementById('bili-qr-modal')) {
|
|
const modalHTML = \`
|
|
<div class="modal" id="bili-qr-modal">
|
|
<div class="modal-content" style="max-width: 400px;">
|
|
<div class="modal-header">
|
|
<h3>\u626B\u7801\u767B\u5F55 Bilibili</h3>
|
|
<button class="close-btn" onclick="closeBiliQRModal()">\xD7</button>
|
|
</div>
|
|
<div class="modal-body" style="text-align: center;">
|
|
<div id="bili-qr-container">
|
|
<div class="loading-spinner" id="bili-qr-loading"></div>
|
|
<p id="bili-qr-status">\u6B63\u5728\u751F\u6210\u4E8C\u7EF4\u7801...</p>
|
|
<div id="bili-qr-code" style="display: none;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
document.body.insertAdjacentHTML('beforeend', modalHTML);
|
|
}
|
|
|
|
const modal = document.getElementById('bili-qr-modal');
|
|
const qrCode = document.getElementById('bili-qr-code');
|
|
const qrLoading = document.getElementById('bili-qr-loading');
|
|
const qrStatus = document.getElementById('bili-qr-status');
|
|
|
|
modal.classList.add('active');
|
|
qrCode.style.display = 'none';
|
|
qrCode.innerHTML = '';
|
|
qrLoading.style.display = 'block';
|
|
qrStatus.textContent = '\u6B63\u5728\u751F\u6210\u4E8C\u7EF4\u7801...';
|
|
|
|
if (biliQRCheckInterval) {
|
|
clearInterval(biliQRCheckInterval);
|
|
}
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/cookie/qr/generate', true), {
|
|
method: 'POST'
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.success && result.data) {
|
|
biliBiliQRKey = result.data.qrcode_key;
|
|
const qrUrl = result.data.url;
|
|
|
|
qrCode.innerHTML = '<img src="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=' + encodeURIComponent(qrUrl) + '" alt="\u4E8C\u7EF4\u7801">';
|
|
qrCode.style.display = 'block';
|
|
qrLoading.style.display = 'none';
|
|
qrStatus.textContent = '\u8BF7\u4F7F\u7528 Bilibili APP \u626B\u63CF';
|
|
|
|
startBiliQRCheck();
|
|
} else {
|
|
throw new Error(result.message || '\u751F\u6210\u4E8C\u7EF4\u7801\u5931\u8D25');
|
|
}
|
|
} catch (error) {
|
|
qrLoading.style.display = 'none';
|
|
qrStatus.textContent = error.message;
|
|
}
|
|
}
|
|
|
|
function startBiliQRCheck() {
|
|
if (!biliBiliQRKey) return;
|
|
|
|
const qrStatus = document.getElementById('bili-qr-status');
|
|
|
|
biliQRCheckInterval = setInterval(async () => {
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/cookie/qr/check', true), {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({ qrcode_key: biliBiliQRKey })
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.success && result.data) {
|
|
const code = result.data.code;
|
|
|
|
switch (code) {
|
|
case 86101:
|
|
qrStatus.textContent = '\u7B49\u5F85\u626B\u7801...';
|
|
break;
|
|
case 86090:
|
|
qrStatus.textContent = '\u5DF2\u626B\u7801\uFF0C\u8BF7\u786E\u8BA4';
|
|
break;
|
|
case 86038:
|
|
qrStatus.textContent = '\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F';
|
|
clearInterval(biliQRCheckInterval);
|
|
break;
|
|
case 0:
|
|
qrStatus.textContent = '\u767B\u5F55\u6210\u529F\uFF01';
|
|
clearInterval(biliQRCheckInterval);
|
|
|
|
if (result.data.cookie) {
|
|
fillBilibiliCookie(result.data.cookie);
|
|
}
|
|
|
|
setTimeout(() => {
|
|
closeBiliQRModal();
|
|
}, 1000);
|
|
break;
|
|
}
|
|
}
|
|
} catch (error) {
|
|
console.error('\u68C0\u67E5\u626B\u7801\u72B6\u6001\u5931\u8D25:', error);
|
|
}
|
|
}, 2000);
|
|
}
|
|
|
|
function fillBilibiliCookie(cookie) {
|
|
const textInput = document.getElementById('text-value');
|
|
if (textInput) {
|
|
textInput.value = cookie;
|
|
textInput.dispatchEvent(new Event('input', { bubbles: true }));
|
|
|
|
textInput.style.borderColor = 'var(--success-color, #28a745)';
|
|
setTimeout(() => {
|
|
textInput.style.borderColor = '';
|
|
// \u586B\u5165\u540E\u89E6\u53D1\u68C0\u6D4B\u4E00\u6B21\uFF08\u4F1A\u63D0\u793A\u7528\u6237\u4FDD\u5B58\uFF09
|
|
autoCheckBilibiliCookieStatus();
|
|
}, 2000);
|
|
}
|
|
}
|
|
|
|
function closeBiliQRModal() {
|
|
const modal = document.getElementById('bili-qr-modal');
|
|
if (modal) {
|
|
modal.classList.remove('active');
|
|
}
|
|
|
|
if (biliQRCheckInterval) {
|
|
clearInterval(biliQRCheckInterval);
|
|
}
|
|
}
|
|
|
|
async function autoCheckBilibiliCookieStatus() {
|
|
const textInput = document.getElementById('text-value');
|
|
const statusEl = document.getElementById('bili-cookie-status');
|
|
|
|
if (!textInput || !statusEl) return;
|
|
|
|
const cookie = textInput.value.trim();
|
|
|
|
// \u5982\u679C\u8F93\u5165\u6846\u4E3A\u7A7A,\u63D0\u793A\u672A\u914D\u7F6E
|
|
if (!cookie) {
|
|
statusEl.innerHTML = '<span class="bili-status-text">\u672A\u914D\u7F6E</span>';
|
|
return;
|
|
}
|
|
|
|
statusEl.innerHTML = '<span class="bili-status-text">\u68C0\u6D4B\u4E2D...</span>';
|
|
|
|
// \u8131\u654F\u540E\u7684 *...* \u65E0\u6CD5\u76F4\u63A5\u6821\u9A8C\uFF0C\u540E\u7AEF\u4F1A\u81EA\u52A8\u6539\u4E3A\u6821\u9A8C\u201C\u5DF2\u4FDD\u5B58\u201D\u7684 Cookie
|
|
const isMasked = /^[*]+$/.test(cookie);
|
|
const payload = isMasked ? {} : { cookie };
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/cookie/verify', true), {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify(payload)
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result && result.success && result.data) {
|
|
if (result.data.isValid) {
|
|
const uname = result.data.uname || '\u5DF2\u767B\u5F55';
|
|
const expiresAt = result.data.expiresAt;
|
|
const now = Math.floor(Date.now() / 1000);
|
|
|
|
let leftText = '';
|
|
if (typeof expiresAt === 'number' && expiresAt > now) {
|
|
const daysLeft = Math.ceil((expiresAt - now) / (24 * 60 * 60));
|
|
leftText = \` (\u5269\u4F59 \${daysLeft} \u5929)\`;
|
|
}
|
|
|
|
// \u7528\u6237\u624B\u52A8\u8F93\u5165/\u626B\u7801\u586B\u5165\u7684 Cookie \u2192 \u63D0\u793A\u4FDD\u5B58
|
|
if (!isMasked) {
|
|
statusEl.innerHTML = \`<span class="bili-status-text">\${uname}\${leftText} \xB7 \u8BF7\u70B9\u51FB\u4FDD\u5B58\u6309\u94AE\uFF08Vercel\u7B49\u5E73\u53F0\u9700\u91CD\u65B0\u90E8\u7F72\u540E\u751F\u6548\uFF09</span>\`;
|
|
} else {
|
|
// \u8131\u654F\u663E\u793A\u65F6\u53EA\u5C55\u793A\u5F53\u524D\u5DF2\u4FDD\u5B58 Cookie \u7684\u72B6\u6001
|
|
statusEl.innerHTML = \`<span class="bili-status-text">\${uname}\${leftText}</span>\`;
|
|
}
|
|
} else {
|
|
const err = result.data.error || 'Cookie\u65E0\u6548\u6216\u5DF2\u5931\u6548';
|
|
statusEl.innerHTML = \`<span class="bili-status-text">\${err}\uFF0C\u8BF7\u91CD\u65B0\u626B\u7801\u767B\u5F55\u5E76\u4FDD\u5B58</span>\`;
|
|
}
|
|
} else {
|
|
statusEl.innerHTML = '<span class="bili-status-text">\u68C0\u6D4B\u5931\u8D25</span>';
|
|
}
|
|
} catch (error) {
|
|
statusEl.innerHTML = '<span class="bili-status-text">\u68C0\u6D4B\u5931\u8D25</span>';
|
|
}
|
|
}
|
|
// \u663E\u793A Bilibili Cookie \u4FDD\u5B58\u63D0\u793A
|
|
function showBilibiliCookieSaveHint(text) {
|
|
const statusEl = document.getElementById('bili-cookie-status');
|
|
if (!statusEl) return;
|
|
|
|
const msg = text || '\u8BF7\u70B9\u51FB\u4FDD\u5B58\u6309\u94AE,Vercel\u7B49\u5E73\u53F0\u9700\u91CD\u65B0\u90E8\u7F72\u540E\u751F\u6548';
|
|
statusEl.innerHTML = \`<span class="bili-status-text">\${msg}</span>\`;
|
|
}
|
|
|
|
/* ========================================
|
|
AI API Key \u8FDE\u901A\u6027\u6D4B\u8BD5\u529F\u80FD
|
|
======================================== */
|
|
async function verifyAiConnection() {
|
|
const statusEl = document.getElementById('ai-apikey-status');
|
|
const btn = document.getElementById('ai-verify-btn');
|
|
const textInput = document.getElementById('text-value');
|
|
|
|
if (!statusEl || !textInput) return;
|
|
|
|
const apiKey = textInput.value.trim();
|
|
|
|
// \u5982\u679C\u8F93\u5165\u6846\u4E3A\u7A7A\uFF0C\u63D0\u793A\u672A\u914D\u7F6E
|
|
if (!apiKey) {
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u26A0\uFE0F</span><span class="ai-status-text">\u8BF7\u5148\u8F93\u5165 API Key</span>';
|
|
return;
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = btn.innerHTML;
|
|
btn.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
btn.disabled = true;
|
|
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u{1F50D}</span><span class="ai-status-text">\u6B63\u5728\u6D4B\u8BD5\u8FDE\u901A\u6027...</span>';
|
|
|
|
// \u68C0\u67E5\u662F\u5426\u4E3A\u8131\u654F\u540E\u7684 *...*
|
|
const isMasked = /^[*]+$/.test(apiKey);
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/ai/verify', true), {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify(isMasked ? {} : { 'aiApiKey': apiKey })
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.ok) {
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u2705</span><span class="ai-status-text">' + (result.message || 'AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u6210\u529F') + '</span>';
|
|
statusEl.style.color = 'var(--success-color, #28a745)';
|
|
} else {
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u274C</span><span class="ai-status-text">' + (result.message || '\u8FDE\u901A\u6027\u6D4B\u8BD5\u5931\u8D25') + '</span>';
|
|
statusEl.style.color = 'var(--danger-color, #dc3545)';
|
|
}
|
|
} catch (error) {
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u26A0\uFE0F</span><span class="ai-status-text">\u6D4B\u8BD5\u8BF7\u6C42\u5931\u8D25: ' + error.message + '</span>';
|
|
statusEl.style.color = 'var(--warning-color, #ffc107)';
|
|
} finally {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
btn.innerHTML = originalText;
|
|
btn.disabled = false;
|
|
}
|
|
}
|
|
|
|
/* ========================================
|
|
\u6700\u8FD1\u6570\u636E\u4E0Eanimes\u7F13\u5B58\u9762\u677F\u529F\u80FD
|
|
======================================== */
|
|
|
|
// \u7EDF\u4E00\u5207\u6362\u5361\u7247\u5185\u7684\u6298\u53E0\u533A\u57DF
|
|
function toggleCardSection(btnEl, targetSelector, openText, closeText) {
|
|
if (!btnEl) return;
|
|
const card = btnEl.closest('.anime-cache-card');
|
|
if (!card) return;
|
|
const container = card.querySelector(targetSelector);
|
|
if (!container) return;
|
|
|
|
const isHidden = window.getComputedStyle(container).display === 'none';
|
|
|
|
if (isHidden) {
|
|
container.style.display = 'flex';
|
|
btnEl.innerHTML = closeText;
|
|
btnEl.classList.add('active');
|
|
} else {
|
|
container.style.display = 'none';
|
|
btnEl.innerHTML = openText;
|
|
btnEl.classList.remove('active');
|
|
}
|
|
}
|
|
|
|
// \u5207\u6362\u5B50\u8282\u70B9\u5185\u7684\u6620\u5C04\u8BE6\u60C5
|
|
function toggleMapping(btnEl) {
|
|
if (!btnEl) return;
|
|
const parentItem = btnEl.closest('.anime-cache-child-item');
|
|
if (!parentItem) return;
|
|
const container = parentItem.querySelector('.child-mapping-container');
|
|
if (!container) return;
|
|
|
|
const isHidden = window.getComputedStyle(container).display === 'none';
|
|
if (isHidden) {
|
|
container.style.display = 'flex';
|
|
btnEl.innerHTML = '\u{1F4CA} \u6536\u8D77\u6620\u5C04\u8BE6\u60C5';
|
|
btnEl.classList.add('active');
|
|
} else {
|
|
container.style.display = 'none';
|
|
btnEl.innerHTML = '\u{1F4CA} \u5C55\u5F00\u6620\u5C04\u8BE6\u60C5';
|
|
btnEl.classList.remove('active');
|
|
}
|
|
}
|
|
|
|
// \u5FEB\u6377\u6570\u636E\u9762\u677F\u4E1A\u52A1\u903B\u8F91
|
|
async function fetchAndShowRecentData() {
|
|
const panel = document.getElementById('recent-data-panel');
|
|
const listContainer = document.getElementById('recent-data-list');
|
|
|
|
if (!panel || !listContainer) return;
|
|
|
|
if (window.getComputedStyle(panel).display !== 'none') {
|
|
panel.style.display = 'none';
|
|
return;
|
|
}
|
|
|
|
panel.style.display = 'block';
|
|
listContainer.innerHTML = '<span class="loading-spinner-small"></span> \u6570\u636E\u52A0\u8F7D\u4E2D...';
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/cache/animes', true));
|
|
const result = await response.json();
|
|
|
|
if (result.success && result.data && result.data.length > 0) {
|
|
renderAnimeCachePanel(result.data, listContainer);
|
|
} else {
|
|
listContainer.innerHTML = '<div class="text-gray font-size-12" style="padding: 10px 0;">\u7F13\u5B58\u4E2D\u6682\u65E0\u756A\u5267\u6570\u636E\uFF0C\u8BF7\u5148\u901A\u8FC7\u5BA2\u6237\u7AEF\u8BF7\u6C42\u5F39\u5E55\u63A5\u53E3\u4EE5\u751F\u6210\u7F13\u5B58\u3002</div>';
|
|
}
|
|
} catch (error) {
|
|
listContainer.innerHTML = \`<div class="text-red font-size-12">\u8BF7\u6C42\u5931\u8D25: \${error.message}</div>\`;
|
|
}
|
|
}
|
|
|
|
// \u6E32\u67D3animes\u7F13\u5B58\u9762\u677F (\u542B\u96C6\u6570\u89E3\u6790\u4E0E\u6620\u5C04\u8BE6\u60C5)
|
|
function renderAnimeCachePanel(data, listContainer) {
|
|
const keyInput = document.getElementById('env-key');
|
|
|
|
if (!listContainer || !keyInput) return;
|
|
|
|
const currentKey = keyInput.value;
|
|
|
|
// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u751F\u6210\u64CD\u4F5C\u6309\u94AE
|
|
const generateButtons = (title, source) => {
|
|
if (currentKey === 'CUSTOM_MERGE_RULES') {
|
|
return \`
|
|
<button type="button" class="btn btn-sm btn-xs" onclick="fillMergeEntity('sec', '\${title}', '\${source}')">\u8BBE\u4E3A\u526F</button>
|
|
<button type="button" class="btn btn-sm btn-primary btn-xs" onclick="fillMergeEntity('prim', '\${title}', '\${source}')">\u8BBE\u4E3A\u4E3B</button>
|
|
\`;
|
|
} else if (currentKey === 'DANMU_OFFSET') {
|
|
return \`
|
|
<button type="button" class="btn btn-sm btn-primary btn-xs" onclick="fillOffsetEntity('\${title}', '\${source}')">\u586B\u5165</button>
|
|
\`;
|
|
}
|
|
return '';
|
|
};
|
|
|
|
// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u6E05\u6D17\u6807\u9898
|
|
const cleanTitleStr = (rawTitle) => rawTitle.replace(/\\s*from\\s+.*$/i, '').trim().replace(/'/g, ''');
|
|
|
|
let html = '<div class="anime-cache-list">';
|
|
|
|
data.forEach(item => {
|
|
const cleanTitle = cleanTitleStr(item.animeTitle);
|
|
const coverStyle = item.imageUrl ? \`background-image: url('\${item.imageUrl}');\` : '';
|
|
|
|
// 1. \u6784\u5EFA\u5408\u5E76\u5B50\u6E90\u6A21\u5757
|
|
let childrenHtml = '';
|
|
let childrenCount = 0;
|
|
if (item.mergedChildren && item.mergedChildren.length > 0) {
|
|
childrenCount = item.mergedChildren.length;
|
|
const childItems = item.mergedChildren.map(child => {
|
|
const childCleanTitle = cleanTitleStr(child.animeTitle);
|
|
|
|
const childCoverStyle = child.imageUrl ? \`background-image: url('\${child.imageUrl}');\` : '';
|
|
|
|
// \u89E3\u6790\u6620\u5C04\u6570\u636E\u5E76\u6309\u5339\u914D\u72B6\u6001\u6392\u5E8F
|
|
let mappingHtml = '';
|
|
if (item.links && item.links.length > 0) {
|
|
const parsedRows = [];
|
|
|
|
item.links.forEach((link, idx) => {
|
|
const urlStr = String(link.url || '');
|
|
const hasMainMatch = urlStr.includes(item.source + ':') || !urlStr.includes(':');
|
|
const hasChildMatch = urlStr.includes(child.source + ':');
|
|
|
|
if (!hasMainMatch && !hasChildMatch) return;
|
|
|
|
let mainSide = '(\u4E3B\u6E90\u8D8A\u754C)';
|
|
if (hasMainMatch) {
|
|
const cleanMainEpTitle = (link.title || '\u672A\u77E5\u5267\u96C6').replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, ''').replace(/"/g, '"');
|
|
mainSide = \`\u3010\${item.source}\u3011\${cleanMainEpTitle}\`;
|
|
}
|
|
|
|
let childSide = '(\u526F\u6E90\u7F3A\u5931)';
|
|
let childNum = NaN;
|
|
|
|
if (hasChildMatch) {
|
|
const regex = new RegExp(child.source + ':([^$]+)');
|
|
const match = urlStr.match(regex);
|
|
let childTitleStr = '(\u6E90ID\u672A\u77E5)';
|
|
|
|
if (match) {
|
|
const childId = match[1];
|
|
childTitleStr = \`(\u6E90ID: \${childId})\`;
|
|
|
|
if (child.links && child.links.length > 0) {
|
|
const childLink = child.links.find(l => String(l.url) === String(childId));
|
|
if (childLink && childLink.title) {
|
|
childTitleStr = childLink.title.replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, ''').replace(/"/g, '"');
|
|
}
|
|
}
|
|
} else {
|
|
childTitleStr = (link.title || '').replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, ''').replace(/"/g, '"');
|
|
}
|
|
childSide = \`\u3010\${child.source}\u3011\${childTitleStr}\`;
|
|
|
|
const numMatch = childTitleStr.match(/\\d+/);
|
|
if (numMatch) {
|
|
childNum = parseInt(numMatch[0], 10);
|
|
}
|
|
}
|
|
|
|
let rowHtml = '';
|
|
if (hasMainMatch && hasChildMatch) {
|
|
rowHtml = \`<div class="mapping-row"><span class="mapping-status success">\u2713 \u5339\u914D</span> <span class="mapping-text">\${mainSide} \u2194 \${childSide}</span></div>\`;
|
|
} else {
|
|
rowHtml = \`<div class="mapping-row"><span class="mapping-status warning">\u2717 \u843D\u5355</span> <span class="mapping-text">\${mainSide} \u2194 \${childSide}</span></div>\`;
|
|
}
|
|
|
|
parsedRows.push({
|
|
originalIndex: idx,
|
|
hasChildMatch: hasChildMatch,
|
|
childNum: childNum,
|
|
html: rowHtml
|
|
});
|
|
});
|
|
|
|
const matchedRows = parsedRows.filter(r => r.hasChildMatch).sort((a, b) => {
|
|
if (!isNaN(a.childNum) && !isNaN(b.childNum)) {
|
|
return a.childNum - b.childNum;
|
|
}
|
|
return a.originalIndex - b.originalIndex;
|
|
});
|
|
|
|
const lonelyRows = parsedRows.filter(r => !r.hasChildMatch).sort((a, b) => a.originalIndex - b.originalIndex);
|
|
|
|
const finalRows = [...matchedRows, ...lonelyRows];
|
|
const mappingRowsHtml = finalRows.map(r => r.html).join('');
|
|
|
|
if (mappingRowsHtml) {
|
|
mappingHtml = \`
|
|
<div class="child-mapping-toggle" onclick="toggleMapping(this)">\u{1F4CA} \u5C55\u5F00\u6620\u5C04\u8BE6\u60C5</div>
|
|
<div class="child-mapping-container">
|
|
\${mappingRowsHtml}
|
|
</div>
|
|
\`;
|
|
}
|
|
}
|
|
|
|
return \`
|
|
<div class="anime-cache-child-item">
|
|
<div class="anime-cache-child-main">
|
|
<div class="anime-cache-child-cover" style="\${childCoverStyle}"></div>
|
|
<div class="anime-cache-child-info">
|
|
<div class="anime-cache-child-title" title="\${child.animeTitle}">\${childCleanTitle}</div>
|
|
<div class="anime-cache-meta">[\${child.source}] (\${child.episodes}\u96C6)</div>
|
|
</div>
|
|
<div class="anime-cache-child-actions">
|
|
\${generateButtons(childCleanTitle, child.source)}
|
|
</div>
|
|
</div>
|
|
\${mappingHtml}
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
|
|
childrenHtml = \`
|
|
<div class="merged-children-container">
|
|
\${childItems}
|
|
</div>
|
|
\`;
|
|
}
|
|
|
|
// 2. \u6784\u5EFA\u5267\u96C6\u53C2\u8003\u5217\u8868\u6A21\u5757
|
|
let episodesHtml = '';
|
|
let episodesCount = 0;
|
|
if (item.links && item.links.length > 0) {
|
|
episodesCount = item.links.length;
|
|
const epItems = item.links.map(link => {
|
|
const safeTitle = link.title ? link.title.replace(/'/g, ''').replace(/"/g, '"') : '\u672A\u77E5\u5267\u96C6';
|
|
return \`
|
|
<div class="anime-cache-child-item" style="padding: 6px;">
|
|
<div class="anime-cache-child-main">
|
|
<div class="anime-cache-child-info">
|
|
<div class="anime-cache-child-title" title="\${safeTitle}">\${safeTitle}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
|
|
episodesHtml = \`
|
|
<div class="episodes-list-container">
|
|
\${epItems}
|
|
</div>
|
|
\`;
|
|
}
|
|
|
|
// 3. \u6784\u5EFA\u5361\u7247\u5E95\u90E8\u4E13\u5C5E\u5207\u6362\u680F (Tab Bar)
|
|
let footerHtml = '';
|
|
if (childrenCount > 0 || episodesCount > 0) {
|
|
let badges = '';
|
|
if (episodesCount > 0) {
|
|
badges += \`<div class="cache-badge badge-episodes" onclick="toggleCardSection(this, '.episodes-list-container', '\u{1F4FA} \${episodesCount} \u4E2A\u5267\u96C6', '\u{1F4FA} \u6536\u8D77\u5267\u96C6')">\u{1F4FA} \${episodesCount} \u4E2A\u5267\u96C6</div>\`;
|
|
}
|
|
if (childrenCount > 0) {
|
|
badges += \`<div class="cache-badge badge-sources" onclick="toggleCardSection(this, '.merged-children-container', '\u{1F517} \${childrenCount} \u4E2A\u88AB\u5408\u5E76\u6E90', '\u{1F517} \u6536\u8D77\u88AB\u5408\u5E76\u6E90')">\u{1F517} \${childrenCount} \u4E2A\u88AB\u5408\u5E76\u6E90</div>\`;
|
|
}
|
|
footerHtml = \`<div class="anime-cache-footer">\${badges}</div>\`;
|
|
}
|
|
|
|
// 4. \u7EC4\u88C5\u5B8C\u6574\u5361\u7247
|
|
html += \`
|
|
<div class="anime-cache-card">
|
|
<div class="anime-cache-card-body">
|
|
<div class="anime-cache-cover" style="\${coverStyle}"></div>
|
|
<div class="anime-cache-info">
|
|
<div class="anime-cache-title" title="\${item.animeTitle}">\${cleanTitle}</div>
|
|
<div class="anime-cache-meta">[\${item.source}] (\${item.episodes}\u96C6)</div>
|
|
</div>
|
|
<div class="anime-cache-actions">
|
|
\${generateButtons(cleanTitle, item.source)}
|
|
</div>
|
|
</div>
|
|
\${footerHtml}
|
|
\${childrenHtml}
|
|
\${episodesHtml}
|
|
</div>
|
|
\`;
|
|
});
|
|
|
|
html += '</div>';
|
|
listContainer.innerHTML = html;
|
|
}
|
|
|
|
/* ========================================
|
|
\u8868\u5355\u586B\u5145\u5FEB\u6377\u64CD\u4F5C\u529F\u80FD
|
|
======================================== */
|
|
|
|
// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u8F93\u5165\u6846\u89C6\u89C9\u53CD\u9988\u7EDF\u4E00\u5904\u7406
|
|
function applyInputFeedback(inputEl) {
|
|
if (!inputEl) return;
|
|
const oldBorder = inputEl.style.borderColor;
|
|
inputEl.style.borderColor = '#28a745';
|
|
setTimeout(() => inputEl.style.borderColor = oldBorder, 800);
|
|
inputEl.focus();
|
|
}
|
|
|
|
// \u8868\u5355\u586B\u5145\u903B\u8F91\uFF1A\u5408\u5E76\u6620\u5C04\u8868
|
|
function fillMergeEntity(type, title, source) {
|
|
const panel = document.getElementById('merge-rule-panel');
|
|
if (panel && window.getComputedStyle(panel).display === 'none') {
|
|
toggleMergeRulePanel();
|
|
}
|
|
|
|
const inputId = type === 'sec' ? 'merge-sec-entity' : 'merge-prim-entity';
|
|
const inputEl = document.getElementById(inputId);
|
|
|
|
if (inputEl) {
|
|
inputEl.value = \`\${title}@\${source}\`;
|
|
applyInputFeedback(inputEl);
|
|
setMergeFocus(type);
|
|
}
|
|
}
|
|
|
|
// \u8868\u5355\u586B\u5145\u903B\u8F91\uFF1A\u5F39\u5E55\u504F\u79FB
|
|
function fillOffsetEntity(title, source) {
|
|
const panel = document.getElementById('offset-rule-panel');
|
|
if (panel && window.getComputedStyle(panel).display === 'none') {
|
|
toggleOffsetRulePanel();
|
|
}
|
|
|
|
// \u89C6\u56FE\u5C42\u6570\u636E\u6E05\u6D17\uFF1A\u53BB\u9664\u5E74\u4EFD\u548C\u7C7B\u578B\u540E\u7F00
|
|
const cleanTitle = title
|
|
.replace(/[\\u200B-\\u200F\\uFEFF]/g, '')
|
|
.replace(/\\s*[\uFF08(\u3014\\[]\\s*[0-9\uFF10-\uFF19]{4}\\s*\u5E74?\\s*[\uFF09)\u3015\\]]/g, '')
|
|
.replace(/(.+?)\\s*\u3010[^\u3011]+\u3011$/, '$1')
|
|
.trim();
|
|
|
|
const inputEl = document.getElementById('offset-anime');
|
|
|
|
if (inputEl) {
|
|
inputEl.value = cleanTitle;
|
|
|
|
// \u57FA\u4E8E data-value \u5C5E\u6027\u5339\u914D\u5E76\u9009\u4E2D\u5BF9\u5E94\u6765\u6E90\u6807\u7B7E
|
|
const sourceTags = document.querySelectorAll('#offset-sources .offset-source-tag');
|
|
if (sourceTags.length > 0) {
|
|
sourceTags.forEach(el => el.classList.remove('selected'));
|
|
const targetTag = Array.from(sourceTags).find(el => el.dataset.value === source);
|
|
if (targetTag) targetTag.classList.add('selected');
|
|
}
|
|
|
|
applyInputFeedback(inputEl);
|
|
}
|
|
}
|
|
`;var Hst=`
|
|
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>LogVar\u5F39\u5E55API</title>
|
|
<link rel="icon" type="image/jpg" href="https://i.mji.rip/2025/09/27/eedc7b701c0fa5c1f7c175b22f441ad9.jpeg">
|
|
<link rel="apple-touch-icon" href="https://i.mji.rip/2025/09/27/eedc7b701c0fa5c1f7c175b22f441ad9.jpeg">
|
|
<style>${kst}</style>
|
|
<style>${Dst}</style>
|
|
<style>${Bst}</style>
|
|
<style>${Lst}</style>
|
|
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<!-- \u8FDB\u5EA6\u6761 -->
|
|
<div class="progress-container" id="progress-container">
|
|
<div class="progress-bar" id="progress-bar"></div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="header-left">
|
|
<div class="logo-title-container">
|
|
<div class="logo"><img src="https://i.mji.rip/2025/09/27/eedc7b701c0fa5c1f7c175b22f441ad9.jpeg" width="500"/></div>
|
|
<h1>LogVar\u5F39\u5E55API</h1>
|
|
</div>
|
|
<div class="version-info">
|
|
<span class="version-badge">\u5F53\u524D\u7248\u672C: <span id="current-version">v${O.version}</span></span>
|
|
<span class="update-badge" id="update-badge">
|
|
\u6700\u65B0\u7248\u672C: <span id="latest-version">\u52A0\u8F7D\u4E2D...</span>
|
|
</span>
|
|
<span class="api-endpoint-badge">
|
|
API\u7AEF\u70B9: <span id="api-endpoint" title="\u70B9\u51FB\u590D\u5236API\u7AEF\u70B9" style="cursor: pointer; color: var(--success-color); font-weight: bold;" onclick="copyApiEndpoint()">\u52A0\u8F7D\u4E2D...</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="nav-buttons">
|
|
<button class="nav-btn active" onclick="switchSection('preview', event)">\u914D\u7F6E\u9884\u89C8</button>
|
|
<button class="nav-btn" onclick="switchSection('logs', event)">\u65E5\u5FD7\u67E5\u770B</button>
|
|
<button class="nav-btn" onclick="switchSection('api', event)">\u63A5\u53E3\u8C03\u8BD5</button>
|
|
<button class="nav-btn" onclick="switchSection('push', event)">\u63A8\u9001\u5F39\u5E55</button>
|
|
<button class="nav-btn" onclick="switchSection('request-records', event)">\u8BF7\u6C42\u8BB0\u5F55</button>
|
|
<button class="nav-btn" onclick="switchSection('env', event)" id="env-nav-btn">\u7CFB\u7EDF\u914D\u7F6E</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="content">
|
|
<!-- \u914D\u7F6E\u9884\u89C8 -->
|
|
<div class="section active" id="preview-section">
|
|
<h2>\u914D\u7F6E\u9884\u89C8</h2>
|
|
|
|
<div id="proxy-config-container" style="display: none; background: rgba(255, 204, 0, 0.08); border: 1px solid rgba(255, 204, 0, 0.2); padding: 24px; border-radius: 16px; margin-bottom: 24px;">
|
|
<h3 style="color: #997a00; margin-top: 0; font-size: 16px; margin-bottom: 12px;">\u83B7\u53D6\u914D\u7F6E\u5931\u8D25</h3>
|
|
<p style="color: #997a00; margin-bottom: 16px; font-size: 14px; opacity: 0.9;">
|
|
\u68C0\u6D4B\u5230\u65E0\u6CD5\u83B7\u53D6\u914D\u7F6E\u3002\u5982\u679C\u60A8\u4F7F\u7528\u4E86\u590D\u6742\u7684\u53CD\u5411\u4EE3\u7406\uFF1A\u4F8B\u5982\u5C06 <code>http://{ip}:9321/</code> \u4EE3\u7406\u5230\u4E86 <code>http://{ip}:9321/danmu_api/</code>\uFF0C\u8BF7\u5728\u6B64\u5904\u624B\u52A8\u8F93\u5165\u5B8C\u6574\u7684\u53CD\u4EE3\u540E\u94FE\u63A5\uFF08\u4E0D\u5305\u542BTOKEN\u548CADMIN_TOKEN\u7684\uFF09
|
|
</p>
|
|
<div style="display: flex; gap: 10px; flex-wrap: wrap;">
|
|
<input type="text" id="custom-base-url" placeholder="\u4F8B\u5982: http://192.168.8.1:2333/danmu_api/ (\u7559\u7A7A\u4FDD\u5B58\u5373\u6062\u590D\u9ED8\u8BA4)" style="flex: 1; min-width: 200px; padding: 12px; border: 1px solid rgba(0,0,0,0.1); border-radius: 12px;">
|
|
<button class="btn btn-primary" onclick="saveBaseUrl()">\u4FDD\u5B58\u5E76\u5237\u65B0</button>
|
|
</div>
|
|
<p style="color: var(--text-secondary); font-size: 12px; margin-top: 10px; opacity: 0.8;">* \u8BBE\u7F6E\u5C06\u4FDD\u5B58\u5728\u6D4F\u89C8\u5668\u672C\u5730\u5B58\u50A8\u4E2D\uFF0C\u6E05\u9664\u7F51\u9875\u7684\u2018\u672C\u5730\u5B58\u50A8\u7A7A\u95F4\u2019\u6216\u8005\u8F93\u5165\u6846\u4E2D\u7559\u7A7A\u5E76\u4FDD\u5B58\u53EF\u6062\u590D\u9ED8\u8BA4</p>
|
|
</div>
|
|
|
|
<div class="env-categories">
|
|
<button class="category-btn active" onclick="switchPreviewCategory('api', event)">API\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('source', event)">\u6E90\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('match', event)">\u5339\u914D\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('danmu', event)">\u5F39\u5E55\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('cache', event)">\u7F13\u5B58\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('system', event)">\u7CFB\u7EDF\u914D\u7F6E</button>
|
|
</div>
|
|
|
|
<p style="color: var(--text-secondary); margin-bottom: 20px; font-size: 14px;">\u5F53\u524D\u751F\u6548\u7684\u73AF\u5883\u53D8\u91CF\u914D\u7F6E</p>
|
|
<div class="preview-area" id="preview-area"></div>
|
|
</div>
|
|
|
|
<!-- \u65E5\u5FD7\u67E5\u770B -->
|
|
<div class="section" id="logs-section">
|
|
<h2>\u65E5\u5FD7\u67E5\u770B</h2>
|
|
<div class="log-controls">
|
|
<div>
|
|
<button class="btn btn-primary" onclick="refreshLogs()">\u5237\u65B0\u65E5\u5FD7</button>
|
|
<button class="btn btn-danger" onclick="clearLogs()">\u6E05\u7406\u65E5\u5FD7</button>
|
|
</div>
|
|
<span style="color: var(--text-secondary); font-size: 13px;">\u5B9E\u65F6\u65E5\u5FD7\u76D1\u63A7</span>
|
|
</div>
|
|
<div class="log-container" id="log-container"></div>
|
|
</div>
|
|
|
|
<!-- \u63A5\u53E3\u8C03\u8BD5 -->
|
|
<div class="section" id="api-section">
|
|
<h2>\u63A5\u53E3\u8C03\u8BD5</h2>
|
|
<div class="api-top-tabs">
|
|
<button class="api-top-tab active" onclick="switchApiTopTab('debug', event)">\u63A5\u53E3\u8C03\u8BD5</button>
|
|
<button class="api-top-tab" onclick="switchApiTopTab('danmu-test', event)">\u5F39\u5E55\u6D4B\u8BD5</button>
|
|
</div>
|
|
|
|
<div class="api-tab-content active" id="api-debug-content">
|
|
<div class="api-selector">
|
|
<div class="form-group">
|
|
<label>\u9009\u62E9\u63A5\u53E3</label>
|
|
<select id="api-select" onchange="loadApiParams()">
|
|
<option value="">-- \u8BF7\u9009\u62E9\u63A5\u53E3 --</option>
|
|
<option value="searchAnime">\u641C\u7D22\u52A8\u6F2B - /api/v2/search/anime</option>
|
|
<option value="searchEpisodes">\u641C\u7D22\u5267\u96C6 - /api/v2/search/episodes</option>
|
|
<option value="matchAnime">\u5339\u914D\u52A8\u6F2B - /api/v2/match</option>
|
|
<option value="getBangumi">\u83B7\u53D6\u756A\u5267\u8BE6\u60C5 - /api/v2/bangumi/:animeId</option>
|
|
<option value="getComment">\u83B7\u53D6\u5F39\u5E55 - /api/v2/comment/:commentId</option>
|
|
<option value="getSegmentComment">\u83B7\u53D6\u5206\u7247\u5F39\u5E55 - /api/v2/segmentcomment</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="api-params" id="api-params" style="display: none;">
|
|
<h3 style="margin-bottom: 15px;">\u63A5\u53E3\u53C2\u6570</h3>
|
|
<div id="params-form"></div>
|
|
<button class="btn btn-success" onclick="testApi()">\u53D1\u9001\u8BF7\u6C42</button>
|
|
</div>
|
|
<div id="api-response-container" style="display: none;">
|
|
<h3 style="margin: 20px 0 10px;">\u54CD\u5E94\u7ED3\u679C</h3>
|
|
<div class="api-response" id="api-response"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="api-tab-content" id="danmu-test-content">
|
|
<div class="danmu-test-tabs">
|
|
<button class="danmu-test-tab active" onclick="switchDanmuTestTab('auto', event)">\u81EA\u52A8\u5339\u914D\u6D4B\u8BD5</button>
|
|
<button class="danmu-test-tab" onclick="switchDanmuTestTab('manual', event)">\u624B\u52A8\u5339\u914D\u6D4B\u8BD5</button>
|
|
</div>
|
|
|
|
<div class="danmu-test-panel active" id="auto-match-panel">
|
|
<p style="color: #666; margin-bottom: 15px;">\u6A21\u62DF\u64AD\u653E\u5668\u81EA\u52A8\u5339\u914D\u6D41\u7A0B\uFF1A\u8F93\u5165\u6587\u4EF6\u540D \u2192 \u5339\u914D\u5267\u96C6 \u2192 \u83B7\u53D6\u5F39\u5E55</p>
|
|
<div class="form-group" style="margin-bottom: 15px;">
|
|
<label>\u6587\u4EF6\u540D</label>
|
|
<div style="display:flex;gap:10px;margin-top:5px;">
|
|
<input type="text" id="auto-match-filename" placeholder="\u793A\u4F8B: \u751F\u4E07\u7269 S02E08, \u65E0\u5FE7\u6E21.S02E08.2160p.WEB-DL" style="flex:1;">
|
|
<button class="btn btn-success" id="auto-match-btn" onclick="autoMatchTest()">\u5F00\u59CB\u5339\u914D</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="danmu-test-panel" id="manual-match-panel">
|
|
<p style="color: #666; margin-bottom: 15px;">\u6A21\u62DF\u64AD\u653E\u5668\u624B\u52A8\u641C\u7D22\u6D41\u7A0B\uFF1A\u641C\u7D22\u52A8\u6F2B \u2192 \u9009\u62E9\u756A\u5267 \u2192 \u9009\u62E9\u5267\u96C6 \u2192 \u83B7\u53D6\u5F39\u5E55</p>
|
|
<div class="form-group" style="margin-bottom: 15px;">
|
|
<label>\u641C\u7D22\u5173\u952E\u5B57</label>
|
|
<div style="display:flex;gap:10px;margin-top:5px;">
|
|
<input type="text" id="manual-search-keyword" placeholder="\u8BF7\u8F93\u5165\u52A8\u6F2B\u540D\u79F0" style="flex:1;">
|
|
<button class="btn btn-primary" id="manual-search-btn" onclick="manualSearchAnime()">\u641C\u7D22</button>
|
|
</div>
|
|
</div>
|
|
<div id="manual-anime-list" style="display:none;"></div>
|
|
<div id="manual-episode-list" style="display:none;"></div>
|
|
</div>
|
|
|
|
<div id="danmu-result-area" style="display:none;"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u63A8\u9001\u5F39\u5E55 -->
|
|
<div class="section" id="push-section">
|
|
<h2>\u63A8\u9001\u5F39\u5E55</h2>
|
|
<p style="color: var(--text-secondary); margin-bottom: 24px; font-size: 13px;">\u652F\u6301OK\u5F71\u89C6\u7B49\u64AD\u653E\u5668\uFF0C\u4E24\u7AEF\u9700\u8981\u5728\u540C\u4E00\u5C40\u57DF\u7F51\u6216\u4F7F\u7528\u516C\u7F51ip\uFF0C\u63A8\u9001\u5730\u5740\u683C\u5F0F\u5982 http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=</p>
|
|
<div class="push-controls" style="margin-bottom: 24px;">
|
|
<div class="form-group" style="margin-bottom: 20px;">
|
|
<label>\u63A8\u9001\u5730\u5740</label>
|
|
<input type="text" id="push-url" placeholder="\u8BF7\u8F93\u5165\u63A8\u9001\u5730\u5740\uFF0C\u4F8B\u5982: http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=">
|
|
</div>
|
|
<div class="form-group" style="margin-bottom: 20px;">
|
|
<label>\u641C\u7D22\u5173\u952E\u5B57</label>
|
|
<div style="margin-top: 8px; display: flex; gap: 10px;">
|
|
<input type="text" id="push-search-keyword" placeholder="\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57" style="flex: 1;">
|
|
<button class="btn btn-primary" onclick="searchAnimeForPush()" style="width: auto; padding: 0 24px;">\u641C\u7D22</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="push-anime-list" class="anime-list" style="display: none;"></div>
|
|
<div id="push-episode-list" class="episode-list" style="display: none; margin-top: 24px;"></div>
|
|
</div>
|
|
|
|
<!-- \u8BF7\u6C42\u8BB0\u5F55 -->
|
|
<div class="section" id="request-records-section">
|
|
<h2>\u8BF7\u6C42\u8BB0\u5F55</h2>
|
|
<div class="log-controls">
|
|
<div>
|
|
<button class="btn btn-primary" id="refresh-request-records">\u{1F504} \u5237\u65B0\u8BB0\u5F55</button>
|
|
<span id="total-requests-today" style="color: #ff5722; margin-left: 15px; vertical-align: middle; font-size: 1.2em; font-weight: bold;"></span>
|
|
</div>
|
|
<span style="color: #666;">\u4E91\u670D\u52A1\u90E8\u7F72\u9700\u8981\u914D\u7F6Eredis</span>
|
|
</div>
|
|
<div class="request-records-container" id="request-records-list"></div>
|
|
</div>
|
|
|
|
<!-- \u7CFB\u7EDF\u914D\u7F6E -->
|
|
<div class="section" id="env-section">
|
|
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 16px;">
|
|
<div>
|
|
<h2 style="margin: 0;">\u73AF\u5883\u53D8\u91CF\u914D\u7F6E</h2>
|
|
<p style="margin: 8px 0 0 0; color: var(--text-secondary); font-size: 13px;">vercel/netlify/edgeone\u5E73\u53F0\u4FEE\u6539\u53D8\u91CF\u540E\u9700\u8981\u91CD\u65B0\u90E8\u7F72</p>
|
|
</div>
|
|
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
<button class="btn btn-danger" onclick="showClearCacheModal()" title="\u6E05\u7406\u7CFB\u7EDF\u7F13\u5B58">
|
|
\u6E05\u7406\u7F13\u5B58
|
|
</button>
|
|
<button class="btn btn-success" onclick="showDeploySystemModal()" title="\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF">
|
|
\u91CD\u65B0\u90E8\u7F72
|
|
</button>
|
|
</div>
|
|
|
|
<!-- \u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846 -->
|
|
<div class="modal" id="clear-cache-modal">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h3>\u786E\u8BA4\u6E05\u7406\u7F13\u5B58</h3>
|
|
<button class="close-btn" onclick="hideClearCacheModal()">×</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p style="margin-bottom: 20px;">\u786E\u5B9A\u8981\u6E05\u7406\u6240\u6709\u7F13\u5B58\u5417\uFF1F\u8FD9\u5C06\u6E05\u9664\uFF1A</p>
|
|
<ul class="confirmation-list">
|
|
<li>\u52A8\u6F2B\u641C\u7D22\u7F13\u5B58 (animes)</li>
|
|
<li>\u5267\u96C6ID\u7F13\u5B58 (episodeIds)</li>
|
|
<li>\u5267\u96C6\u7F16\u53F7\u7F13\u5B58 (episodeNum)</li>
|
|
<li>\u6700\u540E\u9009\u62E9\u6620\u5C04\u7F13\u5B58 (lastSelectMap)</li>
|
|
<li>\u52A8\u753B\u5143\u6570\u636E\u7F13\u5B58 (Bangumi Data)</li>
|
|
<li>\u641C\u7D22\u7ED3\u679C\u7F13\u5B58</li>
|
|
<li>\u5F39\u5E55\u5185\u5BB9\u7F13\u5B58</li>
|
|
<li>\u8BF7\u6C42\u5386\u53F2\u8BB0\u5F55</li>
|
|
</ul>
|
|
<p style="color: var(--text-secondary); margin-top: 20px; font-size: 13px;">\u6E05\u7406\u540E\u53EF\u80FD\u9700\u8981\u91CD\u65B0\u767B\u5F55</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-success" onclick="confirmClearCache()">\u786E\u8BA4\u6E05\u7406</button>
|
|
<button class="btn btn-danger" onclick="hideClearCacheModal()">\u53D6\u6D88</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846 -->
|
|
<div class="modal" id="deploy-system-modal">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h3>\u786E\u8BA4\u91CD\u65B0\u90E8\u7F72</h3>
|
|
<button class="close-btn" onclick="hideDeploySystemModal()">×</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p style="margin-bottom: 20px;">\u786E\u5B9A\u8981\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF\u5417\uFF1F</p>
|
|
<div class="warning-box" style="background: rgba(255, 204, 0, 0.08); border-left: 4px solid #FFCC00;">
|
|
<p style="margin: 0; font-weight: bold;">\u90E8\u7F72\u8FC7\u7A0B\u4E2D\uFF1A</p>
|
|
<ul class="confirmation-list">
|
|
<li>\u7CFB\u7EDF\u5C06\u77ED\u6682\u4E0D\u53EF\u7528</li>
|
|
<li>\u6240\u6709\u914D\u7F6E\u5C06\u91CD\u65B0\u52A0\u8F7D</li>
|
|
<li>\u670D\u52A1\u5C06\u81EA\u52A8\u91CD\u542F</li>
|
|
</ul>
|
|
<p style="margin-top: 10px; font-size: 13px;">\u9884\u8BA1\u8017\u65F6\uFF1A30-90\u79D2</p>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-success" onclick="confirmDeploySystem()">\u786E\u8BA4\u90E8\u7F72</button>
|
|
<button class="btn btn-danger" onclick="hideDeploySystemModal()">\u53D6\u6D88</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="env-categories">
|
|
<button class="category-btn active" onclick="switchCategory('api', event)">API\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('source', event)">\u6E90\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('match', event)">\u5339\u914D\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('danmu', event)">\u5F39\u5E55\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('cache', event)">\u7F13\u5B58\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('system', event)">\u7CFB\u7EDF\u914D\u7F6E</button>
|
|
</div>
|
|
|
|
<div class="env-list" id="env-list"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u52A0\u8F7D\u906E\u7F69\u5C42 -->
|
|
<div class="loading-overlay" id="loading-overlay">
|
|
<div class="loading-content">
|
|
<div class="loading-spinner"></div>
|
|
<div class="loading-text" id="loading-text">\u6B63\u5728\u5904\u7406...</div>
|
|
<div class="loading-detail" id="loading-detail">\u8BF7\u7A0D\u5019</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u7F16\u8F91\u6A21\u6001\u6846 -->
|
|
<div class="modal" id="env-modal">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h3 id="modal-title">\u7F16\u8F91\u914D\u7F6E\u9879</h3>
|
|
<button class="close-btn" onclick="closeModal()">×</button>
|
|
</div>
|
|
<form id="env-form">
|
|
<div class="form-group">
|
|
<label>\u53D8\u91CF\u7C7B\u522B</label>
|
|
<select id="env-category" disabled>
|
|
<option value="api">API\u914D\u7F6E</option>
|
|
<option value="source">\u6E90\u914D\u7F6E</option>
|
|
<option value="match">\u5339\u914D\u914D\u7F6E</option>
|
|
<option value="danmu">\u5F39\u5E55\u914D\u7F6E</option>
|
|
<option value="cache">\u7F13\u5B58\u914D\u7F6E</option>
|
|
<option value="system">\u7CFB\u7EDF\u914D\u7F6E</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>\u53D8\u91CF\u540D</label>
|
|
<input type="text" id="env-key" placeholder="\u4F8B\u5982: DB_HOST" required readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>\u503C\u7C7B\u578B</label>
|
|
<select id="value-type" onchange="renderValueInput()" disabled>
|
|
<option value="text">\u6587\u672C</option>
|
|
<option value="boolean">\u5E03\u5C14\u503C</option>
|
|
<option value="number">\u6570\u5B57 (1-100)</option>
|
|
<option value="select">\u5355\u9009</option>
|
|
<option value="multi-select">\u591A\u9009 (\u53EF\u6392\u5E8F)</option>
|
|
<option value="map">\u6620\u5C04</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group" id="value-input-container">
|
|
<!-- \u52A8\u6001\u6E32\u67D3\u7684\u503C\u8F93\u5165\u63A7\u4EF6 -->
|
|
</div>
|
|
<div class="form-group">
|
|
<label>\u63CF\u8FF0</label>
|
|
<textarea id="env-description" placeholder="\u914D\u7F6E\u9879\u8BF4\u660E" readonly></textarea>
|
|
</div>
|
|
<div style="display: flex; gap: 10px;">
|
|
<button type="submit" class="btn btn-success" style="flex: 1;">\u4FDD\u5B58</button>
|
|
<button type="button" class="btn btn-danger" onclick="closeModal()" style="flex: 1;">\u53D6\u6D88</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u9879\u76EE\u58F0\u660E -->
|
|
<footer class="footer">
|
|
<p class="footer-text">
|
|
\u4E00\u4E2A\u4EBA\u4EBA\u90FD\u80FD\u90E8\u7F72\u7684\u57FA\u4E8E js \u7684\u5F39\u5E55 API \u670D\u52A1\u5668\uFF0C\u652F\u6301\u7231\u4F18\u817E\u8292\u54D4\u54AA\u4EBA\u97E9\u5DF4\u72D0\u4E50\u897F\u57CB\u5E06\u5F39\u5E55\u76F4\u63A5\u83B7\u53D6\uFF0C\u517C\u5BB9\u5F39\u5F39play\u7684\u641C\u7D22\u3001\u8BE6\u60C5\u67E5\u8BE2\u548C\u5F39\u5E55\u83B7\u53D6\u63A5\u53E3\u89C4\u8303\uFF0C\u5E76\u63D0\u4F9B\u65E5\u5FD7\u8BB0\u5F55\uFF0C\u652F\u6301vercel/netlify/edgeone/cloudflare/docker/hf\u7B49\u90E8\u7F72\u65B9\u5F0F\uFF0C\u4E0D\u7528\u63D0\u524D\u4E0B\u8F7D\u5F39\u5E55\uFF0C\u6CA1\u6709nas\u6216\u5C0F\u9E21\u4E5F\u80FD\u4E00\u952E\u90E8\u7F72\u3002
|
|
</p>
|
|
<p class="footer-text">\u672C\u9879\u76EE\u4EC5\u4E3A\u4E2A\u4EBA\u5B66\u4E60\u7231\u597D\u5F00\u53D1\uFF0C\u4EE3\u7801\u5F00\u6E90\u3002\u5982\u6709\u4EFB\u4F55\u4FB5\u6743\u884C\u4E3A\uFF0C\u8BF7\u8054\u7CFB\u672C\u4EBA\u5220\u9664\u3002</p>
|
|
<p class="footer-text">\u672C\u9879\u76EE\u5B8C\u5168\u514D\u8D39\uFF0C\u4E0D\u6536\u53D6\u4EFB\u4F55\u8D39\u7528\uFF0C\u8BF7\u52FF\u4E0A\u5F53\u53D7\u9A97\u3002</p>
|
|
<p class="footer-links">
|
|
<a href="https://t.me/ddjdd_bot" target="_blank" class="footer-link tg-link">
|
|
<svg class="tg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
|
|
TG MSG ROBOT
|
|
</a>
|
|
<a href="https://t.me/logvar_danmu_group" target="_blank" class="footer-link tg-link">
|
|
<svg class="tg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
|
|
TG GROUP
|
|
</a>
|
|
<a href="https://t.me/logvar_danmu_channel" target="_blank" class="footer-link tg-link">
|
|
<svg class="tg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
|
|
TG CHANNEL
|
|
</a>
|
|
<a href="https://github.com/huangxd-/danmu_api" target="_blank" class="footer-link github-link">
|
|
<img src="https://upload.wikimedia.org/wikipedia/commons/9/91/Octicons-mark-github.svg" alt="GitHub" class="github-icon">
|
|
GitHub Repo
|
|
</a>
|
|
</p>
|
|
<p>\u6709\u95EE\u9898\u63D0issue\u6216\u79C1\u4FE1\u673A\u5668\u4EBA\u90FDok</p>
|
|
</footer>
|
|
|
|
<script>
|
|
${Mst}
|
|
${Wst}
|
|
${$st}
|
|
${Fst}
|
|
${Ust}
|
|
${qst}
|
|
${jst}
|
|
</script>
|
|
</body>
|
|
</html>
|
|
`;_t();var ya=class{static async getHandler(e){switch(e?.toLowerCase()){case"cloudflare":let{CloudflareHandler:r}=await Promise.resolve().then(()=>(Gst(),Qst));return new r;case"vercel":let{VercelHandler:n}=await Promise.resolve().then(()=>(Vst(),Kst));return new n;case"netlify":let{NetlifyHandler:s}=await Promise.resolve().then(()=>(Yst(),zst));return new s;case"edgeone":let{EdgeoneHandler:i}=await Promise.resolve().then(()=>(Xst(),Jst));return new i;case"huggingface":let{HuggingfaceHandler:a}=await Promise.resolve().then(()=>(eit(),Zst));return new a;case"node":let{NodeHandler:o}=await import(["./node-handler",".js"].join(""));return new o;default:let{NodeHandler:c}=await import(["./node-handler",".js"].join(""));return new c}}static getSupportedPlatforms(){return["cloudflare","vercel","netlify","edgeone","huggingface","node"]}};function zie(){return new Response(Hst.replace("globals.currentToken",O.currentToken),{headers:{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}})}function A4(t=!1){let e=O.envVarConfig,r={api:[],source:[],match:[],danmu:[],cache:[],system:[]},n={...O.accessedEnvVars,localCacheValid:O.localCacheValid,redisValid:O.redisValid,localRedisValid:O.localRedisValid,aiValid:O.aiValid,deployPlatform:O.deployPlatform};Object.keys(n).forEach(o=>{let c=e[o]||{category:"system",type:"text",description:"\u672A\u5206\u7C7B\u914D\u7F6E\u9879"},u=c.category||"system";r[u].push({key:o,value:n[o].value||n[o],type:n[o].type||c.type||"text",description:c.description||"\u65E0\u63CF\u8FF0",options:n[o].options||c.options})});let i=(O.adminToken||"").trim()!=="",a={...O.originalEnvVars};return(!t||O.currentToken!==O.adminToken)&&Object.keys(a).forEach(o=>{(O.currentToken!==O.token||o!=="TOKEN")&&o in n&&/^\*+$/.test(n[o])&&(a[o]=n[o])}),Le({message:"Welcome to the LogVar Danmu API server",version:O.VERSION,envs:n,categorizedEnvVars:r,envVarConfig:e,originalEnvVars:a,hasAdminToken:i,repository:"https://github.com/huangxd-/danmu_api.git",description:"\u4E00\u4E2A\u4EBA\u4EBA\u90FD\u80FD\u90E8\u7F72\u7684\u57FA\u4E8E js \u7684\u5F39\u5E55 API \u670D\u52A1\u5668\uFF0C\u652F\u6301\u7231\u4F18\u817E\u8292\u54D4\u54AA\u4EBA\u97E9\u5DF4\u72D0\u4E50\u897F\u57CB\u5E06\u5F39\u5E55\u76F4\u63A5\u83B7\u53D6\uFF0C\u517C\u5BB9\u5F39\u5F39play\u7684\u641C\u7D22\u3001\u8BE6\u60C5\u67E5\u8BE2\u548C\u5F39\u5E55\u83B7\u53D6\u63A5\u53E3\u89C4\u8303\uFF0C\u5E76\u63D0\u4F9B\u65E5\u5FD7\u8BB0\u5F55\uFF0C\u652F\u6301vercel/netlify/edgeone/cloudflare/docker/hf\u7B49\u90E8\u7F72\u65B9\u5F0F\uFF0C\u4E0D\u7528\u63D0\u524D\u4E0B\u8F7D\u5F39\u5E55\uFF0C\u6CA1\u6709nas\u6216\u5C0F\u9E21\u4E5F\u80FD\u4E00\u952E\u90E8\u7F72\u3002",notice:"\u672C\u9879\u76EE\u4EC5\u4E3A\u4E2A\u4EBA\u5B66\u4E60\u7231\u597D\u5F00\u53D1\uFF0C\u4EE3\u7801\u5F00\u6E90\u3002\u5982\u6709\u4EFB\u4F55\u4FB5\u6743\u884C\u4E3A\uFF0C\u8BF7\u8054\u7CFB\u672C\u4EBA\u5220\u9664\u3002\u6709\u95EE\u9898\u63D0issue\u6216\u79C1\u4FE1\u673A\u5668\u4EBA\u90FDok\uFF0CTG MSG ROBOT: [https://t.me/ddjdd_bot]; \u63A8\u8350\u52A0\u4E92\u52A9\u7FA4\u54A8\u8BE2\uFF0CTG GROUP: [https://t.me/logvar_danmu_group]; \u5173\u6CE8\u9891\u9053\u83B7\u53D6\u6700\u65B0\u66F4\u65B0\u5185\u5BB9\uFF0CTG CHANNEL: [https://t.me/logvar_danmu_channel]\u3002"})}async function tit(){try{let t=O.deployPlatform;if(_("info",`[system] [Server] Deployment request received for platform: ${t}`),t.toLowerCase()==="node")return _("info","[system] [Server] Node/Docker deployment - no redeployment needed, config changes take effect automatically"),Le({success:!0,message:"Node/Docker deployment - configuration changes take effect automatically"},200);let e=await ya.getHandler(t);return e?await e.deploy()?(_("info",`[system] [Server] Deployment triggered successfully for platform: ${t}`),Le({success:!0,message:"Deployment triggered successfully"},200)):(_("error",`[system] [Server] Failed to trigger deployment for platform: ${t}`),Le({success:!1,message:"Failed to trigger deployment"},500)):(_("error",`[system] [Server] No handler found for platform: ${t}`),Le({success:!1,message:`No handler found for platform: ${t}`},400))}catch(t){return _("error",`[system] [Server] Deployment error: ${t.message}`),Le({success:!1,message:`Deployment failed: ${t.message}`},500)}}function rit(){let t=O.logBuffer.map(r=>`[${r.timestamp}] ${r.level}: ${C5e(r.message)}`).join(`
|
|
`),e=t;return O.currentToken!==O.adminToken&&(e=t.replace(/(client\s+ip:\s*)([^\n\r]*)/gi,(r,n,s)=>{let i=s.replace(/[^.\s\n\r]/g,"*");return n+i})),new Response(e,{headers:{"Content-Type":"text/plain; charset=utf-8"}})}function nit(){return O.logBuffer=[],Le({success:!0,message:"Logs cleared"},200)}async function sit(){try{O.animes=[],O.episodeIds=[],O.episodeNum=10001,O.lastSelectMap=new Map,O.reqRecords=[],O.todayReqNum=0,O.searchCache=new Map,O.commentCache=new Map,O.requestHistory=new Map;try{Z8e(!0),O.useBangumiData&&YB(O.deployPlatform,!1).catch(t=>{_("warn",`[system] [Server] Bangumi-Data background reload failed: ${t.message}`)})}catch(t){_("error",`[system] [Server] Failed to clear Bangumi-Data cache: ${t.message}`)}_("info","[system] [Server] Memory cache cleared successfully");try{if(O.localCacheValid){let{updateLocalCaches:t}=await Promise.resolve().then(()=>($n(),j8e));await t(),_("info","[system] [Server] Local cache cleared successfully")}}catch(t){_("warn",`[system] [Server] Local cache may not be available: ${t.message}`)}try{if(O.redisValid){let{updateRedisCaches:t}=await Promise.resolve().then(()=>(kB(),O8e));await t(),_("info","[system] [Server] Redis cache cleared successfully")}}catch(t){_("warn",`[system] [Server] Redis may not be available: ${t.message}`)}try{if(O.localRedisValid){let{updateLocalRedisCaches:t}=await Promise.resolve().then(()=>($T(),YL));await t(),_("info","[system] [Server] LocalRedis cache cleared successfully")}}catch(t){_("warn",`[system] [Server] LocalRedis may not be available: ${t.message}`)}return _("info","[system] [Server] All caches cleared successfully"),Le({success:!0,message:"Cache cleared successfully",clearedItems:{animes:0,episodeIds:0,episodeNum:10001,lastSelectMap:0,searchCache:0,commentCache:0,requestHistory:0,reqRecords:0,todayReqNum:0}},200)}catch(t){return _("error",`[system] [Server] Cache clear failed: ${t.message}`),Le({success:!1,message:`Cache clear failed: ${t.message}`},500)}}function Xmr(t){let e=t.indexOf("?");if(e===-1)return t;let r=t.slice(0,e),s=t.slice(e+1).replace(/([^&=]+)=([^&]*)/g,(i,a)=>`${a}=***`);return`${r}?${s}`}function Vie(t){if(t==null)return t;if(Array.isArray(t))return t.map(Vie);if(typeof t=="object"){let e={};for(let r of Object.keys(t))e[r]=Vie(t[r]);return e}return"***"}function iit(){let t=[...O.reqRecords].reverse(),e=O.todayReqNum||0;return O.currentToken!==O.adminToken&&(t=t.map(r=>{let n={...r};return n.clientIp&&(n.clientIp=n.clientIp.replace(/[^.]/g,"*")),typeof n.interface=="string"&&(n.interface=Xmr(n.interface)),n.params!=null&&(n.params=Vie(n.params)),n})),Le({records:t,todayReqNum:e},200)}function ait(){try{let t=[...O.animes||[]].reverse(),e=new Map;t.forEach(n=>{n?.source&&n?.animeId&&e.set(`${n.source}_${n.animeId}`,n)});let r=t.filter(n=>!n.isHiddenChild).map(n=>{let s=typeof n.toJson=="function"?n.toJson():{...n},{links:i=[],mergedChildren:a=[],...o}=s;return{...o,episodes:o.episodeCount||o.episodes||1,links:i,mergedChildren:a.map(c=>{let u=e.get(`${c.source}_${c.animeId}`),l=typeof u?.toJson=="function"?u.toJson():u,d=l?.links?.length>0?l.links:c.links||[];return{...c,episodes:c.episodeCount||c.episodes||1,links:d}})}});return Le({success:!0,data:r},200)}catch(t){return _("error",`[system] [Server] Fetch cache animes failed: ${t.message}`),Le({success:!1,message:`\u83B7\u53D6\u7F13\u5B58\u5931\u8D25: ${t.message}`},500)}}ir();_t();Ot();async function oit(t){try{let{key:e,value:r}=await t.json();if(!e)return Le({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let n=O.deployPlatform;return await(await ya.getHandler(n)).setEnv(e,r)?Le({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${e} \u8BBE\u7F6E\u6210\u529F`}):Le({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${e} \u8BBE\u7F6E\u5931\u8D25`},500)}catch(e){return _("error","[system] [Server] \u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",e),Le({success:!1,message:`\u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${e.message}`},500)}}async function cit(t){try{let{key:e,value:r}=await t.json();if(!e)return Le({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let n=O.deployPlatform;return await(await ya.getHandler(n)).addEnv(e,r)?Le({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${e} \u6DFB\u52A0\u6210\u529F`}):Le({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${e} \u6DFB\u52A0\u5931\u8D25`},500)}catch(e){return _("error","[system] [Server] \u6DFB\u52A0\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",e),Le({success:!1,message:`\u6DFB\u52A0\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${e.message}`},500)}}async function uit(t){try{let{key:e}=await t.json();if(!e)return Le({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let r=O.deployPlatform;return await(await ya.getHandler(r)).delEnv(e)?Le({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${e} \u5220\u9664\u6210\u529F`}):Le({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${e} \u5220\u9664\u5931\u8D25`},500)}catch(e){return _("error","[system] [Server] \u5220\u9664\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",e),Le({success:!1,message:`\u5220\u9664\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${e.message}`},500)}}async function lit(t){try{let e=await t.json(),r=e.aiBaseUrl||O.aiBaseUrl||"https://api.openai.com/v1",n=e.aiModel||O.aiModel||"gpt-4o",s=e.aiApiKey||O.aiApiKey;if(!s)return Le({success:!1,ok:!1,message:"AI_API_KEY \u672A\u914D\u7F6E"},400);let a=await new df({baseURL:r,model:n,apiKey:s,systemPrompt:"\u56DE\u7B54\u5C3D\u91CF\u7B80\u6D01"}).verify();return a.ok?Le({success:!0,ok:!0,message:"AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u6210\u529F"}):Le({success:!1,ok:!1,message:`AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u5931\u8D25: ${a.error}`},200)}catch(e){return _("error","[system] [Server] AI \u8FDE\u901A\u6027\u9A8C\u8BC1\u5931\u8D25:",e),Le({success:!1,ok:!1,message:`AI \u8FDE\u901A\u6027\u9A8C\u8BC1\u5931\u8D25: ${e.message}`},500)}}hs();ir();_t();Ot();var dit=new Map;function fit(){try{if(O&&typeof O.bilibliCookie=="string"&&O.bilibliCookie)return O.bilibliCookie}catch{}try{if(O&&O.env&&typeof O.env.BILIBILI_COOKIE=="string"&&O.env.BILIBILI_COOKIE)return O.env.BILIBILI_COOKIE}catch{}return typeof process<"u"&&process.env&&typeof process.env.BILIBILI_COOKIE=="string"&&process.env.BILIBILI_COOKIE?process.env.BILIBILI_COOKIE:""}function Zmr(t){try{let e=t.match(/SESSDATA=([^;]+)/);if(!e)return Math.floor(Date.now()/1e3)+30*24*60*60;let r=e[1],n=decodeURIComponent(r),s=Math.floor(Date.now()/1e3),i=(n.match(/\d{10,}/g)||[]).map(c=>Number(c)).filter(c=>Number.isFinite(c)),a=10*365*24*60*60,o=i.filter(c=>c>s&&c<s+a);if(o.length>0)return Math.max(...o);if(n.includes(",")){let c=n.split(",");if(c.length>1){let u=parseInt(c[1],10);if(!isNaN(u)&&u>s)return u}}}catch{}return Math.floor(Date.now()/1e3)+30*24*60*60}async function pit(t){if(!t)return{isValid:!1,error:"\u7F3A\u5C11Cookie"};if(!t.includes("SESSDATA")||!t.includes("bili_jct"))return{isValid:!1,error:"Cookie\u683C\u5F0F\u4E0D\u5B8C\u6574\uFF08\u9700\u8981\u5305\u542B SESSDATA \u548C bili_jct\uFF09"};try{let e=await fetch("https://api.bilibili.com/x/web-interface/nav",{method:"GET",headers:{Cookie:t,"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Origin:"https://www.bilibili.com",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"}});if(!e.ok){let n=await e.text().catch(()=>"");return{isValid:!1,error:`\u9A8C\u8BC1\u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${e.status}${n?" - "+n.slice(0,80):""}`}}let r;try{r=await e.json()}catch(n){let s=await e.text().catch(()=>"");return{isValid:!1,error:`\u9A8C\u8BC1\u54CD\u5E94\u89E3\u6790\u5931\u8D25\uFF1A${s?s.slice(0,80):n.message}`}}return r?.code===0&&r?.data?.isLogin?{isValid:!0,data:{uname:r.data.uname,mid:r.data.mid,face:r.data.face}}:r?.code===0&&r?.data&&r.data.isLogin===!1?{isValid:!1,error:"\u8D26\u53F7\u672A\u767B\u5F55\uFF08Cookie \u5DF2\u5931\u6548\uFF09"}:{isValid:!1,error:r?.message||"Cookie\u65E0\u6548\u6216\u5DF2\u8FC7\u671F"}}catch(e){return{isValid:!1,error:"\u9A8C\u8BC1\u8BF7\u6C42\u5931\u8D25: "+e.message}}}async function mit(t,e="saved"){if(!t)return{success:!0,data:{isValid:!1,checked:e,error:"\u672A\u914D\u7F6ECookie"}};let r=await pit(t);return r.isValid?{success:!0,data:{isValid:!0,checked:e,uname:r.data?.uname||"\u672A\u77E5\u7528\u6237",expiresAt:Zmr(t)}}:{success:!0,data:{isValid:!1,checked:e,error:r.error||"Cookie\u65E0\u6548\u6216\u5DF2\u5931\u6548"}}}async function hit(){try{let t=fit(),e=await mit(t,"saved");return Le(e)}catch(t){return Le({success:!1,message:t.message},500)}}async function git(t){try{let e={};try{e=await t.json()}catch{e={}}let r=typeof e.cookie=="string"?e.cookie.trim():"",n=!r||/^\*+$/.test(r),s=n?fit():r,a=await mit(s,n?"saved":"input");return Le(a)}catch(e){return Le({success:!1,message:e.message},500)}}async function Ait(){try{let e=await(await fetch("https://passport.bilibili.com/x/passport-login/web/qrcode/generate",{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/"}})).json();return e.code!==0?Le({success:!1,message:e.message||"\u751F\u6210\u4E8C\u7EF4\u7801\u5931\u8D25"},500):(dit.set(e.data.qrcode_key,{createTime:Date.now(),status:"generated"}),Le({success:!0,data:e.data}))}catch(t){return Le({success:!1,message:t.message},500)}}function ehr(t){let e=new Map,r=[];try{if(t?.headers&&typeof t.headers.getSetCookie=="function")r=t.headers.getSetCookie()||[];else{let u=t?.headers?.get?.("set-cookie");u&&(r=[u])}}catch{r=[]}for(let u of r){if(!u||typeof u!="string")continue;let l=u.split(";")[0],d=l.indexOf("=");if(d<=0)continue;let f=l.slice(0,d).trim(),p=l.slice(d+1).trim();f&&e.set(f,p)}let n=e.get("SESSDATA"),s=e.get("bili_jct"),i=e.get("DedeUserID"),a=e.get("DedeUserID__ckMd5"),o=e.get("sid");if(!n)return null;let c=[`SESSDATA=${n}`];return s&&c.push(`bili_jct=${s}`),i&&c.push(`DedeUserID=${i}`),a&&c.push(`DedeUserID__ckMd5=${a}`),o&&c.push(`sid=${o}`),c.join("; ")}async function yit(t){let e=null;try{let r=await t.json();if(e=r.qrcodeKey||r.qrcode_key,!e)return Le({success:!1,message:"\u7F3A\u5C11qrcodeKey\u53C2\u6570"},400);let n=await fetch(`https://passport.bilibili.com/x/passport-login/web/qrcode/poll?qrcode_key=${e}`,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/"}}),s=await n.json(),i=null;if(s?.data?.code===0&&(i=ehr(n),!i&&s?.data?.url))try{let o=new URL(s.data.url),c=new URLSearchParams(o.search),u=decodeURIComponent(c.get("SESSDATA")||""),l=decodeURIComponent(c.get("bili_jct")||""),d=decodeURIComponent(c.get("DedeUserID")||"");if(u){let f=[`SESSDATA=${u}`];l&&f.push(`bili_jct=${l}`),d&&f.push(`DedeUserID=${d}`),i=f.join("; ")}}catch{}let a={success:!0,data:{code:s?.data?.code,message:s?.data?.message||""}};return i&&(a.data.cookie=i),Le(a)}catch(r){return Le({success:!1,message:r.message},500)}finally{e&&dit.delete(e)}}async function xit(t){try{let r=((await t.json()).cookie||"").trim();if(!r)return Le({success:!1,message:"\u7F3A\u5C11cookie\u53C2\u6570"},400);if(!r.includes("SESSDATA")||!r.includes("bili_jct"))return Le({success:!1,message:"Cookie\u683C\u5F0F\u4E0D\u6B63\u786E"},400);let n=await pit(r);if(!n.isValid)return Le({success:!1,message:"Cookie\u9A8C\u8BC1\u5931\u8D25: "+(n.error||"\u65E0\u6548")},400);let s=O.deployPlatform,i=await ya.getHandler(s);return i?await i.setEnv("BILIBILI_COOKIE",r)?Le({success:!0,data:{uname:n.data?.uname},message:"Cookie\u4FDD\u5B58\u6210\u529F"}):Le({success:!1,message:"Cookie\u4FDD\u5B58\u5931\u8D25\uFF1A\u73AF\u5883\u53D8\u91CF\u5199\u5165\u5931\u8D25"},500):Le({success:!1,message:`Cookie\u4FDD\u5B58\u5931\u8D25\uFF1A\u4E0D\u652F\u6301\u7684\u90E8\u7F72\u5E73\u53F0 ${s||"unknown"}`},400)}catch(e){return Le({success:!1,message:e.message},500)}}var gt;async function Eit(t,e,r,n,s){gt=zh.init(e);let i=new URL(t.url),a=i.pathname,o=t.method,c=a.includes("/search")||a.includes("/match")||a.includes("/danmaku");if(gt.useBangumiData&&await YB(r,c,s),gt.deployPlatform=r,r==="node"){await oz(a,r);let{judgeLocalRedisValid:h}=await Promise.resolve().then(()=>($T(),YL));await h(a)}if(await GV(a),!gt.aiValid&>.aiBaseUrl&>.aiModel&>.aiApiKey&&a!=="/favicon.ico"&&a!=="/robots.txt"&&(await new df({baseURL:gt.aiBaseUrl,model:gt.aiModel,apiKey:gt.aiApiKey,systemPrompt:"\u56DE\u7B54\u5C3D\u91CF\u7B80\u6D01"}).verify()).ok&&(gt.aiValid=!0),_("info",`[system] [Server] request url: ${JSON.stringify(i)}`),_("info",`[system] [Server] request path: ${a}`),_("info",`[system] [Server] client ip: ${n}`),gt.ipBlacklist?.length&>.ipBlacklist.some(A=>thr(A,n)))return _("warn",`[Utils] [IP Blacklist] Blocked request from IP: ${n}`),Le({errorCode:403,success:!1,errorMessage:"Forbidden"},403);let u=a.split("/").filter(Boolean),l=["api","v1","v2","search","match","bangumi","comment","danmaku"],d=u[0]||"",f=gt.token==="87654321",p=d===gt.token||d===gt.adminToken;if(gt.currentToken=p?d:f&&(d==="87654321"||l.includes(d))?d==="87654321"?d:"87654321":"",r==="node"&>.localCacheValid&&a!=="/favicon.ico"&&a!=="/robots.txt"&&await az(),gt.redisValid&&a!=="/favicon.ico"&&a!=="/robots.txt"&&await QV(),r==="node"&>.localRedisValid&&a!=="/favicon.ico"&&a!=="/robots.txt"){let{getLocalRedisCaches:h}=await Promise.resolve().then(()=>($T(),YL));await h()}if(["/api/v2/search/anime","/api/v2/match","/api/v2/search/episodes","/api/v2/fongmi/danmaku","/danmaku","/api/v2/bangumi","/api/v2/comment","/api/v2/segmentcomment"].some(h=>a.includes(h))){let h=gt.reqRecords.length>0?gt.reqRecords[gt.reqRecords.length-1]:null,A=new Date().toDateString();if(h){let v=new Date(h.timestamp).toDateString();_("info",`[system] [Server] currentDate: ${A}`),_("info",`[system] [Server] lastDate: ${v}`),v!==A?gt.todayReqNum=1:gt.todayReqNum++}else gt.todayReqNum=1;let g=t.url,b=g.indexOf("/api/v2");b!==-1&&(g=g.substring(b));let y=null;if(o==="POST"||o==="PUT"||o==="PATCH")try{let v=t.clone();if((v.headers.get("content-type")||"").includes("application/json"))y=await v.json();else{let R=await v.text();R&&(y=JSON.parse(R))}}catch{y=null}let x={interface:g,params:y,timestamp:new Date().toISOString(),method:o,clientIp:n};gt.reqRecords.push(x),gt.reqRecords.length>gt.MAX_RECORDS&&(gt.reqRecords=gt.reqRecords.slice(-gt.MAX_RECORDS))}if(a==="/"&&o==="GET")return zie();if(a==="/favicon.ico"||a==="/robots.txt"||o==="OPTIONS")return new Response(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, User-Agent"}});if(gt.token==="87654321"){if(u.length>0){if(u[0]==="87654321"||u[0]===gt.adminToken)a="/"+u.slice(1).join("/");else if(!l.includes(u[0]))return a==="/api/config"&&o==="GET"?A4(!1):(_("error",`[system] [Server] Invalid token in path: ${a}`),Le({errorCode:401,success:!1,errorMessage:"Unauthorized"},401))}}else{if(u.length<1||u[0]!==gt.token&&u[0]!==gt.adminToken)return a==="/api/config"&&o==="GET"?A4(!1):(_("error",`[system] [Server] Invalid or missing token in path: ${a}`),Le({errorCode:401,success:!1,errorMessage:"Unauthorized"},401));a="/"+u.slice(1).join("/")}if(a.endsWith("/danmaku/api/v2/fongmi/danmaku")&&(_("info",`[Path Fix] Collapsed nested danmaku path: "${a}" -> "/danmaku"`),a="/danmaku"),a==="/api/config"&&o==="GET")return A4(!0);if(a==="/api/reqrecords"&&o==="GET")return iit();if(_("info",`[system] [Server] ${a}`),a!=="/"&&a!=="/danmaku"&&a!=="/api/logs"&&!a.startsWith("/api/env")&&!a.startsWith("/api/deploy")&&!a.startsWith("/api/cache")&&!a.startsWith("/api/cookie")&&!a.startsWith("/api/config")&&!a.startsWith("/api/ai")){_("info",`[Path Check] Starting path normalization for: "${a}"`);let h=a;for(a=a.replace(/\/+/g,"/");a.startsWith("/api/v2/api/v2/");)_("info","[Path Check] Found redundant /api/v2 prefix. Cleaning..."),a=a.substring(7);a!==h?_("info",`[Path Check] Path after cleanup: "${a}"`):_("info","[Path Check] Path after cleanup: No cleanup needed.");let A=a;!a.startsWith("/api/v2")&&a!=="/"&&!a.startsWith("/api/logs")&&!a.startsWith("/api/env")&&!a.startsWith("/api/cache")&&!a.startsWith("/api/cookie")&&!a.startsWith("/api/config")&&!a.startsWith("/api/ai")&&(a.startsWith("/v2/")||a==="/v2"?(_("info","[Path Check] Path is missing /api prefix. Adding /api..."),a="/api"+a):a.startsWith("/api/")||a==="/api"?(_("info","[Path Check] Path is missing /v2 prefix. Adding /v2..."),a="/api/v2"+a.substring(4)):(_("info","[Path Check] Path is missing /api/v2 prefix. Adding /api/v2..."),a="/api/v2"+(a.startsWith("/")?a:"/"+a))),a===A&&_("info","[Path Check] Prefix Check: No prefix addition needed."),_("info",`[Path Check] Final normalized path: "${a}"`)}if(a==="/"&&o==="GET")return zie();if(a==="/api/v2/search/anime"&&o==="GET")return nE(i);if(a==="/api/v2/search/episodes"&&o==="GET")return wst(i);if(a==="/api/v2/fongmi/danmaku"&&(o==="GET"||o==="POST"))return qie(i,t);if(a==="/danmaku"&&(o==="GET"||o==="POST"))return qie(i,t);if(a==="/api/v2/match"&&o==="POST")return Tst(i,t,n);if(a.startsWith("/api/v2/bangumi/")&&o==="GET")return Wie(a);if((a.startsWith("/api/v2/comment")||a.startsWith("/api/v2/extcomment"))&&o==="GET"){let h=i.searchParams.get("format"),A=i.searchParams.get("url"),g=i.searchParams.get("segmentflag"),b=i.searchParams.get("duration"),y=g==="true"||g==="1",x=b==="true"||b==="1";if(A){if(lf(A)!==null)return _("info",`[Utils] [Rate Limit] Cache hit for URL: ${A}, skipping rate limit check`),Uie(A,h,y,x);if(gt.rateLimitMaxRequests>0){let w=Date.now(),N=60*1e3;qB(w),gt.requestHistory.has(n)||gt.requestHistory.set(n,[]);let B=gt.requestHistory.get(n).filter(M=>w-M<=N);if(B.length>=gt.rateLimitMaxRequests)return _("warn",`[Utils] [Rate Limit] IP ${n} exceeded rate limit (${B.length}/${gt.rateLimitMaxRequests} requests in 1 minute)`),Le({errorCode:429,success:!1,errorMessage:"Too many requests, please try again later"},429);B.push(w),gt.requestHistory.set(n,B),_("info",`[Utils] [Rate Limit] IP ${n} request count: ${B.length}/${gt.rateLimitMaxRequests}`)}return Uie(A,h,y,x)}if(!a.startsWith("/api/v2/comment/"))return _("error","[system] [Server] Missing commentId or url parameter"),Le({errorCode:400,success:!1,errorMessage:"Missing commentId or url parameter"},400);let v=parseInt(a.split("/").pop()),I=DI(v);if(I&&lf(I)!==null)return _("info",`[Utils] [Rate Limit] Cache hit for URL: ${I}, skipping rate limit check`),Fie(a,h,y,n,x);if(gt.rateLimitMaxRequests>0){let R=Date.now(),w=60*1e3;qB(R),gt.requestHistory.has(n)||gt.requestHistory.set(n,[]);let P=gt.requestHistory.get(n).filter(B=>R-B<=w);if(P.length>=gt.rateLimitMaxRequests)return _("warn",`[Utils] [Rate Limit] IP ${n} exceeded rate limit (${P.length}/${gt.rateLimitMaxRequests} requests in 1 minute)`),Le({errorCode:429,success:!1,errorMessage:"Too many requests, please try again later"},429);P.push(R),gt.requestHistory.set(n,P),_("info",`[Utils] [Rate Limit] IP ${n} request count: ${P.length}/${gt.rateLimitMaxRequests}`)}return Fie(a,h,y,n,x)}if(a.startsWith("/api/v2/segmentcomment")&&o==="POST")try{let h=i.searchParams.get("format"),A=await t.json(),g;try{g=fb.fromJson(A)}catch{return _("error","[system] [Server] Invalid JSON in request body for segment"),Le({errorCode:400,success:!1,errorMessage:"Invalid JSON in request body"},400)}return Rst(g,h)}catch(h){return _("error",`[system] [Server] Error processing segmentcomment request: ${h.message}`),Le({errorCode:500,success:!1,errorMessage:"Internal server error"},500)}return a==="/api/logs"&&o==="GET"?rit():a==="/api/logs/clear"&&o==="POST"?nit():a==="/api/env/set"&&o==="POST"?oit(t):a==="/api/env/add"&&o==="POST"?cit(t):a==="/api/env/del"&&o==="POST"?uit(t):a==="/api/deploy"&&o==="POST"?tit():a==="/api/cache/animes"&&o==="GET"?ait():a==="/api/cache/clear"&&o==="POST"?sit():a==="/api/cookie/status"&&o==="GET"?hit():a==="/api/cookie/qr/generate"&&o==="POST"?Ait():a==="/api/cookie/qr/check"&&o==="POST"?yit(t):a==="/api/cookie/verify"&&o==="POST"?git(t):a==="/api/cookie/save"&&o==="POST"?xit(t):a==="/api/ai/verify"&&o==="POST"?lit(t):Le({message:"Not found"},404)}function thr(t,e){return!t||!e||e==="unknown"?!1:t.type==="exact"?t.value===e:t.type==="regex"?t.value.test(e):t.type==="cidr"?rhr(e,t.ip,t.prefix):!1}function rhr(t,e,r){if(t.includes(":")||e.includes(":")){let o=bit(t),c=bit(e);if(!o||!c||r<0||r>128)return!1;let u=Math.floor(r/8),l=r%8;for(let d=0;d<u;d++)if(o[d]!==c[d])return!1;if(l>0){let d=255<<8-l&255;return(o[u]&d)===(c[u]&d)}return!0}let s=Yie(t),i=Yie(e);if(s===null||i===null||r<0||r>32)return!1;let a=r===0?0:4294967295<<32-r>>>0;return(s&a)===(i&a)}function Yie(t){let e=t.split(".");if(e.length!==4)return null;let r=e.map(n=>Number(n));return r.some(n=>Number.isNaN(n)||n<0||n>255)?null:(r[0]<<24>>>0)+(r[1]<<16)+(r[2]<<8)+r[3]}function bit(t){if(!t||typeof t!="string"||!t.includes(":"))return null;let r=t.trim().split("::");if(r.length>2)return null;let n=r[0]?r[0].split(":").filter(Boolean):[],s=r[1]?r[1].split(":").filter(Boolean):[],i=c=>{if(c.length===0)return c;let u=c[c.length-1];if(!u.includes("."))return c;let l=Yie(u);if(l===null)return null;let d=(l>>>16&65535).toString(16),f=(l&65535).toString(16);return[...c.slice(0,-1),d,f]};if(n=i(n),s=i(s),!n||!s)return null;if(r.length===1){if(n.length!==8)return null}else{let c=n.length+s.length;if(c>8)return null;let u=8-c;s=new Array(u).fill("0").concat(s)}let a=n.concat(s);if(a.length!==8)return null;let o=[];for(let c of a){if(!/^[0-9a-fA-F]{1,4}$/.test(c))return null;let u=parseInt(c,16);o.push(u>>8&255,u&255)}return o}var wu=null,aE=9321,y4=0,Ug=null,_it=!1,iE={...process.env,ADMIN_TOKEN:"douer"},x4=!1,mw=null,Nc=null,Tn={overrides:{},deletedKeys:[]};function _i(...t){}function hw(...t){}function Cit(){return y4>0}function nhr(){try{let byEval=eval("1 + 1")===2,byFunction=Function("return 2 + 2")()===4;return byEval&&byFunction}catch{return!1}}function Xie(){return{overrides:{},deletedKeys:[]}}function Tit(){let t=String(process.env.DANMU_ENV_STORE_FILE||"").trim();if(t)return t;let e=String(process.env.NODE_PATH||"").trim()||process.cwd();return nae.default.resolve(e,"danmu_env_overrides.json")}function shr(t){let e=Xie();if(!t||typeof t!="object")return e;let r=Array.isArray(t.deletedKeys)?t.deletedKeys.map(s=>String(s||"").trim()).filter(s=>s):[];e.deletedKeys=Array.from(new Set(r));let n=new Set(e.deletedKeys);return t.overrides&&typeof t.overrides=="object"&&!Array.isArray(t.overrides)&&Object.entries(t.overrides).forEach(([s,i])=>{let a=String(s||"").trim();!a||n.has(a)||(e.overrides[a]=i==null?"":String(i))}),e}function ihr(){Nc=Tit();try{if(!gw.default.existsSync(Nc)){Tn=Xie(),_i("loadPersistedEnvStore()",{loaded:!1,reason:"store file not found",path:Nc});return}let t=gw.default.readFileSync(Nc,"utf8"),e=t?JSON.parse(t):{};Tn=shr(e),_i("loadPersistedEnvStore()",{loaded:!0,path:Nc,overrides:Object.keys(Tn.overrides).length,deleted:Tn.deletedKeys.length})}catch(t){Tn=Xie(),hw("loadPersistedEnvStore() failed",{message:t?.message||String(t),stack:t?.stack||"",path:Nc})}}function ahr(){try{Nc||(Nc=Tit());let t=nae.default.dirname(Nc);gw.default.mkdirSync(t,{recursive:!0});let e={version:1,updatedAt:new Date().toISOString(),overrides:Tn.overrides,deletedKeys:Tn.deletedKeys};return gw.default.writeFileSync(Nc,JSON.stringify(e,null,2),"utf8"),!0}catch(t){return hw("savePersistedEnvStore() failed",{message:t?.message||String(t),stack:t?.stack||"",path:Nc||""}),!1}}function Zie(){let t={...process.env};return Object.entries(Tn.overrides).forEach(([e,r])=>{t[e]=r}),Tn.deletedKeys.forEach(e=>{delete t[e]}),ohr(t)}function ohr(t){let e=t||{},r=String(e.TOKEN||"").trim();e.TOKEN=r||"87654321";let n=String(e.SOURCE_ORDER||"").trim();e.SOURCE_ORDER=n||"tencent,youku,iqiyi,imgo,bilibili,dandan,renren,hanjutv";let s=String(e.STRICT_TITLE_MATCH||"").trim();e.STRICT_TITLE_MATCH=s||"true";let i=String(e.RATE_LIMIT_MAX_REQUESTS||"").trim();e.RATE_LIMIT_MAX_REQUESTS=i||"0";let a=String(e.ADMIN_TOKEN||"").trim();return e.ADMIN_TOKEN=a||"douer",e}function chr(t){return t==null?null:Array.isArray(t)?t.map(e=>String(e)).join(","):typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):null}function uhr(t,e){if(!t||typeof t!="object"||!t.originalEnvVars||typeof t.originalEnvVars!="object")return t;let r=t.originalEnvVars,n=t.envs&&typeof t.envs=="object"?t.envs:{};return Object.keys(r).forEach(s=>{let i=r[s];if(!(i==null||String(i).trim()===""))return;if(s==="TOKEN"){r[s]=String(e.TOKEN||"87654321");return}if(s==="ADMIN_TOKEN"){r[s]=String(e.ADMIN_TOKEN||"");return}let o=e[s];if(o!=null&&String(o).trim()!==""){r[s]=String(o);return}if(!Object.prototype.hasOwnProperty.call(n,s))return;let c=n[s];if(typeof c=="string"&&/^\*+$/.test(c))return;let u=chr(c);u!==null&&u!==""&&(r[s]=u)}),t}function Jie(t,e,r=!1){let n=String(t||"").trim();if(!n)return!1;let s=Object.prototype.hasOwnProperty.call(process.env,n),i=process.env[n],a=Object.prototype.hasOwnProperty.call(Tn.overrides,n),o=Tn.overrides[n],c=Tn.deletedKeys.includes(n);if(r)delete process.env[n],delete Tn.overrides[n],Tn.deletedKeys.includes(n)||Tn.deletedKeys.push(n);else{let u=e==null?"":String(e);process.env[n]=u,Tn.overrides[n]=u,Tn.deletedKeys=Tn.deletedKeys.filter(l=>l!==n)}return ahr()?(iE=Zie(),!0):(a?Tn.overrides[n]=o:delete Tn.overrides[n],c&&!Tn.deletedKeys.includes(n)&&Tn.deletedKeys.push(n),c||(Tn.deletedKeys=Tn.deletedKeys.filter(u=>u!==n)),s?process.env[n]=i:delete process.env[n],iE=Zie(),!1)}var lhr={async setEnv(t,e){return Jie(t,e,!1)?(_i("memoryNodeEnvHandler.setEnv()",{key:String(t||"")}),!0):!1},async addEnv(t,e){return Jie(t,e,!1)?(_i("memoryNodeEnvHandler.addEnv()",{key:String(t||"")}),!0):!1},async delEnv(t){return Jie(t,"",!0)?(_i("memoryNodeEnvHandler.delEnv()",{key:String(t||"")}),!0):!1}};function dhr(){x4||(mw=ya.getHandler,ya.getHandler=async function(e){let r=String(e||"").toLowerCase();return!r||r==="node"?lhr:mw.call(ya,e)},x4=!0,_i("installNodeEnvHotReloadPatch()",{patched:!0}))}function fhr(){!x4||!mw||(ya.getHandler=mw,mw=null,x4=!1,_i("uninstallNodeEnvHotReloadPatch()",{patched:!1}))}function phr(t){return t==null?Buffer.alloc(0):Buffer.isBuffer(t)?t:t instanceof ArrayBuffer?Buffer.from(t):ArrayBuffer.isView(t)?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(String(t),"utf8")}async function mhr(t){if(!t||typeof t.getReader!="function")return Buffer.from(String(t??""),"utf8");let e=t.getReader(),r=[];try{for(;;){let{done:n,value:s}=await e.read();if(n)break;if(s!=null){if(Buffer.isBuffer(s)){r.push(s);continue}if(s instanceof Uint8Array){r.push(Buffer.from(s));continue}if(s instanceof ArrayBuffer){r.push(Buffer.from(s));continue}if(ArrayBuffer.isView(s)){r.push(Buffer.from(s.buffer,s.byteOffset,s.byteLength));continue}r.push(Buffer.from(String(s),"utf8"))}}}finally{typeof e.releaseLock=="function"&&e.releaseLock()}return r.length?Buffer.concat(r):Buffer.alloc(0)}async function hhr(t){if(t==null)return Buffer.alloc(0);if(Buffer.isBuffer(t))return t;if(t instanceof ArrayBuffer)return Buffer.from(t);if(ArrayBuffer.isView(t))return Buffer.from(t.buffer,t.byteOffset,t.byteLength);if(typeof t=="string")return Buffer.from(t,"utf8");if(typeof Blob=="function"&&t instanceof Blob){let e=await t.arrayBuffer();return Buffer.from(e)}return typeof t.getReader=="function"?mhr(t):Buffer.from(String(t),"utf8")}var Aw=class{constructor(e=void 0){if(this._map=new Map,!!e){if(typeof e.forEach=="function"){e.forEach((r,n)=>this.set(n,r));return}if(Array.isArray(e)){e.forEach(([r,n])=>this.set(r,n));return}typeof e=="object"&&Object.entries(e).forEach(([r,n])=>this.set(r,n))}}set(e,r){this._map.set(String(e).toLowerCase(),String(r))}get(e){let r=this._map.get(String(e).toLowerCase());return r===void 0?null:r}has(e){return this._map.has(String(e).toLowerCase())}delete(e){this._map.delete(String(e).toLowerCase())}forEach(e,r=void 0){for(let[n,s]of this._map.entries())e.call(r,s,n,this)}entries(){return this._map.entries()}[Symbol.iterator](){return this._map[Symbol.iterator]()}},eae=class t{constructor(e,r={}){this.url=String(e||""),this.method=String(r.method||"GET").toUpperCase();let n=globalThis.Headers||Aw;this.headers=r.headers instanceof n?r.headers:new n(r.headers||{}),this._bodyBuffer=phr(r.body)}clone(){return new t(this.url,{method:this.method,headers:Object.fromEntries(this.headers.entries()),body:this._bodyBuffer})}async text(){return this._bodyBuffer.toString("utf8")}async json(){let e=await this.text();return e?JSON.parse(e):null}async arrayBuffer(){return this._bodyBuffer.buffer.slice(this._bodyBuffer.byteOffset,this._bodyBuffer.byteOffset+this._bodyBuffer.byteLength)}},tae=class{constructor(e=null,r={}){let n=globalThis.Headers||Aw;this.status=Number(r.status||200),this.statusText=String(r.statusText||""),this.headers=r.headers instanceof n?r.headers:new n(r.headers||{}),this.ok=this.status>=200&&this.status<300,this.body=e,this.bodyUsed=!1,this._bodyBuffer=null,this._bodyBufferPromise=null}async _ensureBodyBuffer(){return this._bodyBuffer?this._bodyBuffer:(this._bodyBufferPromise||(this._bodyBufferPromise=hhr(this.body).then(e=>(this._bodyBuffer=e,this.bodyUsed=!0,e))),this._bodyBufferPromise)}async text(){return(await this._ensureBodyBuffer()).toString("utf8")}async json(){let e=await this.text();return e?JSON.parse(e):null}async arrayBuffer(){let e=await this._ensureBodyBuffer();return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}};function ghr(){_it||(typeof globalThis.Headers!="function"&&(globalThis.Headers=Aw),typeof globalThis.Response!="function"&&(globalThis.Response=tae),typeof globalThis.Request!="function"&&(globalThis.Request=eae),_it=!0,_i("installWebApiPolyfills()",{hasFetch:typeof globalThis.fetch=="function",hasRequest:typeof globalThis.Request=="function",hasHeaders:typeof globalThis.Headers=="function",hasResponse:typeof globalThis.Response=="function"}))}async function Sit(t,e={}){let r=await Ae({url:t,method:e.method||"GET",headers:e.headers||{},data:e.body,signal:e.signal,responseType:"arraybuffer",validateStatus:()=>!0,timeout:1e4}),n=Buffer.from(r.data),s={};return Object.entries(r.headers||{}).forEach(([i,a])=>{s[i]=String(a)}),{ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText||"",headers:new Headers(s),url:String(t),async text(){return n.toString("utf8")},async json(){return JSON.parse(n.toString("utf8"))},async arrayBuffer(){return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)}}}function Ahr(){_i("installPatches()",{hasFetch:typeof globalThis.fetch=="function"}),Ug=globalThis.fetch,globalThis.fetch=function(e,r){return y4>0?Sit(e,r):typeof Ug=="function"?Ug(e,r):Sit(e,r)}}function rae(){if(_i("uninstallPatches()",{hasOriginalFetch:!!Ug}),typeof Ug=="function")globalThis.fetch=Ug;else try{delete globalThis.fetch}catch{globalThis.fetch=void 0}Ug=null}function wit(t=9321){if(aE=t,ghr(),dhr(),ihr(),iE=Zie(),_i("loadDanmuEnv()",{source:"process.env + persisted store",adminTokenFallback:iE.ADMIN_TOKEN==="douer",persistedEnvStorePath:Nc,persistedOverrides:Object.keys(Tn.overrides).length,persistedDeletedKeys:Tn.deletedKeys.length}),_i("start()",{port:t,alreadyRunning:!!wu,node:process.version,platform:`${process.platform}/${process.arch}`,v8:process.versions?.v8,dynamicCode:nhr()}),!wu){Ahr();try{wu=Iit.default.createServer(async(e,r)=>{y4++;let n=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,s=Date.now();_i(`[${n}] inbound`,{method:e.method,url:e.url,host:e.headers.host,remote:e.socket?.remoteAddress||"unknown"});try{let i=`http://${e.headers.host||`127.0.0.1:${t}`}${e.url}`,a=(()=>{try{return new URL(i).pathname||""}catch{return String(e.url||"")}})(),o=e.method==="GET"&&a.endsWith("/api/config"),c;(e.method==="POST"||e.method==="PUT")&&(c=await new Promise(p=>{let m="";e.on("data",h=>m+=h),e.on("end",()=>p(m))}));let u=new Request(i,{method:e.method,headers:Object.fromEntries(Object.entries(e.headers).map(([p,m])=>[p,String(m)])),body:c||void 0}),l={...iE},d=await Eit(u,l,"node",e.socket?.remoteAddress||"unknown");_i(`[${n}] worker done`,{status:d.status}),r.statusCode=d.status,d.headers.forEach((p,m)=>{let h=m.toLowerCase();h!=="content-encoding"&&h!=="content-length"&&r.setHeader(m,p)});let f;if(o){let p=await d.text();try{let m=JSON.parse(p),h=uhr(m,l);f=Buffer.from(JSON.stringify(h),"utf8")}catch{f=Buffer.from(p||"","utf8")}}else f=Buffer.from(await d.arrayBuffer());r.setHeader("Content-Length",f.length),r.end(f)}catch(i){hw(`[${n}] request failed`,{message:i?.message||String(i),stack:i?.stack||""}),r.statusCode=500,r.end("Internal Server Error")}finally{_i(`[${n}] complete`,{costMs:Date.now()-s}),y4--}}),wu.listen(t,"0.0.0.0",()=>{let e=wu?.address?.();_i("listen ok",{address:e})}),wu.on("error",e=>{hw("server error",{message:e?.message||String(e),code:e?.code}),console.warn(`[danmu] \u5185\u7F6E\u5F39\u5E55\u670D\u52A1\u542F\u52A8\u5931\u8D25: ${e.message}`),rae(),wu=null})}catch(e){hw("start() failed",{message:e?.message||String(e),stack:e?.stack||""}),console.warn(`[danmu] \u5185\u7F6E\u5F39\u5E55\u670D\u52A1\u542F\u52A8\u5931\u8D25: ${e.message}`),rae()}}}function Rit(){_i("stop()",{hasServer:!!wu,port:aE}),wu&&(wu.close(),wu=null),fhr(),rae()}function qcn(){return aE}function vit(t){let e=String(t||"").trim().toLowerCase();return e==="localhost"||e==="127.0.0.1"||e==="0.0.0.0"||e==="::1"}function yhr(t){let e=String(t||"").trim();if(!e)return"";try{return new URL(e).hostname||""}catch{try{return new URL(`http://${e}`).hostname||""}catch{return e.replace(/^\w+:\/\//,"").split("/")[0].split(":")[0].trim()}}}function xhr(t){let e=yhr(t);if(e&&!vit(e))return e;let r=String(k0()||"").trim();return r&&!vit(r)?r:"127.0.0.1"}function bhr(t){let e=Number.parseInt(String(t??""),10);return Number.isFinite(e)&&e>0?e:aE}function sae(t,e=aE){let r=xhr(t),n=bhr(e);return`http://${r}:${n}`}function iae(t,e=aE){let r=sae(t,e),n=String(Ehr()||"").trim();return n?`${r}/${encodeURIComponent(n)}`:r}function Ehr(){return String(iE?.ADMIN_TOKEN||"").trim()||"douer"}function Shr(t){return yw.default.enc.Utf8.stringify(yw.default.enc.Base64.parse(t))}function Nit(t){return yw.default.enc.Base64.stringify(yw.default.enc.Utf8.parse(t))}function Dit(t){return String(t||"").split(",")[0].trim()}function Oit(t){return Dit(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function Pit(t){let e=String(t||"").trim().toLowerCase().split(":")[0];return e==="localhost"||e==="127.0.0.1"||e==="0.0.0.0"||e==="::1"}function b4(t){let e=String(t?.server?.address?.()?.url||"").trim(),n=Oit(t?.headers?.["x-forwarded-host"])||Oit(t?.headers?.host),s=Dit(t?.headers?.["x-forwarded-proto"]),i=e.startsWith("https://")?"https":"http",a=s||String(t?.protocol||"").trim()||i;if(n&&!Pit(n))return`${a}://${n}`;let o=String(k0()||"").trim(),c=Number.parseInt(String(t?.server?.address?.()?.port||""),10);return o&&!Pit(o)?Number.isFinite(c)&&c>0?`${a}://${o}:${c}`:`${a}://${o}`:e}async function vhr(t,e){return{}}async function Ihr(t,e){return{class:[{type_id:"setting",type_name:`${b4(t)}/website`}]}}async function Chr(t,e){let r=b4(t),n=r+t.server.prefix+"/proxy",s=iae(r);return{page:1,pagecount:1,limit:1,total:1,list:[{vod_id:"openInternalWebsite",vod_name:"\u901A\u7528\u914D\u7F6E",vod_pic:n+"/"+Nit(`${r}/website`)},{vod_id:"builtinDanmuApiQr",vod_name:"\u5F39\u5E55\u670D\u52A1",vod_pic:n+"/"+Nit(s)}]}}async function Thr(t,e){if(t.body.id==="openInternalWebsite"){let r=b4(t);return await t.server.messageToDart({action:"openInternalWebview",opt:{url:`${r}/website`}}),{list:[{vod_name:"",vod_content:""}]}}if(t.body.id==="builtinDanmuApiQr"){let r=b4(t);return await t.server.messageToDart({action:"openInternalWebview",opt:{url:iae(r)}}),{list:[{vod_name:"",vod_content:""}]}}return{list:[{vod_name:"",vod_content:""}]}}async function whr(t,e){let r=t.params.img,n=Shr(r),s=await kit.default.toBuffer(n,{width:120,height:120,margin:15});e.send(s)}var Bit={meta:{key:"baseset",name:"\u300C\u8BBE\u300D\u914D\u7F6E",type:3},api:async t=>{t.post("/init",vhr),t.post("/home",Ihr),t.post("/category",Chr),t.post("/detail",Thr),t.get("/proxy/:img",whr)}};var Rhr=["https://666.666291.xyz","https://www.muou.asia","https://www.muou.site"],aae=async t=>(await t.db.getObjectDefault("/muou",{}))?.urls||t.config.muou?.urls||Rhr,Nhr=async(t,e)=>{await t.db.push("/muou/urls",e)},Ohr=async t=>{await t.db.delete("/muou/urls")};async function oae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await aae(e.server)})}),t.put("/urls",async(e,r)=>{await Nhr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Ohr(e.server),r.send({code:0})})}var cae,E4=t=>{if(!cae){let e=Date.now();cae=new Promise(async r=>{let n=await aae(t),s=await Xn(n);console.log("\u6728\u5076\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return cae};async function uae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Phr(t,e){let r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EAA\u5F55"},{type_id:"29",type_name:"\u7EFC\u827A"},{type_id:"25",type_name:"115"}],n={};return n[1]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u8B66\u532A",v:"\u8B66\u532A"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u52A8\u753B",v:"\u52A8\u753B"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u67AA\u6218",v:"\u67AA\u6218"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u60CA\u609A",v:"\u60CA\u609A"},{n:"\u7ECF\u5178",v:"\u7ECF\u5178"},{n:"\u9752\u6625",v:"\u9752\u6625"},{n:"\u6587\u827A",v:"\u6587\u827A"},{n:"\u5FAE\u7535\u5F71",v:"\u5FAE\u7535\u5F71"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u5386\u53F2",v:"\u5386\u53F2"},{n:"\u8FD0\u52A8",v:"\u8FD0\u52A8"},{n:"\u519C\u6751",v:"\u519C\u6751"},{n:"\u513F\u7AE5",v:"\u513F\u7AE5"},{n:"\u7F51\u7EDC\u7535\u5F71",v:"\u7F51\u7EDC\u7535\u5F71"}]},{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u5FB7\u56FD",v:"\u5FB7\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u610F\u5927\u5229",v:"\u610F\u5927\u5229"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u52A0\u62FF\u5927",v:"\u52A0\u62FF\u5927"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[2]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u9752\u6625\u5076\u50CF",v:"\u9752\u6625\u5076\u50CF"},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u5BB6\u5EAD",v:"\u5BB6\u5EAD"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u5386\u53F2",v:"\u5386\u53F2"},{n:"\u7ECF\u5178",v:"\u7ECF\u5178"},{n:"\u4E61\u6751",v:"\u4E61\u6751"},{n:"\u60C5\u666F",v:"\u60C5\u666F"},{n:"\u5546\u6218",v:"\u5546\u6218"},{n:"\u7F51\u5267",v:"\u7F51\u5267"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u5185\u5730",v:"\u5185\u5730"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65B0\u52A0\u5761",v:"\u65B0\u52A0\u5761"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[3]=[{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[4]=[{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[29]=[{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[25]=[{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],{class:r,filters:n}}async function khr(t,e){let r=await E4(t.server),n=t.body.id,s=t.body.page,i=t.body.filters||{},a=s||1;a==0&&(a=1);let o=r+"/index.php/vod/show";i.area&&(o+=`/area/${i.area}`),i.by&&(o+=`/by/${i.by}`),i.class&&(o+=`/class/${i.class}`),o+=`/id/${n}/page/${a}`,i.year&&(o+=`/year/${i.year}`),o+=".html";let c=await uae(o,Gr),u=Me(c),l=u("#main .module-item"),d=[];for(var f of l){let h=u(f).find(".module-item-pic a").attr("href"),A=u(f).find(".module-item-pic img").attr("alt"),g=u(f).find(".module-item-pic img").attr("data-src"),b=u(f).find(".module-item-text").text();d.push({vod_id:h,vod_name:A,vod_pic:g,vod_remarks:b})}let m=u("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(a)+1:parseInt(a);return{page:parseInt(a),pagecount:m,limit:72,total:72*m,list:d}}async function Dhr(t,e){let r=await E4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await uae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await wr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls),s.push(c)}return{list:s}}async function Bhr(t,e){let r=await E4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await uae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Lit={meta:{key:"muou",name:"\u300C\u76D8\u300D\u6728\u5076",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Phr),t.post("/category",khr),t.post("/detail",Dhr),t.post("/play",Nr),t.post("/search",Bhr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)},check:E4};var Lhr=["http://xiaocge.fun","http://xiaocgege.shop"],lae=async t=>(await t.db.getObjectDefault("/labi",{}))?.urls||t.config.labi?.urls||Lhr,Mhr=async(t,e)=>{await t.db.push("/labi/urls",e)},Whr=async t=>{await t.db.delete("/labi/urls")};async function dae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await lae(e.server)})}),t.put("/urls",async(e,r)=>{await Mhr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Whr(e.server),r.send({code:0})})}var fae,_4=t=>{if(!fae){let e=Date.now();fae=new Promise(async r=>{let n=await lae(t),s=await Xn(n);console.log("\u8721\u7B14\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return fae};async function pae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function $hr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"24",type_name:"4K"},{type_id:"29",type_name:"\u81FB\u5F69"},{type_id:"5",type_name:"\u77ED\u5267"}],filters:{}}}async function Fhr(t,e){let r=await _4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await pae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Uhr(t,e){let r=await _4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await pae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await wr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls),s.push(c)}return{list:s}}async function qhr(t,e){let r=await _4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await pae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Mit={meta:{key:"labi",name:"\u300C\u76D8\u300D\u8721\u7B14",type:3},api:async t=>{t.post("/init",qr),t.post("/home",$hr),t.post("/category",Fhr),t.post("/detail",Uhr),t.post("/play",Nr),t.post("/search",qhr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)},check:_4};var jhr=["http://shandian.blog","http://sd.sduc.site"],mae=async t=>(await t.db.getObjectDefault("/shandian",{}))?.urls||t.config.shandian?.urls||jhr,Hhr=async(t,e)=>{await t.db.push("/shandian/urls",e)},Qhr=async t=>{await t.db.delete("/shandian/urls")};async function hae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await mae(e.server)})}),t.put("/urls",async(e,r)=>{await Hhr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Qhr(e.server),r.send({code:0})})}var gae,S4=t=>{if(!gae){let e=Date.now();gae=new Promise(async r=>{let n=await mae(t),s=await Xn(n);console.log("\u95EA\u7535\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return gae};async function Aae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Ghr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"30",type_name:"\u77ED\u5267"}],filters:{}}}async function Khr(t,e){let r=await S4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await Aae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Vhr(t,e){let r=await S4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await Aae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await wr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls),s.push(c)}return{list:s}}async function zhr(t,e){let r=await S4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await Aae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Wit={meta:{key:"shandian",name:"\u300C\u76D8\u300D\u95EA\u7535",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Ghr),t.post("/category",Khr),t.post("/detail",Vhr),t.post("/play",Nr),t.post("/search",zhr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)},check:S4};var Yhr=["https://woog.nxog.eu.org"],yae=async t=>(await t.db.getObjectDefault("/ouge",{}))?.urls||t.config.ouge?.urls||Yhr,Jhr=async(t,e)=>{await t.db.push("/ouge/urls",e)},Xhr=async t=>{await t.db.delete("/ouge/urls")};async function xae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await yae(e.server)})}),t.put("/urls",async(e,r)=>{await Jhr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Xhr(e.server),r.send({code:0})})}var bae,v4=t=>{if(!bae){let e=Date.now();bae=new Promise(async r=>{let n=await yae(t),s=await Xn(n);console.log("\u6B27\u54E5\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return bae};async function Eae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Zhr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"5",type_name:"\u77ED\u5267"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"21",type_name:"\u7EFC\u5408"}],filters:{}}}async function egr(t,e){let r=await v4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await Eae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function tgr(t,e){let r=await v4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await Eae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await wr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls),s.push(c)}return{list:s}}async function rgr(t,e){let r=await v4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await Eae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var $it={meta:{key:"ouge",name:"\u300C\u76D8\u300D\u6B27\u6B4C",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Zhr),t.post("/category",egr),t.post("/detail",tgr),t.post("/play",Nr),t.post("/search",rgr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)},check:v4};var ngr=["https://www.wexwp.cc","https://www.erxiaozhan.top","https://www.2xiaopan.top","https://www.2xiaozhan.top"],_ae=async t=>(await t.db.getObjectDefault("/erxiao",{}))?.urls||t.config.erxiao?.urls||ngr,sgr=async(t,e)=>{await t.db.push("/erxiao/urls",e)},igr=async t=>{await t.db.delete("/erxiao/urls")};async function Sae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await _ae(e.server)})}),t.put("/urls",async(e,r)=>{await sgr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await igr(e.server),r.send({code:0})})}var vae,I4=t=>{if(!vae){let e=Date.now();vae=new Promise(async r=>{let n=await _ae(t),s=await Xn(n);console.log("\u4E8C\u5C0F\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return vae};async function Iae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function agr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"22",type_name:"\u771F\u5F69"},{type_id:"21",type_name:"\u7EFC\u827A"}],filters:{}}}async function ogr(t,e){let r=await I4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await Iae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function cgr(t,e){let r=await I4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await Iae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await wr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls),s.push(c)}return{list:s}}async function ugr(t,e){let r=await I4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await Iae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Fit={meta:{key:"erxiao",name:"\u300C\u76D8\u300D\u4E8C\u5C0F",type:3},api:async t=>{t.post("/init",qr),t.post("/home",agr),t.post("/category",ogr),t.post("/detail",cgr),t.post("/play",Nr),t.post("/search",ugr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)},check:I4};var lgr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",dgr="https://img.icons8.com/color/48/video.png",fgr="https://img.icons8.com/color/48/file.png",pgr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],mgr=[".srt",".ass",".scc",".stl",".ttml"];async function hgr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Uit(t){return t?.dir===!0||t?.dir===1||t?.type==="dir"||t?.type==="folder"}function qit(t){let e=String(t?.file_name||"").toLowerCase();return t?.obj_category==="video"||pgr.some(r=>e.endsWith(r))}function ggr(t){let e=String(t?.file_name||"").toLowerCase();return mgr.some(r=>e.endsWith(r))}function Agr(t,e){return`folder@@@${t}@@@${e}`}function ygr(t){let e=["own","",t.fid,"",t.subtitle?t.subtitle.fid:"",t.subtitle&&t.subtitle.share_fid_token||""];return`file@@@${t.file_name}@@@${e.join("*")}`}async function xgr(t,e,r=1){let n=[],s=[],i=await dBe(t,e||"0",r);i.forEach(o=>{let c=Uit(o),u=o.file===!0||o.file===1||o.type==="file";if(!c){if(u&&qit(o)){if(Number(o.size||0)<1024*1024*5)return;n.push(o);return}u&&ggr(o)&&s.push(o)}}),s.length>0&&n.forEach(o=>{let c=ml({name:o.file_name},s.map(u=>({...u,name:u.file_name})));c.bestMatch&&(o.subtitle=c.bestMatch.target)});let a=[];return i.forEach(o=>{let c=Uit(o);if(!c&&!qit(o))return;let u=String(o.file_name||"\u672A\u77E5").trim()||"\u672A\u77E5",l=fgr;c?l=lgr:l=dgr,a.push({vod_id:c?Agr(u,o.fid):ygr(o),vod_name:u,vod_pic:l,vod_remarks:c?"\u76EE\u5F55":Hi(Number(o.size||0)),...c?{cate:{id:o.fid,name:u}}:{},ratio:1.33})}),{rawCount:i.length,list:a}}async function bgr(t,e){return await kv(t),{}}async function Egr(t,e){return{class:[{type_id:"0",type_name:"\u6211\u7684\u5938\u514B\u7F51\u76D8"}]}}async function _gr(t,e){let r=String(t.body.id||"0");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"0");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,list:i}=await xgr(t,r==="0"?"0":r,n);return{page:n,pagecount:s>=200?n+1:n,limit:200,total:9999,list:i}}async function Sgr(t,e){let r=String(t.body.id||""),n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await hgr("quark","\u5938\u514B");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function vgr(t,e){return await _3(t,e)}async function Igr(t,e){return{page:1,pagecount:1,list:[]}}async function Cgr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var jit={meta:{key:"myquark",name:"\u300C\u76D8\u300D\u5938\u514B",type:3},api:async t=>{t.post("/init",bgr),t.post("/home",Egr),t.post("/category",_gr),t.post("/detail",Sgr),t.post("/play",vgr),t.post("/search",Igr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",E3),t.get("/test",Cgr)}};var Tgr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",wgr="https://img.icons8.com/color/48/video.png",Rgr="https://img.icons8.com/color/48/file.png",Ngr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],Ogr=[".srt",".ass",".scc",".stl",".ttml"];async function Pgr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function kgr(t){return t?.type==="folder"}function Hit(t){let e=`.${String(t?.file_extension||"").toLowerCase()}`;return t?.category==="video"||Ngr.includes(e)}function Dgr(t,e){return`folder@@@${t}@@@${e}`}function Bgr(t){return`file@@@${t.name}@@@own*${t.file_id}*${t.subtitle?t.subtitle.file_id:""}`}async function Lgr(t,e){let r=[],n=[],s=[],i="";do{let o=await J3e(t,e||"root",i);s.push(...Array.isArray(o.items)?o.items:[]),i=String(o.next_marker||"")}while(i);s.forEach(o=>{if(o.type==="file"&&Hit(o)){if(Number(o.size||0)<1024*1024*5)return;r.push(o);return}let c=String(o.file_extension||"").toLowerCase();o.type==="file"&&Ogr.some(u=>c.endsWith(u))&&n.push(o)}),n.length>0&&r.forEach(o=>{let c=ml(o,n);c.bestMatch&&(o.subtitle=c.bestMatch.target)});let a=[];return s.forEach(o=>{let c=kgr(o);if(!c&&!Hit(o))return;let u=String(o.name||"\u672A\u77E5").trim()||"\u672A\u77E5",l=Rgr;c?l=Tgr:l=wgr,a.push({vod_id:c?Dgr(u,o.file_id):Bgr(o),vod_name:u,vod_pic:l,vod_remarks:c?"\u76EE\u5F55":Hi(Number(o.size||0)),...c?{cate:{id:o.file_id,name:u}}:{},ratio:1.33})}),a}async function Mgr(t,e){return await Pv(t),{}}async function Wgr(t,e){return{class:[{type_id:"root",type_name:"\u6211\u7684\u963F\u91CC\u7F51\u76D8"}]}}async function $gr(t,e){let r=String(t.body.id||"root");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"root");let n=Number.parseInt(t.body.page,10)||1,s=await Lgr(t,r||"root");return{page:n,pagecount:1,limit:s.length,total:s.length,list:s}}async function Fgr(t,e){let r=String(t.body.id||""),n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await Pgr("ali","\u963F\u91CC");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function Ugr(t,e){return await A3(t,e)}async function qgr(t,e){return{page:1,pagecount:1,list:[]}}async function jgr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Qit={meta:{key:"myali",name:"\u300C\u76D8\u300D\u963F\u91CC",type:3},api:async t=>{t.post("/init",Mgr),t.post("/home",Wgr),t.post("/category",$gr),t.post("/detail",Fgr),t.post("/play",Ugr),t.post("/search",qgr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",g3),t.get("/test",jgr)}};var Kit="https://img.icons8.com/fluency/96/folder-invoices--v1.png",Hgr="https://img.icons8.com/color/48/video.png",Qgr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],C4=100,Ggr=5,Kgr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36";async function Git(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Vgr(t){if(Number(t?.mediaType)===3)return!0;let e=String(t?.name||t?.fileName||"").toLowerCase();return Qgr.some(r=>e.endsWith(r))}function Cae(t){return String(t?.name||t?.fileName||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Tae(t){return String(t?.id||t?.fileId||t?.folderId||t?.fileID||t?.fId||"")}function zgr(t){return Number(t?.size||t?.fileSize||0)}function Ygr(t,e){return`folder@@@${t}@@@${e}`}function Jgr(t){return`file@@@${Cae(t)}@@@own*${Tae(t)}`}function Xgr(t){return String(t?.vod_id||"").startsWith("file@@@")}function Zgr(t){let e=String(t?.vod_id||"").split("@@@"),r=e[1]||t?.vod_name||"\u89C6\u9891\u64AD\u653E",n=e[2]||"";return n?`${r}$${n}`:""}function wae(t,e=4,r=4){let n=String(t||"").trim();return n?n.length<=e+r+1?n:`${n.slice(0,e)}...${n.slice(-r)}`:""}function eAr(t){return wae(t,36,10)}async function Vit(t,e="-11",r=1){await rb(t);let n=await tf.listOwnFiles(e,r,C4),s=[];return(n.folderList||[]).forEach(i=>{let a=Tae(i);if(!a)return;let o=Cae(i);s.push({vod_id:Ygr(o,a),vod_name:o,vod_pic:Kit,vod_remarks:"\u76EE\u5F55",cate:{id:a,name:o},ratio:1.33})}),(n.fileList||[]).forEach(i=>{if(!Tae(i)||!Vgr(i))return;let a=Cae(i);s.push({vod_id:Jgr(i),vod_name:a,vod_pic:Hgr,vod_remarks:Hi(zgr(i)),ratio:1.33})}),{rawCount:Number(n.count||0),list:s}}async function tAr(t,e){return await rb(t),{}}async function rAr(t,e){return{class:[{type_id:"-11",type_name:"\u6211\u7684\u5929\u7FFC\u4E91\u76D8"}]}}async function nAr(t,e){let r=String(t.body.id||"-11");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"-11");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,list:i}=await Vit(t,r||"-11",n);return{page:n,pagecount:s>=C4?n+1:n,limit:C4,total:9999,list:i}}async function sAr(t,e){let r=String(t.body.id||"");if(r.startsWith("folder@@@")){let o=r.split("@@@"),c=o[1]||"\u76EE\u5F55",u=o[2]||"-11",l=[],d=1;for(;d<=Ggr;){let{rawCount:f,list:p}=await Vit(t,u,d);if(l.push(...p.filter(Xgr)),f<C4)break;d+=1}if(l.length>0){let f=await Git("tianyi","\u5929\u7FFC");return{list:[{vod_id:r,vod_name:c,vod_pic:Kit,vod_remarks:`${l.length}\u4E2A\u89C6\u9891`,vod_content:`\u76EE\u5F55: ${c}`,vod_play_from:f,vod_play_url:l.map(Zgr).filter(Boolean).join("#")}]}}return{list:[{vod_id:r,vod_name:c,vod_remarks:"\u76EE\u5F55",vod_content:"\u5F53\u524D\u76EE\u5F55\u6CA1\u6709\u53EF\u64AD\u653E\u89C6\u9891"}]}}let n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await Git("tianyi","\u5929\u7FFC");return{list:[{vod_id:r,vod_name:s,vod_remarks:"",vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function iAr(t,e){await rb(t);let r=Date.now(),n=String(t.body.id||""),s=n.split("*"),i=wae(n,8,6),a=wae(s[1],4,4);if(console.log("[mytianyi][play] request",{rawId:i,source:s[0]||"",fileId:a}),s[0]!=="own"||!s[1])return console.warn("[mytianyi][play] invalid params",{rawId:i,source:s[0]||"",hasFileId:!!s[1]}),{parse:0,url:"",msg:"\u5929\u7FFC\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let o=await tf.getOwnDownload(s[1]),c=String(o?.url||"").trim();return c?(console.log("[mytianyi][play] success",{fileId:a,hasCookie:!!o?.cookie,resCode:o?.data?.res_code,urlPreview:eAr(c),costMs:Date.now()-r}),{parse:0,url:["\u539F\u753B",c],header:{"User-Agent":Kgr}}):(console.warn("[mytianyi][play] empty download url",{fileId:a,hasCookie:!!o?.cookie,resCode:o?.data?.res_code,resMsg:o?.data?.res_message||"",costMs:Date.now()-r}),{parse:0,url:"",msg:"\u5929\u7FFC\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"})}catch(o){return console.error("[mytianyi][play] failed",{fileId:a,rawId:i,costMs:Date.now()-r,message:String(o?.message||o),stack:String(o?.stack||"").split(`
|
|
`).slice(0,2).join(" | ")}),{parse:0,url:"",msg:`\u5929\u7FFC\u63A5\u53E3\u5F02\u5E38: ${o?.message||o}`}}}async function aAr(t,e){return{page:1,pagecount:1,list:[]}}async function oAr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var zit={meta:{key:"mytianyi",name:"\u300C\u76D8\u300D\u5929\u7FFC",type:3},api:async t=>{t.post("/init",tAr),t.post("/home",rAr),t.post("/category",nAr),t.post("/detail",sAr),t.post("/play",iAr),t.post("/search",aAr),t.get("/test",oAr)}};var cAr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",uAr="https://img.icons8.com/color/48/video.png",lAr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"];async function dAr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function fAr(t){return encodeURIComponent(String(t||""))}function pAr(t){return Number(t?.isdir)===1||Number(t?.category)===6}function mAr(t){if(Number(t?.category)===1)return!0;let e=String(t?.server_filename||t?.path||"").toLowerCase();return lAr.some(r=>e.endsWith(r))}function Yit(t){return String(t?.server_filename||t?.path?.split("/").pop()||"\u672A\u77E5").trim()||"\u672A\u77E5"}function hAr(t,e){return`folder@@@${t}@@@${e}`}function gAr(t){let e=Yit(t),r=String(t?.fs_id||t?.fsid||""),n=String(t?.path||"");return`file@@@${e}@@@own*${r}*${fAr(n)}`}async function AAr(t,e="/",r=1){let{list:n,rawCount:s}=await z6e(t,e||"/",r);return{rawCount:s,list:n.reduce((i,a)=>{let o=pAr(a);if(!o&&!mAr(a))return i;let c=Yit(a);return i.push({vod_id:o?hAr(c,String(a?.path||"/")):gAr(a),vod_name:c,vod_pic:o?cAr:uAr,vod_remarks:o?"\u76EE\u5F55":Hi(Number(a?.size||0)),...o?{cate:{id:String(a?.path||"/"),name:c}}:{},ratio:1.33}),i},[])}}async function yAr(t,e){return await sb(t),{}}async function xAr(t,e){return{class:[{type_id:"/",type_name:"\u6211\u7684\u767E\u5EA6\u7F51\u76D8"}]}}async function bAr(t,e){let r=String(t.body.id||"/");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"/");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,list:i}=await AAr(t,r||"/",n);return{page:n,pagecount:s>=200?n+1:n,limit:200,total:9999,list:i}}async function EAr(t,e){let r=String(t.body.id||"");if(r.startsWith("folder@@@"))return{list:[{vod_id:r,vod_name:r.split("@@@")[1]||"\u76EE\u5F55",vod_remarks:"\u76EE\u5F55"}]};let n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await dAr("baidu","\u767E\u5EA6");return{list:[{vod_id:r,vod_name:s,vod_remarks:"",vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function _Ar(t,e){return await uB(t,e)}async function SAr(t,e){return{page:1,pagecount:1,list:[]}}async function vAr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Jit={meta:{key:"mybaidu",name:"\u300C\u76D8\u300D\u767E\u5EA6",type:3},api:async t=>{t.post("/init",yAr),t.post("/home",xAr),t.post("/category",bAr),t.post("/detail",EAr),t.post("/play",_Ar),t.post("/search",SAr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",lB),t.get("/test",vAr)}};var IAr="115Drive",Xit="https://img.icons8.com/fluency/96/folder-invoices--v1.png",CAr="https://img.icons8.com/color/48/video.png",TAr={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",Referer:"https://webapi.115.com/bridge_2.0.html?namespace=Core.DataAccess&api=UDataAPI&_t=v5","X-Requested-With":"XMLHttpRequest",Origin:"https://115.com"};async function wAr(t,e="0",r=1){let n=await O0(t);if(!n)return{list:[],count:0};let s=Number.parseInt(r,10)||1,i=115,a=(s-1)*i,o=`https://webapi.115.com/files?aid=1&cid=${encodeURIComponent(e)}&o=user_ptime&asc=0&offset=${a}&show_dir=1&limit=${i}&code=&scid=&snap=0&natsort=1&record_open_time=1&source=&format=json`;try{let u=(await he.get(o,{headers:{...TAr,Cookie:n}}))?.data;if(u?.state)return{list:Array.isArray(u.data)?u.data:[],count:Number.parseInt(u.count,10)||0}}catch(c){console.error("[my115] list error:",c.message)}return{list:[],count:0}}function RAr(t){return encodeURIComponent(String(t||""))}function NAr(t){try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}}function OAr(t,e,r){return`LOCAL###${t}###${RAr(e)}###${r}`}function Zit(t){let e=String(t||"");if(!e.startsWith("LOCAL###"))return{id:e,name:"115\u8D44\u6E90",value:e,kind:"file",isOwn:!1};let r=e.split("###");if(r.length>=4&&["dir","file"].includes(r[1]))return{id:e,kind:r[1],name:NAr(r[2])||"115\u8D44\u6E90",value:r.slice(3).join("###"),isOwn:!0};let[,n="115\u8D44\u6E90",s=""]=r;return{id:e,name:n,value:s,kind:/^\d+$/.test(s)?"dir":"file",isOwn:!0}}function PAr(t){let e=Number(t.fc)===0,r=String(t.n||t.name||"\u672A\u77E5").trim()||"\u672A\u77E5",n=String(e?t.cid||"":t.pc||t.pick_code||"");return{vod_id:OAr(e?"dir":"file",r,n),vod_name:r,vod_pic:e?Xit:CAr,vod_remarks:e?"\u76EE\u5F55":Hi(Number(t.s||t.size||0)),...e?{cate:{id:n,name:r}}:{},ratio:1.33}}async function kAr(t,e){return{}}async function DAr(t,e){return{class:[{type_id:"0",type_name:"\u6211\u7684115\u7F51\u76D8"}]}}async function BAr(t,e){let r=String(t.body.id||"0");r.startsWith("LOCAL###")&&(r=Zit(r).value||"0");let n=Number.parseInt(t.body.page,10)||1,{list:s,count:i}=await wAr(t.server,r,n);return{page:n,pagecount:Math.max(1,Math.ceil(i/115)),limit:115,total:i,list:s.map(PAr)}}async function LAr(t,e){return{list:(Array.isArray(t.body.id)?t.body.id:[t.body.id]).map(s=>{let i=Zit(s);return i.isOwn?i.kind==="dir"?{vod_id:i.id,vod_name:i.name||"\u76EE\u5F55",vod_pic:Xit,vod_remarks:"\u76EE\u5F55",vod_content:`\u76EE\u5F55: ${i.name||"115\u8D44\u6E90"}`}:{vod_id:i.id,vod_name:i.name,vod_content:`\u6587\u4EF6\u540D: ${i.name}`,vod_play_from:IAr,vod_play_url:`OWN$${i.value}`}:{vod_id:i.id,vod_name:"115\u8D44\u6E90"}})}}async function MAr(t,e){let r=String(t.body.id||"").trim(),n=r.startsWith("OWN$")?r.slice(4):r;return n?await oB(t.server,n):{parse:0,url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"}}async function WAr(t,e){return{page:1,pagecount:1,list:[]}}async function $Ar(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var eat={meta:{key:"my115",name:"\u300C\u76D8\u300D115",type:3},api:async t=>{t.post("/init",kAr),t.post("/home",DAr),t.post("/category",BAr),t.post("/detail",LAr),t.post("/play",MAr),t.post("/search",WAr),t.get("/test",$Ar)}};var FAr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",UAr="https://img.icons8.com/color/48/video.png",qAr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"];async function jAr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function HAr(t){try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}}function QAr(t){return t?.data??t??{}}function GAr(t){let e=QAr(t);return[e.InfoList,e.infoList,e.list,t?.InfoList,t?.infoList,t?.list].find(n=>Array.isArray(n))||[]}function Nae(t){return String(t?.FileName||t?.file_name||t?.name||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Rae(t){return String(t?.FileId||t?.fileId||t?.file_id||"")}function tat(t){return Number(t?.Size||t?.size||0)}function KAr(t){return String(t?.S3KeyFlag||t?.s3KeyFlag||"")}function VAr(t){return String(t?.Etag||t?.etag||"")}function zAr(t){return Number(t?.Category)===0||Number(t?.Type)===1||t?.type==="folder"}function YAr(t){let e=Nae(t).toLowerCase();return Number(t?.Category)===2||qAr.some(r=>e.endsWith(r))}function JAr(t,e){return`folder@@@${t}@@@${e}`}function XAr(t){let e=Nae(t),r=["own",Rae(t),KAr(t),String(tat(t)),VAr(t),encodeURIComponent(e)];return`file@@@${e}@@@${r.join("*")}`}async function ZAr(t,e="0"){await nb(t);let r=await N0.getrootmyfile(e||"0"),n=GAr(r),s=[];return n.forEach(i=>{let a=zAr(i);if(!a&&!YAr(i))return;let o=Nae(i);s.push({vod_id:a?JAr(o,Rae(i)):XAr(i),vod_name:o,vod_pic:a?FAr:UAr,vod_remarks:a?"\u76EE\u5F55":Hi(tat(i)),...a?{cate:{id:Rae(i),name:o}}:{},ratio:1.33})}),s}async function eyr(t,e){return await nb(t),{}}async function tyr(t,e){return{class:[{type_id:"0",type_name:"\u6211\u7684123\u7F51\u76D8"}]}}async function ryr(t,e){let r=String(t.body.id||"0");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"0");let n=Number.parseInt(t.body.page,10)||1,s=await ZAr(t,r||"0");return{page:n,pagecount:1,limit:s.length,total:s.length,list:s}}async function nyr(t,e){let r=String(t.body.id||""),n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await jAr("123","123");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function syr(t,e){let r=String(t.body.id||"").split("*");if(r[0]!=="own"||r.length<5)return{parse:0,url:"",msg:"123 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};await nb(t);try{let n=await N0.getmyDownload(r[1],r[2],r[3],r[4],HAr(r[5]||""));return n?{parse:0,url:["\u539F\u753B",n]}:{parse:0,url:"",msg:"123 \u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}catch(n){return{parse:0,url:"",msg:`123 \u63A5\u53E3\u5F02\u5E38: ${n?.message||n}`}}}async function iyr(t,e){return{page:1,pagecount:1,list:[]}}async function ayr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var rat={meta:{key:"my123",name:"\u300C\u76D8\u300D123",type:3},api:async t=>{t.post("/init",eyr),t.post("/home",tyr),t.post("/category",ryr),t.post("/detail",nyr),t.post("/play",syr),t.post("/search",iyr),t.get("/test",ayr)}};var iat="https://pan1.me";function nat(t,e){return Object.prototype.hasOwnProperty.call(t||{},e)}function aat(t){return String(t||"").trim().replace(/\/+$/,"")||iat}var oat=async(t,e,r)=>{let n=await t.db.getObjectDefault("/123ypzysq",{});if(nat(n,e))return n[e];let s=t.config?.["123ypzysq"]||{};return nat(s,e)?s[e]:r},oyr=async t=>aat(await oat(t,"url",iat)),cyr=async t=>String(await oat(t,"cookie","")||"").trim(),Oae=async t=>({url:await oyr(t),cookie:await cyr(t)}),sat=async(t,e,r)=>{await t.db.push(`/123ypzysq/${e}`,r)},uyr=async t=>{await t.db.delete("/123ypzysq")};async function Pae(t){t.get("/config",async(e,r)=>{r.send({code:0,data:await Oae(e.server)})}),t.put("/config",async(e,r)=>{let n=e.body||{};await sat(e.server,"url",aat(n.url)),await sat(e.server,"cookie",String(n.cookie||"").trim()),r.send({code:0})}),t.delete("/config",async(e,r)=>{await uyr(e.server),r.send({code:0})})}var T4="https://pan1.me",lyr=["CATPAW_123YPZYSQ_COOKIE","PAN1_ME_COOKIE","YPZYSQ_COOKIE"],dyr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",fyr=/https?:\/\/[A-Za-z0-9._~:/?#[\]@!$&'()*+,;=%-]+/g,pyr=/(?:www\.)?(?:123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)/i,dat=[{type_id:"2",type_name:"\u7535\u5F71"},{type_id:"48",type_name:"\u7535\u89C6\u5267"},{type_id:"37",type_name:"\u52A8\u6F2B"},{type_id:"52",type_name:"\u7EFC\u827A"},{type_id:"56",type_name:"4K\u539F\u76D8"}],cat=["\u54C8\u54C8\uFF0C\u4E0D\u9519\u54E6\uFF01","\u4E0D\u9519\u7684\u5E16\u5B50\uFF01","\u975E\u5E38\u68D2\uFF01\uFF01\uFF01","\u611F\u8C22\u5206\u4EAB,\u592A\u68D2\u4E86\uFF01","\u8FD9\u4E0D\u6B63\u662F\u6211\u82E6\u82E6\u5BFB\u627E\u7684\u8D44\u6E90\u5417\uFF01","\u597D\u4EBA\u4E00\u80CE\u751F\u5341\u4E2A\uFF01","\u770B\u5B8C\u697C\u4E3B\u7684\u8FD9\u4E2A\u5E16\u5B50\u4EE5\u540E\uFF0C\u6211\u7684\u5FC3\u4E45\u4E45\u4E0D\u80FD\u5E73\u9759\uFF0C\u9707\u64BC\u554A\uFF01","\u4E3A\u4EC0\u4E48\u4F1A\u6709\u5982\u6B64\u597D\u7684\u5E16\u5B50\uFF01","\u864E\u8EAF\u4E00\u9707\uFF0C\u4E09\u5206\u8D70\u4EBA\u3002","\u6E2F\uFF0C\u662F\u4E00\u79CD\u7F8E\u5FB7\u3002","\u6D41\u6C13\u5E76\u4E0D\u53EF\u6015\uFF0C\u53EF\u6015\u7684\u662F\u6D41\u6C13\u6709\u6587\u5316\u3002","\u597D\u4EBA\u4E00\u80CE\u751F10086\u4E2A"];function Hf(t){return String(t||"").replace(/\s+/g," ").trim()}async function kae(t){let e=await Oae(t.server).catch(()=>({url:T4,cookie:""})),r=String(e.url||T4).trim().replace(/\/+$/,""),n=lyr.map(s=>process.env[s]).find(Boolean);return{baseUrl:r||T4,cookie:String(e.cookie||n||"").trim()}}function myr(t,e=!1){let r={"User-Agent":dyr,Referer:t.baseUrl,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"};return e&&(r.Origin=t.baseUrl,r["X-Requested-With"]="XMLHttpRequest",r["Content-Type"]="application/x-www-form-urlencoded"),t.cookie&&(r.Cookie=t.cookie),r}function fat(t,e=T4){let r=String(t||"").trim();return r?new URL(r,e).toString():""}async function xw(t,e,r,n={}){let s=await he.request({url:fat(t,r.baseUrl),method:n.method||"GET",headers:myr(r,n.ajax),data:n.data||void 0});return String(s?.data||"")}function pat(t){let e=String(t||"");return e.match(/thread-(\d+)/)?.[1]||e.match(/^\d+$/)?.[0]||""}function mat(t){let e=Me(t),r=[];return e("li.media.thread.tap").each((n,s)=>{let i=e(s),a=i.find('a[href*="thread-"]').first(),o=Hf(a.text()),c=i.attr("data-tid")||pat(a.attr("href"));if(!o||!c)return;let u=Hf(i.find(".date.text-grey").text()),l=i.find("a.badge.badge-pill.badge-dark").map((d,f)=>Hf(e(f).text())).get().filter(Boolean).join(" / ");r.push({vod_id:c,vod_name:o,vod_remarks:[l,u].filter(Boolean).join(" \xB7 "),topRightRemarks:l})}),{$:e,list:r}}function hat(t,e,r,n){let s=String(n||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=r==="search"?new RegExp(`search-${s}-(\\d+)\\.htm`):new RegExp(`forum-${s}-(\\d+)\\.htm`),a=Number.parseInt(e,10)||1;return t("a[href]").each((o,c)=>{let u=String(t(c).attr("href")||""),l=Number.parseInt(u.match(i)?.[1]||"",10);Number.isFinite(l)&&(a=Math.max(a,l))}),a}function hyr(){return cat[Math.floor(Math.random()*cat.length)]}async function gyr(t,e,r){if(r.cookie)try{let n=new URLSearchParams({doctype:"1",return_html:"1",quotepid:"0",message:hyr()}).toString();await xw(`/?post-create-${t}-1.htm`,e,r,{method:"POST",ajax:!0,data:n}),await new Promise(s=>setTimeout(s,500))}catch(n){console.warn("[123ypzysq] \u81EA\u52A8\u56DE\u590D\u5931\u8D25:",n?.message||n)}}function uat(t){return Hf(t).match(/(?:æå–ç |访问ç |密ç |code)[::\s]*([A-Za-z0-9]{4})/i)?.[1]||""}function Ayr(t){return String(t||"").replace(/&/g,"&").replace(/[)\])】,,。;;\s]+$/g,"").trim()}function yyr(t,e){try{let r=new URL(t);return r.searchParams.has("pwd")||r.searchParams.set("pwd",e),r.toString()}catch{let n=t.includes("?")?"&":"?";return`${t}${n}pwd=${encodeURIComponent(e)}`}}function lat(t,e){let r=Ayr(t);return pyr.test(r)?e?yyr(r,e):r:""}function xyr(t){let e=t(".alert.alert-success").length?t(".alert.alert-success"):t(".post, .message, body"),r=new Set;return e.each((n,s)=>{let i=t(s),a=i.text(),o=uat(a);i.find("a[href]").each((c,u)=>{let l=t(u).attr("href"),d=uat(t(u).parent().text())||o,f=lat(l,d);f&&r.add(f)});for(let c of i.html()?.match(fyr)||[]){let u=lat(c,o);u&&r.add(u)}}),[...r]}function byr(t,e,r){let n={vod_id:e,vod_name:Hf(t(".movie-title").first().text())||Hf(t("h1, h2, .title").first().text())||"123\u4E91\u76D8\u8D44\u6E90",vod_pic:fat(t(".movie-poster img").first().attr("src")||"",r),vod_content:Hf(t(".plot-content").first().text())};return t(".detail-label").each((s,i)=>{let a=Hf(t(i).text()),o=Hf(t(i).next().text());o&&(a.includes("\u5E74\u4EFD")&&(n.vod_year=o),a.includes("\u7C7B\u578B")&&(n.vod_type=o),a.includes("\u5BFC\u6F14")&&(n.vod_director=o),a.includes("\u4E3B\u6F14")&&(n.vod_actor=o))}),n}async function Eyr(t,e){return await qr(t,e),{}}async function _yr(t,e){return{class:dat}}async function Syr(t,e){let r=String(t.body.id||dat[0].type_id),n=Number.parseInt(t.body.page,10)||1,s=await kae(t),i=await xw(`/?forum-${r}-${n}.htm`,t,s),{$:a,list:o}=mat(i);return{page:n,pagecount:hat(a,n,"forum",r),limit:o.length,total:o.length,list:o}}async function vyr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[],s=await kae(t);for(let i of r){let a=pat(i);if(!a)continue;let o=await xw(`/?thread-${a}.htm`,t,s),c=Me(o);c(".alert.alert-warning").text().includes("\u8BF7\u56DE\u590D\u540E\u518D\u67E5\u770B")&&(await gyr(a,t,s),o=await xw(`/?thread-${a}.htm`,t,s),c=Me(o));let u=byr(c,a,s.baseUrl),l=xyr(c),d=l.length>0?await wr(l,t):null;d?.froms&&d?.urls&&(u.vod_play_from=d.froms,u.vod_play_url=d.urls),!u.vod_content&&l.length>0&&(u.vod_content=`\u5171\u53D1\u73B0${l.length}\u4E2A123\u7F51\u76D8\u94FE\u63A5`),n.push(u)}return{list:n}}async function Iyr(t,e){let r=String(t.body.wd||"").trim(),n=Number.parseInt(t.body.page,10)||1;if(!r)return{page:n,pagecount:1,list:[]};let s=encodeURIComponent(r),i=await kae(t),a=await xw(`/?search-${s}-${n}.htm`,t,i),{$:o,list:c}=mat(a);return{page:n,pagecount:hat(o,n,"search",s),limit:c.length,total:c.length,list:c}}async function Cyr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/home`);if(n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return s=await t.server.inject().post(`${r}/search`).payload({wd:"\u4ED9\u9006",page:1}),n.search=s.json(),n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var gat={meta:{key:"123ypzysq",name:"\u300C\u76D8\u300D123\u793E\u533A",type:3},api:async t=>{t.post("/init",Eyr),t.post("/home",_yr),t.post("/category",Syr),t.post("/detail",vyr),t.post("/play",Nr),t.post("/search",Iyr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr),t.get("/test",Cyr)}};var Tyr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",wyr="https://img.icons8.com/color/48/video.png",Aat=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"];async function Ryr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Nyr(t){return Number(t?.resType||0)===2}function Oyr(t){if(Number(t?.resType||0)!==1)return!1;let e=String(t?.ext||"").toLowerCase(),r=String(t?.mineType||"").toLowerCase(),n=String(t?.fileName||"").toLowerCase();return Number(t?.fileType||0)===2||r.startsWith("video/")||Aat.includes(e)||Aat.some(s=>n.endsWith(s))}function yat(t){return String(t?.fileName||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Dae(t){return String(t?.fileId||"")}function Pyr(t){return Number(t?.fileSize||t?.size||0)}function kyr(t,e){return`folder@@@${t}@@@${e}`}function Dyr(t){return`file@@@${yat(t)}@@@own*${Dae(t)}`}async function Byr(t,e=""){let r=await f5e(t,e||""),n=Array.isArray(r?.list)?r.list:[],s=[];return n.forEach(i=>{let a=Nyr(i);if(!a&&!Oyr(i))return;let o=yat(i);s.push({vod_id:a?kyr(o,Dae(i)):Dyr(i),vod_name:o,vod_pic:a?Tyr:String(i?.thumbnail||"").trim()||wyr,vod_remarks:a?"\u76EE\u5F55":Hi(Pyr(i)),...a?{cate:{id:Dae(i),name:o}}:{},ratio:1.33})}),{rawCount:n.length,total:Number(r?.total||n.length),list:s}}async function Lyr(t,e){return await cI(t),{}}async function Myr(t,e){return{class:[{type_id:"root",type_name:"\u6211\u7684\u5149\u9E2D"}]}}async function Wyr(t,e){let r=String(t.body.id||"root");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||""),r==="root"&&(r="");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,total:i,list:a}=await Byr(t,r||"");return{page:n,pagecount:1,limit:s,total:Math.max(i,s),list:a}}async function $yr(t,e){let r=String(t.body.id||"");if(r.startsWith("folder@@@"))return{list:[{vod_id:r,vod_name:r.split("@@@")[1]||"\u76EE\u5F55"}]};let n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await Ryr("guangyapan","\u5149\u9E2D");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function Fyr(t,e){let r=String(t.body.id||"").split("*");if(r[0]!=="own"||!r[1])return{parse:0,url:"",msg:"\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let n=await p5e(t,r[1]);return n?.url?{parse:0,url:["\u539F\u753B",n.url]}:{parse:0,url:"",msg:n?.msg||"\u5149\u9E2D\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}catch(n){return{parse:0,url:"",msg:`\u5149\u9E2D\u63A5\u53E3\u5F02\u5E38: ${n?.message||n}`}}}async function Uyr(t,e){return{page:1,pagecount:1,list:[]}}async function qyr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var xat={meta:{key:"myguangyapan",name:"\u300C\u76D8\u300D\u5149\u9E2D",type:3},api:async t=>{t.post("/init",Lyr),t.post("/home",Myr),t.post("/category",Wyr),t.post("/detail",$yr),t.post("/play",Fyr),t.post("/search",Uyr),t.get("/test",qyr)}};var jyr=["http://103.217.192.130:16969"],Bae=async t=>(await t.db.getObjectDefault("/huban",{}))?.urls||t.config.huban?.urls||jyr,Hyr=async(t,e)=>{await t.db.push("/huban/urls",e)},Qyr=async t=>{await t.db.delete("/huban/urls")};async function Lae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await Bae(e.server)})}),t.put("/urls",async(e,r)=>{await Hyr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Qyr(e.server),r.send({code:0})})}var Mae,w4=t=>{if(!Mae){let e=Date.now();Mae=new Promise(async r=>{let n=await Bae(t),s=await Xn(n);console.log("\u864E\u6591\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Mae};async function Wae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Gyr(t,e){return{class:[{type_id:"1",type_name:"\u98CE"},{type_id:"2",type_name:"\u82B1"},{type_id:"3",type_name:"\u96EA"},{type_id:"4",type_name:"\u6708"},{type_id:"5",type_name:"\u7CBE"},{type_id:"6",type_name:"\u77ED"},{type_id:"30",type_name:"115"}],filters:{}}}async function Kyr(t,e){let r=await w4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await Wae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Vyr(t,e){let r=await w4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await Wae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await wr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls),s.push(c)}return{list:s}}async function zyr(t,e){let r=await w4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await Wae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var bat={meta:{key:"huban",name:"\u300C\u76D8\u300D\u864E\u6591",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Gyr),t.post("/category",Kyr),t.post("/detail",Vyr),t.post("/play",Nr),t.post("/search",zyr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)},check:w4};var Yyr=["http://103.217.192.184:12512"],$ae=async t=>(await t.db.getObjectDefault("/xiaoban",{}))?.urls||t.config.xiaoban?.urls||Yyr,Jyr=async(t,e)=>{await t.db.push("/xiaoban/urls",e)},Xyr=async t=>{await t.db.delete("/xiaoban/urls")};async function Fae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await $ae(e.server)})}),t.put("/urls",async(e,r)=>{await Jyr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Xyr(e.server),r.send({code:0})})}var Uae,R4=t=>{if(!Uae){let e=Date.now();Uae=new Promise(async r=>{let n=await $ae(t),s=await Xn(n);console.log("\u5C0F\u6591\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Uae};async function qae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Zyr(t,e){return{class:[{type_id:"1",type_name:"\u6885"},{type_id:"2",type_name:"\u5170"},{type_id:"3",type_name:"\u7AF9"},{type_id:"4",type_name:"\u83CA"},{type_id:"6",type_name:"\u77ED"},{type_id:"5",type_name:"\u7CBE"}],filters:{}}}async function exr(t,e){let r=await R4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await qae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function txr(t,e){let r=await R4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await qae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await wr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls),s.push(c)}return{list:s}}async function rxr(t,e){let r=await R4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await qae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Eat={meta:{key:"xiaoban",name:"\u300C\u76D8\u300D\u5C0F\u6591",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Zyr),t.post("/category",exr),t.post("/detail",txr),t.post("/play",Nr),t.post("/search",rxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)},check:R4};var Sat=Re(require("vm"),1),Hae=class{add(e,r,n){if(typeof arguments[0]!="string")for(let s in arguments[0])this.add(s,arguments[0][s],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(s){this[s]=this[s]||[],r&&this[s][n?"unshift":"push"](r)},this)}run(e,r){this[e]=this[e]||[],this[e].forEach(function(n){n.call(r&&r.context?r.context:r,r)})}},Qae=class{constructor(e){this.jsep=e,this.registered={}}register(...e){e.forEach(r=>{if(typeof r!="object"||!r.name||!r.init)throw new Error("Invalid JSEP plugin format");this.registered[r.name]||(r.init(this.jsep),this.registered[r.name]=r)})}},lo=class t{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+t.version}static addUnaryOp(e){return t.max_unop_len=Math.max(e.length,t.max_unop_len),t.unary_ops[e]=1,t}static addBinaryOp(e,r,n){return t.max_binop_len=Math.max(e.length,t.max_binop_len),t.binary_ops[e]=r,n?t.right_associative.add(e):t.right_associative.delete(e),t}static addIdentifierChar(e){return t.additional_identifier_chars.add(e),t}static addLiteral(e,r){return t.literals[e]=r,t}static removeUnaryOp(e){return delete t.unary_ops[e],e.length===t.max_unop_len&&(t.max_unop_len=t.getMaxKeyLen(t.unary_ops)),t}static removeAllUnaryOps(){return t.unary_ops={},t.max_unop_len=0,t}static removeIdentifierChar(e){return t.additional_identifier_chars.delete(e),t}static removeBinaryOp(e){return delete t.binary_ops[e],e.length===t.max_binop_len&&(t.max_binop_len=t.getMaxKeyLen(t.binary_ops)),t.right_associative.delete(e),t}static removeAllBinaryOps(){return t.binary_ops={},t.max_binop_len=0,t}static removeLiteral(e){return delete t.literals[e],t}static removeAllLiterals(){return t.literals={},t}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new t(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(r=>r.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return t.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!t.binary_ops[String.fromCharCode(e)]||t.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return t.isIdentifierStart(e)||t.isDecimalDigit(e)}throwError(e){let r=new Error(e+" at character "+this.index);throw r.index=this.index,r.description=e,r}runHook(e,r){if(t.hooks[e]){let n={context:this,node:r};return t.hooks.run(e,n),n.node}return r}searchHook(e){if(t.hooks[e]){let r={context:this};return t.hooks[e].find(function(n){return n.call(r.context,r),r.node}),r.node}}gobbleSpaces(){let e=this.code;for(;e===t.SPACE_CODE||e===t.TAB_CODE||e===t.LF_CODE||e===t.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),r=e.length===1?e[0]:{type:t.COMPOUND,body:e};return this.runHook("after-all",r)}gobbleExpressions(e){let r=[],n,s;for(;this.index<this.expr.length;)if(n=this.code,n===t.SEMCOL_CODE||n===t.COMMA_CODE)this.index++;else if(s=this.gobbleExpression())r.push(s);else if(this.index<this.expr.length){if(n===e)break;this.throwError('Unexpected "'+this.char+'"')}return r}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,t.max_binop_len),r=e.length;for(;r>0;){if(t.binary_ops.hasOwnProperty(e)&&(!t.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!t.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=r,e;e=e.substr(0,--r)}return!1}gobbleBinaryExpression(){let e,r,n,s,i,a,o,c,u;if(a=this.gobbleToken(),!a||(r=this.gobbleBinaryOp(),!r))return a;for(i={value:r,prec:t.binaryPrecedence(r),right_a:t.right_associative.has(r)},o=this.gobbleToken(),o||this.throwError("Expected expression after "+r),s=[a,i,o];r=this.gobbleBinaryOp();){if(n=t.binaryPrecedence(r),n===0){this.index-=r.length;break}i={value:r,prec:n,right_a:t.right_associative.has(r)},u=r;let l=d=>i.right_a&&d.right_a?n>d.prec:n<=d.prec;for(;s.length>2&&l(s[s.length-2]);)o=s.pop(),r=s.pop().value,a=s.pop(),e={type:t.BINARY_EXP,operator:r,left:a,right:o},s.push(e);e=this.gobbleToken(),e||this.throwError("Expected expression after "+u),s.push(i,e)}for(c=s.length-1,e=s[c];c>1;)e={type:t.BINARY_EXP,operator:s[c-1].value,left:s[c-2],right:e},c-=2;return e}gobbleToken(){let e,r,n,s;if(this.gobbleSpaces(),s=this.searchHook("gobble-token"),s)return this.runHook("after-token",s);if(e=this.code,t.isDecimalDigit(e)||e===t.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===t.SQUOTE_CODE||e===t.DQUOTE_CODE)s=this.gobbleStringLiteral();else if(e===t.OBRACK_CODE)s=this.gobbleArray();else{for(r=this.expr.substr(this.index,t.max_unop_len),n=r.length;n>0;){if(t.unary_ops.hasOwnProperty(r)&&(!t.isIdentifierStart(this.code)||this.index+r.length<this.expr.length&&!t.isIdentifierPart(this.expr.charCodeAt(this.index+r.length)))){this.index+=n;let i=this.gobbleToken();return i||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:t.UNARY_EXP,operator:r,argument:i,prefix:!0})}r=r.substr(0,--n)}t.isIdentifierStart(e)?(s=this.gobbleIdentifier(),t.literals.hasOwnProperty(s.name)?s={type:t.LITERAL,value:t.literals[s.name],raw:s.name}:s.name===t.this_str&&(s={type:t.THIS_EXP})):e===t.OPAREN_CODE&&(s=this.gobbleGroup())}return s?(s=this.gobbleTokenProperty(s),this.runHook("after-token",s)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let r=this.code;for(;r===t.PERIOD_CODE||r===t.OBRACK_CODE||r===t.OPAREN_CODE||r===t.QUMARK_CODE;){let n;if(r===t.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==t.PERIOD_CODE)break;n=!0,this.index+=2,this.gobbleSpaces(),r=this.code}this.index++,r===t.OBRACK_CODE?(e={type:t.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()},e.property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),r=this.code,r!==t.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):r===t.OPAREN_CODE?e={type:t.CALL_EXP,arguments:this.gobbleArguments(t.CPAREN_CODE),callee:e}:(r===t.PERIOD_CODE||n)&&(n&&this.index--,this.gobbleSpaces(),e={type:t.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),n&&(e.optional=!0),this.gobbleSpaces(),r=this.code}return e}gobbleNumericLiteral(){let e="",r,n;for(;t.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===t.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);t.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(r=this.char,r==="e"||r==="E"){for(e+=this.expr.charAt(this.index++),r=this.char,(r==="+"||r==="-")&&(e+=this.expr.charAt(this.index++));t.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);t.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return n=this.code,t.isIdentifierStart(n)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(n===t.PERIOD_CODE||e.length===1&&e.charCodeAt(0)===t.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:t.LITERAL,value:parseFloat(e),raw:e}}gobbleStringLiteral(){let e="",r=this.index,n=this.expr.charAt(this.index++),s=!1;for(;this.index<this.expr.length;){let i=this.expr.charAt(this.index++);if(i===n){s=!0;break}else if(i==="\\")switch(i=this.expr.charAt(this.index++),i){case"n":e+=`
|
|
`;break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=i}else e+=i}return s||this.throwError('Unclosed quote after "'+e+'"'),{type:t.LITERAL,value:e,raw:this.expr.substring(r,this.index)}}gobbleIdentifier(){let e=this.code,r=this.index;for(t.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(e=this.code,t.isIdentifierPart(e));)this.index++;return{type:t.IDENTIFIER,name:this.expr.slice(r,this.index)}}gobbleArguments(e){let r=[],n=!1,s=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let i=this.code;if(i===e){n=!0,this.index++,e===t.CPAREN_CODE&&s&&s>=r.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}else if(i===t.COMMA_CODE){if(this.index++,s++,s!==r.length){if(e===t.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===t.CBRACK_CODE)for(let a=r.length;a<s;a++)r.push(null)}}else if(r.length!==s&&s!==0)this.throwError("Expected comma");else{let a=this.gobbleExpression();(!a||a.type===t.COMPOUND)&&this.throwError("Expected comma"),r.push(a)}}return n||this.throwError("Expected "+String.fromCharCode(e)),r}gobbleGroup(){this.index++;let e=this.gobbleExpressions(t.CPAREN_CODE);if(this.code===t.CPAREN_CODE)return this.index++,e.length===1?e[0]:e.length?{type:t.SEQUENCE_EXP,expressions:e}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:t.ARRAY_EXP,elements:this.gobbleArguments(t.CBRACK_CODE)}}},nxr=new Hae;Object.assign(lo,{hooks:nxr,plugins:new Qae(lo),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});lo.max_unop_len=lo.getMaxKeyLen(lo.unary_ops);lo.max_binop_len=lo.getMaxKeyLen(lo.binary_ops);var Qf=t=>new lo(t).parse(),sxr=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(lo).filter(t=>!sxr.includes(t)&&Qf[t]===void 0).forEach(t=>{Qf[t]=lo[t]});Qf.Jsep=lo;var ixr="ConditionalExpression",axr={name:"ternary",init(t){t.hooks.add("after-expression",function(r){if(r.node&&this.code===t.QUMARK_CODE){this.index++;let n=r.node,s=this.gobbleExpression();if(s||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===t.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),r.node={type:ixr,test:n,consequent:s,alternate:i},n.operator&&t.binary_ops[n.operator]<=.9){let a=n;for(;a.right.operator&&t.binary_ops[a.right.operator]<=.9;)a=a.right;r.node.test=a.right,a.right=r.node,r.node=n}}else this.throwError("Expected :")}})}};Qf.plugins.register(axr);var _at=47,oxr=92,cxr={name:"regex",init(t){t.hooks.add("gobble-token",function(r){if(this.code===_at){let n=++this.index,s=!1;for(;this.index<this.expr.length;){if(this.code===_at&&!s){let i=this.expr.slice(n,this.index),a="";for(;++this.index<this.expr.length;){let c=this.code;if(c>=97&&c<=122||c>=65&&c<=90||c>=48&&c<=57)a+=this.char;else break}let o;try{o=new RegExp(i,a)}catch(c){this.throwError(c.message)}return r.node={type:t.LITERAL,value:o,raw:this.expr.slice(n-1,this.index)},r.node=this.gobbleTokenProperty(r.node),r.node}this.code===t.OBRACK_CODE?s=!0:s&&this.code===t.CBRACK_CODE&&(s=!1),this.index+=this.code===oxr?2:1}this.throwError("Unclosed Regex")}})}},jae=43,uxr=45,oE={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[jae,uxr],assignmentPrecedence:.9,init(t){let e=[t.IDENTIFIER,t.MEMBER_EXP];oE.assignmentOperators.forEach(n=>t.addBinaryOp(n,oE.assignmentPrecedence,!0)),t.hooks.add("gobble-token",function(s){let i=this.code;oE.updateOperators.some(a=>a===i&&a===this.expr.charCodeAt(this.index+1))&&(this.index+=2,s.node={type:"UpdateExpression",operator:i===jae?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!s.node.argument||!e.includes(s.node.argument.type))&&this.throwError(`Unexpected ${s.node.operator}`))}),t.hooks.add("after-token",function(s){if(s.node){let i=this.code;oE.updateOperators.some(a=>a===i&&a===this.expr.charCodeAt(this.index+1))&&(e.includes(s.node.type)||this.throwError(`Unexpected ${s.node.operator}`),this.index+=2,s.node={type:"UpdateExpression",operator:i===jae?"++":"--",argument:s.node,prefix:!1})}}),t.hooks.add("after-expression",function(s){s.node&&r(s.node)});function r(n){oE.assignmentOperators.has(n.operator)?(n.type="AssignmentExpression",r(n.left),r(n.right)):n.operator||Object.values(n).forEach(s=>{s&&typeof s=="object"&&r(s)})}}};Qf.plugins.register(cxr,oE);Qf.addUnaryOp("typeof");Qf.addLiteral("null",null);Qf.addLiteral("undefined",void 0);var lxr=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),cn={evalAst(t,e){switch(t.type){case"BinaryExpression":case"LogicalExpression":return cn.evalBinaryExpression(t,e);case"Compound":return cn.evalCompound(t,e);case"ConditionalExpression":return cn.evalConditionalExpression(t,e);case"Identifier":return cn.evalIdentifier(t,e);case"Literal":return cn.evalLiteral(t,e);case"MemberExpression":return cn.evalMemberExpression(t,e);case"UnaryExpression":return cn.evalUnaryExpression(t,e);case"ArrayExpression":return cn.evalArrayExpression(t,e);case"CallExpression":return cn.evalCallExpression(t,e);case"AssignmentExpression":return cn.evalAssignmentExpression(t,e);default:throw SyntaxError("Unexpected expression",t)}},evalBinaryExpression(t,e){return{"||":(n,s)=>n||s(),"&&":(n,s)=>n&&s(),"|":(n,s)=>n|s(),"^":(n,s)=>n^s(),"&":(n,s)=>n&s(),"==":(n,s)=>n==s(),"!=":(n,s)=>n!=s(),"===":(n,s)=>n===s(),"!==":(n,s)=>n!==s(),"<":(n,s)=>n<s(),">":(n,s)=>n>s(),"<=":(n,s)=>n<=s(),">=":(n,s)=>n>=s(),"<<":(n,s)=>n<<s(),">>":(n,s)=>n>>s(),">>>":(n,s)=>n>>>s(),"+":(n,s)=>n+s(),"-":(n,s)=>n-s(),"*":(n,s)=>n*s(),"/":(n,s)=>n/s(),"%":(n,s)=>n%s()}[t.operator](cn.evalAst(t.left,e),()=>cn.evalAst(t.right,e))},evalCompound(t,e){let r;for(let n=0;n<t.body.length;n++){t.body[n].type==="Identifier"&&["var","let","const"].includes(t.body[n].name)&&t.body[n+1]&&t.body[n+1].type==="AssignmentExpression"&&(n+=1);let s=t.body[n];r=cn.evalAst(s,e)}return r},evalConditionalExpression(t,e){return cn.evalAst(t.test,e)?cn.evalAst(t.consequent,e):cn.evalAst(t.alternate,e)},evalIdentifier(t,e){if(Object.hasOwn(e,t.name))return e[t.name];throw ReferenceError(`${t.name} is not defined`)},evalLiteral(t){return t.value},evalMemberExpression(t,e){let r=String(t.computed?cn.evalAst(t.property):t.property.name),n=cn.evalAst(t.object,e);if(n==null)throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);if(!Object.hasOwn(n,r)&&lxr.has(r))throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);let s=n[r];return typeof s=="function"?s.bind(n):s},evalUnaryExpression(t,e){return{"-":n=>-cn.evalAst(n,e),"!":n=>!cn.evalAst(n,e),"~":n=>~cn.evalAst(n,e),"+":n=>+cn.evalAst(n,e),typeof:n=>typeof cn.evalAst(n,e)}[t.operator](t.argument)},evalArrayExpression(t,e){return t.elements.map(r=>cn.evalAst(r,e))},evalCallExpression(t,e){let r=t.arguments.map(s=>cn.evalAst(s,e));return cn.evalAst(t.callee,e)(...r)},evalAssignmentExpression(t,e){if(t.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");let r=t.left.name,n=cn.evalAst(t.right,e);return e[r]=n,e[r]}},Gae=class{constructor(e){this.code=e,this.ast=Qf(this.code)}runInNewContext(e){let r=Object.assign(Object.create(null),e);return cn.evalAst(this.ast,r)}};function X0(t,e){return t=t.slice(),t.push(e),t}function Kae(t,e){return e=e.slice(),e.unshift(t),e}var Vae=class extends Error{constructor(e){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=e,this.name="NewError"}};function Ur(t,e,r,n,s){if(!(this instanceof Ur))try{return new Ur(t,e,r,n,s)}catch(a){if(!a.avoidNew)throw a;return a.value}typeof t=="string"&&(s=n,n=r,r=e,e=t,t=null);let i=t&&typeof t=="object";if(t=t||{},this.json=t.json||r,this.path=t.path||e,this.resultType=t.resultType||"value",this.flatten=t.flatten||!1,this.wrap=Object.hasOwn(t,"wrap")?t.wrap:!0,this.sandbox=t.sandbox||{},this.eval=t.eval===void 0?"safe":t.eval,this.ignoreEvalErrors=typeof t.ignoreEvalErrors>"u"?!1:t.ignoreEvalErrors,this.parent=t.parent||null,this.parentProperty=t.parentProperty||null,this.callback=t.callback||n||null,this.otherTypeCallback=t.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},t.autostart!==!1){let a={path:i?t.path:e};i?"json"in t&&(a.json=t.json):a.json=r;let o=this.evaluate(a);if(!o||typeof o!="object")throw new Vae(o);return o}}Ur.prototype.evaluate=function(t,e,r,n){let s=this.parent,i=this.parentProperty,{flatten:a,wrap:o}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,r=r||this.callback,this.currOtherTypeCallback=n||this.otherTypeCallback,e=e||this.json,t=t||this.path,t&&typeof t=="object"&&!Array.isArray(t)){if(!t.path&&t.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(t,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:e}=t),a=Object.hasOwn(t,"flatten")?t.flatten:a,this.currResultType=Object.hasOwn(t,"resultType")?t.resultType:this.currResultType,this.currSandbox=Object.hasOwn(t,"sandbox")?t.sandbox:this.currSandbox,o=Object.hasOwn(t,"wrap")?t.wrap:o,this.currEval=Object.hasOwn(t,"eval")?t.eval:this.currEval,r=Object.hasOwn(t,"callback")?t.callback:r,this.currOtherTypeCallback=Object.hasOwn(t,"otherTypeCallback")?t.otherTypeCallback:this.currOtherTypeCallback,s=Object.hasOwn(t,"parent")?t.parent:s,i=Object.hasOwn(t,"parentProperty")?t.parentProperty:i,t=t.path}if(s=s||null,i=i||null,Array.isArray(t)&&(t=Ur.toPathString(t)),!t&&t!==""||!e)return;let c=Ur.toPathArray(t);c[0]==="$"&&c.length>1&&c.shift(),this._hasParentSelector=null;let u=this._trace(c,e,["$"],s,i,r).filter(function(l){return l&&!l.isParentSelector});return u.length?!o&&u.length===1&&!u[0].hasArrExpr?this._getPreferredOutput(u[0]):u.reduce((l,d)=>{let f=this._getPreferredOutput(d);return a&&Array.isArray(f)?l=l.concat(f):l.push(f),l},[]):o?[]:void 0};Ur.prototype._getPreferredOutput=function(t){let e=this.currResultType;switch(e){case"all":{let r=Array.isArray(t.path)?t.path:Ur.toPathArray(t.path);return t.pointer=Ur.toPointer(r),t.path=typeof t.path=="string"?t.path:Ur.toPathString(t.path),t}case"value":case"parent":case"parentProperty":return t[e];case"path":return Ur.toPathString(t[e]);case"pointer":return Ur.toPointer(t.path);default:throw new TypeError("Unknown result type")}};Ur.prototype._handleCallback=function(t,e,r){if(e){let n=this._getPreferredOutput(t);t.path=typeof t.path=="string"?t.path:Ur.toPathString(t.path),e(n,r,t)}};Ur.prototype._trace=function(t,e,r,n,s,i,a,o){let c;if(!t.length)return c={path:r,value:e,parent:n,parentProperty:s,hasArrExpr:a},this._handleCallback(c,i,"value"),c;let u=t[0],l=t.slice(1),d=[];function f(p){Array.isArray(p)?p.forEach(m=>{d.push(m)}):d.push(p)}if((typeof u!="string"||o)&&e&&Object.hasOwn(e,u))f(this._trace(l,e[u],X0(r,u),e,u,i,a));else if(u==="*")this._walk(e,p=>{f(this._trace(l,e[p],X0(r,p),e,p,i,!0,!0))});else if(u==="..")f(this._trace(l,e,r,n,s,i,a)),this._walk(e,p=>{typeof e[p]=="object"&&f(this._trace(t.slice(),e[p],X0(r,p),e,p,i,!0))});else{if(u==="^")return this._hasParentSelector=!0,{path:r.slice(0,-1),expr:l,isParentSelector:!0};if(u==="~")return c={path:X0(r,u),value:s,parent:n,parentProperty:null},this._handleCallback(c,i,"property"),c;if(u==="$")f(this._trace(l,e,r,null,null,i,a));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(u))f(this._slice(u,l,e,r,n,s,i));else if(u.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");let p=u.replace(/^\?\((.*?)\)$/u,"$1"),m=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(p);m?this._walk(e,h=>{let A=[m[2]],g=m[1]?e[h][m[1]]:e[h];this._trace(A,g,r,n,s,i,!0).length>0&&f(this._trace(l,e[h],X0(r,h),e,h,i,!0))}):this._walk(e,h=>{this._eval(p,e[h],h,r,n,s)&&f(this._trace(l,e[h],X0(r,h),e,h,i,!0))})}else if(u[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");f(this._trace(Kae(this._eval(u,e,r.at(-1),r.slice(0,-1),n,s),l),e,r,n,s,i,a))}else if(u[0]==="@"){let p=!1,m=u.slice(1,-2);switch(m){case"scalar":(!e||!["object","function"].includes(typeof e))&&(p=!0);break;case"boolean":case"string":case"undefined":case"function":typeof e===m&&(p=!0);break;case"integer":Number.isFinite(e)&&!(e%1)&&(p=!0);break;case"number":Number.isFinite(e)&&(p=!0);break;case"nonFinite":typeof e=="number"&&!Number.isFinite(e)&&(p=!0);break;case"object":e&&typeof e===m&&(p=!0);break;case"array":Array.isArray(e)&&(p=!0);break;case"other":p=this.currOtherTypeCallback(e,r,n,s);break;case"null":e===null&&(p=!0);break;default:throw new TypeError("Unknown value type "+m)}if(p)return c={path:r,value:e,parent:n,parentProperty:s},this._handleCallback(c,i,"value"),c}else if(u[0]==="`"&&e&&Object.hasOwn(e,u.slice(1))){let p=u.slice(1);f(this._trace(l,e[p],X0(r,p),e,p,i,a,!0))}else if(u.includes(",")){let p=u.split(",");for(let m of p)f(this._trace(Kae(m,l),e,r,n,s,i,!0))}else!o&&e&&Object.hasOwn(e,u)&&f(this._trace(l,e[u],X0(r,u),e,u,i,a,!0))}if(this._hasParentSelector)for(let p=0;p<d.length;p++){let m=d[p];if(m&&m.isParentSelector){let h=this._trace(m.expr,e,m.path,n,s,i,a);if(Array.isArray(h)){d[p]=h[0];let A=h.length;for(let g=1;g<A;g++)p++,d.splice(p,0,h[g])}else d[p]=h}}return d};Ur.prototype._walk=function(t,e){if(Array.isArray(t)){let r=t.length;for(let n=0;n<r;n++)e(n)}else t&&typeof t=="object"&&Object.keys(t).forEach(r=>{e(r)})};Ur.prototype._slice=function(t,e,r,n,s,i,a){if(!Array.isArray(r))return;let o=r.length,c=t.split(":"),u=c[2]&&Number.parseInt(c[2])||1,l=c[0]&&Number.parseInt(c[0])||0,d=c[1]&&Number.parseInt(c[1])||o;l=l<0?Math.max(0,l+o):Math.min(o,l),d=d<0?Math.max(0,d+o):Math.min(o,d);let f=[];for(let p=l;p<d;p+=u)this._trace(Kae(p,e),r,n,s,i,a,!0).forEach(h=>{f.push(h)});return f};Ur.prototype._eval=function(t,e,r,n,s,i){this.currSandbox._$_parentProperty=i,this.currSandbox._$_parent=s,this.currSandbox._$_property=r,this.currSandbox._$_root=this.json,this.currSandbox._$_v=e;let a=t.includes("@path");a&&(this.currSandbox._$_path=Ur.toPathString(n.concat([r])));let o=this.currEval+"Script:"+t;if(!Ur.cache[o]){let c=t.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(a&&(c=c.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)Ur.cache[o]=new this.safeVm.Script(c);else if(this.currEval==="native")Ur.cache[o]=new this.vm.Script(c);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){let u=this.currEval;Ur.cache[o]=new u(c)}else if(typeof this.currEval=="function")Ur.cache[o]={runInNewContext:u=>this.currEval(c,u)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return Ur.cache[o].runInNewContext(this.currSandbox)}catch(c){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+c.message+": "+t)}};Ur.cache={};Ur.toPathString=function(t){let e=t,r=e.length,n="$";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(e[s])||(n+=/^[0-9*]+$/u.test(e[s])?"["+e[s]+"]":"['"+e[s]+"']");return n};Ur.toPointer=function(t){let e=t,r=e.length,n="";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(e[s])||(n+="/"+e[s].toString().replaceAll("~","~0").replaceAll("/","~1"));return n};Ur.toPathArray=function(t){let{cache:e}=Ur;if(e[t])return e[t].concat();let r=[],s=t.replaceAll(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/gu,";$&;").replaceAll(/[['](\??\(.*?\))[\]'](?!.\])/gu,function(i,a){return"[#"+(r.push(a)-1)+"]"}).replaceAll(/\[['"]([^'\]]*)['"]\]/gu,function(i,a){return"['"+a.replaceAll(".","%@%").replaceAll("~","%%@@%%")+"']"}).replaceAll("~",";~;").replaceAll(/['"]?\.['"]?(?![^[]*\])|\[['"]?/gu,";").replaceAll("%@%",".").replaceAll("%%@@%%","~").replaceAll(/(?:;)?(\^+)(?:;)?/gu,function(i,a){return";"+a.split("").join(";")+";"}).replaceAll(/;;;|;;/gu,";..;").replaceAll(/;$|'?\]|'$/gu,"").split(";").map(function(i){let a=i.match(/#(\d+)/u);return!a||!a[1]?i:r[a[1]]});return e[t]=s,e[t].concat()};Ur.prototype.safeVm={Script:Gae};Ur.prototype.vm=Sat.default;var vat=(t,e)=>(t=t||"",e=e||"",resolve(t,e)),Iat={query(t,e){return Ur.JSONPath({path:e,json:t})}},zae=!0,Cat=":eq|:lt|:gt|:first|:last|:not|:even|:odd|:has|:contains|:matches|:empty|^body$|^#",dxr="(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)",fxr="^(ftp|magnet|thunder|ws):",Yae=class{constructor(e=""){this.MY_URL=e,this.pdfh_html="",this.pdfa_html="",this.pdfh_doc=null,this.pdfa_doc=null}test(e,r){return!!new RegExp(e,"mi").exec(r)}contains(e,r){return e.indexOf(r)!==-1}parseHikerToJq(e,r=!1){if(this.contains(e,"&&")){let n=e.split("&&"),s=[];for(let i=0;i<n.length;i++){let a=n[i].split(" "),o=a[a.length-1];this.test(Cat,o)||!r&&i>=n.length-1?s.push(n[i]):s.push(`${n[i]}:eq(0)`)}e=s.join(" ")}else{let n=e.split(" "),s=n[n.length-1];!this.test(Cat,s)&&r&&(e=`${e}:eq(0)`)}return e}getParseInfo(e){let r=[],n=0,s=e;if(this.contains(e,":eq")){s=e.split(":eq")[0];let i=e.split(":eq")[1];this.contains(s,"--")?(r=s.split("--").slice(1),s=s.split("--")[0]):this.contains(i,"--")&&(r=i.split("--").slice(1),i=i.split("--")[0]);try{n=parseInt(i.split("(")[1].split(")")[0])}catch{}}else this.contains(e,"--")&&(s=e.split("--")[0],r=e.split("--").slice(1));return{nparse_rule:s,nparse_index:n,excludes:r}}reorderAdjacentLtAndGt(e){let r=/:gt\((\d+)\):lt\((\d+)\)/,n;for(;(n=r.exec(e))!==null;){let s=`:lt(${n[2]}):gt(${n[1]})`;e=e.substring(0,n.index)+s+e.substring(n.index+n[0].length),r.lastIndex=n.index}return e}parseOneRule(e,r,n){let{nparse_rule:s,nparse_index:i,excludes:a}=this.getParseInfo(r);if(s=this.reorderAdjacentLtAndGt(s),n?n=n.find(s):n=e(s),this.contains(r,":eq")&&(n=n.eq(i)),a.length>0&&n){n=n.clone();for(let o of a)n.find(o).remove()}return n}parseText(e){return e=e.replace(/[\s]+/gm,`
|
|
`),e=e.replace(/\n+/g,`
|
|
`).replace(/^\s+/,""),e=e.replace(/\n/g," "),e}pdfa(e,r){if(!e||!r)return[];r=this.parseHikerToJq(r);let n=Me(e);zae&&this.pdfa_html!==e&&(this.pdfa_html=e,this.pdfa_doc=n);let s=r.split(" "),i=null;for(let o of s)if(i=this.parseOneRule(n,o,i),!i)return[];return(i?.toArray()??[]).map(o=>{let c=`${n(o)}`;return c||""})}pdfl(e,r,n,s,i){if(!e||!r)return[];r=this.parseHikerToJq(r,!1);let a=[],o=Me(e),c=r.split(" "),u=null;for(let l of c)if(u=this.parseOneRule(o,l,u),!u)return[];return u.each((l,d)=>{a.push(`${o(d)}`)}),a}pdfh(e,r,n=""){if(!e||!r)return"";let s=Me(e);if(typeof zae<"u"&&zae&&this.pdfa_html!==e&&(this.pdfa_html=e,this.pdfa_doc=s),r==="body&&Text"||r==="Text")return this.parseText(s.text());if(r==="body&&Html"||r==="Html")return s.html();let i;if(this.contains(r,"&&")){let c=r.split("&&");i=c.pop(),r=c.join("&&")}r=this.parseHikerToJq(r,!0);let a=r.split(" "),o=null;for(let c of a)if(o=this.parseOneRule(s,c,o),!o)return"";if(i)switch(i){case"Text":o=o?this.parseText(o.text()):"";break;case"Html":o=o?o.html():"";break;default:let c=o.clone(),u=i.split("||");for(let l of u){if(o=c?.attr(l)||"",this.contains(l.toLowerCase(),"style")&&this.contains(o,"url("))try{o=o.match(/url\((.*?)\)/)[1],o=o.replace(/^['"]|['"]$/g,"")}catch{}if(o&&n&&this.test(dxr,l)&&!this.test(fxr,o)&&(o=o.includes("http")?o.slice(o.indexOf("http")):vat(n,o)),o)break}}else o=`${o}`;return o}pd(e,r,n=""){return n||(n=this.MY_URL),this.pdfh(e,r,n)}pq(e){return Me(e)}pjfh(e,r,n=!1){if(!e||!r)return"";try{e=typeof e=="string"?JSON.parse(e):e}catch{return console.log("\u5B57\u7B26\u4E32\u8F6C JSON \u5931\u8D25"),""}r.startsWith("$.")||(r="$."+r);let s="",i=r.split("||");for(let a of i){let o=Iat.query(e,a);if(s=Array.isArray(o)?o[0]||"":o||"",n&&s&&(s=vat(this.MY_URL,s)),s)break}return s}pj(e,r){return this.pjfh(e,r,!0)}pjfa(e,r){if(!e||!r)return[];try{e=typeof e=="string"?JSON.parse(e):e}catch{return[]}r.startsWith("$.")||(r="$."+r);let n=Iat.query(e,r);return Array.isArray(n)&&Array.isArray(n[0])&&n.length===1?n[0]:n||[]}},Tat=Yae;async function pxr(t){try{return await Ae.request(typeof t=="string"?t:{url:t.url,method:t.method||"GET",headers:t.headers||{"User-Agent":sDe},data:t.data||"",responseType:t.responseType||""})}catch(e){return e.response}}async function wat(t){return(await he.get(t,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"}})).data}var Jae="https://www.91panta.cn",Xae=t=>new Tat().pq(t),Rat=[{type_id:"39765285016165",type_name:"\u7535\u5F71"},{type_id:"39765284616164",type_name:"\u7535\u89C6\u5267"},{type_id:"39724839640293",type_name:"\u7EFC\u827A"},{type_id:"39724838540291",type_name:"\u52A8\u6F2B"},{type_id:"44732560408431",type_name:"\u77ED\u5267"},{type_id:"39956600861068",type_name:"\u7EAA\u5F55\u7247"}],mxr=Rat.map(t=>t.type_name.trim());async function hxr(t,e){return{class:Rat,filters:{}}}async function gxr(t,e){let r=t.body.id,s=t.body.page||1;s==0&&(s=1);let i=await wat(`${Jae}/?tagId=${r}&page=${s}`),a=Xae(i),o=[];a(".topicList .topicItem").each((d,f)=>{let p=a(f).find("h2 a:first")[0];if(!p||!p.children||!p.children[0]||!p.attribs)return;let m=p.children[0].data;if(!m)return;let h=a(f).find(".tm-m-photos-thumb li:first")[0]?.attribs["data-src"];o.push({vod_name:m.split(" ")[0],vod_id:p.attribs.href,vod_pic:h?`https://www.91panta.cn/${h}`:"https://www.91panta.cn/favicon.ico"})});let c=a(".topicPage .pg")[0],u=o.length,l=1;if(c){let d=a(c).find(".count")[0];if(d&&d.children&&d.children[0]){let p=d.children[0].data.match(/\d+/);p&&(u=p[0])}let f=a(c).find(".last")[0];if(f&&f.attribs&&f.attribs.title){let p=f.attribs.title.match(/\d+/);p&&(l=p[0])}}return{page:parseInt(s),pagecount:l?parseInt(l):1,limit:o.length,total:u?parseInt(u):o.length,list:o}}async function Axr(t,e){let r=await wat(`${Jae}/${t.body.id}`),n=Xae(r),s=n(".title")[0];if(!s||!s.children||!s.children[0])return{list:[]};let i={vod_name:s.children[0].data.trim(),vod_id:`/${t.body.id}`,vod_content:n("div.topicContent p:nth-child(1)").text().replace(/\s+/g,"")},a=n(".topicContent").html(),o=a.match(/<a\s+(?:[^>]*?\s+)?href=["'](https:\/\/(?:caiyun|yun)\.139\.com\/[^"']*)["'][^>]*>/gi);if(!o||o.length===0)if(o=a.match(/<span\s+style="color:\s*#0070C0;\s*">https:\/\/(?:caiyun|yun)\.139\.com\/[^<]*<\/span>/gi),o&&o.length>0){let c=o[0].match(/https:\/\/(?:caiyun|yun)\.139\.com\/[^<]*/);o=c?c[0]:null}else{let c=a.match(/https:\/\/(?:caiyun|yun)\.139\.com\/[^<\s]*/);o=c?c[0]:null}else{let c=o[0].match(/https:\/\/(?:caiyun|yun)\.139\.com\/[^"']*/);o=c?c[0]:null}if(o){let c=await wr(o,t);c&&c.froms&&c.urls&&(i.vod_play_from=c.froms,i.vod_play_url=c.urls)}return{list:[i]}}async function yxr(t,e){let r=t.body.page||1,n=t.body.wd,s=(await pxr(`${Jae}/search?keyword=${encodeURIComponent(decodeURIComponent(n))}&page=${r}`)).data,i=Xae(s),a=[];return i(".topicList .topicItem").each((o,c)=>{let u=i(c).find(".tag")[0],l=u?i(u).html().trim():null;if(u&&mxr.includes(l)){let d=i(c).find(".title a:first")[0];if(!d||!d.attribs)return;let f=i(c).find(".tm-m-photos-thumb li:first")[0]?.attribs["data-src"],p=i(d).html().replace(/<[^>]*>/g,"").replace(/\s+/g,"");a.push({vod_name:p,vod_id:d.attribs.href,vod_remarks:"",vod_pic:f?`https://www.91panta.cn/${f}`:"https://www.91panta.cn/favicon.ico"})}}),{page:r,pagecount:1,list:a}}var Nat={meta:{key:"panta",name:"\u300C\u76D8\u300D\u76D8Ta",type:3},api:async t=>{t.post("/init",qr),t.post("/home",hxr),t.post("/category",gxr),t.post("/detail",Axr),t.post("/play",Nr),t.post("/search",yxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)}};var xxr=["https://wogg.xxooo.cf","https://www.wogg.net"],Zae=async t=>(await t.db.getObjectDefault("/wanou",{}))?.urls||t.config.wanou?.urls||xxr,bxr=async(t,e)=>{await t.db.push("/wanou/urls",e)},Exr=async t=>{await t.db.delete("/wanou/urls")};async function eoe(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await Zae(e.server)})}),t.put("/urls",async(e,r)=>{await bxr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Exr(e.server),r.send({code:0})})}var toe,P4=t=>{if(!toe){let e=Date.now();toe=new Promise(async r=>{let n=await Zae(t),s=await Xn(n);console.log("\u73A9\u5076\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return toe};async function N4(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function _xr(t,e){return await qr(t,e),{}}async function Sxr(t,e){let r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"44",type_name:"\u81FB\u5F69"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"46",type_name:"\u7EAA\u5F55"},{type_id:"6",type_name:"\u77ED\u5267"},{type_id:"5",type_name:"\u97F3\u4E50"}],n=[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}],s=[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}],i=[{n:"\u5168\u90E8",v:""},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u8B66\u532A",v:"\u8B66\u532A"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u67AA\u6218",v:"\u67AA\u6218"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u60CA\u609A",v:"\u60CA\u609A"},{n:"\u7ECF\u5178",v:"\u7ECF\u5178"},{n:"\u9752\u6625",v:"\u9752\u6625"},{n:"\u6587\u827A",v:"\u6587\u827A"},{n:"\u5FAE\u7535\u5F71",v:"\u5FAE\u7535\u5F71"},{n:"\u5386\u53F2",v:"\u5386\u53F2"}],a=[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u4E2D\u56FD\u9999\u6E2F",v:"\u4E2D\u56FD\u9999\u6E2F"},{n:"\u4E2D\u56FD\u53F0\u6E7E",v:"\u4E2D\u56FD\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u5FB7\u56FD",v:"\u5FB7\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u610F\u5927\u5229",v:"\u610F\u5927\u5229"},{n:"\u52A0\u62FF\u5927",v:"\u52A0\u62FF\u5927"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}],o={};return o[1]=[{key:"class",name:"",init:"",value:i},{key:"area",name:"",init:"",value:a},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[2]=[{key:"class",name:"",init:"",value:i},{key:"area",name:"",init:"",value:a},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[3]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u60C5\u611F",v:"\u60C5\u611F"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u70ED\u8840",v:"\u70ED\u8840"},{n:"\u63A8\u7406",v:"\u63A8\u7406"},{n:"\u641E\u7B11",v:"\u641E\u7B11"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u841D\u8389",v:"\u841D\u8389"},{n:"\u6821\u56ED",v:"\u6821\u56ED"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u673A\u6218",v:"\u673A\u6218"},{n:"\u8FD0\u52A8",v:"\u8FD0\u52A8"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u5C11\u5E74",v:"\u5C11\u5E74"},{n:"\u5C11\u5973",v:"\u5C11\u5973"},{n:"\u793E\u4F1A",v:"\u793E\u4F1A"},{n:"\u539F\u521B",v:"\u539F\u521B"},{n:"\u4EB2\u5B50",v:"\u4EB2\u5B50"},{n:"\u76CA\u667A",v:"\u76CA\u667A"},{n:"\u52B1\u5FD7",v:"\u52B1\u5FD7"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[44]=[{key:"class",name:"",init:"",value:i},{key:"area",name:"",init:"",value:a},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[4]=[{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u4E2D\u56FD\u53F0\u6E7E",v:"\u4E2D\u56FD\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[46]=[{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[6]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7537\u9891",v:"\u7537\u9891"},{n:"\u5973\u9891",v:"\u5973\u9891"},{n:"\u90FD\u5E02",v:"\u90FD\u5E02"},{n:"\u751C\u5BA0",v:"\u751C\u5BA0"},{n:"\u5E74\u4EE3",v:"\u5E74\u4EE3"},{n:"\u7A7F\u8D8A",v:"\u7A7F\u8D8A"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u4EB2\u60C5",v:"\u4EB2\u60C5"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u840C\u5B9D",v:"\u840C\u5B9D"},{n:"\u91CD\u751F",v:"\u91CD\u751F"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u9006\u88AD",v:"\u9006\u88AD"},{n:"\u8650\u604B",v:"\u8650\u604B"},{n:"\u9274\u5B9D",v:"\u9274\u5B9D"},{n:"\u590D\u4EC7",v:"\u590D\u4EC7"},{n:"\u4FEE\u4ED9",v:"\u4FEE\u4ED9"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"}]},{key:"by",name:"",init:"time",value:s}],o[5]=[{key:"by",name:"",init:"time",value:s}],{class:r,filters:o}}function vxr(t,e){let r=String(e||"").trim();if(!r)return"";if(/^https?:\/\//i.test(r)){if(/^https?:\/\/[^/]*gimg\d*\.baidu\.com\/gimg\//i.test(r)){let n=r.lastIndexOf("src=");if(n!==-1&&r.slice(n+4).includes("data:image/"))return""}return r}return r.startsWith("/img.php?url=")?r.slice(13):r.startsWith("/db.php?url=")?new URL(r,`${String(t||"").replace(/\/+$/,"")}/`).toString():new URL(r.replace(/^\/+/,""),`${String(t||"").replace(/\/+$/,"")}/`).toString()}function O4(t,e){return vxr(t,e?.attribs?.["data-src"]||e?.attribs?.src||"")}function Ixr(t){let e=Array.isArray(t)?t:t.split("-");for(let r=1;r<e.length;r++)if(e[r]!="")return r;return-1}async function Cxr(t,e){let r=await P4(t.server),n=t.body.id,s=t.body.page,i=t.body.filters||{},a=s||1;if(a==0&&(a=1),n.startsWith("s-")){let o=["","","","","","","","","","",a,"","",""],c=n.split("-");o[parseInt(c[1])]=c[2];let u=await N4(`${r}/index.php/vodsearch/${o.join("-")}.html`),l=Me(u),d=l("div.module-items > div.module-search-item").map((f,p)=>{let m=l(p).find("div.video-info-header h3 a")[0];return{vod_id:m.attribs.href.match(/voddetail\/(.*).html/)[1],vod_name:m.attribs.title,vod_pic:O4(r,l(p).find("div.module-item-pic img")[0]),vod_remarks:l(p).find("a.video-serial").text()}}).get();return{page:a,pagecount:d.length<10?a:a+1,list:d}}else{let o=[n,"","","","","","","",a,"","",""];i.area&&(o[1]=i.area),i.by&&(o[2]=i.by),i.class&&(o[3]=i.class),i.year&&(o[11]=i.year);let c=`${r}/index.php/vodshow/${o.join("-")}.html`,u=await N4(c),l=Me(u),d=l("div.module-items > div.module-item").map((f,p)=>{let m=l(p).find("div.video-name a")[0];return{vod_id:m.attribs.href.match(/voddetail\/(.*).html/)[1],vod_name:m.attribs.title,vod_pic:O4(r,l(p).find("div.module-item-pic img")[0]),vod_remarks:l(p).find("div.module-item-text").text()}}).get();return{page:a,pagecount:d.length<70?a:a+1,list:d}}}async function Txr(t,e){let r=await P4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await N4(`${r}/index.php/voddetail/${i}.html`),o=Me(a),c=[],u=[],l="";o("div.video-info-items a[href*=/vodsearch/]").each((m,h)=>{let A=h.attribs.href.match(/vodsearch\/(.*).html/)[1].split("-"),g=o(h).text().trim(),b=Ixr(A);if(b===5){let y={id:"s-5-"+decodeURIComponent(A[5].toString()),name:g};c.push(`[a=cr:${JSON.stringify(y)}/]${g}[/a]`)}else if(b===1){let y={id:"s-1-"+decodeURIComponent(A[1].toString()),name:g};u.push(`[a=cr:${JSON.stringify(y)}/]${g}[/a]`)}else b===13&&(l=g)});let d={vod_name:o(".page-title")[0].children[0].data,vod_pic:O4(r,o(".mobile-play .lazyload")[0]||o(".module-item-pic img")[0]),vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||"",vod_year:l,vod_actor:u.join(", "),vod_director:c.join(", "),vod_content:o("div.video-info-content p[style*=none]")[0].children[0].data.trim()},f=o("div.module-row-info p").map((m,h)=>h.children[0].data).get(),p=await wr(f,t);p&&(d.vod_play_from=p.froms,d.vod_play_url=p.urls),s.push(d)}return{list:s}}async function wxr(t,e){let r=await P4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await N4(`${r}/index.php/vodsearch/-------------.html?wd=${s}`),o=Me(a),c=o("div.module-items > div.module-search-item").map((u,l)=>{let d=o(l).find("div.video-info-header h3 a")[0];return{vod_id:d.attribs.href.match(/voddetail\/(.*).html/)[1],vod_name:d.attribs.title,vod_pic:O4(r,o(l).find("div.module-item-pic img")[0]),vod_remarks:o(l).find("a.video-serial").text()}}).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}async function Rxr(t,e){try{let r=function(a){a.statusCode&&a.statusCode==500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);if(s.init=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/home`),s.home=i.json(),r(i.json()),s.home.class.length>0&&(i=await t.server.inject().post(`${n}/category`).payload({id:s.home.class[0].type_id,page:1,filter:!0,filters:{}}),s.category=i.json(),r(i.json()),s.category.list.length>0&&(i=await t.server.inject().post(`${n}/detail`).payload({id:s.category.list[0].vod_id}),s.detail=i.json(),r(i.json()),s.detail.list&&s.detail.list.length>0))){s.play=[];for(let a of s.detail.list){let o=a.vod_play_from.split("$$$"),c=a.vod_play_url.split("$$$");for(let u=0;u<o.length;u++){let l=o[u],d=c[u].split("#");for(let f=0;f<d.length&&f<2;f++)i=await t.server.inject().post(`${n}/play`).payload({flag:l,id:d[f].split("$")[1]}),s.play.push(i.json())}}}return i=await t.server.inject().post(`${n}/search`).payload({wd:"\u7231",page:1}),s.search=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Oat={meta:{key:"wanou",name:"\u300C\u76D8\u300D\u73A9\u5076",type:3},api:async t=>{t.post("/init",_xr),t.post("/home",Sxr),t.post("/category",Cxr),t.post("/detail",Txr),t.post("/play",Nr),t.post("/search",wxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr),t.get("/test",Rxr)},check:P4};var Nxr=["http://www.miqk.cc","https://mihdr.top","https://www.mihdr.top","https://zhizhen1.top"],roe=async t=>(await t.db.getObjectDefault("/zhizhen",{}))?.urls||t.config.zhizhen?.urls||Nxr,Oxr=async(t,e)=>{await t.db.push("/zhizhen/urls",e)},Pxr=async t=>{await t.db.delete("/zhizhen/urls")};async function noe(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await roe(e.server)})}),t.put("/urls",async(e,r)=>{await Oxr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Pxr(e.server),r.send({code:0})})}var soe,k4=t=>{if(!soe){let e=Date.now();soe=new Promise(async r=>{let n=await roe(t),s=await Xn(n);console.log("\u81F3\u81FB\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return soe};async function ioe(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function kxr(t,e){return{class:[{type_id:"26",type_name:"\u4E25\u9009"},{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"5",type_name:"\u77ED\u5267"},{type_id:"24",type_name:"\u8001\u5267"}],filters:{}}}async function Dxr(t,e){let r=await k4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await ioe(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Bxr(t,e){let r=await k4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await ioe(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await wr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls),s.push(c)}return{list:s}}async function Lxr(t,e){let r=await k4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await ioe(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Pat={meta:{key:"zhizhen",name:"\u300C\u76D8\u300D\u81F3\u81FB",type:3},api:async t=>{t.post("/init",qr),t.post("/home",kxr),t.post("/category",Dxr),t.post("/detail",Bxr),t.post("/play",Nr),t.post("/search",Lxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)},check:k4};var D4=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),kat=t=>String(t??"").split(",").map(e=>e.trim()).filter(e=>e),Dat=t=>(Array.isArray(t)?t:[]).map(e=>String(e||"").trim()).filter(e=>e),Lat="douerpan,zyfb123",Mxr={douerpan:"\u8C46\u513F\u76D8",zyfb123:"\u8C46\u513F123"},aoe=async(t,e,r)=>{let n=await t.db.getObjectDefault("/tgchannel",{});if(D4(n,e))return n[e];let s=t.config?.tgchannel||{};return D4(s,e)?s[e]:r},Bat=t=>{if(!t||typeof t!="object"||Array.isArray(t))return{};let e={};for(let[r,n]of Object.entries(t))typeof n=="string"&&n.trim()!==""&&(e[r]=n);return e},B4=t=>aoe(t,"url","https://t.me"),ooe=async t=>{let e=await t.db.getObjectDefault("/tgchannel",{});if(Object.prototype.hasOwnProperty.call(e,"count"))return e.count;let r=t.config?.tgchannel||{};return Object.prototype.hasOwnProperty.call(r,"count")?r.count:""},coe=t=>aoe(t,"channelUsername",Lat),uoe=t=>aoe(t,"homeChannelUsername",Lat),L4=async t=>{let e=await t.db.getObjectDefault("/tgchannel",{});if(Object.prototype.hasOwnProperty.call(e,"pic"))return e.pic;let r=t.config?.tgchannel||{};return Object.prototype.hasOwnProperty.call(r,"pic")?r.pic:!0},M4=async t=>{let e=await t.db.getObjectDefault("/tgchannel",{});if(D4(e,"channelNameMap"))return Bat(e.channelNameMap);let r=t.config?.tgchannel||{};return D4(r,"channelNameMap")?Bat(r.channelNameMap):Mxr},cE=async(t,e,r)=>{await t.db.push(`/tgchannel/${e}`,r)},Wxr=async t=>{await t.db.delete("/tgchannel")};async function loe(t){t.get("/config",async(e,r)=>{let n=await B4(e.server),s=await ooe(e.server),i=await coe(e.server),a=await uoe(e.server),o=await L4(e.server),c=await M4(e.server),u=s===""||s===null||typeof s>"u"?"":Number(s);r.send({code:0,data:{url:n,count:u,channelUsername:kat(i),homeChannelUsername:kat(a),pic:o,channelNameMap:c}})}),t.put("/config",async(e,r)=>{await cE(e.server,"url",e.body.url),await cE(e.server,"count",e.body.count),await cE(e.server,"channelUsername",Dat(e.body.channelUsername).join(",")),await cE(e.server,"homeChannelUsername",Dat(e.body.homeChannelUsername).join(",")),await cE(e.server,"pic",e.body.pic),await cE(e.server,"channelNameMap",e.body.channelNameMap||{}),r.send({code:0})}),t.delete("/config",async(e,r)=>{await Wxr(e.server),r.send({code:0})})}function $xr(t){let e=t.attr("style"),r=/background-image:url\('([^']+)'\)/.exec(e);if(r&&r.length>1)return r[1]}function $at(t){return t=t.replace(/https?:\/\/[^\s]+/gi,""),t=t.split(/åç§°[:|:]/)?.[1]||t,t=t.split(`
|
|
`)?.[0]||t,t=t.trim(),t=t.replace(/^[^\u4e00-\u9fa5A-Za-z0-9\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»]+/,"").trim(),t=t.replace(/^(电视剧|动漫|电影|综艺|纪录片|动画)[\s||]+/,"").trim(),/^[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»]/.test(t)?(t=t.replace(/^[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»][^\)\]\})】》ã€ã€ã€•〗〉﹞]]*[\)\]\})】》ã€ã€ã€•〗〉﹞]]/,"").trim(),t=t.replace(/[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»].*$/,"").trim()):t=t.replace(/[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»].*$/,"").trim(),t=t.replace(/((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*\d+\s*集)|((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*[一二三四五å…七八ä¹å百åƒä¸‡äº¿]+\s*集)|(\d+\s*集\s*å…¨)|([一二三四五å…七八ä¹å百åƒä¸‡äº¿]+\s*集\s*å…¨)|((?:更至|æ›´)\s*(?:EP)?\s*\d+)|((?:æ›´æ–°\s*)?EP\d+集)|(æ›´æ–°\d+集)|(S\d+\s*E\d+(?:已更新)?)/g,"").trim(),t=t.replace(/\s*\d+\s*\+\s*\d+\s*帧\s*/g,"").replace(/\s*4[Kk]\s*(DV|HDR10|SDR10|臻彩|æœæ¯”)?\s*(高ç 率|50帧|10bit)?\s*/g,"").replace(/\s*\d+[pP]\s*/g,"").replace(/\s*(æœæ¯”视界|æœæ¯”音效|WEB-60fpsMAX|WEB-|DV|HDR10|HDR|SDR|臻彩|æœæ¯”|高ç 率|ä¸ç 率|50帧|25帧|60帧|10bit|10BIT|纯净版|完结|全景声|超高ç 率|EDR|æ ‡ç |Vivid|三维è彩声|txb|æºç |剧版|æ— å°æ ‡|ATVP|IQ|Friday|多国å—幕|åŒè¯|简ä¸|æ—¥è¯|æ— æŸ|特别版|软å—幕|补链接|MAX|ä¸ç |音效|高ç |å°é…|国è¯|环绕声|è“光原盘|臻享超高清|首æ’|ç‚¹æ˜ |Viu|10B|硬å—幕)\s*/g,"").replace(/\s*内å°[^\s]*\s*/g,"").replace(/\s*——\s*/g," ").replace(/\s*\d{4}å¹´?\s*/g,"").replace(/\s*大å°\s*\d+\.?\d*\s*[KMGT]B\s*/g,"").replace(/\d+\.?\d*\s*[KMGT]B/g,"").replace(/\s*å·²?æ›´æ–°\s*/g,"").replace(/\s*\+\s*/g," ").replace(/\s+/g," ").trim(),t=t.split(/,|,/)?.[0],t?.trim()}var Fxr={"User-Agent":"MoZhao"};function doe(t){return rf().some(e=>e.validator(t))}function Fat(t,e=()=>!0){let r=[];for(let n of t){let s=n.attribs?.href;s&&e(s)&&r.push(s)}return r}function bw(t){return Fat(t,doe)}function W4(t){return Fat(t,$4)}function Gf(t){return[...new Set((t||[]).filter(Boolean))]}function Uxr(t){return String(t||"").trim().replace(/&/g,"&").replace(/[\)\]\}>)】》ã€ã€ã€•〗〉﹞]ã€ã€‚,,;ï¼›!?ï¼ï¼Ÿ]+$/g,"")}function qxr(t){let e=String(t||"");return Gf([/https?:\/\/[^\s"'<>]+/gi,/magnet:\?[^\s"'<>]+/gi,/ed2k:\/\/\|file\|.+?\|\d+\|[a-f0-9]{32}\|\//gi,/ed2k:\/\/[^\s"'<>]+/gi].flatMap(n=>e.match(n)||[]).map(Uxr))}function jxr(t,e){let r=t(e).find(".tgme_widget_message_date").attr("href");if(qat(r))return r;let n=e.attribs?.["data-post"];return n?`https://t.me/${n}`:""}function foe(t){let e=[],r=qxr(t);for(let n of r)doe(n)&&e.push(n);return e}function Uat(t){let e=[],r=t.match(/https?:\/\/[^\s]+/gi);if(r)for(let n of r)$4(n)&&e.push(n);return e}var qat=t=>/t.me\/.*\/.*/.test(t),$4=t=>/https?:\/\/(?:telegra\.ph|graph\.org)\//i.test(String(t||"")),jat=t=>rf().find(e=>e.validator(t)),Hat=(t,e)=>!e||typeof e!="object"?t:e[t]||t,Qat=t=>String(t||"").split(",").map(e=>e.trim()).filter(Boolean);async function poe(t){let e=await Ae.get(t,{timeout:5e3,headers:Fxr});return Me(e.data)}async function Hxr(t){let e=await poe(t),r=e(".tl_article").text()||e("body").text()||"";return{links:Gf([...foe(r),...bw(e("a"))])}}async function Gat(t){let e=Gf((t||[]).filter($4));if(!e.length)return[];let r=await Promise.all(e.map(async n=>{try{return(await Hxr(n)).links}catch(s){return console.error("[tgchannel] parse telegra failed",n,s?.message||s),[]}}));return Gf(r.flat())}async function Qxr(t){let e=await poe(t),r=e(".tgme_widget_message"),n=[];for(let s of r){let i=s.attribs["data-post"],a=$xr(e(s).find(".tgme_widget_message_photo_wrap"));e("br").replaceWith(`
|
|
`);let o=e(s).find(".tgme_widget_message_text").text(),c=$at(o),u=o,l=Gf([...foe(o),...bw(e(s).find(".tgme_widget_message_text a")),...bw(e(s).find(".tgme_widget_message_inline_button"))]),d=Gf([...W4(e(s).find(".tgme_widget_message_text a")),...W4(e(s).find(".tgme_widget_message_inline_button")),...Uat(o)]),f=[...l],p=f.length?[...f]:d.length?[...d]:[];if(!p.length){let m=jxr(e,s);m&&p.push(m)}p.length&&n.push({id:p.join("|"),title:c,description:u,cover:a,messageId:Number(i.split("/")[1]),panLinks:f})}return n}async function Gxr(t){let e=await poe(t),r=e('meta[property="og:description"]').attr("content"),n=e('meta[property="og:image"]').attr("content"),s=$at(r),i=Gf([...foe(r||""),...bw(e(".tgme_widget_message_text a")),...bw(e(".tgme_widget_message_inline_button"))]),a=Gf([...Uat(r||""),...W4(e(".tgme_widget_message_text a")),...W4(e(".tgme_widget_message_inline_button"))]),o=i.length?[]:await Gat(a),c=Gf([...i,...o]);return{title:s,description:r,cover:n,links:c}}async function Kxr(t,e){return await qr(t,e),{}}async function Vxr(t){let e=await uoe(t.server),r=await M4(t.server);return{class:Qat(e).map(n=>({type_id:n,type_name:Hat(n,r)}))}}var Mat={},Wat={},moe={};async function Kat(t){let e=await B4(t.server),r=await L4(t.server),n=t.body.id,s=t.body.page;s||(s=1);try{let i=await Qxr(`${e}/s/${n}${s>1?`?before=${Wat[n]}`:""}`);Wat[n]=i[0].messageId,s===1&&(Mat[n]=i[i.length-1].messageId),i.reverse();let a=i.map(o=>{let c,u="";return o.panLinks.length&&o.panLinks.forEach(l=>{let d=jat(l);d&&(u+=u?`|${d.name}`:d.name,c||(c=d.pic))}),c||(c="https://telegram.org/img/apple-touch-icon.png"),{vod_name:o.title,vod_id:o.id,vod_pic:r&&o.cover||c,vod_remarks:u,rawData:o}});return a.forEach(o=>{o.vod_name&&o.vod_id&&(moe[o.vod_id]=o.vod_name)}),{page:s,pagecount:Math.ceil(Mat[n]/a.length),list:a}}catch(i){return console.error(i),{page:s,pagecount:1,list:[]}}}async function zxr(t,e){let r=await B4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=i.split("|"),o=moe[i]||"";if(a.length===1&&qat(a[0])){let l=await Gxr(i.replace("https://t.me",r));!o&&l.title&&(o=l.title),a=l.links}else!a.some(doe)&&a.some($4)&&(a=await Gat(a));let c=await wr(a,t),u={vod_id:i,vod_name:o};c&&(u.vod_play_from=c.froms,u.vod_play_url=c.urls),s.push(u)}return{list:s}}async function Yxr(t,e){let r=await ooe(t.server),n=await coe(t.server),s=await L4(t.server),i=await M4(t.server),a=t.body.wd,o=Number(r),c=Number.isFinite(o)?Math.floor(o):0,u=c>0,l=Qat(n);if(!l.length)return{page:1,pagecount:1,list:[]};let d=await Promise.all(l.map(p=>Kat({body:{id:`${p}?q=${encodeURIComponent(a)}`},server:t.server}))),f=[];return d.forEach((p,m)=>{let h=p.list.filter(g=>g.rawData.panLinks.length);(u?h.slice(0,c):h).forEach(g=>{let b="",y;g.rawData.panLinks.forEach(x=>{let v=jat(x);v&&(b+=b?`|${v.name}`:v.name),y||(y=v.pic)}),f.push({vod_id:g.vod_id,vod_name:g.vod_name,vod_pic:s&&g.vod_pic||y,vod_remarks:`${b}:${Hat(l[m],i)}`}),g.vod_name&&g.vod_id&&(moe[g.vod_id]=g.vod_name)})}),{page:1,pagecount:1,list:f}}var Vat={meta:{key:"tgchannel",name:"\u300C\u76D8\u300DTG\u641C",type:3},api:async t=>{t.post("/init",Kxr),t.post("/home",Vxr),t.post("/category",Kat),t.post("/detail",zxr),t.post("/play",Nr),t.post("/search",Yxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)}};var F4=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Jxr=t=>String(t??"").split(",").map(e=>e.trim()).filter(e=>e),Xxr=t=>(Array.isArray(t)?t:[]).map(e=>String(e||"").trim()).filter(e=>e),Yat=async(t,e,r)=>{let n=await t.db.getObjectDefault("/tgsou",{});if(F4(n,e))return n[e];let s=t.config?.tgsou||{};return F4(s,e)?s[e]:r},zat=t=>{if(!t||typeof t!="object"||Array.isArray(t))return{};let e={};for(let[r,n]of Object.entries(t))typeof n=="string"&&n.trim()!==""&&(e[r]=n);return e},hoe=t=>Yat(t,"url","https://tgsou.252035.xyz"),goe=async t=>{let e=await t.db.getObjectDefault("/tgsou",{});if(Object.prototype.hasOwnProperty.call(e,"count"))return e.count;let r=t.config?.tgsou||{};return Object.prototype.hasOwnProperty.call(r,"count")?r.count:""},Aoe=t=>Yat(t,"channelUsername",""),yoe=async t=>{let e=await t.db.getObjectDefault("/tgsou",{});if(Object.prototype.hasOwnProperty.call(e,"pic"))return e.pic;let r=t.config?.tgsou||{};return Object.prototype.hasOwnProperty.call(r,"pic")?r.pic:!0},xoe=async t=>{let e=await t.db.getObjectDefault("/tgsou",{}),r={};if(F4(e,"channelNameMap"))r=zat(e.channelNameMap);else{let n=t.config?.tgsou||{};F4(n,"channelNameMap")&&(r=zat(n.channelNameMap))}return r},Ew=async(t,e,r)=>{await t.db.push(`/tgsou/${e}`,r)};async function boe(t){t.get("/config",async(e,r)=>{let n=await hoe(e.server),s=await goe(e.server),i=await Aoe(e.server),a=await yoe(e.server),o=await xoe(e.server),c=s===""||s===null||typeof s>"u"?"":Number(s);r.send({code:0,data:{url:n,count:c,channelUsername:Jxr(i),pic:a,channelNameMap:o}})}),t.put("/config",async(e,r)=>{await Ew(e.server,"url",e.body.url),await Ew(e.server,"count",e.body.count),await Ew(e.server,"channelUsername",Xxr(e.body.channelUsername).join(",")),await Ew(e.server,"pic",e.body.pic),await Ew(e.server,"channelNameMap",e.body.channelNameMap||{}),r.send({code:0})})}var Jat={};async function Zxr(t,e){return await qr(t,e),{}}async function ebr(t,e){return{class:[]}}var tbr=(t,e)=>!e||typeof e!="object"?t:e[t]||t;function rbr(t){return t&&(t=t.replace(/https?:\/\/[^\s]+/gi,""),t=t.split(/åç§°[:|:]/)?.[1]||t,t=t.split(`
|
|
`)?.[0]||t,t=t.trim(),t=t.replace(/^[^\u4e00-\u9fa5A-Za-z0-9\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»]+/,"").trim(),t=t.replace(/^(电视剧|动漫|电影|综艺|纪录片|动画)[\s||]+/,"").trim(),/^[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»]/.test(t)?(t=t.replace(/^[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»][^\)\]\})】》ã€ã€ã€•〗〉﹞]]*[\)\]\})】》ã€ã€ã€•〗〉﹞]]/,"").trim(),t=t.replace(/[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»].*$/,"").trim()):t=t.replace(/[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»].*$/,"").trim(),t=t.replace(/((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*\d+\s*集)|((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*[一二三四五å…七八ä¹å百åƒä¸‡äº¿]+\s*集)|(\d+\s*集\s*å…¨)|([一二三四五å…七八ä¹å百åƒä¸‡äº¿]+\s*集\s*å…¨)|((?:更至|æ›´)\s*(?:EP)?\s*\d+)|((?:æ›´æ–°\s*)?EP\d+集)|(æ›´æ–°\d+集)|(S\d+\s*E\d+(?:已更新)?)/g,"").trim(),t=t.replace(/\s*\d+\s*\+\s*\d+\s*帧\s*/g,"").replace(/\s*4[Kk]\s*(DV|HDR10|SDR10|臻彩|æœæ¯”)?\s*(高ç 率|50帧|10bit)?\s*/g,"").replace(/\s*\d+[pP]\s*/g,"").replace(/\s*(æœæ¯”视界|æœæ¯”音效|WEB-60fpsMAX|WEB-|DV|HDR10|HDR|SDR|臻彩|æœæ¯”|高ç 率|ä¸ç 率|50帧|25帧|60帧|10bit|10BIT|纯净版|完结|全景声|超高ç 率|EDR|æ ‡ç |Vivid|三维è彩声|txb|æºç |剧版|æ— å°æ ‡|ATVP|IQ|Friday|多国å—幕|åŒè¯|简ä¸|æ—¥è¯|æ— æŸ|特别版|软å—幕|补链接|MAX|ä¸ç |音效|高ç |å°é…|国è¯|环绕声|è“光原盘|臻享超高清|首æ’|ç‚¹æ˜ |Viu|10B|硬å—幕)\s*/g,"").replace(/\s*内å°[^\s]*\s*/g,"").replace(/\s*——\s*/g," ").replace(/\s*\d{4}å¹´?\s*/g,"").replace(/\s*大å°\s*\d+\.?\d*\s*[KMGT]B\s*/g,"").replace(/\d+\.?\d*\s*[KMGT]B/g,"").replace(/\s*å·²?æ›´æ–°\s*/g,"").replace(/\s*\+\s*/g," ").replace(/\s+/g," ").trim(),t=t.split(/,|,/)?.[0],t?.trim())}async function nbr(t,e){return{page:1,pagecount:1,list:[]}}async function sbr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i=s.includes("|")?s.split("|"):[s],a=await wr(i,t),o={};o.vod_name=Jat[s]||"",a&&(o.vod_play_from=a.froms,o.vod_play_url=a.urls),n.push(o)}return{list:n}}async function ibr(t,e){let r=await hoe(t.server),n=await goe(t.server),s=await Aoe(t.server),i=await yoe(t.server),a=await xoe(t.server),o=t.body.wd,c=Number(n),u=Number.isFinite(c)?Math.floor(c):0,l=u>0,d=new URL(r);d.searchParams.set("pic",String(i)),l&&d.searchParams.set("count",String(u)),d.searchParams.set("channelUsername",s),d.searchParams.set("keyword",o||"");let f=await Ae.get(d.toString()),p=new Map;for(let h of f.data.results){let[A,g]=h.split("$$$");if(!g)continue;let b=g.split("##");for(let y=0;y<b.length&&(!l||y<=u);y++){let[x,v]=b[y].split("$$"),[I,R]=x.split("@"),w=rf().find(N=>N.validator(I));if(w){let N=rbr(v)||o,P=!!R,B=P?/^https?:\/\//i.test(R)?R:`${r}/down?id=${R}&channelUsername=${A}`:w.pic,M=P?B:I;p.has(M)||p.set(M,{links:[],panInfos:[],pic:B,group:A,title:N});let D=p.get(M),L=I?.replace(/\s+/g,"");D.links.includes(L)||(D.links.push(L),D.panInfos.push(w))}}}let m=[];for(let[h,A]of p.entries()){let g=[...new Set(A.panInfos.map(b=>b.name))].join("/");m.push({vod_id:A.links.join("|"),vod_name:A.title,vod_pic:A.pic,vod_remarks:`${g}:${tbr(A.group,a)}`}),A.title&&A.links.length&&(Jat[A.links.join("|")]=A.title)}return{page:1,pagecount:1,list:m}}var Xat={meta:{key:"tgsou",name:"\u300C\u76D8\u300DTG\u641C\xB2",type:3},api:async t=>{t.post("/init",Zxr),t.post("/home",ebr),t.post("/category",nbr),t.post("/detail",sbr),t.post("/play",Nr),t.post("/search",ibr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)}};var Zat=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),abr="http://127.0.0.1:8080",tot=async(t,e,r)=>{let n=await t.db.getObjectDefault("/tgfilebot",{});if(Zat(n,e))return n[e];let s=t.config?.tgfilebot||{};return Zat(s,e)?s[e]:r},Eoe=t=>tot(t,"url",abr),_oe=t=>tot(t,"password",""),eot=async(t,e,r)=>{await t.db.push(`/tgfilebot/${e}`,r)},obr=async t=>{await t.db.delete("/tgfilebot")};async function Soe(t){t.get("/config",async(e,r)=>{let n=await Eoe(e.server),s=await _oe(e.server);r.send({code:0,data:{url:n,password:s}})}),t.put("/config",async(e,r)=>{await eot(e.server,"url",e.body.url||""),await eot(e.server,"password",e.body.password||""),r.send({code:0})}),t.delete("/config",async(e,r)=>{await obr(e.server),r.send({code:0})})}var cbr="http://127.0.0.1:8080",not="",_w=20,ubr=30;async function lbr(t,e){return{}}function dbr(t){for(t=String(t||"").trim();t.endsWith("/");)t=t.slice(0,-1);return t}function ns(t){return String(t||"").replace(/\s+/g," ").trim()}function sot(t){return ns(t).replace(/[$#]/g," ")}function voe(t){return ns(t).replace(/^>+\s*/,"").replace(/^\*\*(.*?)\*\*$/,"$1").replace(/^__(.*?)__$/,"$1").replace(/^`(.*?)`$/,"$1").replace(/^\[(.*?)\]\([^)]*\)$/,"$1").replace(/^[-•]\s*/,"").replace(/^\*\s+/,"").trim()}function iot(t){let e=String(t||"").replace(/\r\n/g,`
|
|
`).split(`
|
|
`);for(let r of e){let n=ns(r);if(n&&!/^(主演|类型|制片国家|è¯è¨€|ä¸Šæ˜ æ—¥æœŸ|片长|åˆå|导演|编剧)\s*[::]/.test(voe(n)))return n}return""}function aot(t){return String(t||"").replace(/[ï¼-ï¼™]/g,e=>String(e.charCodeAt(0)-65296))}function fbr(t){let e=String(t||"").replace(/两/g,"\u4E8C");if(!e)return 0;if(/^\d+$/.test(e))return Number(e);let r={\u96F6:0,"\u3007":0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9},n={\u5341:10,\u767E:100,\u5343:1e3,\u4E07:1e4},s=0,i=0,a=0;for(let o of e){if(r[o]!==void 0){a=r[o];continue}let c=n[o];if(!c)return 0;c===1e4?(i=(i+a)*c,s+=i,i=0):i+=(a||1)*c,a=0}return s+i+a}function j4(t){let e=ns(t).replace(/\.[a-z0-9]{2,5}$/i,""),r=e.match(/(?:^|[^0-9ï¼-ï¼™])(?:第\s*)?([0-9ï¼-ï¼™]{1,4})\s*(?:集|話|è¯|回|期)(?:\D|$)/);return r?"\u7B2C"+aot(r[1]).replace(/^0+/,"")+"\u96C6":(r=e.match(/^0*([1-9][0-9]{0,3})(?=[\s._\-ã€\[((]|$)/),r?"\u7B2C"+r[1]+"\u96C6":"")}function rot(t){let e=aot(ns(t)),r=e.match(/第\s*([0-9]{1,4}|[零〇一二三四五å…七八ä¹å百åƒä¸‡ä¸¤]{1,8})\s*(?:集|話|è¯|回|期)/);return r?fbr(r[1].replace(/^0+/,"")):(r=e.match(/^0*([1-9][0-9]{0,3})(?=[\s._\-ã€\[((]|$)/),r?Number(r[1]):0)}function oot(t,e){let r=voe(iot(t));if(!r)return{name:"",remark:""};let n=r.match(/^[ã€\[]\s*([^】\]]+?)\s*[】\]]/);if(n)return{name:ns(n[1]),remark:j4(e)};let s=r.startsWith("#")?r.replace(/^#+\s*/,"").trim():r;if(!s)return{name:"",remark:""};if(!r.startsWith("#"))return{name:ns(s),remark:j4(e)};let i=s.match(/^(.*?)\s*(第\s*[0-9ï¼-9零〇一二三四五å…七八ä¹å百åƒä¸‡ä¸¤]+\s*(?:集|話|è¯|回|期))(?:\s|$)/);return i?{name:ns(i[1]),remark:ns(i[2]).replace(/\s+/g,"")}:{name:ns(s),remark:j4(e)}}function qg(t){if(!t)return[];if(Array.isArray(t))return t;if(typeof t[Symbol.iterator]=="function"&&typeof t!="string")return[...t].filter(e=>e!=null);if(typeof t.length=="number"&&typeof t!="string"){let e=[];for(let r=0;r<t.length;r++)t[r]!==void 0&&t[r]!==null&&e.push(t[r]);return e}return typeof t=="object"?Object.keys(t).filter(e=>/^\d+$/.test(e)).sort((e,r)=>Number(e)-Number(r)).map(e=>t[e]).filter(e=>e!=null):[]}function Ioe(t){return encodeURIComponent(JSON.stringify(t||{}))}function jg(t){return t?JSON.parse(decodeURIComponent(String(t))):{}}function H4(t){if(t=Number(t||0),!t||t<0)return"";let e=["B","KB","MB","GB","TB"],r=t,n=0;for(;r>=1024&&n<e.length-1;)r/=1024,n++;let s=n===0||r>=100?0:r>=10?1:2;return`${r.toFixed(s)} ${e[n]}`}function pbr(t){if(t=Number(t||0),!t)return"";let e=new Date(t*1e3),r=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),i=String(e.getMinutes()).padStart(2,"0");return`${r}-${n} ${s}:${i}`}function U4(t,e){let r=0;for(let n of e)t.indexOf(n)>=0&&r++;return r}function cot(t){let e=String(t&&t.text||""),r=String(t&&t.name||""),n=(e+`
|
|
`+r).toLowerCase();if(!n.trim())return!1;let i=U4(n,["@duguan","\u8D4C\u9986","\u6D3B\u52A8\u9891\u9053","\u9996\u5B58","\u6D41\u6C34","\u6CE8\u518C\u9001","\u65B0\u7528\u6237\u6CE8\u518C","\u5173\u95EDvpn","\u5A31\u4E50\u57CE","\u5A31\u4E50\u5E73\u53F0","\u8D4C\u573A","\u535A\u5F69","\u767E\u5BB6\u4E50","\u516D\u5408\u5F69","\u9001\u5F69\u91D1","\u5F69\u91D1","\u6295\u6CE8","\u5145\u503C","\u63D0\u6B3E","\u63D0\u73B0","\u4E0A\u5206","\u4E0B\u5206","\u8FD4\u6C34","\u4F63\u91D1","\u76D8\u53E3","\u9A8C\u8D44","\u5B98\u65B9\u5BA2\u670D","\u798F\u5229\u9891\u9053","\u6CE8\u518C\u7F51\u5740","\u62C5\u4FDD\u57DF\u540D"]),a=U4(n,["\u6CE8\u518C","\u9996\u5B58","\u9996\u5145","\u5145\u503C","\u5B58\u6B3E","\u6D41\u6C34","\u8FD4\u6C34","\u4E0B\u6CE8","\u6295\u6CE8","\u4E0A\u5206","\u4E0B\u5206","\u5F69\u91D1","\u9001\u5F69\u91D1","\u4F63\u91D1","\u6551\u63F4\u91D1","\u63D0\u6B3E","\u63D0\u73B0","\u51FA\u6B3E","\u9886\u53D6"]),o=U4(n,["\u6D3B\u52A8\u9891\u9053","\u5E73\u53F0","\u4FE1\u8A89\u5E73\u53F0","\u5A31\u4E50\u57CE","\u5A31\u4E50\u5E73\u53F0","\u8D4C\u573A","\u535A\u5F69","\u767E\u5BB6\u4E50","\u516D\u5408\u5F69","\u89C6\u8BAF","\u771F\u4EBA","\u76D8\u53E3","\u72D7\u5E84","pg\u96C6\u56E2","pg\u5A31\u4E50\u57CE","pg\u76F4\u8425","\u6C47\u65FA","\u8C6A\u535A\u5A31\u4E50","\u9A8C\u8D44","vpn","\u6D4F\u89C8\u5668\u75284g\u7F51\u7EDC"]),c=U4(n,["\u5B98\u65B9\u5BA2\u670D","\u798F\u5229\u9891\u9053","\u6CE8\u518C\u7F51\u5740","\u62C5\u4FDD\u57DF\u540D","\u603B\u7FA4","\u5BA2\u670D","\u9891\u9053","bot","http://","https://"]),u=(n.match(/@[a-z0-9_]{4,}/g)||[]).length,l=(n.match(/[a-z0-9][a-z0-9-]+\.(?:com|net|cc|top|vip|app)\b/g)||[]).length,d=(n.match(/注册/g)||[]).length>=3;return i>=2||a>0&&o>0||a>=2&&(c>0||u>=2||l>0)||o>=2&&(c>0||u>=2||l>0)||d}async function mbr(t){let e=process.env.TGFILEBOT_URL||await Eoe(t),r=process.env.TGFILEBOT_PASSWORD||process.env.TGFILEBOT_KEY||await _oe(t);return{url:dbr(e)||cbr,password:String(r||"").trim()}}async function uot(t,e,r={}){let n=await mbr(t),s=new URL(e,n.url+"/"),i={...r};n.password&&(i.key=n.password);for(let[a,o]of Object.entries(i))o==null||o===""||s.searchParams.set(a,String(o));return s.toString()}async function G4(t,e,r={},n=3e4){let s=await uot(t,e,r),i=await Ae.get(s,{timeout:n,validateStatus:()=>!0});if(i.status<200||i.status>=300)throw new Error(`TGFileBot ${e} HTTP ${i.status}`);return typeof i.data=="string"?JSON.parse(i.data):i.data||{}}function hbr(t){let e=ns(t);return e?e.startsWith("#")?[e]:[e,"#"+e]:[]}function q4(t){return voe(t).replace(/^#+\s*/,"").replace(/[\s._\-::,,.。!ï¼??ã€/\\|()[\]ã€ã€‘()《》<>〈〉"'“â€â€˜â€™Â·]/g,"").toLowerCase()}function gbr(t){return String(t||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Abr(t,e){let r=ns(e).replace(/^#+\s*/,"");return r?new RegExp("(^|\\s)#"+gbr(r)+"(?=\\s|$|#)").test(String(t||"")):!1}function Q4(t){try{return jg(t&&t.vod_id)}catch{return{}}}function ybr(t,e){let r=Q4(t),n=q4(ns(e).replace(/^#+\s*/,""));if(!n)return 0;let s=q4(r.name||t&&t.vod_name||""),i=q4(iot(r.text||"")),a=q4(r.text||"");return s===n?100:i===n?98:Abr(r.text||"",e)?95:s.startsWith(n)?80:i.startsWith(n)?75:s.indexOf(n)>=0?60:i.indexOf(n)>=0?50:a.indexOf(n)>=0?10:0}function xbr(t,e){return t.map((r,n)=>{let s=Q4(r);return{video:r,index:n,score:ybr(r,e),date:Number(s.date||0)}}).sort((r,n)=>n.score!==r.score?n.score-r.score:n.date!==r.date?n.date-r.date:r.index-n.index).map(r=>r.video)}function bbr(t,e){let r=new Set(t.map(n=>{let s=Q4(n);return`${s.cid||""}:${s.mid||""}`}));for(let n of e){let s=Q4(n),i=`${s.cid||""}:${s.mid||""}`;i!==":"&&r.has(i)||(i!==":"&&r.add(i),t.push(n))}return t}function Ebr(t,e=""){let r=oot(t?.text||t?.name,t?.name),n=r.name||ns(t?.name)||`Telegram ${t?.mid||""}`.trim(),s=r.remark||ns(t?.remark),i={cid:t?.cid,mid:t?.mid,reply_mid:t?.reply_mid||0,name:n,remark:s,text:t?.text||"",size:t?.size||0,date:t?.date||0,channel:e||""};return{vod_id:Ioe(i),vod_name:n,type_name:e||"",vod_pic:t?.pic||t?.cover||t?.thumb||not,vod_remarks:i.remark||"",topRightRemarks:H4(t?.size)||""}}function lot(t){let e=[];for(let r of qg(t)){let n=r&&r.channel?r.channel:"",s=qg(r&&r.item);for(let i of s)!i||cot(i)||e.push(Ebr(i,n))}return e.sort((r,n)=>{try{return Number(jg(n.vod_id).date||0)-Number(jg(r.vod_id).date||0)}catch{return 0}}),e}function _br(t){if(!t||!t.cid)return!1;if(t.reply_mid)return!0;let e=String(t.text||"");return e.trim()?/(剧集选择|评论区|评论|留言|回å¤|comment=|t\.me\/[a-z0-9_]+\/\d+\?comment=|t\.me\/c\/\d+\/\d+\?comment=)/i.test(e):!1}function dot(t,e){return`${sot(t)}$${Ioe(Sbr(e))}`}function Sbr(t){return{cid:t?.cid,mid:t?.mid,reply_mid:t?.reply_mid||0,name:t?.name||"",remark:t?.remark||"",size:t?.size||0,date:t?.date||0,channel:t?.channel||""}}function vbr(t){let e=String(t||""),r=e.indexOf("$");return r<0?{title:e,token:""}:{title:e.slice(0,r),token:e.slice(r+1)}}function Ibr(t){let e=vbr(t);try{let r=jg(e.token),n=rot(r.remark||"");if(n>0)return n}catch{}return rot(e.title)}function Cbr(t){return t.map((e,r)=>({item:e,index:r,episode:Ibr(e)})).sort((e,r)=>{let n=e.episode>0,s=r.episode>0;return n&&s&&e.episode!==r.episode?e.episode-r.episode:n!==s?n?-1:1:e.index-r.index}).map(e=>e.item)}function fot(t,e){let r=sot(t),n=H4(e);return!n||r.indexOf(n)>=0?r:`${r} ${n}`}function Tbr(t){return t&&t.items?qg(t.items):t&&t.item?[t]:qg(t)}function wbr(t,e,r){let n=new Set;for(let s of t){let i=String(s).split("$").slice(1).join("$");try{let a=jg(i);n.add(`${a.cid||""}:${a.mid||""}`)}catch{}}for(let s of qg(r)){let i=qg(s&&s.item);for(let a of i){if(!a||!a.cid||!a.mid||cot(a))continue;let o=`${a.cid}:${a.mid}`;if(n.has(o))continue;let c=oot(a.text||e.text||a.name,a.name),u=c.name||e.name,l=c.remark||j4(a.name)||"",d={...e,cid:a.cid,mid:a.mid,reply_mid:a.reply_mid||0,name:u,remark:l,size:a.size||0,date:a.date||e.date||0,text:a.text||e.text||""},f=l||ns(a.name)||e.remark||e.name;n.add(o),t.push(dot(fot(f,a.size),d))}}return t}async function Rbr(t,e){try{let r=await G4(t.server,"/channels",{},12e3);return{class:qg(r.channels).map(s=>{let i=ns(s&&s.id);return i?{type_id:i,type_name:ns(s.name)||i}:null}).filter(Boolean)}}catch(r){return console.error("[tgfilebot] channels failed",r?.message||r),{class:[]}}}async function Nbr(t,e){let r=Math.max(Number.parseInt(t.body?.page||"1",10)||1,1),n=ns(t.body?.id||"all")||"all",s=await G4(t.server,"/latest",{channel:n,page:r,limit:_w}),i=lot(s.items);return{page:r,pagecount:s.more?r+1:r,limit:_w,total:s.total||i.length,list:i}}async function Obr(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r.filter(Boolean)){let i=jg(s),a=Ioe(i),o=ns(i.name)||`Telegram ${i.mid||""}`.trim(),c=[dot(fot(i.remark||o,i.size),i)];try{let l=i.reply_mid||i.mid;if(i.cid&&l&&_br(i)){let d=await G4(t.server,"/replies",{cid:i.cid,mid:l,limit:ubr},2e4);wbr(c,i,Tbr(d))}}catch(l){console.error("[tgfilebot] replies skipped",l?.message||l)}let u=[i.remark?`Remark: ${i.remark}`:"",i.channel?`Channel: ${i.channel}`:"",i.cid?`CID: ${i.cid}`:"",i.mid?`MID: ${i.mid}`:"",i.size?`Size: ${H4(i.size)}`:"",i.date?`Date: ${pbr(i.date)}`:"",ns(i.text||"")].filter(Boolean).join(`
|
|
`);n.push({vod_id:a,vod_name:o,type_name:i.channel||"",vod_pic:i.pic||not,vod_remarks:i.remark||"",topRightRemarks:H4(i.size)||"",vod_content:u,vod_play_from:"TGFileBot",vod_play_url:Cbr(c).join("#")})}return{list:n}}async function Pbr(t,e){let r=jg(t.body?.id);return!r.cid||!r.mid?{parse:0,url:""}:{parse:0,url:await uot(t.server,"/stream",{cid:r.cid,mid:r.mid,cate:"user"})}}async function kbr(t,e){let r=ns(t.body?.wd||""),n=Math.max(Number.parseInt(t.body?.page||"1",10)||1,1);if(!r)return{page:n,pagecount:n,list:[]};let s=[];for(let i of hbr(r))try{let a=await G4(t.server,"/search",{keywords:i,page:n,limit:_w},2e4);s=bbr(s,lot(a.items))}catch(a){console.error("[tgfilebot] search variant failed",i,a?.message||a)}return s=xbr(s,r),{page:n,pagecount:s.length>=_w?n+1:n,limit:_w,total:s.length,list:s}}var pot={meta:{key:"tgfilebot",name:"\u300C\u76F4\u300DTGFileBot",type:3},api:async t=>{t.post("/init",lbr),t.post("/home",Rbr),t.post("/category",Nbr),t.post("/detail",Obr),t.post("/play",Pbr),t.post("/search",kbr)}};var hot=Re(vv(),1),Coe=Re(Jn(),1),Hg="https://frodo.douban.com",ci={},mot=t=>`Rexxar-Core/0.1.3 api-client/1 com.douban.frodo/7.9.0(216) Android/28 product/Xiaomi11 rom/android network/wifi udid/${t} platform/mobile com.douban.frodo/7.9.0(216) Rexxar/1.2.151 platform/mobile 1.2.151`;async function got(t){if(ci.id&&ci.ua)return ci;let e=t.server.prefix+"/device";return ci=await t.server.db.getObjectDefault(e,{}),ci.id?ci.ua||(ci.ua=mot(ci.id),await t.server.db.push(e,ci)):(ci.id=Th(40).toLowerCase(),ci.ua=mot(ci.id),await t.server.db.push(e,ci)),ci}function Qg(t){t+=`&udid=${ci.id}&uuid=${ci.id}&&rom=android&apikey=0dad551ec0f84ed02907ff5c42e8ec70&s=rexxar_new&channel=Yingyongbao_Market&timezone=Asia/Shanghai&device_id=${ci.id}&os_rom=android&apple=c52fbb99b908be4d026954cc4374f16d&mooncake=0f607264fc6318a92b9e13c65db7cd3c&sugar=0`;let e=new URL(t),r=(0,hot.default)().unix().toString(),n=Coe.default.HmacSHA1("GET&"+encodeURIComponent(e.pathname)+"&"+r,"bf7dddc7c9cfe6f7"),s=Coe.default.enc.Base64.stringify(n);return t+"&_sig="+encodeURIComponent(s)+"&_ts="+r}async function Gg(t,e){return(await he.get(t,{headers:{"User-Agent":e||ci.ua}})).data}async function Dbr(t,e){return await got(t),{}}async function Bbr(t,e){let r=[{type_id:"t1",type_name:"\u70ED\u64AD"},{type_id:"t2",type_name:"\u7247\u5E93"},{type_id:"t250",type_name:"Top250"},{type_id:"t3",type_name:"\u699C\u5355",ratio:1},{type_id:"t4",type_name:"\u7247\u5355",ratio:1}],n={};return n.t1=[{key:"u",name:"",init:"movie/hot_gaia",value:[{n:"\u7535\u5F71",v:"movie/hot_gaia"},{n:"\u7535\u89C6\u5267",v:"subject_collection/tv_hot/items"},{n:"\u56FD\u4EA7\u5267",v:"subject_collection/tv_domestic/items"},{n:"\u7F8E\u5267",v:"subject_collection/tv_american/items"},{n:"\u65E5\u5267",v:"subject_collection/tv_japanese/items"},{n:"\u97E9\u5267",v:"subject_collection/tv_korean/items"},{n:"\u52A8\u6F2B",v:"subject_collection/tv_animation/items"},{n:"\u7EFC\u827A",v:"subject_collection/show_hot/items"}]}],n.t4=[{key:"type",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7535\u5F71",v:"movie"},{n:"\u7535\u89C6\u5267",v:"tv"}]},{key:"cate",name:"",init:"all",value:[{n:"\u5168\u90E8",v:"all"},{n:"\u8C46\u74E3\u7247\u5355",v:"official"},{n:"\u7CBE\u9009",v:"selected"},{n:"\u7ECF\u5178",v:"classical"},{n:"\u83B7\u5956",v:"prize"},{n:"\u9AD8\u5206",v:"high_score"},{n:"\u699C\u5355",v:"movie_list"},{n:"\u51B7\u95E8\u4F73\u7247",v:"dark_horse"},{n:"\u4E3B\u9898",v:"topic"},{n:"\u5BFC\u6F14",v:"director"},{n:"\u6F14\u5458",v:"actor"},{n:"\u7CFB\u5217",v:"series"}]}],n.t2=[{key:"form",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7535\u5F71",v:"\u7535\u5F71"},{n:"\u7535\u89C6\u5267",v:"\u7535\u89C6\u5267"},{n:"\u52A8\u6F2B",v:"\u52A8\u753B"},{n:"\u7EFC\u827A",v:"\u7EFC\u827A"},{n:"\u7EAA\u5F55\u7247",v:"\u7EAA\u5F55\u7247"},{n:"\u77ED\u7247",v:"\u77ED\u7247"}]},{key:"genre",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u5BB6\u5EAD",v:"\u5BB6\u5EAD"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"},{n:"\u9752\u6625",v:"\u9752\u6625"},{n:"\u540C\u6027",v:"\u540C\u6027"},{n:"\u97F3\u4E50",v:"\u97F3\u4E50"},{n:"\u6B4C\u821E",v:"\u6B4C\u821E"},{n:"\u5386\u53F2",v:"\u5386\u53F2"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u4F20\u8BB0",v:"\u4F20\u8BB0"},{n:"\u8FD0\u52A8",v:"\u8FD0\u52A8"},{n:"\u897F\u90E8",v:"\u897F\u90E8"},{n:"\u707E\u96BE",v:"\u707E\u96BE"}]},{key:"region",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u4E2D\u56FD\u9999\u6E2F",v:"\u4E2D\u56FD\u9999\u6E2F"},{n:"\u4E2D\u56FD\u53F0\u6E7E",v:"\u4E2D\u56FD\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u5FB7\u56FD",v:"\u5FB7\u56FD"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u610F\u5927\u5229",v:"\u610F\u5927\u5229"},{n:"\u52A0\u62FF\u5927",v:"\u52A0\u62FF\u5927"},{n:"\u6FB3\u5927\u5229\u4E9A",v:"\u6FB3\u5927\u5229\u4E9A"},{n:"\u4FC4\u7F57\u65AF",v:"\u4FC4\u7F57\u65AF"},{n:"\u745E\u5178",v:"\u745E\u5178"},{n:"\u4E39\u9EA6",v:"\u4E39\u9EA6"},{n:"\u5DF4\u897F",v:"\u5DF4\u897F"},{n:"\u58A8\u897F\u54E5",v:"\u58A8\u897F\u54E5"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2010\u5E74\u4EE3",v:"2010\u5E74\u4EE3"},{n:"2000\u5E74\u4EE3",v:"2000\u5E74\u4EE3"},{n:"90\u5E74\u4EE3",v:"90\u5E74\u4EE3"},{n:"80\u5E74\u4EE3",v:"80\u5E74\u4EE3"},{n:"70\u5E74\u4EE3",v:"70\u5E74\u4EE3"},{n:"60\u5E74\u4EE3",v:"60\u5E74\u4EE3"},{n:"\u66F4\u65E9",v:"\u66F4\u65E9"}]},{key:"sort",name:"",init:"U",value:[{n:"\u70ED\u5EA6",v:"U"},{n:"\u8BC4\u5206",v:"S"},{n:"\u65F6\u95F4",v:"R"}]}],{class:r,filters:n}}async function Lbr(t,e){await got(t);let r=t.body.id,n=t.body.page,s=t.body.filters,i=n||1;if(i==0&&(i=1),r=="t1"){let a=Qg(`${Hg}/api/v2/${s.u||"movie/hot_gaia"}?area=\u5168\u90E8&sort=recommend&playable=0&loc_id=0&start=${(i-1)*30}&count=30`),o=await Gg(a),c=[];for(let u of o.items||o.subject_collection_items){let l=(u.rating&&u.rating.value||"").toString();c.push({vod_id:u.id,vod_name:u.title,vod_pic:u.pic.normal||u.pic.large,vod_remarks:l.length>0?"\u8BC4\u5206:"+l:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r=="t250"){let a=Qg(`${Hg}/api/v2/subject_collection/movie_top250/items?area=\u5168\u90E8&sort=recommend&playable=0&loc_id=0&start=${(i-1)*30}&count=30`),o=await Gg(a),c=[];for(let u of o.items||o.subject_collection_items){let l=(u.rating&&u.rating.value||"").toString();c.push({vod_id:u.id,vod_name:u.title,vod_pic:u.pic.normal||u.pic.large,vod_remarks:l.length>0?"\u8BC4\u5206:"+l:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r=="t2"){let a=s.form||"",o=s.genre||"",c=s.region||"",u=s.year||"",l=s.sort||"U",d=a,f=o,p="movie";d==="\u52A8\u753B"&&(d="\u7535\u89C6\u5267",f||(f="\u52A8\u753B")),(d==="\u7535\u89C6\u5267"||d==="\u7EFC\u827A")&&(p="tv");let m={};f&&(m.\u7C7B\u578B=f),d&&(m.\u5F62\u5F0F=d),c&&(m.\u5730\u533A=c);let h=[];a&&h.push(a),o&&h.push(o),c&&h.push(c),u&&h.push(u);let A=new URLSearchParams({refresh:"0",start:((i-1)*30).toString(),count:"30",selected_categories:JSON.stringify(m),uncollect:"false",score_range:"0,10"});l&&A.append("sort",l),h.length>0&&A.append("tags",h.join(","));let g=`https://m.douban.com/rexxar/api/v2/${p}/recommend?${A.toString()}`,y=(await he.get(g,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Referer:"https://m.douban.com/"}})).data,x=y&&y.items?y.items:[],v=[];for(let I of x)if(I&&(I.type==="movie"||I.type==="tv")){let R="";if(I.rating&&typeof I.rating.value<"u"){let w=I.rating.value;R=typeof w=="number"?w.toFixed(1):w.toString()}v.push({vod_id:I.id||"",vod_name:I.title||"",vod_pic:I.pic&&(I.pic.normal||I.pic.large)||"",vod_remarks:R?"\u8BC4\u5206:"+R:""})}return{page:parseInt(i),pagecount:i<10?i+1:i,list:v}}else if(r=="t3"){let a=Qg(`${Hg}/api/v2/movie/category_ranks?count=30&category=recent_hot`),o=await Gg(a),c=[];for(let u of o.selected_collections)c.push({vod_id:"cr_"+u.id,vod_name:u.short_name||u.title,vod_pic:u.cover_url,vod_remarks:"",cate:{}});a=Qg(`${Hg}/api/v2/tv/category_ranks?count=30&category=recent_hot`),o=await Gg(a);for(let u of o.selected_collections)c.push({vod_id:"cr_"+u.id,vod_name:u.short_name||u.title,vod_pic:u.cover_url,vod_remarks:"",cate:{}});return{page:1,pagecount:1,list:c}}else if(r=="t4"){let a=Qg(`${Hg}/api/v2/skynet/new_playlists?subject_type=${s.type||""}&category=${s.cate||"all"}&loc_id=0&start=${(i-1)*30}&count=30`),o=await Gg(a),c=[];for(let u of o.data[0].items)c.push({vod_id:u.owner?"dl_"+u.id:"cr_"+u.id,vod_name:u.title,vod_pic:u.cover_url,vod_remarks:"",cate:{}});return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r.startsWith("cr_")){let a=Qg(`${Hg}/api/v2/subject_collection/${r.substring(3)}/items?start=${(i-1)*30}&count=30&updated_at=&items_only=1`),o=await Gg(a),c=[];for(let u of o.subject_collection_items){let l=(u.rating&&u.rating.value||"").toString();c.push({vod_id:u.id,vod_name:u.title,vod_pic:u.pic.normal||u.pic.large,vod_remarks:l.length>0?"\u8BC4\u5206:"+l:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r.startsWith("dl_")){let a=Qg(`${Hg}/api/v2/doulist/${r.substring(3)}/posts?start=${(i-1)*30}&count=30&updated_at=&items_only=1`),o=await Gg(a),c=[];for(let u of o.items){let l=u.content.subject;if(!l)continue;let d=(l.rating&&l.rating.value||"").toString();c.push({vod_id:l.id,vod_name:l.title,vod_pic:l.pic.normal||l.pic.large,vod_remarks:d.length>0?"\u8BC4\u5206:"+d:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}}async function Mbr(t,e){return{}}async function Wbr(t,e){return{}}async function $br(t,e){return{}}async function Fbr(t,e){try{let r=function(a){a.statusCode&&a.statusCode==500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);if(s.init=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/home`),s.home=i.json(),r(i.json()),s.home.class.length>0&&(i=await t.server.inject().post(`${n}/category`).payload({id:s.home.class[0].type_id,page:1,filter:!0,filters:{}}),s.category=i.json(),r(i.json()),s.category.list.length>0&&(i=await t.server.inject().post(`${n}/detail`).payload({id:s.category.list[0].vod_id}),s.detail=i.json(),r(i.json()),s.detail.list&&s.detail.list.length>0))){s.play=[];for(let a of s.detail.list){let o=a.vod_play_from.split("$$$"),c=a.vod_play_url.split("$$$");for(let u=0;u<o.length;u++){let l=o[u],d=c[u].split("#");for(let f=0;f<d.length&&f<2;f++)i=await t.server.inject().post(`${n}/play`).payload({flag:l,id:d[f].split("$")[1]}),s.play.push(i.json())}}}return i=await t.server.inject().post(`${n}/search`).payload({wd:"\u7231",page:1}),s.search=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Aot={meta:{key:"douban",name:"\u300C\u8350\u300D\u8C46\u74E3",type:3,indexs:1},api:async t=>{t.post("/init",Dbr),t.post("/home",Bbr),t.post("/category",Lbr),t.post("/detail",Mbr),t.post("/play",Wbr),t.post("/search",$br),t.get("/test",Fbr)}};function Ubr(t){let e=String(t||"").split("#")[0]||"",r=e.indexOf("$");return r>0?e.slice(0,r).trim():""}async function qbr(t,e){return{}}async function jbr(t,e){return"true"}async function Hbr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i={vod_id:s,vod_content:"",vod_name:s,vod_pic:"https://pic.rmb.bdstatic.com/bjh/1d0b02d0f57f0a42201f92caba5107ed.jpeg"},a=await wr(s,t);if(a){i.vod_play_from=a.froms,i.vod_play_url=a.urls;let o=Ubr(i.vod_play_url);o&&(i.vod_name=o)}n.push(i)}return{list:n}}async function Qbr(t,e){try{let r=function(a){a.statusCode&&a.statusCode==500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/support`).payload({clip:"https://xx.xx/1.m3u8"});return s.support=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/detail`).payload({id:"https://xx.xx/1.m3u8"}),s.detail=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/play`).payload({flag:"xx",id:"https://xx.xx/1.m3u8"}),s.play=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var yot={meta:{key:"push",name:"\u63A8\u9001",type:4},api:async t=>{t.post("/init",qbr),t.post("/support",jbr),t.post("/detail",Hbr),t.post("/play",Nr),t.get("/test",Qbr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)}};var V4=async(t,e,r)=>(await t.db.getObjectDefault("/pansou",{}))?.[e]||t.config.pansou?.[e]||r,Toe=async t=>V4(t,"url","https://pan.199333.xyz"),woe=async t=>{let e=await V4(t,"channels","");return e?e.split(",").map(r=>r.trim()).filter(r=>r):[]},Roe=async t=>{let e=await V4(t,"plugins","");return e?e.split(",").map(r=>r.trim()).filter(r=>r):[]},Noe=async t=>{let e=await V4(t,"cloudTypes","");return e?e.split(",").map(r=>r.trim()).filter(r=>r):[]},K4=async(t,e,r)=>{await t.db.push(`/pansou/${e}`,r)},Gbr=async t=>{await t.db.delete("/pansou")};async function Ooe(t){t.get("/config",async(e,r)=>{let n=await Toe(e.server),s=await woe(e.server),i=await Roe(e.server),a=await Noe(e.server);r.send({code:0,data:{url:n,channels:s,plugins:i,cloudTypes:a}})}),t.put("/config",async(e,r)=>{await K4(e.server,"url",e.body.url||""),await K4(e.server,"channels",Array.isArray(e.body.channels)?e.body.channels.join(","):""),await K4(e.server,"plugins",Array.isArray(e.body.plugins)?e.body.plugins.join(","):""),await K4(e.server,"cloudTypes",Array.isArray(e.body.cloudTypes)?e.body.cloudTypes.join(","):""),r.send({code:0})}),t.delete("/config",async(e,r)=>{await Gbr(e.server),r.send({code:0})})}var bot={},Poe="pansou_group@@@",Kbr=5*60*1e3,Vbr=30,uE=new Map,zbr={ali:"aliyun",aliyun:"aliyun",alipan:"aliyun",a189:"tianyi",189:"tianyi",tianyi:"tianyi",yidong:"mobile",mobile:"mobile",a139:"mobile",cmcc:"mobile",123:"123",pan123:"123","123pan":"123",a115:"115",pan115:"115",thunder:"xunlei"},Ybr={aliyun:"ali",mobile:"yidong",123:"123",115:"115"};function Kg(t){let e=String(t||"").trim().toLowerCase();return zbr[e]||e}function xot(t){return[...new Set((t||[]).map(Kg).filter(Boolean))]}function Jbr(t,e,r=""){let n=[t,e,r].map(s=>encodeURIComponent(s||""));return`${Poe}${n.join("@@@")}`}function Eot(t,e=!1){let r=String(t||"").trim();if(!r)return null;if(r.startsWith(Poe)){let n=r.slice(Poe.length).split("@@@");return n.length<2?null:{cloudType:decodeURIComponent(n[0]||""),keyword:decodeURIComponent(n[1]||""),searchToken:decodeURIComponent(n[2]||"")}}if(e&&r.includes("|")){let n=r.indexOf("|");return{cloudType:r.slice(0,n),keyword:r.slice(n+1),searchToken:""}}return null}function _ot(t){let e=Kg(t),r=Ybr[e]||e;return rf().find(n=>n.key===r||Kg(n.key)===e)}function Sot(t){return String(t?.url||t?.URL||"").replace(/\s+/g,"")}function vot(t,e=null){let r=Kg(t),n=e||_ot(r);return{key:r,name:n?.name||r,pic:n?.pic||""}}async function koe(t){return{apiUrl:await Toe(t),channels:await woe(t),plugins:await Roe(t),cloudTypes:await Noe(t)}}function Xbr(t,e,r=""){let n={kw:t};return e.channels.length>0&&(n.channels=e.channels),e.plugins.length>0&&(n.plugins=e.plugins),r?n.cloud_types=xot([r]):e.cloudTypes.length>0&&(n.cloud_types=xot(e.cloudTypes)),n}function Zbr(){return`${Date.now().toString(36)}${Math.random().toString(36).slice(2,10)}`}function eEr(t){let e=uE.get(t);return e?e.expiresAt<=Date.now()?(uE.delete(t),null):e.mergedByType:null}function tEr(t){if(!t||typeof t!="object")return"";let e=Zbr();for(uE.set(e,{mergedByType:t,expiresAt:Date.now()+Kbr});uE.size>Vbr;){let r=uE.keys().next().value;uE.delete(r)}return e}function rEr(t){return t?t.startsWith("tg:")?t.substring(3):t.startsWith("plugin:")?t.substring(7):t:null}function nEr(t){return t?t.replace(/^(åç§°[::])/,"").replace(/\s+/g," ").trim():""}function sEr(t,e,r=""){let n=Kg(r),s=new Map;for(let[a,o]of Object.entries(t))if(!(n&&Kg(a)!==n)&&Array.isArray(o))for(let c of o){let u=Sot(c);if(!u)continue;let l=rf().find(A=>A.validator(u));if(!l)continue;let d=vot(a,l),f=c.images&&Array.isArray(c.images)&&c.images.length>0,p=f?c.images[0]:d.pic,m=f?p:u;s.has(m)||s.set(m,{links:[],panInfos:[],sources:[],pic:p,title:nEr(c.note||e)});let h=s.get(m);if(!h.links.includes(u)&&(h.links.push(u),h.panInfos.push(d),c.source)){let A=rEr(c.source);A&&!h.sources.includes(A)&&h.sources.push(A)}}let i=[];for(let[,a]of s.entries()){let o=[...new Set(a.panInfos.map(u=>u.name))].join("/"),c=a.sources.length>0?`:${a.sources[0]}`:"";i.push({vod_id:a.links.join("|"),vod_name:a.title,vod_pic:a.pic,vod_remarks:`${o}${c}`})}return i}function iEr(t,e,r=""){let n=new Map;for(let[s,i]of Object.entries(t||{})){if(!Array.isArray(i))continue;let a=String(s||"").trim(),o=Kg(a);if(!o)continue;let c=_ot(o),u=vot(o,c);for(let l of i){let d=Sot(l);d&&(n.has(o)||n.set(o,{cloudType:o,requestCloudType:a||o,name:u.name,pic:u.pic,links:new Set}),n.get(o).links.add(d))}}return[...n.values()].map(s=>{let i=Jbr(s.requestCloudType,e,r);return{vod_id:i,vod_name:s.name||s.cloudType,vod_pic:s.pic||"",vod_remarks:`${s.links.size}\u6761\u7ED3\u679C`,vod_tag:"folder",type_id:"pan_category",type_name:"\u7F51\u76D8\u5206\u7C7B",panType:s.cloudType,cate:{id:i,name:s.name||s.cloudType}}})}async function Iot(t,e,r="",n=null){n=n||await koe(t);let s=Xbr(e,n,r);return Ae.post(`${n.apiUrl}/api/search`,s)}function aEr(t){t.forEach(e=>{e.vod_name&&e.vod_id&&(bot[e.vod_id]=e.vod_name)})}async function oEr(t,e){return await qr(t,e),{}}async function cEr(t,e){return{class:[]}}async function uEr(t,e){let r=Eot(t.body?.id||t.body?.type_id||t.body?.categoryId,!0);return r?.cloudType&&r?.keyword?dEr(t,r.keyword,r.cloudType,r.searchToken):{page:1,pagecount:1,list:[]}}async function lEr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){if(Eot(s))continue;let i=s.includes("|")?s.split("|"):[s],a=await wr(i,t),o={};o.vod_name=bot[s]||"",a&&(o.vod_play_from=a.froms,o.vod_play_url=a.urls),n.push(o)}return{list:n}}async function dEr(t,e,r,n=""){try{let s=String(e||"").trim(),i=parseInt(t.body?.page||"1",10)||1;if(!s)return{page:i,pagecount:1,list:[]};if(i>1)return{page:i,pagecount:1,list:[]};let a=await koe(t.server),o=n?eEr(n):null;if(o||(o=(await Iot(t.server,s,r,a)).data?.data?.merged_by_type),o){let c=sEr(o,s,r);return aEr(c),{page:1,pagecount:1,list:c}}}catch(s){console.error("PanSou category search error:",s)}return{page:1,pagecount:1,list:[]}}async function fEr(t,e){try{let r=String(t.body.wd||"").trim(),n=parseInt(t.body?.page||"1",10)||1;if(!r)return{page:n,pagecount:1,list:[]};if(n>1)return{page:n,pagecount:1,list:[]};let s=await koe(t.server),i=await Iot(t.server,r,"",s);if(i.data&&i.data.data&&i.data.data.merged_by_type){let a=i.data.data.merged_by_type,o=tEr(a);return{page:1,pagecount:1,list:iEr(a,r,o)}}return{page:1,pagecount:1,list:[]}}catch(r){return console.error("PanSou search error:",r),{page:1,pagecount:1,list:[]}}}var Cot={meta:{key:"pansou",name:"\u300C\u76D8\u300DPanSou",type:3},api:async t=>{t.post("/init",oEr),t.post("/home",cEr),t.post("/category",uEr),t.post("/detail",lEr),t.post("/play",Nr),t.post("/search",fEr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)}};var lE=async t=>{let e=await t.db.getObjectDefault("/live2vod",{});return{sources:e?.sources||t.config.live2vod?.sources||[],showMode:e?.showMode||t.config.live2vod?.showMode||"groups",def_pic:e?.def_pic||t.config.live2vod?.def_pic||"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/hipy-server/master/app/static/img/lives.jpg"}},Doe=async(t,e)=>{await t.db.push("/live2vod",e)},pEr=async t=>{await t.db.delete("/live2vod")};async function Boe(t){t.get("/config",async(e,r)=>{r.send({code:0,data:await lE(e.server)})}),t.put("/config",async(e,r)=>{await Doe(e.server,e.body),r.send({code:0})}),t.delete("/config",async(e,r)=>{await pEr(e.server),r.send({code:0})}),t.get("/sources",async(e,r)=>{let n=await lE(e.server);r.send({code:0,data:n.sources||[]})}),t.post("/sources",async(e,r)=>{let{name:n,url:s,img:i}=e.body;if(!n||!s){r.code(400).send({code:1,msg:"\u540D\u79F0\u548CURL\u4E0D\u80FD\u4E3A\u7A7A"});return}let a=await lE(e.server);a.sources=a.sources||[],a.sources.push({name:n,url:s,img:i||""}),await Doe(e.server,a),r.send({code:0})}),t.delete("/sources/:index",async(e,r)=>{let n=parseInt(e.params.index),s=await lE(e.server);s.sources&&n>=0&&n<s.sources.length?(s.sources.splice(n,1),await Doe(e.server,s),r.send({code:0})):r.code(404).send({code:1,msg:"\u7D22\u5F15\u65E0\u6548"})})}var Mo={sources:[],def_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/hipy-server/master/app/static/img/lives.jpg"},Sw={},z4={};async function mEr(t){return(await he(t,{method:"get",headers:{"User-Agent":"okhttp/3.14.9"},timeout:1e4})).data}function hEr(t){let e=t.split(`
|
|
`),r={},n=[],s=null;return e.forEach(i=>{if(i=i.trim(),i.startsWith("#EXTINF:")){let a=i.replace(/'/g,'"'),o="\u672A\u77E5\u9891\u9053",c="";try{let l=a.match(/group-title="(.*?)"/);l&&(o=l[1].trim())}catch{}try{let l=a.match(/tvg-logo="(.*?)"/);l&&(c=l[1].trim())}catch{}s={name:i.split(",").slice(-1)[0].trim(),logo:c,group:o}}else if(i.startsWith("http")&&s){let a=s.group;r[a]||(r[a]=[],n.push(a)),r[a].push({name:s.name,url:i,logo:s.logo}),s=null}}),{groups:r,groupNames:n}}function gEr(t){let e=t.split(`
|
|
`),r={},n=[],s="";return e.forEach(i=>{if(i=i.trim(),!!i){if(/,#/.test(i))s=i.split(",")[0].trim(),r[s]||(r[s]=[],n.push(s));else if(i.includes(",")&&s){let a=i.split(",");a.length>=2&&a[1].trim().startsWith("http")&&r[s].push({name:a[0].trim(),url:a[1].trim(),logo:""})}}}),{groups:r,groupNames:n}}async function Y4(t){if(Sw[t])return Sw[t];let e=await mEr(t),r;/#EXTM3U/.test(e)?r=hEr(e):r=gEr(e);for(let n of Object.keys(r.groups)){let s=r.groups[n],i=new Map;s.forEach(a=>{i.has(a.name)?(i.get(a.name).urls.push(a.url),!i.get(a.name).logo&&a.logo&&(i.get(a.name).logo=a.logo)):i.set(a.name,{...a,urls:[a.url]})}),r.groups[n]=Array.from(i.values())}return Sw[t]=r,r}async function AEr(t,e){let r=await lE(t.server);Mo.sources=r.sources||[],Mo.def_pic=r.def_pic||Mo.def_pic,Object.keys(Sw).forEach(s=>delete Sw[s]),z4={};let n=Mo.sources.map(async s=>{try{let i=await Y4(s.url),a=[{n:"\u5168\u90E8",v:""}];i.groupNames.forEach(o=>{a.push({n:o,v:o})}),z4[s.url]=[{key:"group",name:"",init:"",value:a}]}catch(i){console.error(`\u9884\u52A0\u8F7D\u76F4\u64AD\u6E90 ${s.name} \u5931\u8D25: ${i.message}`),z4[s.url]=[]}});return await Promise.all(n),{}}async function yEr(t,e){return{class:Mo.sources.map(n=>({type_id:n.url,type_name:n.name})),filters:z4}}async function xEr(t,e){let r=t.body.id,n=t.body.page||1,i=(t.body.filters||{}).group||"";if(n>1)return{page:n,pagecount:1,list:[]};let o=Mo.sources.find(c=>c.url===r)?.img||"";try{let c=await Y4(r),u=[],l=i?[i]:c.groupNames;for(let d of l){let f=c.groups[d];f&&f.forEach(p=>{u.push({vod_id:r+"$"+d+"$"+p.name,vod_name:p.name,vod_pic:p.logo||o||Mo.def_pic,vod_remarks:d})})}return{page:1,pagecount:1,total:u.length,list:u}}catch(c){return console.error(`\u83B7\u53D6\u5206\u7C7B\u9875\u5931\u8D25: ${c.message}`),{page:1,pagecount:1,list:[]}}}async function bEr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i=s.split("$"),a=i[0],o=i[1],c=i.slice(2).join("$"),u=Mo.sources.find(f=>f.url===a),l=u?.img||"",d=u?.name||"\u76F4\u64AD\u6E90";try{let m=(await Y4(a)).groups[o]?.find(g=>g.name===c);if(!m){n.push({vod_id:s,vod_name:c,vod_pic:l||Mo.def_pic,vod_content:"\u672A\u627E\u5230\u9891\u9053",vod_play_from:d,vod_play_url:""});continue}let A=(m.urls||[m.url]).map((g,b)=>`\u7EBF\u8DEF${b+1}$${g}`);n.push({vod_id:s,vod_name:c,type_name:o,vod_pic:m.logo||l||Mo.def_pic,vod_content:`\u9891\u9053: ${c}
|
|
\u5206\u7EC4: ${o}
|
|
\u6765\u6E90: ${d}`,vod_play_from:d,vod_play_url:A.join("#"),vod_remarks:o})}catch(f){console.error(`\u83B7\u53D6\u8BE6\u60C5\u5931\u8D25: ${f.message}`),n.push({vod_id:s,vod_name:c,vod_pic:l||Mo.def_pic,vod_content:`\u83B7\u53D6\u5931\u8D25: ${f.message}`,vod_play_from:d,vod_play_url:""})}}return{list:n}}async function EEr(t,e){return{parse:0,url:t.body.id}}async function _Er(t,e){let r=t.body.wd,n=[];for(let s of Mo.sources)try{let i=await Y4(s.url),a=s.img||"",o=new RegExp(r,"i");for(let c of i.groupNames){let u=i.groups[c];u&&u.forEach(l=>{o.test(l.name)&&n.push({vod_id:s.url+"$"+c+"$"+l.name,vod_name:l.name,vod_pic:l.logo||a||Mo.def_pic,vod_remarks:`${s.name} \xB7 ${c}`})})}}catch(i){console.error(`\u641C\u7D22\u6E90 ${s.name} \u5931\u8D25: ${i.message}`)}return{page:1,pagecount:1,total:n.length,list:n}}async function SEr(t,e){try{let r=function(a){a.statusCode&&a.statusCode===500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);return s.init=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/home`),s.home=i.json(),r(i.json()),s.home.class&&s.home.class.length>0&&(i=await t.server.inject().post(`${n}/category`).payload({id:s.home.class[0].type_id,page:1,filters:{}}),s.category=i.json(),r(i.json()),s.category.list&&s.category.list.length>0&&(i=await t.server.inject().post(`${n}/detail`).payload({id:s.category.list[0].vod_id}),s.detail=i.json(),r(i.json()))),i=await t.server.inject().post(`${n}/search`).payload({wd:"CCTV",page:1}),s.search=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Tot={meta:{key:"live2vod",name:"\u300C\u76F4\u300D\u76F4\u64AD",type:3},api:async t=>{t.post("/init",AEr),t.post("/home",yEr),t.post("/category",xEr),t.post("/detail",bEr),t.post("/play",EEr),t.post("/search",_Er),t.get("/test",SEr)}};var Loe=Re(Jn(),1);var Rot=process.env.JINPAI_HOST||"https://m.jiabaide.cn",J4="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36",vEr=process.env.JINPAI_APP_KEY||"cb808529bae6b6be45ecfab29a4889bc",IEr={"User-Agent":J4,Referer:`${Rot}/`},CEr={typeList:["type",""],plotList:["class",""],districtList:["area",""],languageList:["lang",""],yearList:["year",""],serialList:["by",""]},TEr=[{n:"\u65F6\u95F4",v:"2"},{n:"\u4EBA\u6C14",v:"3"},{n:"\u8BC4\u5206",v:"4"}];function At(t){return String(t??"").trim()}function wEr(t){return At(t).replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim()}function Not(t={}){return Object.entries(t).filter(([,e])=>e!=null&&e!=="").map(([e,r])=>`${e}=${r}`).join("&")}function REr(t={}){let e=String(Date.now()),r={...t,key:vEr,t:e},n=Loe.default.SHA1(Loe.default.MD5(Not(r)).toString()).toString();return{...IEr,t:e,sign:n}}async function dE(t,e={}){let r=Not(e),n=`${Rot}${t}${r?`?${r}`:""}`,s=await he.get(n,{headers:REr(e),timeout:2e4,validateStatus:()=>!0});if(s.status<200||s.status>=400)throw new Error(`HTTP ${s.status} @ ${n}`);let i=typeof s.data=="string"?JSON.parse(s.data||"{}"):s.data||{};if(Number(i.code)&&Number(i.code)!==200)throw new Error(i.msg||`API code=${i.code}`);return i}function Oot(t={}){let e=At(t.vodPubdate||""),r=e?e.split("-")[0]:"";return{vod_id:At(t.vodId),vod_name:At(t.vodName),vod_pic:At(t.vodPic),vod_remarks:[At(t.vodRemarks),At(t.vodDoubanScore)].filter(Boolean).join("_"),vod_year:r,type_id:At(t.typeId),type_name:At(t.typeName)}}function NEr({vodId:t="",nid:e="",episodeName:r="",sourceName:n="",title:s=""}={}){return encodeURIComponent(JSON.stringify({vodId:At(t),nid:At(e),episodeName:At(r),sourceName:At(n),title:At(s)}))}function OEr(t=""){let e=At(t);if(!e)return null;let r=[e];try{let s=decodeURIComponent(e);s&&s!==e&&r.unshift(s)}catch{}for(let s of r)try{let i=JSON.parse(s);if(i&&typeof i=="object")return{vodId:At(i.vodId),nid:At(i.nid),episodeName:At(i.episodeName),sourceName:At(i.sourceName),title:At(i.title)}}catch{}let n=e.match(/^(.*?)@(.*)$/);return n?{vodId:At(n[1]),nid:At(n[2]),episodeName:"",sourceName:"\u91D1\u724C\u7EBF\u8DEF",title:""}:null}function PEr(...t){for(let e of t){if(Number.isFinite(e)&&e>0)return e;let r=At(e);if(!r)continue;let n=Number(r);if(Number.isFinite(n)&&n>0)return n;let s=r.match(/^(?:第\s*)?(\d+)\s*(?:集|è¯|期)?(?:[\s.ã€:_-].*)?$/);if(s){let i=Number(s[1]);if(Number.isFinite(i)&&i>0)return i}}return null}function kEr(t="",e=null){let r=At(t),n=r.match(/^(?:第\s*(\d+)\s*(?:集|è¯|期)\s*|(\d+)\s*[.ã€:_-]\s*)(.*)$/),s=n?Number(n[1]||n[2]):null,i=Number.isFinite(e)&&e>0?e:s,a=n?At(n[3]):r;return i?a?`\u7B2C${i}\u96C6 ${a}`:`\u7B2C${i}\u96C6`:a||"\u6B63\u7247"}function Pot(t,e,r){return{page:t,pagecount:t+(r.length>=e?1:0),limit:e,total:(t-1)*e+r.length+(r.length>=e?1:0),list:r}}function DEr(t=""){let e=At(t);return!e||/^\d{3,4}\s*p?$/i.test(e)?!1:/[a-z\u4e00-\u9fa5]/i.test(e)}function BEr(t=""){let e=At(t).match(/(\d{3,4})\s*p?/i);if(!e)return"";let r=Number.parseInt(e[1],10);return Number.isFinite(r)?r>=4320?"8K":r>=2160?"4K":r>=1080?"\u8D85\u6E05":r>=720?"\u9AD8\u6E05":r>=480?"\u6807\u6E05":r>=360?"\u6D41\u7545":"":""}function LEr(t={}){let e=[t.name,t.title,t.resolution].map(At).filter(Boolean),r=e.find(DEr);if(r)return r;let n=e.find(s=>/^\d{3,4}\s*p?$/i.test(s));return BEr(n)||n||"\u64AD\u653E"}function wot(t={}){let e=At(t.url||t.playUrl||t.m3u8);if(!e)return null;let r=[t.name,t.resolution,t.title].map(At).filter(Boolean).join(" "),n=LEr(t);return{name:n,qualityLabel:r,url:e,headers:{"User-Agent":J4},priority:kot({...t,name:n,qualityLabel:r})||1}}function kot(t={}){let e=At(`${t.qualityLabel||""} ${t.name||""}`).toLowerCase();if(!e)return 0;if(/(?:原画|原盤|原盘)/i.test(e))return 1e4;if(/(?:8k|4320)/i.test(e))return 4320;if(/(?:4k|2160)/i.test(e))return 2160;let r=e.match(/(\d{3,4})\s*p?/i);if(r){let n=Number.parseInt(r[1],10);if(Number.isFinite(n))return n}return/(?:è“å…‰|è—å…‰|超清)/i.test(e)?1080:/(?:高清)/i.test(e)?720:/(?:æ ‡æ¸…|標清)/i.test(e)?480:/(?:æµç•…|æµæš¢)/i.test(e)?360:0}function MEr(t=[]){return t.map((e,r)=>({item:e,index:r,score:kot(e)})).sort((e,r)=>r.score-e.score||e.index-r.index).map(({item:e})=>e)}async function WEr(){let t=[],e={},r=await dE("/api/mw-movie/anonymous/get/filer/type"),n=Array.isArray(r.data)?r.data:[];for(let a of n){let o=At(a.typeId),c=At(a.typeName);!o||!c||t.push({type_id:o,type_name:c})}let i=(await dE("/api/mw-movie/anonymous/v1/get/filer/list")).data||{};for(let a of t){let o=a.type_id;e[o]=[];for(let[c,[u,l]]of Object.entries(CEr)){let d=c==="serialList"?[...TEr]:[{n:"\u5168\u90E8",v:""}];if(c!=="serialList"){let f=i?.[o]?.[c]||[];for(let p of f){let m=At(p.itemText);m&&d.push({n:m,v:c==="typeList"?At(p.itemValue):m})}}d.length>1&&e[o].push({key:u,name:l,init:c==="serialList"?"2":"",value:d})}}return{classes:t,filters:e}}async function $Er(t,e){return{}}async function FEr(t,e){try{let{classes:r,filters:n}=await WEr();return{class:r,filters:n}}catch(r){return console.error("jinpai home failed:",r.message),{class:[],filters:{}}}}async function UEr(t,e){let r=At(t.body?.id||"1"),n=Math.max(1,Number.parseInt(t.body?.page||1,10)),s=t.body?.filters||{},i=30;try{let a={area:s.area||"",lang:s.lang||"",pageNum:String(n),pageSize:String(i),sort:s.by||"2",sortBy:"1",type:s.type||"",type1:r,v_class:s.class||"",year:s.year||""},c=((await dE("/api/mw-movie/anonymous/video/list",a))?.data?.list||[]).map(Oot).filter(u=>u.vod_id&&u.vod_name);return Pot(n,i,c)}catch(a){return console.error("jinpai category failed:",a.message),{page:n,pagecount:n,limit:i,total:0,list:[]}}}async function qEr(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=At(s);if(i)try{let o=(await dE("/api/mw-movie/anonymous/video/detail",{id:i})).data||{};if(!Object.keys(o).length)continue;let c=At(o.vodId||i),u=At(o.sourceName||"\u91D1\u724C\u7EBF\u8DEF"),d=(Array.isArray(o.episodeList)?o.episodeList:[]).map((f,p)=>{let m=At(f.nid||f.episodeId||f.id);if(!m)return"";let h=PEr(f.episodeNumber,f.name,p+1),A=kEr(f.name||`\u7B2C${h||p+1}\u96C6`,h),g=NEr({vodId:c,nid:m,episodeName:A,sourceName:u,title:o.vodName});return`${A}$${g}`}).filter(Boolean);n.push({vod_id:c,vod_name:At(o.vodName),vod_pic:At(o.vodPic),type_name:At(o.vodClass||o.typeName),vod_remarks:At(o.vodRemarks),vod_year:At(o.vodYear||At(o.vodPubdate).slice(0,4)),vod_area:At(o.vodArea),vod_lang:At(o.vodLang),vod_director:At(o.vodDirector),vod_actor:At(o.vodActor),vod_content:wEr(o.vodContent||o.content||""),vod_play_from:d.length?u:"",vod_play_url:d.join("#")})}catch(a){console.error("jinpai detail failed:",i,a.message)}}return{list:n}}async function jEr(t,e){let r=At(t.body?.id),n=OEr(r);if(!n?.vodId||!n?.nid)return{parse:0,url:"",header:{}};try{let s={clientType:"3",id:n.vodId,nid:n.nid},a=(await dE("/api/mw-movie/anonymous/v2/video/episode/url",s))?.data||{},o=Array.isArray(a.list)?a.list:[],c=MEr(o.map(wot).filter(Boolean)),u={"User-Agent":J4};if(!c.length){let l=wot(a);l&&c.push(l)}return c.length?{parse:0,url:c[0].url,data:c[0].url,urls:c,header:u}:{parse:0,url:"",data:"",urls:[],header:u}}catch(s){return console.error("jinpai play failed:",s.message),{parse:0,url:"",header:{"User-Agent":J4}}}}async function HEr(t,e){let r=At(t.body?.wd),n=Math.max(1,Number.parseInt(t.body?.page||1,10)),s=30;if(!r)return{page:n,pagecount:n,limit:s,total:0,list:[]};try{let i={keyword:r,pageNum:String(n),pageSize:String(s)},o=((await dE("/api/mw-movie/anonymous/video/searchByWordPageable",i))?.data?.list||[]).map(Oot).filter(c=>c.vod_id&&c.vod_name);return Pot(n,s,o)}catch(i){return console.error("jinpai search failed:",i.message),{page:n,pagecount:n,limit:s,total:0,list:[]}}}var Dot={meta:{key:"jinpai",name:"\u300C\u76F4\u300D\u91D1\u724C",type:3},api:async t=>{t.post("/init",$Er),t.post("/home",FEr),t.post("/category",UEr),t.post("/detail",qEr),t.post("/play",jEr),t.post("/search",HEr)}};var Z0={host:"https://api.ztcgi.com",headers:{"User-Agent":"Mozilla/5.0 (Linux; Android 9; V2196A Build/PQ3A.190705.08211809; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36;webank/h5face;webank/1.0;netType:NETWORK_WIFI;appVersion:416;packageName:com.jp3.xg3",Referer:"https://api.ztcgi.com",Accept:"application/json"},imgHost:"https://img.ztfgh.com"};function QEr(){return[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"}]}function Moe(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:`${Z0.imgHost}${e.startsWith("/")?e:`/${e}`}`:""}async function GEr(t,e){return{}}async function KEr(t,e){return{class:QEr()}}async function VEr(t,e){let r=t.body.id,s=t.body.page||1;s==0&&(s=1);try{let i=`${Z0.host}/api/crumb/list?fcate_pid=${r}&category_id=&area=&year=&type=&sort=&page=${s}`,o=(await he.get(i,{headers:Z0.headers})).data,u=(Array.isArray(o.data)?o.data:[]).map(A=>({vod_id:String(A.id),vod_name:A.title||"",vod_pic:Moe(A.path||""),vod_remarks:A.mask||""})).filter(A=>A.vod_id&&A.vod_name),l=parseInt(s,10)||1,d=u.length>0,f=d?l+1:l,p=Number(o?.per_page||0)||u.length||20,m=Number(o?.total||0),h=(l-1)*p+u.length+(d?1:0);return{page:l,pagecount:f,limit:p,total:m>0?m:h,list:u}}catch{return{list:[],page:parseInt(s,10)||1,pagecount:1,limit:20,total:0}}}async function zEr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r)try{let i=`${Z0.host}/api/video/detailv2?id=${s}`,o=(await he.get(i,{headers:Z0.headers})).data.data,c={vod_id:String(o.id||s),vod_name:o.title||"",vod_pic:Moe(o.thumbnail||o.path||o.tvimg||""),type_name:(o.types||[]).map(f=>f.name).join("/")||"",vod_year:o.year||"",vod_area:o.area||"",vod_remarks:o.mask||"",vod_actor:(o.actors||[]).map(f=>f.name).join("/")||"",vod_director:(o.directors||[]).map(f=>f.name).join("/")||"",vod_content:o.description||"",vod_play_from:"",vod_play_url:""},u=Array.isArray(o.source_list_source)?o.source_list_source:[],l=[],d=[];u.forEach((f,p)=>{let m=f.name||f.source_name||`\u7EBF\u8DEF${p+1}`;if(m==="\u5E38\u89C4\u7EBF\u8DEF")return;let h=Array.isArray(f.source_list)?f.source_list:[],A=[];h.forEach((g,b)=>{let y=g.source_name||g.name||`\u7B2C${b+1}\u96C6`,x=g.url||g.play_url||"";x&&A.push(`${y}$${x}`)}),A.length>0&&(l.push(m),d.push(A.join("#")))}),c.vod_play_from=l.join("$$$"),c.vod_play_url=d.join("$$$"),n.push(c)}catch{}return{list:n}}async function YEr(t,e){let r=t.body.id,n=r.startsWith("//")?`https:${r}`:r;return n.includes(".m3u8")||n.includes(".mp4")?{parse:0,url:n,header:Z0.headers}:{parse:1,url:n}}async function JEr(t,e){let r=t.body.page,n=t.body.wd,s=r||1;s==0&&(s=1);try{let i=`${Z0.host}/api/v2/search/videoV2?key=${encodeURIComponent(n)}&category_id=88&page=${s}&pageSize=20`,o=(await he.get(i,{headers:Z0.headers})).data,u=(Array.isArray(o.data)?o.data:[]).map(d=>({vod_id:String(d.id),vod_name:d.title||"",vod_pic:Moe(d.thumbnail||d.path||""),vod_remarks:d.mask||""})).filter(d=>d.vod_id&&d.vod_name),l=o.total||0;return{page:parseInt(s),pagecount:u.length>0?parseInt(s)+1:parseInt(s),total:l,list:u}}catch{return{list:[],page:parseInt(s),pagecount:1}}}async function XEr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home.class.length>0&&(s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1}),n.category=s.json(),n.category.list.length>0&&(s=await t.server.inject().post(`${r}/detail`).payload({id:n.category.list[0].vod_id}),n.detail=s.json(),n.detail.list&&n.detail.list.length>0))){n.play=[];for(let i of n.detail.list){let a=i.vod_play_from.split("$$$"),o=i.vod_play_url.split("$$$");for(let c=0;c<a.length;c++){let u=a[c],l=o[c].split("#");for(let d=0;d<l.length&&d<2;d++)s=await t.server.inject().post(`${r}/play`).payload({flag:u,id:l[d].split("$")[1]}),n.play.push(s.json())}}}return s=await t.server.inject().post(`${r}/search`).payload({wd:"\u7231",page:1}),n.search=s.json(),n}catch(r){return e.code(500),{err:r.message,tip:"check debug console output"}}}var Bot={meta:{key:"jianpian",name:"\u300C\u76F4\u300D\u8350\u7247",type:3},api:async t=>{t.post("/init",GEr),t.post("/home",KEr),t.post("/category",VEr),t.post("/detail",zEr),t.post("/play",YEr),t.post("/search",JEr),t.get("/test",XEr)}};var fE=Re(require("node:crypto"),1);var Lot={host:"https://api.w32z7vtd.com",headers:{"Cache-Control":"no-cache",Version:"2406025",PackageName:"com.uf076bf0c246.qe439f0d5e.m8aaf56b725a.ifeb647346f",Ver:"1.9.2",Referer:"https://api.w32z7vtd.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"okhttp/3.12.0"}},Woe={"User-Agent":"Lavf/57.83.100"},ZEr=`-----BEGIN PRIVATE KEY-----
|
|
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGAe6hKrWLi1zQmjTT1
|
|
ozbE4QdFeJGNxubxld6GrFGximxfMsMB6BpJhpcTouAqywAFppiKetUBBbXwYsYU
|
|
1wNr648XVmPmCMCy4rY8vdliFnbMUj086DU6Z+/oXBdWU3/b1G0DN3E9wULRSwcK
|
|
ZT3wj/cCI1vsCm3gj2R5SqkA9Y0CAwEAAQKBgAJH+4CxV0/zBVcLiBCHvSANm0l7
|
|
HetybTh/j2p0Y1sTXro4ALwAaCTUeqdBjWiLSo9lNwDHFyq8zX90+gNxa7c5EqcW
|
|
V9FmlVXr8VhfBzcZo1nXeNdXFT7tQ2yah/odtdcx+vRMSGJd1t/5k5bDd9wAvYdI
|
|
DblMAg+wiKKZ5KcdAkEA1cCakEN4NexkF5tHPRrR6XOY/XHfkqXxEhMqmNbB9U34
|
|
saTJnLWIHC8IXys6Qmzz30TtzCjuOqKRRy+FMM4TdwJBAJQZFPjsGC+RqcG5UvVM
|
|
iMPhnwe/bXEehShK86yJK/g/UiKrO87h3aEu5gcJqBygTq3BBBoH2md3pr/W+hUM
|
|
WBsCQQChfhTIrdDinKi6lRxrdBnn0Ohjg2cwuqK5zzU9p/N+S9x7Ck8wUI53DKm8
|
|
jUJE8WAG7WLj/oCOWEh+ic6NIwTdAkEAj0X8nhx6AXsgCYRql1klbqtVmL8+95KZ
|
|
K7PnLWG/IfjQUy3pPGoSaZ7fdquG8bq8oyf5+dzjE/oTXcByS+6XRQJAP/5ciy1b
|
|
L3NhUhsaOVy55MHXnPjdcTX0FaLi+ybXZIfIQ2P4rb19mVq1feMbCXhz+L1rG8oa
|
|
t5lYKfpe8k83ZA==
|
|
-----END PRIVATE KEY-----`,Mot="Qmxi5ciWXbQzkr7o+SUNiUuQxQEf8/AVyUWY4T/BGhcXBIUz4nOyHBGf9A4KbM0iKF3yp9M7WAY0rrs5PzdTAOB45plcS2zZ0wUibcXuGJ29VVGRWKGwE9zu2vLwhfgjTaaDpXo4rby+7GxXTktzJmxvneOUdYeHi+PZsThlvPI=",$oe="1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79",Iw={INDEX_LIST:"/App/IndexList/indexList",PLAY_INFO:"/App/IndexPlay/playInfo",VURL_SHOW:"/App/Resource/Vurl/show",VURL_DETAIL:"/App/Resource/VurlDetail/showOne",FIND_MORE:"/App/Index/findMoreVod"},e1r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"64",type_name:"\u77ED\u5267"}],t1r={1:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],2:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],3:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],4:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],64:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}]},vw=new Map,r1r={category:3e5,detail:3e5,play:3e5,search:6e4};function n1r(t){return fE.default.createHash("md5").update(t).digest("hex")}function s1r(t){let e=Buffer.from("mvXBSW7ekreItNsT","utf8"),r=Buffer.from("2U3IrJL8szAKp0Fj","utf8"),n=fE.default.createCipheriv("aes-128-cbc",e,r),s=n.update(t,"utf8","hex");return s+=n.final("hex"),s.toUpperCase()}function i1r(t,e,r){let n=Buffer.from(e,"utf8"),s=Buffer.from(r,"utf8"),i=fE.default.createDecipheriv("aes-128-cbc",n,s),a=i.update(t,"hex","utf8");return a+=i.final("utf8"),a}function a1r(t){let e=Buffer.from(t,"base64"),r=256,n=[];for(let s=0;s<e.length;s+=r){let i=e.slice(s,s+r),a=fE.default.privateDecrypt({key:ZEr,padding:fE.default.constants.RSA_NO_PADDING},i),o=a.indexOf(0,2);if(o===-1){for(o=0;o<a.length&&a[o]===0;)o+=1;n.push(a.slice(o))}else n.push(a.slice(o+1))}return Buffer.concat(n).toString("utf8").trim()}function o1r(t,e){let r=`token_id=,token=${$oe},phone_type=1,request_key=${t},app_id=1,time=${e},keys=${Mot}*&zvdvdvddbfikkkumtmdwqppp?|4Y!s!2br`;return n1r(r)}function c1r(t){let e=vw.get(t);return e?Date.now()>e.expire?(vw.delete(t),null):e.data:null}function u1r(t,e,r){vw.set(t,{data:e,expire:Date.now()+(r1r[r]||6e4)}),vw.size>200&&vw.clear()}async function Cw(t,e,r="category"){let n=`${e}|${JSON.stringify(t)}`;if(r!=="none"){let p=c1r(n);if(p)return p}let s=Math.floor(Date.now()/1e3).toString(),i=s1r(JSON.stringify(t)),a=o1r(i,s),o=new URLSearchParams({token:$oe,token_id:"",phone_type:"1",time:s,phone_model:"xiaomi-22021211rc",keys:Mot,request_key:i,signature:a,app_id:"1",ad_version:"1"}).toString(),c=await he.post(`${Lot.host}${e}`,o,{headers:Lot.headers});if(c.status!==200||!c.data?.data?.keys||!c.data?.data?.response_key)return null;let u=a1r(c.data.data.keys);if(!u)return null;let l=JSON.parse(u),d=i1r(c.data.data.response_key,l.key,l.iv);if(!d)return null;let f=JSON.parse(d);return r!=="none"&&f&&u1r(n,f,r),f}function Wot(t){return{vod_id:`${t.vod_id}/${t.vod_continu||0}`,vod_name:t.vod_name,vod_pic:t.vod_pic,vod_remarks:(t.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${t.vod_continu}\u96C6`}}function l1r(t){let e=String(t||"").trim();if(!e)return"";let r=e.split("/")[0];return/^\d+$/.test(r)?r:e.match(/(\d+)/)?.[1]||e}function X4(t){let e=String(t||"").toLowerCase().replace("p","");return e==="8k"?100:e==="4k"||e==="2160"?90:e==="1440"?80:e==="1080"?70:e==="720"?60:e==="\u8D85\u6E05"?50:e==="\u9AD8\u6E05"?40:e==="\u6807\u6E05"?30:10}async function d1r(t,e){return{}}async function f1r(t,e){return{class:e1r,filters:t1r}}async function p1r(t,e){let r=t.body.id,n=String(t.body.page||1),s=t.body.filters||{};if(!r)return{page:1,pagecount:0,list:[]};let i=await Cw({area:s.area||"0",year:s.year||"0",pageSize:"20",sort:s.sort||"d_id",page:n,tid:String(r)},Iw.INDEX_LIST,"category"),a=Array.isArray(i?.list)?i.list.map(u=>Wot(u)):[],o=parseInt(n,10)||1,c=parseInt(i?.totalPage||0,10)||(a.length>0?o+1:o);return{page:o,pagecount:c,list:a}}async function m1r(t,e){let r=String(t.body.wd||"").trim(),n=String(t.body.page||1);if(!r)return{page:1,pagecount:0,list:[]};let s=await Cw({keywords:r,order_val:"1",page:n},Iw.FIND_MORE,"search"),a=(Array.isArray(s?.list)?s.list:[]).filter(u=>String(u?.vod_name||"").toLowerCase().includes(r.toLowerCase())).map(u=>Wot(u)),o=parseInt(n,10)||1,c=parseInt(s?.totalPage||0,10)||(a.length>0?o+1:o);return{page:o,pagecount:c,list:a}}async function h1r(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i=String(s||""),a=l1r(i);if(!a)continue;let[o,c]=await Promise.all([Cw({token_id:"1649412",vod_id:a,mobile_time:Math.floor(Date.now()/1e3).toString(),tokename:$oe},Iw.PLAY_INFO,"detail"),Cw({vurl_cloud_id:"2",vod_d_id:a},Iw.VURL_SHOW,"detail")]),u=o?.vodInfo;if(!u)continue;let l=[],d=Array.isArray(c?.list)?c.list:[];d.forEach((f,p)=>{let m=f?.play;if(!m||typeof m!="object")return;let h=[],A=[];if(Object.entries(m).forEach(([y,x])=>{x?.param&&(h.push(String(x.param)),A.push(String(y)))}),!h.length)return;A.sort((y,x)=>X4(x)-X4(y));let g=d.length===1?String(u.vod_name||"\u6B63\u7247"):String(f?.name||p+1),b=`${h[0]}||${A.join("@")}`;l.push(`${g}$${b}`)}),n.push({vod_id:i,vod_name:u.vod_name||"",vod_pic:u.vod_pic||"",vod_year:u.vod_year||"",vod_area:u.vod_area||"",vod_remarks:u.vod_remarks||(Number(u.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${u.vod_continu}\u96C6`),vod_actor:u.vod_actor||"",vod_director:u.vod_director||"",vod_content:String(u.vod_use_content||u.vod_content||"").trim(),vod_play_from:l.length>0?"\u74DC\u5B50\u4E13\u7EBF":"",vod_play_url:l.length>0?l.join("#"):""})}return{list:n}}async function g1r(t,e){let r=String(t.body.id||"").trim();if(!r)return{parse:0,url:"",header:Woe};let n=r.split("||");if(n.length<2)return{parse:0,url:r,header:Woe};let s={};n[0].split("&").forEach(c=>{let[u,l]=c.split("=");u&&(s[u]=l||"")});let i=n[1].split("@").filter(Boolean);i.length>0&&(i.sort((c,u)=>X4(u)-X4(c)),s.resolution=i[0]);let a=await Cw(s,Iw.VURL_DETAIL,"play");return{parse:0,url:String(a?.url||"").trim(),header:Woe}}var $ot={meta:{key:"guazi",name:"\u300C\u76F4\u300D\u74DC\u5B50",type:3},api:async t=>{t.post("/init",d1r),t.post("/home",f1r),t.post("/category",p1r),t.post("/detail",h1r),t.post("/play",g1r),t.post("/search",m1r)}};var Kf=String(process.env.PPNIX_HOST||"https://www.ppnix.com").trim(),A1r=String(process.env.PPNIX_LANG_PATH||"/cn").trim(),Uot=String(process.env.PPNIX_UA||"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36").trim(),qot=24,y1r=10*60*1e3,x1r=[{type_id:"movie",type_name:"\u7535\u5F71"},{type_id:"tv",type_name:"\u7535\u89C6\u5267"}],b1r={time:"newstime",hits:"onclick",score:"rating",newstime:"newstime",onclick:"onclick",rating:"rating"},Ql={expiresAt:0,filters:{},filterDef:{movie:{class:"",area:"",year:"",by:"newstime"},tv:{class:"",area:"",year:"",by:"newstime"}}};function gn(t){return t==null?"":String(t).trim()}function E1r(t=""){let e=gn(t);return e?e.startsWith("/")?e.replace(/\/+$/,""):`/${e.replace(/\/+$/,"")}`:"/cn"}var zg=E1r(A1r);function jot(t=""){let e=gn(t);return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?`${Kf}${e}`:`${Kf}/${e}`:`${Kf}${zg}/`}function Vg(t){return gn(t).replace(/<br\s*\/?>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/"/gi,'"').replace(/'/gi,"'").replace(/</gi,"<").replace(/>/gi,">").replace(/\s+/g," ").trim()}function Hot(t){let e=gn(t);return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?`${Kf}${e}`:`${Kf}/${e}`:""}function _1r(t){let e=[],r=new Set;for(let n of Array.isArray(t)?t:[]){let s=gn(n?.vod_id||n?.vod_name);!s||r.has(s)||(r.add(s),e.push(n))}return e}function Qot(t){let e=gn(t);return e?/^https?:\/\//i.test(e)||e.startsWith("/")?e:e.startsWith("movie/")||e.startsWith("tv/")?`${zg}/${e}`:`${zg}/${e.replace(/^\/+/,"")}`:""}async function Tw(t,e={}){let r=jot(t),n={"User-Agent":Uot,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",Referer:e.referer||`${Kf}${zg}/`,...e.headers||{}},s=await he({url:r,method:e.method||"GET",headers:n,data:e.body,timeout:e.timeout||2e4,responseType:"text",validateStatus:()=>!0,maxRedirects:5}),i=Number(s.status||0),a=typeof s.data=="string"?s.data:String(s.data||"");if(i!==200)throw new Error(`HTTP ${i||"unknown"} @ ${r}`);return a}function Got(t,e,r=""){let n=[];return t(e).each((s,i)=>{let a=t(i),o=a.find("a.thumbnail, h2 a, a").first(),c=gn(o.attr("href")||a.find("h2 a").attr("href")||""),u=Qot(c),l=Vg(a.find("img.thumb").attr("alt")||a.find("h2 a").text()||o.text()),d=Hot(a.find("img.thumb").attr("src")||a.find("img.thumb").attr("data-src")||""),f=Vg(a.find("footer .rate").text()||a.find("footer").text());!u||!l||n.push({vod_id:u,vod_name:l,vod_pic:d,vod_remarks:f,type_id:r,type_name:r==="movie"?"\u7535\u5F71":r==="tv"?"\u7535\u89C6\u5267":""})}),_1r(n)}function S1r(t=""){let e=(t.match(/infoid\s*=\s*(\d+)/)||[])[1]||"",r=t.match(/m3u8\s*=\s*\[(.*?)\]/s);if(!r)return{infoId:e,items:[]};let n=[],s=/'([^']*)'|"([^"]*)"/g,i;for(;(i=s.exec(r[1]))!==null;){let a=gn(i[1]||i[2]||"");a&&n.push(a)}return{infoId:e,items:[...new Set(n)]}}function v1r(t){let e=gn(t.infoId||""),r=encodeURIComponent(gn(t.param||"")),n=encodeURIComponent(gn(t.referer||"")),s=encodeURIComponent(gn(t.episodeName||""));return`${e}|${r}|${n}|${s}`}function I1r(t){try{let e=String(t||"").split("|");return{infoId:gn(e[0]||""),param:decodeURIComponent(e[1]||""),referer:decodeURIComponent(e[2]||""),episodeName:decodeURIComponent(e[3]||"")}}catch{return{}}}function C1r(t={}){let e=t&&typeof t=="object"?t:{};return{class:gn(e.class||e.type||e.cate||""),area:gn(e.area||""),year:gn(e.year||""),by:gn(e.by||e.sort||"newstime")||"newstime"}}function Uoe(t,e=1,r={}){let n=C1r(r),s=n.class,i=n.area,a=n.year,o=b1r[n.by]||"newstime",c=Number(e)<=1?"":`${Number(e)-1}`;return`${zg}/${t}/${s}-${i}-${a}-${c}-${o}.html`}function T1r(t=[]){return[...new Set((t||[]).map(e=>gn(e)).filter(Boolean))]}function Foe(t,e,r=""){let n=[];return t(e).find("a").each((s,i)=>{let a=gn(t(i).text());!a||a===r||n.push(a)}),T1r(n)}function Fot(t){let e=[],r=t(".lists-content.filter dl");if(!r.length)return e;let n=Foe(t,r.eq(0),"\u5168\u90E8");n.length&&e.push({key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},...n.map(a=>({n:a,v:a}))]});let s=Foe(t,r.eq(1),"\u5168\u90E8");s.length&&e.push({key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},...s.map(a=>({n:a,v:a}))]});let i=Foe(t,r.eq(2),"\u5168\u90E8");return i.length&&e.push({key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},...i.map(a=>({n:a,v:a}))]}),e.push({key:"by",name:"",init:"newstime",value:[{n:"\u65F6\u95F4",v:"newstime"},{n:"\u4EBA\u6C14",v:"onclick"},{n:"\u8BC4\u5206",v:"rating"}]}),e}async function w1r(t=!1){if(!t&&Ql.expiresAt>Date.now()&&Object.keys(Ql.filters).length>0)return{filters:Ql.filters,filter_def:Ql.filterDef};try{let[e,r]=await Promise.all([Tw(Uoe("movie",1,{})),Tw(Uoe("tv",1,{}))]);Ql.filters={movie:Fot(Me(e)),tv:Fot(Me(r))},Ql.expiresAt=Date.now()+y1r}catch{if(!Object.keys(Ql.filters).length){let e=[{key:"by",name:"",init:"newstime",value:[{n:"\u6309\u65F6\u95F4",v:"newstime"},{n:"\u6309\u4EBA\u6C14",v:"onclick"},{n:"\u6309\u8BC4\u5206",v:"rating"}]}];Ql.filters={movie:e,tv:e}}}return{filters:Ql.filters,filter_def:Ql.filterDef}}async function R1r(t,e){return{}}async function N1r(t,e){let{filters:r}=await w1r();return{class:x1r,filters:r}}async function O1r(t,e){try{let r=gn(t.body?.id||"movie"),n=Math.max(1,Number(t.body?.page||1)||1),s=t.body?.filters||{},i=await Tw(Uoe(r,n,s)),a=Me(i),o=Got(a,".lists-content > ul > li, .lists .lists-content ul li",r).filter(d=>d.vod_id.includes(`/${r}/`)),c=n,l=[...(a(".pagination, .pages, .pagenavi").html()||"").matchAll(/---(\d+)-\.html/g)].map(d=>Number(d[1])+1);return l.length?c=Math.max(n,...l):o.length>=qot&&(c=n+1),{page:n,pagecount:c,list:o}}catch{let r=Math.max(1,Number(t.body?.page||1)||1);return{page:r,pagecount:r,list:[]}}}async function P1r(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r)try{let i=Qot(s);if(!i)continue;let a=await Tw(i),o=Me(a),c=Vg(o("h1.product-title").text()),u=Vg(o("title").text()).replace(/\s*\([^)]*\).*/,""),l=c.replace(/\s*\([^)]*\)\s*$/,"").trim()||u,d=Hot(o("header.product-header img.thumb").attr("src")||""),f=Vg(o(".product-excerpt").filter((v,I)=>o(I).text().includes("\u7B80\u4ECB\uFF1A")).text()).replace(/^简介:/,"").trim(),p=Vg(o(".product-excerpt").filter((v,I)=>o(I).text().includes("\u5BFC\u6F14\uFF1A")).find("span").text()),m=Vg(o(".product-excerpt").filter((v,I)=>o(I).text().includes("\u4E3B\u6F14\uFF1A")).find("span").text()).replace(/\s*\/\s*/g,","),h=(c.match(/\((\d{4})\)/)||[])[1]||"",A=i.includes("/movie/")?"\u7535\u5F71":i.includes("/tv/")?"\u7535\u89C6\u5267":"",{infoId:g,items:b}=S1r(a),y=(i.match(/(\d+)\.html/)||[])[1]||"",x=b.map((v,I)=>{let R=b.length>1?`\u7B2C${I+1}\u96C6`:gn(v)||"\u6B63\u7247",w=v1r({infoId:g||y,param:v,referer:jot(i),episodeName:R});return`${R}$${w}`});n.push({vod_id:i,vod_name:l,vod_pic:d,type_name:A,vod_year:h,vod_director:p,vod_actor:m,vod_content:f,vod_play_from:x.length?"PPnix":"",vod_play_url:x.join("#")})}catch{continue}return{list:n}}async function k1r(t,e){try{let r=I1r(t.body?.id||""),n=gn(r.infoId),s=gn(r.param);if(!n||!s)return{parse:0,url:gn(t.body?.id||"")};let i=gn(r.referer||`${Kf}${zg}/`);return{parse:0,url:`${Kf}/info/m3u8/${n}/${encodeURIComponent(s)}.m3u8`,header:{Referer:i,Origin:Kf,"User-Agent":Uot}}}catch{return{parse:1,url:gn(t.body?.id||""),header:{}}}}async function D1r(t,e){try{let r=gn(t.body?.wd||""),n=Math.max(1,Number(t.body?.page||1)||1);if(!r)return{page:1,pagecount:1,list:[]};let s=encodeURIComponent(r),i=n<=1?"":`-page-${n}`,a=await Tw(`${zg}/search/${s}--.html${i}`),o=Me(a),c=Got(o,".lists-content > ul > li, .lists .lists-content ul li").filter(u=>/\/(movie|tv)\/\d+\.html/.test(u.vod_id));return{page:n,pagecount:c.length>=qot?n+1:n,list:c}}catch{let r=Math.max(1,Number(t.body?.page||1)||1);return{page:r,pagecount:r,list:[]}}}var Kot={meta:{key:"ppnix",name:"\u300C\u76F4\u300DPPnix",type:3},api:async t=>{t.post("/init",R1r),t.post("/home",N1r),t.post("/category",O1r),t.post("/detail",P1r),t.post("/play",k1r),t.post("/search",D1r)}};var qn={key:"anime1",name:"Anime1\u52D5\u756B",host:"https://anime1.me",listUrl:"https://d1zquzjgwo9yb.cloudfront.net/",playApi:"https://v.anime1.me/api",pic:"https://sta.anicdn.com/playerImg/8.jpg",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",timeout:15e3},ww=48,B1r=5*60*1e3,L1r=60,Vot=(()=>{let t=Math.max(new Date().getFullYear(),2025),e=[];for(let r=t;r>=2018;r-=1)e.push({type_id:String(r),type_name:String(r)});return[{type_id:"\u9023\u8F09\u4E2D",type_name:"\u9023\u8F09\u4E2D"},...e,{type_id:"2017",type_name:"\u66F4\u65E9"}]})(),eM={expireAt:0,list:[]},Z4=null;function Yg(t){return Me(`<div>${String(t||"")}</div>`).text().replace(/\s+/g," ").trim()}function Hoe(t=qn.host){return{"User-Agent":qn.ua,Referer:t,"Accept-Language":"zh-CN,zh;q=0.9"}}function Rw(t,e=qn.host){let r=String(t||"").trim();if(!r)return"";try{return new URL(r,e).href}catch{return""}}function Qoe(t){let e=String(t||"").trim();if(!e)return"";try{let n=new URL(e,qn.host).searchParams.get("cat");if(n)return n}catch{}return e.replace(/^\/?\?cat=/,"")}function M1r(t){let e=String(t||"").trim();if(/^https?:\/\//i.test(e))return e;if(e.startsWith("/"))return Rw(e);let r=Qoe(e);return r?`${qn.host}/?cat=${encodeURIComponent(r)}`:qn.host}function W1r(t){let e=String(t||"").trim();return e?e.startsWith("//")?`https:${e}`:Rw(e,qn.host):""}function $1r(t){if(!Array.isArray(t))return null;let e=String(t[0]??"").trim(),r=Yg(t[1]);return!e||!r?null:{id:e,vod_id:e,vod_name:r,vod_pic:qn.pic,vod_remarks:Yg(t[2]),vod_year:String(t[3]??"").trim(),type_name:Yg(t[4]),vod_actor:Yg(t[5])}}async function joe(t,e={}){let r=Rw(t,e.base||qn.host),n=await he({url:r,method:"get",timeout:e.timeout||qn.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{...Hoe(e.referer||qn.host),...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function F1r(){let t=await he({url:`${qn.listUrl}?_=${Date.now()}`,method:"get",timeout:qn.timeout,responseType:"text",transformResponse:[n=>n],validateStatus:()=>!0,headers:Hoe(qn.host)});if(t.status<200||t.status>=300)throw new Error(`HTTP ${t.status}`);let e=JSON.parse(String(t.data||"{}")),r=Object.values(e).map($1r).filter(Boolean);return eM={expireAt:Date.now()+B1r,list:r},r}async function tM(){return eM.expireAt>Date.now()&&eM.list.length>0?eM.list:(Z4||(Z4=F1r().finally(()=>{Z4=null})),Z4)}function zot(t,e){let r=String(e||"\u9023\u8F09\u4E2D").trim();return r==="\u9023\u8F09\u4E2D"?t.filter(n=>n.vod_remarks.includes("\u9023\u8F09\u4E2D")):r==="2017"?t.filter(n=>{let s=Number.parseInt(n.vod_year,10);return Number.isFinite(s)&&s<=2017}):t.filter(n=>n.vod_year===r)}function Yot(t,e,r=ww){let n=Math.max(1,Number.parseInt(e,10)||1),s=t.length,i=Math.max(1,Math.ceil(s/r));return{list:t.slice((n-1)*r,n*r),page:n,pagecount:i,limit:r,total:s}}function U1r(t,e){let r=Qoe(e);return t.find(n=>n.id===r||n.vod_id===r)}function q1r(t){return Yg(t).replace(/[$#]/g," ").trim()}function j1r(t,e){let r=Yg(t),n=r.match(/\[(.*)\]/);return q1r(n?.[1]||r||`\u7B2C${e+1}\u96C6`)}function H1r(t){return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}function Q1r(t){try{let e=JSON.parse(Buffer.from(String(t||""),"base64").toString("utf8"));return e&&typeof e=="object"?e:{}}catch{return{}}}function G1r(t,e,r){let n=Me(t||"");n(".site-main article").each((s,i)=>{let a=String(n(i).find("[data-apireq]").first().attr("data-apireq")||"").trim();if(!a||r.has(a))return;let o=n(i).find(".entry-title").first().text();r.add(a),e.push({name:j1r(o,e.length),apiReq:a})})}async function K1r(t,e){let r=[],n=new Set,s=new Set,i=t,a=e;for(let o=0;o<L1r&&i;o+=1){n.add(a),G1r(i,r,s);let c=Me(i||"");if(o===0&&r.length===0){let l=Rw(c(".cat-links a").first().attr("href"),a);if(l&&!n.has(l)){a=l,i=await joe(a,{referer:e});continue}}let u=Rw(c(".nav-previous a").first().attr("href"),a);if(!u||n.has(u))break;a=u,i=await joe(a,{referer:e})}return r.reverse()}function V1r(t){return(Array.isArray(t)?t.join(";"):String(t||"")).split(";").map(r=>r.trim()).filter(r=>["e","p","h"].includes(r.split("=")[0])).join("; ")}function qoe(t,e=qn.host){let r={"User-Agent":qn.ua,Referer:e||qn.host};return t&&(r.Cookie=t),r}async function z1r(t,e){let r=await he({url:qn.playApi,method:"post",data:`d=${t}`,timeout:qn.timeout,responseType:"text",transformResponse:[i=>i],validateStatus:()=>!0,headers:{...Hoe(qn.host),"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}});if(r.status<200||r.status>=300)throw new Error(`HTTP ${r.status}`);let n=JSON.parse(String(r.data||"{}")),s=W1r(n?.s?.[0]?.src);if(!s)throw new Error("empty play url");return{url:s,cookie:V1r(r.headers?.["set-cookie"])}}async function Y1r(t,e){return{}}async function J1r(t,e){try{let r=zot(await tM(),"\u9023\u8F09\u4E2D").slice(0,ww);return{class:Vot,filters:{},list:r}}catch(r){return console.error("anime1 home failed:",r.message),{class:Vot,filters:{},list:[]}}}async function X1r(t,e){let r=t.body?.id||t.body?.tid||"\u9023\u8F09\u4E2D",n=t.body?.page||1;try{return Yot(zot(await tM(),r),n)}catch(s){return console.error("anime1 category failed:",s.message),{list:[],page:Math.max(1,Number.parseInt(n,10)||1),pagecount:1,limit:ww,total:0}}}async function Z1r(t,e){let r=String(t.body?.wd||"").trim(),n=t.body?.page||1;if(!r)return{list:[],page:1,pagecount:1,limit:ww,total:0};try{let s=r.toLowerCase(),i=(await tM()).filter(a=>a.vod_name.toLowerCase().includes(s));return Yot(i,n)}catch(s){return console.error("anime1 search failed:",s.message),{list:[],page:Math.max(1,Number.parseInt(n,10)||1),pagecount:1,limit:ww,total:0}}}async function e_r(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(a=>String(a||"").trim()).filter(Boolean),s=[],i=await tM().catch(()=>[]);for(let a of n){let o=Qoe(a),c=M1r(a);try{let u=await joe(c),l=Me(u||""),d=U1r(i,a),f=Yg(l(".page-title, h1").first().text()),m=(await K1r(u,c)).map(h=>`${h.name}$${H1r({apiReq:h.apiReq,referer:c})}`).join("#");s.push({vod_id:o||a,vod_name:d?.vod_name||f||o||a,vod_pic:d?.vod_pic||qn.pic,vod_remarks:d?.vod_remarks||"",vod_year:d?.vod_year||"",type_name:d?.type_name||"",vod_actor:d?.vod_actor||"",vod_content:d?.vod_remarks||"",vod_play_from:"Anime1",vod_play_url:m})}catch(u){console.error("anime1 detail failed:",a,u.message)}}return{list:s}}async function t_r(t,e){let r=String(t.body?.id||"").trim(),n=Q1r(r),s=String(n.apiReq||r).trim(),i=n.referer||qn.host;if(!s)return{parse:0,jx:0,url:"",header:qoe("",i)};try{let a=await z1r(s,i);return{parse:0,jx:0,url:a.url,playId:a.url,header:qoe(a.cookie,qn.host)}}catch(a){return console.error("anime1 play failed:",a.message),{parse:0,jx:0,url:"",header:qoe("",i)}}}var Jot={meta:{key:qn.key,name:"\u300C\u76F4\u300DAnime1",type:3},api:async t=>{t.post("/init",Y1r),t.post("/home",J1r),t.post("/category",X1r),t.post("/detail",e_r),t.post("/play",t_r),t.post("/search",Z1r)}};var Jg="https://gimy01.tv",ect="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",r_r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"29",type_name:"\u7EFC\u827A"},{type_id:"34",type_name:"\u77ED\u5267"},{type_id:"13",type_name:"\u9646\u5267"}],Xot={\u5287:"\u5267",\u96FB:"\u7535",\u8996:"\u89C6",\u7DDA:"\u7EBF",\u570B:"\u56FD",\u7522:"\u4EA7",\u7D9C:"\u7EFC",\u85DD:"\u827A",\u52D5:"\u52A8",\u756B:"\u753B",\u985E:"\u7C7B",\u5225:"\u522B",\u72C0:"\u72B6",\u614B:"\u6001",\u5C0E:"\u5BFC",\u984C:"\u9898",\u6B61:"\u6B22",\u6A02:"\u4E50",\u611B:"\u7231",\u5F8C:"\u540E",\u9580:"\u95E8",\u9F8D:"\u9F99",\u99AC:"\u9A6C",\u98A8:"\u98CE",\u96F2:"\u4E91",\u8207:"\u4E0E",\u842C:"\u4E07",\u7121:"\u65E0",\u7DDA\u4E0A\u770B:"\u7EBF\u4E0A\u770B",\u9023\u7E8C\u5287:"\u8FDE\u7EED\u5267",\u96FB\u8996\u5287:"\u7535\u89C6\u5267",\u96FB\u5F71:"\u7535\u5F71",\u52D5\u6F2B:"\u52A8\u6F2B",\u7D9C\u85DD:"\u7EFC\u827A"};function Xg(t){return String(t||"").replace(/\/+$/,"")}function tct(t){return String(t||"").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/"/gi,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function $o(t){let e=tct(t);return Object.keys(Xot).forEach(r=>{e=e.replace(new RegExp(r,"g"),Xot[r])}),e}function n_r(t){return String(t||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Zg(t){let e=String(t||"").trim().replace(/^["']|["']$/g,"");return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?"https:"+e:e.startsWith("/")?Xg(Jg)+e:Xg(Jg)+"/"+e.replace(/^\.\//,""):""}function rM(t){return{"User-Agent":ect,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:t||Xg(Jg)+"/"}}function s_r(t){let e=String(t||""),r=e.trim();if(!r.startsWith('"')||!r.endsWith('"'))return e;try{let n=JSON.parse(r);if(typeof n=="string"&&/(?:<!doctype\s+html|<html[\s>])/i.test(n))return n}catch{}return e}function i_r(t){return new Promise(e=>setTimeout(e,t))}function a_r(t){let e=String(t?.code||"").toUpperCase(),r=String(t?.message||"");return["ECONNRESET","ETIMEDOUT","ECONNABORTED","EAI_AGAIN"].includes(e)||/socket disconnected|TLS connection|timeout/i.test(r)}async function Nw(t,e={}){let r=Number.isInteger(e.retries)?e.retries:2,n;for(let s=0;s<=r;s+=1)try{let i=await he(t,{method:e.method||"get",headers:{...rM(e.referer),...e.headers||{}},data:e.data,timeout:e.timeout||2e4,responseType:"text",transformResponse:[a=>a]});return s_r(i.data)}catch(i){if(n=i,s>=r||!a_r(i))throw i;await i_r(300*(s+1))}throw n}function o_r(t){let e=String(t||""),r=[/var\s+player_data\s*=\s*(\{[\s\S]*?\})\s*<\/script>/i,/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})\s*;/i,/player_data\s*=\s*(\{[\s\S]*?\})\s*;/i];for(let n of r){let s=e.match(n);if(s)try{return JSON.parse(s[1])}catch{}}return null}function c_r(t){let e=String(t?.url||"").trim(),r=String(t?.encrypt||"").trim();if(!e)return"";if(r==="1")try{return decodeURIComponent(e)}catch{return e}if(r==="2")try{return decodeURIComponent(Buffer.from(e,"base64").toString("utf8"))}catch{try{return Buffer.from(e,"base64").toString("utf8")}catch{return e}}return e}function rct(t){let e=String(t||"").trim();if(!e)return null;try{return JSON.parse(e)}catch{let n=e.match(/\{[\s\S]*\}/);if(!n)return null;try{return JSON.parse(n[0])}catch{}}return null}function nct(t){return/^https?:\/\//i.test(t)&&/(?:\.m3u8|\.mp4|\.flv|\.m4v|\.m4s)(?:[?#]|$)/i.test(t)}function sct(t){let e=String(t||"").trim();if(!e)return"";if(nct(e))return e;let r=rct(e);if(r&&typeof r=="object"){let s=sct(r.url||r.video||r.playurl);if(s)return s}let n=e.match(/https?:\/\/[^"'<>\s]+(?:\.m3u8|\.mp4|\.flv|\.m4v)(?:[^"'<>\s]*)?/i);return n?n[0]:""}function ict(t,e){let r=String(t||""),n=String(e||"");if(/^JDQM-/i.test(r)||/^JDQM$/i.test(n))return"JDQM";if(/^JDHG-/i.test(r)||/^JDHG$/i.test(n))return"JDHG";if(/^JD-/i.test(r)||/^(?:JD4K|JD2K)$/i.test(n)&&/^JD/i.test(r))return"JD2K";if(/^JK2-/i.test(r)||/^JK2$/i.test(n))return"JK2";if(/^NSYS-/i.test(r)||/^NSYS$/i.test(n))return"NSYS";if(/^NBY-/i.test(r)||/^NBY$/i.test(n))return"NBY";if(/^JinLiDj-/i.test(r)||/^djplayer$/i.test(n))return"djplayer";if(/^(?:znjson|znkan)-/i.test(r)||/^znjson$/i.test(n))return"znjson";let s=r.match(/^(JSYBL|JSYMG|JSYQY|JSYDJ|JSYHS|JSYRR|JSYYK|JSYTX)-/i);return s?s[1].toUpperCase():/^(?:JSYBL|JSYMG|JSYQY|JSYDJ|JSYHS|JSYRR|JSYYK|JSYTX)$/i.test(n)?n.toUpperCase():/(?:iqiyi\.com|bilibili\.com|v\.qq\.com|sohu\.com|pptv\.com|letv\.com|xigua\.com|mgtv\.com)/i.test(r)?"etcjc":/v\.youku\.com/i.test(r)?"kmjc":"normal"}function u_r(t,e){let r=ict(t,e);return/^(?:JD4K|JD2K|JDQM|JDHG)$/i.test(r)?"d":/^(?:JSYBL|JSYMG|JSYQY|JSYDJ|JSYHS|JSYRR|JSYYK|JSYTX)$/i.test(r)?"j":r==="normal"?"o":"v"}function l_r(t,e,r,n){let s="https://player.gimy.bot/"+u_r(t,e)+"/",i=ict(t,e),a=n||r,o=s+"?url="+encodeURIComponent(t);return o+="&jctype="+encodeURIComponent(i),a&&(o+="&next="+encodeURIComponent("//"+a.replace(/^https?:\/\//i,""))),{parseBase:s,referer:o}}function Zot(t,e=Xg(Jg)){return{"User-Agent":ect,Referer:t||Xg(Jg)+"/",Origin:e}}function d_r(t){return{vod_id:t.vod_id||"",vod_name:t.vod_name||"",vod_pic:t.vod_pic||"",vod_remarks:t.vod_remarks||""}}function act(t,e){let r=[],n={};return(e&&e.length?e:t.root()).find("a[href*='/vod/'], a[href*='/detail/']").each((i,a)=>{let o=t(a),c=o.attr("href")||"",u=Zg(c);if(!/(?:\/detail\/|\/vod\/)\d+\.html/i.test(u)||n[u])return;let l=$o(o.attr("title")||o.find("img").attr("alt")||o.find(".title, .video-text, .module-poster-item-title, h3, h4, h5").first().text()||o.text());if(!l)return;let d=o.closest(".module-item, li, .public-list-box, .video-item, .item, .module-poster-item, .myui-vodlist__box"),f=Zg(o.attr("data-original")||o.attr("data-src")||o.attr("data-bg")||o.find("img").attr("data-original")||o.find("img").attr("data-src")||o.find("img").attr("src")||d.find("a.video-pic").first().attr("data-original")||d.find("a.video-pic").first().attr("data-src")||d.find("img").first().attr("data-original")||d.find("img").first().attr("data-src")||d.find("img").first().attr("src")||""),p=d.html()||o.parent().html()||"",m=String(p).match(/(?:更新至第?\d+集|更新第?\d+集|\(?\d+å…¨\)?|å…¨\d+集|已完çµ|已完结|HDä¸å—|HD|TC|HC|æ¶å…ˆç‰ˆ|抢先版)/i);n[u]=!0,r.push(d_r({vod_id:u,vod_name:l,vod_pic:f,vod_remarks:m?$o(m[0]):""}))}),r}function Wo(t,e){let r=new RegExp("<span[^>]*>\\s*"+n_r(e)+"\\s*[\uFF1A:]\\s*<\\/span>([\\s\\S]*?)<\\/(?:li|div)>","i"),n=String(t||"").match(r);return n?$o(n[1]):""}function f_r(t){let e=[],r=[],n=new Set,s=(c,u)=>($o(c)||u||"\u6B63\u7247").replace(/[$#]/g," ").trim(),i=c=>{let u=[],l=new Set;return c.find("a[href*='/play/'], a[href*='/eps/']").each((d,f)=>{let p=t(f),m=p.attr("href")||"",h=Zg(m);if(!h||l.has(h))return;l.add(h);let A=s(p.attr("title")||p.text(),"\u7B2C"+(u.length+1)+"\u96C6");u.push(A+"$"+h)}),u},a=(c,u,l)=>{if(!u.length)return;let d=$o(c)||"\u9ED8\u8BA4\u7EBF\u8DEF",f=String(l||d||r.length);n.has(f)||(n.add(f),r.push({from:d,urls:u.join("#")}))},o=new Map;return t(".source[data-route-switch], [data-line-name][data-route-switch]").each((c,u)=>{let l=t(u),d=String(l.attr("data-route-switch")||"").trim(),f=l.clone();f.children().remove();let p=$o(l.attr("data-line-name")||f.text()||l.text());d&&p&&o.set(d,p)}),t(".episodes-route[data-route-sid], .eps[data-route-sid]").each((c,u)=>{let l=t(u),d=String(l.attr("data-route-sid")||"").trim();a(o.get(d)||"\u7EBF\u8DEF"+(d||r.length+1),i(l),"route:"+(d||r.length+1))}),t("#playTab a[href^='#con_playlist_']").each((c,u)=>{let l=t(u),d=String(l.attr("href")||"").replace(/^#/,""),f=$o(l.text())||d;d&&e.push({tabId:d,name:f})}),t("ul[id^='con_playlist_']").each((c,u)=>{let l=t(u),d=l.attr("id")||"",f=$o(l.prevAll("li").first().text())||d;d&&!e.some(p=>p.tabId===d)&&e.push({tabId:d,name:f})}),e.forEach(c=>{a(c.name,i(t("#"+c.tabId)),"tab:"+c.tabId)}),r.length||a("Gimy",i(t.root()),"fallback:gimy"),{playFrom:r.map(c=>c.from).join("$$$"),playUrl:r.map(c=>c.urls).join("$$$")}}async function p_r(t,e){return{}}async function m_r(t,e){return{class:r_r}}async function h_r(t,e){let r=String(t.body?.id||"2"),n=Number.parseInt(t.body?.page||1,10);(!n||n<1)&&(n=1);let s=await Nw(Xg(Jg)+"/type/"+r+(n>1?"-"+n:"")+".html"),i=Me(s),a=act(i);return{page:n,pagecount:a.length>0?n+1:n,list:a}}async function g_r(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=String(s||"").trim();if(!i)continue;let a=/^https?:\/\//i.test(i)?i:Zg(i),o=await Nw(a),c=Me(o),u=f_r(c),l=c("h1.text-overflow, h1").first().text()||c("title").text(),d=Wo(o,"\u985E\u5225")||Wo(o,"\u7C7B\u522B"),f=d.match(/\b(?:19|20)\d{2}\b/)?.[0]||"";n.push({vod_id:a,vod_name:$o(l.replace(/(?:線上看|线上看)[\s\S]*$/i,"")),vod_pic:Zg(c("meta[property='og:image']").attr("content")||(c(".details-pic .video-pic").attr("style")||"").match(/url\(([^)]+)\)/)?.[1]||c("img").first().attr("src")||""),vod_content:$o(c(".switch-box .text, .details-content .text, .details-content, .detail-sketch").first().text()||c("meta[name='description']").attr("content")||""),vod_remarks:Wo(o,"\u72C0\u614B")||Wo(o,"\u72B6\u6001"),type_name:$o(d.replace(/\s*[·.]\s*(?:19|20)\d{2}\b.*$/,"")),vod_year:Wo(o,"\u5E74\u4EE3")||Wo(o,"\u5E74\u4EFD")||f,vod_area:Wo(o,"\u570B\u5BB6/\u5730\u5340")||Wo(o,"\u56FD\u5BB6/\u5730\u533A")||Wo(o,"\u5730\u5340")||Wo(o,"\u5730\u533A"),vod_actor:Wo(o,"\u4E3B\u6F14")||$o(c("li:contains('\u4E3B\u6F14') a, .detail__meta div:contains('\u4E3B\u6F14') a").map((p,m)=>c(m).text()).get().join(" / ")),vod_director:Wo(o,"\u5C0E\u6F14")||Wo(o,"\u5BFC\u6F14")||$o(c("li:contains('\u5C0E\u6F14') a, li:contains('\u5BFC\u6F14') a, .detail__meta div:contains('\u5C0E\u6F14') a, .detail__meta div:contains('\u5BFC\u6F14') a").map((p,m)=>c(m).text()).get().join(" / ")),vod_play_from:u.playFrom,vod_play_url:u.playUrl})}return{list:n}}async function A_r(t,e){let r=String(t.body?.id||"").trim();if(!r)return{parse:1,url:""};let n=/^https?:\/\//i.test(r)?r:Zg(r);try{let s=await Nw(n,{referer:n}),i=o_r(s),a=c_r(i),o=String(i?.from||t.body?.flag||"").trim();if(!a)return{parse:1,url:n,header:rM(n)};if(nct(a))return{parse:0,url:a,header:Zot(n)};let c=i?.link_next?Zg(i.link_next):"",u=l_r(a,o,n,c),l=await Nw(u.parseBase+"parse.php?url="+encodeURIComponent(a)+"&_t="+Date.now(),{referer:u.referer,headers:{Accept:"application/json, text/plain, */*"}}),d=rct(l),f=sct(d?.url||d?.video||d?.playurl);return f?{parse:0,url:f,header:Zot(u.referer,"https://player.gimy.bot")}:{parse:1,url:a,header:rM(n)}}catch(s){return console.error("gimy play failed:",s.message),{parse:1,url:n,header:rM(n)}}}async function y_r(t,e){let r=tct(t.body?.wd),n=Number.parseInt(t.body?.page||1,10);if((!n||n<1)&&(n=1),!r)return{page:n,pagecount:n,list:[]};let s=Xg(Jg)+"/search/-------------.html?wd="+encodeURIComponent(r)+"&page="+n,i=await Nw(s),a=Me(i),o=act(a,a(".box-main-content").first());return{page:n,pagecount:o.length>0?n+1:n,list:o}}var oct={meta:{key:"gimy",name:"\u300C\u76F4\u300D\u5267\u8FF7",type:3},api:async t=>{t.post("/init",p_r),t.post("/home",m_r),t.post("/category",h_r),t.post("/detail",g_r),t.post("/play",A_r),t.post("/search",y_r)}};var Goe="https://hanxiaoquan.hanju.workers.dev",x_r="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",b_r=[{type_id:"0",type_name:"\u97E9\u5267"},{type_id:"1",type_name:"\u97E9\u5F71"},{type_id:"2",type_name:"\u65E5\u97E9\u7EFC"},{type_id:"3",type_name:"\u65E5\u97E9\u6F2B"},{type_id:"100",type_name:"\u70ED\u95E8"}];function Koe(t){return String(t||"").replace(/\/+$/,"")}function Gl(t){return String(t||"").replace(/\s+/g," ").trim()}function E_r(t){let e=String(t||"").trim();return e?e.startsWith("//")?"https:"+e:/^https?:\/\//i.test(e)?e:Koe(Goe)+(e.startsWith("/")?e:"/"+e):""}function cct(){let t=Koe(Goe);return{"User-Agent":x_r,Accept:"application/json, text/plain, */*","Content-Type":"application/json",Origin:t,Referer:t+"/"}}async function Voe(t,e,r=3e4){let n=await he(Koe(Goe)+t,{method:"post",headers:cct(),data:e||{},timeout:r,responseType:"json"});return typeof n.data=="string"?JSON.parse(n.data):n.data||{}}function zoe(t){return{vod_id:String(t?.vod_id||""),vod_name:Gl(t?.vod_name),vod_pic:E_r(t?.vod_pic),vod_remarks:Gl(t?.vod_remarks||t?.vod_class),vod_year:Gl(t?.vod_year),vod_director:Gl(t?.vod_director),vod_actor:Gl(t?.vod_actor),vod_content:Gl(t?.vod_content)}}function pE(t){return String(t||"").toLowerCase().replace(/\s+/g,"").replace(/[·•・\-—_::,,.。'"“â€â€˜â€™!?ï¼ï¼Ÿ()()\[\]ã€ã€‘]/g,"")}function __r(t,e){let r=pE(e),n=pE(t?.vod_name),s=pE(t?.vod_remarks),i=pE(t?.vod_actor),a=pE(t?.vod_director),o=pE(t?.vod_content);return r?n===r?1e4:n.startsWith(r)?8e3-n.length:n.includes(r)?6e3-n.indexOf(r):s.includes(r)?2500-s.indexOf(r):i.includes(r)?1800-i.indexOf(r):a.includes(r)?1500-a.indexOf(r):o.includes(r)?500-o.indexOf(r):0:0}function S_r(t,e,r){let n=[],s=Array.isArray(t)?t:[];for(let i of s){let a=zoe(i);if(!a.vod_id||!a.vod_name||r[a.vod_id])continue;let o=__r(a,e);o<=0||(r[a.vod_id]=!0,a._searchScore=o,n.push(a))}return n}function v_r(t){let e=zoe(t);e.type_name=Gl(t?.vod_class),e.vod_area=Gl(t?.vod_area)||"\u97E9\u56FD";let n=(Array.isArray(t?.vod_play_url)?t.vod_play_url:[]).map((s,i)=>{let a=Gl(s?.t||s?.name)||"\u7B2C"+(i+1)+"\u96C6",o=String(s?.u||s?.url||"").trim();return o?a+"$"+o:""}).filter(Boolean).join("#");return e.vod_play_from=n?"\u9ED8\u8BA4\u7EBF\u8DEF":"",e.vod_play_url=n,e}function I_r(t,e,r){let n=Number(t?.pagecount||t?.pageCount||t?.totalPage||0);return Number.isFinite(n)&&n>0?n:r.length>0?e+1:e}async function C_r(t,e){return{}}async function T_r(t,e){return{class:b_r}}async function w_r(t,e){let r=String(t.body?.id||"0"),n=Number.parseInt(t.body?.page||1,10);(!n||n<1)&&(n=1);let s=await Voe("/api/list",{c_id:r,page:String(n)}),i=(Array.isArray(s?.data)?s.data:[]).map(zoe).filter(a=>a.vod_id&&a.vod_name);return{page:n,pagecount:I_r(s,n,i),total:s?.total||i.length,list:i}}async function R_r(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=String(s||"").trim();if(!i)continue;let a=await Voe("/api/detail",{b_id:i});a?.data&&n.push(v_r(a.data))}return{list:n}}async function N_r(t,e){let r=String(t.body?.id||"").trim();return r?{parse:0,url:r,header:cct()}:{parse:1,url:""}}async function O_r(t,e){let r=Gl(t.body?.wd),n=Number.parseInt(t.body?.page||1,10);if((!n||n<1)&&(n=1),!r)return{page:n,pagecount:n,list:[]};let s={},i=[],a=n===1?5:n;for(let o=n;o<=a;o++){let c=await Voe("/api/search",{keyword:r,page:String(o)},6e4),u=S_r(c?.data,r,s);if(i.push(...u),!Array.isArray(c?.data)||c.data.length<20||n>1)break}return i.sort((o,c)=>{let u=Number(c._searchScore||0)-Number(o._searchScore||0);return u!==0?u:o.vod_name.localeCompare(c.vod_name,"zh-CN")}),i.forEach(o=>{delete o._searchScore}),{page:n,pagecount:i.length>0?n+1:n,list:i}}var uct={meta:{key:"hanxiaoquan",name:"\u300C\u76F4\u300D\u97E9\u5C0F\u5708",type:3},api:async t=>{t.post("/init",C_r),t.post("/home",T_r),t.post("/category",w_r),t.post("/detail",R_r),t.post("/play",N_r),t.post("/search",O_r)}};var Joe=Re(require("node:vm"),1),fo=Re(Jn(),1);var xa={key:"wbbb",name:"\u6B6A\u6BD4\u5DF4\u535C",host:"https://wbbb1.com",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",timeout:2e4},lct=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"}],P_r=/^(?:lzm3u8|bfzym3u8)$/i;function dct(t){return String(t||"").replace(/\/+$/,"")}function Ms(t,e,r=1,n=""){let s=String(t||"").match(e);return s&&s[r]||n}function ws(t=""){return String(t).replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/"/gi,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function Yoe(t=""){return ws(t).replace(/\s*\/\s*/g,"/").replace(/^\/+|\/+$/g,"").trim()}function fct(t=""){return String(t).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function po(t=""){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?dct(xa.host)+e:dct(xa.host)+"/"+e.replace(/^\.\//,""):""}function k_r(t=""){let e=String(t||"").trim();if(!e)return"";if(e.startsWith("//"))return e;if(/^https?:\/\//i.test(e))try{let r=new URL(e);return`//${r.host}${r.pathname}${r.search}${r.hash}`}catch{}if(e.startsWith("/"))try{return`//${new URL(xa.host).host}${e}`}catch{}return e}function D_r(t){return(Array.isArray(t)?t:[]).map(e=>String(e||"").split(";")[0].trim()).filter(Boolean).join("; ")}function gct(t=`${xa.host}/`){return{"User-Agent":xa.ua,Referer:t,"Accept-Language":"zh-CN,zh;q=0.9"}}async function hE(t,e={}){let r=/^https?:\/\//i.test(t)?t:po(t),n=await he({url:r,method:e.method||"get",data:e.data,timeout:e.timeout||xa.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{...gct(e.referer),...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function B_r(t,e={}){let r=await he({url:t,method:e.method||"get",data:e.data,timeout:e.timeout||xa.timeout,validateStatus:()=>!0,headers:e.headers||{}});if(r.status<200||r.status>=300)throw new Error(`HTTP ${r.status}`);return typeof r.data=="string"?JSON.parse(r.data):r.data}function Xoe(t=""){let e=ws(String(t||"")).replace(/\s+/g,"").trim();return!e||/^(?:排åº|é€‰æ‹©æ’æ”¾æº|åˆ‡æ¢æ’放æº|更多|展开|æ”¶èµ·)$/i.test(e)}function L_r(t=""){let e=String(t||"").trim();if(!e)return"";let r=e.match(/\/detail\/(\d+)\.html/i)||e.match(/^(\d+)$/);return r?r[1]:e}function M_r(t=""){if(t&&typeof t=="object"&&!Array.isArray(t)){let i=po(t.playUrl||t.playId||t.url||t.id||""),a=ws(t.name||"").trim();return!i||!a?null:{name:a,id:i,playId:i,playUrl:i,url:i}}let e=String(t||"").trim();if(!e)return null;let r=e.indexOf("$");if(r<0)return null;let n=e.slice(0,r).trim(),s=po(e.slice(r+1).trim());return!n||!s?null:{name:n,id:s,playId:s,playUrl:s,url:s}}function pct(t,e,r=0){if(Xoe(t))return null;let n=ws(String(t||"")).replace(/\s+/g," ").trim()||`\u7EBF\u8DEF${r+1}`,s=new Set,i=[];for(let a of Array.isArray(e)?e:[]){let o=M_r(a);!o||s.has(o.playId)||(s.add(o.playId),i.push(o))}return i.length?{name:n,url:i.map(a=>`${a.name}$${a.playUrl}`).join("#"),episodes:i}:null}function W_r(t){let e=Ms(t,/href=["']\/detail\/(\d+)\.html["']/i,1,""),r=ws(Ms(t,/<div class=["']module-(?:poster-item-title|card-item-title)["']>([\s\S]*?)<\/div>/i,1,""))||Ms(t,/alt=["']([^"']+)["']/i,1,""),n=po(Ms(t,/(?:data-original|data-src|src)=["']([^"']+)["']/i,1,"")),s=ws(Ms(t,/<div class=["']module-item-note["']>([\s\S]*?)<\/div>/i,1,""));return{vod_id:e,vod_name:r,vod_pic:n,vod_remarks:s}}function ece(t){let e=String(t||""),r=[],n=/<a href=["']\/detail\/(\d+)\.html["'] title=["']([^"']+)["'] class=["']module-poster-item module-item["']>([\s\S]*?)<\/a>/gi,s;for(;(s=n.exec(e))!==null;){let a=s[0];r.push({vod_id:s[1],vod_name:ws(s[2]),vod_pic:po(Ms(a,/(?:data-original|data-src|src)=["']([^"']+)["']/i,1,"")),vod_remarks:ws(Ms(a,/<div class=["']module-item-note["']>([\s\S]*?)<\/div>/i,1,""))})}if(r.length)return r;let i=/<div class=["']module-card-item module-item["']>([\s\S]*?)<\/div>\s*<\/div>/gi;for(;(s=i.exec(e))!==null;){let a=W_r(s[1]);a.vod_id&&a.vod_name&&r.push(a)}return r}function $_r(t){let e=[],r=/<div[^>]*class=["'][^"'>]*\bmodule-tab-item\b[^"'>]*["'][^>]*>([\s\S]*?)<\/div>/gi,n;for(;(n=r.exec(t))!==null;){let s=n[0],i=Ms(s,/data-dropdown-value\s*=\s*['"]([^'"]+)['"]/i,1,"").trim();if(i){Xoe(i)||e.push(i);continue}let a=ws(n[1]||"").trim();a&&!Xoe(a)&&e.push(a)}return e}function F_r(t){let e=[],r=/<div class=["']module-play-list-content[^"']*["']>([\s\S]*?)<\/div>/gi,n;for(;(n=r.exec(t))!==null;){let i=n[1],a=[],o=/<a[^>]+class=["']module-play-list-link[^"']*["'][^>]+href=["']([^"']+)["'][^>]*>([\s\S]*?)<\/a>/gi,c;for(;(c=o.exec(i))!==null;){let u=po(c[1]),l=ws(c[2]).trim();!u||!l||a.push(`${l}$${u}`)}a.length&&e.push(a)}if(e.length)return e;let s=[...t.matchAll(/<a[^>]+href=["']([^"']*\/(?:vplay|play)\/[^"'#]+)["'][^>]*>([\s\S]*?)<\/a>/gi)];return s.length?[s.map(i=>`${ws(i[2]).trim()||"\u64AD\u653E"}$${po(i[1])}`)]:e}function U_r(t="",e=""){let r=ws(Ms(t,/<a[^>]+module-play-list-link[^"']*active[^"']*[^>]*>([\s\S]*?)<\/a>/i,1,"")),n=ws(Ms(t,/(?:æ£åœ¨æ’放|当剿’放)[^::]*[::]\s*([\s\S]*?)(?:<|$)/i,1,"")),s=r||n;return e&&s&&(s=s.replace(new RegExp(`^${fct(e)}\\s*`),"").trim(),s=s.replace(new RegExp(`^\u300A?${fct(e)}\u300B?\\s*`),"").trim()),s.trim()}function q_r(t="",e={}){let r=String(e?.vod_data?.vod_name||"").trim(),n=U_r(t,r);return`\u5728\u7EBF\u64AD\u653E${r}${n?` ${n}`:""}`.trim()||r||"\u5728\u7EBF\u64AD\u653E"}function j_r(t){let e=[/var\s+player_aaaa\s*=\s*(\{.*?\})<\/script>/s,/var\s+player_.*?=\s*(\{.*?\})<\/script>/s,/player_aaaa\s*=\s*(\{.*?\})\s*;/s,/player_data\s*=\s*(\{.*?\})\s*;/s];for(let r of e){let n=String(t||"").match(r);if(n)try{return JSON.parse(n[1])}catch{}}return null}function H_r(t,e){let r=String(t||"").trim(),n=String(e||"").trim();if(n==="1")try{r=unescape(r)}catch{}else if(n==="2"){try{r=Buffer.from(r,"base64").toString("utf8")}catch{}try{r=unescape(r)}catch{}}return po(r)}function Zoe(t,e){let r=String(t||"").trim(),n=String(e||"").trim();if(!r)return!1;if(/\.(?:m3u8|mp4|m4v|m4a|mp3|flv|avi|mkv|mov|webm)(?:[?#]|$)/i.test(r)||/^(?:m3u8|mp4|m4v|m4a|mp3|flv|avi|mkv|mov|webm)$/i.test(n)&&/^https?:\/\//i.test(r)||P_r.test(n))return!0;try{let s=new URL(r);return/\.(?:m3u8|mp4|m4v|m4a|mp3|flv|avi|mkv|mov|webm)(?:$|\?)/i.test(s.pathname+s.search)}catch{return!1}}function mct(t=""){let e=String(t||"").trim();if(/^[A-Za-z0-9+/]+={0,2}$/.test(e)&&e.length%4===0)try{return fo.default.enc.Base64.parse(e)}catch{}return fo.default.enc.Utf8.parse(e)}function Q_r(t){let e=()=>{},r=function(){return{on:e,hide:e,show:e,html:e,text:e,click:e,append:e,remove:e,css:e,attr:e,addClass:e,removeClass:e,find:()=>({}),val:()=>"",ready:e,length:0}};r.post=e,r.ajax=e,r.get=e,r.fn={};let n=new URL(t),s={console,CryptoJS:fo.default,URL,URLSearchParams,Buffer,atob:i=>Buffer.from(i,"base64").toString("binary"),btoa:i=>Buffer.from(i,"binary").toString("base64"),setTimeout:e,setInterval:()=>0,clearTimeout:e,clearInterval:e,fetch:async()=>({ok:!0,status:200,headers:new Map,text:async()=>"",json:async()=>({})}),localStorage:{getItem:()=>null,setItem:e,removeItem:e},sessionStorage:{getItem:()=>null,setItem:e,removeItem:e},navigator:{userAgent:xa.ua,clipboard:{writeText:async()=>{}}},document:{title:"wbbb-parser",body:{},addEventListener:e,querySelector:()=>null,createElement:()=>({style:{},click:e}),getElementById:()=>({style:{},addEventListener:e,play:async()=>{},pause:e})},location:{origin:n.origin,pathname:n.pathname,search:n.search,href:n.toString(),host:n.host},window:null,top:null,parent:null,self:null,$:r,jQuery:r,Artplayer(){return{on:e,once:e,emit:e,destroy:e,template:{},plugins:{},setting:{show:e},controls:{add:e},layers:{add:e},events:{proxy:e},notice:{show:e},storage:{get:()=>null,set:e}}},animation:{}};return s.window=s,s.top=s,s.parent=s,s.self=s,s}async function G_r(t,e){let r=Ms(e,/<script[^>]+src=["']([^"']*setting\.js[^"']*)["']/i,1,"");if(!r)throw new Error("setting.js missing");let n=new URL(r,t).toString(),i=`${await hE(n,{referer:t})}
|
|
;globalThis.__wbbbResolveRuntime={ urlValueurl, keyValue, vkeyValue, ckeyValue, nextParam, titleParam };`,a=Q_r(t);Joe.default.createContext(a),Joe.default.runInContext(i,a,{timeout:5e3});let o={...a.__wbbbResolveRuntime||{},decrypt:typeof a.decrypt=="function"?a.decrypt.bind(a):null,deplay:typeof a.deplay=="function"?a.deplay.bind(a):null};if(!o.urlValueurl||!o.keyValue||!o.vkeyValue||!o.ckeyValue)throw new Error("setting runtime params missing");return o}async function K_r(t,e,r){let n=k_r(e),s=String(r||"").trim(),i=`https://xn--qvr2v.850088.xyz/player/?url=${encodeURIComponent(t)}${n?`&next=${encodeURIComponent(n)}`:""}${s?`&title=${encodeURIComponent(s)}`:""}`,a=await he.get(i,{timeout:xa.timeout,responseType:"text",transformResponse:[A=>A],validateStatus:()=>!0,headers:gct(`${xa.host}/`)});if(a.status<200||a.status>=300)throw new Error(`HTTP ${a.status}`);let o=String(a.data||""),c=D_r(a.headers?.["set-cookie"]),u=await G_r(i,o),l=u.urlValueurl||`${String(t||"").trim()}${n?`&next=${n}`:""}`,d="https://xn--qvr2v.850088.xyz/player/api.php",f=new URLSearchParams({url:l,key:u.keyValue,vkey:u.vkeyValue,ckey:u.ckeyValue}).toString(),p=await B_r(d,{method:"post",data:f,headers:{"User-Agent":xa.ua,"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest",Referer:i,Origin:"https://xn--qvr2v.850088.xyz",...c?{Cookie:c}:{}}});if(!p||Number(p.code)!==200||!p.url)throw new Error(p?.msg||"parse api failed");let m=String(p.url||"").trim(),h="";if(m&&u&&typeof u.decrypt=="function")try{h=(u.decrypt(m)||"").trim();try{h=decodeURIComponent(h)}catch{}}catch{}if(!h&&m&&u&&typeof u.deplay=="function")try{let A=String(u.deplay(p.aes_key||"")||"").trim(),g=String(u.deplay(p.aes_iv||"")||"").trim();if(A&&g){h=(fo.default.AES.decrypt(m,fo.default.enc.Utf8.parse(A),{iv:fo.default.enc.Utf8.parse(g),mode:fo.default.mode.CBC,padding:fo.default.pad.Pkcs7}).toString(fo.default.enc.Utf8)||"").trim();try{h=decodeURIComponent(h)}catch{}}}catch{}if(!h){let A=mct(p.aes_key||""),g=mct(p.aes_iv||"");if(m&&A&&g)try{h=(fo.default.AES.decrypt(m,A,{iv:g,mode:fo.default.mode.CBC,padding:fo.default.pad.Pkcs7}).toString(fo.default.enc.Utf8)||"").trim();try{h=decodeURIComponent(h)}catch{}}catch{}}if(!h&&/^https?:\/\//i.test(m)&&(h=m),!h)try{h=decodeURIComponent(m)}catch{h=m}return h=po(h),Zoe(h,p.type||"")||(h=i),{url:h,type:p.type||"",parsePageUrl:i}}function mE(t={}){return{"User-Agent":xa.ua,Referer:`${xa.host}/`,Origin:xa.host,...t}}function hct(t,e={}){return{parse:1,jx:1,url:t,playId:t,urls:[{name:"\u55C5\u63A2\u7EBF\u8DEF",url:t,playId:t}],header:mE(e)}}async function V_r(t,e){return{}}async function z_r(t,e){try{let r=await hE("/");return{class:lct,filters:{},list:ece(r).slice(0,40)}}catch(r){return console.error("wbbb home failed:",r.message),{class:lct,filters:{},list:[]}}}async function Y_r(t,e){let r=String(t.body?.id||"1"),n=Number.parseInt(t.body?.page||1,10);(!n||n<1)&&(n=1);try{let s=n>1?`/show/${r}--------${n}---.html`:`/show/${r}-----------.html`,i=await hE(s),a=ece(i),o=i.includes('title="\u4E0B\u4E00\u9875"')||i.includes("title='\u4E0B\u4E00\u9875'");return{page:n,pagecount:o?n+1:n,limit:20,total:(n-1)*20+a.length+(o?1:0),list:a}}catch(s){return console.error("wbbb category failed:",s.message),{page:n,pagecount:n,limit:20,total:0,list:[]}}}async function J_r(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(i=>String(i||"").trim()).filter(Boolean),s=[];for(let i of n)try{let a=L_r(i),o=/^https?:\/\//i.test(a)?a:`/detail/${a}.html`,c=await hE(o),u=[...c.matchAll(/<div class=["']module-info-tag-link["']>([\s\S]*?)<\/div>/gi)].map(h=>h[1]),l=$_r(c),d=F_r(c),f=[];if(d.forEach((h,A)=>{let g=pct(l[A]||`\u7EBF\u8DEF${A+1}`,h,A);g&&f.push(g)}),f.length===0){let h=new Set,A=[...c.matchAll(/<a[^>]+href=["']([^"']*\/(?:vplay|play)\/[^"']+\.html)["'][^>]*>([\s\S]*?)<\/a>/gi)].map((b,y)=>{let x=po(b[1]),v=ws(b[2]).trim()||`\u7B2C${y+1}\u96C6`;return!x||h.has(x)?"":(h.add(x),`${v}$${x}`)}).filter(Boolean),g=pct(l[0]||"\u64AD\u653E\u7EBF\u8DEF",A,0);g&&(f=[g])}let p=f.map(h=>h.name),m=f.map(h=>h.url);s.push({vod_id:a,vod_name:ws(Ms(c,/<h1[^>]*>([\s\S]*?)<\/h1>/i,1,"")),vod_pic:po(Ms(c,/<div class=["']module-item-pic["']>[\s\S]*?<img[^>]+data-original=["']([^"']+)["']/i,1,""))||po(Ms(c,/<div class=["']module-item-pic["']>[\s\S]*?<img[^>]+(?:data-src|src)=["']([^"']+)["']/i,1,"")),type_name:Yoe(u[2]||""),vod_year:ws(u[0]||""),vod_area:ws(u[1]||""),vod_remarks:ws(Ms(c,/<div class=["']module-item-note["']>([\s\S]*?)<\/div>/i,1,""))||ws(Ms(c,/\u66f4\u65b0\u81f3[^<\s]+/,0,"")),vod_actor:Yoe(Ms(c,/\u4e3b\u6f14:[\s\S]*?<div[^>]*class=["']module-info-item-content["']>([\s\S]*?)<\/div>/i,1,"")),vod_director:Yoe(Ms(c,/\u5bfc\u6f14:[\s\S]*?<div[^>]*class=["']module-info-item-content["']>([\s\S]*?)<\/div>/i,1,"")),vod_content:ws(Ms(c,/<div class=["']module-info-introduction-content[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,1,"")),vod_play_from:p.join("$$$"),vod_play_url:m.join("$$$")})}catch(a){console.error("wbbb detail failed:",i,a.message)}return{list:s}}async function X_r(t,e){let r=String(t.body?.wd||"").trim(),n=Number.parseInt(t.body?.page||1,10);if((!n||n<1)&&(n=1),!r)return{page:n,pagecount:n,total:0,list:[]};try{let s=`/search/-------------.html?wd=${encodeURIComponent(r)}${n>1?`&page=${n}`:""}`,i=await hE(s),a=ece(i);return{page:n,pagecount:a.length>=20?n+1:n,total:a.length,list:a}}catch(s){return console.error("wbbb search failed:",s.message),{page:n,pagecount:n,total:0,list:[]}}}async function Z_r(t,e){let r=String(t.body?.id||"").trim();if(!r)return{parse:1,jx:1,url:"",playId:""};let n=/^https?:\/\//i.test(r)?r:po(r);try{let s=await hE(n,{referer:n}),i=j_r(s);if(!i)return{parse:0,jx:0,url:n,playId:n,header:mE()};let a=String(i.from||t.body?.flag||"").trim(),o=H_r(i.url,i.encrypt);if(Zoe(o,a))return{parse:0,jx:0,url:o,playId:o,header:mE({Referer:n})};let c=String(i.parse||i.jx||"").trim();if(c){let u=/^https?:\/\//i.test(c)?`${c}${encodeURIComponent(o)}`:po(`${c}${encodeURIComponent(o)}`);return{parse:0,jx:0,url:u,playId:u,header:mE({Referer:n})}}try{let u=await K_r(String(i.url||""),n,q_r(s,i));if(u?.url){let l=mE({Referer:u.parsePageUrl||n});return Zoe(u.url,u.type||"")?{parse:0,jx:0,url:u.url,playId:u.url,header:l}:hct(u.url,l)}}catch(u){console.warn("wbbb resolve failed:",u.message)}return hct(o||n,{Referer:n})}catch(s){return console.error("wbbb play failed:",s.message),{parse:1,jx:1,url:n,playId:n,header:mE({Referer:n})}}}var Act={meta:{key:xa.key,name:"\u300C\u76F4\u300D\u6B6A\u6BD4",type:3},api:async t=>{t.post("/init",V_r),t.post("/home",z_r),t.post("/category",Y_r),t.post("/detail",J_r),t.post("/play",Z_r),t.post("/search",X_r)}};var Pw={key:"girigiri",name:"girigiri\u7231\u52A8\u6F2B",host:"https://ani.girigirilove.com",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",timeout:15e3},ba=Pw.host,tce=Pw.ua,Ow=48;function Ru(t){return String(t||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/"/gi,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function Kl(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?ba+e:ba+"/"+e:""}function yct(t){try{return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}catch{return""}}function eSr(t){try{return JSON.parse(Buffer.from(t||"","base64").toString("utf8"))}catch{return{}}}function tSr(t){let e=new Set,r=[];for(let n of t||[]){let s=n?.vod_id;!s||e.has(s)||(e.add(s),r.push(n))}return r}function rSr(t){try{let e=Buffer.from(t||"","base64").toString("utf8");return decodeURIComponent(e)}catch{return t||""}}async function sM(t,e={}){let r=/^https?:\/\//i.test(t)?t:Kl(t),n=await he({url:r,method:e.method||"get",data:e.data,timeout:e.timeout||Pw.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{"User-Agent":tce,Referer:e.referer||ba+"/","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function nSr(t,e={}){let r=/^https?:\/\//i.test(t)?t:Kl(t),n=await he.get(r,{timeout:e.timeout||Pw.timeout,validateStatus:()=>!0,headers:{"User-Agent":tce,Referer:e.referer||ba+"/","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return n.data}function _ct(t){let e=[],r=t.match(/<div class="public-list-box public-pic-b">[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/g)||[];for(let n of r){let s=(n.match(/class="public-list-exp"[^>]*href="([^"]+)"/)||[])[1]||"",i=(n.match(/class="public-list-exp"[^>]*title="([^"]+)"/)||[])[1]||(n.match(/class="time-title[^"]*"[^>]*title="([^"]+)"/)||[])[1]||"",a=(n.match(/data-src="([^"]+)"/)||[])[1]||(n.match(/src="([^"]+)"/)||[])[1]||"",o=(n.match(/<span class="public-list-prb[^>]*>([\s\S]*?)<\/span>/)||[])[1]||"";!s||!i||e.push({vod_id:s,vod_name:Ru(i),vod_pic:Kl(a),vod_remarks:Ru(o)})}return e}function sSr(t){let e=[],r=/<div class="slide-time-bj swiper-slide"><a href="([^"]+)">[\s\S]*?data-background="([^"]+)"[\s\S]*?<span>([^<]+)<\/span>[\s\S]*?<h3 class="slide-info-title hide">([^<]+)<\/h3>[\s\S]*?<div class="slide-info hide2">([\s\S]*?)<\/div>/g,n;for(;(n=r.exec(t))!==null;)e.push({vod_id:n[1],vod_name:Ru(n[4]),vod_pic:Kl(n[2]),vod_remarks:Ru(n[3]),vod_content:Ru(n[5])});return e}function nM(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),n=t.match(new RegExp(`<h4 class="title-h cor4">${r}</h4>[\\s\\S]*?<div class="flex wrap border-box public-r(?: hide-b-2)? diy-center1 mask2">([\\s\\S]*?)</div></div></div>`));return n?_ct(n[1]):[]}var xct=[{type_id:"2",type_name:"\u65E5\u756A"},{type_id:"3",type_name:"\u7F8E\u756A"},{type_id:"21",type_name:"\u5287\u5834\u7248"},{type_id:"20",type_name:"\u771F\u4EBA\u756A\u5287"},{type_id:"24",type_name:"BD\u526F\u97F3\u8ECC"},{type_id:"26",type_name:"\u6F14\u5531\u6703&\u5468\u908A\u6D3B\u52D5&\u5176\u4ED6"}],mo={n:"\u5168\u90E8",v:""},gE={key:"by",name:"",init:"time",value:[{n:"\u6309\u6700\u65B0",v:"time"},{n:"\u6309\u6700\u70ED",v:"hits"},{n:"\u6309\u8BC4\u5206",v:"score"}]},AE={key:"month",name:"",init:"",value:[mo,{n:"\u4E00\u6708",v:"\u4E00\u6708"},{n:"\u56DB\u6708",v:"\u56DB\u6708"},{n:"\u4E03\u6708",v:"\u4E03\u6708"},{n:"\u5341\u6708",v:"\u5341\u6708"}]},yE={key:"year",name:"",init:"",value:(()=>{let t=[mo];for(let e=2026;e>=2001;e--)t.push({n:String(e),v:String(e)});return t.push({n:"2000\u81F390\u5E74\u4EE3",v:"2000\u81F390\u5E74\u4EE3"}),t})()},bct={2:[{key:"class",name:"",init:"",value:[mo,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u804C\u573A","\u767E\u5408","\u4E59\u5973","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50","\u840C"].map(t=>({n:t,v:t}))]},AE,yE,{key:"lang",name:"",init:"",value:[mo,{n:"\u65E5\u8BED",v:"\u65E5\u8BED"},{n:"\u56FD\u8BED",v:"\u56FD\u8BED"}]},{key:"version",name:"",init:"",value:[mo,{n:"TV\u756A",v:"TV\u756A"},{n:"\u6CE1\u9762\u756A",v:"\u6CE1\u9762\u756A"},{n:"OVA",v:"OVA"}]},{key:"state",name:"",init:"",value:[mo,{n:"\u5C0F\u8BF4\u6539",v:"\u5C0F\u8BF4\u6539"},{n:"\u6F2B\u753B\u6539",v:"\u6F2B\u753B\u6539"},{n:"\u6E38\u620F\u6539",v:"\u6E38\u620F\u6539"},{n:"\u539F\u521B",v:"\u539F\u521B"}]},gE],3:[{key:"class",name:"",init:"",value:[mo,...["\u641E\u7B11","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8"].map(t=>({n:t,v:t}))]},AE,yE,{key:"lang",name:"",init:"",value:[mo,{n:"\u56FD\u8BED",v:"\u56FD\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"}]},gE],21:[{key:"class",name:"",init:"",value:[mo,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u767E\u5408","\u803D\u7F8E","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50"].map(t=>({n:t,v:t}))]},AE,yE,{key:"lang",name:"",init:"",value:[mo,{n:"\u65E5\u8BED",v:"\u65E5\u8BED"},{n:"\u4E2D\u6587",v:"\u4E2D\u6587"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"}]},gE],20:[{key:"class",name:"",init:"",value:[mo,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u804C\u573A","\u767E\u5408","\u4E59\u5973","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50","\u840C","\u7EAA\u5F55\u7247"].map(t=>({n:t,v:t}))]},AE,yE,{key:"lang",name:"",init:"",value:[mo,{n:"\u65E5\u8BED",v:"\u65E5\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"},{n:"\u6CF0\u8BED",v:"\u6CF0\u8BED"}]},gE],24:[{key:"class",name:"",init:"",value:[mo,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u767E\u5408","\u4E59\u5973","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50"].map(t=>({n:t,v:t}))]},AE,yE,gE],26:[{key:"class",name:"",init:"",value:[mo,{n:"\u6F14\u5531\u4F1A",v:"\u6F14\u5531\u4F1A"},{n:"\u5468\u8FB9\u6D3B\u52A8",v:"\u5468\u8FB9\u6D3B\u52A8"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},AE,yE,gE]};function iSr(t,e,r={}){let n=t||"2",s=m=>encodeURIComponent(m||""),i=r.by||"",a=r.class||"",o=r.month||"",c=r.year||"",u=r.version||"",l=r.state||"",d=r.lang||"",f=e>1?String(e):"",p=`/show/${n}-${s(o)}-${s(i)}-${s(a)}-${s(d)}----${f}-${s(l)}--${s(c)}/`;return u&&(p+=`version/${s(u)}/`),ba+p}function Ect(t,e={}){return{"User-Agent":tce,Referer:t||ba+"/",Origin:ba,...e}}async function aSr(t,e){return{}}async function oSr(t,e){try{let r=await sM(ba+"/"),n=tSr([...sSr(r),...nM(r,"\u6700\u8FD1\u5927\u5BB6\u5728\u770B"),...nM(r,"\u6216\u8BB8\u4F60\u611F\u5174\u8DA3\uFF1F"),...nM(r,"\u65E5\u756A"),...nM(r,"\u5267\u573A\u7248")]).slice(0,40);return{class:xct,filters:bct,list:n}}catch(r){return console.error("girigiri home failed:",r.message),{class:xct,filters:bct,list:[]}}}async function cSr(t,e){let r=String(t.body?.id||t.body?.tid||"2"),n=Math.max(1,Number(t.body?.page||1)),s={...t.body?.filters||{}},i=iSr(r,n,s);try{let a=await sM(i),o=_ct(a);if(!o.length)return{list:[],page:n,pagecount:n,limit:Ow,total:0};let u=[`--------${n+1}---/`,`-${n+1}---/`].some(l=>a.includes(l));return{list:o,page:n,pagecount:u?n+1:n,limit:Ow,total:n*Ow+(u?Ow:o.length)}}catch(a){return console.error("girigiri category failed:",a.message),{list:[],page:n,pagecount:n,limit:Ow,total:0}}}async function uSr(t,e){let r=String(t.body?.wd||"").trim();if(!r)return{list:[]};try{let n=`${ba}/index.php/ajax/suggest?mid=1&wd=${encodeURIComponent(r)}`;return{list:((await nSr(n,{headers:{"X-Requested-With":"XMLHttpRequest",Referer:`${ba}/search/-------------/`}}))?.list||[]).map(i=>({vod_id:`/GV${i.id}/`,vod_name:i.name||"",vod_pic:Kl(i.pic||""),vod_remarks:""}))}}catch(n){return console.error("girigiri search failed:",n.message),{list:[]}}}async function lSr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(i=>String(i||"").trim()).filter(Boolean),s=[];for(let i of n){let a=Kl(i);if(a)try{let o=await sM(a),c=Ru((o.match(/<title>(.*?)<\//i)||[])[1]||"").replace(/_.*$/,""),u=Kl((o.match(/<img[^>]+data-src="([^"]+\.webp)"/)||[])[1]||""),l=Ru((o.match(/<div id="height_limit" class="text cor3">([\s\S]*?)<\/div>/)||[])[1]||""),d=Ru((o.match(/<p>([^<]*?(?:æ›´æ–°|點|æ”¯æŒæœæ¯”)[^<]*?)<\/p>/)||[])[1]||""),f=(o.match(/20\d{2}/)||[])[0]||"",p=[],m=/<a class="swiper-slide"[^>]*>[\s\S]*? ([^<]+)<span class="badge">(\d+)<\/span><\/a>/g,h;for(;(h=m.exec(o))!==null;)p.push({name:Ru(h[1]),count:Number(h[2]||0)});let A=o.match(/<div class="anthology wow[\s\S]*?<script>\$\("\.anthology-tab a"\)\.eq\(0\)/),g=A?A[0]:"",b=[],y=/<div class="anthology-list-box[^>]*>([\s\S]*?)<\/div><\/div>/g,x;for(;(x=y.exec(g))!==null;){let R=[],w=/href="([^"]*\/play[^\"]+)"[^>]*>([^<]+)<\/a>/g,N;for(;(N=w.exec(x[1]))!==null;){let P=Ru(N[2]),B=N[1];B.includes("/play")&&R.push({name:P,playId:yct({playUrl:B,epName:P,vodName:c,referer:i})})}R.length&&b.push(R)}if(!b.length){let R=[],w=/href="([^"]*\/play[^\"]+)"[^>]*>([^<]+)<\/a>/g,N;for(;(N=w.exec(g||o))!==null;){let P=N[1];if(!P.includes("/play"))continue;let B=Ru(N[2]);R.push({name:B,playId:yct({playUrl:P,epName:B,vodName:c,referer:i})})}R.length&&b.push(R)}let v=[],I=[];for(let R=0;R<b.length;R+=1){let w=p[R]?.name||`\u7EBF\u8DEF${R+1}`,N=b[R].map(P=>`${P.name}$${P.playId}`);v.push(w),I.push(N.join("#"))}s.push({vod_id:i,vod_name:c,vod_pic:u,vod_remarks:d,vod_content:l,vod_director:"",vod_actor:"",vod_year:f,vod_play_from:v.join("$$$"),vod_play_url:I.join("$$$")})}catch(o){console.error("girigiri detail failed:",i,o.message)}}return{list:s}}async function dSr(t,e){let r=String(t.body?.id||"").trim(),n=eSr(r),s=n.playUrl||r||"",i=Kl(n.referer||"/"),a=Kl(s);try{let c=(await sM(a,{referer:i||ba+"/",headers:{Origin:ba,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}})).match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})<\/script>/);if(!c)throw new Error("player_aaaa not found");let u=JSON.parse(c[1]),l=u.url||"";u.encrypt===2?l=rSr(l):u.encrypt===1&&(l=decodeURIComponent(l));let d=l;/^https?:\/\//i.test(d)||(d=Kl(d));let f=new URL(d).origin,p=f===ba?i||ba+"/":f+"/";return{parse:0,url:d,header:Ect(p)}}catch(o){return console.error("girigiri play failed:",o.message),{parse:0,url:a,header:Ect(ba+"/")}}}var Sct={meta:{key:Pw.key,name:"\u300C\u76F4\u300D\u7231\u52A8\u6F2B",type:3},api:async t=>{t.post("/init",aSr),t.post("/home",oSr),t.post("/category",cSr),t.post("/detail",lSr),t.post("/play",dSr),t.post("/search",uSr)}};var em=Re(Jn(),1),Vf="https://www.cycani.org",Ict="https://player.cycanime.com",Cct="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",fSr="YLwJVbXw77pk2eOrAnFdBo2c3mWkLtodMni2wk81GCnP94ZltW",kw=48,eA=[{type_id:"20",type_name:"TV\u756A\u7EC4"},{type_id:"21",type_name:"\u5267\u573A\u756A\u7EC4"}],pSr={\u7C7B\u578B:"class",\u5E74\u4EFD:"year",\u5B57\u6BCD:"letter"},mSr={class:"\u7C7B\u578B",year:"\u5E74\u4EFD",letter:"\u5B57\u6BCD",by:"\u6392\u5E8F"},hSr={key:"by",name:"\u6392\u5E8F",init:"time",value:[{n:"\u6309\u6700\u65B0",v:"time"},{n:"\u6309\u6700\u70ED",v:"hits"},{n:"\u6309\u8BC4\u5206",v:"score"}]},rce=new Map;function zi(t){return String(t||"").replace(/ /gi," ").replace(/<br\s*\/?>/gi," ").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim()}function Tct(t){let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:1}function Dw(t,e=Vf){let r=String(t||"").trim();return r?/^https?:\/\//i.test(r)?r:r.startsWith("//")?`https:${r}`:new URL(r,e).toString():""}function wct(t=`${Vf}/`,e="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"){return{"User-Agent":Cct,Accept:e,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:t}}async function tA(t,e=`${Vf}/`,r){let n=Dw(t),s=await he.get(n,{headers:wct(e,r),timeout:15e3,maxContentLength:3*1024*1024});return typeof s.data=="string"?s.data:String(s.data||"")}async function gSr(t,e=`${Vf}/`){let r=Dw(t),n=await he.get(r,{headers:{...wct(e,"application/json,text/javascript,*/*;q=0.01"),"X-Requested-With":"XMLHttpRequest"},timeout:15e3,maxContentLength:1024*1024});if(typeof n.data=="string")try{return JSON.parse(n.data)}catch{return null}return n.data||null}function iM(t){return encodeURIComponent(String(t||"").trim())}function Rct(t,e=1,r={}){let n=String(t||eA[0].type_id).trim()||eA[0].type_id,s=[],i=String(r.by||r.sort||"").trim(),a=String(r.class||"").trim(),o=String(r.letter||"").trim(),c=String(r.year||"").trim();return i&&s.push("by",iM(i)),a&&s.push("class",iM(a)),o&&s.push("letter",iM(o)),c&&s.push("year",iM(c)),e>1&&s.push("page",String(e)),`/show/${n}${s.length?`/${s.join("/")}`:""}.html`}function Nct(t){return(String(t||"").match(/\/bangumi\/(\d+)\.html/i)||[])[1]||""}function ASr(t){let e=String(t||"").match(/\/watch\/(\d+)\/(\d+)\/(\d+)\.html/i);return e?`${e[1]}/${e[2]}/${e[3]}`:""}function ySr(t){try{let e=JSON.parse(String(t||""));if(e&&e.id)return String(e.id)}catch{}return String(t||"").match(/\d+/)?.[0]||String(t||"").trim()}function vct(t,e){let r=t(e),n=r.find('a[href*="/bangumi/"]').first(),s=n.attr("href")||"",i=Nct(s);if(!i)return null;let a=r.find("img").first(),o=zi(n.attr("title")||a.attr("alt")||n.text());if(!o)return null;let c=a.attr("data-src")||a.attr("data-original")||a.attr("src")||"",u=zi(r.find(".public-list-subtitle,.public-list-prb,.slide-info-remarks").first().text());return{vod_id:i,vod_name:o,vod_pic:Dw(c),vod_remarks:u}}function nce(t){let e=Me(t||""),r=[],n=new Set;return e(".public-list-box,.swiper-slide").each((s,i)=>{let a=vct(e,i);!a||n.has(a.vod_id)||(n.add(a.vod_id),r.push(a))}),r.length===0&&e('a[href*="/bangumi/"]').each((s,i)=>{let a=vct(e,e(i).closest("li,div").first());!a||n.has(a.vod_id)||(n.add(a.vod_id),r.push(a))}),r}function Oct(t){let e=Me(t||""),r=[],n=new Set;return e(".ec-casc-list .nav-swiper").each((s,i)=>{let a=e(i),o=zi(a.find(".filter-text span").first().text()),c=a.find(".vod-ajax-select[data-type]").first().attr("data-type")||pSr[o]||"";if(!c||c==="channel"||c==="type"||n.has(c))return;let u=[];a.find(".vod-ajax-select").each((l,d)=>{let f=e(d),p=zi(f.find("a").first().text()||f.text()),m=String(f.attr("data-val")||"").trim();!p||p==="\u5206\u7C7B\u8D44\u6E90\u4E0D\u4EE3\u8868\u5168\u90E8\u8D44\u6E90"||!m&&p!=="\u5168\u90E8"||u.some(h=>h.v===m)||u.push({n:p,v:m})}),u.length>0&&(n.add(c),r.push({key:c,name:mSr[c]||o||c,init:"",value:u}))}),r.push(hSr),r}async function xSr(t){let e=String(t||eA[0].type_id);if(rce.has(e))return rce.get(e);let r=await tA(Rct(e,1),`${Vf}/`),n=Oct(r);return rce.set(e,n),n}function bSr(t,e,r){let s=zi(Me(t||"")(".page-tip").first().text()).match(/当å‰\s*(\d+)\s*\/\s*(\d+)\s*页/);return s?Number.parseInt(s[2],10)||e:r>=kw?e+1:e}async function ESr(){let t={};await Promise.all(eA.map(async r=>{t[r.type_id]=await xSr(r.type_id).catch(()=>[])}));let e=await tA("/");return{class:eA,filters:t,list:nce(e).slice(0,kw)}}async function _Sr(t){let e=t.body||{},r=String(e.id||eA[0].type_id).trim()||eA[0].type_id,n=Tct(e.page),s=e.filters||e.extend||e.ext||{},i=Rct(r,n,s),a=await tA(i,`${Vf}/show/${r}.html`),o=nce(a),c=bSr(a,n,o.length);return{page:n,pagecount:c,limit:kw,total:c*kw,list:o,filter:Oct(a)}}function SSr(t,e){let r=Me(t||""),n=e||Nct(r('link[rel="canonical"]').attr("href")||""),s=zi(r(".slide-info-title").first().text())||zi(r("h1,h2,h3").first().text())||zi(r("title").text().replace(/[_-].*$/,"")),i=Dw(r(".detail-pic img,.player-vod-no1 img").map((p,m)=>r(m).attr("data-src")||r(m).attr("data-original")||r(m).attr("src")).get().find(p=>p&&!String(p).startsWith("data:image"))),a=zi(r(".slide-info-remarks").first().text()),o=zi(r("#height_limit,.small-text,.vod-content,.text").first().text()),c=r(".partition").filter((p,m)=>/演员/.test(r(m).text())).find("a").map((p,m)=>zi(r(m).text())).get().filter(Boolean).join(","),u=r(".partition").filter((p,m)=>/导演/.test(r(m).text())).find("a").map((p,m)=>zi(r(m).text())).get().filter(Boolean).join(","),l=r(".partition").filter((p,m)=>/类型/.test(r(m).text())).find("a").map((p,m)=>zi(r(m).text())).get().filter(Boolean).join(","),d=[],f=[];return r(".anthology-list-box").each((p,m)=>{let h=zi(r(".anthology-tab a").eq(p).clone().children().remove().end().text())||`CYC_${p+1}`,A=[];r(m).find('a[href*="/watch/"]').each((g,b)=>{let y=ASr(r(b).attr("href"));if(!y)return;let x=zi(r(b).text())||`\u7B2C${A.length+1}\u96C6`;A.push(`${x}$${y}`)}),A.length>0&&(d.push(h),f.push(A.join("#")))}),{vod_id:n,vod_name:s,vod_pic:i,vod_remarks:a,type_name:l,vod_actor:c,vod_director:u,vod_content:o,vod_play_from:d.join("$$$"),vod_play_url:f.join("$$$")}}async function vSr(t){let e=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],r=[];for(let n of e.filter(Boolean)){let s=ySr(n);if(!s)continue;let i=await tA(`/bangumi/${s}.html`,`${Vf}/`);r.push(SSr(i,s))}return{list:r}}function ISr(t){let e=String(t?.encrypt||""),r=String(t?.url||"");return e==="1"?decodeURIComponent(r):e==="2"?decodeURIComponent(Buffer.from(r,"base64").toString("utf8")):r}function CSr(t){let e=String(t||"").match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})\s*<\/script>/i)||String(t||"").match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})\s*;/i);return e?JSON.parse(e[1]):null}function TSr(t){let e={},r=String(t||"");for(let n of["url","vkey","next","title","poster"]){let s=r.match(new RegExp(`["']${n}["']\\s*:\\s*["']([^"']*)["']`));s&&(e[n]=s[1])}return e}function wSr(t){let e=Me(t||""),r=String(e('meta[name="viewport"]').attr("id")||"").replace(/^now_/,""),n=String(e('meta[charset="UTF-8"]').attr("id")||e("meta[charset]").attr("id")||"").replace(/^now_/,"");return!r||!n||r.length!==n.length?"":n.split("").map((s,i)=>({id:Number(s),text:r[i]||""})).sort((s,i)=>s.id-i.id).map(s=>s.text).join("")}function RSr(t,e){let r=wSr(e);if(!r)return"";let n=em.default.MD5(r+fSr).toString(),s=em.default.enc.Utf8.parse(n.substring(16)),i=em.default.enc.Utf8.parse(n.substring(0,16));return em.default.AES.decrypt(t,s,{iv:i,mode:em.default.mode.CBC,padding:em.default.pad.Pkcs7}).toString(em.default.enc.Utf8)}async function NSr(t,e){if(/^https?:\/\//i.test(t))return t;let r=`${Ict}/?url=${encodeURIComponent(t)}`,n=await tA(r,`${Vf}${e}`),s=TSr(n);return RSr(s.url||"",n)||""}async function OSr(t){let e=String(t.body?.id||"").trim(),r=e.match(/(\d+)\/(\d+)\/(\d+)/)||e.match(/watch\/(\d+)\/(\d+)\/(\d+)/);if(!r)return{parse:0,url:"",header:{}};let n=`/watch/${r[1]}/${r[2]}/${r[3]}.html`,s=await tA(n,`${Vf}/bangumi/${r[1]}.html`),i=CSr(s);if(!i)return{parse:0,url:"",header:{}};let a=ISr(i);return{parse:0,jx:0,url:await NSr(a,n),header:{"User-Agent":Cct,Referer:`${Ict}/`}}}async function PSr(t){let e=String(t.body?.wd||"").trim(),r=Tct(t.body?.page);if(!e)return{page:r,pagecount:1,limit:20,total:0,list:[]};let n=await gSr(`/index.php/ajax/suggest?mid=1&limit=20&page=${r}&wd=${encodeURIComponent(e)}`),i=(Array.isArray(n?.list)?n.list:[]).map(a=>({vod_id:String(a.id||""),vod_name:zi(a.name),vod_pic:Dw(a.pic||""),vod_remarks:""})).filter(a=>a.vod_id&&a.vod_name);return{page:Number(n?.page||r),pagecount:Number(n?.pagecount||r),limit:Number(n?.limit||20),total:Number(n?.total||i.length),list:i}}async function kSr(t,e){return{}}async function DSr(){let t=await tA("/");return{list:nce(t).slice(0,kw)}}var Pct={meta:{key:"ciyuancheng",name:"\u300C\u76F4\u300D\u6B21\u5143\u57CE",type:3},api:async t=>{t.post("/init",kSr),t.post("/home",ESr),t.post("/homeVod",DSr),t.post("/category",_Sr),t.post("/detail",vSr),t.post("/play",OSr),t.post("/search",PSr)}};var xE={key:"xifan",name:"\u7A00\u996D\u52A8\u6F2B",host:"https://anime.xifanacg.com",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",timeout:15e3},Si=xE.host,Lw=xE.ua,kct=40;function Ea(t){return String(t||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/'/g,"'").replace(/"/g,'"').replace(/\s+/g," ").trim()}function BSr(t){return Ea(t).replace(/\s*[_-]\s*(?:连载新番|完结旧番|剧场版|美漫).*$/i,"").replace(/\s*-\s*稀é¥åŠ¨æ¼«.*$/i,"").replace(/\s*-\s*å…费高清动漫分享.*$/i,"").trim()}function Oc(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?Si+e:Si+"/"+e:""}function Dct(t){try{return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}catch{return""}}function LSr(t){try{return JSON.parse(Buffer.from(t||"","base64").toString("utf8"))}catch{return{}}}function MSr(t){let e=new Set,r=[];for(let n of t||[]){let s=n?.vod_id;!s||e.has(s)||(e.add(s),r.push(n))}return r}function WSr(t){try{let e=Buffer.from(t||"","base64").toString("utf8");return decodeURIComponent(e)}catch{return t||""}}function $Sr(t){try{let e=new URL(t);return e.hostname.endsWith("pan.wo.cn")||e.hostname.endsWith("moedot.net")}catch{return!1}}function FSr(t,e){let r={"User-Agent":Lw};if($Sr(t))return r;let n=new URL(t).origin;return r.Referer=n===Si?e||Si+"/":n+"/",r.Origin=Si,r}async function sce(t,e={}){let r=/^https?:\/\//i.test(t)?t:Oc(t),n=await he({url:r,method:e.method||"get",data:e.data,timeout:e.timeout||xE.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{"User-Agent":Lw,Referer:e.referer||Si+"/","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function USr(t,e,r={}){let n=/^https?:\/\//i.test(t)?t:Oc(t),s=await he({url:n,method:"post",data:e,timeout:r.timeout||xE.timeout,validateStatus:()=>!0,headers:{"User-Agent":Lw,Referer:r.referer||Si+"/","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest","Accept-Language":"zh-CN,zh;q=0.9",...r.headers||{}}});if(s.status<200||s.status>=300)throw new Error(`HTTP ${s.status}`);return s.data}async function qSr(t,e={}){let r=/^https?:\/\//i.test(t)?t:Oc(t),n=await he.get(r,{timeout:e.timeout||xE.timeout,validateStatus:()=>!0,headers:{"User-Agent":Lw,Referer:e.referer||Si+"/","X-Requested-With":"XMLHttpRequest","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return n.data}function jSr(t){let e=[],r=String(t||"").match(/<div class="public-list-box[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/g)||[];for(let n of r){let s=(n.match(/class="(?:public-list-exp|time-title)[^"]*"[^>]*href="([^"]+)"/)||[])[1]||"",i=(n.match(/class="public-list-exp"[^>]*title="([^"]+)"/)||[])[1]||(n.match(/class="time-title[^"]*"[^>]*title="([^"]+)"/)||[])[1]||Ea((n.match(/class="time-title[^"]*"[^>]*>([\s\S]*?)<\/a>/)||[])[1]||""),a=(n.match(/data-src="([^"]+)"/)||[])[1]||(n.match(/src="([^"]+)"/)||[])[1]||"",o=(n.match(/<span class="public-list-prb[^>]*>([\s\S]*?)<\/span>/)||[])[1]||"";!s||!i||e.push({vod_id:s,vod_name:Ea(i),vod_pic:Oc(a),vod_remarks:Ea(o)})}return e}function HSr(t){let e=[],r=/<div class="swiper-slide">[\s\S]*?<div class="swiper-lazy[^"]*" data-background="([^"]+)"[\s\S]*?<a class="lank" href="([^"]+)"[\s\S]*?<h3 class="slide-info-title hide">([\s\S]*?)<\/h3>[\s\S]*?<li>([^<]*)<\/li>/g,n;for(;(n=r.exec(String(t||"")))!==null;)e.push({vod_id:n[2],vod_name:Ea(n[3]),vod_pic:Oc(n[1]),vod_remarks:Ea(n[4])});return e}var Bct=[{type_id:"1",type_name:"\u8FDE\u8F7D\u65B0\u756A"},{type_id:"2",type_name:"\u5B8C\u7ED3\u65E7\u756A"},{type_id:"3",type_name:"\u5267\u573A\u7248"},{type_id:"21",type_name:"\u7F8E\u6F2B"}],Bw={n:"\u5168\u90E8",v:""},aM={key:"by",name:"",init:"time",value:[{n:"\u6309\u6700\u65B0",v:"time"},{n:"\u6309\u6700\u70ED",v:"hits"},{n:"\u6309\u8BC4\u5206",v:"score"}]},Lct={key:"year",name:"",init:"",value:(()=>{let t=[Bw];for(let e=2026;e>=2005;e--)t.push({n:String(e),v:String(e)});return t})()},Mct={key:"class",name:"",init:"",value:[Bw,...["\u641E\u7B11","\u539F\u521B","\u8F7B\u5C0F\u8BF4\u6539","\u604B\u7231","\u767E\u5408","\u6F2B\u6539","\u6821\u56ED","\u6218\u6597","\u6CBB\u6108","\u5947\u5E7B","\u65E5\u5E38","\u9752\u6625","\u4E59\u5973\u5411","\u60AC\u7591","\u540E\u5BAB","\u79D1\u5E7B","\u5192\u9669","\u70ED\u8840","\u5F02\u4E16\u754C","\u6E38\u620F\u6539","\u97F3\u4E50","\u5076\u50CF","\u7F8E\u98DF","\u803D\u7F8E"].map(t=>({n:t,v:t}))]},Wct={1:[Mct,{key:"area",name:"",init:"",value:[Bw,{n:"\u65E5\u672C",v:"\u65E5\u672C"}]},Lct,aM],2:[Mct,Lct,aM],3:[{key:"area",name:"",init:"",value:[Bw,{n:"\u65E5\u672C",v:"\u65E5\u672C"}]},{key:"year",name:"",init:"",value:(()=>{let t=[Bw];for(let e=2026;e>=2004;e--)t.push({n:String(e),v:String(e)});return t})()},aM],21:[aM]};async function QSr(t,e){return{}}async function GSr(t,e){try{let r=await sce(Si+"/"),n=MSr([...HSr(r),...jSr(r)]).slice(0,40);return{class:Bct,filters:Wct,list:n}}catch(r){return console.error("xifan home failed:",r.message),{class:Bct,filters:Wct,list:[]}}}async function KSr(t,e){let r=String(t.body?.id||t.body?.tid||"1"),n=Math.max(1,Number(t.body?.page||1)),s={...t.body?.filters||{}},i=new URLSearchParams;i.set("type",r),i.set("page",String(n)),i.set("by",String(s.by||"time")),s.class&&i.set("class",String(s.class)),s.area&&i.set("area",String(s.area)),s.year&&i.set("year",String(s.year));try{let a=await USr(`${Si}/index.php/ds_api/vod`,i.toString(),{referer:`${Si}/type/${r}.html`}),o=typeof a=="string"?JSON.parse(a):a||{},c=(o.list||[]).map(u=>({vod_id:u.url||`/bangumi/${u.vod_id}.html`,vod_name:u.vod_name||"",vod_pic:Oc(String(u.vod_pic||"").replace(/\\\//g,"/")),vod_remarks:u.vod_remarks||""})).filter(u=>u.vod_id&&u.vod_name);return{list:c,page:Number(o.page||n),pagecount:Number(o.pagecount||n),limit:Number(o.limit||kct),total:Number(o.total||c.length)}}catch(a){return console.error("xifan category failed:",a.message),{list:[],page:n,pagecount:n,limit:kct,total:0}}}async function VSr(t,e){let r=String(t.body?.wd||"").trim();if(!r)return{list:[]};try{return{list:((await qSr(`${Si}/index.php/ajax/suggest?mid=1&wd=${encodeURIComponent(r)}`,{referer:`${Si}/search/wd/${encodeURIComponent(r)}.html`}))?.list||[]).map(s=>({vod_id:`/bangumi/${s.id}.html`,vod_name:s.name||"",vod_pic:Oc(s.pic||""),vod_remarks:""}))}}catch(n){return console.error("xifan search failed:",n.message),{list:[]}}}async function zSr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(i=>String(i||"").trim()).filter(Boolean),s=[];for(let i of n){let a=Oc(i);if(a)try{let o=await sce(a),c=BSr((o.match(/<h3[^>]*>([\s\S]*?)<\/h3>/i)||[])[1]||(o.match(/<title>(.*?)<\/title>/i)||[])[1]||""),u=Oc((o.match(/<div class="detail-pic">[\s\S]*?<img[^>]+(?:data-src|src)="([^"]+)"/i)||[])[1]||""),l=Ea((o.match(/<span class="slide-info-remarks cor5">([\s\S]*?)<\/span>/i)||[])[1]||""),d=Ea((o.match(/<span class="slide-info-remarks">\s*<a href="\/search\/year\/[^"]+"[^>]*>([\s\S]*?)<\/a>/i)||[])[1]||""),f=Ea((o.match(/<span class="slide-info-remarks">\s*<a href="\/search\/area\/[^"]+"[^>]*>([\s\S]*?)<\/a>/i)||[])[1]||""),p=Ea((o.match(/导演\s*:<\/strong>([\s\S]*?)<\/div>/i)||[])[1]||""),m=Ea((o.match(/演员\s*:<\/strong>([\s\S]*?)<\/div>/i)||[])[1]||""),h=Ea((o.match(/<div id="height_limit" class="text cor3">([\s\S]*?)<\/div>/i)||[])[1]||""),A=[],g=/<a class="swiper-slide">[\s\S]*? ([^<]+)<span class="badge">(\d+)<\/span><\/a>/g,b;for(;(b=g.exec(o))!==null;)A.push({name:Ea(b[1]),count:Number(b[2]||0)});let y=o.match(/<div class="anthology-list[\s\S]*?<script>\$\("\.anthology-tab a"\)\.eq\(0\)/),x=y?y[0]:o,v=[],I=/<div class="anthology-list-box[^>]*>[\s\S]*?<ul class="anthology-list-play size">([\s\S]*?)<\/ul>[\s\S]*?<\/div>\s*<\/div>/g,R;for(;(R=I.exec(x))!==null;){let P=[],B=/<a class="[^"]*" href="([^"]*\/watch[^"]+)"[^>]*>\s*(?:<span>)?([^<]+)(?:<\/span>)?\s*<\/a>/g,M;for(;(M=B.exec(R[1]))!==null;){let D=M[1];D.includes("/watch/")&&P.push({name:Ea(M[2]),playId:Dct({playUrl:D,vodName:c,referer:i})})}P.length&&v.push(P)}if(!v.length){let P=[],B=/href="([^"]*\/watch[^"]+)"[^>]*>\s*(?:<span>)?([^<]+)(?:<\/span>)?\s*<\/a>/g,M;for(;(M=B.exec(o))!==null;){let D=M[1];D.includes("/watch/")&&P.push({name:Ea(M[2]),playId:Dct({playUrl:D,vodName:c,referer:i})})}P.length&&v.push(P)}let w=[],N=[];for(let P=0;P<v.length;P+=1){let B=A[P]?.name||`\u7EBF\u8DEF${P+1}`,M=v[P].map(D=>`${D.name}$${D.playId}`);w.push(B),N.push(M.join("#"))}s.push({vod_id:i,vod_name:c,vod_pic:u,vod_remarks:l,vod_content:h,vod_director:p,vod_actor:m,vod_year:d,vod_area:f,vod_play_from:w.join("$$$"),vod_play_url:N.join("$$$")})}catch(o){console.error("xifan detail failed:",i,o.message)}}return{list:s}}async function YSr(t,e){let r=String(t.body?.id||"").trim(),n=LSr(r),s=n.playUrl||r||"",i=Oc(n.referer||"/"),a=Oc(s);try{let c=(await sce(a,{referer:i||Si+"/",headers:{Origin:Si}})).match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})<\/script>/);if(!c)throw new Error("player_aaaa not found");let u=JSON.parse(c[1]),l=String(u.url||"").replace(/\\\//g,"/");Number(u.encrypt)===2?l=WSr(l):Number(u.encrypt)===1&&(l=decodeURIComponent(l));let d=l;return/^https?:\/\//i.test(d)||(d=Oc(d)),{parse:0,url:d,header:FSr(d,i)}}catch(o){return console.error("xifan play failed:",o.message),{parse:0,url:a,header:{"User-Agent":Lw,Referer:Si+"/",Origin:Si}}}}var $ct={meta:{key:xE.key,name:"\u300C\u76F4\u300D\u7A00\u996D",type:3},api:async t=>{t.post("/init",QSr),t.post("/home",GSr),t.post("/category",KSr),t.post("/detail",zSr),t.post("/play",YSr),t.post("/search",VSr)}};var _a={key:"xifannext",name:"\u7A00\u996D\u52A8\u6F2B Next",host:"https://next.xifanacg.com",supabase:"https://rzmsnqblptbceicadbyd.supabase.co",anonKey:"sb_publishable_aCb7uwyLN6H-sMjze4dRGA_2MDuROLF",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",timeout:15e3},Vl=_a.host,tm=24,$w={n:"\u5168\u90E8",v:""},Fct=[{type_id:"all",type_name:"\u5168\u90E8\u756A\u5267"},{type_id:"recent",type_name:"\u6700\u8FD1\u66F4\u65B0"},{type_id:"ranking",type_name:"\u6392\u884C\u699C"},{type_id:"schedule",type_name:"\u5468\u8868"}],JSr={key:"format",name:"",init:"",value:[$w,{n:"TV \u52A8\u753B",v:"tv"},{n:"\u5267\u573A\u7248",v:"movie"},{n:"OVA",v:"ova"},{n:"OAD",v:"oad"},{n:"Web \u52A8\u753B",v:"web"},{n:"\u5176\u4ED6",v:"other"}]},XSr={key:"finished",name:"",init:"",value:[$w,{n:"\u8FDE\u8F7D\u4E2D",v:"0"},{n:"\u5B8C\u7ED3",v:"1"}]},ZSr={key:"year",name:"",init:"",value:(()=>{let t=[$w];for(let e=2026;e>=2007;e-=1)t.push({n:String(e),v:String(e)});return t.push({n:"\u66F4\u65E9",v:"older"}),t})()},evr={key:"tag",name:"",init:"",value:[$w,...["\u6F2B\u753B\u6539","\u5C0F\u8BF4\u6539","\u5947\u5E7B","\u6218\u6597","\u539F\u521B","\u604B\u7231","\u6821\u56ED","\u65E5\u5E38","\u767E\u5408","\u540E\u5BAB","\u79D1\u5E7B","\u6E38\u620F\u6539","\u60AC\u7591","\u5192\u9669","\u7A7F\u8D8A","\u97F3\u4E50","\u8FD0\u52A8","\u673A\u6218","\u559C\u5267","\u5C11\u5E74\u5411","\u63A8\u7406","\u5C11\u5973\u5411","\u804C\u573A","\u7F8E\u98DF","\u9752\u5E74\u5411"].map(t=>({n:t,v:t}))]},tvr={key:"sort",name:"",init:"title",value:[{n:"\u6807\u9898",v:"title"},{n:"\u70ED\u5EA6",v:"view_count"},{n:"\u8BC4\u5206",v:"bangumi_score"},{n:"\u6700\u65B0",v:"release_date"}]},rvr={key:"days",name:"",init:"7",value:[{n:"7 \u5929",v:"7"},{n:"14 \u5929",v:"14"}]},nvr={key:"kind",name:"",init:"trending_week",value:[{n:"\u70ED\u5EA6",v:"trending_week"},{n:"\u8BC4\u5206",v:"rating"},{n:"\u98D9\u5347",v:"rising"},{n:"\u5B9D\u85CF",v:"hidden_gem"},{n:"\u5F39\u5E55",v:"danmaku_heat"}]},svr={key:"section",name:"",init:"all",value:[{n:"\u603B\u699C",v:"all"},{n:"\u65B0\u756A",v:"ongoing"},{n:"\u5B8C\u7ED3",v:"finished"},{n:"\u5267\u573A\u7248",v:"movie"},{n:"\u7F8E\u6F2B",v:"western"}]},ivr={key:"weekday",name:"",init:"",value:[$w,{n:"\u5468\u4E00",v:"0"},{n:"\u5468\u4E8C",v:"1"},{n:"\u5468\u4E09",v:"2"},{n:"\u5468\u56DB",v:"3"},{n:"\u5468\u4E94",v:"4"},{n:"\u5468\u516D",v:"5"},{n:"\u5468\u65E5",v:"6"}]},Uct={all:[JSr,XSr,ZSr,evr,tvr],recent:[rvr],ranking:[nvr,svr],schedule:[ivr]};function zf(t){return String(t||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/'/g,"'").replace(/"/g,'"').replace(/\s+/g," ").trim()}function jct(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?Vl+e:`${Vl}/${e}`:""}function Hct(t){let e=jct(t);if(!e)return"";try{let r=new URL(e);if(r.hostname==="next.xifanacg.com"&&r.pathname==="/_next/image")return decodeURIComponent(r.searchParams.get("url")||e)}catch{}return e}function avr(t){try{return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}catch{return""}}function ovr(t){try{return JSON.parse(Buffer.from(t||"","base64").toString("utf8"))}catch{return{}}}function Qct(t){return zf(t).replace(/[$#]/g," ").trim()}function Gct(t){let e=String(t||"").trim();return e&&e.match(/(?:\/anime\/|^)(\d+)/)?.[1]||""}function Nu(...t){return t.find(e=>e!=null&&e!=="")}function cvr(t={}){return{...t.extend||{},...t.filter||{},...t.filters||{}}}function uvr(t={}){let e=Number(Nu(t.current_episodes,t.currentEpisodes,0)),r=Number(Nu(t.total_episodes,t.totalEpisodes,0));if(r>0&&e>0&&e<r)return`\u66F4\u65B0\u81F3 ${e} / ${r}`;if(r>0)return`\u5168 ${r} \u96C6`;let n=Nu(t.release_year,t.releaseYear,t.datePublished);if(n)return String(n);let s=Nu(t.bangumi_score,t.bangumiScore);return s!==void 0?String(s):""}function Mw(t={}){let e=Gct(Nu(t.id,t.url,t["@id"]));return{vod_id:e?`/anime/${e}`:"",vod_name:zf(t.title||t.name||""),vod_pic:Hct(Nu(t.cover_url,t.coverUrl,t.image,t.pic,"")),vod_remarks:uvr(t)}}function lvr(t,e){let r=String(e||"").trim();return r?{sortBy:r,sortOrder:r==="title"?"asc":"desc"}:t==="recent"?{sortBy:"release_date",sortOrder:"desc"}:t==="ranking"?{sortBy:"bangumi_score",sortOrder:"desc"}:{sortBy:"title",sortOrder:"asc"}}function ace(t={}){return String(t.year||"").trim()==="older"||String(t.older||"").trim()==="1"}function oce({tid:t="all",page:e=1,extend:r={},searchTerm:n=""}={}){let{sortBy:s,sortOrder:i}=lvr(t,Nu(r.sort,r.by)),a=Number.parseInt(String(r.year||""),10),o=String(r.finished??"").trim();return{search_term:n||null,page_number:e,items_per_page:tm,sort_by:s,sort_order:i,filter_type_id:null,filter_meta_tags:r.tag?[String(r.tag)]:null,filter_is_finished:o===""?null:o==="1",filter_format:r.format||null,filter_release_year:!ace(r)&&Number.isFinite(a)?a:null,filter_only_published:!0}}function dvr(t,e={}){let r=new URLSearchParams;t>1&&r.set("page",String(t)),e.format&&r.set("format",String(e.format)),String(e.finished??"").trim()&&r.set("finished",String(e.finished)),ace(e)?r.set("older","1"):e.year&&r.set("year",String(e.year)),e.tag&&r.set("tag",String(e.tag));let n=String(Nu(e.sort,e.by,"")).trim();n&&n!=="title"&&r.set("sort",n);let s=r.toString();return`/browse${s?`?${s}`:""}`}function ice(t){let e={"User-Agent":_a.ua};try{let r=new URL(t).hostname;if(r.endsWith("pan.wo.cn")||r.endsWith("moedot.net"))return e}catch{return e}return e.Referer=`${Vl}/`,e.Origin=Vl,e}async function Fw(t,e={}){let r=/^https?:\/\//i.test(t)?t:jct(t),n=await he({url:r,method:"get",timeout:e.timeout||_a.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{"User-Agent":_a.ua,Referer:e.referer||`${Vl}/`,"Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function Ww(t,e){let r=await he({url:`${_a.supabase}/rest/v1/rpc/${t}`,method:"post",data:e,timeout:_a.timeout,validateStatus:()=>!0,headers:{apikey:_a.anonKey,Authorization:`Bearer ${_a.anonKey}`,"Content-Type":"application/json",Origin:Vl,Referer:`${Vl}/`,"User-Agent":_a.ua,"X-Client-Info":"supabase-js-web/2.49.1"}});if(r.status<200||r.status>=300)throw new Error(`RPC ${t} HTTP ${r.status}`);return r.data}async function fvr(t,e){let r=await he({url:`${_a.supabase}/functions/v1/${t}`,method:"post",data:e,timeout:_a.timeout,validateStatus:()=>!0,headers:{apikey:_a.anonKey,Authorization:`Bearer ${_a.anonKey}`,"Content-Type":"application/json",Origin:Vl,Referer:`${Vl}/`,"User-Agent":_a.ua}});if(r.status<200||r.status>=300)throw new Error(`Function ${t} HTTP ${r.status}`);return r.data}function Kct(t){let e=Me(t||""),r=[];return e('script[type="application/ld+json"]').each((n,s)=>{try{let i=JSON.parse(e(s).text()||"{}");Array.isArray(i?.["@graph"])?r.push(...i["@graph"]):r.push(i)}catch{}}),r}function pvr(t,e){return Kct(t).find(r=>{let n=r?.["@type"],s=String(r?.url||r?.["@id"]||"");return(n==="TVSeries"||n==="Movie")&&s.includes(`/anime/${e}`)})||{}}function qct(t,e){let r="";return t("dt").each((n,s)=>{if(zf(t(s).text())===e)return r=zf(t(s).next("dd").text()),!1}),r}function mvr(t,e){let r=0;for(let n=e-1;n>=0&&t[n]==="\\";n-=1)r+=1;return r}function hvr(t){return JSON.parse(String(t||"").replace(/\\"/g,'"').replace(/\\\\/g,"\\"))}function cM(t,e){let r=String(t||""),n=`\\"${e}\\":`,s=`"${e}":`,i=r.indexOf(n),a=!0;if(i<0&&(i=r.indexOf(s),a=!1),i<0)return[];let o=r.indexOf("[",i);if(o<0)return[];let c=0,u=!1,l=!1;for(let d=o;d<r.length;d+=1){let f=r[d];if(a&&f==='"'&&mvr(r,d)%4===1){u=!u;continue}if(!a){if(l){l=!1;continue}if(f==="\\"&&u){l=!0;continue}if(f==='"'){u=!u;continue}}if(!u){if(f==="[")c+=1;else if(f==="]"&&(c-=1,c===0)){let p=r.slice(o,d+1);try{return a?hvr(p):JSON.parse(p)}catch{return[]}}}}return[]}function gvr(t){let e=Kct(t).find(n=>n?.["@type"]==="ItemList")||{};return(Array.isArray(e.itemListElement)?e.itemListElement:[]).map(n=>Mw(n?.item||n)).filter(n=>n.vod_id&&n.vod_name)}function Avr(t,e){let r=String(t||"").match(/当å‰å·²é€‰[\s\S]{0,120}?å…±[\s\S]{0,40}?(\d+)[\s\S]{0,40}?部/);return r?Number(r[1]):e}function yvr(t,e){let r=e;for(let n of String(t||"").matchAll(/[?&]page=(\d+)/g))r=Math.max(r,Number(n[1]));return Math.max(1,r)}function xvr(t,e){let r=Me(t||""),n=[];return r(`a[href*="/anime/${e}/play/"]`).each((s,i)=>{let o=(r(i).attr("href")||"").match(/\/play\/(\d+)(?:\?source=([^&#]+))?/);if(!o)return;let c=Number(o[1]),u=Qct(r(i).text())||`\u7B2C ${n.length+1} \u96C6`;!c||n.some(l=>l.id===c)||n.push({id:c,title:u,episode_number:n.length+1})}),n.length?[{code:"xfxf1",name:"\u7A00\u996D\u65B0\u756A\u4E3B\u7EBF-1",episodes:n}]:[]}function bvr(t,e){let r=Number(t?.episode_number||e+1),n=Number.isInteger(r)?String(r).padStart(2,"0"):String(e+1).padStart(2,"0"),s=Qct(t?.title||"");return s?`\u7B2C ${n} \u96C6 ${s}`:`\u7B2C ${n} \u96C6`}function Evr(t,e,r,n){let s=[],i=[];for(let a of t||[]){let c=(Array.isArray(a?.episodes)?a.episodes:[]).map((u,l)=>{let d=Number(u?.id||0);if(!d)return"";let f=avr({animeId:Number(e),episodeId:d,sourceCode:a.code||"",sourceName:a.name||"",vodName:r,referer:n});return`${bvr(u,l)}$${f}`}).filter(Boolean);c.length&&(s.push(zf(a.name||a.code||`\u7EBF\u8DEF${s.length+1}`)),i.push(c.join("#")))}return{vod_play_from:s.join("$$$"),vod_play_url:i.join("$$$")}}async function _vr(t,e){return{}}async function Svr(t,e){try{let r=await Ww("search_animes",oce({tid:"recent",page:1,extend:{by:"release_date"}}));return{class:Fct,filters:Uct,list:(Array.isArray(r)?r:[]).map(Mw).filter(n=>n.vod_id&&n.vod_name)}}catch(r){return console.error("xifannext home failed:",r.message),{class:Fct,filters:Uct,list:[]}}}function oM(t){return(Array.isArray(t)?t:[]).map(Mw).filter(e=>e.vod_id&&e.vod_name)}function vvr(t){let e=new Set;return t.filter(r=>!r.vod_id||e.has(r.vod_id)?!1:(e.add(r.vod_id),!0))}function Vct(t,e){let r=oM(t);return{list:e>1?[]:r,page:e,pagecount:1,limit:tm,total:r.length}}async function Ivr(t,e){if(ace(e)){let a=await Fw(dvr(t,e)),o=gvr(a),c=Avr(a,o.length),u=yvr(a,Math.ceil(c/tm)||t);return{list:o,page:t,pagecount:u,limit:tm,total:c}}let r=await Ww("search_animes",oce({tid:"all",page:t,extend:e})),n=Array.isArray(r)?r:[],s=oM(n),i=Number(n[0]?.total_count||s.length);return{list:s,page:t,pagecount:Math.max(1,Math.ceil(i/tm)),limit:tm,total:i}}async function Cvr(t,e){let r=await Fw("/recent"),n=Number(Nu(e.days,7)),s=cM(r,"windows"),i=s.find(a=>Number(a?.days)===n)||s[0]||{};return Vct(i.items||[],t)}async function Tvr(t,e){let r=String(Nu(e.kind,"trending_week")).trim()||"trending_week",n=String(Nu(e.section,"all")).trim()||"all",s=await Fw(`/rankings?kind=${encodeURIComponent(r)}`),i=cM(s,"sections"),a=i.find(o=>String(o?.key||"")===n)||i[0]||{};return Vct(a.items||[],t)}async function wvr(t,e){let r=await Fw("/schedule"),n=String(e.weekday??"").trim(),s=cM(r,"schedule"),i=n===""?vvr(s.flatMap(a=>oM(a?.animes||[]))):oM((s.find(a=>String(a?.weekday)===n)||{}).animes||[]);return{list:t>1?[]:i,page:t,pagecount:1,limit:tm,total:i.length}}async function Rvr(t,e){let r=String(t.body?.id||t.body?.tid||"all"),n=Math.max(1,Number(t.body?.page||t.body?.pg||1)),s=cvr(t.body||{});try{return r==="recent"?await Cvr(n,s):r==="ranking"?await Tvr(n,s):r==="schedule"?await wvr(n,s):await Ivr(n,s)}catch(i){return console.error("xifannext category failed:",i.message),{list:[],page:n,pagecount:n,limit:tm,total:0}}}async function Nvr(t,e){let r=String(t.body?.wd||"").trim();if(!r)return{list:[]};try{let n=await Ww("suggest_animes",{q:r,lim:20}),s=(Array.isArray(n)?n:[]).map(Mw).filter(i=>i.vod_id&&i.vod_name);if(!s.length){let i=await Ww("search_animes",oce({page:1,searchTerm:r}));s=(Array.isArray(i)?i:[]).map(Mw).filter(a=>a.vod_id&&a.vod_name)}return{list:s}}catch(n){return console.error("xifannext search failed:",n.message),{list:[]}}}async function Ovr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(Gct).filter(Boolean),s=[];for(let i of n){let a=`/anime/${i}`;try{let o=await Fw(a),c=Me(o),u=pvr(o,i),l=zf(u.name||c("h1").first().text()),d=cM(o,"sources"),f=d.length?d:xvr(o,i),p=Evr(f,i,l,a);s.push({vod_id:a,vod_name:l,vod_pic:Hct(u.image||c("img[alt]").first().attr("src")||""),vod_remarks:u.numberOfEpisodes?`\u5168 ${u.numberOfEpisodes} \u96C6`:"",vod_content:zf(u.description||""),vod_director:qct(c,"\u5BFC\u6F14"),vod_actor:qct(c,"\u58F0\u4F18"),vod_year:String(u.datePublished||"").slice(0,4),vod_area:zf(u.countryOfOrigin||""),vod_class:Array.isArray(u.genre)?u.genre.join(","):zf(u.genre||""),...p})}catch(o){console.error("xifannext detail failed:",i,o.message)}}return{list:s}}async function Pvr(t,e){let r=String(t.body?.id||"").trim(),n=ovr(r),s=Number(n.episodeId||(r.match(/\/play\/(\d+)/)||[])[1]||0),i=String(n.sourceCode||(()=>{try{return new URL(r,Vl).searchParams.get("source")||""}catch{return""}})()).trim();if(!s)return{parse:0,url:r,header:ice(r)};try{let a=await Ww("get_play_url",{p_episode_id:s}),o=Array.isArray(a?.urls)?a.urls:[],c=o.find(l=>String(l.source_code||"")===i)||o[0]||{},u=String(c.url||"").trim();if(!u){let l=await fvr("issue-hls-playback",{episode_id:s});u=String(l?.url||"").trim()}if(!u)throw new Error("play url not found");return{parse:0,url:u,header:ice(u)}}catch(a){return console.error("xifannext play failed:",s,a.message),{parse:0,url:r,header:ice(r)}}}var zct={meta:{key:_a.key,name:"\u300C\u76F4\u300D\u7A00\u996D\xB2",type:3},api:async t=>{t.post("/init",_vr),t.post("/home",Svr),t.post("/category",Rvr),t.post("/detail",Ovr),t.post("/play",Pvr),t.post("/search",Nvr)}};var EE="https://4kzn.com",kvr={"User-Agent":Gr,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:`${EE}/`},cce={key:"by",name:"",init:"date",value:[{n:"\u53D1\u5E03",v:"date"},{n:"\u66F4\u65B0",v:"modified"},{n:"\u6D4F\u89C8",v:"views"},{n:"\u70B9\u8D5E",v:"like"}]},Yct=[{type_id:"books/zuixin",type_name:"\u5F71\u89C6"},{type_id:"books/top250",type_name:"TOP250"},{type_id:"books/juji",type_name:"\u5267\u96C6"},{type_id:"books/dianying",type_name:"\u7535\u5F71"},{type_id:"books/xiliehj",type_name:"\u7CFB\u5217\u5408\u96C6"},{type_id:"books/manwei",type_name:"\u6F2B\u5A01\u7535\u5F71\u7CFB\u5217\u5408\u96C6"},{type_id:"books/mztkn",type_name:"\u540D\u4FA6\u63A2\u67EF\u5357\u5267\u573A\u7248\u5408\u96C6"},{type_id:"books/hanniba",type_name:"\u6C49\u5C3C\u62D4\u5408\u96C6"}],uM={};for(let t of Yct)uM[t.type_id]=[cce];uM["books/juji"]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u5267\u60C5",v:"juq"},{n:"\u60CA\u609A",v:"jings"},{n:"\u72AF\u7F6A",v:"fanzuii"},{n:"\u52A8\u4F5C",v:"jjdongzuo"},{n:"\u5386\u53F2",v:"jjlishi"},{n:"\u6218\u4E89",v:"jjzhanzheng"},{n:"\u5192\u9669",v:"jjmaoxian"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u6700\u65B0",v:"zuixin-juji"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u5BB6\u5EAD",v:"\u5BB6\u5EAD"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u897F\u90E8",v:"\u897F\u90E8"},{n:"\u52A8\u753B",v:"\u52A8\u753B"}]},cce];uM["books/dianying"]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u559C\u5267",v:"xiju"},{n:"\u7231\u60C5",v:"aiqing"},{n:"\u5267\u60C5",v:"juqing"},{n:"\u60AC\u7591",v:"xuanyi"},{n:"\u4F20\u8BB0",v:"zhuanji"},{n:"\u52A8\u4F5C",v:"dongzuo"},{n:"\u79D1\u5E7B",v:"kehuan"},{n:"\u72AF\u7F6A",v:"fanzui"},{n:"\u5947\u5E7B",v:"qihuan"},{n:"\u5192\u9669",v:"maoxian"},{n:"\u5BB6\u5EAD",v:"jiating"},{n:"\u8FD0\u52A8",v:"yundong"},{n:"\u6B4C\u821E",v:"gewu"},{n:"\u6218\u4E89",v:"zhanzheng"},{n:"\u60CA\u609A",v:"jingsong"},{n:"\u897F\u90E8",v:"xibu"},{n:"\u52A8\u753B",v:"donghua"},{n:"\u707E\u96BE",v:"zainan"},{n:"\u6050\u6016",v:"kongbu"},{n:"\u5386\u53F2",v:"lishi"},{n:"\u97F3\u4E50",v:"yinyue"},{n:"\u540C\u6027",v:"tongxing"},{n:"\u7EAA\u5F55\u7247",v:"jilupian"},{n:"\u53E4\u88C5",v:"guzhuang"},{n:"\u513F\u7AE5",v:"ertong"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"}]},cce];async function uce(t){return(await he.get(t,{headers:kvr})).data}function rA(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?`${EE}${e}`:`${EE}/${e.replace(/^\/+/,"")}`:""}function bE(t){return String(t||"").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/\s+/g," ").trim()}function Jct(t){let e=Me(t),r=[],n=new Set;return e("article.posts-item").each((s,i)=>{let a=e(i).find('a.item-image, h3.item-title a, a[target="_blank"]').first(),o=rA(a.attr("href")||""),c=bE(e(i).find(".item-title a").first().text()||a.text()||e(i).attr("data-title")||"");if(!o||!c||n.has(o))return;n.add(o);let u=rA(e(i).find("img").first().attr("data-src")||e(i).find("img").first().attr("src")||""),l=bE(e(i).find(".line1.text-muted.text-xs, .book-info, .item-desc, .sub-title").first().text());r.push({vod_id:o,vod_name:c,vod_pic:u,vod_remarks:l})}),r}function Dvr(t){let e=t.match(/\/books\/[^"']+\/page\/(\d+)/g),r=e?e.map(i=>Number((i.match(/(\d+)$/)||[0,1])[1]||1)):[],n=r.length?Math.max(...r):1,s=/class="next-page[^>]*>\s*<a[^>]*href="[^"]+\/page\/\d+"/i.test(t);return{pagecount:Math.max(n,s?n+1:1)}}async function Bvr(t,e){return{class:Yct,filters:uM}}async function Lvr(t,e){try{let r=String(t.body.id||"books/zuixin").replace(/^\/+/,""),n=t.body.page,s=t.body.filters||{},i=parseInt(n,10);(!i||i<1)&&(i=1);let a=r;s.class&&(a=`books/${encodeURIComponent(s.class)}`);let o=i>1?`${EE}/${a}/page/${i}`:`${EE}/${a}`;s.by&&(o+=`?orderby=${s.by}`);let c=await uce(o),u=Jct(c),{pagecount:l}=Dvr(c);return{page:i,pagecount:l,limit:72,total:l*Math.max(u.length,1),list:u}}catch(r){return console.error("[4kzn][category]",r.message),{page:1,pagecount:0,limit:72,total:0,list:[]}}}async function Mvr(t,e){try{let r=String(t.body.id||"").trim();if(!r)return{list:[]};let n=/^https?:\/\//i.test(r)?r:rA(r),s=await uce(n),i=Me(s),a=bE(i("h1, h2, .book-title").first().text())||bE(i("meta[property='og:title']").attr("content")||""),o=rA(i('.book-cover img, meta[property="og:image"]').first().attr("data-src")||i('.book-cover img, meta[property="og:image"]').first().attr("content")||i(".book-cover img").first().attr("src")||""),c=bE(i("meta[name='description']").attr("content")||i(".panel-body.single").text()),u=[],l=new Set,d=[".site-go a[target='_blank']","a[target='_blank'][href*='pan.quark.cn']","a[href*='quark.cn']","a[href*='uc.cn']","a[href*='aliyundrive.com']","a[href*='115.com']"].join(", ");if(i(d).each((p,m)=>{let h=rA(i(m).attr("href")||"");!h||l.has(h)||(l.add(h),u.push(h))}),!u.length){let p=i("a.external[href*='pan.quark.cn'], a[href*='pan.quark.cn'], a[href*='quark.cn']").first(),m=rA(p.attr("href")||"");m&&u.push(m)}let f={vod_id:n,vod_name:a,vod_pic:o,vod_content:c};if(u.length){let p=await wr(u,t);p?.froms&&p?.urls&&(f.vod_play_from=p.froms,f.vod_play_url=p.urls)}return{list:[f]}}catch(r){return console.error("[4kzn][detail]",r.message),{list:[]}}}async function Wvr(t,e){try{let r=t.body.wd,n=t.body.page,s=parseInt(n,10);if((!s||s<1)&&(s=1),!r)return{page:s,pagecount:0,limit:72,total:0,list:[]};let i=`${EE}/?s=${encodeURIComponent(r)}`,a=await uce(i),o=Jct(a);if(!o.length){let c=Me(a);o=[],c("a[href*='/book/'], a[href*='/sites/']").each((u,l)=>{let d=c(l),f=rA(d.attr("href")||""),p=bE(d.text());!f||!p||p.includes(r)&&o.push({vod_id:f,vod_name:p,vod_pic:"",vod_remarks:""})})}return{page:s,pagecount:1,limit:72,total:o.length,list:o}}catch(r){return console.error("[4kzn][search]",r.message),{page:1,pagecount:0,limit:72,total:0,list:[]}}}var Xct={meta:{key:"4kzn",name:"\u300C\u76D8\u300D\u6307\u5357",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Bvr),t.post("/category",Lvr),t.post("/detail",Mvr),t.post("/play",Nr),t.post("/search",Wvr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Rr)}};var Uw="https://kafeizhibo.com",$vr=`${Uw}/api/v1`,iut="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",Fvr={"User-Agent":iut,Accept:"application/json, text/plain, */*",Referer:`${Uw}/pc/replay`},lce="live:",lM="schedule:",Uvr=/\.(m3u8|mp4|mkv|flv|avi|webm|mov)(?:[?#]|$)/i,Zct=[{type_id:"schedule",type_name:"\u8D5B\u7A0B"},{type_id:"live",type_name:"\u76F4\u64AD"},{type_id:"replay",type_name:"\u5F55\u64AD"}],qvr=[{n:"\u5168\u90E8",v:"all"},{n:"\u70ED\u95E8",v:"hot"},{n:"\u8DB3\u7403",v:"1"},{n:"\u7BEE\u7403",v:"2"},{n:"\u7F51\u7403",v:"3"},{n:"\u53F0\u7403",v:"19"}],jvr=[{n:"\u5168\u90E8",v:"all"},{n:"\u70ED\u95E8",v:"hot"},{n:"NBA",v:"nba"},{n:"\u8DB3\u7403",v:"1"},{n:"\u7BEE\u7403",v:"2"}],Hvr=[{n:"\u5168\u90E8",v:"all"},{n:"\u70ED\u95E8",v:"hot"},{n:"\u8DB3\u7403",v:"1"},{n:"\u7BEE\u7403",v:"2"},{n:"\u7F51\u7403",v:"3"},{n:"\u53F0\u7403",v:"19"}],eut={live:[{key:"type",name:"",init:"all",value:qvr}],replay:[{key:"type",name:"",init:"all",value:jvr}],schedule:[{key:"type",name:"",init:"all",value:Hvr}]},aut=new Map;function xt(t){return String(t??"").trim()}function tut(t){return t!=null&&xt(t)!==""}function _E(t=""){let e=xt(t);if(!e)return"";if(/^https?:\/\//i.test(e))return e;if(e.startsWith("//"))return`https:${e}`;try{return new URL(e,Uw).toString()}catch{return e}}function out(t=""){let e=xt(t);return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?_E(e):/^[\w.-]+\.[a-z]{2,}(?:[/:?#]|$)/i.test(e)?`https://${e}`:e:""}function Qvr(t=""){return/^https?:\/\//i.test(xt(t))}function Gvr(t=""){return Uvr.test(xt(t))}function dM(t={}){let e=_E(t.cover_image);return e&&!e.includes("default_cover")?e:_E(t.home_team_logo)||_E(t.away_team_logo)||e}function dce(t={}){return _E(t.screenshot)||dM(t.match_info||t)||_E(t.avatar)||dM(t)}function zl(t={}){return!tut(t.home_score)||!tut(t.away_score)?"":`${xt(t.home_score)} - ${xt(t.away_score)}`}function rm(t={}){let e=xt(t.home_team),r=xt(t.away_team),n=xt(t.league_name),s=xt(t.match_name||t.title||t.name||(t.match_id??t.id)),i=e&&r?`${e} vs ${r}`:e||r||s||"\u8D5B\u4E8B\u5F55\u50CF";return n?`${i} (${n})`:i}function fce(t=""){let e=xt(t).toLowerCase();return{live:"\u76F4\u64AD\u4E2D",online:"\u5728\u7EBF",finished:"\u5DF2\u7ED3\u675F",upcoming:"\u672A\u5F00\u59CB"}[e]||xt(t)}function Kvr(t=""){let e=xt(t),r=e.match(/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}:\d{2})/);return r?{time:r[4],date:`${r[2]}-${r[3]}`}:{time:e,date:""}}function SE(t={}){let e=t.data??t;return Array.isArray(e)?e:Array.isArray(e?.list)?e.list:Array.isArray(e?.records)?e.records:Array.isArray(e?.items)?e.items:[]}function rut(t={}){let e=t.data??t,r=[e?.total,e?.count,t?.total,t?.count];for(let n of r){let s=Number.parseInt(n,10);if(Number.isFinite(s)&&s>=0)return s}return null}function nut(t,e,r,n=null){let s=Number.isFinite(n)?n:null;return{page:t,pagecount:s===null?t+(r.length>=e?1:0):Math.max(t,Math.ceil(s/e)),limit:e,total:s===null?(t-1)*e+r.length+(r.length>=e?1:0):s,list:r}}async function qw(t,e={}){let r=t.startsWith("http")?t:`${$vr}${t}`,n=await he.get(r,{params:e,headers:Fvr,timeout:15e3,validateStatus:()=>!0});if(n.status<200||n.status>=400)throw new Error(`HTTP ${n.status} @ ${r}`);let s=typeof n.data=="string"?JSON.parse(n.data||"{}"):n.data||{},i=Number(s?.code);if(Number.isFinite(i)&&i!==0&&i!==200)throw new Error(s?.message||s?.msg||`API code=${s.code}`);return s}async function cut(t=1,e=30,{league:r="",type:n=""}={}){let s={page:t,size:e};return r?s.league=r:n&&n!=="all"&&n!=="nba"&&(s.type=n),qw("/recordings",s)}async function uut(t="all"){return qw("/archor",{type:t||"all",_t:Date.now()})}async function Vvr(t){return qw(`/room/${encodeURIComponent(t)}`)}async function lut(t="hot",e=1,r=30){return qw("/schedule",{type:t||"hot",page:e,size:r,platform:"pc",_t:Date.now()})}function dut(t={}){let e=xt(t.match_id??t.id),r=xt(t.recording_count),n=[zl(t),xt(t.start_time),r?`${r}\u4E2A\u5F55\u50CF`:""].filter(Boolean);return{vod_id:e,vod_name:rm(t),vod_pic:dM(t),vod_remarks:n.join(" | "),type_name:xt(t.league_name)}}function fut(t={}){let e=t.match_info||t,r=xt(t.room_id||t.archor?.room_id||t.match_id),n=fce(t.status||e.status),s=xt(t.heat),i=[n,zl(t)||zl(e),s?`\u70ED\u5EA6 ${s}`:""].filter(Boolean);return{vod_id:r?`${lce}${r}`:"",vod_name:xt(t.title)||rm(e),vod_pic:dce(t),vod_remarks:i.join(" | "),type_name:xt(t.league_name||e.league_name)}}function put(t={}){if(t.archor?.room_id)return xt(t.archor.room_id);let r=(Array.isArray(t.archors)?t.archors:[]).find(n=>n?.room_id);return xt(r?.room_id||t.room_id)}function mut(t={}){let e=put(t),r=xt(t.match_id??t.id),n=e&&r?`${lM}${r}:${e}`:"",s=Kvr(t.start_time),i=[s.time||fce(t.status),s.date,zl(t),t.is_hot?"\u70ED\u95E8":""].filter(Boolean);return n&&aut.set(n,t),{vod_id:n,vod_name:xt(t.title)||rm(t),vod_pic:dce(t),vod_remarks:i.join(" | "),type_name:xt(t.league_name)}}function hut(t,e){return(xt(t)||e).replace(/[$#]/g," ").replace(/\s+/g," ").trim()||e}function sut(t=[],e="\u64AD\u653E"){return t.map((r,n)=>{let s=out(r.video_url||r.stream_url||r.url||r.play_url);return s?`${hut(r.title||r.name,`${e}${n+1}`)}$${encodeURIComponent(s)}`:""}).filter(Boolean).join("#")}function zvr(t=""){let e=xt(t);if(!e)return"";try{return decodeURIComponent(e)}catch{return e}}function Yvr(t=""){let e=xt(t);return e==="live"?"all":e.startsWith("live_")?e.slice(5)||"all":null}function Jvr(t={}){let e=t.room_info||{},r=t.archor||{},n=t.teams||{};return{match_id:e.match_id||t.match_id,room_id:e.room_id||r.room_id,title:e.title||r.name,league_name:e.league||e.league_name,home_team:n.home?.name||e.home_team,away_team:n.away?.name||e.away_team,home_team_logo:n.home?.logo,away_team_logo:n.away?.logo,home_score:e.home_score??t.home_score,away_score:e.away_score??t.away_score,status:t.status||e.status||r.status,screenshot:r.screenshot,screenshot_updated_at:r.screenshot_updated_at,avatar:r.avatar||e.avatar,heat:r.heat,notice:e.notice||e.notice_h5}}function Xvr(t={}){return{match_id:t.match_id||t.id,room_id:put(t),title:xt(t.title)||rm(t),league_name:t.league_name,home_team:t.home_team||t.homeTeam?.name,away_team:t.away_team||t.awayTeam?.name,home_team_logo:t.home_team_logo||t.homeTeam?.logo,away_team_logo:t.away_team_logo||t.awayTeam?.logo,home_score:t.home_score,away_score:t.away_score,status:t.status,screenshot:t.screenshot,avatar:t.archor?.avatar,heat:t.archor?.heat,start_time:t.start_time,notice:t.is_hot?"\u70ED\u95E8\u8D5B\u7A0B":""}}function Zvr(t={}){let e=[],r=new Set,n=(s={},i="\u7EBF\u8DEF")=>{let a=out(s.stream_url||s.url||s.play_url);!a||r.has(a)||(r.add(a),e.push({name:hut(s.name||s.title,`${i}${e.length+1}`),url:a}))};return n(t,"\u7EBF\u8DEF"),n(t.archor,"\u4E3B\u64AD"),(Array.isArray(t.archors)?t.archors:[]).forEach(s=>n(s,"\u4E3B\u64AD")),(Array.isArray(t.signals)?t.signals:[]).forEach(s=>n(s,"\u7EBF\u8DEF")),[t.external_signals_pc,t.external_signals,t.external_signals_h5,t.room_info?.external_signals_pc,t.room_info?.external_signals,t.room_info?.external_signals_h5].forEach(s=>{(Array.isArray(s)?s:[]).forEach(i=>n(i,"\u5916\u90E8"))}),e}async function eIr(t,e){return{}}async function tIr(t,e){try{let r=await lut("all",1,30),n=SE(r).map(mut).filter(s=>s.vod_id&&s.vod_name);return{class:Zct,filters:eut,list:n}}catch(r){return console.error("kafei home failed:",r.message),{class:Zct,filters:eut,list:[]}}}async function rIr(t,e){let r=xt(t.body?.id||"all"),n=Math.max(1,Number.parseInt(t.body?.page||1,10)),s=t.body?.filters||{};if(r==="schedule"){let u=xt(s.type||"all"),l=30;try{let d=await lut(u,n,l),f=SE(d).map(mut).filter(p=>p.vod_id&&p.vod_name);return nut(n,l,f,rut(d))}catch(d){return console.error("kafei schedule category failed:",u,d.message),{page:n,pagecount:n,limit:l,total:0,list:[]}}}let i=Yvr(r);if(i!==null){let u=xt(s.type||i||"all");if(n>1)return{page:n,pagecount:1,limit:100,total:0,list:[]};try{let l=await uut(u),d=SE(l).map(fut).filter(f=>f.vod_id&&f.vod_name);return{page:1,pagecount:1,limit:d.length||100,total:d.length,list:d}}catch(l){return console.error("kafei live category failed:",r,l.message),{page:1,pagecount:1,limit:100,total:0,list:[]}}}let a=r==="replay"?xt(s.type||"all"):r,o=a.toLowerCase(),c=o==="nba"?20:30;try{let u=await cut(n,c,{league:o==="nba"?"NBA":"",type:o==="all"?"":a}),l=SE(u).map(dut).filter(d=>d.vod_id&&d.vod_name);return nut(n,c,l,rut(u))}catch(u){return console.error("kafei category failed:",r,u.message),{page:n,pagecount:n,limit:c,total:0,list:[]}}}async function nIr(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=xt(s);if(i)try{if(i.startsWith(lce)||i.startsWith(lM)){let h=i.startsWith(lM),A=h?i.slice(lM.length).split(":").pop():i.slice(lce.length),g=h?aut.get(i):null,b=g?null:await Vvr(A),y=g||b?.data||{},x=g?Xvr(y):Jvr(y),I=Zvr(y).map(R=>`${R.name}$${encodeURIComponent(R.url)}`).join("#");n.push({vod_id:i,vod_name:xt(x.title)||rm(x),vod_pic:dce(x),type_name:xt(x.league_name),vod_remarks:[fce(x.status),zl(x)].filter(Boolean).join(" | "),vod_content:[xt(x.league_name),xt(x.title)||rm(x),zl(x)?`\u6BD4\u5206 ${zl(x)}`:"",xt(x.start_time)?`\u6BD4\u8D5B\u65F6\u95F4: ${xt(x.start_time)}`:"",xt(x.notice)].filter(Boolean).join("\uFF0C"),vod_play_from:I?"\u76F4\u64AD":"",vod_play_url:I});continue}let o=(await qw(`/match/${encodeURIComponent(i)}/recordings`)).data||{},c=o.match||o,u=Array.isArray(o.replays)?o.replays:[],l=Array.isArray(o.highlights)?o.highlights:[],d=[],f=[],p=sut(u,"\u5F55\u50CF");p&&(d.push("\u5F55\u50CF"),f.push(p));let m=sut(l,"\u96C6\u9526");m&&(d.push("\u96C6\u9526"),f.push(m)),n.push({vod_id:i,vod_name:rm(c),vod_pic:dM(c),type_name:xt(c.league_name),vod_remarks:zl(c),vod_content:[xt(c.league_name),xt(c.match_round),rm(c),zl(c)?`\u6BD4\u5206 ${zl(c)}`:"",xt(c.start_time)?`\u6BD4\u8D5B\u65F6\u95F4: ${xt(c.start_time)}`:""].filter(Boolean).join("\uFF0C"),vod_play_from:d.join("$$$"),vod_play_url:f.join("$$$")})}catch(a){console.error("kafei detail failed:",i,a.message)}}return{list:n}}async function sIr(t,e){let r=zvr(t.body?.id);return r?{parse:Qvr(r)&&!Gvr(r)?1:0,url:r,header:{"User-Agent":iut,Referer:Uw,Origin:Uw}}:{parse:0,url:"",header:{}}}async function iIr(t,e){let r=xt(t.body?.wd||t.body?.keyword).toLowerCase(),n=100;if(!r)return{page:1,pagecount:1,limit:n,total:0,list:[]};try{let[s,i]=await Promise.allSettled([uut("all"),cut(1,n)]),a=s.status==="fulfilled"?SE(s.value):[],o=i.status==="fulfilled"?SE(i.value):[],c=a.filter(d=>{let f=d.match_info||d;return[d.title,d.name,d.home_team,d.away_team,d.league_name,f.home_team,f.away_team,f.league_name].map(xt).join(" ").toLowerCase().includes(r)}).map(fut),u=o.filter(d=>[d.home_team,d.away_team,d.league_name,d.match_name,d.title].map(xt).join(" ").toLowerCase().includes(r)).map(dut),l=[...c,...u].filter(d=>d.vod_id&&d.vod_name);return{page:1,pagecount:1,limit:n,total:l.length,list:l}}catch(s){return console.error("kafei search failed:",s.message),{page:1,pagecount:1,limit:n,total:0,list:[]}}}var gut={meta:{key:"kafei",name:"\u300C\u76F4\u300D\u5496\u5561",type:3},api:async t=>{t.post("/init",eIr),t.post("/home",tIr),t.post("/category",rIr),t.post("/detail",nIr),t.post("/play",sIr),t.post("/search",iIr)}};var yut=require("crypto");var pce="/embySpider",Yl={clientName:"SenPlayer",clientVersion:"6.0.5",deviceName:"iPhone",language:"zh-cn",userAgent:"SenPlayer/6.0.5"};function aIr(){return(0,yut.randomUUID)().toUpperCase()}function xut(t,e=!1){return Fo(t)||(e?aIr():"")}function vE({token:t="",contentType:e=!1,deviceId:r="",userId:n=""}={}){let s=xut(r),i=Fo(t),a=Fo(n),o={"X-Emby-Authorization":[`MediaBrowser Token="${i}"`,`UserId="${a}"`,`Client="${Yl.clientName}"`,`Device="${Yl.deviceName}"`,`DeviceId="${s}"`,`Version="${Yl.clientVersion}"`].join(", "),"X-Emby-Client":Yl.clientName,"X-Emby-Device-Name":Yl.deviceName,"X-Emby-Device-Id":s,"X-Emby-Client-Version":Yl.clientVersion,"X-Emby-Language":Yl.language,"User-Agent":Yl.userAgent};return e&&(o["Content-Type"]="application/json"),i&&(o["X-Emby-Token"]=i),o}function but(t){return String(t||"").trim().replace(/\/+$/,"")}function Fo(t){return String(t||"").trim()}function oIr(t){return String(t||"").trim()}function Eut(t){return Fo(t).toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)}function cIr(t,e){let n=`${t?.name||""}-${t?.host||""}-${t?.username||""}`.toLowerCase().replace(/^https?:\/\//,"").replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,28),s=n||wQ().slice(0,8);for(;e.has(s);)s=`${(n||"emby").slice(0,24)}-${wQ().slice(0,4)}`;return e.add(s),s}function uIr(t,e,r={}){let n=but(t?.host),s=Fo(t?.username),i=Fo(t?.name),a=Eut(t?.id),o=a&&!e.has(a)?a:cIr({name:i,host:n,username:s},e);return e.add(o),{id:o,name:i,host:n,username:s,password:String(t?.password||""),deviceId:xut(t?.deviceId,r.ensureDeviceId),logo:oIr(t?.logo),libraries:mce(t?.libraries),libraryStats:_ut(t?.libraryStats)}}function _ut(t={}){return{movieCount:Math.max(0,Number(t?.movieCount||0)||0),seriesCount:Math.max(0,Number(t?.seriesCount||0)||0)}}function mce(t=[]){return Array.isArray(t)?t.map(e=>({id:Fo(e?.id||e?.Id),name:Fo(e?.name||e?.Name),collectionType:Fo(e?.collectionType||e?.CollectionType)})).filter(e=>e.id).map(e=>({...e,name:e.name||e.id})):[]}function lIr(t=[]){return mce(t.map(e=>({id:e?.Id,name:e?.Name,collectionType:e?.CollectionType})))}function fM(t={},e={}){let r=new Set;return{servers:(Array.isArray(t?.servers)?t.servers:[]).filter(i=>i&&typeof i=="object").filter(i=>Fo(i?.id)||Fo(i?.name)||but(i?.host)||Fo(i?.username)||String(i?.password||"")).map(i=>uIr(i,r,e)).filter(i=>i.host||i.username)}}function dIr(t){return{servers:t.servers}}var hce=async t=>{let e=await t.db.getObjectDefault(pce,{});return fM(e)},jw=async t=>(await hce(t)).servers,IE=async(t,e="")=>{let r=await hce(t),n=Eut(e);return n&&r.servers.find(s=>s.id===n)||null},fIr=async(t,e)=>{let r=fM(e,{ensureDeviceId:!0});return await t.db.push(pce,dIr(r)),r},pIr=async t=>{await t.db.delete(pce)};async function mIr(t){let{host:e,username:r,password:n,deviceId:s}=t,i=`${e}/emby/Users/authenticatebyname`,o=(await he.post(i,{Username:r,Pw:n||"",Password:n||""},{headers:vE({contentType:!0,deviceId:s}),timeout:1e4})).data;if(!o?.AccessToken||!o?.User?.Id)throw new Error("\u8BA4\u8BC1\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7528\u6237\u540D\u548C\u5BC6\u7801");return o}function hIr(t="",e="",r=""){return vE({token:t,contentType:!0,deviceId:e,userId:r})}async function pM(t,e="",r="",n=""){return(await he.get(t,{headers:e?hIr(e,r,n):vE({deviceId:r}),timeout:1e4})).data}async function gIr(t,e="",r=""){try{return await pM(`${t.host}/emby/System/Info/Public`,e,t.deviceId,r)}catch{try{return await pM(`${t.host}/emby/System/Info`,e,t.deviceId,r)}catch{return{}}}}async function AIr(t,e,r){try{let n=await pM(`${t.host}/emby/Users/${encodeURIComponent(e)}/Views`,r,t.deviceId,e);return Array.isArray(n?.Items)?n.Items:[]}catch{return[]}}async function Aut(t,e,r,n,s){let i=new URLSearchParams({ParentId:String(n||""),Recursive:"true",IncludeItemTypes:s,StartIndex:"0",Limit:"1"});try{let a=await pM(`${t.host}/emby/Users/${encodeURIComponent(e)}/Items?${i.toString()}`,r,t.deviceId,e);return Math.max(0,Number(a?.TotalRecordCount||0)||0)}catch{return 0}}async function yIr(t,e,r,n=[]){let s={movieCount:0,seriesCount:0},i=[];for(let a of n){let o=String(a?.Id||"");if(!o)continue;let c=String(a?.CollectionType||"").toLowerCase();(!c||c==="movies")&&i.push(Aut(t,e,r,o,"Movie").then(u=>{s.movieCount+=u})),(!c||c==="tvshows")&&i.push(Aut(t,e,r,o,"Series").then(u=>{s.seriesCount+=u}))}return await Promise.allSettled(i),s}async function xIr(t){let e=await mIr(t),r=e.AccessToken,n=e.User.Id,[s,i]=await Promise.all([gIr(t,r,n),AIr(t,n,r)]),a=await yIr(t,n,r,i);return{serverName:Fo(s?.ServerName),libraries:lIr(i),libraryStats:a}}function bIr(t,e={}){return{...t,name:t.name||e.serverName||"Emby",libraries:mce(e.libraries||t.libraries),libraryStats:_ut(e.libraryStats||t.libraryStats)}}function EIr(t){return t?.response?.status===401?"\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF":`\u8FDE\u63A5\u5931\u8D25: ${t.message}`}async function gce(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await hce(e.server)})}),t.post("/verify",async(e,r)=>{let s=fM({servers:[e.body||{}]},{ensureDeviceId:!0}).servers[0];if(!s||!s.host||!s.username){r.send({code:-1,message:"\u670D\u52A1\u5668\u5730\u5740\u548C\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A"});return}try{let i=await xIr(s);r.send({code:0,data:bIr(s,i)})}catch(i){r.send({code:-1,message:EIr(i)})}}),t.put("/setting",async(e,r)=>{let n=fM(e.body||{},{ensureDeviceId:!0});for(let i of n.servers)if(!i.host||!i.username){r.send({code:-1,message:`${i.name||"Emby"} \u7684\u670D\u52A1\u5668\u5730\u5740\u548C\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A`});return}let s=await fIr(e.server,n);r.send({code:0,data:s})}),t.delete("/setting",async(e,r)=>{await pIr(e.server),r.send({code:0})})}var bce="::",Tut=["PrimaryImageAspectRatio","BasicSyncInfo","ProductionYear","RecursiveItemCount","ChildCount"].join(","),Ace=new Map;function _Ir(){return{baseUrl:"",username:"",password:"",deviceId:"",accessToken:"",userId:""}}function SIr(t){let e=t||"default";return Ace.has(e)||Ace.set(e,_Ir()),Ace.get(e)}async function vIr(t,e=""){let r=await IE(t,e),n=String(r?.host||"").replace(/\/$/,""),s=r?.username||"",i=r?.password||"",a=r?.deviceId||"",o=SIr(r?.id||e);if(!n||!s)throw new Error("\u8BF7\u5728\u7BA1\u7406\u9875\u9762\u914D\u7F6E Emby \u670D\u52A1\u5668\u5730\u5740\u548C\u7528\u6237\u540D");return o.baseUrl===n&&o.username===s&&o.password===i&&o.deviceId===a||(o.baseUrl=n,o.username=s,o.password=i,o.deviceId=a,o.accessToken="",o.userId=""),o}async function _ce(t){let e=`${t.baseUrl}/emby/Users/authenticatebyname`,n=(await he.post(e,{Username:t.username,Pw:t.password||"",Password:t.password||""},{headers:vE({contentType:!0,deviceId:t.deviceId}),timeout:15e3})).data;if(!n||!n.AccessToken||!n.User?.Id)throw new Error("Emby\u8BA4\u8BC1\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7528\u6237\u540D\u548C\u5BC6\u7801");t.accessToken=n.AccessToken,t.userId=n.User.Id}async function nm(t,e=""){let r=await vIr(t,e);return(!r.accessToken||!r.userId)&&await _ce(r),r}function mM(t){return vE({token:t.accessToken,deviceId:t.deviceId,userId:t.userId})}function CE(t,e){let r=String(t||""),n=String(e||"");return!r||!n?"":`${encodeURIComponent(r)}${bce}${n}`}function wut(t){let e=String(t||""),r=e.indexOf(bce);if(r<0)return{serverId:"",itemId:""};let n=e.slice(0,r);return{serverId:decodeURIComponent(n),itemId:e.slice(r+bce.length)}}function IIr(t){return String(t.body?.id||"").trim()}function Sut(t){return String(t||"").split(",")[0].trim()}function CIr(t){let r=Sut(t?.headers?.["x-forwarded-proto"])||t?.protocol||"http",s=Sut(t?.headers?.["x-forwarded-host"])||t?.headers?.host||"";return s?`${r}://${s}`:""}function TIr(t=""){let e=String(t||"").toLowerCase();return e==="movies"?"Movie":e==="tvshows"?"Series":"Movie,Series"}function yce(t){let e=Number(t);return Number.isFinite(e)&&e>0?Math.floor(e):0}function wIr(t={}){return String(t?.Type||"").toLowerCase()!=="series"?0:yce(t.RecursiveItemCount)||yce(t.EpisodeCount)||yce(t.ChildCount)}function RIr(t=[]){let e=[],r=t.reduce((n,s)=>Math.max(n,s.list.length),0);for(let n=0;n<r;n++)for(let s of t)s.list[n]&&e.push(s.list[n]);return e}async function Rut(t,e){let r=await nm(t,e),n=await nA(`/emby/Users/${r.userId}/Views`,t,e);return Array.isArray(n?.Items)?n.Items:[]}function Ece(t=[]){let e=[];for(let r of t){let n=String(r?.Id||r?.id||"");n&&e.push({n:r.Name||r.name||n,v:n})}return e.length===0?[]:[{key:"library",name:"",init:e[0].v,value:e}]}function xce(t=[]){return(Array.isArray(t)?t:[]).map(e=>{let r=String(e?.id||e?.Id||"").trim();return r?{type_id:r,type_name:String(e?.name||e?.Name||r).trim()||r}:null}).filter(Boolean)}async function nA(t,e,r="",n={}){let s=await nm(e,r),i=`${s.baseUrl}${t}`;try{return(await he({method:n.method||"GET",url:i,headers:mM(s),data:n.data,timeout:15e3})).data}catch(a){if(a?.response?.status===401)return s.accessToken="",await _ce(s),(await he({method:n.method||"GET",url:i,headers:mM(s),data:n.data,timeout:15e3})).data;throw a}}function NIr(t=""){let e=String(t||"").trim();return/^[A-Za-z]+$/.test(e)?e:"Primary"}function OIr(t,e=300){let r=parseInt(t||e,10);return!Number.isFinite(r)||r<=0?e:Math.min(r,1200)}function Nut(t,e="",r=null){if(t.ImageTags?.Primary){let s=`/spider/emby/3/image?${new URLSearchParams({serverId:e,itemId:String(t.Id||""),maxHeight:"300",tag:String(t.ImageTags.Primary)}).toString()}`,i=CIr(r);return i?`${i}${s}`:s}return""}function Out(t,e="",r=null){let n=wIr(t);return{vod_id:CE(e,t.Id),vod_name:t.Name||"",vod_pic:Nut(t,e,r),vod_remarks:n>0?String(n):"",vod_year:t.ProductionYear?String(t.ProductionYear):""}}async function vut(t,e){return{}}async function PIr(t,e){let r=t.query||{},n=String(r.serverId||"").trim(),s=String(r.itemId||"").trim();if(!n||!s)return e.code(404),"";try{let i=await nm(t.server,n),a=NIr(r.type||"Primary"),o=new URLSearchParams({maxHeight:String(OIr(r.maxHeight,300))}),c=String(r.tag||"").trim();c&&o.set("tag",c);let u=`${i.baseUrl}/emby/Items/${encodeURIComponent(s)}/Images/${a}?${o.toString()}`,l;try{l=await he.get(u,{responseType:"stream",headers:mM(i),timeout:15e3})}catch(d){if(d?.response?.status!==401)throw d;i.accessToken="",await _ce(i),l=await he.get(u,{responseType:"stream",headers:mM(i),timeout:15e3})}return e.header("Content-Type",l.headers?.["content-type"]||"image/jpeg"),e.header("Cache-Control","private, max-age=86400"),l.headers?.["content-length"]&&e.header("Content-Length",l.headers["content-length"]),e.send(l.data)}catch(i){return console.error("emby image failed:",i.message),e.code(i?.response?.status===404?404:502),""}}async function kIr(t,e){try{let n=(await jw(t.server)).filter(a=>a?.host&&a?.username);if(n.length===0)return{class:[],filters:{}};let s=n.map((a,o)=>({type_id:a.id,type_name:a.name||`Emby ${o+1}`})),i={};for(let a of n){let o=a.id;i[o]=Ece(a.libraries)}return{class:s,filters:i}}catch(r){return console.error("emby home failed:",r.message),{class:[],filters:{}}}}async function DIr(t,e){let r=String(t.params?.serverId||"").trim();if(!r)return{class:[],filters:{}};try{let n=await IE(t.server,r),s=xce(n?.libraries);if(s.length===0){let i=await Rut(t.server,r);s=xce(i)}return{class:s,filters:{}}}catch(n){console.error("emby server home failed:",n.message);let s=await IE(t.server,r).catch(()=>null);return{class:xce(s?.libraries),filters:{}}}}async function Put(t,e,r="",n={}){let s=t.body?.filters||{},i=Math.max(1,parseInt(t.body?.page||1,10)),a=20,o=(i-1)*a;if(!e)return{page:i,pagecount:i,limit:a,total:0,list:[],filters:n.filterKey?{}:void 0};try{let c=await nm(t.server,e),u=await Rut(t.server,e),l=Ece(u),d=String(r||"").trim();!d&&n.useFilterLibrary!==!1&&(d=String(s.library||"").trim()),d||(d=String(u[0]?.Id||"").trim());let f="Movie,Series";if(d){let y=await nA(`/emby/Users/${c.userId}/Items/${d}`,t.server,e);f=TIr(y?.CollectionType)}let p=new URLSearchParams({StartIndex:String(o),Limit:String(a),Recursive:"true",Fields:Tut,ImageTypeLimit:"1",EnableImageTypes:"Primary",IncludeItemTypes:f,SortBy:"DateLastContentAdded,DateCreated",SortOrder:"Descending"});d&&p.set("ParentId",d);let m=await nA(`/emby/Users/${c.userId}/Items?${p.toString()}`,t.server,e),h=m?.Items||[],A=m?.TotalRecordCount||h.length,g=h.map(y=>Out(y,e,t)),b={page:i,pagecount:Math.max(i,Math.ceil(A/a)),limit:a,total:A,list:g};return n.filterKey&&(b.filters={[n.filterKey]:l}),b}catch(c){console.error("emby category failed:",c.message);let u=await IE(t.server,e).catch(()=>null),l={page:i,pagecount:i,limit:a,total:0,list:[]};return n.filterKey&&(l.filters={[n.filterKey]:Ece(u?.libraries)}),l}}async function BIr(t,e){let r=IIr(t);return Put(t,r,"",{filterKey:r,useFilterLibrary:!0})}async function LIr(t,e){let r=String(t.params?.serverId||"").trim(),n=String(t.body?.id||"").trim();return Put(t,r,n,{useFilterLibrary:!1})}async function Iut(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r)if(s)try{let{serverId:i,itemId:a}=wut(s);if(!i||!a)continue;let o=await nm(t.server,i),c=await nA(`/emby/Users/${o.userId}/Items/${a}`,t.server,i);if(!c)continue;let u={vod_id:CE(i,c.Id),vod_name:c.Name||"",vod_pic:Nut(c,i,t),vod_remarks:c.ProductionYear?String(c.ProductionYear):"",vod_year:c.ProductionYear?String(c.ProductionYear):"",vod_content:c.Overview||"",vod_director:(c.People||[]).filter(l=>l.Type==="Director").map(l=>l.Name).join(","),vod_actor:(c.People||[]).filter(l=>l.Type==="Actor").map(l=>l.Name).join(","),vod_play_from:"",vod_play_url:""};if(c.Type==="Movie")u.vod_play_from="Emby",u.vod_play_url=`${c.Name}$${CE(i,c.Id)}`;else if(c.Type==="Series"){let d=(await nA(`/emby/Shows/${c.Id}/Episodes?userId=${o.userId}&Fields=BasicSyncInfo`,t.server,i))?.Items||[];if(d.length>0){let f={};for(let h of d){let A=h.SeasonName||`\u7B2C${h.ParentIndexNumber||1}\u5B63`;f[A]||(f[A]=[]);let g=h.Name===`\u7B2C ${h.IndexNumber} \u96C6`?h.Name:`${h.IndexNumber}.${h.Name}`;f[A].push(`${g}$${CE(i,h.Id)}`)}let p=[],m=[];for(let[h,A]of Object.entries(f))p.push(h),m.push(A.join("#"));u.vod_play_from=p.join("$$$"),u.vod_play_url=m.join("$$$")}else u.vod_play_from="Emby",u.vod_play_url=`${c.Name}$${CE(i,c.Id)}`}else u.vod_play_from="Emby",u.vod_play_url=`${c.Name}$${CE(i,c.Id)}`;n.push(u)}catch(i){console.error("emby detail failed:",s,i.message)}return{list:n}}async function MIr(t,e,r){let n=await nm(t,e),s=encodeURIComponent(r),i=await nA(`/emby/Users/${n.userId}/Items/${s}?Fields=Path`,t,e),o=(Array.isArray(i?.MediaSources)?i.MediaSources:[]).find(c=>String(c?.Id||"").trim())||null;return String(o?.Id||"").trim()}async function Cut(t,e){let{serverId:r,itemId:n}=wut(t.body?.id||"");if(!r||!n)return{parse:0,url:"",header:{}};try{let s=await nm(t.server,r),i=encodeURIComponent(n),a=new URLSearchParams({static:"true",api_key:s.accessToken}),o=await MIr(t.server,r,n).catch(()=>"");return o&&a.set("MediaSourceId",o),{parse:0,url:`${s.baseUrl}/emby/Videos/${i}/stream.mkv?${a.toString()}`,header:{"User-Agent":Yl.userAgent}}}catch(s){return console.error("emby play failed:",s.message),{parse:0,url:"",header:{}}}}async function kut(t,e=[]){let r=(t.body?.wd||"").trim(),n=Math.max(1,parseInt(t.body?.page||1,10)),s=20;if(!r)return{page:n,pagecount:n,limit:s,total:0,list:[]};if(e.length===0)return{page:n,pagecount:n,limit:s,total:0,list:[]};try{let i=(n-1)*s,a=n*s,o=await Promise.allSettled(e.map(async d=>{let f=d.id,p=await nm(t.server,f),m=new URLSearchParams({SearchTerm:r,StartIndex:"0",Limit:String(a),Recursive:"true",Fields:Tut,ImageTypeLimit:"1",EnableImageTypes:"Primary",IncludeItemTypes:"Movie,Series",SortBy:"DateLastContentAdded,DateCreated",SortOrder:"Descending"}),h=await nA(`/emby/Users/${p.userId}/Items?${m.toString()}`,t.server,f),A=h?.Items||[];return{total:Math.max(0,Number(h?.TotalRecordCount||A.length)||0),list:A.map(g=>Out(g,f,t))}})),c=[],u=0;for(let d of o){if(d.status!=="fulfilled"){console.error("emby search server failed:",d.reason?.message||d.reason);continue}u+=d.value.total,c.push(d.value)}let l=RIr(c);return{page:n,pagecount:Math.max(n,Math.ceil(u/s)),limit:s,total:u,list:l.slice(i,a)}}catch(i){return console.error("emby search failed:",i.message),{page:n,pagecount:n,limit:s,total:0,list:[]}}}async function WIr(t,e){let r=await jw(t.server);return kut(t,r.filter(n=>n?.host&&n?.username))}async function $Ir(t,e){let r=String(t.params?.serverId||"").trim(),n=await IE(t.server,r).catch(()=>null);return kut(t,n?.host&&n?.username?[n]:[])}var Dut={meta:{key:"emby",name:"Emby",type:3,hidden:!0},api:async t=>{t.post("/init",vut),t.get("/image",PIr),t.post("/home",kIr),t.post("/category",BIr),t.post("/detail",Iut),t.post("/play",Cut),t.post("/search",WIr),t.post("/server/:serverId/init",vut),t.post("/server/:serverId/home",DIr),t.post("/server/:serverId/category",LIr),t.post("/server/:serverId/detail",Iut),t.post("/server/:serverId/play",Cut),t.post("/server/:serverId/search",$Ir)}};var Sce="/alistVideo",Lut={servers:[{id:"alist_default",name:"\u4EBF\u82EF\u6B63\u7ECF\u7684Alist\u5E93",server:"https://pan.lm379.cn"}]};function FIr(t,e="server"){return`alist_${String(t||e).trim().toLowerCase().replace(/^https?:\/\//,"").replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||e}`}function vce(t={}){return{id:t.id||"",name:String(t.name||"").trim(),server:String(t.server||"").trim().replace(/\/+$/,""),username:String(t.username||"").trim(),password:String(t.password||""),token:String(t.token||"").trim(),otpCode:String(t.otpCode||t.otp_code||"").trim()}}function Ice(t={}){let e=Array.isArray(t?.servers)?t.servers:[],r=new Set;return{servers:e.map((n,s)=>{let i={...vce(n),otpCode:""};if(!i.server)return null;i.id||(i.id=FIr(i.server||i.name,`server_${s+1}`));let a=i.id,o=a,c=2;for(;r.has(o);)o=`${a}_${c}`,c+=1;return r.add(o),i.id=o,i}).filter(Boolean)}}function UIr(t={}){return`catpaw_${String(t.id||t.server||t.name||"default").trim().replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,96)||"alist"}`}function TE(t={},e=""){let r=String(e||t.token||"").trim(),n={"Content-Type":"application/json","Client-Id":UIr(t)};return r&&(n.Authorization=r),n}function Cce(t,e={}){return t?.status===401||t?.status===403||e?.code===401||e?.code===403}async function hM(t={},e={}){let r=vce(t);if(r.token)return r.token;if(!r.server||!r.username)return"";let n={username:r.username,password:r.password};r.otpCode&&(n.otp_code=r.otpCode);let i=(await he.post(r.server+"/api/auth/login",n,{headers:TE(r),timeout:e.timeout||1e4})).data||{};if(i.code!==200||!i.data?.token)throw new Error(i.message||"Alist \u767B\u5F55\u5931\u8D25");return i.data.token}async function But(t,e=""){let r=await he.post(t.server+"/api/fs/list",{path:"/",page:1,per_page:1},{headers:TE(t,e),timeout:1e4});return{resp:r,json:r.data||{}}}var Mut=async t=>{let e=await t.db.getObjectDefault(Sce,Lut);return Ice(e)},qIr=async(t,e)=>{let r=Ice(e);return await t.db.push(Sce,r),r},jIr=async t=>{await t.db.delete(Sce)},Hw=async t=>(await Mut(t)).servers;async function Tce(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await Mut(e.server)})}),t.put("/setting",async(e,r)=>{let n=Ice(e.body||{});if(n.servers.some(i=>!i.server)){r.send({code:-1,message:"\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A"});return}let s=await qIr(e.server,n);r.send({code:0,data:s})}),t.delete("/setting",async(e,r)=>{await jIr(e.server),r.send({code:0,data:Lut})}),t.post("/verify",async(e,r)=>{let n=vce(e.body||{});if(!n.server){r.send({code:-1,message:"\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A"});return}try{let s=await hM(n),{resp:i,json:a}=await But(n,s);if(Cce(i,a)&&n.username&&(s=await hM({...n,token:""}),{resp:i,json:a}=await But(n,s)),a.code!==200){r.send({code:-1,message:a.message||"\u8FDE\u63A5\u5931\u8D25"});return}r.send({code:0,data:{...n,token:s||n.token,otpCode:""}})}catch(s){r.send({code:-1,message:`\u8FDE\u63A5\u5931\u8D25: ${s.message}`})}})}var HIr=new Set([".mp4",".mkv",".avi",".wmv",".flv",".mov",".webm",".ts",".m4v",".rmvb",".rm",".3gp",".mpg",".mpeg",".vob",".iso"]),QIr=new Set([".srt",".ass",".ssa",".sub",".scc",".stl",".ttml",".vtt"]),jut="https://img.icons8.com/fluency/96/folder-invoices--v1.png",Hut="https://img.icons8.com/color/48/video.png",GIr=new Set(["AliyundriveOpen","AliyunShare","BaiduNetdisk","BaiduShare2","Quark","QuarkShare","UC","UCShare","UCTV","115 Cloud","115 Share"]),Qut="Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",Ou={},wE={},wce="alist:";function yM(t){let e=t.lastIndexOf(".");return e<0?!1:HIr.has(t.slice(e).toLowerCase())}function Gut(t){let e=t.lastIndexOf(".");return e<0?!1:QIr.has(t.slice(e).toLowerCase())}function Rce(t){return!t||t<=0?"":t>1024**4?(t/1024**4).toFixed(2)+"TB":t>1024**3?(t/1024**3).toFixed(2)+"GB":t>1024**2?(t/1024**2).toFixed(2)+"MB":(t/1024).toFixed(2)+"KB"}function sm(t,e,r=""){let n=String(r||"").trim();return n?wce+Buffer.from(JSON.stringify({serverId:n,name:t,path:e||"/"}),"utf8").toString("base64url"):`${t}||${e}`}function xM(t){let e=String(t||"");if(e.startsWith(wce))try{let n=JSON.parse(Buffer.from(e.slice(wce.length),"base64url").toString("utf8"));return{serverId:String(n?.serverId||""),name:String(n?.name||""),path:String(n?.path||"/")}}catch{return{serverId:"",name:"",path:"/"}}let r=e.indexOf("||");return r<0?{serverId:"",name:e,path:"/"}:{serverId:"",name:e.slice(0,r),path:e.slice(r+2)||"/"}}function KIr(t,e=""){let r=String(e||"").trim();if(r&&Ou[r])return Ou[r];let n=String(t||"").trim();return n&&Ou[n]?Ou[n]:Object.values(Ou).find(s=>r&&s?.id===r||n&&s?.name===n)}function Kut(t){return String(t||"").split(",")[0].trim()}function Wut(t){return Kut(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function VIr(t){let e=String(t?.server?.address?.()?.url||"").trim(),n=Wut(t?.headers?.["x-forwarded-host"])||Wut(t?.headers?.host);if(!n)return e;let s=Kut(t?.headers?.["x-forwarded-proto"]),i=e.startsWith("https://")?"https":"http";return`${s||String(t?.protocol||"").trim()||i}://${n}`}function zIr(t,e,r=""){return Buffer.from(JSON.stringify({serverId:r,name:t,path:e}),"utf8").toString("base64url")}function YIr(t){let e=JSON.parse(Buffer.from(String(t||""),"base64url").toString("utf8"));return{serverId:String(e?.serverId||""),name:String(e?.name||""),path:String(e?.path||"/")}}function JIr(t){return String(t||"").toLowerCase().includes("115")}function XIr(t){let e=String(t?.provider||""),r=String(t?.raw_url||"");return GIr.has(e)||JIr(e)||r.includes("115cdn.net")}function ZIr(t){return String(t||"/").replace(/^\/?/,"/").split("/").map((r,n)=>n===0?"":encodeURIComponent(r)).join("/")}function eCr(t,e,r){let n=new URL("/d"+ZIr(e),t.server);return r&&n.searchParams.set("sign",r),n.toString()}function $ut(t,e,r,n=""){let s=r.split("/").filter(Boolean).pop()||"video.bin",i=String(t?.server?.prefix||"").replace(/\/$/,"");return`${VIr(t)}${i}/proxy/${zIr(e,r,n)}/${encodeURIComponent(s)}`}function tCr(t){let e={};for(let r of["range","if-range","if-none-match","if-modified-since"])t.headers?.[r]&&(e[r]=t.headers[r]);return e}function rCr(t,e,r){return{...tCr(r),...TE(t,e),"User-Agent":Qut,Referer:"https://www.alipan.com/"}}function nCr(){return{"User-Agent":Qut,Referer:"https://www.alipan.com/"}}function Vut(t){return t.id||t.server||t.name}async function gM(t,e=!1){let r=Vut(t);if(!e){if(wE[r])return wE[r];if(t.token)return t.token}let n=await hM({...t,token:e?"":t.token});return n&&(wE[r]=n),n}async function bM(t,e,r={},n=!0){let s=await gM(t),i=TE(t,s),a=await he.post(t.server+e,r,{headers:i,timeout:15e3}).catch(c=>c.response||{status:500,data:{}}),o=a.data||{};if(n&&Cce(a,o)&&t.username){let c=Vut(t);delete wE[c];let u=await gM(t,!0),d=(await he.post(t.server+e,r,{headers:TE(t,u),timeout:15e3}).catch(f=>f.response||{status:500,data:{}})).data||{};if(d.code!==200)throw new Error(d.message||"Alist API error");return d.data}if(o.code!==200)throw new Error(o.message||"Alist API error");return o.data}async function zut(t,e,r=1){return bM(t,"/api/fs/list",{path:e,page:r,per_page:0,refresh:!1})}async function AM(t,e){return bM(t,"/api/fs/get",{path:e})}async function sCr(t,e,r,n={}){return he.request({url:t,method:r,headers:e,responseType:r==="HEAD"?"text":"stream",timeout:3e4,maxRedirects:n.maxRedirects??5,validateStatus:()=>!0})}async function Yut(t,e,r,n,s){let i=eCr(t,e,r),a=await sCr(i,rCr(t,n,s),"GET",{maxRedirects:0});a.data?.destroy&&a.data.destroy();let o=a.headers?.location;return a.status>=300&&a.status<400&&o?new URL(o,i).toString():""}async function iCr(t,e){await Qw(t.server);let r;try{r=YIr(t.params?.id)}catch{return e.code(400),"bad proxy id"}let n=await EM(t.server,r);if(!n)return e.code(404),"drive not found";try{let s=await AM(n,r.path);if(!s?.raw_url)return e.code(404),"raw_url empty";if(s.sign){let i=await gM(n),a=await Yut(n,r.path,s.sign,i,t);if(a)return e.redirect(302,a),""}return s.raw_url?(e.redirect(302,s.raw_url),""):(e.code(502),"proxy failed")}catch(s){return console.error("[alist-video] proxy failed:",s.message),e.code(502),s.message}}async function aCr(t,e,r="/"){return bM(t,"/api/fs/search",{parent:r,keywords:e,scope:0,page:1,per_page:100})}function oCr(t){let e=t.replace(/^\//,"").split("/");return e.length>1?"/"+e.slice(1).join("/"):"/"}function cCr(t={},e="Alist"){let r=String(t.name||"").trim();if(r)return r;try{return new URL(t.server).hostname||e}catch{return e}}function Jut(t={}){let e=String(t.server||"").replace(/\/$/,"");if(!e)return null;let r=cCr({...t,server:e});return{id:String(t.id||"").trim(),name:r,server:e,username:t.username||"",password:t.password||"",token:t.token||"",otpCode:t.otpCode||""}}function Xut(t){if(!t)return null;let e=t.id||t.name;return e?(Ou[e]=t,t):null}async function Nce(t){let e=await Hw(t);for(let r of Object.keys(Ou))delete Ou[r];for(let r of Object.keys(wE))delete wE[r];for(let r of e)Xut(Jut(r));return e}async function Qw(t){Object.keys(Ou).length===0&&await Nce(t)}async function Gw(t,e){let r=String(e||"").trim();if(!r)return null;let n=await Hw(t),s=Jut(n.find(i=>i?.id===r));return Xut(s)}async function EM(t,e={}){let r=KIr(e.name,e.serverId);return r||(e.serverId?Gw(t,e.serverId):null)}async function uCr(t,e){return await Nce(t.server),{}}async function lCr(t,e){if((await Nce(t.server)).length===0)return{class:[],filters:{}};let n=[];for(let s of Object.values(Ou))n.push({type_id:sm(s.name,"/",s.id),type_name:s.name});return{class:n,filters:{}}}async function dCr(t,e){let r=await Gw(t.server,t.params?.serverId);return r?{class:[{type_id:sm(r.name,"/",r.id),type_name:r.name}],filters:{}}:{class:[],filters:{}}}async function Zut(t,e){await Qw(t.server);let r=t.body.id,n=Math.max(1,parseInt(t.body.page||1,10)),{serverId:s,name:i,path:a}=xM(r),o=await EM(t.server,{name:i,serverId:s});if(!o)return{page:n,pagecount:n,list:[]};let c=o.id||s;try{let u=await zut(o,a,n),l=u.content||[],d=[];for(let h of l){let A=a.replace(/\/?$/,"/")+h.name;if(h.is_dir){let g=sm(o.name,A,c);d.push({vod_id:g,vod_name:h.name,vod_pic:h.thumb||jut,vod_remarks:"",vod_tag:"folder",cate:{id:g,name:h.name}})}else yM(h.name)&&d.push({vod_id:sm(o.name,A,c),vod_name:h.name,vod_pic:h.thumb||Hut,vod_remarks:Rce(h.size),vod_tag:"file"})}let f=u.total||d.length,p=u.per_page||f,m=p>0?Math.ceil(f/p):1;return{page:n,pagecount:m,list:d}}catch(u){return console.error("[alist-video] category failed:",u.message),{page:n,pagecount:n,list:[]}}}async function fCr(t,e){let r=String(t.params?.serverId||"").trim(),n=await Gw(t.server,r);if(!n){let a=Math.max(1,parseInt(t.body?.page||1,10));return{page:a,pagecount:a,list:[]}}let s=String(t.body?.id||"").trim(),i=s?xM(s):{path:"/"};return t.body={...t.body||{},id:sm(n.name,i.path||"/",n.id)},Zut(t,e)}async function Fut(t,e,r=3,n=0){if(n>=r)return[];try{let i=(await bM(t,"/api/fs/list",{path:e,page:1,per_page:500,refresh:!1})).content||[],a=[],o=[],c=[];for(let u of i){let l=e.replace(/\/?$/,"/")+u.name;u.is_dir?c.push({name:u.name,path:l}):yM(u.name)?a.push({name:u.name,path:l,size:u.size}):Gut(u.name)&&o.push({name:u.name,path:l})}return{videos:a,subtitles:o,subfolders:c}}catch{return{videos:[],subtitles:[],subfolders:[]}}}async function Uut(t,e){await Qw(t.server);let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){if(!s)continue;let{serverId:i,name:a,path:o}=xM(s),c=await EM(t.server,{name:a,serverId:i});if(!c)continue;let u=c.id||i;try{let l=await AM(c,o),d=l.is_dir;if(!d&&yM(l.name)){n.push({vod_id:s,vod_name:l.name,vod_pic:l.thumb||"",vod_content:`\u5927\u5C0F: ${Rce(l.size)}`,vod_play_from:"Alist",vod_play_url:`${l.name}$${s}`});continue}if(d){let f=await Fut(c,o),p=[],m=[];f.videos.length>0&&(p.push("\u5F53\u524D\u76EE\u5F55"),m.push(f.videos.map(h=>`${h.name}$${sm(c.name,h.path,u)}`).join("#")));for(let h of f.subfolders){let A=await Fut(c,h.path);A.videos.length>0&&(p.push(h.name),m.push(A.videos.map(g=>`${g.name}$${sm(c.name,g.path,u)}`).join("#")))}p.length===0?n.push({vod_id:s,vod_name:l.name||o.split("/").filter(Boolean).pop()||"Alist",vod_pic:l.thumb||"",vod_content:"\u8BE5\u76EE\u5F55\u4E0B\u6CA1\u6709\u89C6\u9891\u6587\u4EF6",vod_play_from:"",vod_play_url:""}):n.push({vod_id:s,vod_name:l.name||o.split("/").filter(Boolean).pop()||"Alist",vod_pic:l.thumb||"",vod_content:`\u5171 ${p.reduce((h,A,g)=>h+m[g].split("#").length,0)} \u4E2A\u89C6\u9891`,vod_play_from:p.join("$$$"),vod_play_url:m.join("$$$")})}}catch(l){console.error("[alist-video] detail failed:",s,l.message)}}return{list:n}}async function qut(t,e){await Qw(t.server);let r=t.body?.id||"",{serverId:n,name:s,path:i}=xM(r),a=await EM(t.server,{name:s,serverId:n});if(!a)return{parse:0,url:"",header:{}};let o=a.id||n;try{let c=await AM(a,i),u=c.raw_url;if(!u)return{parse:0,url:"",header:{}};let l={parse:0,url:u,header:{}};if(c.provider==="AliyundriveOpen"||c.provider==="AliyundriveShare2Open")l.header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Referer:"https://www.alipan.com/"};else if(XIr(c))if(l.header=nCr(),c.sign){let m=await gM(a),h=await Yut(a,i,c.sign,m,t);h?l.url=h:l.url=$ut(t,a.name,i,o)}else l.url=$ut(t,a.name,i,o);let d=i.substring(0,i.lastIndexOf("/")+1),f=i.substring(i.lastIndexOf("/")+1),p=f.substring(0,f.lastIndexOf("."));try{let h=((await zut(a,d)).content||[]).filter(A=>Gut(A.name)&&A.name.includes(p)).slice(0,3);if(h.length>0){let A=[];for(let g of h)try{let b=await AM(a,d+g.name);b.raw_url&&A.push(b.raw_url)}catch{}A.length>0&&(l.subt=A[0])}}catch{}return l}catch(c){return console.error("[alist-video] play failed:",c.message),{parse:0,url:"",header:{}}}}async function elt(t,e){let r=(t.body?.wd||"").trim(),n=Math.max(1,parseInt(t.body?.page||1,10));if(!r)return{page:n,pagecount:n,list:[]};let s=[];for(let i of e)try{let o=(await aCr(i,r)).content||[];for(let c of o)if(c.is_dir||yM(c.name)){let l=oCr(String(c.parent||"/")).replace(/\/?$/,"/")+c.name,d=sm(i.name,l,i.id);s.push({vod_id:d,vod_name:c.name,vod_pic:c.thumb||(c.is_dir?jut:Hut),vod_remarks:c.is_dir?"":Rce(c.size),...c.is_dir?{cate:{id:d,name:c.name}}:{}})}}catch{}return{page:n,pagecount:n,list:s}}async function pCr(t,e){return await Qw(t.server),elt(t,Object.values(Ou))}async function mCr(t,e){return await Gw(t.server,t.params?.serverId),{}}async function hCr(t,e){let r=await Gw(t.server,t.params?.serverId);return elt(t,r?[r]:[])}var tlt={meta:{key:"alist-video",name:"Alist",type:3,hidden:!0},api:async t=>{t.post("/init",uCr),t.post("/home",lCr),t.post("/category",Zut),t.post("/detail",Uut),t.post("/search",pCr),t.post("/play",qut),t.get("/proxy/:id/:file",iCr),t.post("/server/:serverId/init",mCr),t.post("/server/:serverId/home",dCr),t.post("/server/:serverId/category",fCr),t.post("/server/:serverId/detail",Uut),t.post("/server/:serverId/search",hCr),t.post("/server/:serverId/play",qut)}};var Kw=async t=>(await t.db.getObjectDefault("/sites",{}))?.list||t.config.sites.list,gCr=async(t,e)=>{await t.db.push("/sites/list",e)},ACr=async t=>{await t.db.delete("/sites/list")};async function Oce(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Kw(e.server)})}),t.put("/list",async(e,r)=>{await gCr(e.server,e.body.list),r.send({code:0})}),t.delete("/list",async(e,r)=>{await ACr(e.server),r.send({code:0})})}var rlt="\u5185\u7F6E\u5F39\u5E55",yCr=9321;function ilt(t){return String(t||"").split(",")[0].trim()}function nlt(t){return ilt(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function slt(t){let e=String(t||"").trim().toLowerCase().split(":")[0];return e==="localhost"||e==="127.0.0.1"||e==="0.0.0.0"||e==="::1"}function xCr(t,e=null){let r=String(t?.address?.()?.url||"").trim(),s=nlt(e?.headers?.["x-forwarded-host"])||nlt(e?.headers?.host),i=ilt(e?.headers?.["x-forwarded-proto"]),a=r.startsWith("https://")?"https":"http",o=i||String(e?.protocol||"").trim()||a;if(s&&!slt(s))return`${o}://${s}`;let c=String(k0()||"").trim(),u=Number.parseInt(String(t?.address?.()?.port||""),10);return c&&!slt(c)?Number.isFinite(u)&&u>0?`${o}://${c}:${u}`:`${o}://${c}`:r}function alt(t,e,r=null){if(!e||typeof e!="object"||!Array.isArray(e.urls))return e;let n=xCr(t,r),s=sae(n,yCr),i=e.urls.map(a=>{if(!a||typeof a!="object")return a;let o=String(a.name||"").trim();return a.builtin===!0||o===rlt?{...a,builtin:!0,name:o||rlt,address:s}:a});return{...e,urls:i}}var _M=async(t,e=null)=>{let n=await t.db.getObjectDefault("/danmu")||t.config.danmu;return alt(t,n,e)},bCr=async(t,e,r=null)=>{await t.db.push("/danmu",alt(t,e,r))},ECr=async t=>{await t.db.delete("/danmu")},_Cr=3,Pce=(t,e=_Cr)=>{messageToDart({action:"toast",opt:{message:t,duration:e}})},SCr=t=>{try{let e=new URL(t);return e.searchParams.set("format","json"),e.toString()}catch{return null}},vCr=t=>Array.isArray(t?.comments)?t.comments.length:Array.isArray(t)?t.length:0;async function kce(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await _M(e.server,e)})}),t.put("/setting",async(e,r)=>{await bCr(e.server,e.body,e),r.send({code:0})}),t.delete("/setting",async(e,r)=>{await ECr(e.server),r.send({code:0})}),t.post("/push",async(e,r)=>{let n=e.body||{},s=n.url,i=n.sourceName||"\u5F39\u5E55\u6E90",a=n.previewUrl||SCr(s);if(!s){r.code(400).send({code:1,message:"Missing push url"});return}a&&(async()=>{try{let o=await Ae.get(a,{timeout:1e4}),c=vCr(o.data);c>0?Pce(`\u901A\u8FC7 ${i} - \u89E3\u6790\u5230 ${c} \u6761\u5F39\u5E55`):Pce("\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~")}catch(o){console.error("Manual danmu preview failed:",o),Pce("\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~")}})(),messageToDart({action:"danmuPush",opt:{url:s}}),r.send({code:0})}),t.get("/fe",(e,r)=>{r.type("text/html").send(`
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>\u5F39\u5E55\u641C\u7D22</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="stylesheet" href="https://lib.baomitu.com/antd/5.25.0/reset.min.css"> </head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<script crossorigin src="https://lib.baomitu.com/react/18.2.0/umd/react.production.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/axios/0.26.0/axios.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/dayjs/1.10.8/dayjs.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/antd/5.25.0/antd.min.js"></script>
|
|
<script>${globalThis.danmuBundle}</script>
|
|
</body>
|
|
</html>
|
|
`)})}var Plt=Re(Jn(),1),klt=Re(vv(),1),nue=Re(rI(),1);var Dce=["\u7F8E\u5267","\u97E9\u5267","\u65E5\u5267","\u53F0\u5267","\u6E2F\u5267","\u6E2F\u53F0\u5267","\u56FD\u4EA7\u5267","\u5927\u9646\u5267","\u5185\u5730\u5267","\u6CF0\u5267","\u82F1\u5267","\u7F8E\u5267\u7248","\u82F1\u5267\u7248","\u65E5\u5267\u7248","\u97E9\u5267\u7248","\u53F0\u5267\u7248","\u6E2F\u5267\u7248","\u6CF0\u5267\u7248","\u5F71\u540E","\u5F71\u5E1D","\u56FD\u5267","\u5FAE\u77ED\u5267","\u77ED\u5267","\u7535\u5F71","\u5267\u96C6","\u7EFC\u827A","\u72AF\u7F6A","\u52A8\u6F2B","\u52A8\u753B","\u7EAA\u5F55\u7247","\u77ED\u7247","\u8FDE\u7EED\u5267","\u7CFB\u5217\u5267","\u7F51\u7EDC\u5267","\u7535\u89C6\u5267"],ICr=["\u5F71\u7247","\u7247\u5B50","\u7247\u82B1","\u7247\u6BB5","\u9884\u544A","\u9884\u544A\u7247","\u82B1\u7D6E","\u5E55\u540E","\u8BBF\u8C08","\u7279\u522B\u7BC7","\u756A\u5916\u7BC7","OVA","OAD","SP","TV\u7248","\u5267\u573A\u7248","\u7535\u5F71\u7248","\u5F71\u7248","\u5267\u7248","\u56FD\u8BED\u7248","\u666E\u901A\u8BDD\u7248","\u7CA4\u8BED\u7248","\u95FD\u5357\u8BED\u7248","\u5BA2\u5BB6\u8BED\u7248","\u5434\u8BED\u7248","\u5DDD\u8BED\u7248","\u6E58\u8BED\u7248","\u8D63\u8BED\u7248","\u7CA4\u8BED\u914D\u97F3\u7248","\u56FD\u8BED\u914D\u97F3\u7248","\u666E\u901A\u8BDD\u914D\u97F3\u7248","\u65B9\u8A00\u7248","\u539F\u7248\u914D\u97F3","\u539F\u97F3\u7248","\u53F0\u8BED\u7248","\u7CA4\u8BED\u4E2D\u5B57\u7248","\u56FD\u8BED\u4E2D\u5B57\u7248","\u666E\u901A\u8BDD\u4E2D\u5B57\u7248","\u7CA4\u8BED\u539F\u58F0\u7248","\u56FD\u8BED\u539F\u58F0\u7248","\u666E\u901A\u8BDD\u539F\u58F0\u7248","\u7CA4\u8BED\u5185\u5D4C\u5B57\u5E55\u7248","\u56FD\u8BED\u5185\u5D4C\u5B57\u5E55\u7248","\u666E\u901A\u8BDD\u5185\u5D4C\u5B57\u5E55\u7248","\u52A8\u753B\u7248","\u771F\u4EBA\u7248","\u6539\u7F16\u7248","\u91CD\u5236\u7248","\u4FEE\u590D\u7248","\u52A0\u957F\u7248","\u672A\u5220\u51CF\u7248","\u5B8C\u6574\u7248","\u5BFC\u6F14\u526A\u8F91\u7248","\u7EC8\u6781\u7248","\u7279\u522B\u7248","\u9650\u5B9A\u7248","\u6536\u85CF\u7248","\u8C6A\u534E\u7248","\u5178\u85CF\u7248","\u9AD8\u6E05\u7248","\u8D85\u6E05\u7248","\u6807\u6E05\u7248","HD\u7248","UHD\u7248","4K\u7248","\u84DD\u5149\u7248","DVD\u7248","BD\u7248","WEB\u7248","TVrip","BDrip","DVDrip","HDrip","WEB-DL","HDTV","DVDRip","BRRip","HDRip","BluRay","TS","TC","CAM","\u62A2\u5148\u7248","\u67AA\u7248","\u5077\u62CD\u7248","\u6CC4\u9732\u7248","\u62A2\u5148\u770B","\u6B63\u7247","\u6B63\u7247\u7247\u6BB5","\u6B63\u7247\u7CBE\u534E","\u82B1\u7D6E\u96C6\u9526","\u5E55\u540E\u82B1\u7D6E","\u5236\u4F5C\u7279\u8F91","\u8BBF\u8C08\u5F55","\u9996\u6620\u793C","\u7EA2\u6BEF\u79C0","\u8DEF\u6F14","\u53D1\u5E03\u4F1A","\u9884\u544A\u7247\u5408\u96C6","\u9884\u544A\u7247\u82B1\u7D6E","\u7247\u82B1\u9884\u544A","\u7CBE\u5F69\u7247\u6BB5","\u7CBE\u5F69\u96C6\u9526","\u7CBE\u9009\u7247\u6BB5","\u9AD8\u80FD\u7247\u6BB5","\u9AD8\u5149\u65F6\u523B","\u526A\u8F91\u7248","\u6DF7\u526A","MV","\u4E3B\u9898\u66F2","\u63D2\u66F2","\u7247\u5C3E\u66F2","\u914D\u4E50","\u539F\u58F0","OST","\u539F\u58F0\u5E26","\u539F\u58F0\u5927\u789F","\u97F3\u4E50\u96C6","\u97F3\u4E50\u4F1A","\u6F14\u5531","Live","Live\u7248","\u73B0\u573A\u7248","\u73B0\u573A\u5F55\u5236","\u821E\u53F0\u7248","\u821E\u53F0\u5267","\u8BDD\u5267","\u6B4C\u5267","\u821E\u5267","\u620F\u66F2","\u4EAC\u5267","\u8D8A\u5267","\u7CA4\u5267","\u8BC4\u5267","\u9EC4\u6885\u620F","\u4E8C\u4EBA\u8F6C","\u76F8\u58F0","\u5C0F\u54C1","\u7EFC\u827A\u79C0","\u771F\u4EBA\u79C0","\u8131\u53E3\u79C0","\u8BBF\u8C08\u8282\u76EE","\u7EAA\u5F55\u7247\u7CFB\u5217","\u4E13\u9898\u7247","\u79D1\u6559\u7247","\u52A8\u753B\u7247","\u52A8\u6F2B\u7247","\u52A8\u753B\u77ED\u7247","\u52A8\u753B\u7535\u5F71","\u52A8\u753B\u7CFB\u5217","\u52A8\u753B\u5267\u96C6","\u52A8\u753B\u8FDE\u7EED\u5267","\u52A8\u753BOVA","\u52A8\u753BOAD","\u52A8\u753BSP","\u52A8\u753B\u7279\u5178","\u52A8\u753B\u5408\u96C6","\u52A8\u753B\u7CBE\u9009","\u7535\u5F71\u5408\u96C6","\u5F71\u7247\u5408\u96C6","\u7CFB\u5217\u5408\u96C6","\u5408\u96C6\u7248","\u5957\u88C5\u7248","\u5957\u88C5\u5408\u96C6","\u5168\u96C6","\u5168\u7CFB\u5217","\u5168\u5B63","\u7B2C\u4E00\u5B63","\u7B2C\u4E8C\u5B63","\u7B2C\u4E09\u5B63","\u7B2C\u56DB\u5B63","\u7B2C\u4E94\u5B63","\u7B2C\u516D\u5B63","\u7B2C\u4E03\u5B63","\u7B2C\u516B\u5B63","\u7B2C\u4E5D\u5B63","\u7B2C\u5341\u5B63","\u66F4\u65B0\u4E2D","\u5B8C\u7ED3","\u5B8C\u7ED3\u7BC7","\u5B8C\u7ED3\u5B63","\u6700\u7EC8\u5B63","\u6700\u7EC8\u7AE0","\u7EC8\u7AE0","\u7EC8\u7BC7","\u5927\u7ED3\u5C40","\u5927\u7D50\u5C40","\u7279\u522B\u7BC7\u5B8C\u7ED3","\u756A\u5916\u5B8C\u7ED3","OVA\u5B8C\u7ED3","OAD\u5B8C\u7ED3","SP\u5B8C\u7ED3","\u5168\u5267\u7EC8","\u5B8C\u7ED3\u6492\u82B1","\u5B8C\u7ED3\u7EAA\u5FF5","\u5B8C\u7ED3\u7279\u8F91","\u5B8C\u7ED3\u8BBF\u8C08","\u5B8C\u7ED3\u82B1\u7D6E","\u5B8C\u7ED3\u5408\u96C6","\u5B8C\u7ED3\u7BC7\u5408\u96C6","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6","\u5B8C\u7ED3\u7279\u8F91\u5408\u96C6","\u5B8C\u7ED3\u8BBF\u8C08\u5408\u96C6","\u5B8C\u7ED3\u82B1\u7D6E\u5408\u96C6","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91","\u5B8C\u7ED3\u7EAA\u5FF5\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u7279\u8F91","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u8BBF\u8C08\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u7279\u8F91\u8BBF\u8C08\u82B1\u7D6E","BD","BDRIP","WEB-DL","HDRip","DVDRip","BDRip","BRRip","Rip","BluRay","IMAX","CAM","HD","HDR","UHD","4K","1080p","720p","2160p","480p","120fps","60fps","x264","x265","H264","HEVC","AAC","dts","ddp","truehd","10bit","8bit","5.1","7.1","\u56FD\u8BED","\u7CA4\u8BED","\u82F1\u8BED","\u65E5\u8BED","\u97E9\u8BED","\u6CF0\u8BED","\u6CD5\u8BED","\u5FB7\u8BED","\u897F\u73ED\u7259\u8BED","\u4FC4\u8BED","\u8461\u8404\u7259\u8BED","\u610F\u5927\u5229\u8BED","\u81FB\u5F69","\u4E2D\u5B57","\u7B80\u4E2D","\u7E41\u4E2D","\u7B80\u7E41\u4E2D\u5B57","\u4E2D\u82F1\u53CC\u5B57","\u5185\u5D4C","\u5185\u5C01","\u675C\u6BD4\u5168\u666F\u58F0","\u675C\u6BD4\u97F3\u6548","\u65E0\u6C34\u5370","\u5B8C\u6574\u7248","\u539F\u58F0\u7248","\u89E3\u8BF4\u7248","\u9884\u544A\u7247","\u672A\u5220\u51CF\u7248","\u52A0\u957F\u7248","\u84DD\u5149","\u62A2\u5148\u7248","TC\u7248","\u62A2\u5148","TC","\u4E24\u5B63\u5168","\u5168\u5B63","\u5168\u96C6","DV","\u538B\u5236","HQ","\u5E27","\u7535\u5F71\u7248","\u8C46\u74E3","\u66F4\u65B0","\u66F4\u65B0\u5230","\u63A8\u8350","\u52A8\u4F5C","\u5192\u9669","\u7231\u60C5","\u79D1\u5E7B","\u60AC\u7591","\u60CA\u609A","\u6050\u6016","\u559C\u5267","\u60B2\u5267","\u5267\u60C5","\u5947\u5E7B","\u72AF\u7F6A","\u6218\u4E89","\u5386\u53F2","\u4F20\u8BB0","\u97F3\u4E50","\u6B4C\u821E","\u5BB6\u5EAD","\u513F\u7AE5","\u4F53\u80B2","\u707E\u96BE","\u4F26\u7406","\u77ED\u7247","\u5FAE\u7535\u5F71","\u9AD8\u6E05","\u8D85\u6E05","\u6807\u6E05","\u62A2\u9C9C\u770B","\u9996\u64AD","\u72EC\u64AD","\u70ED\u64AD","\u8FDE\u8F7D\u4E2D","\u6700\u65B0","\u7ECF\u5178","\u70ED\u95E8","\u83B7\u5956","\u53E3\u7891","\u597D\u8BC4","\u9AD8\u5206","\u8C46\u74E3\u9AD8\u5206","IMDb\u9AD8\u5206","\u672A\u5206\u7EA7","\u9650\u5236\u7EA7","\u5BFC\u6F14\u526A\u8F91","\u52A0\u957F","\u7279\u522B\u52A0\u957F","\u7EC8\u6781\u526A\u8F91","\u6536\u85CF","\u8C6A\u534E","\u7EAA\u5FF5","\u9650\u5B9A","\u91CD\u6620","\u4FEE\u590D","\u6570\u7801\u4FEE\u590D","\u91CD\u5236","\u84DD\u5149\u4FEE\u590D","\u91CD\u5236\u9AD8\u6E05","\u9AD8\u6E05\u91CD\u5236","\u91CD\u7F16","\u91CD\u526A","\u914D\u97F3","\u8BD1\u5236","\u539F\u58F0","\u53CC\u8BED","\u591A\u8BED","\u591A\u58F0\u9053","\u73AF\u7ED5\u58F0","\u5168\u666F\u58F0","3D","VR","\u5168\u666F","360\u5EA6","8K","\u539F\u753B","\u65E0\u635F","\u6709\u635F","\u538B\u7F29","\u672A\u538B\u7F29","\u9AD8\u7801\u7387","\u4F4E\u7801\u7387","\u91CD\u7F16\u7801","\u591A\u5B57\u5E55","\u591A\u97F3\u8F68","\u53CC\u97F3\u8F68","\u591A\u7248\u672C","\u5408\u96C6","\u5957\u88C5","\u7CFB\u5217","\u5B8C\u7ED3\u7248","\u6700\u7EC8\u5B63","\u6700\u7EC8\u7AE0","\u7EC8\u7AE0","\u5927\u7ED3\u5C40","\u7279\u522B\u7BC7","\u756A\u5916\u7BC7","OVA","OAD","SP","\u5267\u573A\u7248","\u7535\u5F71\u7248","\u5F71\u7248","\u5267\u7248","\u52A8\u753B\u7248","\u771F\u4EBA\u7248","\u6539\u7F16\u7248","\u539F\u521B","\u884D\u751F","\u756A\u5916","\u7EED\u96C6","\u524D\u4F20","\u540E\u4F20","\u91CD\u542F","\u7FFB\u62CD","\u91CD\u62CD","\u81F4\u656C","\u7EAA\u5FF5","\u732E\u793C","\u8D3A\u5C81","\u6691\u671F\u6863","\u56FD\u5E86\u6863","\u8D3A\u5C81\u6863","\u6625\u8282\u6863","\u60C5\u4EBA\u8282\u6863","\u4E2D\u79CB\u6863","\u6863\u671F","\u4E0A\u6620","\u5B9A\u6863","\u9996\u6620","\u516C\u6620","\u4E0A\u6620\u65F6\u95F4","\u4E0A\u6620\u65E5\u671F","\u7968\u623F","\u7968\u623F\u51A0\u519B","\u7968\u623F\u699C","\u53E3\u7891\u699C","\u8BC4\u5206\u699C","\u6392\u884C\u699C","\u699C\u5355","\u699C\u5355\u7B2C\u4E00","\u70ED\u95E8\u699C","\u70ED\u641C","\u70ED\u8BAE","\u8BDD\u9898","\u70ED\u8BAE\u8BDD\u9898","\u70ED\u95E8\u8BDD\u9898","\u8BA8\u8BBA\u5EA6","\u5173\u6CE8\u5EA6","\u70ED\u5EA6","\u70ED\u5EA6\u699C","\u70ED\u95E8\u63A8\u8350","\u7CBE\u9009","\u529B\u8350","\u5F3A\u70C8\u63A8\u8350","\u5FC5\u770B","\u4E0D\u53EF\u9519\u8FC7","\u7ECF\u5178\u4E4B\u4F5C","\u795E\u4F5C","\u4F73\u4F5C","\u9AD8\u5206\u4F73\u4F5C","\u9AD8\u5206\u795E\u4F5C","\u70C2\u7247","\u5DEE\u8BC4","\u4F4E\u5206","\u53E3\u7891\u7206\u68DA","\u53E3\u7891\u6251\u8857","\u53E3\u7891\u4E24\u6781","\u53E3\u7891\u5206\u5316","\u4E89\u8BAE","\u70ED\u8BAE\u4E0D\u65AD","\u5907\u53D7\u5173\u6CE8","\u4E07\u4F17\u671F\u5F85","\u671F\u5F85\u5DF2\u4E45","\u4E07\u4F17\u77A9\u76EE","\u5E74\u5EA6\u6700\u4F73","\u5E74\u5EA6\u6700\u5DEE","\u5E74\u5EA6\u4E4B\u4F5C","\u5E74\u5EA6\u9ED1\u9A6C","\u5E74\u5EA6\u60CA\u559C","\u5E74\u5EA6\u5931\u671B","\u538B\u8F74\u4E4B\u4F5C","\u6536\u5B98\u4E4B\u4F5C","\u6536\u5B98","\u6536\u5B98\u5B63","\u6536\u5B98\u6218","\u5927\u7ED3\u5C40\u524D\u7BC7","\u5927\u7ED3\u5C40\u540E\u7BC7","\u6700\u7EC8\u56DE","\u6700\u7EC8\u8BDD","\u6700\u7EC8\u7AE0\u524D\u7BC7","\u6700\u7EC8\u7AE0\u540E\u7BC7"],CCr=[...Dce,...ICr],olt=new RegExp(CCr.join("|"),"ig"),TCr=new RegExp(Dce.join("|"),"ig");function sA(t){if(!t||!t.trim())return"";let e=t.trim();e=e.replace(/丨/g,""),e=e.replace(/-/g," "),e=e.replace(TCr,""),e=e.replace(/\s+/g," ").trim();let r=e.match(/^[\u4e00-\u9fa5]+\d+(?=:|\s|$)/);if(r)return r[0];let n=e.match(/^[\u4e00-\u9fa5]+[\u4e00-\u9fa50-9]+\s*(?=\(\d{4}\))/);if(n)return n[0];let s=e.match(/^[\u4e00-\u9fa5]+[\u4e00-\u9fa5 ,.,。ã€]+\s*(?=\(|ã€|\s+\d{4})/),i=s?s[0].trim():"",a=!1,o=e.match(/《(.+?)》/);if(o)e=o[1],a=!0;else{let l=new RegExp(`\u3010((?!${Dce.join("|")})[\u4E00-\u9FA5]{2,}[^/]+?)\u3011`,"i"),d=e.match(l);d&&(e=d[1],a=!0)}!a&&i&&(e=i);let c=[[/.*-/g,""],[/\b\d{4}\b/g,""],[/(?<!^)\[.*?\]|\{.*?\}|(.*?)|「.*?ã€/g," "],[/\b\d+(\.\d+)?[GMK]B?\b/gi,""],[olt,""],[/豆瓣\d+(\.\d+)?/g,""],[/\b\d+(?=fps|帧)/g,""],[/\b[a-zA-Z]\b/g,""],[/(?<![\u4e00-\u9fa5])\b\d+\b(?![\u4e00-\u9fa5])/g,""],[/[^a-zA-Z0-9\u4e00-\u9fa5 ]/g,""],[/\s+/g," "]];for(let l of c)e=e.replace(l[0],l[1]);e=e.trim(),e.includes(" ")&&(e=e.substring(0,e.indexOf(" "))),!a&&i&&(e=e.replace(/\s/g,""));let u=t.match(/([\u4e00-\u9fa5]{2,})\s*$/);if(u){let l=u[1];(e.length<2||/\d+集/.test(e))&&(e=l)}if(!e){let l=t.match(/\[(.*?)\]/);l&&(e=l[1].trim(),e=e.replace(olt,"").replace(/\d+/g,"").replace(/\s+/g," ").trim())}return e.trim()}function Bce(t){if(!t)return"";let e=t.match(/(?:^|[^a-zA-Z0-9])(S|Season)\s*(\d+)/i);if(e&&(e[1].toLowerCase()==="s"||e[1].toLowerCase()==="season"))return e[2].padStart(2,"0");let r=t.match(/第\s*([一二三四五å…七八ä¹å百åƒä¸‡äº¿\d]+)\s*å£/);return r?Yf(r[1]).padStart(2,"0"):""}var clt={\u96F6:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9},ult={\u5341:10,\u767E:100,\u5343:1e3,\u4E07:1e4,\u4EBF:1e8};function llt(t){if(!t)return-1;let e=0,r=0,n=0,s=!1;for(let i=0;i<t.length;i++){let a=t[i];if(clt.hasOwnProperty(a))n=clt[a];else if(ult.hasOwnProperty(a)){let o=ult[a];o===10?(n===0&&(n=1),r+=n*o,n=0):o===1e4||o===1e8?(r+=n,e+=r*o,r=0,n=0,s=!0):(r+=(n||1)*o,n=0)}else return-1}return s||(e+=r),e+=n,t.startsWith("\u5341")&&e<20&&(e=10+e%10),e}function Yf(t){return t&&t.replace(/([零一二三四五å…七八ä¹å百åƒä¸‡äº¿]+)|(\d+)/g,(e,r,n)=>{if(r){let s=llt(r);return s!==-1?String(s):e}else if(n)return String(parseInt(n,10));return e})}function wCr(t){let e=t;return e=e.replace(/[(()[\]ã€ã€‘{}]\s*([上ä¸ä¸‹])\s*[)()[\]ã€ã€‘{}]/g,"$1"),e=e.replace(/(\[|\{|\(|ã€).*?(\]|\}|)|】)/g," "),e=e.replace(/\d+\s*(fps|帧|frames?|hz|赫兹)/gi," "),e=e.replace(/\b(\d+(p|k|i)|4k|8k|uhd|hd|fhd|qhd|2160p|1440p|1080p|720p|480p|360p)\b/gi," "),e=e.replace(/\b(19|20)\d{2}\b/g," "),e=e.replace(/\b(?:dts|ddp|aac|ac3|eac3|truehd|atmos)\d+(?:\.\d+)?\b|\b\d+\.\d+\b/gi," "),e=e.replace(/\b(8bit|10bit|12bit)\b/gi," "),e=e.replace(/\b(hdr|hdr10|hdr10\+|dolby vision|dv|hlg)\b/gi," "),e=e.replace(/\b(x264|x265|h\.264|h\.265|h264|h265|hevc|mpeg4|av1|vp9)\b/gi," "),e=e.replace(/\b(web-dl|bluray|bdrip|hdrip|dvdrip|brrip|hdtv|dvdr|cam|ts|tc|r5|scr)\b/gi," "),e=e.replace(/\b(hq|sd|hd|fhd|uhd|imax|superbit|remux|extended|uncut|directors cut|dc|special edition|se)\b/gi," "),e=e.replace(/\b(高ç |高ç 率|高ç 版|超清|高清|æ ‡æ¸…|æ— æ°´å°|完整版|æœªåˆ å‡|åŠ é•¿ç‰ˆ|导演剪辑版|特效å—幕|内嵌å—幕|åŒè¯å—幕|䏿–‡å—幕|英文å—幕|ç¹ä½“å—幕|简体å—幕|多音轨|æœæ¯”音效|全景声|hdr)\b/gi," "),e=e.replace(/[\-\_.,()]+/g," "),e.replace(/\s+/g," ").trim()}function RCr(t){let e=t.replace(/(\[|\{|\(|ã€).*?(\]|\}|)|】)/g," ");if(/s\d+e\d+/i.test(e))return"-1";let r=e.match(/[\u4e00-\u9fa5\-\_\.\s]+(0*\d{1,8})(?:[\-\_\.\s]|$)/);if(r){let n=r[1],s=parseInt(n,10);if(s>0&&!(s>=1900&&s<=2100))return Yf(n)}if(r=e.trim().match(/^0*\d{1,8}$/),r){let n=r[0],s=parseInt(n,10);if(s>0&&!(s>=1900&&s<=2100))return Yf(n)}return"-1"}function NCr(t){let e="\u671F|\u5B63",r="\u4E0A\u4E2D\u4E0B",n="\u96C6\u8A71\u8BDD",s=new RegExp(`(\u7B2C?)(0*(d{1,8}|[\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u767E\u5343\u4E07\u4EBF]+))((?:${e})[${r}]?[\uFF08(]?[${r}]?[)\uFF09]?)`),i=t.match(s);if(i){let o=i[1],c=i[2],u=i[4].replace(/[(())]/g,"");return c=Yf(c),o+c+u}let a=Array.from(t.matchAll(/(?:s\d+.*?e|e)(\d{1,8})(?!\d)/gi));if(a.length>0)return Yf(a[a.length-1][1]);if(s=new RegExp(`\u7B2C([\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u767E\u5343\u4E07\u4EBF]+)[${n}]`),i=t.match(s),i){let o=llt(i[1]);return o>0?String(o):"-1"}return s=new RegExp(`\u7B2C(d{1,8})[${n}]`),i=t.match(s),i||(i=t.match(/ep(\d{1,8})/i),i)||(s=new RegExp(`(d{1,8})[${n}]`),i=t.match(s),i)?Yf(i[1]):"-1"}function OCr(t){let e="a-zA-Z\xC0-\u017F",r=new RegExp(`(?<![${e}d])0*(\\d{1,8})(?![${e}d])`,"gu"),n=t.match(r);if(n)for(let s of n){let i=parseInt(s,10);if(!(i>=1900&&i<=2100))return Yf(s)}return"-1"}function Vw(t){if(!t)return"-1";let e=t,r=e.lastIndexOf(".");r>0&&(e=e.substring(0,r));let n=wCr(e),s=NCr(n);if(s!=="-1")return s;let i=RCr(e);return i!=="-1"?i:OCr(n)}var Lce=async t=>(await t.db.getObjectDefault("/t4",{}))?.list||t.config.t4?.list||[],PCr=async(t,e)=>{await t.db.push("/t4/list",e)},kCr=async t=>{await t.db.delete("/t4/list")};async function Mce(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Lce(e.server)})}),t.put("/list",async(e,r)=>{await PCr(e.server,e.body),r.send({code:0})}),t.delete("/list",async(e,r)=>{await kCr(e.server),r.send({code:0})})}function Wce(t,e){let r=Ae.create({baseURL:e});function n(){return{}}async function s(){try{let{data:u}=await r.get("",{params:{filter:!0}});return u}catch(u){return console.warn(u),{class:[]}}}async function i(u){try{let{data:l}=await r.get("",{params:{ac:"detail",t:u.body.id,pg:u.body.page||1}});return l}catch(l){console.warn(l)}}async function a(u){try{let{data:l}=await r.get("",{params:{ac:"detail",ids:u.body.id}});return l}catch(l){console.warn(l)}}async function o(u){try{let{data:l}=await r.get("",{params:{play:u.body.id,flag:u.body.flag}});return!l.url&&!l.urls&&u.body.id.startsWith("http")?{url:u.body.id}:l}catch(l){console.warn(l)}}async function c(u){try{let{data:l}=await r.get("",{params:{ac:"list",wd:u.body.wd}});return l}catch(l){console.warn(l)}}return{meta:{key:t,name:t,type:3,t4:!0},api:async u=>{u.post("/init",n),u.post("/home",s),u.post("/category",i),u.post("/detail",a),u.post("/play",o),u.post("/search",c)}}}var DCr=["/api.php/provide/vod/","/api.php/provide/vod","/api.php/app/","/api.php/app"],SM="\u300C\u91C7\u300D",BCr=[{name:`${SM}\u7535\u5F71\u5929\u5802`,address:"http://dyttzyw.com/api.php/provide/vod/"}];function Fce(t,e="https"){let r=String(t||"").trim();return r?/^https?:\/\//i.test(r)?r:`${e}://${r}`:""}function Uce(t){try{return new URL(t)}catch{return null}}function LCr(t=""){let e=String(t||"").toLowerCase();return e==="localhost"||e.includes(".")||e.includes(":")||/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)}function MCr(t){for(let e of["ac","wd","t","pg","ids","quick"])t.searchParams.delete(e);return t.hash="",t}function flt(t){let e=String(t||"").trim(),r=/^https?:\/\//i.test(e),n=Uce(Fce(e));return!n||!["http:","https:"].includes(n.protocol)||!r&&!LCr(n.hostname)?"":(MCr(n),n.toString())}function WCr(t={},e=""){let r=String(t.name||t.title||e||"").trim();return r||Uce(Fce(t.address||t.api||t.url||""))?.hostname||"CMS"}function $Cr(t){let e=String(t||"").trim();return e?e.startsWith(SM)?e:`${SM}${e}`:`${SM}CMS`}function qce(t,e=""){if(!t||typeof t!="object")return null;let r=String(t.address||t.api||t.url||"").trim(),n=flt(r);return n?{name:$Cr(WCr({...t,address:n},e)),address:n}:null}function plt(t){if(typeof t=="string")try{return plt(JSON.parse(t))}catch{return[]}return Array.isArray(t)?t:!t||typeof t!="object"?[]:Array.isArray(t.sites)?t.sites:Array.isArray(t.list)?t.list:t.api_site&&typeof t.api_site=="object"?Object.entries(t.api_site).map(([e,r])=>({...r,key:e})):[]}function FCr(t){let e=new Set;return plt(t).map(r=>qce(r,r?.key)).filter(r=>!r||e.has(r.address)?!1:(e.add(r.address),!0))}function UCr(t){let e=String(t||"").trim(),r=[],n=s=>{let i=flt(s);i&&!r.includes(i)&&r.push(i)};for(let s of["https","http"]){let i=Uce(Fce(e,s));if(!i)continue;if(n(i.toString()),!i.pathname||i.pathname==="/")for(let o of DCr)n(`${i.origin}${o}`)}return r}async function dlt(t,e=void 0){let r=await he.get(t,{params:e,timeout:1e4,validateStatus:n=>n>=200&&n<400});if(typeof r.data=="string")try{return JSON.parse(r.data)}catch{return r.data}return r.data}function qCr(t){return!!t&&typeof t=="object"&&Array.isArray(t.class)}async function jCr(t,e=""){let r=String(t||"").trim();if(!r)throw new Error("\u8BF7\u8F93\u5165 CMS \u5730\u5740");let n=UCr(r);for(let s of n)try{let i=await dlt(s),a=FCr(i);if(a.length>0)return{type:"config",sources:a}}catch{}for(let s of n)try{let i=await dlt(s,{ac:"class"});if(qCr(i))return{type:"cms",sources:[qce({name:e,address:s})].filter(Boolean)}}catch{}throw new Error("\u672A\u8BC6\u522B\u5230\u53EF\u7528\u7684 CMS \u6E90")}function $ce(t=[]){let e=new Set;return(Array.isArray(t)?t:[]).map(r=>qce(r)).filter(r=>!r||e.has(r.address)?!1:(e.add(r.address),!0))}var jce=async t=>{let e=await t.db.getObjectDefault("/cms",{});if(e&&Object.prototype.hasOwnProperty.call(e,"list"))return $ce(e.list);let r=Array.isArray(t.config.cms?.list)?t.config.cms.list:[];return $ce(r.length>0?r:BCr)},HCr=async(t,e)=>{await t.db.push("/cms/list",$ce(e))},QCr=async t=>{await t.db.delete("/cms/list")};async function Hce(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await jce(e.server)})}),t.put("/list",async(e,r)=>{await HCr(e.server,e.body),r.send({code:0})}),t.post("/resolve",async(e,r)=>{try{r.send({code:0,data:await jCr(e.body?.url,e.body?.name)})}catch(n){r.send({code:-1,message:n.message||"CMS \u89E3\u6790\u5931\u8D25"})}}),t.delete("/list",async(e,r)=>{await QCr(e.server),r.send({code:0})})}var GCr=/\.(m3u8|mp4|mkv|flv|avi|webm|mov)(?:[?#]|$)/i,Qce="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0 Safari/537.36";function KCr(t=""){return/^https?:\/\//i.test(String(t||"").trim())}function VCr(t=""){return GCr.test(String(t||"").trim())}function zCr(t="",e=""){try{return new URL(String(t||"").trim(),e).toString()}catch{return String(t||"").trim()}}function YCr(t=""){let e=[/["']([^"']+\.m3u8(?:\?[^"']*)?)["']/i,/(https?:\/\/[^\s"'<>]+\.m3u8(?:\?[^\s"'<>]*)?)/i];for(let r of e){let n=r.exec(String(t||""));if(n?.[1])return n[1].replace(/\\\//g,"/")}return""}function Gce(t,e){let r=he.create({baseURL:e});function n(){return{}}async function s(){try{let{data:u}=await r.get("",{params:{ac:"class"}});return u}catch(u){return console.warn(u),{class:[]}}}async function i(u){try{let{data:l}=await r.get("",{params:{ac:"detail",t:u.body.id,pg:u.body.page||1}});return l}catch(l){console.warn(l)}}async function a(u){try{let{data:l}=await r.get("",{params:{ac:"detail",ids:u.body.id}});return l}catch(l){console.warn(l)}}async function o(u){let l=String(u.body.id||"").trim();if(!l)return{url:""};if(!KCr(l)||VCr(l))return{parse:0,url:l};try{let{data:d}=await he.get(l,{timeout:1e4,headers:{"User-Agent":Qce,Referer:l}}),f=YCr(d);if(f)return{parse:0,url:zCr(f,l),header:{Referer:l,"User-Agent":Qce}}}catch(d){console.warn(d)}return{parse:1,url:l,header:{Referer:l,"User-Agent":Qce}}}async function c(u){try{let{data:l}=await r.get("",{params:{ac:"list",wd:u.body.wd}});return l}catch(l){console.warn(l)}}return{meta:{key:t,name:t,type:3,cms:!0},api:async u=>{u.post("/init",n),u.post("/home",s),u.post("/category",i),u.post("/detail",a),u.post("/play",o),u.post("/search",c)}}}var iA={HOME:0,CATEGORY:0,SEARCH:0,DETAIL:12e4,PLAY:3e4,SPIDERS:0},Kce=class{constructor(e=800){this.max=Math.max(100,Number(e)||800),this.data=new Map,this.pending=new Map}get(e){if(!this.data.has(e))return;let r=this.data.get(e);if(r.expireAt>0&&r.expireAt<=Date.now()){this.data.delete(e);return}return this.data.delete(e),this.data.set(e,r),r.value}set(e,r,n=0){let s=n>0?Date.now()+n:0;return this.data.has(e)&&this.data.delete(e),this.data.set(e,{value:r,expireAt:s}),this.compact(),r}delete(e){this.pending.delete(e),this.data.delete(e)}clear(){this.pending.clear(),this.data.clear()}compact(){for(;this.data.size>this.max;){let e=this.data.keys().next().value;this.data.delete(e)}}async wrap(e,r,n){let s=this.get(e);if(s!==void 0)return s;if(this.pending.has(e))return this.pending.get(e);let i=(async()=>{try{let a=await n();return a!==void 0&&this.set(e,a,r),a}finally{this.pending.delete(e)}})();return this.pending.set(e,i),i}};function vM(t={}){return new Kce(t.max||800)}async function Jf(t,e,r,n){return!t||typeof t.wrap!="function"||Number(r)<=0?n():t.wrap(e,r,n)}function im(t=[]){return t.map(e=>String(e)).join(":")}function JCr(t){let e=String(t||"").trim().replace(/\/+$/,""),r=e.match(/^\/spider\/([^/]+)\/(\d+)(?:\/.*)?$/);return r?{apiBase:e,spiderKey:decodeURIComponent(r[1]),spiderType:Number(r[2])}:null}function Vce(t){return String(t||"").split(",")[0].trim()}function IM(t=null){let r=Vce(t?.headers?.["x-forwarded-host"])||Vce(t?.headers?.host);if(!r)return{headers:void 0,cacheVary:"-"};let s=Vce(t?.headers?.["x-forwarded-proto"])||String(t?.protocol||"http").trim()||"http";return{headers:{host:r,"x-forwarded-host":r,"x-forwarded-proto":s},cacheVary:`${s}://${r}`}}function XCr(t=[],e=[]){let r={};if(t.forEach(i=>{r[i.key]=i}),!Array.isArray(e)||!e.length)return t;let n={},s=[];return e.forEach(i=>{n[i.key]=!0;let a=r[i.key];if(!a||!i.enable)return;let o=typeof i.name=="string"?i.name.trim():"";s.push({...a,name:o||a.name})}),t.forEach(i=>{n[i.key]||s.push(i)}),s}async function Jl(t){let e=t.embyContext?.cache;return Jf(e,"emby:enabled-video-spiders:v2",iA.SPIDERS,async()=>{let r=await t.inject({method:"GET",url:"/full-config"});if(r.statusCode>=400)return[];let n=r.json(),s=Array.isArray(n?.video?.sites)?n.video.sites:[],i=await Kw(t).catch(()=>[]),a=XCr(s,i),o={},c=[];return a.forEach(u=>{let l=JCr(u.api);if(!l||l.spiderType!==3)return;let d=`${u.key}:${l.apiBase}`;o[d]||(o[d]=!0,c.push({siteKey:u.key,siteName:u.name||l.spiderKey,spiderKey:l.spiderKey,spiderType:l.spiderType,apiBase:l.apiBase,api:u.api}))}),c})}function aA(t=[],e,r=null,n=""){let s=r===null?null:Number(r),i=String(n||"").trim();return t.find(a=>a.spiderKey!==e?!1:s===null?!0:i&&a.apiBase!==i?!1:Number(a.spiderType)===s)||null}async function oA(t,e,r,n,s={},i={}){let a=i?.headers&&typeof i.headers=="object"?i.headers:void 0,o=String(i?.apiBase||"").trim()||`/spider/${encodeURIComponent(e)}/${r}`,c=await t.inject({method:"POST",url:`${o.replace(/\/+$/,"")}/${n}`,payload:s,headers:a});if(c.statusCode>=400)throw new Error(`Spider call failed: ${e}/${r}/${n} ${c.statusCode}`);let u=t.embyContext?.config?.requestLog;try{let l=c.json();if(u&&(n==="detail"||n==="play")){if(n==="detail"){let d=Array.isArray(l?.list)&&l.list.length>0?l.list[0]:null,f=String(d?.vod_play_from||""),p=String(d?.vod_play_url||""),m=f?f.split("$$$").filter(Boolean).length:0,h=p?p.split("$$$").map(A=>String(A||"").split("#").filter(Boolean).length):[];console.log("[Emby Spider] detail:",JSON.stringify({spiderKey:e,spiderType:r,request:{id:String(s?.id||"")},response:{listCount:Array.isArray(l?.list)?l.list.length:0,vodId:String(d?.vod_id||""),vodName:String(d?.vod_name||""),vodRemarks:String(d?.vod_remarks||""),lineCount:m,episodeCountPerLine:h.slice(0,10)}}))}else if(n==="play"){let d=l?.header&&typeof l.header=="object"?Object.keys(l.header):[];console.log("[Emby Spider] play:",JSON.stringify({spiderKey:e,spiderType:r,request:{flag:String(s?.flag||""),idPreview:String(s?.id||"").slice(0,80)},response:{parse:Number(l?.parse||0),hasUrl:!!l?.url,urlPreview:String(l?.url||"").slice(0,120),headerKeys:d}}))}}return l}catch{return{}}}async function zw(t,e,r=null){let n=t.embyContext?.cache,s=IM(r),i=im(["emby","home",e.spiderKey,e.spiderType,e.apiBase||"",s.cacheVary]);return Jf(n,i,iA.HOME,()=>oA(t,e.spiderKey,e.spiderType,"home",{},{headers:s.headers,apiBase:e.apiBase}))}async function RE(t,e,r,n=1,s={},i=null){let a=t.embyContext?.cache,o=IM(i),c=im(["emby","category",e.spiderKey,e.spiderType,e.apiBase||"",r,n,JSON.stringify(s||{}),o.cacheVary]);return Jf(a,c,iA.CATEGORY,()=>oA(t,e.spiderKey,e.spiderType,"category",{id:r,page:n,filter:!0,filters:s||{}},{headers:o.headers,apiBase:e.apiBase}))}async function Pc(t,e,r,n=null){let s=t.embyContext?.cache,i=IM(n),a=im(["emby","detail",e.spiderKey,e.spiderType,e.apiBase||"",r,i.cacheVary]);return Jf(s,a,iA.DETAIL,()=>oA(t,e.spiderKey,e.spiderType,"detail",{id:r},{headers:i.headers,apiBase:e.apiBase}))}async function mlt(t,e,r,n=1){let s=t.embyContext?.cache,i=im(["emby","search",e.spiderKey,e.spiderType,e.apiBase||"",r,n]);return Jf(s,i,iA.SEARCH,()=>oA(t,e.spiderKey,e.spiderType,"search",{wd:r,page:n},{apiBase:e.apiBase}))}async function am(t,e,r,n,s=null){let i=t.embyContext?.cache,a=IM(s),o=im(["emby","play",e.spiderKey,e.spiderType,e.apiBase||"",r,n,a.cacheVary]);return Jf(i,o,iA.PLAY,()=>oA(t,e.spiderKey,e.spiderType,"play",{flag:r,id:n},{headers:a.headers,apiBase:e.apiBase}))}function kc(t){return!t||!Array.isArray(t.list)||!t.list.length?null:t.list[0]}function Xl(t={}){return{spiderKey:String(t.k||t.spiderKey||""),spiderType:Number(t.t||t.spiderType||3),apiBase:String(t.a||t.apiBase||"")}}var zce=Re(require("node:fs"),1),Yw=Re(require("node:path"),1),ZCr=()=>{try{return`const appConfig = {\r
|
|
_webSite: '',\r
|
|
/**\r
|
|
* \u7F51\u7AD9\u4E3B\u9875\uFF0Cuz \u8C03\u7528\u6BCF\u4E2A\u51FD\u6570\u524D\u90FD\u4F1A\u8FDB\u884C\u8D4B\u503C\u64CD\u4F5C\r
|
|
* \u5982\u679C\u4E0D\u60F3\u88AB\u6539\u53D8 \u8BF7\u81EA\u5B9A\u4E49\u4E00\u4E2A\u53D8\u91CF\r
|
|
*/\r
|
|
get webSite() {\r
|
|
return this._webSite\r
|
|
},\r
|
|
set webSite(value) {\r
|
|
this._webSite = value\r
|
|
},\r
|
|
\r
|
|
_uzTag: '',\r
|
|
/**\r
|
|
* \u6269\u5C55\u6807\u8BC6\uFF0C\u521D\u6B21\u52A0\u8F7D\u65F6\uFF0Cuz \u4F1A\u81EA\u52A8\u8D4B\u503C\uFF0C\u8BF7\u52FF\u4FEE\u6539\r
|
|
* \u7528\u4E8E\u8BFB\u53D6\u73AF\u5883\u53D8\u91CF\r
|
|
*/\r
|
|
get uzTag() {\r
|
|
return this._uzTag\r
|
|
},\r
|
|
set uzTag(value) {\r
|
|
this._uzTag = value\r
|
|
},\r
|
|
}\r
|
|
\r
|
|
// \u7F13\u5B58\u7B5B\u9009\u6570\u636E\r
|
|
let cachedFilters = {}\r
|
|
// \u7F13\u5B58\u63A8\u8350\u5217\u8868\r
|
|
let cachedHomeList = []\r
|
|
\r
|
|
const encodeBase64Utf8 = (text) => {\r
|
|
if (typeof Buffer !== 'undefined') {\r
|
|
return Buffer.from(text, 'utf-8').toString('base64')\r
|
|
}\r
|
|
\r
|
|
if (typeof btoa !== 'undefined') {\r
|
|
const binary = encodeURIComponent(text).replace(/%([0-9A-F]{2})/g, (_match, hex) => {\r
|
|
return String.fromCharCode(parseInt(hex, 16))\r
|
|
})\r
|
|
return btoa(binary)\r
|
|
}\r
|
|
\r
|
|
return text\r
|
|
}\r
|
|
\r
|
|
const isDoubanSource = () => {\r
|
|
const webSite = String(appConfig.webSite || '').toLowerCase()\r
|
|
return webSite.indexOf('/video/douban') !== -1 || webSite.indexOf('/api/douban') !== -1\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u8F6C\u6362\u56FE\u7247URL\u683C\u5F0F\r
|
|
* \u4ECE @Referer=...@User-Agent=... \u683C\u5F0F\u8F6C\u6362\u4E3A #headers#{...} JSON\u683C\u5F0F\r
|
|
* @param {string} url - \u539F\u59CB\u56FE\u7247URL\r
|
|
* @returns {string} - \u8F6C\u6362\u540E\u7684URL\r
|
|
*/\r
|
|
const convertImageUrl = (url) => {\r
|
|
if (!url || typeof url !== 'string') return url\r
|
|
\r
|
|
// \u5DF2\u7ECF\u662F\u6B63\u786E\u683C\u5F0F\uFF0C\u76F4\u63A5\u8FD4\u56DE\r
|
|
if (url.indexOf('#headers#') !== -1) {\r
|
|
return url\r
|
|
}\r
|
|
\r
|
|
// \u5904\u7406\u8C46\u74E3\u56FE\u7247\r
|
|
if (url.indexOf('doubanio.com') !== -1) {\r
|
|
// \u5148\u53BB\u9664\u65E7\u7684 @Referer=...@User-Agent=... \u683C\u5F0F\r
|
|
const baseUrl = url.split('@')[0].replace(/^http:/, 'https:')\r
|
|
const headers = {\r
|
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36',\r
|
|
'Referer': 'https://movie.douban.com/'\r
|
|
}\r
|
|
return baseUrl + '#headers#' + JSON.stringify(headers)\r
|
|
}\r
|
|
\r
|
|
// \u68C0\u67E5\u662F\u5426\u5305\u542B @Referer= \u548C @User-Agent=\r
|
|
if (url.indexOf('@Referer=') === -1 && url.indexOf('@User-Agent=') === -1) {\r
|
|
return url\r
|
|
}\r
|
|
\r
|
|
try {\r
|
|
// \u5206\u5272URL\u548Cheaders\u90E8\u5206\r
|
|
const parts = url.split('@')\r
|
|
const baseUrl = parts[0]\r
|
|
const headers = {}\r
|
|
\r
|
|
// \u89E3\u6790headers\r
|
|
for (let i = 1; i < parts.length; i++) {\r
|
|
const part = parts[i]\r
|
|
const equalIndex = part.indexOf('=')\r
|
|
if (equalIndex !== -1) {\r
|
|
const key = part.substring(0, equalIndex)\r
|
|
const value = part.substring(equalIndex + 1)\r
|
|
headers[key] = value\r
|
|
}\r
|
|
}\r
|
|
\r
|
|
// \u5982\u679C\u6709headers\uFF0C\u8F6C\u6362\u4E3AJSON\u683C\u5F0F\r
|
|
if (Object.keys(headers).length > 0) {\r
|
|
return baseUrl + '#headers#' + JSON.stringify(headers)\r
|
|
}\r
|
|
\r
|
|
return baseUrl\r
|
|
} catch (error) {\r
|
|
// \u5982\u679C\u89E3\u6790\u5931\u8D25\uFF0C\u8FD4\u56DE\u539F\u59CBURL\r
|
|
return url\r
|
|
}\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u5904\u7406\u89C6\u9891\u6570\u636E\uFF0C\u8F6C\u6362\u56FE\u7247URL\u683C\u5F0F\r
|
|
* @param {Array|Object} data - \u89C6\u9891\u6570\u636E\r
|
|
* @returns {Array|Object} - \u5904\u7406\u540E\u7684\u6570\u636E\r
|
|
*/\r
|
|
const processVideoData = (data) => {\r
|
|
if (!data) return data\r
|
|
\r
|
|
if (Array.isArray(data)) {\r
|
|
return data.map(item => processVideoData(item))\r
|
|
}\r
|
|
\r
|
|
if (typeof data === 'object') {\r
|
|
const processed = { ...data }\r
|
|
if (processed.vod_pic) {\r
|
|
processed.vod_pic = convertImageUrl(processed.vod_pic)\r
|
|
}\r
|
|
// \u8C46\u74E3\u6E90\u8DF3\u8F6C\u641C\u7D22\u800C\u4E0D\u662F\u8FDB\u5165\u8BE6\u60C5\r
|
|
if (isDoubanSource()) {\r
|
|
processed.goSearch = true\r
|
|
}\r
|
|
return processed\r
|
|
}\r
|
|
\r
|
|
return data\r
|
|
}\r
|
|
\r
|
|
const fetch = async (params) => {\r
|
|
let p = ''\r
|
|
if (params) {\r
|
|
const tmp = []\r
|
|
for (let key in params) {\r
|
|
tmp.push(\`\${key}=\${encodeURIComponent(params[key])}\`)\r
|
|
}\r
|
|
p = \`&\${tmp.join('&')}\`\r
|
|
}\r
|
|
const res = await req(\`\${appConfig.webSite}\${p}\`)\r
|
|
return res.data\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u5F02\u6B65\u83B7\u53D6\u5206\u7C7B\u5217\u8868\u7684\u65B9\u6CD5\u3002\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoClassList())>}\r
|
|
*/\r
|
|
async function getClassList(args) {\r
|
|
var backData = new RepVideoClassList()\r
|
|
try {\r
|
|
const ret = await fetch()\r
|
|
\r
|
|
// \u7F13\u5B58\u7B5B\u9009\u6570\u636E\r
|
|
if (ret.filters) {\r
|
|
cachedFilters = ret.filters\r
|
|
}\r
|
|
\r
|
|
// \u7F13\u5B58\u63A8\u8350\u5217\u8868\r
|
|
if (ret.list && Array.isArray(ret.list)) {\r
|
|
cachedHomeList = ret.list\r
|
|
}\r
|
|
\r
|
|
// \u5904\u7406\u5206\u7C7B\u5217\u8868\uFF0C\u6807\u8BB0\u54EA\u4E9B\u6709\u7B5B\u9009\r
|
|
if (ret.class && Array.isArray(ret.class)) {\r
|
|
const classList = ret.class.map(item => {\r
|
|
const hasFilter = ret.filters && ret.filters[item.type_id] && ret.filters[item.type_id].length > 0\r
|
|
return {\r
|
|
type_id: item.type_id,\r
|
|
type_name: item.type_name,\r
|
|
hasSubclass: hasFilter\r
|
|
}\r
|
|
})\r
|
|
// \u5728\u524D\u9762\u6DFB\u52A0\u63A8\u8350\u5206\u7C7B\r
|
|
if (cachedHomeList.length > 0) {\r
|
|
classList.unshift({\r
|
|
type_id: 'home_recommend',\r
|
|
type_name: '\u63A8\u8350',\r
|
|
hasSubclass: false\r
|
|
})\r
|
|
}\r
|
|
backData.data = classList\r
|
|
} else {\r
|
|
backData.data = ret.class\r
|
|
}\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u4E8C\u7EA7\u5206\u7C7B\u5217\u8868\u7B5B\u9009\u5217\u8868\u7684\u65B9\u6CD5\u3002\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoSubclassList())>}\r
|
|
*/\r
|
|
async function getSubclassList(args) {\r
|
|
var backData = new RepVideoSubclassList()\r
|
|
try {\r
|
|
const typeId = args.url\r
|
|
\r
|
|
// \u4ECE\u7F13\u5B58\u4E2D\u83B7\u53D6\u8BE5\u5206\u7C7B\u7684\u7B5B\u9009\u6570\u636E\r
|
|
if (cachedFilters && cachedFilters[typeId]) {\r
|
|
const filters = cachedFilters[typeId]\r
|
|
\r
|
|
// \u8F6C\u6362\u7B5B\u9009\u6570\u636E\u683C\u5F0F\r
|
|
// API\u683C\u5F0F: {key: 'year', name: '\u5E74\u4EFD', value: [{n: '\u5168\u90E8', v: 0}, ...]}\r
|
|
// uz\u683C\u5F0F: {name: '\u5E74\u4EFD', list: [{name: '\u5168\u90E8', id: '0', key: 'year'}, ...]}\r
|
|
backData.data.filter = filters.map(filterGroup => {\r
|
|
return {\r
|
|
name: filterGroup.name,\r
|
|
list: filterGroup.value.map(item => {\r
|
|
return {\r
|
|
name: item.n,\r
|
|
id: String(item.v),\r
|
|
key: filterGroup.key\r
|
|
}\r
|
|
})\r
|
|
}\r
|
|
})\r
|
|
}\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u5206\u7C7B\u89C6\u9891\u5217\u8868\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoList())>}\r
|
|
*/\r
|
|
async function getVideoList(args) {\r
|
|
var backData = new RepVideoList()\r
|
|
try {\r
|
|
// \u5982\u679C\u662F\u63A8\u8350\u5206\u7C7B\uFF0C\u8FD4\u56DE\u7F13\u5B58\u7684\u63A8\u8350\u5217\u8868\r
|
|
if (args.url === 'home_recommend') {\r
|
|
// \u63A8\u8350\u53EA\u6709\u7B2C\u4E00\u9875\uFF0C\u907F\u514D\u91CD\u590D\u52A0\u8F7D\r
|
|
if (args.page > 1) {\r
|
|
backData.data = []\r
|
|
} else {\r
|
|
backData.data = processVideoData(cachedHomeList)\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
const ret = await fetch({\r
|
|
ac: 'detail',\r
|
|
t: args.url,\r
|
|
pg: args.page,\r
|
|
})\r
|
|
backData.data = processVideoData(ret.list)\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u4E8C\u7EA7\u5206\u7C7B\u89C6\u9891\u5217\u8868 \u6216 \u7B5B\u9009\u89C6\u9891\u5217\u8868\r
|
|
* @param {UZSubclassVideoListArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoList())>}\r
|
|
*/\r
|
|
async function getSubclassVideoList(args) {\r
|
|
var backData = new RepVideoList()\r
|
|
try {\r
|
|
// \u6784\u5EFA\u57FA\u7840\u8BF7\u6C42\u53C2\u6570\r
|
|
const params = {\r
|
|
ac: 'detail',\r
|
|
t: args.mainClassId,\r
|
|
pg: args.page || 1,\r
|
|
}\r
|
|
\r
|
|
// \u5904\u7406\u7B5B\u9009\u53C2\u6570 - \u53C2\u8003\u74DC\u5B50APP.js\u7684\u5B9E\u73B0\r
|
|
if (args.filter && Array.isArray(args.filter) && args.filter.length > 0) {\r
|
|
// \u6784\u5EFA\u7B5B\u9009\u53C2\u6570\u5BF9\u8C61\r
|
|
const filterObj = {}\r
|
|
args.filter.forEach(filterItem => {\r
|
|
// filterItem \u5305\u542B: {name, id, key}\r
|
|
// key \u662F\u7B5B\u9009\u7C7B\u578B\uFF08\u5982 'year', 'area', 'sort'\uFF09\r
|
|
// id \u662F\u9009\u4E2D\u7684\u503C\r
|
|
if (filterItem.key && filterItem.id) {\r
|
|
filterObj[filterItem.key] = filterItem.id\r
|
|
}\r
|
|
})\r
|
|
\r
|
|
// \u5C06\u7B5B\u9009\u53C2\u6570\u8F6C\u6362\u4E3A base64 \u7F16\u7801\u7684 JSON \u5B57\u7B26\u4E32\r
|
|
// \u4F7F\u7528 UZUtils \u6216\u8005\u539F\u751F\u65B9\u6CD5\u8FDB\u884C base64 \u7F16\u7801\r
|
|
try {\r
|
|
const filterJson = JSON.stringify(filterObj)\r
|
|
params.ext = encodeBase64Utf8(filterJson)\r
|
|
} catch (e) {\r
|
|
// \u7F16\u7801\u5931\u8D25\uFF0C\u5FFD\u7565\u7B5B\u9009\u53C2\u6570\r
|
|
console.error('\u7B5B\u9009\u53C2\u6570\u7F16\u7801\u5931\u8D25:', e)\r
|
|
}\r
|
|
}\r
|
|
\r
|
|
// \u53D1\u8D77\u8BF7\u6C42\r
|
|
const ret = await fetch(params)\r
|
|
backData.data = processVideoData(ret.list)\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u89C6\u9891\u8BE6\u60C5\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoDetail())>}\r
|
|
*/\r
|
|
async function getVideoDetail(args) {\r
|
|
var backData = new RepVideoDetail()\r
|
|
try {\r
|
|
const ret = await fetch({\r
|
|
ac: 'detail',\r
|
|
ids: args.url,\r
|
|
})\r
|
|
if (ret.list && ret.list.length > 0) {\r
|
|
backData.data = processVideoData(ret.list[0])\r
|
|
}\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u89C6\u9891\u7684\u64AD\u653E\u5730\u5740\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoPlayUrl())>}\r
|
|
*/\r
|
|
async function getVideoPlayUrl(args) {\r
|
|
var backData = new RepVideoPlayUrl()\r
|
|
try {\r
|
|
const ret = await fetch({\r
|
|
flag: args.flag,\r
|
|
play: args.url,\r
|
|
})\r
|
|
const flag = args.flag\r
|
|
\r
|
|
if (ret.jx === 1 || ret.parse === 1) {\r
|
|
// \u5F53\u9700\u8981\u89E3\u6790\u65F6\uFF0C\u4F7F\u7528\u55C5\u63A2\u6A21\u5F0F\r
|
|
backData.sniffer = {\r
|
|
url: ret.url || args.url,\r
|
|
ua: ret.header?.['User-Agent'] || 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36',\r
|
|
}\r
|
|
// \u5982\u679C\u6709header\u4FE1\u606F\uFF0C\u4F20\u9012\u7ED9\u64AD\u653E\u5668\r
|
|
if (ret.header) {\r
|
|
backData.headers = ret.header\r
|
|
}\r
|
|
} else {\r
|
|
// \u83B7\u53D6\u97F3\u9891URL\uFF08\u5982\u679C\u5B58\u5728\uFF09\r
|
|
const audioUrl = ret.extra && ret.extra.audio ? ret.extra.audio : null\r
|
|
\r
|
|
if (Array.isArray(ret.url)) {\r
|
|
const nameMap = {\r
|
|
RAW: {\r
|
|
name: '\u539F\u753B',\r
|
|
priority: flag == 'quark' ? 0 : 9999,\r
|
|
},\r
|
|
'4k': {\r
|
|
name: '4k',\r
|
|
priority: 3000,\r
|
|
},\r
|
|
super: {\r
|
|
name: '\u8D85\u6E05',\r
|
|
priority: 2000,\r
|
|
},\r
|
|
high: {\r
|
|
name: '\u9AD8\u6E05',\r
|
|
priority: 1000,\r
|
|
},\r
|
|
low: {\r
|
|
name: '\u6D41\u7545',\r
|
|
priority: 100,\r
|
|
},\r
|
|
//\r
|
|
QHD: { name: '\u8D85\u6E05', priority: 4000 },\r
|
|
FHD: { name: '\u9AD8\u6E05', priority: 3000 },\r
|
|
HD: { name: '\u6807\u6E05', priority: 2000 },\r
|
|
SD: { name: '\u666E\u753B', priority: 1000 },\r
|
|
LD: { name: '\u6781\u901F', priority: 100 },\r
|
|
//\r
|
|
FOUR_K: { name: '4K', priority: 4000 },\r
|
|
SUPER: { name: '\u8D85\u6E05', priority: 3000 },\r
|
|
HIGH: { name: '\u9AD8\u6E05', priority: 2000 },\r
|
|
NORMAL: { name: '\u6D41\u7545', priority: 1000 },\r
|
|
}\r
|
|
let urls = ret.url.reduce((acc, curr, index, array) => {\r
|
|
if (index % 2 === 0) {\r
|
|
if (curr.startsWith('\u4EE3\u7406')) {\r
|
|
return acc\r
|
|
}\r
|
|
const urlItem = {\r
|
|
name: nameMap[curr]?.name ?? curr,\r
|
|
url: array[index + 1],\r
|
|
header: ret.header,\r
|
|
priority: nameMap[curr]?.priority ?? 0,\r
|
|
}\r
|
|
// \u5982\u679C\u6709\u97F3\u9891URL\uFF0C\u6DFB\u52A0\u5230\u6BCF\u4E2A\u753B\u8D28\u9009\u9879\u4E2D\r
|
|
if (audioUrl) {\r
|
|
urlItem.audioUrl = audioUrl\r
|
|
}\r
|
|
acc.push(urlItem)\r
|
|
}\r
|
|
return acc\r
|
|
}, [])\r
|
|
backData.urls = urls\r
|
|
backData.data = urls[0]?.url || ''\r
|
|
} else {\r
|
|
// \u5355\u4E2AURL\u7684\u60C5\u51B5\uFF0C\u4E5F\u6784\u5EFAurls\u6570\u7EC4\r
|
|
const urlItem = {\r
|
|
name: '\u9ED8\u8BA4',\r
|
|
url: ret.url,\r
|
|
header: ret.header,\r
|
|
priority: 0,\r
|
|
}\r
|
|
// \u5982\u679C\u6709\u97F3\u9891URL\uFF0C\u6DFB\u52A0\u5230urlItem\u4E2D\r
|
|
if (audioUrl) {\r
|
|
urlItem.audioUrl = audioUrl\r
|
|
}\r
|
|
backData.urls = [urlItem]\r
|
|
backData.data = ret.url || ''\r
|
|
}\r
|
|
if (ret.header) backData.headers = ret.header\r
|
|
\r
|
|
// \u540C\u65F6\u5728\u9876\u5C42\u4E5F\u6DFB\u52A0audioUrl\uFF08\u517C\u5BB9\u6027\uFF09\r
|
|
if (audioUrl) {\r
|
|
backData.audioUrl = audioUrl\r
|
|
}\r
|
|
}\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u641C\u7D22\u89C6\u9891\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoList())>}\r
|
|
*/\r
|
|
async function searchVideo(args) {\r
|
|
var backData = new RepVideoList()\r
|
|
try {\r
|
|
const ret = await fetch({\r
|
|
wd: args.searchWord,\r
|
|
pg: args.page,\r
|
|
})\r
|
|
backData.data = processVideoData(ret.list)\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
`}catch{return""}},hlt=t=>{let e=String(t||"").trim();return e.toLowerCase().endsWith(".js")?e.slice(0,-3):e},glt=(t,e={})=>{let r=Object.entries(e).filter(([,n])=>n!=null&&n!=="").map(([n,s])=>`${encodeURIComponent(n)}=${encodeURIComponent(String(s))}`).join("&");return r?`${t}${t.includes("?")?"&":"?"}${r}`:t},Alt=(t,e,r={})=>glt(`${t}/api/${encodeURIComponent(e)}`,{filter:!0,...r}),ylt=(t,e,r={})=>glt(`${t}/uz.js`,{...r,key:e}),eTr=()=>{let t=[Yw.default.resolve(process.cwd(),"src/assets/uz.js"),Yw.default.resolve(process.cwd(),"nodejs/src/assets/uz.js"),Yw.default.resolve(process.cwd(),"dist/assets/uz.js"),Yw.default.resolve(process.cwd(),"nodejs/dist/assets/uz.js")],e=t.find(r=>zce.default.existsSync(r));if(!e)throw new Error(`uz.js asset not found: ${t.join(", ")}`);return e},xlt=()=>ZCr()||zce.default.readFileSync(eTr(),"utf8"),blt=t=>({vod:t.map(e=>({key:e.module,name:e.name,api:e.scriptUrl,webSite:e.t4ApiUrl,version:1,type:101}))});var tTr=new Set(["0","false","no","off"]),CM=()=>({username:process.env.CATPAW_DIST_AUTH_USER||"CatPawPlay",password:process.env.CATPAW_DIST_AUTH_PASS||"CatPawPlay"}),TM=()=>{let t=String(process.env.CATPAW_DIST_AUTH||"").trim().toLowerCase();return!tTr.has(t)},Jw=(t,e={})=>{let r=e.includePrefix!==!1,s=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||String(t.headers?.host||"").split(",")[0].trim(),a=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||String(t.protocol||"").trim()||(t.socket?.encrypted?"https":"http"),o=r?String(t.server?.prefix||"").replace(/\/$/,""):"";if(s)return`${a}://${s}${o}`;let c=t.server?.address?.();return c?.url?`${String(c.url).replace(/\/$/,"")}${o}`:c?.port?`http://127.0.0.1:${c.port}${o}`:o||""},Xw=(t,e,r=null)=>{if(!t)return e;let n=new URL(e,t);return(r?.username||r?.password)&&(n.username=r.username||"",n.password=r.password||""),n.toString()};var OE="/spider",rTr=new Set([".cjs",".mjs",".js"]),Dlt=/^[a-z0-9_-]{2,32}$/,Blt=new Set(["http:","https:"]),r2="nodejs_",Llt="__catpawProfile",nTr=new Set([Llt,"server","embyPlayback"]),sTr=[{url:"/index.js",fileName:"index.js",contentType:"application/javascript; charset=utf-8"},{url:"/index.js.md5",fileName:"index.js.md5",md5Source:"index.js",contentType:"text/plain; charset=utf-8"},{url:"/index.config.js",fileName:"index.config.js",contentType:"application/javascript; charset=utf-8"},{url:"/index.config.js.md5",fileName:"index.config.js.md5",md5Source:"index.config.js",contentType:"text/plain; charset=utf-8"}],Zw={key:"",expireAt:0,spiders:[]},om={key:"",promise:null},Elt=new Map,iTr=t=>({...t.query&&typeof t.query=="object"?t.query:{},...t.body&&typeof t.body=="object"?t.body:{}}),Yce=(t,e=!1)=>{if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["1","true","yes","on"].includes(r)?!0:["0","false","no","off"].includes(r)?!1:e},aTr=(t,e={})=>{if(t==null||t==="")return e;if(typeof t=="object")return t;try{let r=Buffer.from(String(t),"base64").toString("utf8");return JSON.parse(r)}catch{try{return JSON.parse(String(t))}catch{return e}}},oTr=t=>{let e={},n=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||String(t.headers?.host||"").split(",")[0].trim(),i=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||String(t.protocol||"").trim();return n&&(e.host=n,e["x-forwarded-host"]=n),i&&(e["x-forwarded-proto"]=i),Object.keys(e).length>0?e:void 0},cTr=t=>{let e=String(t||"").trim().replace(/\/+$/,""),r=e.match(/^\/spider\/([^/]+)\/(\d+)(?:\/.*)?$/);return r?{spiderKey:decodeURIComponent(r[1]),spiderType:Number(r[2]),apiBase:e}:null},uTr=t=>{let e=String(t||"").trim();return e.toLowerCase().startsWith(r2)?e.slice(r2.length):e},Mlt=(t,e,r)=>{!r||Number(r.spiderType)!==3||e.map(n=>String(n||"").trim()).filter(Boolean).forEach(n=>{t.set(n.toLowerCase(),r)})},lTr=t=>{let e=new Map;return t.forEach(r=>{let n=String(r?.meta?.key||"").trim(),s=Number(r?.meta?.type||0);if(!n||s!==3||r?.meta?.hidden)return;let i={spiderKey:n,spiderType:s,apiBase:`${OE}/${encodeURIComponent(n)}/${s}`};Mlt(e,[n,`${r2}${n}`],i)}),e},_lt=(t,e)=>{let r=String(e||"").trim();if(!r)return null;let n=r.toLowerCase(),s=n.startsWith(r2)?n.slice(r2.length):n;return t.get(n)||t.get(s)||null},dTr=t=>{let[e,r]=String(t||"").split(/\s+/,2);if(e?.toLowerCase()!=="basic"||!r)return null;let n="";try{n=Buffer.from(r,"base64").toString("utf8")}catch{return null}let s=n.indexOf(":");return s<0?null:{username:n.slice(0,s),password:n.slice(s+1)}},fTr=(t,e)=>{let r=dTr(t.headers?.authorization),n=CM();return r?.username===n.username&&r?.password===n.password?!0:(e.code(401).header("WWW-Authenticate",'Basic realm="CatPaw dist"').send("Authentication required"),!1)},pTr=t=>Ws.default.resolve(process.cwd(),"dist",t),Wlt=t=>Object.prototype.toString.call(t)==="[object Object]",tue=(t,e={})=>{try{return JSON.parse(JSON.stringify(t??e))}catch{return e}},mTr=t=>JSON.stringify(t,null,2).replace(/^(\s*)"([A-Za-z_$][\w$]*)":/gm,"$1$2:"),hTr=async t=>{try{let e=await t.getData("/");return Wlt(e)?e:{}}catch{return{}}},gTr=t=>{let e={};return Object.entries(Wlt(t)?t:{}).forEach(([r,n])=>{nTr.has(r)||(e[r]=tue(n,n))}),e},ATr=async({db:t,config:e})=>{let r=await hTr(t),n=gTr(r),s={...tue(e,{}),...tue(n,{})};return delete s.server,Object.keys(n).length>0&&(s[Llt]=n),["var index_config = {"," server: {}, //\u8FD9\u91CC\u4E0D\u8981\u52A8\uFF0C\u52A0\u7A7A\u683C\u90FD\u4E0D\u884C\uFF0C\u540E\u53F0\u81EA\u52A8\u751F\u6210",mTr(s).replace(/^\{\n?/,"").replace(/\n?\}$/,""),"};",'if (typeof module !== "undefined" && module.exports) module.exports = index_config;',""].join(`
|
|
`)},yTr=async(t,e,r)=>(t.md5Source||t.fileName)!=="index.config.js"?e:Buffer.from(await ATr(r),"utf8"),xTr=async(t,e,r,n)=>{if(fTr(e,r))try{let s=t.md5Source||t.fileName,i=await NE.default.readFile(pTr(s)),a=await yTr(t,i,n),o=t.md5Source?(0,OM.createHash)("md5").update(a).digest("hex"):a;r.header("Content-Type",t.contentType).send(o)}catch(s){if(s?.code==="ENOENT"){r.code(404).send({error:`dist artifact not found: ${t.fileName}`,hint:"\u8BF7\u5148\u5728 nodejs \u76EE\u5F55\u8FD0\u884C npm run build \u6216 npm run build:dbg"});return}throw s}},Jce=(t,e=!1)=>{if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["1","true","yes","on"].includes(r)?!0:["0","false","no","off"].includes(r)?!1:e},Xce=(t,e=0)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?r:e},bTr=t=>{let e=String(t||"").trim();if(!e)return"";try{let r=new URL(e);return Blt.has(r.protocol)?(r.hash="",r.href):""}catch{return""}},Slt=t=>{let r=(Array.isArray(t)?t:typeof t=="string"?t.split(/[\r\n,;]/):[]).map(n=>bTr(n)).filter(Boolean);return[...new Set(r)]},Zce=(t,e,r)=>{if(!Number.isFinite(e)||e<=0)return t;let n;return Promise.race([t,new Promise((s,i)=>{n=setTimeout(()=>i(new Error(r)),e)})]).finally(()=>clearTimeout(n))},ETr=async t=>{try{let e=await NE.default.stat(t);return`${e.mtimeMs}-${e.size}`}catch{return"0"}},$lt=(t={})=>{let e=t.customSpiders||{},r=process.env.NODE_PATH||"/data",n=typeof e.dir=="string"?e.dir.trim():"",s=Slt(process.env.CATPAW_CUSTOM_SPIDER_URLS),i=Slt(e.urls),a=s.length>0?s:i,o=process.env.CATPAW_CUSTOM_SPIDER_DIR||n||Ws.default.join(r,"custom-spiders");return{enabled:Jce(process.env.CATPAW_CUSTOM_SPIDER_ENABLED,e.enabled??!0),strict:Jce(process.env.CATPAW_CUSTOM_SPIDER_STRICT,e.strict??!1),allowOverride:Jce(process.env.CATPAW_CUSTOM_SPIDER_ALLOW_OVERRIDE,e.allowOverride??!1),cacheTtlMs:Math.max(0,Xce(process.env.CATPAW_CUSTOM_SPIDER_CACHE_TTL_MS,e.cacheTtlMs??5e3)),factoryTimeoutMs:Math.max(0,Xce(process.env.CATPAW_CUSTOM_SPIDER_FACTORY_TIMEOUT_MS,e.factoryTimeoutMs??1e4)),urlTimeoutMs:Math.max(1e3,Xce(process.env.CATPAW_CUSTOM_SPIDER_URL_TIMEOUT_MS,e.urlTimeoutMs??1e4)),dir:Ws.default.resolve(o),urls:a}},vlt=(t,e)=>{let n=`[custom-spider:${Ws.default.basename(e)}]`,s=Object.freeze({info:(...i)=>console.log(n,...i),warn:(...i)=>console.warn(n,...i),error:(...i)=>console.error(n,...i),debug:(...i)=>console.debug(n,...i)});return Object.freeze({http:Object.freeze({axios:Ae,req:he,create:(i={})=>Ae.create(i)}),cheerio:Object.freeze({load:Me}),utils:Object.freeze({extractTitle:sA,findEpisodeNumber:Vw,firstSuccessfulUrl:Xn}),logger:s,app:Object.freeze({spiderPrefix:OE,nodePath:process.env.NODE_PATH||"."})})},_Tr=async t=>{try{return(await NE.default.readdir(t,{withFileTypes:!0})).filter(r=>r.isFile()).map(r=>Ws.default.join(t,r.name)).filter(r=>rTr.has(Ws.default.extname(r).toLowerCase())).sort((r,n)=>r.localeCompare(n))}catch(e){if(e?.code==="ENOENT")return[];throw e}},RM=t=>{if(typeof t=="string")return t;if(Buffer.isBuffer(t))return t.toString("utf8");if(t==null)return"";try{return JSON.stringify(t)}catch{return String(t)}},NM=new Map,sue=t=>String(t||"").trim(),STr=t=>{let e=RM(t);if(!e)return"";let r=e.split(/\r?\n/,80);for(let n of r){let s=String(n||"").trim();if(!s)continue;let i=s.match(/^(?:\/\/+|\/\*+|\*+)?\s*@name(?:\s*[::])?\s+(.+?)\s*$/i);if(!i?.[1])continue;let a=i[1].replace(/\*\/\s*$/,"").trim();if(a)return a}return""},Flt=(t,e)=>{let r=sue(t);if(!r)return"";let n=STr(e);return n?(NM.set(r,n),n):(NM.delete(r),"")},Ult=t=>{let e=sue(t);return e?String(NM.get(e)||"").trim():""},Ilt={axios:Ae,cheerio:_v,"crypto-js":Plt.default,dayjs:klt.default,qs:nue.default},vTr=(t,e)=>{let r=n=>n==="omnibox_sdk"?{request:async(s,i={})=>{let a=String(i.method||"GET").toUpperCase(),o=i.headers||{},c=i.body;c&&typeof c=="object"&&!Buffer.isBuffer(c)&&String(o["Content-Type"]||o["content-type"]||"").toLowerCase().includes("application/json")&&(c=JSON.stringify(c));let u=await Ae.request({url:s,method:a,headers:o,data:c,timeout:i.timeout,validateStatus:()=>!0});return{statusCode:u.status,body:RM(u.data)}},log:(s,...i)=>{let a=i.map(o=>typeof o=="string"?o:RM(o)).join(" ");return s==="error"?console.error(a):s==="warn"||s==="warning"?console.warn(a):console.log(a)},getSourceId:async()=>"builtin",processScraping:async(s,i,a,o=[])=>{let c=String(s||"");return Elt.set(c,{scrapeData:null,scrapeType:"",videoMappings:[]}),{ok:!1,unsupported:!0,count:Array.isArray(o)?o.length:0}},getScrapeMetadata:async s=>{let i=String(s||"");return Elt.get(i)||null}}:n==="spider_runner"?{run:()=>{}}:Ilt[n]?Ilt[n]:t(n);return r.resolve=t.resolve?.bind(t),r.main={filename:e},r},qlt=(t,e)=>{let r=String(t?.message||""),n=r.includes("require is not defined")||r.includes("module is not defined")||r.includes("exports is not defined"),s=/(?:^|\W)module\.exports(?:\W|$)|(?:^|\W)exports\.[A-Za-z_$][\w$]*|(?:^|\W)require\s*\(/m.test(e);return n||s},jlt=(t,e,r="")=>{let n={exports:{}},s=r||(0,rue.pathToFileURL)(Ws.default.resolve(process.cwd(),".custom-spider-runtime.cjs")).href,i=(0,Olt.createRequire)(s),a=vTr(i,e);return new Function("require","module","exports","__filename","__dirname",t)(a,n,n.exports,e,Ws.default.dirname(e)),{default:n.exports}},ITr=async(t,e)=>{let r=await Ae.get(t,{responseType:"text",timeout:e,transformResponse:[a=>a],validateStatus:()=>!0});if(r.status>=400)throw new Error(`[custom-spider] \u8FDC\u7A0B\u63D2\u4EF6\u62C9\u53D6\u5931\u8D25(${r.status}): ${t}`);let n=RM(r.data);Flt(t,n);let s=(0,OM.createHash)("sha1").update(n).digest("hex").slice(0,12),i=`data:text/javascript;charset=utf-8,${encodeURIComponent(n)}`;try{return await import(`${i}#${s}`)}catch(a){if(!qlt(a,n))throw a;let o;try{let c=new URL(t),u=Ws.default.basename(c.pathname)||`remote-${s}.js`;o=Ws.default.resolve(process.cwd(),".remote-custom-spiders",u)}catch{o=Ws.default.resolve(process.cwd(),".remote-custom-spiders",`remote-${s}.js`)}return jlt(n,o)}},CTr=async t=>{let e=sue(t),r="",n=!1;try{r=await NE.default.readFile(t,"utf8"),n=!0,Flt(e,r)}catch{NM.delete(e)}let s=(0,rue.pathToFileURL)(t);s.searchParams.set("v",await ETr(t));try{return await import(s.href)}catch(i){if(Ws.default.extname(t).toLowerCase()!==".js")throw i;let o=n?r:await NE.default.readFile(t,"utf8");if(!qlt(i,o))throw i;return jlt(o,t,s.href)}},Clt=t=>!!t&&typeof t=="object"&&typeof t.api=="function",Tlt=t=>!t||typeof t!="object"||typeof t.api=="function"?!1:["home","category","detail","search","play"].some(r=>typeof t[r]=="function"),TTr=t=>{let e=String(t||"");if(!e.includes("%"))return e;try{return decodeURIComponent(e)}catch{return e}},PM=t=>{let e=String(t||"").trim();if(!e)return"";try{let r=new URL(e);if(Blt.has(r.protocol)){let n=Ws.default.parse(Ws.default.basename(r.pathname||"")).name;return TTr(n)}}catch{}return Ws.default.parse(e).name},wTr=t=>{let e=PM(t),r=String(e).trim().toLowerCase().replace(/[^a-z0-9_-]/g,"");return Dlt.test(r)?r:`omni_${(0,OM.createHash)("sha1").update(t).digest("hex").slice(0,10)}`},RTr=t=>{if(!t||typeof t!="object"||t.vod_play_from&&t.vod_play_url)return t;let e=Array.isArray(t.vod_play_sources)?t.vod_play_sources:[];if(e.length===0)return t;let r=[],n=[];return e.forEach((s,i)=>{let a=String(s?.name||`\u7EBF\u8DEF${i+1}`).trim()||`\u7EBF\u8DEF${i+1}`,c=(Array.isArray(s?.episodes)?s.episodes:[]).map((u,l)=>{let d=String(u?.name||`\u64AD\u653E${l+1}`).trim()||`\u64AD\u653E${l+1}`,f=String(u?.playId||u?.url||u?.id||"").trim();return f?`${d}$${f}`:""}).filter(Boolean);c.length>0&&(r.push(a),n.push(c.join("#")))}),r.length===0||n.length===0?t:{...t,vod_play_from:r.join("$$$"),vod_play_url:n.join("$$$")}},wM=t=>t&&typeof t=="object"?t:{list:[]},wlt=t=>{let e=wM(t),r=Array.isArray(e.list)?e.list:[];return{...e,list:r.map(n=>RTr(n))}},NTr=(t,e="")=>{if(t&&typeof t=="object"){let r=String(t.url||"").trim();if(r)return{...t,parse:t.parse??0,url:r,header:t.header||{}};let n=Array.isArray(t.urls)?t.urls:[];if(n.length>0){let s=n[0]||{},i=String(s.url||s.playId||s.id||"").trim();if(i)return{parse:t.parse??0,url:i,header:t.header||{}}}if(t.parse!==void 0)return{parse:t.parse??0,url:"",header:t.header||{}}}return typeof t=="string"&&t.trim()?{parse:0,url:t.trim()}:{parse:1,url:String(e||"")}},OTr=(t,e)=>{let r=t.meta||t.META||{},n=Number(r.type),s=Number.isInteger(n)&&n>=0&&n<50?n:3,i=String(r.key||"").trim()||wTr(e),a=Ult(e),o=String(r.name||"").trim()||a||PM(e)||i,c=async(u,l)=>{if(typeof u!="function")return{};let d=await u(l||{});return d===void 0?{}:d};return{meta:{key:i,name:o,type:s},api:async u=>{u.post("/init",async()=>({})),u.post("/home",async l=>{let d=await c(t.home,{filter:l.body?.filter??!1});return wM(d)}),u.post("/category",async l=>{let d=l.body||{},f=await c(t.category,{categoryId:d.id,id:d.id,page:d.page??1,filters:d.filters||{},filter:d.filter??!1});return wM(f)}),u.post("/detail",async l=>{let d=l.body?.id;if(Array.isArray(d)){let p=[];for(let m of d){let h=await c(t.detail,{videoId:m,id:m}),A=wlt(h);Array.isArray(A.list)&&p.push(...A.list)}return{list:p}}let f=await c(t.detail,{videoId:d,id:d});return wlt(f)}),u.post("/search",async l=>{let d=l.body?.wd??"",f=await c(t.search,{keyword:d,wd:d,page:l.body?.page??1,quick:l.body?.quick??!1});return wM(f)}),u.post("/play",async l=>{let d=l.body?.id??"",f=await c(t.play,{playId:d,id:d,flag:l.body?.flag??""});return NTr(f,d)})}}},PTr=(t,e)=>{let r=typeof t?.createSpider=="function"&&t.createSpider||typeof t?.default?.createSpider=="function"&&t.default.createSpider;if(r)return{mode:"factory",value:r};let n=Clt(t?.default)&&t.default||Clt(t)&&t;if(n)return{mode:"spider",value:n};let s=Tlt(t?.default)&&t.default||Tlt(t)&&t;if(s)return{mode:"omnibox-object",value:s};let i=typeof t?.default=="function"&&t.default||typeof t=="function"&&t;if(i)return{mode:"callable",value:i};throw new Error(`${e} \u7F3A\u5C11 createSpider(ctx) / spider \u5BF9\u8C61 / omnibox \u5BF9\u8C61 / legacy register \u5BFC\u51FA`)},kTr=t=>{let e=String(t?.message||"");return e?e.includes("spider \u5FC5\u987B\u662F\u5BF9\u8C61")||e.includes("spider.api \u5FC5\u987B\u662F\u51FD\u6570")||e.includes("spider.check \u5FC5\u987B\u662F\u51FD\u6570")||e.includes("is not a function")||e.includes("Cannot read properties of undefined")||e.includes("Cannot set properties of undefined"):!1},DTr=(t,e)=>{let r=String(t?.meta?.key||"").trim(),n=String(t?.meta?.api||"").trim(),s=PM(e),i=[];r&&i.push(r);let a=n.match(/\/([a-zA-Z0-9_-]+)$/);a?.[1]&&i.push(a[1]),s&&i.push(s);for(let o of i){let c=String(o).trim().toLowerCase().replace(/[^a-z0-9_-]/g,"");if(Dlt.test(c))return{key:c,from:o}}return null},BTr=t=>{if(!t||typeof t!="object"||Object.keys(t).length===0)return"";try{return Buffer.from(JSON.stringify(t),"utf8").toString("base64")}catch{return""}},e2=async(t,e,r)=>{let n,a=await t({query:r,server:e},{send(o){return n=o,o}});return a===void 0?n:a},LTr=async(t,e)=>{let r=[],n={get(l,d){r.push({method:"get",routePath:l,handler:d})},post(l,d){r.push({method:"post",routePath:l,handler:d})},put(l,d){r.push({method:"put",routePath:l,handler:d})},delete(l,d){r.push({method:"delete",routePath:l,handler:d})}},s={sites:[]};await Promise.resolve(t(n,s));let i=Array.isArray(s.sites)?s.sites:[];if(i.length===0)throw new Error(`${e} legacy register \u672A\u901A\u8FC7 opt.sites \u66B4\u9732 meta`);i.length>1&&console.warn(`[custom-spider] legacy register \u4EC5\u517C\u5BB9\u9996\u4E2A site: ${Ws.default.basename(e)}`);let a=i[0]||{},o=String(a.api||"").trim(),c=o?r.find(l=>l.routePath===o):null;if(o&&!c){let l=r.map(d=>d.routePath).join(", ");throw new Error(`${e} legacy register meta.api(${o}) \u672A\u5339\u914D\u5DF2\u6CE8\u518C\u8DEF\u7531: ${l||"(none)"}`)}let u=c;if(!u)if(r.length===1)u=r[0];else{let l=r.map(d=>d.routePath).join(", ");throw new Error(`${e} legacy register \u8DEF\u7531\u4E0D\u660E\u786E\uFF0C\u8BF7\u63D0\u4F9B\u53EF\u5339\u914D\u7684 meta.api\uFF0C\u5F53\u524D\u8DEF\u7531: ${l||"(none)"}`)}if(!u||typeof u.handler!="function")throw new Error(`${e} legacy register \u672A\u6CE8\u518C\u6709\u6548\u8DEF\u7531`);return{meta:{key:a.key,name:a.name,type:a.type},api:async l=>{l.post("/init",async()=>({})),l.post("/home",async d=>e2(u.handler,d.server,{filter:d.body?.filter??!1})),l.post("/category",async d=>{let f=d.body||{},p={ac:"detail",t:f.id,pg:f.page??1,filter:f.filter??!1},m=BTr(f.filters);return m&&(p.ext=m),e2(u.handler,d.server,p)}),l.post("/detail",async d=>{let f=d.body?.id,p=Array.isArray(f)?f.join(","):f;return e2(u.handler,d.server,{ac:"detail",ids:p})}),l.post("/search",async d=>e2(u.handler,d.server,{wd:d.body?.wd??"",pg:d.body?.page??1,quick:d.body?.quick??!1})),l.post("/play",async d=>e2(u.handler,d.server,{play:d.body?.id??"",flag:d.body?.flag??"",parser:d.body?.parser??""}))}}},t2=(t,e)=>{if(!t||typeof t!="object")throw new Error(`${e} spider \u5FC5\u987B\u662F\u5BF9\u8C61`);if(typeof t.api!="function")throw new Error(`${e} spider.api \u5FC5\u987B\u662F\u51FD\u6570`);if(t.check&&typeof t.check!="function")throw new Error(`${e} spider.check \u5FC5\u987B\u662F\u51FD\u6570`);let r=DTr(t,e);if(!r)throw new Error(`${e} meta.key \u4E0D\u5408\u6CD5`);let n=r.key,s=Ult(e),i=String(t.meta?.name||"").trim()||s||PM(e)||n,a=Number(t.meta?.type);if(!i)throw new Error(`${e} meta.name \u4E0D\u80FD\u4E3A\u7A7A`);if(!Number.isInteger(a)||a<0||a>=50)throw new Error(`${e} meta.type \u5FC5\u987B\u662F 0-49 \u7684\u6574\u6570`);let o=String(t.meta?.key||"").trim();return o&&o!==n&&console.log(`[custom-spider] key \u517C\u5BB9\u4FEE\u6B63: ${o} -> ${n}`),{...t,meta:{...t.meta,key:n,name:i,type:a,custom:!0}}},MTr=(t,e=!1)=>{let r=[],n=new Map;return t.forEach(s=>{let i=`${s.meta.key}:${s.meta.type}`;if(!n.has(i)){n.set(i,r.length),r.push(s);return}if(e&&s.meta?.custom){console.warn(`[custom-spider] override: ${i}`),r[n.get(i)]=s;return}console.warn(`[custom-spider] duplicate ignored: ${i}`)}),r},WTr=async t=>{let e=$lt(t.config);if(!e.enabled)return[];let r=`${e.dir}|${e.urls.join(",")}|${e.urlTimeoutMs}|${e.strict}|${e.cacheTtlMs}|${e.factoryTimeoutMs}`,n=Date.now();if(e.cacheTtlMs>0&&Zw.key===r&&Zw.expireAt>n)return Zw.spiders;if(om.promise&&om.key===r)return om.promise;om.key=r,om.promise=(async()=>{let s=await _Tr(e.dir),i=e.urls;if(s.length===0&&i.length===0)return Zw={key:r,expireAt:e.cacheTtlMs>0?Date.now()+e.cacheTtlMs:0,spiders:[]},[];s.length>0&&console.log(`[custom-spider] \u53D1\u73B0 ${s.length} \u4E2A\u672C\u5730\u63D2\u4EF6: ${s.map(l=>Ws.default.basename(l)).join(", ")}`),i.length>0&&console.log(`[custom-spider] \u53D1\u73B0 ${i.length} \u4E2A\u8FDC\u7A0B\u63D2\u4EF6: ${i.join(", ")}`);let a=[...s.map(l=>({id:l,display:Ws.default.basename(l),load:()=>CTr(l)})),...i.map(l=>({id:l,display:l,load:()=>ITr(l,e.urlTimeoutMs)}))],o=await Promise.allSettled(a.map(async l=>{let d=await l.load(),f=PTr(d,l.id);if(f.mode==="spider")return console.log(`[custom-spider] \u517C\u5BB9\u6A21\u5F0F\u52A0\u8F7D: ${l.display} (legacy spider export)`),t2(f.value,l.id);if(f.mode==="omnibox-object"){console.log(`[custom-spider] \u517C\u5BB9\u6A21\u5F0F\u52A0\u8F7D: ${l.display} (omnibox object export)`);let h=OTr(f.value,l.id);return t2(h,l.id)}if(f.mode==="callable"){let h=vlt(t,l.id);try{let A=await Zce(Promise.resolve(f.value(h)),e.factoryTimeoutMs,`[custom-spider] createSpider \u8D85\u65F6: ${l.id}`);return t2(A,l.id)}catch(A){if(!kTr(A))throw A;console.log(`[custom-spider] \u517C\u5BB9\u6A21\u5F0F\u52A0\u8F7D: ${l.display} (legacy register export)`);let g=await Zce(LTr(f.value,l.id),e.factoryTimeoutMs,`[custom-spider] legacy register \u9002\u914D\u8D85\u65F6: ${l.id}`);return t2(g,l.id)}}let p=vlt(t,l.id),m=await Zce(Promise.resolve(f.value(p)),e.factoryTimeoutMs,`[custom-spider] createSpider \u8D85\u65F6: ${l.id}`);return t2(m,l.id)})),c=[],u=[];if(o.forEach((l,d)=>{l.status==="fulfilled"?c.push(l.value):(u.push(a[d].display),console.error(`[custom-spider] \u52A0\u8F7D\u5931\u8D25: ${a[d].display}`,l.reason))}),e.strict&&u.length>0)throw new Error(`[custom-spider] strict \u6A21\u5F0F: ${u.length} \u4E2A\u63D2\u4EF6\u52A0\u8F7D\u5931\u8D25`);return c.length>0&&console.log(`[custom-spider] \u6210\u529F\u52A0\u8F7D ${c.length} \u4E2A\u63D2\u4EF6`),Zw={key:r,expireAt:e.cacheTtlMs>0?Date.now()+e.cacheTtlMs:0,spiders:c},c})();try{return await om.promise}finally{om.key===r&&(om={key:"",promise:null})}},Rlt=async t=>{let e=[gut,Tot,yot],r=[Aot,Bit,Oat,Lit,Mit,Wit,Pat,x5e,$it,Fit,bat,Eat,Xct,Nat,Vat,Xat,Cot,gat,jit,Qit,zit,Jit,xat,eat,rat,tlt,Dut,oct,Act,$ot,Dot,Bot,$ct,zct,Kot,uct,Sct,Pct,Jot,pot];(await Lce(t)).forEach(o=>{r.push(Wce(o.name,o.address))}),(await jce(t)).forEach(o=>{r.push(Gce(o.name,o.address))});let i=await WTr(t);r.push(...i),r.push(...e);let{allowOverride:a}=$lt(t.config);return MTr(r,a)},Nlt=(t,e,r)=>{r<10?t.video.sites.push(e):r>=10&&r<20?t.read.sites.push(e):r>=20&&r<30?t.comic.sites.push(e):r>=30&&r<40?t.music.sites.push(e):r>=40&&r<50&&t.pan.sites.push(e)},$Tr=async(t,e)=>{(await jw(e).catch(()=>[])).filter(n=>n?.id&&n?.host&&n?.username).forEach(n=>{t.video.sites.push({key:`nodejs_emby_${n.id}`,name:`\u300C\u76F4\u300D${n.name||"Emby"}`,type:3,api:`${OE}/emby/3/server/${encodeURIComponent(n.id)}`})})},FTr=async(t,e)=>{(await Hw(e).catch(()=>[])).filter(n=>n?.id&&n?.server).forEach(n=>{t.video.sites.push({key:`nodejs_alist_${n.id}`,name:`\u300C\u76F4\u300D${n.name||"Alist"}`,type:3,api:`${OE}/alist-video/3/server/${encodeURIComponent(n.id)}`})})},eue={};async function iue(t,{db:e,config:r}){t.hasContentTypeParser("application/x-www-form-urlencoded")||t.addContentTypeParser("application/x-www-form-urlencoded",{parseAs:"string"},(p,m,h)=>{h(null,nue.default.parse(String(m||"")))});let n=await Rlt({db:e,config:r}),s=lTr(n),i=new Map(s),a=async()=>null;n.forEach(p=>{let m=OE+"/"+p.meta.key+"/"+p.meta.type;t.register(p.api,{prefix:m});try{let h=p.check?.(t);h&&typeof h.then=="function"&&h.catch(A=>console.error(`[spider-check] ${p.meta.key} failed:`,A))}catch(h){console.error(`[spider-check] ${p.meta.key} failed:`,h)}console.log("Register spider: "+m)});let o=(p,m,h,A={})=>oA(t,m.spiderKey,m.spiderType,h,A,{apiBase:m.apiBase,headers:oTr(p)}),c=async(p,m)=>{let h=hlt(m),A=_lt(i,h);return A||(await a(p),A=_lt(i,h)),{module:h,spider:A}},u=p=>{let m=p.query?.token;return m==null||m===""?{}:{token:m}},l=async(p,m)=>{m.type("application/javascript; charset=utf-8").send(xlt())},d=async(p,m)=>{let{module:h,spider:A}=await c(p,p.params?.module);if(!A){m.code(404).send({error:"module not found"});return}return l(p,m)},f=async(p,m)=>{let{spider:h}=await c(p,p.params?.module);if(!h){m.code(404).send({error:"module not found"});return}let A=iTr(p);try{if(A.refresh!==void 0){m.send(await o(p,h,"init",{ext:A.extend||A.ext||"",extend:A.extend}));return}if(A.play!==void 0){m.send(await o(p,h,"play",{id:A.play,flag:A.flag,extend:A.extend}));return}if(A.ac==="action"&&A.action!==void 0){m.send(await o(p,h,"action",{action:A.action,value:A.value,extend:A.extend}));return}if(A.ac==="detail"&&A.ids!==void 0){m.send(await o(p,h,"detail",{id:A.ids,extend:A.extend}));return}if(A.t!==void 0){m.send(await o(p,h,"category",{id:A.t,page:A.pg||A.page||1,filter:Yce(A.filter,!0),filters:aTr(A.ext||A.f,{}),extend:A.extend}));return}if(A.wd!==void 0){m.send(await o(p,h,"search",{wd:A.wd,page:A.pg||A.page||1,quick:Yce(A.quick,!1),extend:A.extend}));return}m.send(await o(p,h,"home",{filter:Yce(A.filter,!0),extend:A.extend}))}catch(g){p.log?.error?.(g);let b=g?.message||"internal error",y=Number(b.match(/\s(\d{3})$/)?.[1]||500);m.code(y>=400&&y<600?y:500).send({error:b})}};t.get("/uz.js",l),t.get("/api/uz/:module",d),t.route({method:["GET","POST"],url:"/api/:module",handler:f}),t.route({method:["GET","POST"],url:"/api/:version/:kind/:module",handler:f}),TM()&&sTr.forEach(p=>{t.get(p.url,async(m,h)=>xTr(p,m,h,{db:e,config:r}))}),t.register(async p=>{p.get("/check",async function(x,v){v.send({run:!p.stop})});let m=async()=>{let x={video:{sites:[]},read:{sites:[]},comic:{sites:[]},music:{sites:[]},pan:{sites:[]},color:p.config.color||[]},v=await Rlt({db:e,config:r}),I=!1,R=!1,w=[];for(let N of v){let P=Object.assign({},N.meta);if(P.hidden){P.key==="emby"?I=!0:P.key==="alist-video"&&(R=!0);continue}P.api=OE+"/"+P.key+"/"+P.type,P.key="nodejs_"+P.key;let B=N.meta.type;if(P.cms){w.push({meta:P,stype:B});continue}Nlt(x,P,B)}return I&&await $Tr(x,{db:e,config:r}),R&&await FTr(x,{db:e,config:r}),w.forEach(({meta:N,stype:P})=>Nlt(x,N,P)),x},h=async(x,v)=>{let I=await Kw(x.server),R=v.video.sites,w={},N={};R.forEach(B=>{N[B.key]=B});let P=[];return I.forEach(B=>{w[B.key]=!0;let M=N[B.key];if(M&&B.enable){let D=typeof B.name=="string"?B.name.trim():"";P.push({...M,name:D||M.name})}}),R.forEach(B=>{w[B.key]||P.push(B)}),v.video.sites=P,v},A=async x=>{let v=await m();return await h(x,v),v},g=x=>{let v=cTr(x.api);if(!v||Number(v.spiderType)!==3)return null;let I=uTr(x.key);return Mlt(i,[x.key,I],v),{module:I,ref:v}};a=async x=>{(await A(x)).video.sites.forEach(g)};let b=async x=>{let v=await A(x),I=Jw(x).replace(/\/$/,""),R=v.video.sites.map(w=>{let N=g(w);if(!N)return null;let P=N.module,B={key:`t4_${P}`,name:w.name,type:4,api:`${I}/api/${encodeURIComponent(P)}`,searchable:w.searchable??1,quickSearch:w.quickSearch??0,filterable:w.filterable??1};return w.ext!==void 0&&w.ext!==null&&w.ext!==""&&(B.ext=w.ext),B}).filter(Boolean);return{sites_count:R.length,sites:R,color:v.color||[]}},y=async(x,v)=>{let I=await A(x),R=Jw(x).replace(/\/$/,""),w=u(x),N=I.video.sites.map(P=>{let B=g(P);if(!B)return null;let M=B.module;return{module:M,name:P.name,scriptUrl:ylt(R,M,w),t4ApiUrl:Alt(R,M,w)}}).filter(Boolean);v.send(blt(N))};p.get("/config",async function(x,v){let I=await A(x);I.video.danmuSearchUrl=`http://127.0.0.1:${x.server.address().port}/website/danmu/fe`,v.send(I)}),p.get("/t4",b),p.get("/uz",y),p.get("/full-config",m)}),t.get("/danmu-proxy",async(p,m)=>{try{let A=String(p.query?.format||"").toLowerCase()==="json",g=(J=200)=>{if(A){m.code(J).send({success:!1,comments:[],count:0,match:null});return}m.code(J).header("Content-Type","application/xml"),m.send('<?xml version="1.0" encoding="UTF-8"?><i/>')},b=await _M(p.server);if(!b?.autoPush){g();return}let{name:y,episodeNumber:x,originalName:v}=p.query,I=String(v||"").trim(),R=String(y||"").trim()||sA(I)||I,w=b.debug||!1;w&&(console.log("=== \u5F39\u5E55\u5339\u914D\u8C03\u8BD5\u4FE1\u606F ==="),console.log("\u4F20\u5165\u53C2\u6570:"),console.log(" - \u89C6\u9891\u540D\u79F0:",R||"(\u672A\u63D0\u4F9B)"),console.log(" - \u539F\u59CB\u540D\u79F0:",I||"(\u672A\u63D0\u4F9B)"),console.log(" - \u96C6\u6570:",x),console.log("\u914D\u7F6E\u7684\u5F39\u5E55\u6E90\u6570\u91CF:",b.urls.length));let N=1,B=(I||R).match(/第([一二三四五å…七八ä¹å\d]+)å£/);if(B){let J=B[1];N={\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10}[J]||parseInt(J)||1,w&&console.log("\u68C0\u6D4B\u5230\u5B63\u6570\u4FE1\u606F:",`\u7B2C${N}\u5B63`)}let M=`S${N}`,D=!x||x==="0",L=R;!D&&x&&(L=`${R} ${M}E${x}`),w&&console.log("\u6784\u9020\u7684\u6587\u4EF6\u540D:",L);let Z=async(J,se,oe)=>{w&&(console.log(`
|
|
\u6B63\u5728\u8BF7\u6C42\u5F39\u5E55\u6E90: ${J.name||J.address}`),console.log(`\u8BF7\u6C42URL: ${J.address}/api/v2/match`),console.log(`\u8BF7\u6C42\u9636\u6BB5: ${oe}`),console.log(`\u8BF7\u6C42\u6570\u636E: { fileName: "${se}" }`));let ue=await Ae.post(`${J.address}/api/v2/match`,{fileName:se},{headers:{"Content-Type":"application/json"},timeout:1e4});if(w&&(console.log(`
|
|
${J.name||J.address} \u8FD4\u56DE\u7ED3\u679C:`),console.log(" - \u5339\u914D\u6210\u529F:",ue.data?.success),console.log(" - \u662F\u5426\u5339\u914D:",ue.data?.isMatched),console.log(" - \u5339\u914D\u6761\u6570:",ue.data?.matches?.length||0)),ue.data?.success&&ue.data?.isMatched&&ue.data?.matches?.length>0){let Ie=ue.data.matches[0];return w&&(console.log(" - \u5339\u914D\u7ED3\u679C:"),console.log(" * \u96C6\u6570ID:",Ie.episodeId),console.log(" * \u96C6\u6570\u6807\u9898:",Ie.episodeTitle),console.log(" * \u52A8\u753B\u6807\u9898:",Ie.animeTitle)),{url:J,match:Ie,score:100}}return null},W=b.urls.map(async J=>{try{let se=await Z(J,L,"episode-aware");return!se&&!D&&x&&(w&&console.log(` - \u5206\u96C6\u5339\u914D\u5931\u8D25\uFF0C\u964D\u7EA7\u4EC5\u6807\u9898\u91CD\u8BD5: ${R}`),se=await Z(J,R,"title-only-fallback")),!se&&w&&console.log(" - \u672A\u627E\u5230\u7CBE\u786E\u5339\u914D"),se}catch(se){return w&&(console.log(`
|
|
${J.name||J.address} \u8BF7\u6C42\u5931\u8D25:`),console.log(" - \u9519\u8BEF\u4FE1\u606F:",se.message),se.response&&(console.log(" - \u54CD\u5E94\u72B6\u6001\u7801:",se.response.status),console.log(" - \u54CD\u5E94\u6570\u636E:",JSON.stringify(se.response.data)))),null}}),K=(await Promise.all(W)).filter(J=>J!==null);w&&console.log(`
|
|
\u5339\u914D\u7ED3\u679C\u6C47\u603B: \u5171 ${K.length} \u4E2A\u6709\u6548\u7ED3\u679C`);let j=null;if(K.length>0){let J=K[0];w&&(console.log("\u9009\u62E9\u7684\u5F39\u5E55\u6E90:",J.url.name||J.url.address),console.log("\u9009\u62E9\u7684\u96C6\u6570:",J.match.episodeTitle)),j={url:`${J.url.address}/api/v2/comment/${J.match.episodeId}?withRelated=true&chConvert=1`,sourceName:J.url.name||"\u5F39\u5E55\u6E90",episodeTitle:J.match.episodeTitle,match:{animeTitle:J.match.animeTitle||"",episodeTitle:J.match.episodeTitle||"",episodeId:J.match.episodeId||"",sourceName:J.url.name||"\u5F39\u5E55\u6E90"}},messageToDart({action:"toast",opt:{message:`\u5339\u914D\u5230 ${j.episodeTitle} - \u5F39\u5E55\u89E3\u6790\u4E2D......`,duration:3}})}else w&&console.log(`
|
|
\u6240\u6709\u5F39\u5E55\u6E90\u5747\u672A\u5339\u914D\u6210\u529F`);if(j){w&&(console.log(`
|
|
=== \u8BF7\u6C42\u5F39\u5E55\u6570\u636E ===`),console.log("\u5F39\u5E55URL:",j.url));let J=await Ae.get(j.url,{timeout:1e4});w&&(console.log("\u5F39\u5E55\u54CD\u5E94\u72B6\u6001:",J.status),console.log("\u5F39\u5E55\u6570\u636E:",J.data?.comments?.length||0,"\u6761"));let se=Array.isArray(J.data?.comments)?J.data.comments.filter(Ie=>Ie?.p&&String(Ie?.m||"").trim()!==""):[],oe=se.length;if(messageToDart({action:"toast",opt:{message:`\u901A\u8FC7 ${j.sourceName} - \u89E3\u6790\u5230 ${oe} \u6761\u5F39\u5E55`,duration:3}}),A){m.send({success:oe>0,comments:se,count:oe,match:j.match});return}let ue=`<?xml version="1.0" encoding="UTF-8"?>
|
|
<i>
|
|
`;for(let Ie of se){let we=String(Ie.m).trim();if(we){let qe=we.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");ue+=` <d p="${Ie.p}">${qe}</d>
|
|
`}}ue+="</i>",w&&(console.log("\u8F6C\u6362\u540E\u7684\u5F39\u5E55\u6570\u91CF:",oe),console.log("XML\u6570\u636E\u5927\u5C0F:",ue.length,"\u5B57\u8282"),console.log("XML\u6570\u636E\u9884\u89C8:",ue.substring(0,500)),console.log(`=== \u5F39\u5E55\u5339\u914D\u5B8C\u6210 ===
|
|
`)),m.header("Content-Type","application/xml"),m.send(ue)}else messageToDart({action:"toast",opt:{message:"\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~",duration:3}}),g()}catch(h){console.error(`
|
|
=== \u5F39\u5E55\u5339\u914D\u53D1\u751F\u9519\u8BEF ===`),console.error("\u9519\u8BEF\u7C7B\u578B:",h.name),console.error("\u9519\u8BEF\u4FE1\u606F:",h.message),console.error("\u9519\u8BEF\u5806\u6808:",h.stack),console.error(`=========================
|
|
`),messageToDart({action:"toast",opt:{message:"\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~",duration:2}}),String(p.query?.format||"").toLowerCase()==="json"?m.code(500).send({success:!1,error:"Failed to fetch danmu content",comments:[],count:0,match:null}):m.code(500).send({error:"Failed to fetch danmu content"})}}),t.addHook("onSend",(p,m,h,A)=>{if(m.sent||m.raw?.headersSent||!p.url.endsWith("/detail")&&!p.url.endsWith("/play"))return A(null,h);let g=typeof h=="string"?h:Buffer.isBuffer(h)?h.toString():null;if(!g)return A(null,h);_M(p.server).then(b=>{if(!b?.autoPush)return A(null,h);try{if(p.url.endsWith("/detail")){let y=JSON.parse(g),x=Array.isArray(y?.list)?y.list[0]:null;if(!x||typeof x!="object")return A(null,h);let v=String(x.vod_play_from||""),I=String(x.vod_play_url||"");if(!v||!I)return A(null,h);let R=String(x.vod_name||"").trim(),N=String(sA(R)||"").trim()||R;eue={};let P=v.split("$$$").filter(Boolean);return I.split("$$$").filter(Boolean).forEach((B,M)=>{B.split("#").forEach(D=>{let[L,Z]=D.split("$");if(!Z)return;let W=P[M]||`\u7EBF\u8DEF${M+1}`;eue[`${W}_${Z}`]={name:N,originalName:R,episodeNumber:Vw(L)}})}),A(null,h)}if(p.url.endsWith("/play")){let y=JSON.parse(g);if((y.url||y.url?.length||y.urls?.length)&&!y?.extra?.danmaku){let x=p.body||{},v=`${x.flag||""}_${x.id||""}`,I=eue[v];if(I){y.extra||(y.extra={});let R=new URL(`http://127.0.0.1:${p.server.address().port}/danmu-proxy`);return R.searchParams.set("name",I.name),R.searchParams.set("episodeNumber",I.episodeNumber),I.originalName&&R.searchParams.set("originalName",I.originalName),y.extra.danmaku=R.toString(),A(null,JSON.stringify(y))}}}}catch(y){console.error(y)}return A(null,h)}).catch(b=>(console.error(b),A(null,h)))})}var c6=Re(adt(),1);var cdt=Re(S0(),1),s2=Re(Jn(),1);var $M="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",BE={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},odt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},rwr=async t=>{let e=s2.default.enc.Hex.stringify(s2.default.MD5(t.config.quark.cookie)).toString();return(await t.db.getObjectDefault("/quark",{}))[e]??""},nwr=async(t,e)=>{let r=s2.default.enc.Hex.stringify(s2.default.MD5(t.config.quark.cookie)).toString();await t.db.push(`/quark/${r}`,e)};async function Sue(t){t.get("/qrcode",async(r,n)=>{try{let s=await Ae.get("https://uop.quark.cn/cas/ajax/getTokenForQrcodeLogin?client_id=532&v=1.2",{headers:{"User-Agent":$M}}),i=s.data.data.members.token,a=hl(s.headers["set-cookie"]),o=odt.encode({token:i,cookies:a}),c="https://su.quark.cn/4_eMHBJ?token="+i+"&client_id=532&ssb=weblogin&uc_param_str=&uc_biz_str=S%3Acustom%7COPT%3ASAREA%400%7COPT%3AIMMERSIVE%401%7COPT%3ABACK_BTN_STYLE%400",u=await cdt.default.toBuffer(c,{width:300,height:300});n.header("X-Session-Key",o),n.send(u)}catch(s){console.error("\u5938\u514B\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",s),n.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(r,n)=>{let{sessionKey:s}=r.body,i=odt.decode(s);if(!i)return n.send({code:0,data:{status:BE.EXPIRED}});let{token:a,cookies:o}=i;try{let c=await Ae.get(`https://uop.quark.cn/cas/ajax/getServiceTicketByQrcodeToken?client_id=532&v=1.2&token=${a}`,{headers:{"User-Agent":$M}});if(c.data.status===2e6){let u=await e(c.data.data.members.service_ticket,o);n.send({code:0,data:{status:BE.CONFIRMED,cookie:u}})}else c.data.status===50004002?n.send({code:0,data:{status:BE.EXPIRED}}):c.data.status===50004001?n.send({code:0,data:{status:BE.NEW}}):n.send({code:0,data:{status:BE.NEW}})}catch(c){console.error("\u5938\u514B\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",c),n.send({code:0,data:{status:BE.NEW}})}});async function e(r,n){let s=[...n],i=await Ae.get(`https://pan.quark.cn/account/info?st=${r}&fr=pc&platform=pc`,{headers:{"User-Agent":$M,Cookie:s.join("")}});i.headers["set-cookie"]&&(s=s.concat(hl(i.headers["set-cookie"])));let a=await Ae.get("https://drive-pc.quark.cn/1/clouddrive/share/sharepage/dir?pr=ucpro&fr=pc&uc_param_str=&aver=1",{headers:{"User-Agent":$M,Cookie:s.join("")}});return a.headers["set-cookie"]&&(s=s.concat(hl(a.headers["set-cookie"]))),s.join("")}t.post("/cookie",(r,n)=>{n.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(r,n)=>{n.send({code:0,data:await rwr(r.server)})}),t.put("/cookie",async(r,n)=>{await nwr(r.server,r.body.cookie),n.send({code:0})})}var i2=Re(Jn(),1);var uA={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},udt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},swr=async t=>{let e=i2.default.enc.Hex.stringify(i2.default.MD5(t.config.uc.token)).toString();return(await t.db.getObjectDefault("/uc",{}))[e]??""},iwr=async(t,e)=>{let r=i2.default.enc.Hex.stringify(i2.default.MD5(t.config.uc.token)).toString();await t.db.push(`/uc/${r}`,e)};async function vue(t){t.get("/qrcode",async(e,r)=>{try{let n="/oauth/authorize",s=Math.floor(Date.now()/1e3).toString()+"000",i=Ec.DeviceID,a=Vv(i,s),o=U3("GET",n,s,Is.signKey),c={Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Linux; U; Android 13; zh-cn; M2004J7AC Build/UKQ1.231108.001) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1","x-pan-tm":s,"x-pan-token":o,"x-pan-client-id":Is.clientID,...Ec.AccessToken?{Authorization:`Bearer ${Ec.AccessToken}`}:{}},u=await Ae.get(`${Is.api}${n}`,{params:{req_id:a,access_token:Ec.AccessToken,app_ver:Is.appVer,device_id:i,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Is.channel,auth_type:"code",client_id:Is.clientID,scope:"netdisk",qrcode:"1",qr_width:"460",qr_height:"460"},headers:c}),l=udt.encode({query_token:u.data.query_token,req_id:a});r.header("X-Session-Key",l),r.send(Buffer.from(u.data.qr_data,"base64"))}catch(n){console.error("UC-TV\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let{sessionKey:n}=e.body,s=udt.decode(n);if(!s)return r.send({code:0,data:{status:uA.EXPIRED}});let{query_token:i}=s;try{let a="/oauth/code",o=Math.floor(Date.now()/1e3).toString()+"000",c=Ec.DeviceID,u=Vv(c,o),l=U3("GET",a,o,Is.signKey),d={Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Linux; U; Android 13; zh-cn; M2004J7AC Build/UKQ1.231108.001) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1","x-pan-tm":o,"x-pan-token":l,"x-pan-client-id":Is.clientID,...Ec.AccessToken?{Authorization:`Bearer ${Ec.AccessToken}`}:{}},f=await Ae.get(`${Is.api}${a}`,{params:{req_id:u,access_token:Ec.AccessToken,app_ver:Is.appVer,device_id:c,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Is.channel,client_id:Is.clientID,scope:"netdisk",query_token:i},headers:d,validateStatus:p=>p<500});if(f.data.status===0){let p="/token",m=Math.floor(Date.now()/1e3).toString()+"000",h=Vv(Ec.DeviceID,m),A=JSON.stringify({req_id:h,app_ver:Is.appVer,device_id:Ec.DeviceID,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Is.channel,code:f.data.code}),g=await Ae.post(`${Is.codeApi}${p}`,A,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Content-Type":"application/json"}});g.data.code===200?r.send({code:0,data:{status:uA.CONFIRMED,cookie:g.data.data.access_token}}):r.send({code:0,data:{status:uA.NEW}})}else f.data.errno===11003?r.send({code:0,data:{status:uA.NEW}}):f.data.status===-1||f.data.errno===11001?r.send({code:0,data:{status:uA.EXPIRED}}):r.send({code:0,data:{status:uA.NEW}})}catch(a){console.error("UC-TV\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",a),r.send({code:0,data:{status:uA.NEW}})}}),t.post("/token",async(e,r)=>{r.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/token",async(e,r)=>{r.send({code:0,data:await swr(e.server)})}),t.put("/token",async(e,r)=>{await iwr(e.server,e.body.cookie),r.send({code:0})})}var ldt=async(t,e)=>(await t.db.getObjectDefault("/tyi",{}))?.[e]||"",ddt=async(t,e,r)=>{await t.db.push(`/tyi/${e}`,r)};async function Iue(t){t.get("/account",async(e,r)=>{let n=await ldt(e.server,"cloud_account"),s=await ldt(e.server,"cloud_password");r.send({code:0,data:{username:n,password:s}})}),t.put("/account",async(e,r)=>{await ddt(e.server,"cloud_account",e.body.username),await ddt(e.server,"cloud_password",e.body.password),r.send({code:0})})}var awr=["https://www.leijing1.com"],owr=async t=>(await t.db.getObjectDefault("/leijing",{}))?.urls||t.config.leijing?.urls||awr,cwr=async(t,e)=>{await t.db.push("/leijing/urls",e)},uwr=async t=>{await t.db.delete("/leijing/urls")};async function Cue(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await owr(e.server)})}),t.put("/urls",async(e,r)=>{await cwr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await uwr(e.server),r.send({code:0})})}var fdt=async(t,e)=>(await t.db.getObjectDefault("/pan123",{}))?.[e]||"",pdt=async(t,e,r)=>{await t.db.push(`/pan123/${e}`,r)};async function Tue(t){t.get("/account",async(e,r)=>{let n=await fdt(e.server,"pan_passport"),s=await fdt(e.server,"pan_password");r.send({code:0,data:{username:n,password:s}})}),t.put("/account",async(e,r)=>{await pdt(e.server,"pan_passport",e.body.username),await pdt(e.server,"pan_password",e.body.password),r.send({code:0})})}var lA=async(t,e)=>(await t.db.getObjectDefault("/xun",{}))?.[e]||"",Zl=async(t,e,r)=>{await t.db.push(`/xun/${e}`,r)},wue=(t="")=>String(t||"").trim();async function Rue(t){t.get("/account",async(e,r)=>{let n=await lA(e.server,"xun_username"),s=await lA(e.server,"xun_password"),i=!!await lA(e.server,"xun_auth");r.send({code:0,data:{username:n,password:s,hasAuth:i}})}),t.put("/account",async(e,r)=>{await Zl(e.server,"xun_username",e.body.username||""),await Zl(e.server,"xun_password",e.body.password||""),await Zl(e.server,"xun_auth",""),await Zl(e.server,"xun_refresh_token",""),await Zl(e.server,"xun_user_id",""),r.send({code:0})}),t.get("/auth-status",async(e,r)=>{let n=!!await lA(e.server,"xun_auth");r.send({code:0,data:{hasAuth:n}})}),t.post("/login",async(e,r)=>{try{let n=wue(e.body?.username),s=wue(e.body?.password);if(!n){r.send({code:1,message:"\u8BF7\u8F93\u5165\u8FC5\u96F7\u8D26\u53F7"});return}if(!s){r.send({code:1,message:"\u8BF7\u8F93\u5165\u8FC5\u96F7\u5BC6\u7801"});return}await Zl(e.server,"xun_username",n),await Zl(e.server,"xun_password",s),await Zl(e.server,"xun_auth",""),await Zl(e.server,"xun_refresh_token",""),await Zl(e.server,"xun_user_id",""),await ib(e),await Vh.getDownload_auth();let i=!!await lA(e.server,"xun_auth");r.send({code:i?0:1,message:i?"\u767B\u5F55\u6210\u529F":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u8D26\u53F7\u5BC6\u7801",data:{hasAuth:i}})}catch(n){console.warn("[xunlei] password login failed",{hasUsername:!!wue(e.body?.username),message:n?.message||String(n)}),r.send({code:1,message:n?.message||"\u8FC5\u96F7\u8D26\u53F7\u5BC6\u7801\u767B\u5F55\u5931\u8D25"})}}),t.post("/send-code",async(e,r)=>{if(await ib(e),!await lA(e.server,"xun_username")){r.send({code:1,message:"\u8BF7\u5148\u4FDD\u5B58\u8FC5\u96F7\u8D26\u53F7"});return}await Vh.getVerifyCode(),r.send({code:0,data:{sent:!0}})}),t.post("/verify-code",async(e,r)=>{await ib(e);let n=String(e.body?.code||"").trim();if(!n){r.send({code:1,message:"\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A"});return}await Vh.getVerify(n);let s=!!await lA(e.server,"xun_auth");r.send({code:s?0:1,message:s?"\u767B\u5F55\u6210\u529F":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u9A8C\u8BC1\u7801",data:{hasAuth:s}})})}var gdt=Re(S0(),1),Nue=Re(Jn(),1),Adt=Re(rI(),1),ydt="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",va={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},mdt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},hdt=null;function xdt(t){return Nue.default.enc.Hex.stringify(Nue.default.MD5(t.config.ali.token)).toString()}var lwr=async t=>{let e=await t.db.getObjectDefault("/ali",{});return String(e.token||e[xdt(t)]||"").trim()},dwr=async(t,e)=>{let r=String(e||"").trim();await t.db.push("/ali/token",r),await t.db.push(`/ali/${xdt(t)}`,r)};function fwr(t){return{t:t.t,appName:"aliyun_drive",ck:t.ck,appEntrance:"web",isMobile:"false",lang:"zh_CN",returnUrl:"",navlanguage:"zh-CN",navPlatform:"MacIntel",fromSite:"52",bizParams:""}}function pwr(t){let e=String(t||"").toUpperCase();return e===va.CONFIRMED?va.CONFIRMED:e===va.SCANNED||e==="SCANED"?va.SCANNED:e===va.CANCELED||e==="CANCELLED"?va.CANCELED:e===va.NEW?va.NEW:va.EXPIRED}async function mwr(){return(await Ae.get("https://passport.aliyundrive.com/newlogin/qrcode/generate.do?appName=aliyun_drive&fromSite=52&appName=aliyun_drive&appEntrance=web&isMobile=false&lang=zh_CN&returnUrl=&bizParams=&_bx-v=2.2.3",{headers:{"User-Agent":ydt}})).data?.content?.data}async function hwr(t){return(await Ae.post("https://passport.aliyundrive.com/newlogin/qrcode/query.do?appName=aliyun_drive&fromSite=52&_bx-v=2.2.3",Adt.default.stringify(fwr(t)),{headers:{"content-type":"application/x-www-form-urlencoded","User-Agent":ydt,referer:"https://www.aliyundrive.com/"}})).data?.content?.data||null}function gwr(t){let e=t?.bizExt;if(!e)return"";let r=Buffer.from(e,"base64").toString("utf8");try{return JSON.parse(r)?.pds_login_result?.refreshToken||""}catch{return JSON.parse(decodeURI(r))?.pds_login_result?.refreshToken||""}}async function Awr(t){let e=await hwr(t);if(!e)return{status:va.EXPIRED};let r=pwr(e.qrCodeStatus);if(r!==va.CONFIRMED)return{status:r};let n=gwr(e);return n?{status:va.CONFIRMED,cookie:n}:{status:va.EXPIRED}}async function Oue(t){t.get("/qrcode",async(e,r)=>{try{let n=await mwr();if(!n?.ck||!n?.t||!n?.codeContent)throw new Error("\u4E8C\u7EF4\u7801\u5185\u5BB9\u7F3A\u5931");hdt={ck:n.ck,t:n.t};let s=mdt.encode(hdt),i=await gdt.default.toBuffer(n.codeContent,{width:300,height:300});r.header("X-Session-Key",s),r.send(i)}catch(n){console.error("\u963F\u91CC\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let n=mdt.decode(e.body?.sessionKey);if(!n)return r.send({code:0,data:{status:va.EXPIRED}});try{let s=await Awr(n);r.send({code:0,data:s})}catch(s){console.error("\u963F\u91CC\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",s),r.send({code:0,data:{status:va.EXPIRED}})}}),t.get("/token",async(e,r)=>{r.send({code:0,data:await lwr(e.server)})}),t.put("/token",async(e,r)=>{let n=e.body?.cookie??e.body?.data?.token??"";await dwr(e.server,n),r.send({code:0})})}var T0n=Re(S0(),1),R0n=Re(Jn(),1);var LE="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",dA={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},bdt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},ywr=async t=>(await t.db.getObjectDefault("/baidu",{}))["baidu_cookie"]??"",Pue=async(t,e)=>{await t.db.push("/baidu/baidu_cookie",e)};function xwr(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}async function kue(t){t.get("/qrcode",async(r,n)=>{try{let s=xwr(),i=new Date().getTime().toString(),a=Math.floor(new Date().getTime()/1e3).toString(),o=`tangram_guid_${i}`,u=(await he.get("https://passport.baidu.com/v2/api/getqrcode",{params:{lp:"pc",qrloginfrom:"pc",gid:s,callback:o,apiver:"v3",tt:a,tpl:"netdisk",_:i},headers:{"User-Agent":LE,Referer:"https://pan.baidu.com","sec-ch-ua-platform":'"Windows"',DNT:"1"}})).data;if(typeof u=="string"){u=u.replace(/^[^(]*\(/,"").replace(/\);?$/,"");let l=JSON.parse(u);if(l.errno===0){let d=bdt.encode({sign:l.sign,channel_id:l.channel_id}),f="https://"+l.imgurl,p=await he.get(f,{responseType:"arraybuffer",headers:{"User-Agent":LE}});n.header("X-Session-Key",d),n.send(p.data)}else throw new Error(`\u83B7\u53D6\u4E8C\u7EF4\u7801\u5931\u8D25: ${l.errmsg||"\u672A\u77E5\u9519\u8BEF"}`)}else throw new Error("\u54CD\u5E94\u683C\u5F0F\u9519\u8BEF")}catch(s){console.error("\u767E\u5EA6\u4E8C\u7EF4\u7801\u83B7\u53D6\u5931\u8D25:",s),n.status(500).send({code:-1,message:s?.message||"\u83B7\u53D6\u4E8C\u7EF4\u7801\u5931\u8D25"})}}),t.post("/check-status",async(r,n)=>{let{sessionKey:s}=r.body,i=bdt.decode(s);if(!i)return n.send({code:0,data:{status:dA.EXPIRED}});let{sign:a}=i;try{let o=new Date().getTime().toString(),c=`tangram_guid_${o}`,l=(await he.get("https://passport.baidu.com/channel/unicast",{params:{channel_id:a,tpl:"netdisk",apiver:"v3",tt:Math.floor(new Date().getTime()/1e3).toString(),callback:c,_:o},headers:{"User-Agent":LE,Referer:"https://pan.baidu.com"}})).data;if(typeof l=="string"){l=l.replace(/^[^(]*\(/,"").replace(/\);?\s*$/,"").trim();let d=JSON.parse(l);if(d.errno===0&&d.channel_v){let f=JSON.parse(d.channel_v);if(f.status===1)return n.send({code:0,data:{status:dA.SCANNED}});if(f.status===0&&f.v){let p=await e(f.v,r.server);return n.send({code:0,data:{status:dA.CONFIRMED,cookie:p}})}}else{if(d.errno===1)return n.send({code:0,data:{status:dA.NEW}});if(d.errno===2)return n.send({code:0,data:{status:dA.EXPIRED}})}}n.send({code:0,data:{status:dA.NEW}})}catch(o){console.error("\u767E\u5EA6\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",o),n.send({code:0,data:{status:dA.NEW}})}});async function e(r,n){let s=new Date().getTime().toString(),i=Math.floor(new Date().getTime()/1e3).toString(),o=(await he.get("https://passport.baidu.com/v3/login/main/qrbdusslogin",{params:{v:s,bduss:r,u:"https://pan.baidu.com/disk/main#/index?category=all",loginVersion:"v5",qrcode:"1",tpl:"netdisk",maskId:"",fileId:"",apiver:"v3",tt:s,traceid:"",time:i,alg:"v3",elapsed:"1"},headers:{"User-Agent":LE,Referer:"https://pan.baidu.com/","Accept-Language":"zh-CN,zh;q=0.9"},timeout:3e4})).data;if(typeof o=="string"){o=o.replace(/^[^(]*\(/,"").replace(/\);?\s*$/,"").trim();let c=o.match(/"bduss":\s*"([^"]+)"/),u=o.match(/"stoken":\s*"([^"]+)"/),l=o.match(/"ptoken":\s*"([^"]+)"/),d=o.match(/"ubi":\s*"([^"]+)"/);if(c&&u&&l&&d){let f=c[1],p=u[1],m=l[1],h=encodeURIComponent(d[1]),g=Object.entries({newlogin:"1",UBI:h,STOKEN:p,BDUSS:f,PTOKEN:m,BDUSS_BFESS:f,STOKEN_BFESS:p,PTOKEN_BFESS:m,UBI_BFESS:h}).map(([x,v])=>`${x}=${v}`).join("; "),y=(await he.get("https://passport.baidu.com/v3/login/api/auth/?return_type=5&tpl=netdisk&u=https://pan.baidu.com/disk/home",{headers:{"User-Agent":LE,Referer:"https://pan.baidu.com/",Cookie:g},maxRedirects:0,validateStatus:x=>x===302||x===200})).headers.location;if(y){let v=(await he.get(y,{headers:{"User-Agent":LE,Referer:"https://pan.baidu.com/",Cookie:g},maxRedirects:0,validateStatus:w=>w===302||w===200})).headers["set-cookie"],I="";if(v){let w=v.find(N=>N.toLowerCase().includes("stoken"));w&&(I=w.split(";")[0])}let R=I?`BDUSS=${f};${I};`:`BDUSS=${f};STOKEN=${p};`;return await Pue(n,R),R}else{let x=`BDUSS=${f};STOKEN=${p};`;return await Pue(n,x),x}}}throw new Error("Cookie\u89E3\u6790\u5931\u8D25")}t.post("/cookie",async(r,n)=>{n.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(r,n)=>{n.send({code:0,data:await ywr(r.server)})}),t.put("/cookie",async(r,n)=>{await Pue(r.server,r.body.cookie),n.send({code:0})})}var vdt=require("crypto");var Idt=Re(S0(),1),Cdt="https://account.guangyapan.com",Due="aMe-8VSlkrbQXpUR",Edt="0123456789abcdef0123456789abcdef",Xf={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},bwr="urn:ietf:params:oauth:grant-type:device_code",_dt={encode(t,e=12e4){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},FM=async(t,e)=>(await t.db.getObjectDefault("/guangyapan",{}))?.[e]||"",a2=async(t,e,r)=>{await t.db.push(`/guangyapan/${e}`,r)};function Tdt(t){if(!t)return{};if(typeof t=="string")try{return JSON.parse(t)}catch{return{message:t}}return t}function Xi(t){return String(t||"").trim()}function Ewr(t){let e=String(t||"").trim().toLowerCase();return e=e.replace(/^wdi10\./,""),e=e.replace(/x+$/g,""),e=e.replace(/[^0-9a-f]/g,""),e.length===32?e:""}async function _wr(t){let e=Ewr(await FM(t,"device_id"));if(e)return e;let r=Edt;try{r=(0,vdt.randomBytes)(16).toString("hex")}catch{r=Edt}return await a2(t,"device_id",r),r}function wdt(t){return{Accept:"application/json, text/plain, */*","Content-Type":"application/json","X-Client-Id":Due,"X-Client-Version":"0.0.1","X-Device-Id":t,"X-Device-Model":"chrome%2F147.0.0.0","X-Device-Name":"PC-Chrome","X-Device-Sign":`wdi10.${t}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,"X-Net-Work-Type":"NONE","X-OS-Version":"Win32","X-Platform-Version":"1","X-Protocol-Version":"301","X-Provider-Name":"NONE","X-SDK-Version":"9.0.2"}}function Swr(t){let e=Xi(t?.access_token||t?.accessToken),r=Xi(t?.refresh_token||t?.refreshToken);return{accessToken:e,refreshToken:r}}function vwr(t,e){let{accessToken:r,refreshToken:n}=Swr(e);if(t>=200&&t<300&&(n||r))return{status:Xf.CONFIRMED,accessToken:r,refreshToken:n};let s=Xi(e?.error).toLowerCase();return s==="authorization_pending"||s==="slow_down"?{status:Xf.NEW}:s==="access_denied"?{status:Xf.CANCELED}:s.includes("expired")||s==="invalid_grant"?{status:Xf.EXPIRED}:{status:Xf.NEW}}function Iwr(t){let e=Xi(t?.refreshToken);return e||Xi(t?.accessToken)}async function Cwr(t){let e=await Ae.post(`${Cdt}/v1/auth/device/code`,{scope:"user",client_id:Due},{headers:wdt(t),validateStatus:()=>!0}),r=Tdt(e.data),n=Xi(r?.device_code),s=Xi(r?.verification_uri_complete||r?.verification_url),i=Number(r?.expires_in||120);if(e.status<200||e.status>=300||!n||!s)throw new Error(r?.error_description||r?.message||`status=${e.status}`);return{deviceCode:n,verifyUrl:s,expiresIn:i}}async function Twr(t){let e=await Ae.post(`${Cdt}/v1/auth/token`,{grant_type:bwr,device_code:t.deviceCode,client_id:Due},{headers:wdt(t.deviceId),validateStatus:()=>!0});return vwr(e.status,Tdt(e.data))}async function Sdt(t,e){let r=Xi(e?.accessToken),n=Xi(e?.refreshToken);n&&await a2(t,"refresh_token",n),r&&await a2(t,"access_token",r)}function wwr(t){let e=Xi(t?.cookie),r=Xi(t?.accessToken||t?.data?.accessToken),n=Xi(t?.refreshToken||t?.data?.refreshToken),s=!1;if(!r&&!n&&e)try{let i=JSON.parse(e);s=!0,r=Xi(i?.accessToken||i?.access_token),n=Xi(i?.refreshToken||i?.refresh_token)}catch{n=e}return!s&&!n&&e&&(n=e),{accessToken:r,refreshToken:n}}async function Bue(t){t.get("/qrcode",async(e,r)=>{try{let n=await _wr(e.server),s=await Cwr(n),i=_dt.encode({deviceCode:s.deviceCode,deviceId:n},Math.max(1e3,s.expiresIn*1e3)),a=await Idt.default.toBuffer(s.verifyUrl,{width:300,height:300});r.header("X-Session-Key",i),r.type("image/png").send(a)}catch(n){console.error("\u5149\u9E2D\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let n=_dt.decode(e.body?.sessionKey);if(!n)return r.send({code:0,data:{status:Xf.EXPIRED}});try{let s=await Twr(n);if(s.status===Xf.CONFIRMED)return await Sdt(e.server,s),r.send({code:0,data:{status:Xf.CONFIRMED,cookie:Iwr(s)}});r.send({code:0,data:s})}catch(s){console.error("\u5149\u9E2D\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",s),r.send({code:0,data:{status:Xf.NEW}})}}),t.get("/token",async(e,r)=>{r.send({code:0,data:await FM(e.server,"refresh_token")})}),t.put("/token",async(e,r)=>{await Sdt(e.server,wwr(e.body||{})),r.send({code:0})}),t.get("/account",async(e,r)=>{r.send({code:0,data:{accessToken:await FM(e.server,"access_token"),refreshToken:await FM(e.server,"refresh_token")}})}),t.put("/account",async(e,r)=>{await a2(e.server,"access_token",Xi(e.body?.accessToken)),await a2(e.server,"refresh_token",Xi(e.body?.refreshToken)),r.send({code:0})})}var UM=Re(require("crypto"),1),ho=Re(Jn(),1),Pdt="https://user-njs.yun.139.com/user",Wue="7.17.4",Rwr="mCloud_4.3.0_536",Lue=670,Nwr=292,kdt=ho.default.enc.Utf8.parse("h7DLzCTAjn+altjy2a9E9FSt7AC6pmx1"),Rdt=`||9|${Wue}|chrome||0||windows 10||zh-CN|||`,$ue=(t="")=>String(t||"").replace(/^Basic\s+/i,"").trim(),Ia=(t="")=>String(t||"").trim(),Mue=(t="")=>UM.default.createHash("md5").update(String(t)).digest("hex"),Owr=(t="")=>UM.default.createHash("sha1").update(String(t)).digest("hex"),Pwr=t=>{try{return JSON.stringify(t)}catch{return String(t)}},kwr=t=>{try{return JSON.parse(t)}catch{return null}},Ndt=(t="",e=160)=>String(t).replace(/\s+/g," ").slice(0,e),Dwr=(t,e="\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8FD4\u56DE\u5F02\u5E38")=>typeof t=="string"?t||e:t&&typeof t=="object"?t.message||t.msg||t.desc||t.resultDesc||Pwr(t):t==null?e:String(t),ME=(t="")=>{let e=Ia(t);return e.length<7?e?"***":"":`${e.slice(0,3)}****${e.slice(-4)}`},Fue=(t={},e="\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8FD4\u56DE\u5F02\u5E38")=>{let r=String(t.code??t.status??t.resultCode??t.resultcode??""),n=Dwr(t.message??t.msg??t.desc??t.resultDesc??t.errorMessage,r?`${e}\uFF1A${r}`:e),s=new Error(r?`${n}\uFF08${r}\uFF09`:n);return s.yidongCode=r,s.yidongData=t.data,s.yidongResult=t,s.statusCode=t.statusCode,s},Bwr=t=>{let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let n=0;n<t;n+=1)r+=e[Math.floor(Math.random()*e.length)];return r},Lwr=(t={})=>encodeURIComponent(JSON.stringify({...t})).split("").sort().join(""),Mwr=(t={})=>{let e=String(Date.now()),r=Bwr(16),n=Mue(Buffer.from(Lwr(t)).toString("base64")),s=Mue(`${e}:${r}`);return`${e},${r},${Mue(n+s).toUpperCase()}`},Wwr=(t={},e={})=>({caller:"web","Content-Type":"application/json;charset=UTF-8","CMS-DEVICE":"default","X-Deviceinfo":`||9|${Wue}|chrome||0||windows 10||zh-CN|||`,"x-yun-channel-source":"10000034","x-huawei-channelSrc":"10000034","x-yun-svc-type":"1","x-SvcType":"1","x-m4c-caller":"PC","x-m4c-src":"10002","x-inner-ntwk":"2","mcloud-route":"001","mcloud-version":Wue,"mcloud-channel":"1000101","mcloud-client":"10701","mcloud-sign":Mwr(t),"mcloud-skey":"","INNER-HCY-ROUTER-HTTPS":"1",...e}),Ddt=t=>{let e=t?.data||{},r=String(e.code??e.status??e.resultCode??e.resultcode??"");if(e.success===!1||r&&r!=="0"&&r!=="0000")throw Fue(e);return e},$wr=(t={})=>{let e=ho.default.lib.WordArray.random(16),r=ho.default.enc.Utf8.parse(typeof t=="string"?t:JSON.stringify(t)),n=ho.default.AES.encrypt(r,kdt,{iv:e,mode:ho.default.mode.CBC,padding:ho.default.pad.Pkcs7});return ho.default.enc.Base64.stringify(e.concat(n.ciphertext))},Fwr=(t="")=>{let e=ho.default.enc.Base64.parse(String(t)),r=e.clone(),n=r.words.splice(4);r.init(r.words),e.init(n);let s=ho.default.AES.decrypt(ho.default.enc.Base64.stringify(e),kdt,{iv:r,mode:ho.default.mode.CBC,padding:ho.default.pad.Pkcs7}).toString(ho.default.enc.Utf8);return JSON.parse(s)},Bdt=(t="")=>{if(typeof t!="string")return t;try{return Fwr(t)}catch(e){let r=kwr(t);return r&&typeof r=="object"?r:(console.warn("[yidong] cool response decrypt failed",{dataLength:String(t).length,dataPreview:Ndt(t),message:e?.message||String(e)}),{success:!1,code:"COOL_DECRYPT_FAILED",message:`\u79FB\u52A8\u4E91\u76D8\u52A0\u5BC6\u54CD\u5E94\u89E3\u6790\u5931\u8D25\uFF1A${Ndt(t)||e?.message||String(e)}`})}},Uwr=t=>{let e=Bdt(t?.data);return Ddt({data:e})},qwr=t=>{let e=UM.default.createDecipheriv("aes-128-ecb",Buffer.from("qPqDw263XgFgL3u8"),null);return e.setAutoPadding(!0),Buffer.concat([e.update(Buffer.from(t,"hex")),e.final()]).toString("utf8")},jwr=t=>{if(typeof t!="string")return t||{};try{return JSON.parse(qwr(t))}catch{try{return JSON.parse(t)}catch{throw new Error("\u79FB\u52A8\u4E91\u76D8\u767B\u5F55\u7ED3\u679C\u89E3\u6790\u5931\u8D25")}}},Hwr=(t,e)=>!t||!e?"":Buffer.from(`pc:${t}:${e}`,"utf8").toString("base64"),Odt=async(t,e,r={})=>{try{let n=await Ae.post(`${Pdt}${t}`,e,{timeout:3e4,headers:Wwr(e,r)});return Ddt(n)}catch(n){if(n?.response?.data){let s=n.response.data;throw Fue(s,"\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8BF7\u6C42\u5931\u8D25")}throw n}},Qwr=async(t,e,r={})=>{let{clientInfo:n,...s}=r;try{let i=await Ae.post(`${Pdt}${t}`,$wr(e),{timeout:3e4,headers:{"Content-Type":"application/json;charset=UTF-8","hcy-cool-flag":"1","x-Nationcode":e.nationCode||"+86","x-deviceinfo":n||Rdt,"x-yun-client-info":n||Rdt,"x-yun-app-channel":"10000034",...s}});return Uwr(i)}catch(i){if(i?.response?.data){let a=Bdt(i.response.data);throw Fue(a,"\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8BF7\u6C42\u5931\u8D25")}throw i}},o2=async(t,e)=>(await t.db.getObjectDefault("/yidong",{}))?.[e]||"",ed=async(t,e,r)=>{let n=e==="authorization"?$ue(r):Ia(r);await t.db.push(`/yidong/${e}`,n),e==="authorization"&&(globalThis.YidongAuthorization=n)},Ldt=async t=>{globalThis.YidongAuthorization=$ue(await o2(t,"authorization"))};async function Uue(t){t.get("/authorization",async(e,r)=>{let n=$ue(await o2(e.server,"authorization")),s=Ia(await o2(e.server,"phone"));globalThis.YidongAuthorization=n,r.send({code:0,data:{authorization:n,phone:s,hasAuth:!!n}})}),t.put("/authorization",async(e,r)=>{await ed(e.server,"authorization",e.body.authorization),r.send({code:0})}),t.post("/send-code",async(e,r)=>{let n=Ia(e.body?.phone),s=Math.random();try{if(!/^1[3456789]\d{9}$/.test(n)){r.send({code:1,message:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7"});return}let i={phoneNumber:n,reqType:3,random:s,nationCode:"+86",clientType:Lue},a=await Odt("/sms/getSmsCode",i,{"x-NationCode":"+86"}),o=Ia(a?.data?.random||a?.random||s);await ed(e.server,"phone",n),await ed(e.server,"smsRandom",o),await ed(e.server,"smsLoginRandom",s),console.info("[yidong] sms code sent",{phone:ME(n),reqType:i.reqType,randomLength:o.length}),r.send({code:0,data:{sent:!0}})}catch(i){if(console.warn("[yidong] send code failed",{phone:ME(e.body?.phone),code:i?.yidongCode,message:i?.message||String(i)}),i?.yidongCode==="200059554"){let a=Number(i?.yidongData?.captchaType||i?.yidongResult?.data?.captchaType||2);await ed(e.server,"phone",n),await ed(e.server,"smsLoginRandom",s),console.info("[yidong] sms code requires captcha",{phone:ME(n),captchaType:a}),r.send({code:0,data:{captchaRequired:!0,captchaType:a}});return}r.send({code:1,message:i?.message||"\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25"})}}),t.post("/send-code-captcha",async(e,r)=>{try{let n=Ia(e.body?.phone),s=Number(e.body?.captchaType||2),i=e.body?.puzzleVerfycode??e.body?.puzzleVerfyCode,a=Ia(e.body?.clientInfo);if(!/^1[3456789]\d{9}$/.test(n)){r.send({code:1,message:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7"});return}if(!i){r.send({code:1,message:"\u8BF7\u5148\u5B8C\u6210\u6ED1\u5757\u9A8C\u8BC1"});return}let o=Ia(await o2(e.server,"smsLoginRandom")),c=Number(o),u=o&&Number.isFinite(c)?c:Math.random(),d=await Qwr("/sms/getSmsCode",{phoneNumber:n,reqType:3,random:u,nationCode:"+86",clientType:Lue,captchaType:s,puzzleVerfycode:i},a?{clientInfo:a}:{}),f=Ia(d?.data?.random||d?.random||u);await ed(e.server,"phone",n),await ed(e.server,"smsRandom",f),console.info("[yidong] sms code sent after captcha",{phone:ME(n),captchaType:s,randomLength:f.length}),r.send({code:0,data:{sent:!0}})}catch(n){console.warn("[yidong] send code after captcha failed",{phone:ME(e.body?.phone),code:n?.yidongCode,message:n?.message||String(n)}),r.send({code:1,message:n?.message||"\u6ED1\u5757\u9A8C\u8BC1\u540E\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25"})}}),t.post("/verify-code",async(e,r)=>{let n="";try{let s=Ia(e.body?.phone),i=Ia(e.body?.code);if(!/^1[3456789]\d{9}$/.test(s)){r.send({code:1,message:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7"});return}if(!i){r.send({code:1,message:"\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A"});return}n=Ia(await o2(e.server,"smsRandom"));let a={msisdn:s,random:"",dycpwd:i,cpid:Nwr,clienttype:Lue,version:Rwr,pintype:5,secinfo:Owr(`fetion.com.cn:${i}`).toUpperCase(),verType:2,loginMode:"0",extInfo:{ifOpenAccount:"1"}},o=await Odt("/thirdlogin",a,{"x-NationCode":"+86"}),c=jwr(o.data),u=Ia(c.account||s),l=Ia(c.token||c.authToken),d=Hwr(u,l);if(!d){r.send({code:1,message:"\u79FB\u52A8\u4E91\u76D8\u767B\u5F55\u6210\u529F\u4F46\u672A\u8FD4\u56DE\u6709\u6548 token"});return}await ed(e.server,"phone",s),await ed(e.server,"authorization",d),r.send({code:0,message:"\u767B\u5F55\u6210\u529F",data:{hasAuth:!0,authorization:d}})}catch(s){console.warn("[yidong] verify code failed",{phone:ME(e.body?.phone),codeLength:Ia(e.body?.code).length,smsRandomLength:n.length,message:s?.message||String(s)}),r.send({code:1,message:s?.message||"\u9A8C\u8BC1\u7801\u767B\u5F55\u5931\u8D25"})}})}var qM=[{key:"quark",name:"\u5938\u514B",enable:!0,pic:"https://ts1.cn.mm.bing.net/th/id/R-C.a0d60e6a72806738e6f0b711a979bdf5?rik=lp5C9t5sYlkrLw&riu=http%3a%2f%2fpic.2265.com%2fupload%2f2020-10%2f202010151719492792.png&ehk=Pv6rq3JxJvKe2y1QsdzssyZ4Ez4cwiKWmIvK0aMgxi0%3d&risl=&pid=ImgRaw&r=0",chunkSize:512,poolSize:10,noSaveMode:!1},{key:"uc",name:"UC",enable:!0,pic:"https://ts1.cn.mm.bing.net/th/id/R-C.421c96e47df7c9719403654ee4f7c281?rik=yiiEoGCTgDDc3w&riu=http%3a%2f%2fpic.9663.com%2fupload%2f2023-5%2f20235111411256277.png&ehk=R81N%2flXMrl%2bxpRlST8DtHXDfab6rzaMb83gihuD71Fk%3d&risl=&pid=ImgRaw&r=0",chunkSize:512,poolSize:10},{key:"ali",name:"\u963F\u91CC",enable:!0,pic:"https://inews.gtimg.com/newsapp_bt/0/13263837859/1000",chunkSize:128,poolSize:20},{key:"baidu",name:"\u767E\u5EA6",enable:!0,pic:"https://nd-static.bdstatic.com/m-static/v20-main/home/img/icon-home-new.b4083345.png"},{key:"xunlei",name:"\u8FC5\u96F7",enable:!0,pic:"https://img.geekie.site/i/2026/03/22/190713.png"},{key:"tianyi",name:"\u5929\u7FFC",enable:!0,pic:"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/a8/fa/f0/a8faf032-0fa4-d9c5-ac70-920d9c84dff1/AppIcon-0-0-1x_U007emarketing-0-7-0-0-sRGB-85-220.png/350x350.png"},{key:"yidong",name:"\u79FB\u52A8",enable:!0,pic:"https://yun.139.com/w/static/img/LOGO.png"},{key:"123",name:"123",enable:!0,pic:"https://statics.123957.com/static/favicon.ico"},{key:"115",name:"115",enable:!0,pic:"https://img.pcsoft.com.cn/soft/202104/093230-608b5e2ed5912.jpg"},{key:"guangyapan",name:"\u5149\u9E2D",enable:!0,pic:"https://www.guangyapan.com/icon.png"}],que=async t=>{let r=(await t.db.getObjectDefault("/pans",{}))?.list||t.config.pans.list;return r.filter(n=>qM.some(s=>s.key===n.key)).concat(qM.filter(n=>!r.some(s=>s.key===n.key))).map(n=>({...qM.find(i=>i.key===n.key),...n}))},Gwr=async(t,e)=>{await t.db.push("/pans/list",e),globalThis.Pans=e},Kwr=async t=>{await t.db.delete("/pans/list"),globalThis.Pans=qM};async function jue(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await que(e.server)})}),t.put("/list",async(e,r)=>{await Gwr(e.server,e.body.list),r.send({code:0})}),t.delete("/list",async(e,r)=>{await Kwr(e.server),r.send({code:0})})}var Mdt=Re(vv(),1);async function Hue(t){t.get("/",async(e,r)=>{r.header("Content-Disposition",`attachment; filename="config.${(0,Mdt.default)().format("YYYY-MM-DD")}.json"`);let n=await e.server.db.getData("/");r.send(JSON.stringify(n,null,4))}),t.put("/",async(e,r)=>{await e.server.db.push("/",e.body),r.send({code:0})})}var Wdt=Re(require("crypto"),1);function Ft(t=[],e=null){let r=Array.isArray(t)?t:[];return{Items:r,TotalRecordCount:typeof e=="number"?e:r.length}}function Xr(t,e,r=""){if(!t||typeof t!="object")return r;for(let n of e)if(t[n]!==void 0&&t[n]!==null)return t[n];return r}function Que(t,e){return typeof t!="string"||!t.trim()?[]:t.split(e).map(r=>String(r||"").trim()).filter(Boolean)}function Vwr(t){let e=String(t||""),r=e.lastIndexOf("$");return r<=0?{name:e||"\u64AD\u653E",playId:""}:{name:e.slice(0,r).trim()||"\u64AD\u653E",playId:e.slice(r+1).trim()}}function go(t,e){let r=Que(t,"$$$"),n=Que(e,"$$$"),s=Math.max(r.length,n.length),i=[];for(let a=0;a<s;a++){let c=Que(n[a]||"","#").map(Vwr).filter(u=>u.playId);i.push({flag:r[a]||`\u7EBF\u8DEF${a+1}`,episodes:c})}return i}function fA(t,e=1){let r=Number.parseInt(Vw(String(t||"")),10);if(Number.isInteger(r)&&r>0)return r;let n=Number.parseInt(String(e||1),10);return Number.isInteger(n)&&n>0?n:1}function zwr(t,e=""){let r=[];for(let n=0;n<t.length;n+=2){let s=String(t[n]||"").trim(),i=Kue(t[n+1]||"");i&&r.push({label:s,url:i})}if(!r.length)return t.map(s=>Kue(s)).find(Boolean)||"";if(e){let n=r.find(s=>s.label===e);if(n)return n.url}return r[0].url}function Gue(t=""){return/^(https?:\/\/|push:\/\/)/i.test(String(t||"").trim())}function Kue(t=""){let e=String(t||"").trim();if(!e)return"";if(Gue(e))return e;let r=e.split("#").map(n=>String(n||"").trim()).filter(Boolean);for(let n of r){if(Gue(n))return n;let i=n.split(",").map(c=>String(c||"").trim()).filter(Boolean).find(c=>Gue(c));if(i)return i;let a=n.match(/(https?:\/\/[^\s,]+)/i);if(a?.[1])return a[1].trim();let o=n.match(/(push:\/\/[^\s,]+)/i);if(o?.[1])return o[1].trim()}return""}function um(t,e=""){let r=t?.url||"";Array.isArray(r)?r=zwr(r,e):r=Kue(r),typeof r!="string"&&(r="");let n={};return t?.header&&typeof t.header=="object"&&Object.keys(t.header).forEach(s=>{let i=t.header[s];i!=null&&(n[s]=String(i))}),{parse:Number(t?.parse||0),url:r.trim(),header:n}}function Pu(t,e=60){let r=Number(t);return!Number.isFinite(r)||r<=0?e:Math.min(200,r)}function Ca(t=[],e=0,r=60){let n=Array.isArray(t)?t:[],s=Math.max(0,Number(e)||0),i=Pu(r,60);return n.slice(s,s+i)}function ss(t={}){return{IsFavorite:!1,Played:!1,PlayCount:0,PlaybackPositionTicks:0,...t}}function WE(t={}){let e=`${t?.vod_name||""} ${t?.vod_remarks||""}`;return/(æ›´æ–°|第\s*\d+\s*[é›†è¯æœŸ]|连载|season|s\d+e\d+)/i.test(e)?"Series":"Movie"}function $s(){return new Date().toISOString()}function Ywr(t={}){if(typeof t=="string")try{t=JSON.parse(t)}catch{t={}}return{username:String(t?.username||t?.Username||t?.name||t?.Name||""),password:String(t?.pw||t?.Pw||t?.password||t?.Password||"")}}function Jwr(t=""){let e={};return String(t).replace(/^MediaBrowser\s+/i,"").replace(/^Emby\s+/i,"").replace(/,\s+/g,",").split(",").forEach(n=>{let[s,i]=n.split("="),a=String(s||"").trim().toLowerCase(),o=String(i||"").replace(/"/g,"").trim();a&&o&&(e[a]=o)}),e}function Xwr(t){let e=t.query||{},r=Jwr(t.headers?.["x-emby-authorization"]||t.headers?.authorization||"");return{client:r.client||String(e["x-emby-client"]||e["X-Emby-Client"]||""),device:r.device||String(e["x-emby-device-name"]||e["X-Emby-Device-Name"]||""),deviceId:r.deviceid||String(e["x-emby-device-id"]||e["X-Emby-Device-Id"]||""),version:r.version||String(e["x-emby-client-version"]||e["X-Emby-Client-Version"]||"")}}function Zwr(t){let e=$s();return{Name:t.user.name,ServerId:t.config.serverId,Id:t.user.id,HasPassword:!0,HasConfiguredPassword:!0,HasConfiguredEasyPassword:!1,EnableAutoLogin:!1,LastLoginDate:e,LastActivityDate:e,Policy:{IsAdministrator:!0,IsHidden:!1,IsDisabled:!1,EnableRemoteAccess:!0,EnableContentDeletion:!1,EnableContentDownloading:!0,EnableSyncTranscoding:!0,EnableMediaPlayback:!0,EnableAudioPlaybackTranscoding:!0,EnableVideoPlaybackTranscoding:!0,EnablePlaybackRemuxing:!0,EnableSubtitleManagement:!1,AuthenticationProviderId:"Emby.Server.Implementations.Library.DefaultAuthenticationProvider"},Configuration:{PlayDefaultAudioTrack:!0,DisplayMissingEpisodes:!1,SubtitleMode:"Default",EnableLocalPassword:!1,HidePlayedInLatest:!0,RememberAudioSelections:!0,RememberSubtitleSelections:!0}}}function e2r(t,e,r){let n=$s();return{PlayState:{CanSeek:!0,IsPaused:!1,IsMuted:!1,RepeatMode:"RepeatNone",SubtitleOffset:0,PlaybackRate:1},AdditionalUsers:[],RemoteEndPoint:"mycatpaw",PlayableMediaTypes:["Video"],PlaylistIndex:0,PlaylistLength:0,Id:e.Id,ServerId:t.config.serverId,UserId:e.Id,UserName:e.Name,Client:r.client,LastActivityDate:n,DeviceName:r.device,InternalDeviceId:0,DeviceId:r.deviceId,ApplicationVersion:r.version||t.config.version,SupportedCommands:[],SupportsRemoteControl:!1}}async function Vue(t){let e=new Map,r=5,n=60*1e3;function s(a){let o=Date.now(),c=e.get(a);return!c||o-c.windowStart>n?!1:c.count>=r}function i(a){let o=Date.now(),c=e.get(a);!c||o-c.windowStart>n?e.set(a,{count:1,windowStart:o}):c.count++}t.get("/Public",async()=>[]),t.post("/AuthenticateByName",async(a,o)=>{let c=t.embyContext;if(!c.config.enable)return o.code(503),"Emby disabled";let u=a.ip||"unknown";if(s(u))return o.code(429),"\u8BF7\u6C42\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5";let l=Ywr(a.body||{});if(console.log("[Emby Auth] login attempt:",JSON.stringify({username:l.username,hasPassword:!!l.password,ip:u})),l.username!==c.config.username||l.password!==c.config.password)return i(u),o.code(401),"\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF";let d=Wdt.default.randomBytes(24).toString("hex"),f=Xwr(a),p=Date.now(),m=c.config.tokenTtlMs>0?p+c.config.tokenTtlMs:0;c.tokens.set(d,{token:d,userId:c.user.id,userName:c.user.name,createdAt:p,lastUsedAt:p,expireAt:m,device:f});let h=Zwr(c),A=e2r(c,h,f);return{User:h,SessionInfo:A,AccessToken:d,ServerId:c.config.serverId}}),t.post("/Logout",{preHandler:t.embyRequireAuth},async(a,o)=>{a.embyToken&&t.embyContext.tokens.delete(a.embyToken),o.code(204).send()}),t.get("/Me",{preHandler:t.embyRequireAuth},async a=>({Name:a.embyUser?.Name||t.embyContext.user.name,Id:a.embyUser?.Id||t.embyContext.user.id,ServerId:t.embyContext.config.serverId,Policy:{},Configuration:{},EnableAutoLogin:!1,LastLoginDate:$s(),LastActivityDate:$s()}))}async function zue(t){t.get("/Info/Public",async()=>{let e=t.embyContext.config;return{LocalAddresses:[],RemoteAddresses:[],ServerName:e.serverName,Version:e.version,Id:e.serverId}}),t.get("/Info",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config;return{SystemUpdateLevel:"Release",OperatingSystemDisplayName:"Node.js",HasPendingRestart:!1,IsShuttingDown:!1,HasImageEnhancers:!1,SupportsLibraryMonitor:!1,SupportsLocalPortConfiguration:!1,SupportsWakeServer:!1,CanSelfRestart:!1,CanSelfUpdate:!1,CanLaunchWebBrowser:!1,ProgramDataPath:"/",ItemsByNamePath:"/metadata",CachePath:"/cache",LogPath:"/logs",InternalMetadataPath:"/metadata",TranscodingTempPath:"/tmp",HttpServerPortNumber:8096,SupportsHttps:!1,HttpsPortNumber:8920,HasUpdateAvailable:!1,SupportsAutoRunAtStartup:!1,HardwareAccelerationRequiresPremiere:!1,WakeOnLanInfo:{MacAddress:"",BroadcastAddress:"",Port:0},IsInMaintenanceMode:!1,LocalAddress:"",LocalAddresses:[],WanAddress:"",RemoteAddresses:[],ServerName:e.serverName,Version:e.version,Id:e.serverId}}),t.get("/Ping",async(e,r)=>(r.type("text/plain; charset=utf-8"),"MyCatPaw Emby")),t.get("/Endpoint",async()=>({IsInNetwork:!0}))}var $dt=new Set(["lib","cat","vod","sea","ep","img","media"]);function wn(t,e={}){if(!$dt.has(t))throw new Error(`Unsupported item type: ${t}`);let r=JSON.stringify(e||{}),n=Buffer.from(r,"utf8").toString("base64url");return`${t}:${n}`}function Fs(t){if(typeof t!="string")return null;let e=t.indexOf(":");if(e<=0)return null;let r=t.slice(0,e);if(!$dt.has(r))return null;let n=t.slice(e+1);if(!n)return null;try{let s=Buffer.from(n,"base64url").toString("utf8"),i=JSON.parse(s);return!i||typeof i!="object"?null:{type:r,payload:i}}catch{return null}}function Yue(t,e){let r=wn("lib",{k:t.spiderKey,t:t.spiderType,...t.siteName?{n:t.siteName}:{},...t.apiBase?{a:t.apiBase}:{}});return{Name:t.siteName,ServerId:e,Id:r,Guid:r,Etag:r,IsFolder:!0,Type:"CollectionFolder",PrimaryImageAspectRatio:1.7778,CanDelete:!1,CanDownload:!1,DisplayPreferencesId:r,UserData:ss(),ImageTags:{Primary:r},BackdropImageTags:[],ChildCount:0}}async function Jue(t){t.get("/MediaFolders",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId,r=await Jl(t);return Ft(r.map(n=>Yue(n,e)))}),t.get("/VirtualFolders",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId;return(await Jl(t)).map(n=>{let s=Yue(n,e);return{Name:s.Name,Locations:[],LibraryOptions:{},ItemId:s.Id,Id:s.Id,Guid:s.Guid}})}),t.get("/SelectableMediaFolders",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId,r=await Jl(t);return Ft(r.map(n=>{let s=Yue(n,e);return{Name:s.Name,Id:s.Id,Path:"",Type:"Virtual"}}))}),t.post("/Refresh",{preHandler:t.embyRequireAuth},async(e,r)=>{r.code(204).send()}),t.post("/RefreshMediaLibrary",{preHandler:t.embyRequireAuth},async(e,r)=>{r.code(204).send()})}var t2r="/embyPlayback",r2r=.92,n2r=1500;function jM(t,e=0){let r=Number(t);return Number.isFinite(r)?r:e}function Xue(t,e=!1){if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["1","true","yes","on"].includes(r)?!0:["0","false","no","off"].includes(r)?!1:e}function s2r(t){if(t instanceof Date){let n=t.getTime();return Number.isFinite(n)?new Date(n).toISOString():""}let e=String(t||"").trim();if(!e)return"";let r=Date.parse(e);return Number.isFinite(r)?new Date(r).toISOString():""}function HM(t){let e=t&&typeof t=="object"?t:{};return{users:e.users&&typeof e.users=="object"?e.users:{}}}function lm(t){let e=t?.embyContext;return!e||typeof e!="object"?HM(null):((!e.playbackState||typeof e.playbackState!="object")&&(e.playbackState=HM(null)),(!e.playbackState.users||typeof e.playbackState.users!="object")&&(e.playbackState.users={}),e.playbackState)}function pA(t,e){let r=String(e||"").trim();return r?((!t.users[r]||typeof t.users[r]!="object")&&(t.users[r]={items:{}}),(!t.users[r].items||typeof t.users[r].items!="object")&&(t.users[r].items={}),t.users[r]):null}function Zf(t,e=""){let r=t&&typeof t=="object"?t:{};return{itemId:String(e||r.itemId||"").trim(),name:String(r.name||"").trim(),isFavorite:!!r.isFavorite,played:!!r.played,playCount:Math.max(0,Math.floor(jM(r.playCount,0))),playbackPositionTicks:Math.max(0,Math.floor(jM(r.playbackPositionTicks,0))),lastPlayedDate:s2r(r.lastPlayedDate),mediaSourceId:String(r.mediaSourceId||"").trim()}}function Fdt(t={}){return Date.parse(String(t?.lastPlayedDate||""))||0}function i2r(t=""){let e=String(t||"").trim();return e?e.match(/\d{4}/)?.[0]||e:""}function qdt(t={}){let e=String(t.k||"").trim(),r=String(t.v||"").trim();if(!e||!r)return null;let n=i2r(t.y);return{k:e,t:Number(t.t||3),v:r,...t.n?{n:String(t.n||"")}:{},...t.u?{u:String(t.u||"")}:{},...t.r?{r:String(t.r||"")}:{},...n?{y:n}:{}}}function a2r(t={}){let e=qdt(t);return e?{...e,l:Number(t.l||0)}:null}function o2r(t={}){let e=qdt(t);return e?wn("vod",e):""}function c2r(t={}){let e=a2r(t);return e?wn("sea",e):""}function jdt(t){return t?.type==="ep"||t?.type==="media"}function u2r(t,e){if(!jdt(t)||!["vod","sea"].includes(e?.type))return!1;let r=t.payload||{},n=e.payload||{};return!(String(r.k||"")!==String(n.k||"")||Number(r.t||3)!==Number(n.t||3)||String(r.v||"")!==String(n.v||"")||e.type==="sea"&&Number(r.l||0)!==Number(n.l||0))}function Hdt(t,e,r,n={}){let s=Fs(String(r||""));if(!["vod","sea"].includes(s?.type))return[];let i=lm(t),a=pA(i,e);if(!a)return[];let o=!!n?.includePlayed;return Object.entries(a.items||{}).map(([c,u])=>({record:Zf(u,c),decoded:Fs(c)})).filter(({record:c,decoded:u})=>!u2r(u,s)||c.playbackPositionTicks<=0?!1:o||!c.played).sort((c,u)=>Fdt(u.record)-Fdt(c.record))}function c2(t,e,r,n={}){return Hdt(t,e,r,n)[0]||null}async function Udt(t){try{if(!t?.db?.push)return;await t.db.push(t2r,lm(t))}catch{}}function QM(t,e=!1){let r=t?.embyContext;if(!(!r||typeof r!="object")){if(e){r.playbackPersistTimer&&(clearTimeout(r.playbackPersistTimer),r.playbackPersistTimer=null),Udt(t);return}r.playbackPersistTimer||(r.playbackPersistTimer=setTimeout(async()=>{r.playbackPersistTimer=null,await Udt(t)},n2r))}}function l2r(t={},e=""){let r=[t?.ItemId,t?.itemId,t?.NowPlayingItem?.Id,t?.nowPlayingItem?.Id,t?.PlayingItemId,t?.playingItemId,t?.PlayableItemId,t?.playableItemId,e];for(let n of r){let s=String(n||"").trim();if(s)return s}return""}function d2r(t={}){let e=[t?.PositionTicks,t?.positionTicks,t?.PlaybackPositionTicks,t?.playbackPositionTicks,t?.Position,t?.position];for(let r of e){let n=Math.floor(jM(r,NaN));if(Number.isFinite(n)&&n>=0)return n}return 0}function f2r(t={}){let e=[t?.RunTimeTicks,t?.runTimeTicks,t?.NowPlayingItem?.RunTimeTicks,t?.nowPlayingItem?.runTimeTicks];for(let r of e){let n=Math.floor(jM(r,NaN));if(Number.isFinite(n)&&n>0)return n}return 0}function p2r(t,e,r,n){return Xue(t?.Played,!1)||Xue(t?.IsPlayed,!1)||e==="played"?!0:e!=="stopped"||n<=0?!1:r/n>=r2r}function m2r(t,e,r){let n=String(r||"").trim();if(!n)return null;let s=lm(t),i=pA(s,e);if(!i)return null;let a=i.items[n];return!a||typeof a!="object"?null:Zf(a,n)}function Uo(t,e,r,n={}){let s=String(r||"").trim();if(!s)return ss(n);let i=m2r(t,e,s),o=c2(t,e,s)?.record||null||i;return o?ss({...n,IsFavorite:!!(i?.isFavorite||o.isFavorite),Played:o.played,PlayCount:o.playCount,PlaybackPositionTicks:o.playbackPositionTicks,...o.lastPlayedDate?{LastPlayedDate:o.lastPlayedDate}:{}}):ss(n)}function Us(t,e,r=[]){return!Array.isArray(r)||!r.length||r.forEach(n=>{!n||!n.Id||(n.UserData=Uo(t,e,String(n.Id||""),n.UserData||{}))}),r}async function u2(t,e,r={},n="progress"){let s=l2r(r);if(!s)return null;let i=lm(t),a=pA(i,e);if(!a)return null;let o=Zf(a.items[s],s),c=d2r(r),u=f2r(r),l=p2r(r,n,c,u),d=Zf(o,s);d.lastPlayedDate=$s(),c>0&&(d.playbackPositionTicks=c);let f=String(r?.ItemName||r?.itemName||r?.Name||r?.name||r?.NowPlayingItem?.Name||"").trim();f&&(d.name=f);let p=String(r?.MediaSourceId||r?.mediaSourceId||"").trim();return p&&(d.mediaSourceId=p),l?(d.played=!0,d.playCount=Math.max(1,d.playCount+(o.played?0:1)),d.playbackPositionTicks=0):n!=="ping"&&(c>0||n==="stopped"||n==="progress"||n==="playing")&&(d.played=!1),(r?.IsFavorite!==void 0||r?.isFavorite!==void 0)&&(d.isFavorite=Xue(r?.IsFavorite??r?.isFavorite,d.isFavorite)),a.items[s]=d,QM(t,n==="stopped"),d}async function Qdt(t,e,r,n){let s=String(r||"").trim();if(!s)return ss();let i=lm(t),a=pA(i,e);if(!a)return ss();let o=Zf(a.items[s],s),c=Zf(o,s);return c.played=!!n,c.lastPlayedDate=$s(),c.played&&(c.playCount=Math.max(1,c.playCount+(o.played?0:1))),c.playbackPositionTicks=0,a.items[s]=c,QM(t,!0),Uo(t,e,s)}async function Gdt(t,e,r,n){let s=String(r||"").trim();if(!s)return ss();let i=lm(t),a=pA(i,e);if(!a)return ss();let o=Zf(a.items[s],s);return o.isFavorite=!!n,o.lastPlayedDate=$s(),a.items[s]=o,QM(t,!0),Uo(t,e,s)}async function Kdt(t,e,r){let n=String(r||"").trim();if(!n)return ss();let s=lm(t),i=pA(s,e);if(!i)return ss();let a=new Set([n,...Hdt(t,e,n).map(({record:o})=>o.itemId)]);for(let o of a){let c=Zf(i.items[o],o);c.played=!1,c.playbackPositionTicks=0,c.lastPlayedDate=$s(),i.items[o]=c}return QM(t,!0),Uo(t,e,n)}function h2r(t=""){let e=Fs(String(t||""));return e?e.type==="vod"?{type:"Series",isFolder:!0,canPlay:!1,mediaType:"Video"}:e.type==="sea"?{type:"Season",isFolder:!0,canPlay:!1,mediaType:void 0}:e.type==="ep"||e.type==="media"?{type:"Episode",isFolder:!1,canPlay:!0,mediaType:"Video"}:{type:"Video",isFolder:!1,canPlay:!0,mediaType:"Video"}:{type:"Video",isFolder:!1,canPlay:!0,mediaType:"Video"}}function g2r(t){if(t?.name)return String(t.name);let e=Fs(String(t?.itemId||"")),r=String(e?.payload?.n||"").trim();return r||"\u7EE7\u7EED\u64AD\u653E"}function A2r(t,e,r,n){let s=Fs(String(n?.itemId||""));if(jdt(s)){let a=o2r(s.payload||{});if(a){let o=c2r(s.payload||{});return{Name:String(s?.payload?.n||n?.name||"").trim()||"\u7EE7\u7EED\u64AD\u653E",Id:a,ServerId:r,IsFolder:!0,Type:"Series",MediaType:"Video",CollectionType:"tvshows",...o?{SeasonId:o}:{},DateCreated:n.lastPlayedDate||$s(),ImageTags:{Primary:a},BackdropImageTags:[],UserData:Uo(t,e,a)}}}let i=h2r(n.itemId);return{Name:g2r(n),Id:n.itemId,ServerId:r,IsFolder:i.isFolder,Type:i.type,...i.mediaType?{MediaType:i.mediaType}:{},...i.canPlay?{CanPlay:!0}:{},DateCreated:n.lastPlayedDate||$s(),ImageTags:{Primary:n.itemId},BackdropImageTags:[],UserData:Uo(t,e,n.itemId)}}function y2r(t={}){let e=Fs(String(t?.Id||"")),r=e?.payload||{},n=String(r.k||"").trim(),s=String(r.v||"").trim();return e?.type==="vod"&&n&&s?`series:${n}:${Number(r.t||3)}:${s}`:e?.type==="sea"&&n&&s?`season:${n}:${Number(r.t||3)}:${s}:${Number(r.l||0)}`:`item:${String(t?.Id||"")}`}function Vdt(t,e,r){let n=lm(t),s=pA(n,e);if(!s)return[];let i=Object.entries(s.items||{}).map(([c,u])=>Zf(u,c)).filter(c=>c.playbackPositionTicks>0&&!c.played).sort((c,u)=>{let l=Date.parse(String(c.lastPlayedDate||""))||0;return(Date.parse(String(u.lastPlayedDate||""))||0)-l}),a=new Set,o=[];for(let c of i){let u=A2r(t,e,r,c),l=y2r(u);!u?.Id||a.has(l)||(a.add(l),o.push(u))}return o}var x2r="https://api.themoviedb.org/3",zdt=8e3,b2r=2,Ydt=20,Jdt=20;function Xdt(t=0){return new Promise(e=>setTimeout(e,Math.max(0,Number(t)||0)))}function l2(t){let e=t.embyContext?.config||{},r=String(e.tmdbApiKey||"").trim();return!e.tmdbEnable||!r?null:{apiKey:r,language:String(e.tmdbLanguage||"zh-CN"),imageBase:String(e.tmdbImageBase||"https://image.tmdb.org/t/p/original").replace(/\/+$/,""),timeoutMs:zdt}}function Zdt(t="zh-CN"){let e=String(t||"zh-CN").trim().split(/[-_]/)[0].toLowerCase(),r=new Set;return e&&r.add(e),r.add("en"),r.add("null"),Array.from(r).join(",")}function E2r(t){let e=t.embyContext;return e.tmdbClientState||(e.tmdbClientState={tokens:Jdt,lastRefillAt:Date.now()}),e.tmdbClientState}function _2r(t){let e=Date.now(),r=Math.max(0,e-t.lastRefillAt)/1e3;r<=0||(t.tokens=Math.min(Jdt,t.tokens+r*Ydt),t.lastRefillAt=e)}async function S2r(t){let e=E2r(t);for(;;){if(_2r(e),e.tokens>=1){e.tokens-=1;return}let r=Math.max(0,1-e.tokens),n=Math.max(50,Math.ceil(r/Ydt*1e3));await Xdt(n)}}function v2r(t){let e=Number(t?.response?.status||0);return!e||e===429||e>=500}function I2r(t,e=0){let r=Number(t?.response?.headers?.["retry-after"]||0);return Number.isFinite(r)&&r>0?r*1e3:Math.min(4e3,500*(e+1))}function mA(t){return!!l2(t)}function d2(t,e=""){let r=String(e||"").trim();return r?/^https?:\/\//i.test(r)?r:`${l2(t)?.imageBase||"https://image.tmdb.org/t/p/original"}${r.startsWith("/")?"":"/"}${r}`:""}async function f2(t,e,r={},n={}){let s=l2(t);if(!s)return null;let i={...r||{}};i.language||(i.language=s.language);let a=Math.max(0,Number(n.maxRetries??b2r)||0);for(let o=0;o<=a;o+=1){await S2r(t);try{return(await Ae.get(`${x2r}${e}`,{params:{api_key:s.apiKey,...i},timeout:Number(n.timeoutMs||s.timeoutMs||zdt),headers:{Accept:"application/json"}})).data||null}catch(c){if(o>=a||!v2r(c))return null;await Xdt(I2r(c,o))}}return null}async function eft(t,e,r=null){return f2(t,"/search/tv",{query:e,...r?{first_air_date_year:r}:{}})}async function tft(t,e,r=null){return f2(t,"/search/movie",{query:e,...r?{primary_release_year:r}:{}})}async function rft(t,e){let r=l2(t);return f2(t,`/tv/${Number(e)}`,{append_to_response:"external_ids,content_ratings,images,credits",include_image_language:Zdt(r?.language||"zh-CN")})}async function nft(t,e){let r=l2(t);return f2(t,`/movie/${Number(e)}`,{append_to_response:"external_ids,release_dates,images,credits",include_image_language:Zdt(r?.language||"zh-CN")})}async function sft(t,e,r){return f2(t,`/tv/${Number(e)}/season/${Number(r)}`)}function Mn(t=""){return String(t||"").trim()}function ift(t=[]){let e=[],r=new Set;for(let n of t){let s=Mn(n);!s||r.has(s)||(r.add(s),e.push(s))}return e}function C2r(t=""){let e=Mn(t);if(!e)return null;let r=e.replace(/[·•::\-_.!ï¼??,,'"/\\()[\]{}ã€ã€‘《》\s]+$/g,"");if(!r)return null;let n=r.match(/([1-9]\d{0,2})$/);if(!n?.[1])return null;let s=Number.parseInt(n[1],10);return!Number.isInteger(s)||s<=0||s>50?null:s}function oft({explicitSources:t=[],suffixSources:e=[]}={}){for(let r of ift(t)){let n=Number.parseInt(Bce(r),10);if(Number.isInteger(n)&&n>0)return{seasonNumber:n,explicit:!0,strategy:"pattern"}}for(let r of ift(e)){let n=C2r(r);if(Number.isInteger(n)&&n>0)return{seasonNumber:n,explicit:!0,strategy:"title_suffix"}}return{seasonNumber:null,explicit:!1,strategy:"none"}}function T2r(t="",e={},r="tv"){let n=String(t||"");if(r!=="tv"||!n||String(e?.seasonHintStrategy||"")!=="title_suffix")return"";let s=Number.parseInt(String(e?.seasonNumber||""),10);if(!Number.isInteger(s)||s<=0)return"";let i=String(s);if(!n.endsWith(i))return"";let a=n.slice(0,Math.max(0,n.length-i.length));return a.length>=2?a:""}function aft(t="",e=""){return!t||!e?0:t===e?1:t.includes(e)||e.includes(t)?Math.min(.95,Math.min(t.length,e.length)/Math.max(t.length,e.length)+.15):RQ(t,e).length/Math.max(t.length,e.length)}function hA(t=""){let e=Mn(t).match(/\b(19|20)\d{2}\b/);return e?.[0]?Number(e[0]):null}function Zue(t=""){let e=Mn(t);return Mn(sA(e)||e).toLowerCase().replace(/[·•::\-_.!ï¼??,,'"/\\()[\]{}ã€ã€‘《》\s]+/g,"").replace(/第[一二三四五å…七八ä¹å百åƒä¸‡äº¿\d]+å£/g,"").replace(/年番总集篇|年番åˆé›†ç¯‡|总集篇|åˆé›†ç¯‡|年番/g,"")}function cft(t={}){let e=Mn(t?.tmdbHintTitle||t?.vod_name||t?.name||""),r=Mn(sA(e)||e),n=Mn(t?.tmdbHintRemarks||t?.vod_remarks||""),s=oft({explicitSources:[Mn(t?.tmdbHintTitle),Mn(t?.tmdbHintRemarks),e,n,Mn(t?.vod_name),Mn(t?.vod_remarks)],suffixSources:[e,r,Mn(t?.tmdbHintTitle),Mn(t?.vod_name),Mn(t?.name)]});return{rawTitle:e,cleanedTitle:r,normalizedTitle:Zue(r||e),altTitle:n,year:hA(t?.tmdbHintYear||t?.vod_year),seasonNumber:s.seasonNumber,seasonHintStrategy:s.strategy}}function ele(t={},e=null){let r=oft({explicitSources:[Mn(t?.tmdbHintTitle),Mn(t?.tmdbHintRemarks),Mn(t?.vod_name),Mn(t?.vod_remarks),Mn(e?.flag)],suffixSources:[Mn(t?.tmdbHintTitle),Mn(t?.vod_name),Mn(t?.name)]});return Number.isInteger(r.seasonNumber)&&r.seasonNumber>0?{seasonNumber:r.seasonNumber,explicit:r.explicit,strategy:r.strategy}:{seasonNumber:1,explicit:!1,strategy:"default"}}function uft(t={},e="tv"){return Mn(e==="movie"?t?.title||t?.original_title||t?.name||t?.original_name||"":t?.name||t?.original_name||t?.title||t?.original_title||"")}function w2r(t={},e="tv"){return hA(e==="movie"?t?.release_date:t?.first_air_date)}function R2r(t,e,r){let n=Zue(t?.cleanedTitle||t?.rawTitle||""),s=T2r(n,t,r),i=Zue(uft(e,r)),a=aft(n,i),o=aft(s,i);return Math.max(a,o)}function N2r(t,e,r){let n=r==="tv"&&String(t?.seasonHintStrategy||"")==="title_suffix"&&Number.parseInt(String(t?.seasonNumber||""),10)>1;if(!t?.year)return .5;let s=w2r(e,r);if(!s)return n?.5:.2;let i=Math.abs(t.year-s);return n&&i>=2?.5:i===0?1:i===1?.7:i===2?.4:0}function O2r(t,e,r){if(r!=="tv"||!t?.seasonNumber)return .5;let n=Number.parseInt(Bce(uft(e,r)),10)||null;return n?n===t.seasonNumber?1:.2:.5}function P2r(t,e,r="tv"){let n=R2r(t,e,r),s=N2r(t,e,r),i=O2r(t,e,r),a=Math.min(Number(e?.popularity||0)/100,1),o=Math.min(Number(e?.vote_average||0)/10,1),c=Math.max(a,o),u=Number((n*.7+s*.2+i*.05+c*.05).toFixed(4));return{title:Number(n.toFixed(4)),year:Number(s.toFixed(4)),season:Number(i.toFixed(4)),heat:Number(c.toFixed(4)),score:u}}function lft(t,e=[],r="tv"){let n=(Array.isArray(e)?e:[]).map(i=>{let a=P2r(t,i,r);return{candidate:i,score:a.score,breakdown:a}}).sort((i,a)=>a.score-i.score),s=n[0]||null;return!s||s.score<.5?{status:"NO_MATCH",best:null,candidates:n.slice(0,3)}:s.score<.8?{status:"CANDIDATE",best:s,candidates:n.slice(0,3)}:{status:"MATCH",best:s,candidates:n.slice(0,3)}}function GM(t={},e=null,r=0){return ele(t,e).seasonNumber}var AA={BINDING:30*24*60*60*1e3,DETAIL:7*24*60*60*1e3,SEASON:7*24*60*60*1e3,NO_MATCH:24*60*60*1e3,FAILURE:10*60*1e3};function rle(t){let e=t.embyContext;return e.tmdbStore||(e.tmdbStore={memory:vM({max:1200}),pending:new Map}),e.tmdbStore}function tle(t=""){return`/embyTmdb/${Buffer.from(String(t||""),"utf8").toString("base64url")}`}function k2r(t,e=0){return{value:t,expireAt:e>0?Date.now()+e:0}}function D2r(t=null){return!!(t&&t.expireAt>0&&t.expireAt<=Date.now())}async function B2r(t,e){try{let r=await t.db?.getObjectDefault(tle(e),null);return!r||typeof r!="object"?null:D2r(r)?(t.db?.delete&&await t.db.delete(tle(e)).catch(()=>{}),null):r}catch{return null}}async function gA(t,e,r={}){let n=rle(t),s=n.memory.get(e);if(s!==void 0)return s;if(r.persist===!1)return null;let i=await B2r(t,e);if(!i)return null;let a=i.expireAt>0?Math.max(1e3,i.expireAt-Date.now()):0;return n.memory.set(e,i.value,a),i.value}async function $E(t,e,r,n=0,s={}){if(rle(t).memory.set(e,r,n),s.persist===!1)return r;try{t.db?.push&&await t.db.push(tle(e),k2r(r,n))}catch{}return r}async function nle(t,e,r,n,s={}){let i=await gA(t,e,s);if(i!==null)return i;let a=rle(t);if(a.pending.has(e))return a.pending.get(e);let o=(async()=>{try{let c=await gA(t,e,s);if(c!==null)return c;let u=await n();return u!=null?$E(t,e,u,r,s):null}finally{a.pending.delete(e)}})();return a.pending.set(e,o),o}function ku(t=""){return String(t||"").trim()}function L2r(t=""){let e=hA(t);return e?String(e):""}function yA(t={},e={}){let r=t&&typeof t=="object"?t:{},n=ku(e?.n),s=ku(e?.r),i=L2r(e?.y||e?.vod_year),a=ku(e?.u);return n&&(r.tmdbHintTitle=n),s&&(r.tmdbHintRemarks=s),i&&(r.tmdbHintYear=i),!ku(r.vod_name)&&n&&(r.vod_name=n),!ku(r.vod_remarks)&&s&&(r.vod_remarks=s),!ku(r.vod_year)&&i&&(r.vod_year=i),!ku(r.vod_pic)&&a&&(r.vod_pic=a),r}function M2r(t={}){let e=ku(t?.v);return e?yA({vod_id:e,vod_name:"",vod_pic:"",vod_remarks:"",vod_year:""},t):null}function Kn(t={}){let e={};return Object.entries(t).forEach(([r,n])=>{n!=null&&(typeof n=="string"&&!n.trim()||Array.isArray(n)&&n.length===0||!Array.isArray(n)&&typeof n=="object"&&Object.keys(n).length===0||(e[r]=n))}),e}function ile(t){let e=Number(t);return Number.isFinite(e)&&e>0?Number(e.toFixed(1)):void 0}function ale(t=""){let e=String(t||"").trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00.000Z`:void 0}function W2r(t){let e=Number(t);return Number.isFinite(e)&&e>0?Math.round(e*60*1e7):void 0}function $2r(t=[]){return(Array.isArray(t)?t:[]).map(e=>String(e?.name||"").trim()).filter(Boolean)}function F2r(t=[]){return(Array.isArray(t)?t:[]).filter(e=>e?.name).map(e=>({Name:String(e.name),Id:String(e.id||e.name)}))}function U2r(t={},e="tv"){return e==="movie"?{name:String(t?.title||t?.original_title||"").trim(),originalTitle:String(t?.original_title||t?.title||"").trim()}:{name:String(t?.name||t?.original_name||"").trim(),originalTitle:String(t?.original_name||t?.name||"").trim()}}function q2r(t=""){return String(t||"").trim().toLowerCase()}function j2r(t={}){let e=Array.isArray(t?.images?.logos)?t.images.logos:[];if(!e.length)return[];let r=e.map((n,s)=>{let i=q2r(n?.iso_639_1),a=String(n?.file_path||"").trim(),o=Number(n?.vote_average||0),c=Number(n?.vote_count||0),u=Number(n?.width||0),l=i?i==="en"?2:3:1;return{index:s,filePath:a,voteAverage:Number.isFinite(o)?o:0,voteCount:Number.isFinite(c)?c:0,width:Number.isFinite(u)?u:0,languageScore:l}}).filter(n=>n.filePath);return r.sort((n,s)=>s.languageScore-n.languageScore||s.voteAverage-n.voteAverage||s.voteCount-n.voteCount||s.width-n.width||n.index-s.index),r}function KM(t={}){let e=j2r(t);return e.length&&e[0]?.filePath||""}function H2r(t="",e="",r=0){let n=Kn({n:String(t||"").trim(),u:String(e||"").trim()||void 0,pid:Number(r||0)>0?String(r):void 0});return wn("img",n)}function Q2r(t,e={},r={}){let n=String(e?.name||e?.original_name||"").trim();if(!n)return null;let s=d2(t,e?.profile_path||""),i=Number(e?.id||0),a=H2r(n,s,i),o=String(r.role||"").trim(),c=String(r.type||"Actor").trim();return Kn({Name:n,Id:a,Role:o||void 0,Type:c||void 0,PrimaryImageTag:s?a:void 0,ImageTags:s?{Primary:a}:void 0})}function G2r(t={},e){let r=Array.isArray(t?.credits?.cast)?t.credits.cast:[],n=[],s=new Set,i=(o,c="")=>{if(!o)return;let u=String(c||`${o.Name}:${o.Role||""}`);s.has(u)||(s.add(u),n.push(o))};return[...r].map((o,c)=>({person:o,index:c,order:Number(o?.order??c),popularity:Number(o?.popularity||0)})).sort((o,c)=>o.order-c.order||c.popularity-o.popularity||o.index-c.index).slice(0,24).forEach(o=>{let c=Number(o.person?.id||0),u=String(o.person?.character||"").trim()||"\u6F14\u5458";i(Q2r(e,o.person,{role:u,type:"Actor"}),c>0?`cast:${c}`:`cast:${o.person?.name||""}:${u}`)}),n.slice(0,24)}function K2r(t={}){let e={};return t?.id&&(e.Tmdb=String(t.id)),t?.external_ids?.imdb_id&&(e.Imdb=String(t.external_ids.imdb_id)),t?.external_ids?.tvdb_id&&(e.Tvdb=String(t.external_ids.tvdb_id)),Object.keys(e).length>0?e:void 0}function dft(t=[]){let e=(Array.isArray(t)?t:[]).map(r=>({country:String(r?.iso_3166_1||"").trim().toUpperCase(),certification:String(r?.certification||r?.rating||"").trim()})).filter(r=>r.certification);for(let r of["US","CN","GB","HK","TW"]){let n=e.find(s=>s.country===r);if(n)return n.certification}return e[0]?.certification||void 0}function V2r(t={},e="tv"){if(e==="movie"){let r=[];return(Array.isArray(t?.release_dates?.results)?t.release_dates.results:[]).forEach(s=>{(Array.isArray(s?.release_dates)?s.release_dates:[]).forEach(a=>{r.push({iso_3166_1:s?.iso_3166_1,certification:a?.certification})})}),dft(r)}return dft(Array.isArray(t?.content_ratings?.results)?t.content_ratings.results:[])}function z2r(t,e){return`binding:${String(t?.spiderKey||"")}:${Number(t?.spiderType||3)}:${String(t?.apiBase||"")}:${String(e?.vod_id||"")}`}function Y2r(t,e,r){return`detail:${String(t||"")}:${Number(e||0)}:${String(r||"zh-CN")}`}function J2r(t,e,r){return`season:${Number(t||0)}:${Number(e||0)}:${String(r||"zh-CN")}`}function X2r(t){return`no-match:v2:${String(t?.normalizedTitle||"")}:${String(t?.year||"")}:${String(t?.seasonNumber||"")}:${String(t?.seasonHintStrategy||"")}`}function pft(t){return`failure:${t}`}function ep(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}function mft(t={},e="tv"){return e==="movie"?String(t?.title||t?.original_title||t?.name||t?.original_name||"").trim():String(t?.name||t?.original_name||t?.title||t?.original_title||"").trim()}function hft(t={},e="tv"){return String(e==="movie"?t?.release_date||"":t?.first_air_date||"").trim()}function sle(t={}){let e=typeof t?.year=="number"&&Number.isFinite(t.year)?t.year:void 0,r=typeof t?.seasonNumber=="number"&&Number.isFinite(t.seasonNumber)?t.seasonNumber:void 0,n=String(t?.seasonHintStrategy||"").trim()||void 0;return Kn({rawTitle:String(t?.rawTitle||""),cleanedTitle:String(t?.cleanedTitle||""),normalizedTitle:String(t?.normalizedTitle||""),altTitle:String(t?.altTitle||""),year:e,seasonNumber:r,seasonHintStrategy:n})}function Z2r(t=[],e="tv",r=3){return(Array.isArray(t)?t:[]).slice(0,Math.max(0,Number(r)||0)).map(n=>{let s=n?.candidate||{},i=n?.breakdown||{};return Kn({id:Number(s?.id||0)||void 0,title:mft(s,e),date:hft(s,e),popularity:Number.isFinite(Number(s?.popularity))?Number(s.popularity):void 0,voteAverage:Number.isFinite(Number(s?.vote_average))?Number(s.vote_average):void 0,score:Number.isFinite(Number(n?.score))?Number(n.score):void 0,breakdown:Kn({title:Number.isFinite(Number(i?.title))?Number(i.title):void 0,year:Number.isFinite(Number(i?.year))?Number(i.year):void 0,season:Number.isFinite(Number(i?.season))?Number(i.season):void 0,heat:Number.isFinite(Number(i?.heat))?Number(i.heat):void 0})})})}function fft(t=null){if(!t?.candidate)return null;let e=t.candidate;return Kn({mediaType:String(t.mediaType||""),status:String(t.status||""),score:Number.isFinite(Number(t.score))?Number(t.score):void 0,candidate:Kn({id:Number(e?.id||0)||void 0,title:mft(e,t.mediaType||"tv"),date:hft(e,t.mediaType||"tv")}),breakdown:Kn({title:Number.isFinite(Number(t?.breakdown?.title))?Number(t.breakdown.title):void 0,year:Number.isFinite(Number(t?.breakdown?.year))?Number(t.breakdown.year):void 0,season:Number.isFinite(Number(t?.breakdown?.season))?Number(t.breakdown.season):void 0,heat:Number.isFinite(Number(t?.breakdown?.heat))?Number(t.breakdown.heat):void 0})})}function eRr(t={},e={}){let r=String(e.preferredMediaType||"").trim().toLowerCase();return r==="tv"?e.allowFallback===!1?["tv"]:["tv","movie"]:r==="movie"?e.allowFallback===!1?["movie"]:["movie","tv"]:WE(t)==="Series"?e.allowFallback===!0?["tv","movie"]:["tv"]:["movie","tv"]}async function tRr(t,e,r){let n=[...new Set([e?.cleanedTitle,e?.rawTitle].map(c=>String(c||"").trim()).filter(Boolean))],s=new Map,i=[],o=r==="tv"&&Number.parseInt(String(e?.seasonNumber||""),10)>1&&String(e?.seasonHintStrategy||"")==="title_suffix"?null:e?.year;for(let c of n){let u=r==="movie"?await tft(t,c,e?.year):await eft(t,c,o),l=Array.isArray(u?.results)?u.results:[],d=0;if(l.forEach(f=>{let p=Number(f?.id||0);p>0&&!s.has(p)&&(s.set(p,f),d+=1)}),i.push(Kn({query:c,resultCount:l.length,acceptedCount:d,collectedCount:s.size})),s.size>=5)break}return{results:Array.from(s.values()),queryLogs:i}}async function FE(t,e,r,n={}){if(!mA(t)||!e?.spiderKey||!r?.vod_id)return null;let s={spiderKey:String(e?.spiderKey||""),spiderType:Number(e?.spiderType||3),vodId:String(r?.vod_id||"")},i=z2r(e,r),a=String(n.preferredMediaType||"").trim().toLowerCase(),o=await gA(t,i);if(o?.tmdbId&&o?.mediaType)return a&&n.allowFallback===!1&&o.mediaType!==a?(ep(t,"tmdb.match.binding.cache.reject",Kn({...s,cachedMediaType:String(o.mediaType||""),preferredMediaType:a})),null):(ep(t,"tmdb.match.binding.cache.hit",Kn({...s,mediaType:String(o.mediaType||""),tmdbId:Number(o.tmdbId||0)||void 0,score:Number.isFinite(Number(o.score))?Number(o.score):void 0})),o);let c=cft(r),u=typeof n.allowFallback=="boolean"?n.allowFallback:void 0;if(ep(t,"tmdb.match.input",Kn({...s,input:sle(c),preferredMediaType:a||void 0,allowFallback:u})),!c?.normalizedTitle)return ep(t,"tmdb.match.skip.invalid_input",Kn({...s,input:sle(c)})),null;let l=X2r(c),d=await gA(t,l);if(d)return ep(t,"tmdb.match.skip.no_match_cache",Kn({...s,status:String(d?.status||""),score:Number.isFinite(Number(d?.score))?Number(d.score):void 0})),null;let f=null;for(let m of eRr(r,n)){let{results:h,queryLogs:A}=await tRr(t,c,m),g=lft(c,h,m);if(ep(t,"tmdb.match.round",Kn({...s,mediaType:m,queryLogs:A,resultCount:h.length,status:g.status,bestScore:Number.isFinite(Number(g?.best?.score))?Number(g.best.score):void 0,topCandidates:Z2r(g.candidates,m,3)})),g.best&&(!f||g.best.score>f.score)&&(f={mediaType:m,...g.best,status:g.status}),g.status==="MATCH"&&g.best?.candidate?.id){let b=g.best.candidate,y=Kn({mediaType:m,tmdbId:Number(b.id),score:g.best.score,matchedTitle:String(m==="movie"?b.title||b.original_title||"":b.name||b.original_name||""),matchedYear:m==="movie"?hA(b.release_date):hA(b.first_air_date),updatedAt:Date.now()});return await $E(t,i,y,AA.BINDING),ep(t,"tmdb.match.binding.set",Kn({...s,mediaType:m,tmdbId:Number(y.tmdbId||0)||void 0,score:Number.isFinite(Number(y.score))?Number(y.score):void 0,matchedTitle:String(y.matchedTitle||""),matchedYear:Number.isFinite(Number(y.matchedYear))?Number(y.matchedYear):void 0,best:fft({mediaType:m,...g.best,status:g.status})})),y}}let p={status:f?.score>=.5?"CANDIDATE":"NO_MATCH",score:Number(f?.score||0),checkedAt:Date.now()};return await $E(t,l,p,f?.score>=.5?15*60*1e3:AA.NO_MATCH),ep(t,"tmdb.match.no_match_set",Kn({...s,noMatch:p,best:fft(f),input:sle(c)})),null}async function gft(t,e={},r={}){try{if(!mA(t))return null;let n=Xl(e),s=M2r(e);return!n?.spiderKey||!s?.vod_id?null:Sft(t,{spiderRef:n,vod:s,options:r})}catch{return null}}async function UE(t,e){if(!e?.tmdbId||!e?.mediaType)return null;let r=String(t.embyContext?.config?.tmdbLanguage||"zh-CN"),n=Y2r(e.mediaType,e.tmdbId,r),s=pft(n);if(await gA(t,s))return null;let i=await nle(t,n,AA.DETAIL,async()=>{let a=e.mediaType==="movie"?await nft(t,e.tmdbId):await rft(t,e.tmdbId);return a?.id?a:null});return i?.id?i:(await $E(t,s,{failedAt:Date.now()},AA.FAILURE),null)}async function rRr(t,e,r){if(!e?.tmdbId||e?.mediaType!=="tv")return null;let n=String(t.embyContext?.config?.tmdbLanguage||"zh-CN"),s=J2r(e.tmdbId,r,n),i=pft(s);if(await gA(t,i))return null;let a=await nle(t,s,AA.SEASON,async()=>{let o=await sft(t,e.tmdbId,r);return o?.season_number!=null?o:null});return a?.season_number!=null?a:(await $E(t,i,{failedAt:Date.now()},AA.FAILURE),null)}function nRr(t={},e=null){let r=[ku(t?.tmdbHintTitle||t?.vod_name),ku(t?.tmdbHintRemarks||t?.vod_remarks),ku(e?.flag)].filter(Boolean).join(" ");return/年番/i.test(r)}function sRr(t=""){let e=String(t||"").trim();if(!e)return null;let r=Number.parseInt(e,10);if(Number.isInteger(r)&&r>0)return r;let n=e.match(/(\d{1,4})/);if(!n?.[1])return null;let s=Number.parseInt(n[1],10);return Number.isInteger(s)&&s>0?s:null}function iRr(t=null){let r=(Array.isArray(t?.episodes)?t.episodes:[]).map(n=>sRr(n?.name)).filter(n=>Number.isInteger(n)&&n>0);return r.length?{count:r.length,min:Math.min(...r),max:Math.max(...r)}:{count:0,min:0,max:0}}function Aft(t={}){return(Array.isArray(t?.seasons)?t.seasons:[]).map(e=>({seasonNumber:Number(e?.season_number||0),episodeCount:Number(e?.episode_count||0),name:String(e?.name||"").trim()})).filter(e=>Number.isInteger(e.seasonNumber)&&e.seasonNumber>0)}function aRr(t={},e={},r=null,n={seasonNumber:1,explicit:!1}){let s=Aft(t),i=Number(n?.seasonNumber||1),a=Number.isInteger(i)&&i>0?i:1,o=!!n?.explicit,c=nRr(e,r),u=iRr(r),l=d=>{let f=Number(d||0);return!Number.isInteger(f)||f<=0?[]:s.filter(p=>p.episodeCount>=f).sort((p,m)=>m.seasonNumber-p.seasonNumber||m.episodeCount-p.episodeCount)};if(!s.length)return{seasonNumber:a,reason:"no_tmdb_seasons",explicit:o,yearFan:c,episodeStats:u,seasons:[]};if(o&&s.some(d=>d.seasonNumber===a))return{seasonNumber:a,reason:"explicit_hint",explicit:o,yearFan:c,episodeStats:u,seasons:s};if(c){let d=l(u.max);return d.length?{seasonNumber:d[0].seasonNumber,reason:"yearfan_episode_cap",explicit:o,yearFan:c,episodeStats:u,seasons:s}:{seasonNumber:[...s].sort((p,m)=>m.episodeCount-p.episodeCount||m.seasonNumber-p.seasonNumber)[0].seasonNumber,reason:"yearfan_largest_season",explicit:o,yearFan:c,episodeStats:u,seasons:s}}if(u.max>=6&&u.count>=u.max){let d=s.filter(f=>f.episodeCount===u.max);if(d.length===1)return{seasonNumber:d[0].seasonNumber,reason:"episode_count_exact_unique",explicit:o,yearFan:c,episodeStats:u,seasons:s}}if(!o&&u.max>=100){let d=l(u.max);if(d.length)return{seasonNumber:d[0].seasonNumber,reason:"high_episode_secondary",explicit:o,yearFan:c,episodeStats:u,seasons:s}}return s.some(d=>d.seasonNumber===a)?{seasonNumber:a,reason:o?"explicit_hint":"default_hint",explicit:o,yearFan:c,episodeStats:u,seasons:s}:{seasonNumber:[...s].sort((f,p)=>f.seasonNumber-p.seasonNumber)[0].seasonNumber,reason:"fallback_first_available",explicit:o,yearFan:c,episodeStats:u,seasons:s}}async function p2(t,e,r={},n=null,s=0,i=null){if(e?.mediaType!=="tv")return{seasonNumber:null,seasonDetail:null,detail:null};let a=i||await UE(t,e);if(!a)return{seasonNumber:null,seasonDetail:null,detail:null};let o=ele(r,n),c=aRr(a,r,n,o),u=Number(c?.seasonNumber||0);if(!Number.isInteger(u)||u<=0)return{seasonNumber:null,seasonDetail:null,detail:a};let l=await rRr(t,e,u);return ep(t,"tmdb.match.season_resolve",Kn({spiderKey:String(e?.spiderKey||""),tmdbId:Number(e?.tmdbId||0)||void 0,lineIndex:Number.isInteger(Number(s))?Number(s):void 0,chosenSeason:u,reason:String(c?.reason||""),explicitHint:c?.explicit===!0?!0:void 0,yearFanHint:c?.yearFan===!0?!0:void 0,episodeMax:Number(c?.episodeStats?.max||0)||void 0,seasonCandidates:Array.isArray(c?.seasons)?c.seasons.map(d=>Kn({seasonNumber:Number(d?.seasonNumber||0)||void 0,episodeCount:Number(d?.episodeCount||0)||void 0,name:String(d?.name||"")})):void 0})),{seasonNumber:u,seasonDetail:l&&l?.season_number!=null?l:null,detail:a}}async function yft(t,e,r={},n=null){let s=await p2(t,e,r,null,0,n);return{seasonNumber:s.seasonNumber,seasonDetail:s.seasonDetail}}function oRr(t,e,r,n=null){let s=e?.mediaType==="movie"?"movie":"tv",i=s==="tv"?Aft(t).length:0,a=Number(n?.seasonNumber||0),o=n?.seasonDetail||null,c=s==="tv"&&Number.isInteger(a)&&a>0&&o?.season_number!=null,u=s==="movie"?t?.release_date:o?.air_date||t?.first_air_date,l=s==="movie"?Number(t?.runtime||0):Array.isArray(t?.episode_run_time)?t.episode_run_time.find(m=>Number(m)>0):0,d=U2r(t,s),f=KM(t),p=c?o?.poster_path||t?.backdrop_path||t?.poster_path||"":t?.backdrop_path||t?.poster_path||"";return Kn({Name:d.name||void 0,OriginalTitle:d.originalTitle||void 0,Overview:String(t?.overview||"").trim()||void 0,Taglines:t?.tagline?[String(t.tagline)]:void 0,Genres:$2r(t?.genres),GenreItems:F2r(t?.genres),People:G2r(t,r),ProviderIds:K2r(t),CommunityRating:ile(t?.vote_average),RunTimeTicks:W2r(l),OfficialRating:V2r(t,s),PremiereDate:ale(u),ProductionYear:hA(u)||void 0,SeasonCount:i>0?i:void 0,ChildCount:i>0?i:void 0,BackdropImageTags:p?["tmdb"]:void 0,ImageTags:f?{Logo:"tmdb"}:void 0})}function cRr(t,e){return Kn({Overview:String(t?.overview||"").trim()||void 0,PremiereDate:ale(t?.air_date),CommunityRating:ile(t?.vote_average)})}function uRr(t,e,r,n){return Kn({Name:String(e?.name||"").trim()||void 0,Overview:String(e?.overview||"").trim()||void 0,CommunityRating:ile(e?.vote_average),PremiereDate:ale(e?.air_date),BackdropImageTags:e?.still_path?["tmdb"]:void 0})}function xft(t,e,r=-1){let n=Array.isArray(t?.episodes)?t.episodes:[],s=n.find(i=>Number(i?.episode_number||0)===Number(e||0));return s||(r>=0&&r<n.length?n[r]:null)}function bft(t,e,r){let n=fA(t,Number(e||0)+1),s=String(t||"").trim(),i=Number.parseInt(s,10);if(/^\d{3,4}$/.test(s)&&Number.isInteger(i)&&r>0){let a=Math.floor(i/100),o=i%100;if(a===r&&o>0)return o}return n}async function Eft(t,e={}){if(!mA(t))return null;let r=await FE(t,e?.spiderRef,e?.vod,{preferredMediaType:"tv",allowFallback:!1});if(!r||r.mediaType!=="tv")return null;let n=await p2(t,r,e?.vod||{},e?.line||null,Number(e?.lineIndex||0),null);return!n?.seasonDetail||!n?.seasonNumber?null:{seasonNumber:n.seasonNumber,seasonDetail:n.seasonDetail}}function _ft(t,e={}){if(!t?.seasonDetail||!t?.seasonNumber)return null;let r=bft(e?.episode?.name,e?.episodeIndex,t.seasonNumber),n=xft(t.seasonDetail,r,Number(e?.episodeIndex||0));return n?uRr(t.seasonDetail,n,t.seasonNumber,r):null}async function lRr(t,e){let r=e?.payload||{},n=Xl(r),s=String(r.v||"");if(!n?.spiderKey||!s)return null;let i=await Pc(t,n,s).catch(()=>null),a=yA({vod_id:s,vod_name:String(r.n||""),vod_pic:String(r.u||""),vod_remarks:String(r.r||""),vod_year:String(r.y||"")},r),o=kc(i)||a;return yA(o,r),!String(o?.vod_name||"").trim()&&r?.n&&(o.vod_name=String(r.n||"").trim()),!String(o?.vod_pic||"").trim()&&r?.u&&(o.vod_pic=String(r.u||"").trim()),{spiderRef:n,vod:o,lines:go(o?.vod_play_from,o?.vod_play_url)}}function dRr(t,e="primary",r=null){let n=String(e||"primary").trim().toLowerCase(),s=r?.seasonDetail||null,i=String(s?.poster_path||"").trim();return n==="logo"?KM(t):["backdrop","thumb","banner"].includes(n)?i||t?.backdrop_path||t?.poster_path||"":i||t?.poster_path||t?.backdrop_path||""}function fRr(t,e,r="primary"){let n=String(r||"primary").trim().toLowerCase();return n==="logo"?KM(t):["backdrop","thumb","banner"].includes(n)?t?.backdrop_path||e?.poster_path||t?.poster_path||"":e?.poster_path||t?.poster_path||t?.backdrop_path||""}function pRr(t,e,r="primary"){let n=String(r||"primary").trim().toLowerCase();return n==="logo"?KM(t):["backdrop","thumb","banner"].includes(n)?e?.still_path||t?.backdrop_path||t?.poster_path||"":e?.still_path||t?.poster_path||t?.backdrop_path||""}async function Sft(t,e={}){try{if(!mA(t))return null;let r=await FE(t,e?.spiderRef,e?.vod,e?.options||{});if(!r)return null;let n=await UE(t,r);if(!n)return null;let s=await yft(t,r,e?.vod||{},n);return oRr(n,r,t,s)}catch{return null}}async function mRr(t,e={}){try{if(!mA(t))return null;let r=await FE(t,e?.spiderRef,e?.vod,{preferredMediaType:"tv",allowFallback:!1});if(!r||r.mediaType!=="tv")return null;let n=await UE(t,r);if(!n)return null;let s=await p2(t,r,e?.vod||{},e?.line||null,Number(e?.lineIndex||0),n);return s?.seasonDetail?cRr(s.seasonDetail,s.seasonNumber):null}catch{return null}}async function m2(t,e={}){try{let r=await Eft(t,e);return r?_ft(r,e):null}catch{return null}}async function VM(t,e={}){let r=Array.isArray(e?.episodes)?e.episodes:[];if(!r.length)return[];try{let n=await Eft(t,e);if(!n)return r.map(()=>null);let s=Number(e?.episodeOffset||0);return r.map((i,a)=>_ft(n,{episode:i,episodeIndex:s+a}))}catch{return r.map(()=>null)}}async function zM(t,e,r={}){return e==="vod"?Sft(t,r):e==="season"?mRr(t,r):e==="episode"?m2(t,r):null}async function vft(t,e,r="Primary"){try{if(!mA(t))return"";if(e?.type==="img")return String(e?.payload?.u||"");let n=await lRr(t,e);if(!n)return"";let{spiderRef:s,vod:i,lines:a}=n,o=String(r||"Primary").trim().toLowerCase();if(e?.type==="vod"){let c=await FE(t,s,i,{});if(!c)return"";let u=await UE(t,c);if(!u)return"";let l=await yft(t,c,i,u);return d2(t,dRr(u,o,l||null))}if(e?.type==="sea"){let c=await FE(t,s,i,{preferredMediaType:"tv",allowFallback:!1});if(!c||c.mediaType!=="tv")return"";let u=await UE(t,c);if(!u)return"";let l=Number(e?.payload?.l||0),f=(await p2(t,c,i,a?.[l]||null,l,u))?.seasonDetail||null;return u&&f?d2(t,fRr(u,f,o)):""}if(e?.type==="ep"||e?.type==="media"){let c=await FE(t,s,i,{preferredMediaType:"tv",allowFallback:!1});if(!c||c.mediaType!=="tv")return"";let u=await UE(t,c);if(!u)return"";let l=Number(e?.payload?.l||0),d=Number(e?.payload?.e||0),f=a?.[l],p=f?.episodes?.[d],m=await p2(t,c,i,f||null,l,u),h=Number(m?.seasonNumber||0),A=m?.seasonDetail||null;if(!A)return"";let g=bft(p?.name,d,h),b=xft(A,g,d);return b?d2(t,pRr(u,b,o)):""}return""}catch{return""}}var Rft=!0,hRr=new Set(["tgchannel","tgsou","pansou","panta"]),gRr=!1,ARr=8e3;function yRr(t){return hRr.has(String(t||""))}function xRr(t=""){return/(移动|yidong|139)/i.test(String(t||""))}function bRr(t=""){try{let e=String(new URL(String(t||"")).hostname||"").toLowerCase();return e.includes("mcloud.139.com")||e.includes("yun.139.com")}catch{return!1}}function Ift(t="",e="mkv"){let r=String(t||"").trim();if(!r)return e;if(/\.m3u8($|\?)/i.test(r))return"m3u8";try{let s=new URL(r).pathname.match(/\.([a-z0-9]{2,6})$/i);if(s?.[1])return s[1].toLowerCase()}catch{}return e}function YM(t,e){let r=wn("lib",{k:t.spiderKey,t:t.spiderType,...t.siteName?{n:t.siteName}:{},...t.apiBase?{a:t.apiBase}:{}});return{Name:t.siteName,Id:r,ServerId:e,IsFolder:!0,Type:"CollectionFolder",PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:r},BackdropImageTags:[],UserData:ss()}}function ERr(t,e,r,n){let s=String(e.type_name||e.type_id||""),i=wn("cat",{k:t.spiderKey,t:t.spiderType,c:String(e.type_id),...s?{n:s}:{},...t.apiBase?{a:t.apiBase}:{}});return{Name:s,Id:i,ParentId:r,ServerId:n,IsFolder:!0,Type:"Folder",PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:i},BackdropImageTags:[],UserData:ss()}}var Nft=new Set(["movie","series","video","episode","musicvideo"]);function Cft(t=""){return String(t||"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}function _Rr(t=[],e=!1){return e?!0:t.some(r=>Nft.has(r))}function SRr(t=[]){return t.some(e=>Nft.has(e))}function vRr(t=[],e=!1,r=""){return e?!1:t.includes("folder")?!0:/(^|,)isfolder(,|$)/i.test(String(r||""))}function IRr(t,e=[]){if(!e.length)return!0;let r=String(t?.Type||"").toLowerCase();return!!(e.includes(r)||e.includes("video")&&["movie","video","episode"].includes(r)||e.includes("folder")&&t?.IsFolder)}function g2(t=[],e=[]){return e.length?t.filter(r=>IRr(r,e)):t}function h2(t,e,r){return!r||!r.Id||(r.UserData=Uo(t,e,String(r.Id||""),r.UserData||{})),r}function Tft(t=[]){let e=[],r=t.filter(s=>Array.isArray(s)&&s.length),n=r.reduce((s,i)=>Math.max(s,i.length),0);for(let s=0;s<n;s+=1)r.forEach(i=>{i[s]&&e.push(i[s])});return e}function wft(t){let e=null,r=new Promise((n,s)=>{e=setTimeout(()=>s(new Error("timeout")),ARr)});return Promise.race([t,r]).finally(()=>{e&&clearTimeout(e)})}async function ZM(t,e,r,n,s,i,a,o=[],c=null){let u=Math.max(0,Number(n)||0),l=Math.max(1,Number(s)||1),d=await RE(t,e,r,1,{},c).catch(()=>null),f=Array.isArray(d?.list)?d.list:[],p=Number(d?.limit||0),m=Math.max(1,p||f.length||l),h=Math.floor(u/m)+1,A=u%m,g=[],b=h,y=!1,x=!1,v=Number(d?.pagecount||0),I=Number(d?.total||0),R=h+Math.max(3,Math.ceil((A+l)/m)+2);for(;g.length<l&&b<=R;){let M=b===1?d:await RE(t,e,r,b,{},c).catch(()=>null),D=Array.isArray(M?.list)?M.list:[],L=g2(D.map(ue=>t6(e,ue,i,a)),o),Z=Number(M?.pagecount||0);Z>0&&(v=Math.max(v,Z));let W=Number(M?.total||0);W>0&&(I=Math.max(I,W));let F=b===h?A:0,K=L.slice(F),j=l-g.length;g.push(...K.slice(0,j));let J=Math.min(K.length,j);y=F+J>=L.length;let se=L.length===0,oe=v>0&&b>=v&&y;if(se||oe){x=!0;break}if(g.length>=l)break;b+=1}let w=Number.isFinite(I)&&I>0&&I<9e3,N=g.length>=l;N&&x&&(N=!1),N&&v>0&&b>=v&&y&&(N=!1),N&&w&&u+g.length>=I&&(N=!1);let P=u+g.length+(N?1:0),B=P;return w&&(B=Math.max(I,u+g.length),N&&(B=Math.max(B,P))),{rows:g,totalRecordCount:B}}async function ole(t,e,r,n,s=[],i=0,a=16,o=null){let c=await zw(t,e,o).catch(()=>null),u=Array.isArray(c?.class)?c.class.filter(f=>String(f?.type_id||"").trim()):[];if(u.length){let f=String(u[0].type_id||"");if(f)return ZM(t,e,f,i,a,r,n,s,o)}let l=Array.isArray(c?.list)?c.list:[],d=g2(l.map(f=>t6(e,f,r,n)),s);return{rows:Ca(d,i,a),totalRecordCount:d.length}}function Oft(t={}){return String(t?.siteName||t?.spiderKey||"").trim()}function Pft(t={}){let e=String(t?.vod_tag||"").trim().toLowerCase(),r=t?.cate&&typeof t.cate=="object"?t.cate:null,n=String(r?.id||"").trim(),s=String(t?.vod_id||"").trim();return n||(e==="folder"&&s?s:"")}function CRr(t,e,r,n,s={}){let i=!!s?.includeSourcePrefix,a=Pft(e),o=String(e.vod_pic||"").trim(),c=String(e.vod_remarks||"").trim(),u=String(e.vod_year||"").trim(),l=Oft(t),d=String(e.vod_name||e?.cate?.name||a||"").trim(),f=d||"\u672A\u547D\u540D\u76EE\u5F55",p={k:t.spiderKey,t:t.spiderType,c:a,...t.apiBase?{a:t.apiBase}:{}};o&&(p.u=o),d&&(p.n=d),c&&(p.r=c),u&&(p.y=u);let m=wn("cat",p);return{Name:i&&l?`${l} \xB7 ${f}`:f,Id:m,ParentId:r,ServerId:n,IsFolder:!0,Type:"Folder",Overview:c,PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:m},BackdropImageTags:[],UserData:ss()}}function t6(t,e,r,n,s={}){if(Pft(e))return CRr(t,e,r,n,s);let i=!!s?.includeSourcePrefix,a=String(e.vod_pic||""),o=String(e.vod_remarks||"").trim(),c=String(e.vod_year||"").trim(),u=Oft(t),l=String(e.vod_name||"").trim(),d=l||"\u672A\u547D\u540D",f={k:t.spiderKey,t:t.spiderType,v:String(e.vod_id),...t.apiBase?{a:t.apiBase}:{}};a&&(f.u=a),l&&(f.n=l),o&&(f.r=o),c&&(f.y=c);let p=wn("vod",f),h=Rft?"Series":WE(e);return{Name:i&&u?`${u} \xB7 ${d}`:d,Id:p,ParentId:r,ServerId:n,IsFolder:h==="Series",Type:h,MediaType:"Video",Overview:String(e.vod_remarks||""),PrimaryImageAspectRatio:.6667,ImageTags:{Primary:p},BackdropImageTags:[],UserData:ss()}}async function TRr(t,e,r,n,s,i){let a=String(r?.vod_name||"").trim(),o=String(r?.vod_pic||"").trim(),c=String(r?.tmdbHintRemarks||r?.vod_remarks||"").trim(),u=String(r?.tmdbHintYear||r?.vod_year||"").trim(),l=[],d=new Map;for(let f=0;f<n.length;f+=1){let p=n[f],m={k:e.spiderKey,t:e.spiderType,v:String(r.vod_id),l:f,...e.apiBase?{a:e.apiBase}:{}};a&&(m.n=a),o&&(m.u=o),c&&(m.r=c),u&&(m.y=u);let h=wn("sea",m),A={Name:p.flag||`\u7EBF\u8DEF${f+1}`,Id:h,ParentId:s,ServerId:i,IsFolder:!0,Type:"Season",IndexNumber:f+1,SeriesId:s,SeriesName:a,ChildCount:p.episodes.length,ImageTags:{Primary:h},BackdropImageTags:[],UserData:ss()},b=`s${GM(r,p,f)}`,y=d.get(b);y===void 0&&(y=await zM(t,"season",{spiderRef:e,vod:r,line:p,lineIndex:f})||null,d.set(b,y)),y&&Object.assign(A,y),l.push(A)}return l}async function wRr(t,e,r,n,s,i,a,o){let c=s[i];if(!c)return[];let u=[],l=String(n?.vod_name||"").trim(),d=String(n?.vod_pic||"").trim(),f=String(n?.tmdbHintRemarks||n?.vod_remarks||"").trim(),p=String(n?.tmdbHintYear||n?.vod_year||"").trim(),m=Array.isArray(c?.episodes)?c.episodes:[],h=await VM(t,{spiderRef:r,vod:n,line:c,lineIndex:i,episodes:m,episodeOffset:0});for(let A=0;A<m.length;A+=1){let g=m[A],b=fA(g?.name,A+1),y={k:r.spiderKey,t:r.spiderType,v:String(n.vod_id),l:i,e:A,f:c.flag,p:g.playId,...r.apiBase?{a:r.apiBase}:{}};l&&(y.n=l),d&&(y.u=d),f&&(y.r=f),p&&(y.y=p);let x=wn("ep",y),v=await ule(t,e,{k:r.spiderKey,t:r.spiderType,...r.apiBase?{a:r.apiBase}:{},v:String(n.vod_id),l:i,e:A,f:c.flag,p:g.playId},String(c.flag||`\u7EBF\u8DEF${i+1}`));u.push({Name:g.name||`\u7B2C${A+1}\u96C6`,Id:x,ParentId:a,ServerId:o,IsFolder:!1,Type:"Episode",MediaType:"Video",SeriesName:String(n.vod_name||""),IndexNumber:b,ParentIndexNumber:i+1,CanPlay:!0,PrimaryImageAspectRatio:.6667,ImageTags:{Primary:x},BackdropImageTags:[],UserData:ss(),MediaSources:[v],...h[A]||{}})}return u}function qE(t={}){return{spiderKey:String(t.k||""),spiderType:Number(t.t||3),apiBase:String(t.a||"")}}function JM(t={}){return{Overview:"",Taglines:[],Genres:[],GenreItems:[],People:[],Tags:[],ProviderIds:{},ProductionLocations:[],CommunityRating:0,CriticRating:0,RunTimeTicks:0,OfficialRating:"",...t}}function e6(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}function cle(t={},e=""){let r=go(t.vod_play_from,t.vod_play_url).filter(i=>Array.isArray(i?.episodes)&&i.episodes.length>0),n=r.reduce((i,a)=>Math.max(i,a.episodes.length),0),s=Rft?r.length>0:r.length>1||n>1||WE(t)==="Series";return{lines:r,isSeries:s}}function RRr(t){let r=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||t.protocol||"http",s=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||t.headers?.host||"127.0.0.1";return`${r}://${s}`}function NRr(t,e,r="mkv"){return`${RRr(t)}/emby${kft(t,e,r,!0)}`}function kft(t,e,r="mkv",n=!1){let s=/^[a-z0-9]{2,8}$/i.test(String(r||""))?String(r).toLowerCase():"mkv",i=n&&t.embyToken?`?api_key=${encodeURIComponent(t.embyToken)}`:"";return`/videos/${String(e||"")}/stream.${s}${i}`}async function ule(t,e,r,n="\u9ED8\u8BA4"){let s=wn("media",{k:String(r?.k||""),t:Number(r?.t||3),v:String(r?.v||""),l:Number(r?.l||0),e:Number(r?.e||0),f:String(r?.f||n||""),...r?.a?{a:String(r.a||"")}:{}}),i=yRr(r?.k)?"m3u8":"mkv",a=Ift(String(r?.p||""),i),o=NRr(e,s,a),c=kft(e,s,a,!0),u={},l=!1,d=String(n||r?.f||"");if(gRr&&xRr(d)&&r?.k&&r?.f&&r?.p){let p={spiderKey:String(r.k||""),spiderType:Number(r.t||3),apiBase:String(r.a||"")},m=await am(t,p,String(r.f||""),String(r.p||""),e).catch(()=>null),h=um(m||{},String(n||""));h.url&&bRr(h.url)&&(a=Ift(h.url,a),o=h.url,c=h.url,u=h.header||{},l=!1)}return{Id:s,Name:n,Type:"Default",Protocol:"Http",Container:a,IsRemote:!0,SupportsTranscoding:!1,SupportsDirectStream:!0,SupportsDirectPlay:!0,IsInfiniteStream:!1,SupportsProbing:!1,MediaStreams:[],RequiredHttpHeaders:u,Path:o,DirectStreamUrl:c,AddApiKeyToDirectStreamUrl:l,ItemId:s}}async function ORr(t,e,r,n,s=[]){let i=String(n?.vod_id||"");return!r?.spiderKey||!i?[]:(await Promise.all(s.map(async(o,c)=>{let u=o?.episodes?.[0];return u?.playId?ule(t,e,{k:r.spiderKey,t:r.spiderType,...r.apiBase?{a:r.apiBase}:{},v:i,l:c,e:0,f:String(o.flag||""),p:String(u.playId)},String(o.flag||`\u7EBF\u8DEF${c+1}`)):null}))).filter(Boolean)}function PRr(t={},e={}){let r=String(t?.vod_name||"").trim();if(r)return r;let n=String(e?.n||"").trim();if(n)return n;let s=go(t?.vod_play_from,t?.vod_play_url),i=String(s?.[0]?.episodes?.[0]?.name||"").trim();if(i)return i;let a=String(t?.vod_remarks||"").trim();return a||"\u672A\u547D\u540D"}async function XM(t,e,r=null){let n=qE(e);if(!n.spiderKey||!e.v)return null;let s=await Pc(t,n,String(e.v),r).catch(()=>null),i=kc(s);if(!i)return null;yA(i,e),!String(i?.vod_pic||"").trim()&&e?.u&&(i.vod_pic=String(e.u||"").trim()),i.vod_name=PRr(i,e);let{lines:a,isSeries:o}=cle(i,n.spiderKey);return e6(t,"vod.source",{spiderKey:n.spiderKey,spiderType:n.spiderType,vodId:String(i.vod_id||e.v||""),vodName:String(i.vod_name||""),vodRemarks:String(i.vod_remarks||""),guessVideoType:WE(i),isSeriesByRule:o,lineCount:a.length,episodeCountPerLine:a.map(c=>c.episodes.length).slice(0,10)}),{spiderRef:n,vod:i}}async function lle(t){t.get("/:userId",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext,r=$s();return{Name:e.user.name,ServerId:e.config.serverId,Id:e.user.id,LastActivityDate:r,LastLoginDate:r}}),t.get("/:userId/Views",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId,r=await Jl(t);return Ft(r.map(n=>YM(n,e)))}),t.get("/:userId/Items/Resume",{preHandler:t.embyRequireAuth},async e=>{let r=e.query||{},n=Number(Xr(r,["StartIndex","startindex"],0)),s=Pu(Xr(r,["Limit","limit"],50),50),i=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id),a=Vdt(t,i,t.embyContext.config.serverId);return Ft(Ca(a,n,s),a.length)}),t.get("/:userId/Items/Latest",{preHandler:t.embyRequireAuth},async e=>{let r=e.query||{},n=t.embyContext.config.serverId,s=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id),i=String(Xr(r,["ParentId","parentid"],"")),a=Pu(Xr(r,["Limit","limit"],16),16),o=Cft(Xr(r,["IncludeItemTypes","includeitemtypes"],"")),c=String(Xr(r,["MediaTypes","mediatypes"],"")).toLowerCase();!o.length&&c.includes("video")&&(o=["movie","series","video"]);let u=await Jl(t),l=Fs(i);if(l?.type==="lib"){let h=qE(l.payload),A=aA(u,h.spiderKey,h.spiderType,h.apiBase)||{siteName:h.spiderKey,spiderKey:h.spiderKey,spiderType:h.spiderType,apiBase:h.apiBase},g=await ole(t,A,i,n,o,0,a,e);return Us(t,s,g.rows)}if(l?.type==="cat"){let h=qE(l.payload),A=aA(u,h.spiderKey,h.spiderType,h.apiBase)||{siteName:h.spiderKey,spiderKey:h.spiderKey,spiderType:h.spiderType,apiBase:h.apiBase},g=await ZM(t,A,String(l.payload.c||""),0,a,i,n,o,e);return Us(t,s,g.rows)}let d=Math.min(Math.max(a,6),20),p=(await Promise.allSettled(u.map(h=>wft(ole(t,h,YM(h,n).Id,n,o,0,d,e))))).filter(h=>h.status==="fulfilled").map(h=>h.value.rows),m=Tft(p).slice(0,a);return Us(t,s,m)}),t.get("/:userId/Items",{preHandler:t.embyRequireAuth},async e=>{let r=e.query||{},n=t.embyContext.config.serverId,s=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id),i=String(Xr(r,["SortBy","sortby"],""));if(i.includes("IsFavoriteOrLiked"))return Ft([]);let a=String(Xr(r,["ParentId","parentid"],"")),o=String(Xr(r,["SearchTerm","searchterm","NameStartsWith","namestartswith"],"")).trim(),c=Number(Xr(r,["StartIndex","startindex"],0)),u=Pu(Xr(r,["Limit","limit"],60),60),l=Number(Xr(r,["Page","page"],Math.floor(Math.max(0,c)/u)+1))||1,d=Cft(Xr(r,["IncludeItemTypes","includeitemtypes"],"")),f=String(Xr(r,["Recursive","recursive"],"")).trim().toLowerCase()==="true",p=String(Xr(r,["MediaTypes","mediatypes"],"")).toLowerCase(),m=await Jl(t);if(o){let g=t.embyContext?.config?.searchSourcePrefix!==!1,b=[];await Promise.allSettled(m.map(async x=>{try{let v=await Promise.race([mlt(t,x,o,l),new Promise((R,w)=>setTimeout(()=>w(new Error("timeout")),8e3))]);(Array.isArray(v?.list)?v.list:[]).forEach(R=>b.push(t6(x,R,"0",n,{includeSourcePrefix:g})))}catch{}}));let y=Us(t,s,g2(b,d));return Ft(Ca(y,c,u),y.length)}if(!a&&f&&(SRr(d)||p.includes("video"))){let A=d.length?d:["movie","series","video"],g=Math.min(Math.max(u,6),20),y=(await Promise.allSettled(m.map(v=>wft(ole(t,v,YM(v,n).Id,n,A,0,g,e))))).filter(v=>v.status==="fulfilled").map(v=>v.value.rows),x=Us(t,s,Tft(y));return Ft(Ca(x,c,u),x.length)}if(!a){let A=Us(t,s,m.map(g=>YM(g,n)));return Ft(Ca(A,c,u),A.length)}let h=Fs(a);if(!h)return Ft([]);if(h.type==="lib"){let A=qE(h.payload),g=aA(m,A.spiderKey,A.spiderType,A.apiBase)||{siteName:A.spiderKey,spiderKey:A.spiderKey,spiderType:A.spiderType,apiBase:A.apiBase},b=await zw(t,g,e).catch(()=>null),y=Array.isArray(b?.class)?b.class.filter(R=>String(R?.type_id||"").trim()):[];if(y.length&&(vRr(d,f,i)||!_Rr(d,f))){let R=y.map(N=>ERr(g,N,a,n)),w=Us(t,s,g2(R,d));return Ft(Ca(w,c,u),w.length)}if(y.length){let R=String(y[0].type_id||"");if(R){let w=await ZM(t,g,R,c,u,a,n,d,e);return Us(t,s,w.rows),Ft(w.rows,w.totalRecordCount)}}let v=(Array.isArray(b?.list)?b.list:[]).map(R=>t6(g,R,a,n)),I=Us(t,s,g2(v,d));return Ft(Ca(I,c,u),I.length)}if(h.type==="cat"){let A=qE(h.payload),g=aA(m,A.spiderKey,A.spiderType,A.apiBase)||{siteName:A.spiderKey,spiderKey:A.spiderKey,spiderType:A.spiderType,apiBase:A.apiBase},b=String(h.payload.c||""),y=await ZM(t,g,b,c,u,a,n,d,e);return Us(t,s,y.rows),Ft(y.rows,y.totalRecordCount)}if(h.type==="vod"){let A=await XM(t,h.payload,e);if(!A)return Ft([]);let{spiderRef:g,vod:b}=A,{lines:y,isSeries:x}=cle(b,g.spiderKey);if(!y.length)return Ft([]);if(x){let v=await TRr(t,g,b,y,a,n);return Us(t,s,v),Ft(Ca(v,c,u),v.length)}return Ft([])}if(h.type==="sea"){let A=await XM(t,h.payload,e);if(!A)return Ft([]);let{spiderRef:g,vod:b}=A,y=go(b.vod_play_from,b.vod_play_url);if(!y.length)return Ft([]);let x=Number(h.payload.l||0),v=await wRr(t,e,g,b,y,x,a,n);return Us(t,s,v),Ft(Ca(v,c,u),v.length)}return Ft([])}),t.get("/:userId/Items/:itemId",{preHandler:t.embyRequireAuth},async(e,r)=>{let n=Fs(e.params.itemId);if(!n)return r.code(404),{};let s=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);if(n.type==="ep"){let i=await XM(t,n.payload,e),a=String(i?.vod?.vod_name||"\u64AD\u653E"),o=Number(n?.payload?.l||0),c=Number(n?.payload?.e||0),u=go(i?.vod?.vod_play_from,i?.vod?.vod_play_url),l=u?.[o]?.episodes?.[c]?.name||"",d=u?.[o]||null,f=d?.episodes?.[c]||null,p=fA(l,c+1),m=wn("vod",{k:String(n?.payload?.k||""),t:Number(n?.payload?.t||3),v:String(n?.payload?.v||""),...n?.payload?.a?{a:String(n.payload.a||"")}:{},...n?.payload?.n?{n:String(n.payload.n||"")}:{},...n?.payload?.u?{u:String(n.payload.u||"")}:{},...n?.payload?.r?{r:String(n.payload.r||"")}:{},...n?.payload?.y?{y:String(n.payload.y||"")}:{}}),h=wn("sea",{k:String(n?.payload?.k||""),t:Number(n?.payload?.t||3),v:String(n?.payload?.v||""),l:o,...n?.payload?.a?{a:String(n.payload.a||"")}:{},...n?.payload?.n?{n:String(n.payload.n||"")}:{},...n?.payload?.u?{u:String(n.payload.u||"")}:{},...n?.payload?.r?{r:String(n.payload.r||"")}:{},...n?.payload?.y?{y:String(n.payload.y||"")}:{}}),A=n.payload?.k&&n.payload?.v&&n.payload?.f&&n.payload?.p?[await ule(t,e,{k:String(n.payload.k||""),t:Number(n.payload.t||3),v:String(n.payload.v||""),l:Number(n.payload.l||0),e:Number(n.payload.e||0),f:String(n.payload.f||""),p:String(n.payload.p||""),...n.payload.a?{a:String(n.payload.a||"")}:{}},String(n.payload.f||"\u9ED8\u8BA4"))]:[];return e6(t,"item.detail.ep",{itemId:e.params.itemId,sourceType:n.type,vodName:String(i?.vod?.vod_name||""),mediaSourceCount:A.length,canPlay:!0}),h2(t,s,{Name:a,Id:e.params.itemId,Type:"Episode",IsFolder:!1,MediaType:"Video",CanPlay:!0,SeriesId:m,SeriesName:a,SeasonId:h,SeasonName:String(n?.payload?.f||`\u7EBF\u8DEF${o+1}`),IndexNumber:p,ParentIndexNumber:o+1,DateCreated:$s(),ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Uo(t,s,e.params.itemId),...JM(),...f?await m2(t,{spiderRef:qE(n.payload),vod:i?.vod||{},line:d,lineIndex:o,episode:f,episodeIndex:c})||{}:{},MediaSources:A})}if(n.type==="sea"){let i=Number(n?.payload?.l||0);return h2(t,s,{Name:`\u7EBF\u8DEF${i+1}`,Id:e.params.itemId,Type:"Season",IsFolder:!0,IndexNumber:i+1,DateCreated:$s(),ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Uo(t,s,e.params.itemId),...JM()})}if(n.type==="cat"){let i=String(n.payload?.n||n.payload?.c||n.payload?.k||"\u76EE\u5F55");return h2(t,s,{Name:i,Id:e.params.itemId,Type:"Folder",IsFolder:!0,ServerId:t.embyContext.config.serverId,PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Uo(t,s,e.params.itemId),...JM({Overview:String(n.payload?.r||"")})})}if(n.type==="vod"){let i=gft(t,n.payload).catch(()=>null),a=await XM(t,n.payload,e);if(!a)return r.code(404),{};let{lines:o,isSeries:c}=cle(a.vod,a.spiderRef.spiderKey),u=c?"Series":"Movie",[l,d]=await Promise.all([ORr(t,e,a.spiderRef,a.vod,o),i]),f=d&&typeof d=="object"?{...d}:{},p={Primary:e.params.itemId,...f.ImageTags&&typeof f.ImageTags=="object"?f.ImageTags:{}};delete f.ImageTags;let m=c?[]:l,h=c?l.length>0:m.length>0;return e6(t,"item.detail.vod",{itemId:e.params.itemId,spiderKey:a.spiderRef.spiderKey,spiderType:a.spiderRef.spiderType,vodId:String(a.vod.vod_id||""),vodName:String(a.vod.vod_name||""),type:u,isFolder:c,canPlay:h,lineCount:o.length,mediaSourceCount:m.length,firstMediaSource:m[0]?{name:m[0].Name,path:m[0].Path,id:m[0].Id}:null}),h2(t,s,{Name:String(a.vod.vod_name||""),Id:e.params.itemId,IsFolder:c,Type:u,MediaType:"Video",CollectionType:c?"tvshows":void 0,CanPlay:h,DateCreated:$s(),PrimaryImageAspectRatio:.6667,ProductionYear:Number(a.vod.vod_year||0)||void 0,ImageTags:p,BackdropImageTags:[],UserData:Uo(t,s,e.params.itemId),ChildCount:c?o.length>1?o.length:o[0]?.episodes?.length||0:void 0,SeasonCount:c?o.length:void 0,RecursiveItemCount:c?o.reduce((A,g)=>A+(g?.episodes?.length||0),0):void 0,...JM({Overview:String(a.vod.vod_content||"")}),...f,MediaSources:m})}return h2(t,s,{Name:String(n.payload?.k||""),Id:e.params.itemId,IsFolder:!0,Type:"Folder",ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Uo(t,s,e.params.itemId)})}),t.get("/:userId/Items/:itemId/LocalTrailers",{preHandler:t.embyRequireAuth},async()=>[]),t.get("/:userId/Items/:itemId/SpecialFeatures",{preHandler:t.embyRequireAuth},async()=>[]),t.all("/:userId/Items/:itemId/PlaybackInfo",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["GET","POST"].includes(e.method))return r.code(405),"";let n=new URLSearchParams,s=e.query||{};Object.keys(s).forEach(d=>{let f=s[d];f!=null&&n.set(d,String(f))});let i=n.toString(),a=`/emby/Items/${encodeURIComponent(String(e.params.itemId||""))}/PlaybackInfo${i?`?${i}`:""}`;e6(t,"playback.alias",{from:e.raw.url,to:a,method:e.method});let o={};e.embyToken&&(o["x-emby-token"]=e.embyToken);let c=e.method==="POST"?e.body||{}:void 0,u=await t.inject({method:e.method,url:a,headers:o,payload:c});r.code(u.statusCode);let l=u.headers?.["content-type"];if(l&&r.header("content-type",l),!u.body)return"";if(String(l||"").includes("application/json"))try{return JSON.parse(u.body)}catch{return u.body}return u.body}),t.post("/:userId/Items/:itemId/HideFromResume",{preHandler:t.embyRequireAuth},async e=>{let r=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);return Kdt(t,r,String(e.params.itemId||""))}),t.all("/:userId/FavoriteItems/:itemId/:isDelete?",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["POST","DELETE"].includes(e.method))return r.code(405),"";let n=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);return Gdt(t,n,String(e.params.itemId||""),e.method==="POST")}),t.all("/:userId/PlayedItems/:itemId/:isDelete?",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["POST","DELETE"].includes(e.method))return r.code(405),"";let n=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);return Qdt(t,n,String(e.params.itemId||""),e.method==="POST")})}var kRr=30*60*1e3,jE=16/9,A2=960,DRr=1920,BRr=360,LRr=9,Fft=24,MRr=12e3,ple=9e3,Dft=5*1024*1024,Bft=80,Lft=24,Mft=[["#556b2f","#bed98a"],["#5b3a82","#b37bd9"],["#235f73","#8fd2dc"],["#7a3341","#d98498"],["#2f5c43","#9ac78d"],["#6f4a2f","#d39a5d"],["#354f7d","#91aee6"],["#73395f","#cb87af"]],dle=null;function fle(t=""){return String(t||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Uft(t,e,r){return Math.max(e,Math.min(r,t))}function WRr(t=""){let e=2166136261,r=String(t||"");for(let n=0;n<r.length;n+=1)e^=r.charCodeAt(n),e=Math.imul(e,16777619);return e>>>0}function qft(t){return Uft(Math.round(Number(t)||0),0,255)}function Wft(t=[]){return`#${t.slice(0,3).map(e=>qft(e).toString(16).padStart(2,"0")).join("")}`}function $ft(t=[],e=[],r=.5){return[0,1,2].map(n=>qft((t[n]||0)*(1-r)+(e[n]||0)*r))}function $Rr(t={}){return{spiderKey:String(t.k||t.spiderKey||""),spiderType:Number(t.t||t.spiderType||3),apiBase:String(t.a||t.apiBase||"")}}function mle(t,e,r=null){let n=null,s=new Promise(i=>{n=setTimeout(()=>i(r),e)});return Promise.race([t,s]).finally(()=>{n&&clearTimeout(n)})}function y2(t=[]){let e=new Set,r=[];for(let n of t){let s=String(n||"").trim();!s||e.has(s)||(e.add(s),r.push(s))}return r}function jft(t=""){let e=String(t||"").trim();if(!e)return"";try{let r=new URL(e);return["http:","https:"].includes(r.protocol)?r.toString():""}catch{return""}}function FRr(t="",e="\u5A92\u4F53\u5E93"){return String(t||"").trim().replace(/^(?:「[^ã€]*ã€\s*)+/,"").trim()||e}function hle(t=[]){return y2((Array.isArray(t)?t:[]).map(e=>jft(e?.vod_pic)).filter(Boolean))}async function URr(t,e={}){let r=$Rr(e);if(!r.spiderKey)return null;let n=await Jl(t).catch(()=>[]);return aA(n,r.spiderKey,r.spiderType,r.apiBase)||{siteName:String(e.n||r.spiderKey),spiderKey:r.spiderKey,spiderType:r.spiderType,apiBase:r.apiBase}}async function qRr(t,e,r){let n=await mle(zw(t,e,r).catch(()=>null),ple,null),s=hle(n?.list||[]);if(s.length>=Fft)return s;let i=Array.isArray(n?.class)?n.class.filter(c=>String(c?.type_id||"").trim()):[];if(!i.length)return s;let a=i.slice(0,5).map(c=>mle(RE(t,e,String(c.type_id||""),1,{},r).then(u=>hle(u?.list||[])).catch(()=>[]),ple,[]));return(await Promise.allSettled(a)).forEach(c=>{c.status==="fulfilled"&&s.push(...c.value)}),y2(s)}async function jRr(t,e,r={},n){let s=[],i=jft(r.u);i&&s.push(i);let a=String(r.c||"").trim();if(!a)return y2(s);let o=await mle(RE(t,e,a,1,{},n).catch(()=>null),ple,null);return s.push(...hle(o?.list||[])),y2(s)}async function HRr(t,e,r){let n=await URr(t,e?.payload||{});if(!n)return{spider:null,posterUrls:[]};let s=[];return e?.type==="lib"?s=await qRr(t,n,r):e?.type==="cat"&&(s=await jRr(t,n,e.payload||{},r)),{spider:n,posterUrls:s}}function QRr(t,e=0){let r=t?.payload||{},n=FRr(r.n||r.name||r.k,"\u5A92\u4F53\u5E93"),s=t?.type==="cat"?"FOLDER":"LIBRARY";return{title:n,subtitle:s,countText:e>0?`${e} IMAGES`:"MYCATPAW"}}function GRr(t={}){let e=Number(t.Width||t.width||t.MaxWidth||t.maxWidth||0),r=Number(t.Height||t.height||t.MaxHeight||t.maxHeight||0),n=A2,s=Math.round(A2/jE);if(e>0&&r>0){let i=Math.min(e/A2,r/(A2/jE));n=Math.round(A2*i),s=Math.round(n/jE)}else e>0?(n=Math.round(e),s=Math.round(n/jE)):r>0&&(s=Math.round(r),n=Math.round(s*jE));return n=Uft(n,BRr,DRr),s=Math.round(n/jE),{width:n,height:s}}async function KRr(){return dle||(dle=import("sharp").then(t=>t.default||t).catch(()=>null)),dle}function r6(t=""){return Mft[WRr(t)%Mft.length]}function VRr(t,e=3){let r=Math.max(3,Number(e)||3),n=Math.floor(t.length/r);if(!n)return!0;let s=0,i=0,a=0,o=0,c=0,u=0,l=0,d=0,f=0,p=new Set;for(let v=0;v<t.length;v+=r){let I=t[v]||0,R=t[v+1]||0,w=t[v+2]||0,N=I*.299+R*.587+w*.114,P=Math.max(I,R,w),B=Math.min(I,R,w);s+=I,i+=R,a+=w,o+=I*I,c+=R*R,u+=w*w,l+=N,d+=N*N,f+=P-B,p.add(`${I>>4}:${R>>4}:${w>>4}`)}let m=s/n,h=i/n,A=a/n,g=l/n,b=Math.sqrt(Math.max(0,d/n-g*g)),y=(Math.sqrt(Math.max(0,o/n-m*m))+Math.sqrt(Math.max(0,c/n-h*h))+Math.sqrt(Math.max(0,u/n-A*A)))/3,x=f/n;return b<8&&y<8||(g>242||g<16)&&b<12&&y<12||x<7&&b<10||p.size<=3||p.size<=6&&b<20&&x<12}async function zRr(t,e){try{let r=await t(e).metadata();if(!r?.width||!r?.height||r.width<Bft||r.height<Bft)return!1;let{data:n,info:s}=await t(e).resize(Lft,Lft,{fit:"cover"}).removeAlpha().raw().toBuffer({resolveWithObject:!0});return!VRr(n,s?.channels||3)}catch{return!1}}async function YRr(t,e){try{return await t(e).rotate().resize({width:420,height:620,fit:"cover",withoutEnlargement:!0}).flatten({background:"#f2f4f7"}).jpeg({quality:82,mozjpeg:!0}).toBuffer()}catch{return null}}async function JRr(t,e=null){try{let r=new URL(t),n=await Ae.get(r.toString(),{responseType:"arraybuffer",timeout:MRr,maxContentLength:Dft,headers:{Accept:"image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8",Referer:`${r.protocol}//${r.host}/`,"User-Agent":"Mozilla/5.0 EmbyDynamicCover/1.0"},validateStatus:o=>o>=200&&o<300}),s=String(n.headers?.["content-type"]||"").split(";")[0].trim().toLowerCase(),i=s&&s.startsWith("image/")?s:"image/jpeg",a=Buffer.from(n.data||[]);if(!a.length||a.length>Dft)return null;if(e){if(!await zRr(e,a))return null;let o=await YRr(e,a);return o?.length?{dataUri:`data:image/jpeg;base64,${o.toString("base64")}`,buffer:o}:null}return{dataUri:`data:${i};base64,${a.toString("base64")}`,buffer:a}}catch{return null}}async function XRr(t=[],e=null){let n=y2(t).slice(0,Fft).map(a=>JRr(a,e));return(await Promise.allSettled(n)).filter(a=>a.status==="fulfilled"&&a.value?.dataUri).map(a=>a.value).slice(0,LRr)}async function ZRr(t,e=[],r=""){let n=e.find(s=>s?.buffer);if(!n)return r6(r);try{let i=((await t(n.buffer).resize(24,24,{fit:"cover"}).stats()).channels||[]).slice(0,3).map(c=>c.mean||0),a=$ft(i,[0,0,0],.38),o=$ft(i,[255,255,255],.48);return[Wft(a),Wft(o)]}catch{return r6(r)}}function eNr(t=""){let e=String(t||"\u5A92\u4F53\u5E93").trim()||"\u5A92\u4F53\u5E93";if(e.length<=8)return[e];if(/[\u4e00-\u9fff]/.test(e)){let i=e.slice(0,8),a=e.slice(8,16);return a?[i,a]:[i]}let r=e.split(/\s+/).filter(Boolean);if(r.length<=1)return[e.slice(0,16)];let n=[],s="";return r.forEach(i=>{let a=s?`${s} ${i}`:i;if(a.length>12&&s){n.push(s),s=i;return}s=a}),s&&n.push(s),n.slice(0,2)}function Hft(t=[],e,r){let n=e*.16,s=n*1.48,i=e*.025,a=e*.52,o=-r*.16,c=3;return[2,0,1,3,4,5,8,6,7].map((l,d)=>{let f=Math.floor(d/c),p=d%c,m=a+f*(n+i),h=o+p*(s+i),A=`posterClip${d}`,g=t[l%t.length];return{x:m,y:h,w:n,h:s,r:e*.015,clipId:A,href:g?.dataUri||""}})}function tNr(t,e,r=""){let n=Hft([{dataUri:""}],t,e),s=r6(r);return n.map((i,a)=>{let o=.18+a%3*.08;return`
|
|
<rect x="${i.x.toFixed(1)}" y="${i.y.toFixed(1)}"
|
|
width="${i.w.toFixed(1)}" height="${i.h.toFixed(1)}"
|
|
rx="${i.r.toFixed(1)}" fill="${s[a%s.length]}" opacity="${o.toFixed(2)}"/>
|
|
<path d="M ${i.x+i.w*.22} ${i.y+i.h*.42}
|
|
h ${i.w*.56} v ${i.h*.22} h ${-i.w*.56} z"
|
|
fill="rgba(255,255,255,0.28)"/>
|
|
`}).join("")}function rNr({width:t,height:e,title:r,subtitle:n,countText:s,posterImages:i,palette:a}){let o=eNr(r),c=o.some(h=>h.length>8)?t*.082:t*.105,u=t*.034,l=c*1.08,d=i.length?Hft(i,t,e):[],f=d.map(h=>`
|
|
<clipPath id="${h.clipId}">
|
|
<rect x="${h.x.toFixed(1)}" y="${h.y.toFixed(1)}"
|
|
width="${h.w.toFixed(1)}" height="${h.h.toFixed(1)}"
|
|
rx="${h.r.toFixed(1)}"/>
|
|
</clipPath>
|
|
`).join(""),p=d.map(h=>`
|
|
<rect x="${h.x.toFixed(1)}" y="${h.y.toFixed(1)}"
|
|
width="${h.w.toFixed(1)}" height="${h.h.toFixed(1)}"
|
|
rx="${h.r.toFixed(1)}" fill="rgba(255,255,255,0.14)" filter="url(#cardShadow)"/>
|
|
<image href="${h.href}" x="${h.x.toFixed(1)}" y="${h.y.toFixed(1)}"
|
|
width="${h.w.toFixed(1)}" height="${h.h.toFixed(1)}"
|
|
preserveAspectRatio="xMidYMid slice" clip-path="url(#${h.clipId})"/>
|
|
`).join(""),m=o.map((h,A)=>`
|
|
<text x="${(t*.07).toFixed(1)}" y="${(e*.47+A*l).toFixed(1)}"
|
|
class="title">${fle(h)}</text>
|
|
`).join("");return`<?xml version="1.0" encoding="UTF-8"?>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${e}" viewBox="0 0 ${t} ${e}">
|
|
<defs>
|
|
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="0">
|
|
<stop offset="0" stop-color="${a[0]}"/>
|
|
<stop offset="1" stop-color="${a[1]}"/>
|
|
</linearGradient>
|
|
<radialGradient id="softLight" cx="78%" cy="42%" r="58%">
|
|
<stop offset="0" stop-color="rgba(255,255,255,0.42)"/>
|
|
<stop offset="1" stop-color="rgba(255,255,255,0)"/>
|
|
</radialGradient>
|
|
<filter id="cardShadow" x="-20%" y="-20%" width="150%" height="150%">
|
|
<feDropShadow dx="${(t*.01).toFixed(1)}" dy="${(e*.016).toFixed(1)}"
|
|
stdDeviation="${(t*.011).toFixed(1)}" flood-color="#000" flood-opacity="0.38"/>
|
|
</filter>
|
|
${f}
|
|
<style>
|
|
.title {
|
|
fill: #fff;
|
|
font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
|
|
font-weight: 800;
|
|
font-size: ${c.toFixed(1)}px;
|
|
}
|
|
.subtitle {
|
|
fill: rgba(255,255,255,0.88);
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
font-weight: 500;
|
|
font-size: ${u.toFixed(1)}px;
|
|
}
|
|
.meta {
|
|
fill: rgba(255,255,255,0.52);
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
font-size: ${(t*.018).toFixed(1)}px;
|
|
}
|
|
</style>
|
|
</defs>
|
|
<rect width="${t}" height="${e}" fill="url(#bg)"/>
|
|
<rect width="${t}" height="${e}" fill="url(#softLight)" opacity="0.72"/>
|
|
<g transform="rotate(-14 ${(t*.76).toFixed(1)} ${(e*.48).toFixed(1)})">
|
|
${i.length?p:tNr(t,e,r)}
|
|
</g>
|
|
<rect x="${(t*.067).toFixed(1)}" y="${(e*.58).toFixed(1)}"
|
|
width="${(t*.014).toFixed(1)}" height="${(e*.054).toFixed(1)}"
|
|
fill="rgba(255,255,255,0.32)"/>
|
|
${m}
|
|
<text x="${(t*.096).toFixed(1)}" y="${(e*.63).toFixed(1)}" class="subtitle">${fle(n)}</text>
|
|
<text x="${(t*.07).toFixed(1)}" y="${(e*.86).toFixed(1)}" class="meta">${fle(s)}</text>
|
|
</svg>`}function nNr(t=""){return String(t||"Primary").trim().toLowerCase()==="primary"}function gle(t,e="Primary"){return nNr(e)&&["lib","cat"].includes(t?.type)}async function Qft(t,e,r){if(!gle(e,r?.params?.imageType||"Primary"))return null;let{width:n,height:s}=GRr(r?.query||{}),i=im(["emby","dynamic-cover-v2",e.type,JSON.stringify(e.payload||{}),n,s]);return Jf(t.embyContext?.cache,i,kRr,async()=>{let a=await HRr(t,e,r),o=await KRr(),c=o?await XRr(a.posterUrls,o):[],u=QRr(e,o?c.length:a.posterUrls.length),l=o?await ZRr(o,c,u.title):r6(u.title),d=rNr({width:n,height:s,title:u.title,subtitle:u.subtitle,countText:u.countText,posterImages:c,palette:l});return o?{buffer:await o(Buffer.from(d,"utf8"),{density:96}).png({compressionLevel:8,adaptiveFiltering:!0}).toBuffer(),contentType:"image/png"}:{buffer:Buffer.from(d,"utf8"),contentType:"image/svg+xml; charset=utf-8"}})}var sNr=!1;function iNr(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}async function Gft(t,e={}){if(e.u)return String(e.u);let r=Xl(e),n=String(e.v||"");if(!r.spiderKey||!n)return"";let s=await Pc(t,r,n).catch(()=>null),i=kc(s);return String(i?.vod_pic||"")}function aNr(t,e="Primary",r={}){let n=String(e||"Primary").trim().toLowerCase();return String(r?.tag||r?.Tag||"").trim().toLowerCase()==="tmdb"||t?.type!=="vod"?!0:["backdrop","thumb","banner","logo"].includes(n)}async function oNr(t,e,r="Primary",n={}){if(e?.type==="vod"&&!aNr(e,r,n)){let i=await Gft(t,e?.payload||{});if(i)return i}let s=await vft(t,e,r).catch(()=>"");return s||(e?.type==="img"?String(e?.payload?.u||""):Gft(t,e?.payload||{}))}function Kft(t){if(!t?.payload||typeof t.payload!="object")return null;let e=t.payload;return t.type==="media"||t.type==="ep"?{k:String(e.k||""),t:Number(e.t||3),v:String(e.v||""),l:Number(e.l||0),e:Number(e.e||0),f:String(e.f||""),p:String(e.p||""),a:String(e.a||"")}:null}async function cNr(t,e,r=""){let n=Kft(e);if(n)return n;if(r&&["vod","sea"].includes(e.type)){let p=c2(t,r,wn(e.type,e.payload||{})),m=Kft(p?.decoded);if(m?.k&&m?.f&&m?.p)return m}let s=e.payload||{};if(!["vod","sea"].includes(e.type))return null;let i=Xl(s),a=String(s.v||"");if(!i.spiderKey||!a)return null;let o=await Pc(t,i,a).catch(()=>null),c=kc(o);if(!c)return null;let u=go(c.vod_play_from,c.vod_play_url);if(!u.length)return null;let l=e.type==="sea"?Number(s.l||0):0,d=u[l]||u[0];if(!d||!d.episodes.length)return null;let f=d.episodes[0];return{k:i.spiderKey,t:i.spiderType,v:a,l,e:0,f:String(d.flag||""),p:String(f.playId||""),...i.apiBase?{a:i.apiBase}:{}}}function uNr(t=""){let e=String(t||"").trim();if(!e)return"mkv";if(/\.m3u8($|\?)/i.test(e))return"m3u8";try{let n=new URL(e).pathname.match(/\.([a-z0-9]{2,6})$/i);if(n?.[1])return n[1].toLowerCase()}catch{}return"mkv"}function lNr(t=""){try{let e=String(new URL(String(t||"")).hostname||"").toLowerCase();return e.includes("mcloud.139.com")||e.includes("yun.139.com")}catch{return!1}}async function dNr(t,e,r){let n={spiderKey:e.k,spiderType:Number(e.t||3),apiBase:String(e.a||"")},s=await am(t,n,e.f,e.p,r).catch(()=>null),i=um(s||{},""),a=String(i.url||"");return{container:uNr(a),requiredHeaders:i.header||{},directUrl:a,useDirectUrl:sNr&&lNr(a)}}function fNr(t){let r=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||t.protocol||"http",s=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||t.headers?.host||"127.0.0.1";return`${r}://${s}`}function pNr(t="mkv"){return/^[a-z0-9]{2,8}$/i.test(String(t||""))?String(t).toLowerCase():"mkv"}function Vft(t,e,r="mkv",n=!1){let s=pNr(r),i=n&&t.embyToken?`?api_key=${encodeURIComponent(t.embyToken)}`:"";return`/videos/${String(e||"")}/stream.${s}${i}`}function mNr(t,e,r="mkv",n=!0){return`${fNr(t)}/emby${Vft(t,e,r,n)}`}async function Ale(t){t.get("/",{preHandler:t.embyRequireAuth},async(e,r)=>{let n=e.query||{},s=String(n.userid||n.UserId||e.embyUser?.Id||t.embyContext.user.id),i=new URLSearchParams;Object.keys(n).forEach(c=>{if(c==="userid"||c==="UserId")return;let u=n[c];u!=null&&i.set(c,String(u))});let a=`/emby/Users/${encodeURIComponent(s)}/Items`,o=i.toString();o&&(a+=`?${o}`),r.redirect(301,a)}),t.get("/:itemId/Images/:imageType",async(e,r)=>{let n=Fs(e.params.itemId);if(!n)return r.code(404),"";if(gle(n,e.params.imageType||"Primary")){let i=await Qft(t,n,e).catch(()=>null);if(i?.buffer?.length)return r.header("Content-Type",i.contentType||"image/png"),r.header("Cache-Control","public, max-age=1800"),r.header("Content-Length",String(i.buffer.length)),r.send(i.buffer)}let s=await oNr(t,n,e.params.imageType||"Primary",e.query||{});if(!s)return r.code(404),"";try{let i=new URL(s);if(!["http:","https:"].includes(i.protocol))return r.code(403),""}catch{return r.code(404),""}try{let i=await Ae.get(s,{responseType:"stream",timeout:1e4,headers:{"User-Agent":"Mozilla/5.0 EmbyImageProxy"}}),a=i.headers?.["content-type"]||"image/jpeg";return r.header("Content-Type",a),r.header("Cache-Control","public, max-age=86400"),i.headers?.["content-length"]&&r.header("Content-Length",i.headers["content-length"]),r.send(i.data)}catch{return r.code(502),""}}),t.all("/:itemId/PlaybackInfo",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["GET","POST"].includes(e.method))return r.code(405),"";let n=e.params.itemId,s=Fs(n);if(!s)return r.code(404),{};let i=e.embyUser?.Id||t.embyContext.user.id,a=await cNr(t,s,i);if(!a||!a.k||!a.f||!a.p)return r.code(404),{};let o=wn("media",{k:String(a.k||""),t:Number(a.t||3),v:String(a.v||""),l:Number(a.l||0),e:Number(a.e||0),f:String(a.f||""),...a.a?{a:String(a.a||"")}:{}}),c=await dNr(t,a,e),u=mNr(e,o,c.container,!0),l=c.useDirectUrl&&c.directUrl?c.directUrl:u,d=c.useDirectUrl&&c.directUrl?c.directUrl:Vft(e,o,c.container,!0),f=!1,p=c.useDirectUrl?c.requiredHeaders||{}:{};return iNr(t,"playback.info",{itemId:n,mediaId:o,spiderKey:a.k,lineFlag:a.f,container:c.container,useDirectUrl:c.useDirectUrl,streamUrl:l,directStreamUrl:d,hasRequiredHeaders:Object.keys(p).length>0,addApiKeyToDirectStreamUrl:f}),{MediaSources:[{Id:o,Name:"\u9ED8\u8BA4",Type:"Default",Protocol:"Http",Container:c.container,IsRemote:!0,SupportsTranscoding:!1,SupportsDirectStream:!0,SupportsDirectPlay:!0,IsInfiniteStream:!1,RequiresOpening:!1,RequiresClosing:!1,RequiresLooping:!1,SupportsProbing:!1,MediaStreams:[],RequiredHttpHeaders:p,Path:l,DirectStreamUrl:d,AddApiKeyToDirectStreamUrl:f,ItemId:o}],PlaySessionId:n}}),t.get("/:itemId/Similar",{preHandler:t.embyRequireAuth},async()=>Ft([])),t.get("/Counts",{preHandler:t.embyRequireAuth},async()=>({MovieCount:0,SeriesCount:0,EpisodeCount:0,GameCount:0,ArtistCount:0,ProgramCount:0,GameSystemCount:0,TrailerCount:0,SongCount:0,AlbumCount:0,MusicVideoCount:0,BoxSetCount:0,BookCount:0,ItemCount:0}))}var hNr=new Set(["tgchannel","tgsou","pansou","panta"]);function yle(t){try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}}function gNr(t=""){let e=String(t||""),r=[e,yle(e),yle(yle(e))];for(let n of r){let s=Fs(n);if(s)return s}return null}function ANr(t={}){return{k:String(t.k||""),t:Number(t.t||3),v:String(t.v||""),l:Number(t.l||0),e:Number(t.e||0),f:String(t.f||""),p:String(t.p||""),a:String(t.a||"")}}async function yNr(t,e={}){let r=ANr(e);if(!r.k||!r.v)return null;if(r.f&&r.p)return r;let n={spiderKey:r.k,spiderType:r.t,apiBase:r.a},s=await Pc(t,n,r.v).catch(()=>null),i=kc(s);if(!i)return null;let a=go(i.vod_play_from,i.vod_play_url).filter(f=>Array.isArray(f?.episodes)&&f.episodes.length>0);if(!a.length)return null;let o=Math.max(0,Math.min(a.length-1,Number(r.l||0))),c=a[o],u=Array.isArray(c?.episodes)?c.episodes:[];if(!u.length)return null;let l=Math.max(0,Math.min(u.length-1,Number(r.e||0))),d=u[l];return d?.playId?{...r,l:o,e:l,f:r.f||String(c.flag||""),p:String(d.playId||"")}:null}async function xNr(t,e){if(!e)return null;if(e.type==="media"||e.type==="ep")return yNr(t,e.payload||{});if(!["vod","sea"].includes(e.type))return null;let r=e.payload||{},n=Xl(r),s=String(r.v||"");if(!n.spiderKey||!s)return null;let i=await Pc(t,n,s).catch(()=>null),a=kc(i);if(!a)return null;let o=go(a.vod_play_from,a.vod_play_url);if(!o.length)return null;let c=e.type==="sea"?Number(r.l||0):0,u=o[c]||o[0];if(!u||!u.episodes.length)return null;let l=u.episodes[0];return{k:n.spiderKey,t:n.spiderType,v:s,l:c,e:0,f:String(u.flag||""),p:String(l.playId||""),...n.apiBase?{a:n.apiBase}:{}}}function bNr(t,e={}){let r={"User-Agent":t.headers?.["user-agent"]||"Mozilla/5.0 EmbyVideoProxy"};return t.headers?.range&&(r.Range=t.headers.range),e&&typeof e=="object"&&Object.keys(e).forEach(n=>{let s=e[n];s!=null&&(r[n]=String(s))}),r}async function zft(t,e,r,n){let s=await Ae.get(r,{responseType:"stream",timeout:3e4,maxRedirects:5,validateStatus:()=>!0,headers:bNr(t,n)}),i=["content-type","content-length","accept-ranges","content-range","cache-control","etag","last-modified"];return e.code(s.status),i.forEach(a=>{let o=s.headers?.[a];o!=null&&e.header(a,o)}),e.send(s.data)}function ENr(t={},e=""){if(hNr.has(String(t.k||"")))return!0;try{let r=String(new URL(String(e||"")).hostname||"").toLowerCase();return r.includes("mcloud.139.com")||r.includes("yun.139.com")}catch{return!1}}function _Nr(t=""){try{return new URL(String(t||"")).toString()}catch{return String(t||"")}}async function xle(t,e,r,n=""){let s=gNr(e.params.mediaId);if(!s)return r.code(404),"";let i=await xNr(t,s);if(!i||!i.k||!i.f||!i.p)return r.code(404),"";let a={spiderKey:i.k,spiderType:i.t,apiBase:String(i.a||"")},o=await am(t,a,i.f,i.p,e).catch(()=>null),c=um(o||{},String(e.query?.line||""));if(!c.url)return r.code(404),"";let u=String(n||"").trim(),l=u;try{let d=String(e.raw?.url||""),f=`/${String(e.params.mediaId||"")}/`,p=d.indexOf(f);if(p>=0){let m=d.slice(p+f.length).trim();m&&(l=m)}}catch{}if(u&&!/^stream\./i.test(u))try{let d=new URL(c.url),f=new URL(l||u,d);return zft(e,r,f.toString(),c.header)}catch{return r.code(400),""}try{let d=new URL(c.url);if(!["http:","https:"].includes(d.protocol))return r.code(403),""}catch{return r.code(400),""}return ENr(i,c.url)||Object.keys(c.header||{}).length>0?zft(e,r,c.url,c.header):r.redirect(307,_Nr(c.url))}async function ble(t){let e=async(r,n)=>{t.embyExtractToken(r)&&await t.embyRequireAuth(r,n)};t.get("/:mediaId/AdditionalParts",{preHandler:e},async()=>Ft([])),t.get("/:mediaId/stream.mkv",{preHandler:e},async(r,n)=>xle(t,r,n,"stream.mkv")),t.get("/:mediaId/:fileName",{preHandler:e},async(r,n)=>xle(t,r,n,String(r.params.fileName||""))),t.get("/:mediaId/*",{preHandler:e},async(r,n)=>xle(t,r,n,String(r.params["*"]||""))),t.get("/:mediaId/subtitles/:subtitleId",{preHandler:e},async(r,n)=>(n.code(404),""))}var SNr=new Set(["tgchannel","tgsou","pansou","panta"]),vNr=!1;function INr(t=""){return/(移动|yidong|139)/i.test(String(t||""))}function CNr(t=""){try{let e=String(new URL(String(t||"")).hostname||"").toLowerCase();return e.includes("mcloud.139.com")||e.includes("yun.139.com")}catch{return!1}}function Yft(t="",e="mkv"){let r=String(t||"").trim();if(!r)return e;if(/\.m3u8($|\?)/i.test(r))return"m3u8";try{let s=new URL(r).pathname.match(/\.([a-z0-9]{2,6})$/i);if(s?.[1])return s[1].toLowerCase()}catch{}return e}function TNr(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}function wNr(t){let r=String(t?.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||t?.protocol||"http",s=String(t?.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||t?.headers?.host||"127.0.0.1";return`${r}://${s}`}function RNr(t,e,r="mkv"){return`${wNr(t)}/emby${Zft(t,e,r,!0)}`}function Zft(t,e,r="mkv",n=!1){let s=/^[a-z0-9]{2,8}$/i.test(String(r||""))?String(r).toLowerCase():"mkv",i=n&&t?.embyToken?`?api_key=${encodeURIComponent(t.embyToken)}`:"";return`/videos/${String(e||"")}/stream.${s}${i}`}async function NNr(t,e,r,n="\u9ED8\u8BA4"){let s=wn("media",{k:String(r?.k||""),t:Number(r?.t||3),v:String(r?.v||""),l:Number(r?.l||0),e:Number(r?.e||0),f:String(r?.f||n||""),...r?.a?{a:String(r.a||"")}:{}}),i=SNr.has(String(r?.k||""))?"m3u8":"mkv",a=Yft(String(r?.p||""),i),o=RNr(e,s,a),c=Zft(e,s,a,!0),u={},l=!1,d=String(n||r?.f||"");if(vNr&&INr(d)&&r?.k&&r?.f&&r?.p){let p={spiderKey:String(r.k||""),spiderType:Number(r.t||3),apiBase:String(r.a||"")},m=await am(t,p,String(r.f||""),String(r.p||""),e).catch(()=>null),h=um(m||{},String(n||""));h.url&&CNr(h.url)&&(a=Yft(h.url,a),o=h.url,c=h.url,u=h.header||{},l=!1)}return{Id:s,Name:n,Type:"Default",Protocol:"Http",Container:a,IsRemote:!0,SupportsTranscoding:!1,SupportsDirectStream:!0,SupportsDirectPlay:!0,IsInfiniteStream:!1,SupportsProbing:!1,MediaStreams:[],RequiredHttpHeaders:u,Path:o,DirectStreamUrl:c,AddApiKeyToDirectStreamUrl:l,ItemId:s}}async function ONr(t,e,r,n,s,i){let a=String(r?.vod_name||""),o=String(r?.vod_pic||"").trim(),c=String(r?.tmdbHintRemarks||r?.vod_remarks||"").trim(),u=String(r?.tmdbHintYear||r?.vod_year||"").trim(),l=[],d=new Map;for(let f=0;f<n.length;f+=1){let p=n[f],m={k:e.spiderKey,t:e.spiderType,v:String(r.vod_id),l:f,...e.apiBase?{a:e.apiBase}:{}};a&&(m.n=a),o&&(m.u=o),c&&(m.r=c),u&&(m.y=u);let h=wn("sea",m),A={Name:p.flag||`\u7B2C${f+1}\u5B63`,Id:h,ParentId:s,SeriesId:s,SeriesName:a,IndexNumber:f+1,ChildCount:p.episodes.length,ServerId:i,IsFolder:!0,Type:"Season",ImageTags:{Primary:h},BackdropImageTags:[],UserData:ss()},b=`s${GM(r,p,f)}`,y=d.get(b);y===void 0&&(y=await zM(t,"season",{spiderRef:e,vod:r,line:p,lineIndex:f})||null,d.set(b,y)),y&&Object.assign(A,y),l.push(A)}return l}async function PNr(t,e,r,n,s,i,a,o=0,c=void 0){let u=String(n?.vod_name||""),l=String(n?.vod_pic||"").trim(),d=String(n?.tmdbHintRemarks||n?.vod_remarks||"").trim(),f=String(n?.tmdbHintYear||n?.vod_year||"").trim(),p=s?.line,m=Number(s?.lineIndex||0),h=Number(s?.episodeOffset||0),g=(Array.isArray(p?.episodes)?p.episodes:[])[o];if(!p||!g?.playId)return null;let b=h+o,y=fA(g?.name,b+1),x={k:r.spiderKey,t:r.spiderType,v:String(n.vod_id),l:m,e:b,f:p.flag,p:g.playId,...r.apiBase?{a:r.apiBase}:{}};u&&(x.n=u),l&&(x.u=l),d&&(x.r=d),f&&(x.y=f);let v=wn("ep",x),I=await NNr(t,e,{k:r.spiderKey,t:r.spiderType,...r.apiBase?{a:r.apiBase}:{},v:String(n.vod_id),l:m,e:b,f:p.flag,p:g.playId},String(p.flag||`\u7EBF\u8DEF${m+1}`)),R={Name:g.name||`\u7B2C${b+1}\u96C6`,Id:v,ParentId:i,SeasonId:wn("sea",{k:r.spiderKey,t:r.spiderType,v:String(n.vod_id),l:m,...r.apiBase?{a:r.apiBase}:{},...u?{n:u}:{},...l?{u:l}:{},...d?{r:d}:{},...f?{y:f}:{}}),SeriesId:i,SeriesName:u,SeasonName:p.flag||`\u7B2C${m+1}\u5B63`,IndexNumber:y,ParentIndexNumber:m+1,ServerId:a,IsFolder:!1,Type:"Episode",MediaType:"Video",CanPlay:!0,PrimaryImageAspectRatio:.6667,ImageTags:{Primary:v},BackdropImageTags:[],UserData:ss(),MediaSources:[I]};if(c!==void 0)return c&&Object.assign(R,c),R;let w=await m2(t,{spiderRef:r,vod:n,line:p,lineIndex:m,episode:g,episodeIndex:b});return w&&Object.assign(R,w),R}function kNr(t=[]){return t.reduce((e,r)=>e+(Array.isArray(r?.line?.episodes)?r.line.episodes.length:0),0)}async function ept(t,e,r,n,s,i,a,o=1/0){let c=[],u=Number(o),l=Number.isFinite(u)&&u>0?Math.floor(u):1/0;for(let d of s){let f=Array.isArray(d?.line?.episodes)?d.line.episodes:[],p=Number(d?.episodeOffset||0),m=await VM(t,{spiderRef:r,vod:n,line:d?.line,lineIndex:Number(d?.lineIndex||0),episodes:f,episodeOffset:p});for(let h=0;h<f.length;h+=1){let A=await PNr(t,e,r,n,d,i,a,h,m[h]??null);if(A&&c.push(A),c.length>=l)return c}}return c}function tpt(t,e){if(!t?.payload||typeof t.payload!="object"||t.type==="vod")return e;let r=t.payload,n=String(r.k||""),s=String(r.v||"");return!n||!s?e:wn("vod",{k:n,t:Number(r.t||3),v:s,...r.a?{a:String(r.a||"")}:{},...r.n?{n:String(r.n||"")}:{},...r.u?{u:String(r.u||"")}:{}})}function rpt(t=[],e={},r=null){let n=String(Xr(e,["seasonid","SeasonId","seasonId"],""));if(n){let i=Fs(n);if(i?.type==="sea"){let a=Number(i.payload?.l||0),o=t[a];return o?[{line:o,lineIndex:a}]:[]}}let s=Number(Xr(e,["season","Season"],NaN));if(Number.isFinite(s)&&s>0){let i=s-1,a=t[i];return a?[{line:a,lineIndex:i}]:[]}if(r?.type==="sea"){let i=Number(r.payload?.l||0),a=t[i];return a?[{line:a,lineIndex:i}]:[]}if(r?.type==="ep"){let i=Number(r.payload?.l||0),a=Number(r.payload?.e||0),o=t[i];return!o||!o.episodes[a]?[]:[{line:{...o,episodes:[o.episodes[a]]},lineIndex:i,episodeOffset:a}]}return t.map((i,a)=>({line:i,lineIndex:a}))}function DNr(t,e,r,n=[]){let i=c2(t,e,r)?.decoded?.payload||null;if(!i)return n;let a=Number(i.l||0),o=Number(i.e||0),c=n.find(l=>Number(l?.lineIndex||0)===a),u=Array.isArray(c?.line?.episodes)?c.line.episodes:[];return u[o]?[{...c,episodeOffset:o,line:{...c.line,episodes:u.slice(o)}}]:n}async function Ele(t,e){let r=Fs(e);if(!r||!["vod","sea","ep"].includes(r.type))return null;let n=r.payload||{},s=Xl(n),i=String(n.v||"");if(!s.spiderKey||!i)return null;let a=await Pc(t,s,i).catch(()=>null),o=kc(a);if(!o)return null;yA(o,n),!String(o?.vod_pic||"").trim()&&n?.u&&(o.vod_pic=String(n.u||"").trim());let c=go(o.vod_play_from,o.vod_play_url);return c.length?{decoded:r,spiderRef:s,vod:o,lines:c}:null}async function Jft(t,e,r={},n=null){let s=await Ele(t,e);if(!s)return[];let{decoded:i,spiderRef:a,vod:o,lines:c}=s,u=rpt(c,r,i);if(!u.length)return[];let l=tpt(i,e);return ept(t,n,a,o,u,l,t.embyContext.config.serverId)}async function Xft(t,e){let r=await Ele(t,e);if(!r)return[];let{spiderRef:n,vod:s,lines:i}=r;return ONr(t,n,s,i,e,t.embyContext.config.serverId)}async function _le(t){let e={preHandler:t.embyRequireAuth};t.get("/Persons",e,async()=>Ft([])),t.get("/Genres",e,async()=>Ft([])),t.get("/Tags",e,async()=>Ft([])),t.get("/OfficialRatings",e,async()=>Ft([])),t.get("/Years",e,async()=>Ft([])),t.get("/Studios",e,async()=>Ft([])),t.get("/Shows/NextUp",e,async r=>{let n=r.query||{},s=String(Xr(n,["SeriesId","seriesId"],"")).trim(),i=Pu(Xr(n,["Limit","limit"],1),1),a=r.embyUser?.Id||t.embyContext.user.id;if(!s)return Ft([]);let o=await Ele(t,s);if(!o)return Ft([]);let{decoded:c,spiderRef:u,vod:l,lines:d}=o,f=tpt(c,s),p=DNr(t,a,f,rpt(d,n,c));if(!p.length)return Ft([]);let m=kNr(p),h=Us(t,a,await ept(t,r,u,l,p,f,t.embyContext.config.serverId,i));return TNr(t,"nextup.result",{seriesId:s,total:m,first:h[0]?{id:h[0].Id,type:h[0].Type,canPlay:h[0].CanPlay,mediaSourceCount:Array.isArray(h[0].MediaSources)?h[0].MediaSources.length:0}:null}),Ft(h,m)}),t.get("/Shows/:seriesId/Seasons",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.seriesId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Us(t,o,await Xft(t,a));return Ft(Ca(c,s,i),c.length)}),t.get("/Shows/:seriesId/Episodes",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.seriesId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Us(t,o,await Jft(t,a,n,r));return Ft(Ca(c,s,i),c.length)}),t.get("/Items/:itemId/Seasons",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.itemId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Us(t,o,await Xft(t,a));return Ft(Ca(c,s,i),c.length)}),t.get("/Items/:itemId/Episodes",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.itemId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Us(t,o,await Jft(t,a,n,r));return Ft(Ca(c,s,i),c.length)}),t.get("/Sessions",e,async r=>[{PlayState:{CanSeek:!0,IsPaused:!1,IsMuted:!1,RepeatMode:"RepeatNone",SleepTimerMode:"None",SubtitleOffset:0,Shuffle:!1,PlaybackRate:1},AdditionalUsers:[],RemoteEndPoint:"mycatpaw",Protocol:"HTTP/1.1",PlayableMediaTypes:["Video"],PlaylistIndex:0,PlaylistLength:0,Id:t.embyContext.config.serverId,ServerId:t.embyContext.config.serverId,UserId:r.embyUser?.Id||"",UserName:r.embyUser?.Name||"",Client:"",LastActivityDate:$s(),DeviceName:"",InternalDeviceId:0,DeviceId:"",ApplicationVersion:t.embyContext.config.version,SupportedCommands:[],SupportsRemoteControl:!1}]),t.post("/Sessions/Playing",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await u2(t,s,r.body||{},"playing"),n.code(204).send()}),t.post("/Sessions/Playing/Progress",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await u2(t,s,r.body||{},"progress"),n.code(204).send()}),t.post("/Sessions/Playing/Stopped",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await u2(t,s,r.body||{},"stopped"),n.code(204).send()}),t.post("/Sessions/Playing/Ping",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await u2(t,s,r.body||{},"ping"),n.code(204).send()}),t.get("/DisplayPreferences/Usersettings",e,async()=>({Id:"usersettings",CustomPrefs:{},SortOrder:"Ascending"})),t.get("/Environment/DefaultDirectoryBrowser",e,async()=>Ft([]))}function npt(t){return t&&String(t).match(/Token="?([^",\s]+)"?/i)?.[1]||""}var Sle=Symbol("embyLogStartAt"),BNr=/(token|password|passwd|pwd|pw|authorization|cookie|api[_-]?key|session)/i;function n6(t){let e=String(t??"");return e?e.length<=6?"***":`${e.slice(0,2)}***${e.slice(-2)}`:""}function HE(t,e=0,r=new WeakSet){if(t==null)return t;if(typeof t=="string")return t.length>240?`${t.slice(0,240)}...(truncated)`:t;if(typeof t!="object")return t;if(r.has(t))return"[Circular]";if(e>=3)return"[MaxDepth]";if(r.add(t),Array.isArray(t))return t.slice(0,10).map(s=>HE(s,e+1,r));let n={};for(let[s,i]of Object.entries(t)){if(BNr.test(s)){n[s]=n6(i);continue}n[s]=HE(i,e+1,r)}return n}function LNr(t){return t.routeOptions?.url||t.url||t.raw?.url||""}function vle(t,e){if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["0","false","off","no"].includes(r)?!1:["1","true","on","yes"].includes(r)?!0:e}function MNr(t,e,r){let n=String(e||"").trim();if(!n){r(null,{});return}try{r(null,JSON.parse(n))}catch(s){s.statusCode=400,r(s)}}function x2(t={}){let e=String(process.env.EMBY_TMDB_API_KEY||t.tmdbApiKey||"");return{enable:t.enable!==!1,username:String(process.env.EMBY_USERNAME||t.username||"CatPawPlay"),password:String(process.env.EMBY_PASSWORD||t.password||"CatPawPlay"),serverName:String(process.env.EMBY_SERVER_NAME||t.serverName||"CatPawPlay"),serverId:String(process.env.EMBY_SERVER_ID||t.serverId||"mycatpaw"),version:String(process.env.EMBY_VERSION||t.version||"4.8.0.80"),apiKey:String(process.env.EMBY_API_KEY||t.apiKey||""),searchSourcePrefix:vle(process.env.EMBY_SEARCH_SOURCE_PREFIX,t.searchSourcePrefix!==!1),tokenTtlMs:Number(t.tokenTtlMs||30*24*60*60*1e3),requestLog:vle(process.env.EMBY_REQUEST_LOG,process.env.NODE_ENV==="development"?t.requestLog!==!1:t.requestLog===!0),recoverToken:t.recoverToken!==!1&&process.env.EMBY_RECOVER_TOKEN!=="0",tmdbEnable:vle(process.env.EMBY_TMDB_ENABLE,t.tmdbEnable!==!1&&!!e),tmdbApiKey:e,tmdbLanguage:String(process.env.EMBY_TMDB_LANGUAGE||t.tmdbLanguage||"zh-CN"),tmdbImageBase:String(process.env.EMBY_TMDB_IMAGE_BASE||t.tmdbImageBase||"https://image.tmdb.org/t/p/original")}}async function Ile(t){let e=null;try{e=await t.db?.getObjectDefault("/emby",null)}catch{}let r=null;try{r=await t.db?.getObjectDefault("/embyPlayback",null)}catch{}let n=x2({...t.config?.emby||{},...e&&typeof e=="object"?e:{}}),s={config:n,cache:vM({max:1200}),tmdbStore:null,tmdbClientState:null,tokens:new Map,user:{id:"emby-user-001",name:n.username},playbackState:HM(r),playbackPersistTimer:null};globalThis.__catpawEmbyRuntime=s,t.addContentTypeParser("application/json",{parseAs:"string"},MNr),t.addContentTypeParser("application/x-www-form-urlencoded",{parseAs:"string"},(i,a,o)=>{try{let c=new URLSearchParams(String(a)),u={};for(let[l,d]of c.entries())u[l]=d;o(null,u)}catch(c){o(c)}}),t.decorate("embyContext",s),t.decorate("embyExtractToken",function(a){let o=a.query||{};return o["x-emby-token"]||o.api_key||o["X-Emby-Token"]||a.headers?.["x-emby-token"]||npt(a.headers?.["x-emby-authorization"])||npt(a.headers?.authorization)||""}),t.decorate("embyRequireAuth",async function(a,o){if(!s.config.enable){o.code(503).send("Emby disabled");return}let c=t.embyExtractToken(a);if(!c){o.code(401).send("Unauthorized");return}if(s.config.apiKey&&c===s.config.apiKey){a.embyToken=c,a.embyUser={Id:s.user.id,Name:s.user.name};return}let u=s.tokens.get(c);if(!u){if(!s.config.recoverToken){o.code(401).send("Unauthorized");return}let l=Date.now();u={token:c,userId:s.user.id,userName:s.user.name,createdAt:l,lastUsedAt:l,expireAt:s.config.tokenTtlMs>0?l+s.config.tokenTtlMs:0,device:{client:"RecoveredClient",device:"RecoveredDevice",deviceId:"",version:s.config.version}},s.tokens.set(c,u),s.config.requestLog&&console.warn(`[Emby Auth] recovered token session token=${n6(c)} path=${a.raw?.url||a.url}`)}if(u.expireAt>0&&u.expireAt<=Date.now()){s.tokens.delete(c),o.code(401).send("Unauthorized");return}u.lastUsedAt=Date.now(),a.embyToken=c,a.embySession=u,a.embyUser={Id:u.userId,Name:u.userName}}),t.addHook("preHandler",async i=>{if(!s.config.requestLog)return;i[Sle]=process.hrtime.bigint();let a=LNr(i),o=HE(i.query||{}),c=i.body===void 0?void 0:HE(i.body),u=t.embyExtractToken(i),l=u?n6(u):"-",d=Object.keys(o).length>0?` query=${JSON.stringify(o)}`:"",f=c!==void 0?` body=${JSON.stringify(c)}`:"";console.log(`[Emby Req] #${i.id} ${i.method} ${i.raw.url} route=${a}${d}${f} token=${l}`)}),t.addHook("onError",async(i,a,o)=>{if(!s.config.requestLog)return;let c=i[Sle],u=typeof c=="bigint"?(Number(process.hrtime.bigint()-c)/1e6).toFixed(1):"-",l=a.statusCode||o.statusCode||500;console.error(`[Emby Err] #${i.id} ${i.method} ${i.raw?.url||i.url} status=${l} cost=${u}ms message=${o.message}`)}),t.addHook("onResponse",async(i,a)=>{if(!s.config.requestLog)return;let o=i[Sle],c=typeof o=="bigint"?(Number(process.hrtime.bigint()-o)/1e6).toFixed(1):"-";console.log(`[Emby Res] #${i.id} ${i.method} ${i.raw.url} status=${a.statusCode} cost=${c}ms`)}),t.setNotFoundHandler((i,a)=>{if(s.config.requestLog){let o=HE(i.query||{}),c=i.body===void 0?void 0:HE(i.body),u=t.embyExtractToken(i),l=u?n6(u):"-",d=Object.keys(o).length>0?` query=${JSON.stringify(o)}`:"",f=c!==void 0?` body=${JSON.stringify(c)}`:"";console.warn(`[Emby 404] ${i.method} ${i.raw.url}${d}${f} token=${l}`)}a.code(404).send("Not Found")}),t.addHook("onClose",async()=>{s.tokens.clear(),s.cache.clear(),s.tmdbStore?.memory?.clear?.(),s.tmdbStore?.pending?.clear?.(),s.tmdbStore=null,s.tmdbClientState=null,s.playbackPersistTimer&&(clearTimeout(s.playbackPersistTimer),s.playbackPersistTimer=null),globalThis.__catpawEmbyRuntime===s&&(globalThis.__catpawEmbyRuntime=null)}),t.register(zue,{prefix:"/System"}),t.register(Vue,{prefix:"/Users"}),t.register(Jue,{prefix:"/Library"}),t.register(lle,{prefix:"/Users"}),t.register(Ale,{prefix:"/Items"}),t.register(ble,{prefix:"/Videos"}),t.register(_le)}function Cle(t={},e={}){let r=e.includeSecrets===!0;return{enable:t.enable!==!1,username:String(t.username||""),password:String(t.password||""),serverName:String(t.serverName||""),searchSourcePrefix:t.searchSourcePrefix!==!1,tmdbEnable:t.tmdbEnable!==!1,...r?{tmdbApiKey:String(t.tmdbApiKey||"")}:{},tmdbLanguage:String(t.tmdbLanguage||"zh-CN"),tmdbImageBase:String(t.tmdbImageBase||"https://image.tmdb.org/t/p/original")}}async function spt(t){let e=await t.db.getObjectDefault("/emby",null);return e&&typeof e=="object"?e:{}}function ipt(){let t=globalThis.__catpawEmbyRuntime;return t&&typeof t=="object"?t:null}function apt(t={}){let e=ipt();if(!e?.config)return;let r=String(e.config.username||""),n=String(e.config.password||""),s=String(e.config.tmdbApiKey||""),i=Object.prototype.hasOwnProperty.call(t,"tmdbApiKey"),a=String(t.username||r),o=String(i?t.tmdbApiKey||"":e.config.tmdbApiKey||"");Object.assign(e.config,{enable:t.enable!==!1,username:a,password:String(t.password||""),serverName:String(t.serverName||e.config.serverName||""),searchSourcePrefix:t.searchSourcePrefix!==!1,tmdbEnable:t.tmdbEnable!==!1,tmdbApiKey:o,tmdbLanguage:String(t.tmdbLanguage||e.config.tmdbLanguage||"zh-CN"),tmdbImageBase:String(t.tmdbImageBase||e.config.tmdbImageBase||"https://image.tmdb.org/t/p/original")}),e.user.name=a,r!==e.config.username||n!==e.config.password?e.tokens?.clear():e.tokens?.size&&e.tokens.forEach(l=>{l.userName=e.config.username}),s!==o&&(e.tmdbStore?.memory?.clear?.(),e.tmdbStore?.pending?.clear?.(),e.tmdbClientState=null)}var WNr=async t=>{let e=await spt(t),r=x2({...t.config?.emby||{},...e});return Cle(r,{includeSecrets:!0})},$Nr=async(t,e)=>{let r=await spt(t),n=x2({...t.config?.emby||{},...r,...e&&typeof e=="object"?e:{}}),s=Cle(n,{includeSecrets:!0});return await t.db.push("/emby",s),apt(s),s},FNr=async t=>{await t.db.delete("/emby");let e=Cle(x2(t.config?.emby||{}),{includeSecrets:!0});return apt(e),e},UNr=async t=>{let e=ipt();e?.tmdbStore?.memory?.clear?.(),e?.tmdbStore?.pending?.clear?.(),e&&(e.tmdbStore=null,e.tmdbClientState=null),await t.db.delete("/embyTmdb").catch(()=>{})};async function Tle(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await WNr(e.server)})}),t.put("/setting",async(e,r)=>{await $Nr(e.server,e.body||{}),r.send({code:0})}),t.delete("/setting",async(e,r)=>{await FNr(e.server),r.send({code:0})}),t.post("/tmdb/cache/clear",async(e,r)=>{await UNr(e.server),r.send({code:0})})}var qNr=t=>{let e=Jw(t,{includePrefix:!1}).replace(/\/$/,""),r=TM()?CM():null;return[{key:"t4",name:"T4 \u8BA2\u9605",url:Xw(e,"/t4")},{key:"uz",name:"UZ \u8BA2\u9605",url:Xw(e,"/uz")},{key:"cat",name:"\u732B\u6E90\u8BA2\u9605",url:Xw(e,"/index.js.md5",r)},{key:"emby",name:"Emby \u670D\u52A1\u5668",url:Xw(e,"/emby")}]};async function wle(t){t.get("/",(e,r)=>{r.type("text/html").send(`
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<title>\u9996\u9875</title>
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<script crossorigin src="https://lib.baomitu.com/react/18.2.0/umd/react.production.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/axios/0.26.0/axios.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/dayjs/1.10.8/dayjs.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/antd/5.25.0/antd.min.js"></script>
|
|
<link rel="stylesheet" href="https://lib.baomitu.com/antd/5.25.0/reset.min.css">
|
|
<script>${globalThis.websiteBundle}</script>
|
|
</body>
|
|
</html>
|
|
`)}),t.get("/subscriptions",(e,r)=>{r.send({code:0,data:{endpoints:qNr(e)}})}),t.register(Sue,{prefix:"/quark"}),t.register(sK,{prefix:"/uc"}),t.register(vue,{prefix:"/uc-tv"}),t.register(GK,{prefix:"/115"}),t.register(oae,{prefix:"/muou"}),t.register(pV,{prefix:"/duoduo"}),t.register(dae,{prefix:"/labi"}),t.register(hae,{prefix:"/shandian"}),t.register(xae,{prefix:"/ouge"}),t.register(Sae,{prefix:"/erxiao"}),t.register(Lae,{prefix:"/huban"}),t.register(Fae,{prefix:"/xiaoban"}),t.register(Iue,{prefix:"/tianyi"}),t.register(eoe,{prefix:"/wanou"}),t.register(Cue,{prefix:"/leijing"}),t.register(noe,{prefix:"/zhizhen"}),t.register(boe,{prefix:"/tgsou"}),t.register(Ooe,{prefix:"/pansou"}),t.register(Tue,{prefix:"/pan123"}),t.register(Rue,{prefix:"/xunlei"}),t.register(Oue,{prefix:"/ali"}),t.register(kue,{prefix:"/baidu"}),t.register(Bue,{prefix:"/guangyapan"}),t.register(Uue,{prefix:"/yidong"}),t.register(loe,{prefix:"/tgchannel"}),t.register(Soe,{prefix:"/tgfilebot"}),t.register(Oce,{prefix:"/sites"}),t.register(jue,{prefix:"/pans"}),t.register(Hue,{prefix:"/backup"}),t.register(kce,{prefix:"/danmu"}),t.register(Tle,{prefix:"/emby"}),t.register(gce,{prefix:"/emby-spider"}),t.register(Tce,{prefix:"/alist-video"}),t.register(Mce,{prefix:"/t4"}),t.register(Hce,{prefix:"/cms"}),t.register(Boe,{prefix:"/live2vod"}),t.register(Pae,{prefix:"/123ypzysq"})}var jr=null,Rle="__catpawProfile",s6=Number.parseInt(process.env.CATPAW_LOG_LIMIT||"1500",10)||1500,jNr=Number.parseInt(process.env.CATPAW_LOG_TEXT_LIMIT||"4096",10)||4096,xA=[],dpt=["log","info","warn","error","debug"],b2={},i6=!1;function Du(t,e=jNr){let r=String(t||"");if(!Number.isFinite(e)||e<=0||r.length<=e)return r;let n=Math.max(0,Math.floor(e*.75)),s=Math.max(0,e-n);return`${r.slice(0,n)}...(truncated ${r.length-e} chars)...${r.slice(-s)}`}function HNr(t){if(typeof t=="string")return Du(t);if(t instanceof Error)return Du(JSON.stringify(a6(t)));try{return Du(JSON.stringify(E2(t)))}catch{try{return Du(String(t))}catch{return"[Unserializable]"}}}function fpt(t,e=2,r=2){let n=String(t||"");return n?n.length<=e+r?"*".repeat(n.length):`${n.slice(0,e)}***${n.slice(-r)}`:""}function E2(t,e=0){if(t==null)return t;if(e>=2)return Array.isArray(t)?`[Array(${t.length})]`:typeof t=="object"?`[Object(${Object.keys(t).length})]`:t;if(Array.isArray(t))return{type:"array",length:t.length,sample:t.slice(0,3).map(r=>E2(r,e+1))};if(typeof t=="object"){let r={};for(let[n,s]of Object.entries(t)){let i=n.toLowerCase();if(["cookie","cookies","token","authorization","auth","passwd","password","session","sess"].some(a=>i.includes(a))){s&&typeof s=="object"&&!Array.isArray(s)?r[n]={type:"object",keys:Object.keys(s).length,sampleKeys:Object.keys(s).slice(0,3)}:r[n]=fpt(s);continue}r[n]=E2(s,e+1)}return r}return typeof t=="string"&&t.length>120?`${t.slice(0,40)}...(${t.length} chars)...${t.slice(-12)}`:t}function ppt(t){if(!t||typeof t!="object")return{};let e=typeof t.toJSON=="function"?t.toJSON():t,r={};for(let[n,s]of Object.entries(e||{})){let i=n.toLowerCase();["cookie","authorization","token","secret","password"].some(a=>i.includes(a))?r[n]=fpt(s):r[n]=Du(s,260)}return r}function QNr(t){if(!(!t||typeof t!="object"))return{method:t.method,url:Du(t.url||"",500),baseURL:Du(t.baseURL||"",260),timeout:t.timeout,maxContentLength:t.maxContentLength,maxBodyLength:t.maxBodyLength,proxy:t.proxy,headers:ppt(t.headers)}}function GNr(t){if(!(!t||typeof t!="object"))return{method:t.method,protocol:t.protocol,host:t.host||t.hostname,path:Du(t.path||t.pathname||"",500),currentUrl:Du(t._currentUrl||"",500)}}function KNr(t){if(!t||typeof t!="object")return;let e=t.data;return{status:t.status,statusText:t.statusText,headers:ppt(t.headers),data:typeof e=="string"?Du(e,1e3):E2(e)}}function a6(t){if(!t||typeof t!="object")return t;let e={name:t.name,message:t.message||String(t),code:t.code,status:t.status,statusCode:t.statusCode,stack:Du(t.stack||"",4e3)},r=QNr(t.config),n=GNr(t.request),s=KNr(t.response);return r&&(e.config=r),n&&(e.request=n),s&&(e.response=s),e}function VNr(t){return t instanceof Error?a6(t):t}function zNr(){return process.env.NODE_ENV==="development"?!1:{serializers:{err:a6,error:a6}}}function YNr(t){if(!t||typeof t!="object")return t;let e={action:t.action||"-"};if(t.action==="saveProfile"&&t.opt&&typeof t.opt=="object"){let r=t.opt;return e.opt={keys:Object.keys(r),sitesCount:Array.isArray(r.sites?.list)?r.sites.list.length:void 0,pansCount:Array.isArray(r.pans?.list)?r.pans.list.length:void 0,quarkKeys:r.quark&&typeof r.quark=="object"?Object.keys(r.quark).length:void 0,ucKeys:r.uc&&typeof r.uc=="object"?Object.keys(r.uc).length:void 0},e}return E2(t)}function JNr(t,e){xA.push({ts:new Date().toISOString(),level:t,msg:e.map(HNr).join(" ")}),xA.length>s6&&xA.splice(0,xA.length-s6)}function XNr(){i6||(dpt.forEach(t=>{let e=console[t];typeof e=="function"&&(b2[t]=e.bind(console),console[t]=(...r)=>{JNr(t,r),Cit()||b2[t](...r.map(VNr))})}),i6=!0)}function ZNr(){i6&&(dpt.forEach(t=>{b2[t]&&(console[t]=b2[t],delete b2[t])}),i6=!1)}function eOr(t){t.get("/api/catpaw-logs",async e=>{let r=Number.parseInt(e.query?.limit,10),n=Number.isFinite(r)&&r>0?Math.min(r,s6):s6,s=xA.slice(-n);return{success:!0,total:xA.length,count:s.length,logs:s}}),t.post("/api/catpaw-logs/clear",async()=>(xA.length=0,{success:!0}))}function o6(...t){}function _2(t){return Object.prototype.toString.call(t)==="[object Object]"}function tOr(t){let e=t?.[Rle];return _2(e)?e:null}function opt(t){if(!_2(t))return{};if(!(Rle in t))return t;let{[Rle]:e,...r}=t;return r}function Nle(t){return _2(t)&&Object.keys(t).length>0}function cpt(t){if(t===void 0)return t;try{return JSON.parse(JSON.stringify(t))}catch{return t}}function upt(t,e){if(!Nle(t))return{found:!1};let r=String(e||"/");if(r==="/"||r==="")return{found:!0,value:t};let n=r.split("/").filter(Boolean),s=t;for(let i of n){if(!_2(s)&&!Array.isArray(s))return{found:!1};if(!Object.prototype.hasOwnProperty.call(s,i))return{found:!1};s=s[i]}return{found:!0,value:s}}function rOr(t,e){return{...t,...e}}function nOr(t,e){if(!Nle(e))return;let r=t.getData.bind(t),n=typeof t.getObjectDefault=="function"?t.getObjectDefault.bind(t):null;t.getData=async s=>{let i=upt(e,s);return i.found?cpt(i.value):r(s)},n&&(t.getObjectDefault=async(s,i)=>{let a=upt(e,s);return a.found?cpt(a.value):n(s,i)})}async function sOr(t){let e=tOr(t),r=Nle(e),n=r?rOr(opt(t),e):opt(t);jr=(0,lpt.default)({serverFactory:catServerFactory,forceCloseConnections:!0,caseSensitive:!1,logger:zNr(),maxParamLength:10240}),XNr(),eOr(jr),globalThis.messageToDart=jr.messageToDart=async u=>{try{console.log("messageToDart",YNr(u));let l=catDartServerPort();return l==0?null:(await Ae.post(`http://127.0.0.1:${l}/msg`,u)).data}catch(l){return console.error(l),null}},jr.address=function(){let u=this.server.address();return u.url=`http://${k0()}:${u.port}`,u.dynamic="js2p://_WEB_",u},jr.addHook("onError",async(u,l,d)=>(console.error("[fastify-error]",d),d.statusCode||(d.statusCode=500),d)),jr.addHook("onRequest",async u=>{if(process.env.NODE_ENV!=="development")return;let l=String(u.raw?.url||u.url||"");if(/stream\.(m3u8|mkv)|\/videos\//i.test(l)){let d=String(u.headers?.host||"-");console.log(`[Stream Probe] ${u.method} ${l} host=${d}`)}}),jr.stop=!1,jr.config=n;let s=9321;o6("before start()",{danmuPort:s,node:process.version,platform:`${process.platform}/${process.arch}`}),wit(s),o6("after start()",{danmuPort:s}),jr.db=new c6.JsonDB(new c6.Config((process.env.NODE_PATH||".")+"/default.db.json",!0,!0,"/",!0));let i=jr.db.getData.bind(jr.db);r&&nOr(jr.db,n);let a=jr.db.push.bind(jr.db);jr.db.push=async(...u)=>{let l=await a(...u);return i("/").then(d=>{jr.messageToDart({action:"saveProfile",opt:d})}),l};let o=jr.db.delete.bind(jr.db);jr.db.delete=async(...u)=>{let l=await o(...u);return i("/").then(d=>{jr.messageToDart({action:"saveProfile",opt:d})}),l},r||jr.messageToDart({action:"queryProfile"}).then(u=>{if(u&&Object.keys(u).length>0){let l=_2(u)?u:{};a("/",l)}}),jr.register(iue,{db:jr.db,config:n}),jr.register(wle,{prefix:"/website"}),jr.register(Ile,{prefix:"/emby"}),globalThis.Pans=await que(jr),await Ldt(jr),globalThis.getPanName=u=>globalThis.Pans.find(l=>l.key===u)?.name,globalThis.getPanEnabled=u=>globalThis.Pans.find(l=>l.key===u)?.enable;let c=(u,l=!0)=>{let d=l&&process.env.DEV_HTTP_PORT?process.env.DEV_HTTP_PORT:u;jr.listen({port:d,host:"0.0.0.0"},(f,p)=>{f?(console.error(f),f.code==="EADDRINUSE"&&(console.log(`Port ${d} is already in use. Trying next available port...`),c(u+1,!1))):console.log(`Server listening on ${p}`)})};c(2333)}async function iOr(){o6("before stop()"),Rit(),o6("after stop()"),jr&&(jr.close(),jr.stop=!0),ZNr(),jr=null}0&&(module.exports={start,stop});
|
|
/*! Bundled license information:
|
|
|
|
forwarded/index.js:
|
|
(*!
|
|
* forwarded
|
|
* Copyright(c) 2014-2017 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
proxy-addr/index.js:
|
|
(*!
|
|
* proxy-addr
|
|
* Copyright(c) 2014-2016 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
toad-cache/dist/toad-cache.cjs:
|
|
(**
|
|
* toad-cache
|
|
*
|
|
* @copyright 2024 Igor Savin <[email protected]>
|
|
* @license MIT
|
|
* @version 3.7.0
|
|
*)
|
|
|
|
cookie/index.js:
|
|
(*!
|
|
* cookie
|
|
* Copyright(c) 2012-2014 Roman Shtylman
|
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
light-my-request/lib/form-data.js:
|
|
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
|
|
mime-db/index.js:
|
|
(*!
|
|
* mime-db
|
|
* Copyright(c) 2014 Jonathan Ong
|
|
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
mime-types/index.js:
|
|
(*!
|
|
* mime-types
|
|
* Copyright(c) 2014 Jonathan Ong
|
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
crypto-js/ripemd160.js:
|
|
(** @preserve
|
|
(c) 2012 by Cédric Mesnil. All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
|
|
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*)
|
|
|
|
crypto-js/mode-ctr-gladman.js:
|
|
(** @preserve
|
|
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
|
* derived from CryptoJS.mode.CTR
|
|
* Jan Hruby [email protected]
|
|
*)
|
|
|
|
hls-parser/index.js:
|
|
(*! Copyright Kuu Miyazaki. SPDX-License-Identifier: MIT *)
|
|
|
|
web-streams-polyfill/dist/ponyfill.es2018.js:
|
|
(**
|
|
* @license
|
|
* web-streams-polyfill v3.3.3
|
|
* Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.
|
|
* This code is released under the MIT license.
|
|
* SPDX-License-Identifier: MIT
|
|
*)
|
|
|
|
fetch-blob/index.js:
|
|
(*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
|
|
formdata-polyfill/esm.min.js:
|
|
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
|
|
node-domexception/index.js:
|
|
(*! node-domexception. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
|
|
rwlock/lib/lock.js:
|
|
(*! ReadWriteLock - v5.0.0 - 2015-01-16
|
|
* Author: Alberto La Rocca <[email protected]> (https://github.com/71104)
|
|
* Released under the MIT license
|
|
* Copyright (c) 2015 Alberto La Rocca *)
|
|
*/ |