w-trade-backtest 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/w-trade-backtest.umd.js +2 -2
- package/dist/w-trade-backtest.umd.js.map +1 -1
- package/docs/buildKLinesTpSl.mjs.html +218 -0
- package/docs/calcOrders.mjs.html +2 -2
- package/docs/calcOrdersRatio.mjs.html +2 -2
- package/docs/calcOrdersSummary.mjs.html +2 -2
- package/docs/calcOrdersSummarySimple.mjs.html +2 -2
- package/docs/calcSummary.mjs.html +2 -2
- package/docs/closeAndSummaryOrders.mjs.html +2 -2
- package/docs/genKLinesTpSl.mjs.html +154 -0
- package/docs/genReport.mjs.html +2 -2
- package/docs/genReportCore.mjs.html +2 -2
- package/docs/global.html +1273 -164
- package/docs/index.html +2 -2
- package/docs/loadKLinesTpSl.mjs.html +189 -0
- package/docs/runStrategies.mjs.html +2 -2
- package/docs/runStrategiesAndBacktest.mjs.html +2 -2
- package/docs/runStrategy.mjs.html +2 -2
- package/package.json +1 -1
- package/src/WTradeBacktest.mjs +6 -0
- package/src/buildKLinesTpSl.mjs +146 -0
- package/src/genKLinesTpSl.mjs +82 -0
- package/src/loadKLinesTpSl.mjs +117 -0
- package/test/unit-WTradeBacktest.test.mjs +23 -643
- package/test/unit-buildKLinesTpSl.test.mjs +98 -0
- package/test/unit-calcOrders.test.mjs +60 -0
- package/test/unit-calcOrdersRatio.test.mjs +39 -0
- package/test/unit-calcOrdersSummary.test.mjs +71 -0
- package/test/unit-calcOrdersSummarySimple.test.mjs +30 -0
- package/test/unit-calcSummary.test.mjs +30 -0
- package/test/unit-closeAndSummaryOrders.test.mjs +53 -0
- package/test/unit-genKLinesTpSl.test.mjs +46 -0
- package/test/unit-genReport.test.mjs +113 -0
- package/test/unit-genReportCore.test.mjs +39 -0
- package/test/unit-loadKLinesTpSl.test.mjs +158 -0
- package/test/unit-ott.test.mjs +20 -0
- package/test/unit-runStrategies.test.mjs +30 -0
- package/test/unit-runStrategiesAndBacktest.test.mjs +114 -0
- package/test/unit-runStrategy.test.mjs +53 -0
- package/test/unit-setup.mjs +120 -0
- package/test/unit-writeJson.test.mjs +29 -0
- package/test/unit-writeTxt.test.mjs +27 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* w-trade-backtest v1.0.
|
|
2
|
+
* w-trade-backtest v1.0.5
|
|
3
3
|
* (c) 2018-2021 yuda-lyu(semisphere)
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -28,5 +28,5 @@ var ud,fd=4294967295,hd=Array.prototype,dd=Object.prototype.hasOwnProperty,pd=C?
|
|
|
28
28
|
* (c) Dani Biro
|
|
29
29
|
* @license MIT
|
|
30
30
|
*/function mm(e,t,r,n){return new(r||(r=Promise))(function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,s)}c((n=n.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;class vm{constructor(){this.mutex=Promise.resolve()}lock(){let e=()=>{};return this.mutex=this.mutex.then(()=>new Promise(e)),new Promise(t=>{e=t})}dispatch(e){return mm(this,void 0,void 0,function*(){const t=yield this.lock();try{return yield Promise.resolve(e())}finally{t()}})}}const bm="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:Ea,ym=null!==(dm=bm.Buffer)&&void 0!==dm?dm:null,wm=bm.TextEncoder?new bm.TextEncoder:null;function Im(e,t){return(15&e)+(e>>6|e>>3&8)<<4|(15&t)+(t>>6|t>>3&8)}const Em="a".charCodeAt(0)-10,Cm="0".charCodeAt(0);function xm(e,t,r){let n=0;for(let i=0;i<r;i++){let r=t[i]>>>4;e[n++]=r>9?r+Em:r+Cm,r=15&t[i],e[n++]=r>9?r+Em:r+Cm}return String.fromCharCode.apply(null,e)}const km=null!==ym?e=>{if("string"==typeof e){const t=ym.from(e,"utf8");return new Uint8Array(t.buffer,t.byteOffset,t.length)}if(ym.isBuffer(e))return new Uint8Array(e.buffer,e.byteOffset,e.length);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Invalid data type!")}:e=>{if("string"==typeof e)return wm.encode(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Invalid data type!")},Bm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Sm=new Uint8Array(256);for(let e=0;e<64;e++)Sm[Bm.charCodeAt(e)]=e;function Dm(e){const t=function(e){let t=Math.floor(.75*e.length);const r=e.length;return"="===e[r-1]&&(t-=1,"="===e[r-2]&&(t-=1)),t}(e),r=e.length,n=new Uint8Array(t);let i=0;for(let t=0;t<r;t+=4){const r=Sm[e.charCodeAt(t)],a=Sm[e.charCodeAt(t+1)],o=Sm[e.charCodeAt(t+2)],s=Sm[e.charCodeAt(t+3)];n[i]=r<<2|a>>4,i+=1,n[i]=(15&a)<<4|o>>2,i+=1,n[i]=(3&o)<<6|63&s,i+=1}return n}const Tm=16384,Fm=new vm,_m=new Map;function Nm(e,t){return mm(this,void 0,void 0,function*(){let r=null,n=null,i=!1;if("undefined"==typeof WebAssembly)throw new Error("WebAssembly is not supported in this environment!");const a=()=>new DataView(r.exports.memory.buffer).getUint32(r.exports.STATE_SIZE,!0),o=Fm.dispatch(()=>mm(this,void 0,void 0,function*(){if(!_m.has(e.name)){const t=Dm(e.data),r=WebAssembly.compile(t);_m.set(e.name,r)}const t=yield _m.get(e.name);r=yield WebAssembly.instantiate(t,{})})),s=(e=null)=>{i=!0,r.exports.Hash_Init(e)},c=e=>{if(!i)throw new Error("update() called before init()");(e=>{let t=0;for(;t<e.length;){const i=e.subarray(t,t+Tm);t+=i.length,n.set(i),r.exports.Hash_Update(i.length)}})(km(e))},l=new Uint8Array(2*t),u=(e,a=null)=>{if(!i)throw new Error("digest() called before init()");return i=!1,r.exports.Hash_Final(a),"binary"===e?n.slice(0,t):xm(l,n,t)},f=e=>"string"==typeof e?e.length<4096:e.byteLength<Tm;let h=f;switch(e.name){case"argon2":case"scrypt":h=()=>!0;break;case"blake2b":case"blake2s":h=(e,t)=>t<=512&&f(e);break;case"blake3":h=(e,t)=>0===t&&f(e);break;case"xxhash64":case"xxhash3":case"xxhash128":case"crc64":h=()=>!1}return yield(()=>mm(this,void 0,void 0,function*(){r||(yield o);const e=r.exports.Hash_GetBuffer(),t=r.exports.memory.buffer;n=new Uint8Array(t,e,Tm)}))(),{getMemory:()=>n,writeMemory:(e,t=0)=>{n.set(e,t)},getExports:()=>r.exports,setMemorySize:e=>{r.exports.Hash_SetMemorySize(e);const t=r.exports.Hash_GetBuffer(),i=r.exports.memory.buffer;n=new Uint8Array(i,t,e)},init:s,update:c,digest:u,save:()=>{if(!i)throw new Error("save() can only be called after init() and before digest()");const t=r.exports.Hash_GetState(),n=a(),o=r.exports.memory.buffer,s=new Uint8Array(o,t,n),c=new Uint8Array(4+n);return function(e,t){const r=t.length>>1;for(let n=0;n<r;n++){const r=n<<1;e[n]=Im(t.charCodeAt(r),t.charCodeAt(r+1))}}(c,e.hash),c.set(s,4),c},load:t=>{if(!(t instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");const n=r.exports.Hash_GetState(),o=a(),s=4+o,c=r.exports.memory.buffer;if(t.length!==s)throw new Error(`Bad state length (expected ${s} bytes, got ${t.length})`);if(!function(e,t){if(e.length!==2*t.length)return!1;for(let r=0;r<t.length;r++){const n=r<<1;if(t[r]!==Im(e.charCodeAt(n),e.charCodeAt(n+1)))return!1}return!0}(e.hash,t.subarray(0,4)))throw new Error("This state was written by an incompatible hash implementation");const l=t.subarray(4);new Uint8Array(c,n,o).set(l),i=!0},calculate:(e,i=null,a=null)=>{if(!h(e,i))return s(i),c(e),u("hex",a);const o=km(e);return n.set(o),r.exports.Hash_Calculate(o.length,i,a),xm(l,n,t)},hashLength:t}})}new vm,new vm,new vm,new vm,new vm,new vm,new vm;var Om={name:"md5",data:"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",hash:"e6508e4b"};function Lm(){return Nm(Om,16).then(e=>{e.init();const t={init:()=>(e.init(),t),update:r=>(e.update(r),t),digest:t=>e.digest(t),save:()=>e.save(),load:r=>(e.load(r),t),blockSize:64,digestSize:16};return t})}new vm;var Mm={name:"sha1",data:"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",hash:"6b530c24"};function Rm(){return Nm(Mm,20).then(e=>{e.init();const t={init:()=>(e.init(),t),update:r=>(e.update(r),t),digest:t=>e.digest(t),save:()=>e.save(),load:r=>(e.load(r),t),blockSize:64,digestSize:20};return t})}new vm,new vm,new vm;var Qm={name:"sha256",data:"AGFzbQEAAAABEQRgAAF/YAF/AGAAAGACf38AAwgHAAEBAQIAAwUEAQECAgYOAn8BQfCJBQt/AEGACAsHcAgGbWVtb3J5AgAOSGFzaF9HZXRCdWZmZXIAAAlIYXNoX0luaXQAAQtIYXNoX1VwZGF0ZQACCkhhc2hfRmluYWwABA1IYXNoX0dldFN0YXRlAAUOSGFzaF9DYWxjdWxhdGUABgpTVEFURV9TSVpFAwEKnEoHBQBBgAkLnQEAQQBCADcDwIkBQQBBHEEgIABB4AFGIgAbNgLoiQFBAEKnn+anxvST/b5/Qquzj/yRo7Pw2wAgABs3A+CJAUEAQrGWgP6fooWs6ABC/6S5iMWR2oKbfyAAGzcD2IkBQQBCl7rDg5Onlod3QvLmu+Ojp/2npX8gABs3A9CJAUEAQti9loj8oLW+NkLnzKfQ1tDrs7t/IAAbNwPIiQEL7wICAX4Gf0EAQQApA8CJASIBIACtfDcDwIkBAkACQAJAIAGnQT9xIgINAEGACSEDDAELAkBBwAAgAmsiBCAAIAQgAEkbIgNFDQAgA0EDcSEFIAJBgIkBaiEGQQAhAgJAIANBBEkNACADQfwAcSEHQQAhAgNAIAYgAmoiAyACQYAJai0AADoAACADQQFqIAJBgQlqLQAAOgAAIANBAmogAkGCCWotAAA6AAAgA0EDaiACQYMJai0AADoAACAHIAJBBGoiAkcNAAsLIAVFDQADQCAGIAJqIAJBgAlqLQAAOgAAIAJBAWohAiAFQX9qIgUNAAsLIAAgBEkNAUGAiQEQAyAAIARrIQAgBEGACWohAwsCQCAAQcAASQ0AA0AgAxADIANBwABqIQMgAEFAaiIAQT9LDQALCyAARQ0AQQAhAkEAIQUDQCACQYCJAWogAyACai0AADoAACACQQFqIQIgACAFQQFqIgVB/wFxSw0ACwsLoz4BRX9BACAAKAI8IgFBGHQgAUGA/gNxQQh0ciABQQh2QYD+A3EgAUEYdnJyIgFBGXcgAUEOd3MgAUEDdnMgACgCOCICQRh0IAJBgP4DcUEIdHIgAkEIdkGA/gNxIAJBGHZyciICaiAAKAIgIgNBGHQgA0GA/gNxQQh0ciADQQh2QYD+A3EgA0EYdnJyIgRBGXcgBEEOd3MgBEEDdnMgACgCHCIDQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZyciIFaiAAKAIEIgNBGHQgA0GA/gNxQQh0ciADQQh2QYD+A3EgA0EYdnJyIgZBGXcgBkEOd3MgBkEDdnMgACgCACIDQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZyciIHaiAAKAIkIgNBGHQgA0GA/gNxQQh0ciADQQh2QYD+A3EgA0EYdnJyIghqIAJBD3cgAkENd3MgAkEKdnNqIgNqIAAoAhgiCUEYdCAJQYD+A3FBCHRyIAlBCHZBgP4DcSAJQRh2cnIiCkEZdyAKQQ53cyAKQQN2cyAAKAIUIglBGHQgCUGA/gNxQQh0ciAJQQh2QYD+A3EgCUEYdnJyIgtqIAJqIAAoAhAiCUEYdCAJQYD+A3FBCHRyIAlBCHZBgP4DcSAJQRh2cnIiDEEZdyAMQQ53cyAMQQN2cyAAKAIMIglBGHQgCUGA/gNxQQh0ciAJQQh2QYD+A3EgCUEYdnJyIg1qIAAoAjAiCUEYdCAJQYD+A3FBCHRyIAlBCHZBgP4DcSAJQRh2cnIiDmogACgCCCIJQRh0IAlBgP4DcUEIdHIgCUEIdkGA/gNxIAlBGHZyciIPQRl3IA9BDndzIA9BA3ZzIAZqIAAoAigiCUEYdCAJQYD+A3FBCHRyIAlBCHZBgP4DcSAJQRh2cnIiEGogAUEPdyABQQ13cyABQQp2c2oiCUEPdyAJQQ13cyAJQQp2c2oiEUEPdyARQQ13cyARQQp2c2oiEkEPdyASQQ13cyASQQp2c2oiE2ogACgCNCIUQRh0IBRBgP4DcUEIdHIgFEEIdkGA/gNxIBRBGHZyciIVQRl3IBVBDndzIBVBA3ZzIA5qIBJqIAAoAiwiAEEYdCAAQYD+A3FBCHRyIABBCHZBgP4DcSAAQRh2cnIiFkEZdyAWQQ53cyAWQQN2cyAQaiARaiAIQRl3IAhBDndzIAhBA3ZzIARqIAlqIAVBGXcgBUEOd3MgBUEDdnMgCmogAWogC0EZdyALQQ53cyALQQN2cyAMaiAVaiANQRl3IA1BDndzIA1BA3ZzIA9qIBZqIANBD3cgA0ENd3MgA0EKdnNqIhRBD3cgFEENd3MgFEEKdnNqIhdBD3cgF0ENd3MgF0EKdnNqIhhBD3cgGEENd3MgGEEKdnNqIhlBD3cgGUENd3MgGUEKdnNqIhpBD3cgGkENd3MgGkEKdnNqIhtBD3cgG0ENd3MgG0EKdnNqIhxBGXcgHEEOd3MgHEEDdnMgAkEZdyACQQ53cyACQQN2cyAVaiAYaiAOQRl3IA5BDndzIA5BA3ZzIBZqIBdqIBBBGXcgEEEOd3MgEEEDdnMgCGogFGogE0EPdyATQQ13cyATQQp2c2oiHUEPdyAdQQ13cyAdQQp2c2oiHkEPdyAeQQ13cyAeQQp2c2oiH2ogE0EZdyATQQ53cyATQQN2cyAYaiADQRl3IANBDndzIANBA3ZzIAFqIBlqIB9BD3cgH0ENd3MgH0EKdnNqIiBqIBJBGXcgEkEOd3MgEkEDdnMgF2ogH2ogEUEZdyARQQ53cyARQQN2cyAUaiAeaiAJQRl3IAlBDndzIAlBA3ZzIANqIB1qIBxBD3cgHEENd3MgHEEKdnNqIiFBD3cgIUENd3MgIUEKdnNqIiJBD3cgIkENd3MgIkEKdnNqIiNBD3cgI0ENd3MgI0EKdnNqIiRqIBtBGXcgG0EOd3MgG0EDdnMgHmogI2ogGkEZdyAaQQ53cyAaQQN2cyAdaiAiaiAZQRl3IBlBDndzIBlBA3ZzIBNqICFqIBhBGXcgGEEOd3MgGEEDdnMgEmogHGogF0EZdyAXQQ53cyAXQQN2cyARaiAbaiAUQRl3IBRBDndzIBRBA3ZzIAlqIBpqICBBD3cgIEENd3MgIEEKdnNqIiVBD3cgJUENd3MgJUEKdnNqIiZBD3cgJkENd3MgJkEKdnNqIidBD3cgJ0ENd3MgJ0EKdnNqIihBD3cgKEENd3MgKEEKdnNqIilBD3cgKUENd3MgKUEKdnNqIipBD3cgKkENd3MgKkEKdnNqIitBGXcgK0EOd3MgK0EDdnMgH0EZdyAfQQ53cyAfQQN2cyAbaiAnaiAeQRl3IB5BDndzIB5BA3ZzIBpqICZqIB1BGXcgHUEOd3MgHUEDdnMgGWogJWogJEEPdyAkQQ13cyAkQQp2c2oiLEEPdyAsQQ13cyAsQQp2c2oiLUEPdyAtQQ13cyAtQQp2c2oiLmogJEEZdyAkQQ53cyAkQQN2cyAnaiAgQRl3ICBBDndzICBBA3ZzIBxqIChqIC5BD3cgLkENd3MgLkEKdnNqIi9qICNBGXcgI0EOd3MgI0EDdnMgJmogLmogIkEZdyAiQQ53cyAiQQN2cyAlaiAtaiAhQRl3ICFBDndzICFBA3ZzICBqICxqICtBD3cgK0ENd3MgK0EKdnNqIjBBD3cgMEENd3MgMEEKdnNqIjFBD3cgMUENd3MgMUEKdnNqIjJBD3cgMkENd3MgMkEKdnNqIjNqICpBGXcgKkEOd3MgKkEDdnMgLWogMmogKUEZdyApQQ53cyApQQN2cyAsaiAxaiAoQRl3IChBDndzIChBA3ZzICRqIDBqICdBGXcgJ0EOd3MgJ0EDdnMgI2ogK2ogJkEZdyAmQQ53cyAmQQN2cyAiaiAqaiAlQRl3ICVBDndzICVBA3ZzICFqIClqIC9BD3cgL0ENd3MgL0EKdnNqIjRBD3cgNEENd3MgNEEKdnNqIjVBD3cgNUENd3MgNUEKdnNqIjZBD3cgNkENd3MgNkEKdnNqIjdBD3cgN0ENd3MgN0EKdnNqIjhBD3cgOEENd3MgOEEKdnNqIjlBD3cgOUENd3MgOUEKdnNqIjogOCA0IC4gLCAhIBsgGSADIA4gBEEAKALYiQEiO0EadyA7QRV3cyA7QQd3c0EAKALkiQEiPGpBACgC4IkBIj1BACgC3IkBIj5zIDtxID1zaiAHakGY36iUBGoiB0EAKALUiQEiP2oiACAMaiA7IA1qID4gD2ogPSAGaiAAID4gO3NxID5zaiAAQRp3IABBFXdzIABBB3dzakGRid2JB2oiQEEAKALQiQEiQWoiDCAAIDtzcSA7c2ogDEEadyAMQRV3cyAMQQd3c2pBz/eDrntqIkJBACgCzIkBIkNqIg0gDCAAc3EgAHNqIA1BGncgDUEVd3MgDUEHd3NqQaW3181+aiJEQQAoAsiJASIAaiIPIA0gDHNxIAxzaiAPQRp3IA9BFXdzIA9BB3dzakHbhNvKA2oiRSBBIEMgAHNxIEMgAHFzIABBHncgAEETd3MgAEEKd3NqIAdqIgZqIgdqIAUgD2ogCiANaiALIAxqIAcgDyANc3EgDXNqIAdBGncgB0EVd3MgB0EHd3NqQfGjxM8FaiIKIAYgAHMgQ3EgBiAAcXMgBkEedyAGQRN3cyAGQQp3c2ogQGoiDGoiBCAHIA9zcSAPc2ogBEEadyAEQRV3cyAEQQd3c2pBpIX+kXlqIgsgDCAGcyAAcSAMIAZxcyAMQR53IAxBE3dzIAxBCndzaiBCaiINaiIPIAQgB3NxIAdzaiAPQRp3IA9BFXdzIA9BB3dzakHVvfHYemoiQCANIAxzIAZxIA0gDHFzIA1BHncgDUETd3MgDUEKd3NqIERqIgZqIgcgDyAEc3EgBHNqIAdBGncgB0EVd3MgB0EHd3NqQZjVnsB9aiJCIAYgDXMgDHEgBiANcXMgBkEedyAGQRN3cyAGQQp3c2ogRWoiDGoiBWogFiAHaiAQIA9qIAggBGogBSAHIA9zcSAPc2ogBUEadyAFQRV3cyAFQQd3c2pBgbaNlAFqIgggDCAGcyANcSAMIAZxcyAMQR53IAxBE3dzIAxBCndzaiAKaiINaiIPIAUgB3NxIAdzaiAPQRp3IA9BFXdzIA9BB3dzakG+i8ahAmoiDiANIAxzIAZxIA0gDHFzIA1BHncgDUETd3MgDUEKd3NqIAtqIgZqIgcgDyAFc3EgBXNqIAdBGncgB0EVd3MgB0EHd3NqQcP7sagFaiIQIAYgDXMgDHEgBiANcXMgBkEedyAGQRN3cyAGQQp3c2ogQGoiDGoiBCAHIA9zcSAPc2ogBEEadyAEQRV3cyAEQQd3c2pB9Lr5lQdqIhYgDCAGcyANcSAMIAZxcyAMQR53IAxBE3dzIAxBCndzaiBCaiINaiIFaiABIARqIAIgB2ogFSAPaiAFIAQgB3NxIAdzaiAFQRp3IAVBFXdzIAVBB3dzakH+4/qGeGoiByANIAxzIAZxIA0gDHFzIA1BHncgDUETd3MgDUEKd3NqIAhqIgFqIgYgBSAEc3EgBHNqIAZBGncgBkEVd3MgBkEHd3NqQaeN8N55aiIEIAEgDXMgDHEgASANcXMgAUEedyABQRN3cyABQQp3c2ogDmoiAmoiDCAGIAVzcSAFc2ogDEEadyAMQRV3cyAMQQd3c2pB9OLvjHxqIgUgAiABcyANcSACIAFxcyACQR53IAJBE3dzIAJBCndzaiAQaiIDaiINIAwgBnNxIAZzaiANQRp3IA1BFXdzIA1BB3dzakHB0+2kfmoiCCADIAJzIAFxIAMgAnFzIANBHncgA0ETd3MgA0EKd3NqIBZqIgFqIg8gF2ogESANaiAUIAxqIAkgBmogDyANIAxzcSAMc2ogD0EadyAPQRV3cyAPQQd3c2pBho/5/X5qIgYgASADcyACcSABIANxcyABQR53IAFBE3dzIAFBCndzaiAHaiICaiIJIA8gDXNxIA1zaiAJQRp3IAlBFXdzIAlBB3dzakHGu4b+AGoiDCACIAFzIANxIAIgAXFzIAJBHncgAkETd3MgAkEKd3NqIARqIgNqIhEgCSAPc3EgD3NqIBFBGncgEUEVd3MgEUEHd3NqQczDsqACaiINIAMgAnMgAXEgAyACcXMgA0EedyADQRN3cyADQQp3c2ogBWoiAWoiFCARIAlzcSAJc2ogFEEadyAUQRV3cyAUQQd3c2pB79ik7wJqIg8gASADcyACcSABIANxcyABQR53IAFBE3dzIAFBCndzaiAIaiICaiIXaiATIBRqIBggEWogEiAJaiAXIBQgEXNxIBFzaiAXQRp3IBdBFXdzIBdBB3dzakGqidLTBGoiGCACIAFzIANxIAIgAXFzIAJBHncgAkETd3MgAkEKd3NqIAZqIgNqIgkgFyAUc3EgFHNqIAlBGncgCUEVd3MgCUEHd3NqQdzTwuUFaiIUIAMgAnMgAXEgAyACcXMgA0EedyADQRN3cyADQQp3c2ogDGoiAWoiESAJIBdzcSAXc2ogEUEadyARQRV3cyARQQd3c2pB2pHmtwdqIhcgASADcyACcSABIANxcyABQR53IAFBE3dzIAFBCndzaiANaiICaiISIBEgCXNxIAlzaiASQRp3IBJBFXdzIBJBB3dzakHSovnBeWoiGSACIAFzIANxIAIgAXFzIAJBHncgAkETd3MgAkEKd3NqIA9qIgNqIhNqIB4gEmogGiARaiAdIAlqIBMgEiARc3EgEXNqIBNBGncgE0EVd3MgE0EHd3NqQe2Mx8F6aiIaIAMgAnMgAXEgAyACcXMgA0EedyADQRN3cyADQQp3c2ogGGoiAWoiCSATIBJzcSASc2ogCUEadyAJQRV3cyAJQQd3c2pByM+MgHtqIhggASADcyACcSABIANxcyABQR53IAFBE3dzIAFBCndzaiAUaiICaiIRIAkgE3NxIBNzaiARQRp3IBFBFXdzIBFBB3dzakHH/+X6e2oiFCACIAFzIANxIAIgAXFzIAJBHncgAkETd3MgAkEKd3NqIBdqIgNqIhIgESAJc3EgCXNqIBJBGncgEkEVd3MgEkEHd3NqQfOXgLd8aiIXIAMgAnMgAXEgAyACcXMgA0EedyADQRN3cyADQQp3c2ogGWoiAWoiE2ogICASaiAcIBFqIB8gCWogEyASIBFzcSARc2ogE0EadyATQRV3cyATQQd3c2pBx6KerX1qIhkgASADcyACcSABIANxcyABQR53IAFBE3dzIAFBCndzaiAaaiICaiIJIBMgEnNxIBJzaiAJQRp3IAlBFXdzIAlBB3dzakHRxqk2aiIaIAIgAXMgA3EgAiABcXMgAkEedyACQRN3cyACQQp3c2ogGGoiA2oiESAJIBNzcSATc2ogEUEadyARQRV3cyARQQd3c2pB59KkoQFqIhggAyACcyABcSADIAJxcyADQR53IANBE3dzIANBCndzaiAUaiIBaiISIBEgCXNxIAlzaiASQRp3IBJBFXdzIBJBB3dzakGFldy9AmoiFCABIANzIAJxIAEgA3FzIAFBHncgAUETd3MgAUEKd3NqIBdqIgJqIhMgI2ogJiASaiAiIBFqICUgCWogEyASIBFzcSARc2ogE0EadyATQRV3cyATQQd3c2pBuMLs8AJqIhcgAiABcyADcSACIAFxcyACQR53IAJBE3dzIAJBCndzaiAZaiIDaiIJIBMgEnNxIBJzaiAJQRp3IAlBFXdzIAlBB3dzakH827HpBGoiGSADIAJzIAFxIAMgAnFzIANBHncgA0ETd3MgA0EKd3NqIBpqIgFqIhEgCSATc3EgE3NqIBFBGncgEUEVd3MgEUEHd3NqQZOa4JkFaiIaIAEgA3MgAnEgASADcXMgAUEedyABQRN3cyABQQp3c2ogGGoiAmoiEiARIAlzcSAJc2ogEkEadyASQRV3cyASQQd3c2pB1OapqAZqIhggAiABcyADcSACIAFxcyACQR53IAJBE3dzIAJBCndzaiAUaiIDaiITaiAoIBJqICQgEWogJyAJaiATIBIgEXNxIBFzaiATQRp3IBNBFXdzIBNBB3dzakG7laizB2oiFCADIAJzIAFxIAMgAnFzIANBHncgA0ETd3MgA0EKd3NqIBdqIgFqIgkgEyASc3EgEnNqIAlBGncgCUEVd3MgCUEHd3NqQa6Si454aiIXIAEgA3MgAnEgASADcXMgAUEedyABQRN3cyABQQp3c2ogGWoiAmoiESAJIBNzcSATc2ogEUEadyARQRV3cyARQQd3c2pBhdnIk3lqIhkgAiABcyADcSACIAFxcyACQR53IAJBE3dzIAJBCndzaiAaaiIDaiISIBEgCXNxIAlzaiASQRp3IBJBFXdzIBJBB3dzakGh0f+VemoiGiADIAJz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",hash:"8c18dd94"};function Pm(){return Nm(Qm,32).then(e=>{e.init(256);const t={init:()=>(e.init(256),t),update:r=>(e.update(r),t),digest:t=>e.digest(t),save:()=>e.save(),load:r=>(e.load(r),t),blockSize:64,digestSize:32};return t})}new vm,new vm;var Um={name:"sha512",data:"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",hash:"f2e40eb1"};function Hm(){return Nm(Um,48).then(e=>{e.init(384);const t={init:()=>(e.init(384),t),update:r=>(e.update(r),t),digest:t=>e.digest(t),save:()=>e.save(),load:r=>(e.load(r),t),blockSize:128,digestSize:48};return t})}function jm(){return Nm(Um,64).then(e=>{e.init(512);const t={init:()=>(e.init(512),t),update:r=>(e.update(r),t),digest:t=>e.digest(t),save:()=>e.save(),load:r=>(e.load(r),t),blockSize:128,digestSize:64};return t})}function qm(e){return"[object File]"===Object.prototype.toString.call(e)}async function Wm(e,t={}){if(!ps(e)&&!qm(e))return console.log("inp",e),Promise.reject("inp is not a Blob or File");let r=Ce(t,"type","");De(r)||(r="sha512");let n=Ce(t,"chunkSize");_e(n)||(n=67108864),n=Ln(n);let i={MD5:Lm,"SHA-1":Rm,"SHA-256":Pm,"SHA-384":Hm,"SHA-512":jm,md5:Lm,sha1:Rm,sha256:Pm,sha384:Hm,sha512:jm};if(!Ne(i,r))return Promise.reject(`type[${r}] must be one of [ 'md5', 'sha1', 'sha256', 'sha384', 'sha512' ]`);let a=Ce(i,r),o=await a(),s=0;for(;s<e.size;){let t=e.slice(s,s+n),r=await t.arrayBuffer();o.update(new Uint8Array(r)),s+=n}return o.digest()}async function Gm(e,t={}){if(!ps(e)&&!qm(e))return console.log("inp",e),Promise.reject("inp is not a Blob or File");let r=Ce(t,"chunkSize");_e(r)||(r=67108864),r=Ln(r);let{create64:n}=await RA(),i=n(),a=0;for(;a<e.size;){let t=e.slice(a,a+r),n=await t.arrayBuffer();i.update(new Uint8Array(n)),a+=r}return i.digest().toString(16).padStart(16,"0")}new vm,new vm,new vm,new vm,new vm,new vm,new vm,new vm,new vm;var Ym=4294967295,zm=Math.min;function Vm(e,t){if((e=On(e))<1||e>9007199254740991)return[];var r=Ym,n=zm(e,Ym);t=Cr(t),e-=Ym;for(var i=Me(n,t);++r<e;)t(r);return i}function Jm(e){let t="";return"years"===e?t="YYYY":"months"===e?t="YYYY-MM":"days"===e?t="YYYY-MM-DD":"hours"===e?t="YYYY-MM-DDTHH":"minutes"===e?t="YYYY-MM-DDTHH:mm":"seconds"===e&&(t="YYYY-MM-DDTHH:mm:ss"),t}function Km(e,t="days"){if(!De(e))return null;if(!De(t))return null;let n=function(e,t){let n="";return"years"===t?n="-01-01T00:00:00":"months"===t?n="-01T00:00:00":"days"===t?n="T00:00:00":"hours"===t?n=":00:00":"minutes"===t&&(n=":00"),r(e+n,"YYYY-MM-DDTHH:mm:ss")}(e,t),i=Jm(t);return e===n.format(i)?n:null}function Xm(){let e=yn(),t=()=>Number(e.process.hrtime.bigint())/1e6,r=()=>e.performance.now(),n=null;return n=bn()?r:t,n}function Zm(e){return xd(e)?r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DDTHH:mm"):""}function $m(e=null){let t,r=function(){let e=yn();return g.UAParser||e.UAParser}();t=Se(e)?new r(e):new r;let n=t.getResult();return{browsername:n.browser.name,browserversion:n.browser.version,engineinfor:n.engine.name+n.engine.version,platform:n.os.name+n.os.version,devicetype:Ce(n.device,"type",""),cpuarchitecture:Ce(n.cpu,"architecture","")}}let ev="in x-range",tv="out of x-range",rv="order list",nv="reverse order list";function iv(e,t){let r=null,n=null;return r=e[0].x,n=e[dn(e)-1].x,t<r?{err:tv,msg:`x[${t}] less than lower limit[${r}]`,data:{ps:e,x:t,xmin:r,xmax:n}}:t>n?{err:tv,msg:`x[${t}] greater than upper limit[${n}]`,data:{ps:e,x:t,xmin:r,xmax:n}}:ev}function av(e){return!!Mn(e)&&$i(e)<=0}function ov(e){return!!_e(e)&&Ln(e)<=0}function sv(e){return!!_e(e)&&Ln(e)>=0}function cv(e){return!(!De(e)||null===e.match(/^.*[A-Z]+.*$/))}function lv(e){return!(!De(e)||null===e.match(/^.*[a-zA-Z]+.*$/))}function uv(e){return!(!De(e)||null===e.match(/^.*[a-z]+.*$/))}function fv(e){return!(!De(e)||null===e.match(/^.*[0-9]+.*$/))}function hv(e){return!(!De(e)||null===e.match(/^.*\s+.*$/))}function dv(e){return!!De(e)&&/[!-/:-@[-`{-~]/.test(e);//!"#$%&'()*+,-./ :;<=>?@ [\]^_` {|}~
|
|
31
|
-
}function pv(e){if(!De(e))return!1;let t="YYYY-MM-DDTHH:mm:ss.SSS";return e===r(e,t).format(t)}function gv(e){let t;return t=fo(e,1),"Z"===t?`${e=Wo(e,1)}+00:00`:e}let Av={checkTZ:function(e){let t;return t=fo(e,1),"Z"===t||(t=fo(e,6),!!/[+|-]\d\d:\d\d/.test(t))},delTZ:function(e){let t;return t=fo(e,1),Wo(e,"Z"===t?1:6)},normTZ:gv,sepTZ:function(e){let t=gv(e);return{t:Wo(t,6),tz:fo(t,6)}}};function mv(e){if(!De(e))return!1;if(!Av.checkTZ(e))return!1;let t=Av.delTZ(e),n="YYYY-MM-DDTHH:mm:ss.SSS";return t===r(t,n).format(n)}function vv(e){if(!De(e))return!1;if(!Av.checkTZ(e))return!1;let t=Av.delTZ(e),n="YYYY-MM-DDTHH:mm:ss";return t===r(t,n).format(n)}let bv=["1234","12345","123456","1234567","12345678","123456789","1234567890","12345678910","111111","000000","666666","888888","7777777","11111111","123123","123321","654321","987654321","qwerty","qwerty123","qwerty1","qwertyuiop","qazwsx","1q2w3e4r","1q2w3e4r5t","1q2w3e","1qaz2wsx","zxcvbnm","password","password1","passw0rd","admin","admin123","welcome","letmein","login","master","monkey","dragon","shadow","sunshine","superman","batman","football","baseball","soccer","hockey","michael","jordan","jennifer","hunter","ranger","harley","thomas","charlie","andrew","daniel","ashley","bailey","mustang","access","secret","ninja","jesus","hello","freedom","trustno1","1qaz@WSX","P@ssw0rd","Pass@123","Aa123456","Aa@123456","Admin@123","abc@123","abc123","abcdef","abcd1234","abc","iloveyou","fuckyou","f*ckyou","whatever","nothing","google","computer","internet","samsung","apple","killer","princess","lovely","tigger","starwars","pokemon","minecraft","123qwe","zaq1zaq1","photoshop","adobe123","18atcskd2w","mynoob"];function yv(e,t){return new al(e).eq(t)}function wv(e,t){return Pr(e)&&Pr(t)&&Pr(t[0])?Br(t,function(t){let r=ta(e,t);return xr(r,function(e,t){void 0===e&&(r[t]="")}),r}):[]}var Iv=Po(function(e){return zr(Tr(e,1,Ad,!0))}),Ev=Po(function(e,t){var r=To(t);return Ad(r)&&(r=void 0),Ad(e)?function(e,t,r,n){var i=-1,a=qr,o=!0,s=e.length,c=[],l=t.length;if(!s)return c;r&&(t=Ae(t,Xe(r))),n?(a=Wr,o=!1):t.length>=200&&(a=yt,o=!1,t=new vt(t));e:for(;++i<s;){var u=e[i],f=null==r?u:r(u);if(u=n||0!==u?u:0,o&&f==f){for(var h=l;h--;)if(t[h]===f)continue e;c.push(u)}else a(t,f,n)||c.push(u)}return c}(e,Tr(t,1,Ad,!0),hr(r)):[]}),Cv=Ev;function xv(e){if(!De(e))return"";let t=oi.parse(e);return Gn.stringify(t)}function kv(e,t,r=!1){if(!De(e))return"";if(!De(t))return"";if(!gn(r))return"";let n=ii.encrypt(e,t),i="";if(r)i=n.toString();else{let e=n.toString();i=Gn.parse(e).toString(ci)}return i}var Bv={exports:{}};!function(e){var t;e.exports=(t=jn(),function(){if("function"==typeof ArrayBuffer){var e=t.lib.WordArray,r=e.init,n=e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,n=[],i=0;i<t;i++)n[i>>>2]|=e[i]<<24-i%4*8;r.call(this,n,t)}else r.apply(this,arguments)};n.prototype=e}}(),t.lib.WordArray)}(Bv);var Sv=Qn(Bv.exports);function Dv(e){return es(e)?Sv.create(e).toString(Gn):""}function Tv(e){return sm(e)?new Uint8Array(e):new Uint8Array}function Fv(e){return sm(e)?Dv(Tv(e)):""}let _v="[Uint8Array]::",Nv="[Uint16Array]::",Ov={tagU8A:_v,u8arr2b64:function(e){return es(e)?_v+Dv(e):e},b642u8arr:function(e){return Se(e)&&uo(e,14)===_v?$o(e=ho(e,14)):e},tagU16A:Nv,u16arr2b64:function(e){return sm(e)?Nv+Fv(e):e},b642u16arr:function(e){return Se(e)&&uo(e,15)===Nv?rs(e=ho(e,15)):e}};function Lv(e){if(!xe(e))return{results:"",binarys:[]};if(Lr(e))return{results:"",binarys:[]};let t="",r=[];try{let n=-1;t=JSON.stringify(e,function(e,t){if(es(t)){n+=1;let e=`[Uint8Array]::${n}`;return r.push(t),e}if(sm(t)){n+=1;let e=`[Uint16Array]::${n}`;return r.push(t),e}if(y(t)){n+=1;let e=`[ArrayBuffer]::${n}`;return r.push(t),e}return pm(t)&&(t=t.toString()),t})}catch(e){}return{results:t,binarys:r}}function Mv(e){if(!De(e))return new Uint8Array;let t;try{t=$o(xv(e))}catch(e){return new Uint8Array}return t}function Rv(e,t){if(!ke(e))return{};if(!wo(t))throw new Error("fun is not a function");let r=Br(e,(e,r)=>({k:r,v:e,t:t(e,r)}));r=Uo(r,"t");let n={};return xr(r,e=>{n[e.k]=e.v}),n}function Qv(e,t=()=>{}){if(!wo(e))return null;function r(e,t){let r;return Or(e)||Nr(e)?t:(r=Ce(e,"data",null),r||e)}return wo(t)||(t=()=>{}),function(){let n,i=is(),a=t({mode:"before",data:arguments});return(Or(a)||Nr(a))&&(a=arguments),e(...a).then(e=>{n=t({mode:"afterThen",data:e}),e=r(n,e),i.resolve(e)}).catch(e=>{n=t({mode:"afterCatch",data:e}),e=r(n,e),i.reject(e)}),i}}function Pv(e){return Se(e)?""===e?0:e.split("").reduce((e,t)=>t.charCodeAt(0)+(e<<6)+(e<<16)-e,0):null}let Uv=0;function Hv(e="start1",t=!1){void 0===e?e=(new Date).getTime():"start1"===e&&(Uv++,e=Uv);let r=624,n=397,i=2147483648,a=2147483647,o=new Array(r),s=625,c=e=>{for(bo(e)?o[0]=e>>>0:(e=jo(e),o[0]=Pv(e)),s=1;s<r;s++){let e=o[s-1]^o[s-1]>>>30;o[s]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+s,o[s]>>>=0}},l=()=>(()=>{let e,t=new Array(2567483615);if(s>=r){let l;for(625===s&&c(5489),l=0;l<227;l++)e=o[l]&i|o[l+1]&a,o[l]=o[l+n]^e>>>1^t[1&e];for(;l<623;l++)e=o[l]&i|o[l+1]&a,o[l]=o[l+(n-r)]^e>>>1^t[1&e];e=o[623]&i|o[0]&a,o[623]=o[396]^e>>>1^t[1&e],s=0}return e=o[s++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0})()*(1/4294967296);c(e);let u=null;return u=t?l:l(),u}let jv=Hv((new Date).getTime(),!0);function qv(){return jv()}function Wv(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e}var Gv=Math.floor,Yv=Math.random;function zv(e,t){return e+Gv(Yv()*(t-e+1))}function Vv(e,t){var r=-1,n=e.length,i=n-1;for(t=void 0===t?n:t;++r<t;){var a=zv(r,i),o=e[a];e[a]=e[r],e[r]=o}return e.length=t,e}function Jv(e,t){return Vv(Fr(e),Wv(t,0,e.length))}function Kv(e,t){var r=nA(e);return Vv(r,Wv(t,0,r.length))}var Xv=Math.floor;function Zv(e,t,r){return t=(r?dr(e,t,r):void 0===t)?1:On(t),function(e,t){var r="";if(!e||t<1||t>9007199254740991)return r;do{t%2&&(r+=e),(t=Xv(t/2))&&(e+=e)}while(t);return r}(ye(e),t)}var $v,eb=Xi("floor"),tb=Qn(zn()),rb={exports:{}},nb={exports:{}};!function(e){var t;e.exports=(t=jn(),$v||($v=1,function(e){var t,r,n,i,a,o,s;e.exports=(n=(r=s=jn()).lib,i=n.Base,a=n.WordArray,(o=r.x64={}).Word=i.extend({init:function(e,t){this.high=e,this.low=t}}),o.WordArray=i.extend({init:function(e,r){e=this.words=e||[],this.sigBytes=r!=t?r:8*e.length},toX32:function(){for(var e=this.words,t=e.length,r=[],n=0;n<t;n++){var i=e[n];r.push(i.high),r.push(i.low)}return a.create(r,this.sigBytes)},clone:function(){for(var e=i.clone.call(this),t=e.words=this.words.slice(0),r=t.length,n=0;n<r;n++)t[n]=t[n].clone();return e}}),s)}(nb)),function(){var e=t,r=e.lib.Hasher,n=e.x64,i=n.Word,a=n.WordArray,o=e.algo;function s(){return i.create.apply(i,arguments)}var c=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=s()}();var u=o.SHA512=r.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(e,t){for(var r=this._hash.words,n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],u=r[5],f=r[6],h=r[7],d=n.high,p=n.low,g=i.high,A=i.low,m=a.high,v=a.low,b=o.high,y=o.low,w=s.high,I=s.low,E=u.high,C=u.low,x=f.high,k=f.low,B=h.high,S=h.low,D=d,T=p,F=g,_=A,N=m,O=v,L=b,M=y,R=w,Q=I,P=E,U=C,H=x,j=k,q=B,W=S,G=0;G<80;G++){var Y,z,V=l[G];if(G<16)z=V.high=0|e[t+2*G],Y=V.low=0|e[t+2*G+1];else{var J=l[G-15],K=J.high,X=J.low,Z=(K>>>1|X<<31)^(K>>>8|X<<24)^K>>>7,$=(X>>>1|K<<31)^(X>>>8|K<<24)^(X>>>7|K<<25),ee=l[G-2],te=ee.high,re=ee.low,ne=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),ae=l[G-7],oe=ae.high,se=ae.low,ce=l[G-16],le=ce.high,ue=ce.low;z=(z=(z=Z+oe+((Y=$+se)>>>0<$>>>0?1:0))+ne+((Y+=ie)>>>0<ie>>>0?1:0))+le+((Y+=ue)>>>0<ue>>>0?1:0),V.high=z,V.low=Y}var fe,he=R&P^~R&H,de=Q&U^~Q&j,pe=D&F^D&N^F&N,ge=T&_^T&O^_&O,Ae=(D>>>28|T<<4)^(D<<30|T>>>2)^(D<<25|T>>>7),me=(T>>>28|D<<4)^(T<<30|D>>>2)^(T<<25|D>>>7),ve=(R>>>14|Q<<18)^(R>>>18|Q<<14)^(R<<23|Q>>>9),be=(Q>>>14|R<<18)^(Q>>>18|R<<14)^(Q<<23|R>>>9),ye=c[G],we=ye.high,Ie=ye.low,Ee=q+ve+((fe=W+be)>>>0<W>>>0?1:0),Ce=me+ge;q=H,W=j,H=P,j=U,P=R,U=Q,R=L+(Ee=(Ee=(Ee=Ee+he+((fe+=de)>>>0<de>>>0?1:0))+we+((fe+=Ie)>>>0<Ie>>>0?1:0))+z+((fe+=Y)>>>0<Y>>>0?1:0))+((Q=M+fe|0)>>>0<M>>>0?1:0)|0,L=N,M=O,N=F,O=_,F=D,_=T,D=Ee+(Ae+pe+(Ce>>>0<me>>>0?1:0))+((T=fe+Ce|0)>>>0<fe>>>0?1:0)|0}p=n.low=p+T,n.high=d+D+(p>>>0<T>>>0?1:0),A=i.low=A+_,i.high=g+F+(A>>>0<_>>>0?1:0),v=a.low=v+O,a.high=m+N+(v>>>0<O>>>0?1:0),y=o.low=y+M,o.high=b+L+(y>>>0<M>>>0?1:0),I=s.low=I+Q,s.high=w+R+(I>>>0<Q>>>0?1:0),C=u.low=C+U,u.high=E+P+(C>>>0<U>>>0?1:0),k=f.low=k+j,f.high=x+H+(k>>>0<j>>>0?1:0),S=h.low=S+W,h.high=B+q+(S>>>0<W>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=r._createHelper(u),e.HmacSHA512=r._createHmacHelper(u)}(),t.SHA512)}(rb);var ib=Qn(rb.exports);function ab(e,t){return De(e)&&De(t)?function(e,t){if(e=e.replace(/\s+/g,""),t=t.replace(/\s+/g,""),!e.length&&!t.length)return 1;if(!e.length||!t.length)return 0;if(e===t)return 1;if(1===e.length&&1===t.length)return 0;if(e.length<2||t.length<2)return 0;let r=new Map;for(let t=0;t<e.length-1;t++){const n=e.substring(t,t+2),i=r.has(n)?r.get(n)+1:1;r.set(n,i)}let n=0;for(let e=0;e<t.length-1;e++){const i=t.substring(e,e+2),a=r.has(i)?r.get(i):0;a>0&&(r.set(i,a-1),n++)}return 2*n/(e.length+t.length-2)}(e,t):0}function ob(e){return Array.isArray?Array.isArray(e):"[object Array]"===pb(e)}function sb(e){return null==e?"":function(e){if("string"==typeof e)return e;if("bigint"==typeof e)return e.toString();const t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}function cb(e){return"string"==typeof e}function lb(e){return"number"==typeof e}function ub(e){return!0===e||!1===e||function(e){return fb(e)&&null!==e}(e)&&"[object Boolean]"==pb(e)}function fb(e){return"object"==typeof e}function hb(e){return null!=e}function db(e){return!e.trim().length}function pb(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const gb="Invalid doc index: must be a non-negative integer within the bounds of the docs array",Ab=Object.prototype.hasOwnProperty;var mb=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{const r=vb(e);this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function vb(e){let t=null,r=null,n=null,i=1,a=null;if(cb(e)||ob(e))n=e,t=bb(e),r=yb(e);else{if(!Ab.call(e,"name"))throw new Error("Missing name property in key");const o=e.name;if(n=o,Ab.call(e,"weight")&&void 0!==e.weight&&(i=e.weight,i<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(yb(o)));t=bb(o),r=yb(o),a=e.getFn??null}return{path:t,id:r,weight:i,src:n,getFn:a}}function bb(e){return ob(e)?e:e.split(".")}function yb(e){return ob(e)?e.join("."):e}const wb={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:"any",getFn:function(e,t){const r=[];let n=!1;const i=(e,t,a,o)=>{if(hb(e))if(t[a]){const s=e[t[a]];if(!hb(s))return;if(a===t.length-1&&(cb(s)||lb(s)||ub(s)||"bigint"==typeof s))r.push(void 0!==o?{v:sb(s),i:o}:sb(s));else if(ob(s)){n=!0;for(let e=0,r=s.length;e<r;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}else r.push(void 0!==o?{v:e,i:o}:e)};return i(e,cb(t)?t.split("."):t,0),n?r:r[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},Ib=Object.freeze({isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,...wb});function Eb(e){return e>=9&&e<=13||32===e||160===e}var Cb=class{constructor({getFn:e=Ib.getFn,fieldNormWeight:t=Ib.fieldNormWeight}={}){this.norm=function(e=1,t=3){const r=new Map,n=Math.pow(10,t);return{get(t){let i=0,a=!1;for(let e=0;e<t.length;e++)Eb(t.charCodeAt(e))?a=!1:a||(i++,a=!0);if(0===i&&(i=1),r.has(i))return r.get(i);const o=Math.round(n/Math.pow(i,.5*e))/n;return r.set(i,o),o},clear(){r.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;const e=this.docs.length;this.records=new Array(e);let t=0;if(cb(this.docs[0]))for(let r=0;r<e;r++){const e=this._createStringRecord(this.docs[r],r);e&&(this.records[t++]=e)}else for(let r=0;r<e;r++)this.records[t++]=this._createObjectRecord(this.docs[r],r);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw new Error(gb);if(cb(e)){const r=this._createStringRecord(e,t);return r&&this.records.push(r),r}const r=this._createObjectRecord(e,t);return this.records.push(r),r}removeAt(e){if(!Number.isInteger(e)||e<0)throw new Error(gb);for(let t=0,r=this.records.length;t<r;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,r=this.records.length;t<r;t+=1)this.records[t].i>e&&(this.records[t].i-=1)}removeAll(e){const t=new Set;for(const r of e)Number.isInteger(r)&&r>=0&&t.add(r);if(0===t.size)return;this.records=this.records.filter(e=>!t.has(e.i));const r=Array.from(t).sort((e,t)=>e-t);for(const e of this.records){let t=0,n=r.length;for(;t<n;){const i=t+n>>>1;r[i]<e.i?t=i+1:n=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!hb(e)||db(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){const r={i:t,$:{}};for(let t=0,n=this.keys.length;t<n;t++){const n=this.keys[t],i=n.getFn?n.getFn(e):this.getFn(e,n.path);if(hb(i))if(ob(i)){const e=[];for(let t=0,r=i.length;t<r;t+=1){const r=i[t];if(hb(r))if(cb(r)){if(!db(r)){const n={v:r,i:t,n:this.norm.get(r)};e.push(n)}}else if(hb(r.v)){const t=cb(r.v)?r.v:sb(r.v);if(!db(t)){const n={v:t,i:r.i,n:this.norm.get(t)};e.push(n)}}}r.$[t]=e}else if(cb(i)&&!db(i)){const e={v:i,n:this.norm.get(i)};r.$[t]=e}}return r}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function xb(e,t,{getFn:r=Ib.getFn,fieldNormWeight:n=Ib.fieldNormWeight}={}){const i=new Cb({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(vb)),i.setSources(t),i.create(),i}function kb(e,t,r,{location:n=Ib.location,distance:i=Ib.distance,threshold:a=Ib.threshold,findAllMatches:o=Ib.findAllMatches,minMatchCharLength:s=Ib.minMatchCharLength,includeMatches:c=Ib.includeMatches,ignoreLocation:l=Ib.ignoreLocation}={}){if(t.length>32)throw new Error("Pattern length exceeds max of 32.");const u=t.length,f=e.length,h=Math.max(0,Math.min(n,f));let d=a,p=h;const g=(e,t)=>{const r=e/u;if(l)return r;const n=Math.abs(h-t);return i?r+n/i:n?1:r},A=s>1||c,m=A?Array(f):[];let v;for(;(v=e.indexOf(t,p))>-1;){const e=g(0,v);if(d=Math.min(e,d),p=v+u,A){let e=0;for(;e<u;)m[v+e]=1,e+=1}}p=-1;let b=[],y=1,w=0,I=u+f;const E=1<<u-1;for(let t=0;t<u;t+=1){let n=0,i=I;for(;n<i;)g(t,h+i)<=d?n=i:I=i,i=Math.floor((I-n)/2+n);I=i;let a=Math.max(1,h-i+1);const s=o?f:Math.min(h+i,f)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let n=s;n>=a;n-=1){const i=n-1,o=r[e[i]];if(c[n]=(c[n+1]<<1|1)&o,t&&(c[n]|=(b[n+1]|b[n])<<1|1|b[n+1]),c[n]&E&&(y=g(t,i),y<=d)){if(d=y,p=i,w=t,p<=h)break;a=Math.max(1,2*h-p)}}if(g(t+1,h)>d)break;b=c}if(A&&p>=0){const t=Math.min(f-1,p+u-1+w);for(let n=p;n<=t;n+=1)r[e[n]]&&(m[n]=1)}const C={isMatch:p>=0,score:Math.max(.001,y)};if(A){const e=function(e=[],t=Ib.minMatchCharLength){const r=[];let n=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){const o=e[a];o&&-1===n?n=a:o||-1===n||(i=a-1,i-n+1>=t&&r.push([n,i]),n=-1)}return e[a-1]&&a-n>=t&&r.push([n,a-1]),r}(m,s);e.length?c&&(C.indices=e):C.isMatch=!1}return C}function Bb(e){const t={};for(let r=0,n=e.length;r<n;r+=1){const i=e.charAt(r);t[i]=(t[i]||0)|1<<n-r-1}return t}function Sb(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);const t=[e[0]];for(let r=1,n=e.length;r<n;r+=1){const n=t[t.length-1],i=e[r];i[0]<=n[1]+1?n[1]=Math.max(n[1],i[1]):t.push(i)}return t}const Db={"ł":"l","Ł":"L","đ":"d","Đ":"D","ø":"o","Ø":"O","ħ":"h","Ħ":"H","ŧ":"t","Ŧ":"T","ı":"i","ß":"ss"},Tb=new RegExp("["+Object.keys(Db).join("")+"]","g"),Fb="function"==typeof String.prototype.normalize?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(Tb,e=>Db[e]):e=>e;var _b=class{constructor(e,{location:t=Ib.location,threshold:r=Ib.threshold,distance:n=Ib.distance,includeMatches:i=Ib.includeMatches,findAllMatches:a=Ib.findAllMatches,minMatchCharLength:o=Ib.minMatchCharLength,isCaseSensitive:s=Ib.isCaseSensitive,ignoreDiacritics:c=Ib.ignoreDiacritics,ignoreLocation:l=Ib.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?Fb(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const u=(e,t)=>{this.chunks.push({pattern:e,alphabet:Bb(e),startIndex:t})},f=this.pattern.length;if(f>32){let e=0;const t=f%32,r=f-t;for(;e<r;)u(this.pattern.substr(e,32),e),e+=32;if(t){const e=f-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=r?Fb(e):e,this.pattern===e){if(e.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};const t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}const{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[];let f=0,h=!1;this.chunks.forEach(({pattern:t,alphabet:r,startIndex:d})=>{const{isMatch:p,score:g,indices:A}=kb(e,t,r,{location:i+d,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:n,ignoreLocation:l});p&&(h=!0),f+=g,p&&A&&u.push(...A)});const d={isMatch:h,score:h?f/this.chunks.length:1};return h&&n&&(d.indices=Sb(u)),d}};const Nb=new Set(["fuzzy","include"]);function Ob(e){return e.startsWith("inverse")}const Lb=[{type:"exact",multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:"exact",search(t){const r=t===e;return{isMatch:r,score:r?0:1,indices:[0,e.length-1]}}})},{type:"include",multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:"include",search(t){let r,n=0;const i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);const o=!!i.length;return{isMatch:o,score:o?0:1,indices:i}}})},{type:"prefix-exact",multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:"prefix-exact",search(t){const r=t.startsWith(e);return{isMatch:r,score:r?0:1,indices:[0,e.length-1]}}})},{type:"inverse-prefix-exact",multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:"inverse-prefix-exact",search(t){const r=!t.startsWith(e);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}})},{type:"inverse-suffix-exact",multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:"inverse-suffix-exact",search(t){const r=!t.endsWith(e);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}})},{type:"suffix-exact",multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:"suffix-exact",search(t){const r=t.endsWith(e);return{isMatch:r,score:r?0:1,indices:[t.length-e.length,t.length-1]}}})},{type:"inverse-exact",multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:"inverse-exact",search(t){const r=-1===t.indexOf(e);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}})},{type:"fuzzy",multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{const r=new _b(e,{location:t.location??Ib.location,threshold:t.threshold??Ib.threshold,distance:t.distance??Ib.distance,includeMatches:t.includeMatches??Ib.includeMatches,findAllMatches:t.findAllMatches??Ib.findAllMatches,minMatchCharLength:t.minMatchCharLength??Ib.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??Ib.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??Ib.ignoreDiacritics,ignoreLocation:t.ignoreLocation??Ib.ignoreLocation});return{type:"fuzzy",search:e=>r.searchIn(e)}}}],Mb=Lb.length;function Rb(e,t){const r=e.match(t);return r?r[1]:null}const Qb=[];function Pb(...e){Qb.push(...e)}function Ub(e,t){for(let r=0,n=Qb.length;r<n;r+=1){const n=Qb[r];if(n.condition(e,t))return new n(e,t)}return new _b(e,t)}const Hb="$and",jb="$or",qb="$path",Wb="$val",Gb=e=>!(!e[Hb]&&!e[jb]),Yb=e=>({[Hb]:Object.keys(e).map(t=>({[t]:e[t]}))});function zb(e,t,{auto:r=!0}={}){const n=e=>{if(cb(e)){const n={keyId:null,pattern:e};return r&&(n.searcher=Ub(e,t)),n}const i=Object.keys(e),a=(e=>!!e[qb])(e);if(!a&&i.length>1&&!Gb(e))return n(Yb(e));if((e=>!ob(e)&&fb(e)&&!Gb(e))(e)){const n=a?e[qb]:i[0],o=a?e[Wb]:e[n];if(!cb(o))throw new Error((e=>`Invalid value for key ${e}`)(n));const s={keyId:yb(n),pattern:o};return r&&(s.searcher=Ub(o,t)),s}const o={children:[],operator:i[0]};return i.forEach(t=>{const r=e[t];ob(r)&&r.forEach(e=>{o.children.push(n(e))})}),o};return Gb(e)||(e=Yb(e)),n(e)}function Vb(e,{ignoreFieldNorm:t=Ib.ignoreFieldNorm}){let r=1;return e.forEach(({key:e,norm:n,score:i})=>{const a=e?e.weight:null;r*=Math.pow(0===i&&a?Number.EPSILON:i,(a||1)*(t?1:n))}),r}var Jb=class{constructor(e,t){this.limit=e,this.heap=[],this.comparator=t}get size(){return this.heap.length}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):this.comparator(e,this.heap[0])<0&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(e){const t=this.heap;for(;e>0;){const r=e-1>>1;if(this.comparator(t[e],t[r])<=0)break;const n=t[e];t[e]=t[r],t[r]=n,e=r}}_sinkDown(e){const t=this.heap,r=t.length;let n=e;do{const i=2*(e=n)+1,a=2*e+2;if(i<r&&this.comparator(t[i],t[n])>0&&(n=i),a<r&&this.comparator(t[a],t[n])>0&&(n=a),n!==e){const r=t[e];t[e]=t[n],t[n]=r}}while(n!==e)}};function Kb(e,t,{includeMatches:r=Ib.includeMatches,includeScore:n=Ib.includeScore}={}){return e.map(e=>{const{idx:i}=e,a={item:t[i],refIndex:i};return r&&(a.matches=function(e){const t=[];return e.matches.forEach(e=>{if(!hb(e.indices)||!e.indices.length)return;const r={indices:e.indices,value:e.value};e.key&&(r.key=e.key.id),e.idx>-1&&(r.refIndex=e.idx),t.push(r)}),t}(e)),n&&(a.score=e.score),a})}const Xb=/[\p{L}\p{M}\p{N}_]+/gu,Zb=new WeakSet;function $b(e){if("function"==typeof e){let t=!1;return r=>{const n=e(r);if(!t&&(t=!0,!Array.isArray(n)||n.some(e=>"string"!=typeof e)))throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(n)?"array containing non-strings":typeof n}.`);return n}}return e instanceof RegExp?(e.global||function(e){Zb.has(e)||(Zb.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}(e),t=>t.match(e)||[]):e=>e.match(Xb)||[]}function ey({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:r}={}){const n=$b(r);return{tokenize:r=>(e||(r=r.toLowerCase()),t&&(r=Fb(r)),n(r))}}function ty(e,t,r,n){const i=n.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(r,(e.docFieldCount.get(r)||0)+1);const a=new Set(i);let o=e.docTermFieldHits.get(r);o||(o=new Map,e.docTermFieldHits.set(r,o));for(const t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function ry(e,t,r,n){const{i:i,v:a,$:o}=t;if(void 0===a){if(o)for(let t=0;t<r;t++){const r=o[t];if(r)if(Array.isArray(r))for(const t of r)ty(e,t.v,i,n);else ty(e,r.v,i,n)}}else ty(e,a,i,n)}function ny(e,t){const r=e.docFieldCount.get(t);if(void 0===r)return;e.fieldCount-=r,e.docFieldCount.delete(t);const n=e.docTermFieldHits.get(t);if(n){for(const[t,r]of n){const n=(e.df.get(t)||0)-r;n<=0?e.df.delete(t):e.df.set(t,n)}e.docTermFieldHits.delete(t)}}function iy(e,t){if(0===t.length)return;const r=Array.from(new Set(t)).sort((e,t)=>e-t);for(const t of r)ny(e,t);const n=e=>{let t=0,n=r.length;for(;t<n;){const i=t+n>>>1;r[i]<e?t=i+1:n=i}return e-t},i=r[0],a=new Map;for(const[t,r]of e.docFieldCount)a.set(t>i?n(t):t,r);e.docFieldCount=a;const o=new Map;for(const[t,r]of e.docTermFieldHits)o.set(t>i?n(t):t,r);e.docTermFieldHits=o}var ay=class{constructor(e,t,r){this.options={...Ib,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new mb(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,r),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;const t=Ub(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Cb))throw new Error("Incorrect 'index' type");if(this._myIndex=t||xb(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const e=ey({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=function(e,t,r){const n={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(const i of e)ry(n,i,t,r);return n}(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!hb(e))return;this._docs.push(e);const t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){const e=ey({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});!function(e,t,r,n){ry(e,t,r,n)}(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){const t=[],r=[];for(let n=0,i=this._docs.length;n<i;n+=1)e(this._docs[n],n)&&(t.push(this._docs[n]),r.push(n));if(r.length){this._invertedIndex&&iy(this._invertedIndex,r);const e=new Set(r);this._docs=this._docs.filter((t,r)=>!e.has(r)),this._myIndex.removeAll(r),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw new Error(gb);this._invertedIndex&&iy(this._invertedIndex,[e]);const t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(e=>this._keyStore.get(e.id)||e)}search(e,t){const{limit:r=-1}=t||{},{includeMatches:n,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(cb(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return lb(r)&&r>-1&&(e=e.slice(0,r)),e}const c=a&&lb(r)&&r>0&&cb(e),l=o,u=(e,t)=>l(e,t)||e.idx-t.idx;let f;if(c){const t=new Jb(r,u);cb(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),f=t.extractSorted()}else f=cb(e)?cb(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),function(e,{ignoreFieldNorm:t=Ib.ignoreFieldNorm}){e.forEach(e=>{e.score=Vb(e.matches,{ignoreFieldNorm:t})})}(f,{ignoreFieldNorm:s}),a&&f.sort(cb(e)?u:l),lb(r)&&r>-1&&(f=f.slice(0,r));return Kb(f,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:r}={}){const n=this._getSearcher(e),i=this.options.useTokenSearch&&"all"===this.options.tokenMatch,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!hb(e))return;const c=n.searchIn(e);if(c.isMatch){const n={score:c.score,value:e,norm:s,indices:c.indices};i&&(n.matchedMask=c.matchedMask,n.matchedTerms=c.matchedTerms,n.termCount=c.termCount);const l=[n];if(!i||this._coversAllTokens(l)){const n={item:e,idx:a,matches:l};t?(n.score=Vb(n.matches,{ignoreFieldNorm:r}),t.insert(n)):o.push(n)}}}),o}_searchLogical(e){const t=zb(e,this.options),r=this._normalizedKeys(),n=(e,t,i)=>{if(!("children"in e)){const{keyId:n,searcher:a}=e;let o;return null===n?(o=[],r.forEach((e,r)=>{o.push(...this._findMatches({key:e,value:t[r],searcher:a}))})):o=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:a}),o&&o.length?[{idx:i,item:t,matches:o}]:[]}const{children:a,operator:o}=e,s=[];for(let e=0,r=a.length;e<r;e+=1){const r=a[e],c=n(r,t,i);if(c.length)s.push(...c);else if(o===Hb)return[]}return s},i=this._myIndex.records,a=new Map,o=[];return i.forEach(({$:e,i:r})=>{if(hb(e)){const i=n(t,e,r);i.length&&(a.has(r)||(a.set(r,{idx:r,item:e,matches:[]}),o.push(a.get(r))),i.forEach(({matches:e})=>{a.get(r).matches.push(...e)}))}}),o}_searchObjectList(e,{heap:t,ignoreFieldNorm:r}={}){const n=this._getSearcher(e),i=this.options.useTokenSearch&&"all"===this.options.tokenMatch,{records:a}=this._myIndex,o=this._normalizedKeys(),s=t?null:[];return a.forEach(({$:e,i:a})=>{if(!hb(e))return;const c=[];let l=!1,u=!1;if(o.forEach((t,r)=>{const i=this._findMatches({key:t,value:e[r],searcher:n});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),(!u||!l)&&c.length&&(!i||this._coversAllTokens(c))){const n={idx:a,item:e,matches:c};t?(n.score=Vb(n.matches,{ignoreFieldNorm:r}),t.insert(n)):s.push(n)}}),s}_findMatches({key:e,value:t,searcher:r}){if(!hb(t))return[];const n=[];if(ob(t))t.forEach(({v:t,i:i,n:a})=>{if(!hb(t))return;const o=r.searchIn(t);if(o.isMatch){const r={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};void 0!==o.termCount&&(r.matchedMask=o.matchedMask,r.matchedTerms=o.matchedTerms,r.termCount=o.termCount),n.push(r)}});else{const{v:i,n:a}=t,o=r.searchIn(i);if(o.isMatch){const t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};void 0!==o.termCount&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),n.push(t)}}return n}_coversAllTokens(e){const t=e.length?e[0].termCount:void 0;if(void 0===t)return!0;if(t<=31){let r=0;for(let t=0;t<e.length;t++)r|=e[t].matchedMask||0;return r===2**t-1}const r=new Set;for(let t=0;t<e.length;t++){const n=e[t].matchedTerms;if(n)for(const e of n)r.add(e)}return r.size===t}};ay.version="7.5.0",ay.createIndex=xb,ay.parseIndex=function(e,{getFn:t=Ib.getFn,fieldNormWeight:r=Ib.fieldNormWeight}={}){const{keys:n,records:i}=e,a=new Cb({getFn:t,fieldNormWeight:r});return a.setKeys(n),a.setIndexRecords(i),a},ay.config=Ib,ay.match=function(e,t,r){if(r&&r.useTokenSearch)throw new Error("Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.");return Ub(e,{...Ib,...r}).searchIn(t)},ay.parseQuery=zb,Pb(class{constructor(e,{isCaseSensitive:t=Ib.isCaseSensitive,ignoreDiacritics:r=Ib.ignoreDiacritics,includeMatches:n=Ib.includeMatches,minMatchCharLength:i=Ib.minMatchCharLength,ignoreLocation:a=Ib.ignoreLocation,findAllMatches:o=Ib.findAllMatches,location:s=Ib.location,threshold:c=Ib.threshold,distance:l=Ib.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=r?Fb(e):e,this.pattern=e,this.query=function(e,t={}){return e.replace(/\\\|/g,"\0").split("|").map(e=>{const r=function(e){const t=[],r=e.length;let n=0;for(;n<r;){for(;n<r&&" "===e[n];)n++;if(n>=r)break;let i=n;for(;i<r&&" "!==e[i]&&'"'!==e[i];)i++;if(i<r&&'"'===e[i]){for(i++;i<r;){if('"'===e[i]){const t=i+1;if(t>=r||" "===e[t]){i++;break}if("$"===e[t]&&(t+1>=r||" "===e[t+1])){i+=2;break}}i++}t.push(e.substring(n,i)),n=i}else{for(;i<r&&" "!==e[i];)i++;t.push(e.substring(n,i)),n=i}}return t}(e.replace(/\u0000/g,"|").trim()).filter(e=>e&&!!e.trim()),n=[];for(let e=0,i=r.length;e<i;e+=1){const i=r[e];let a=!1,o=-1;for(;!a&&++o<Mb;){const e=Lb[o],r=Rb(i,e.multiRegex);r&&(n.push(e.create(r,t)),a=!0)}if(!a)for(o=-1;++o<Mb;){const e=Lb[o],r=Rb(i,e.singleRegex);if(r){n.push(e.create(r,t));break}}}return n})}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:r,isCaseSensitive:n,ignoreDiacritics:i}=this.options;e=n?e:e.toLowerCase(),e=i?Fb(e):e;let a=0;const o=[];let s=0,c=!1;for(let n=0,i=t.length;n<i;n+=1){const i=t[n];o.length=0,a=0,c=!1;for(let t=0,n=i.length;t<n;t+=1){const n=i[t],{isMatch:l,indices:u,score:f}=n.search(e);if(!l){s=0,a=0,o.length=0,c=!1;break}a+=1,s+=f,Ob(n.type)&&(c=!0),r&&(Nb.has(n.type)?o.push(...u):o.push(u))}if(a){const e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),r&&(e.indices=Sb(o)),e}}return{isMatch:!1,score:1}}}),Pb(class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=ey({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});const r=this.analyzer.tokenize(e),{df:n,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(const e of r){this.termSearchers.push(new _b(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));const r=n.get(e)||0,a=Math.log(1+(i-r+.5)/(r+.5));this.idfWeights.push(a)}this.combineAll="all"===t.tokenMatch,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};const t=[];let r=0,n=0,i=0,a=0;const o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s<this.termSearchers.length;s++){const c=this.termSearchers[s].searchIn(e),l=this.idfWeights[s];n+=l,c.isMatch&&(i++,r+=l*(1-c.score),c.indices&&t.push(...c.indices),this.combineAll&&(this.useMask?a|=1<<s:o.add(s)))}if(0===i)return{isMatch:!1,score:1};const s=n>0?1-r/n:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=Sb(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}}),ay.use=function(...e){e.forEach(e=>Pb(e))};var oy=ay;function sy(e){return function(e,t){var r=null==e?0:e.length;return r?xo(e,t)/r:NaN}(e,lr)}function cy(e){if(!ke(e))return{};let{results:t,binarys:r}=e;if(!De(t))return{};if(!Be(r))return{};let n={};try{n=JSON.parse(t,function(e,t){if(De(t)){if(t.indexOf("[Uint8Array]::")>=0){let e=$i(t.replace("[Uint8Array]::",""));return r[e]}if(t.indexOf("[Uint16Array]::")>=0){let e=$i(t.replace("[Uint16Array]::",""));return r[e]}if(t.indexOf("[ArrayBuffer]::")>=0){let e=$i(t.replace("[ArrayBuffer]::",""));return r[e]}}return t})}catch(e){}return n}function ly(e,t=null){if(!wo(r))throw new Error("invalid dayjs");if(!mv(e))return{today:null,msg:"",err:"時間格式錯誤"};let n=r();mv(t)&&(n=r(t,"YYYY-MM-DDTHH:mm:ss.SSSZ"));let i=r(e,"YYYY-MM-DDTHH:mm:ss.SSSZ");if(n>i)return{today:null,msg:"",err:"時間已過"};let a,o=n.format("YYYY-MM-DD"),s=i.format("YYYY-MM-DD"),c=r(o,"YYYY-MM-DD"),l=r(s,"YYYY-MM-DD"),u=i.diff(n,"seconds"),f=i.diff(n,"minutes"),h=i.diff(n,"hours"),d=l.diff(c,"days"),p=l.diff(c,"weeks"),g=l.diff(c,"months"),A=l.diff(c,"years"),m="即將到來";if(u>=0&&(a=!0,m=u+"秒後"),f>0&&(a=!0,m=f+"分鐘後"),h>0){let e=i.format("HH:mm");o===s?(a=!0,m=h+"小時後,今天"+e):(a=!1,m=h+"小時後,明天"+e)}return d>1&&(a=!1,m=2===d?"後天":d+"天後"),p>0&&(a=!1,m=p+"周後"),g>0&&(a=!1,m=g+"個月後"),A>0&&(a=!1,m=A+"年後"),{today:a,msg:m,err:""}}function uy(e,t=null){if(!wo(r))throw new Error("invalid dayjs");if(!mv(e))return{today:null,msg:"",err:"時間格式錯誤"};let n=r();mv(t)&&(n=r(t,"YYYY-MM-DDTHH:mm:ss.SSSZ"));let i=r(e,"YYYY-MM-DDTHH:mm:ss.SSSZ");if(n<i)return{today:null,msg:"",err:"時間未到"};let a=n.format("YYYY-MM-DD"),o=i.format("YYYY-MM-DD"),s=r(a,"YYYY-MM-DD"),c=r(o,"YYYY-MM-DD"),l=n.diff(i,"seconds"),u=n.diff(i,"minutes"),f=n.diff(i,"hours"),h=s.diff(c,"days"),d=s.diff(c,"weeks"),p=s.diff(c,"months"),g=s.diff(c,"years"),A=!1,m="剛剛";if(l>=0&&(A=!0,m=l+"秒前"),u>0&&(A=!0,m=u+"分鐘前"),f>0){let e=i.format("HH:mm");a===o?(A=!0,m=f+"小時前"):(A=!1,m="昨天"+e)}return h>1&&(A=!1,m=h+"天前"),d>0&&(A=!1,m=d+"周前"),p>0&&(A=!1,m=p+"個月前"),g>0&&(A=!1,m=g+"年前"),{today:A,msg:m,err:""}}function fy(e){let t=Av.sepTZ(e);return`${t.t}.000${t.tz}`}function hy(e){let t=Av.sepTZ(e);return`${t.t}.000${t.tz}`}function dy(e){if(!es(e))return"";let t;try{t=Xo(Dv(e))}catch(e){return""}return t}e.ab2blob=function(e){let t=w(e);return new Blob([t])},e.ab2u8arr=w,e.addExcelWorksheetFromData=function(e,t,r="data"){if(!ke(e))return{error:"wb is not an effective object"};if(!Be(Ce(e,"SheetNames")))return{error:"wb.SheetNames is not an array"};if(!xe(Ce(e,"Sheets")))return{error:"wb.Sheets is not an object"};let n=In(t);return Ne(n,"error")?n:(e.SheetNames.push(r),e.Sheets[r]=n,e)},e.addMonth=function(e,t){return En(e)&&Mn(t)?r(e,"YYYY-MM").add(t,"months").format("YYYY-MM"):""},e.aes2str=li,e.alive=function(e={}){let t=Vi(),r={},n=null,i=Ce(e,"timeAlive");ea(i)||(i=1e4),i=$i(i);let a=Ce(e,"timeDetect");return ea(a)||(a=50),a=$i(a),t.trigger=function(e,o){De(e)?(Ne(r,e)||setTimeout(()=>{t.emit("message",{eventName:"enter",key:e,data:o,now:dn(r)})},1),r[e]={data:o,time:Date.now()},null===n&&(n=setInterval(()=>{xr(r,(e,n)=>{if(Date.now()-e.time>i){let e=Gi(r[n]);delete r[n],t.emit("message",{eventName:"leave",key:n,data:e.data,now:dn(r)})}}),ke(r)||(clearInterval(n),n=null)},a))):console.log("trigger need key")},t.get=function(){let e=[];return xr(r,(t,r)=>{e.push({key:r,data:t.data})}),e=Gi(e),e},t},e.arr2dt=function(e,t=""){if(!Pr(e))return{};if(Pr(t))return dn(e)===dn(t)?ta(e,t):{};let r=[];for(let n=0;n<dn(e);n++)r.push(Gi(t));return ta(e,r)},e.arrAccum=function(e){if(!Pr(e))return[];let t=[],r=0;return xr(e,function(e){r+=Ln(e),_e(e)?t.push(r):t.push("")}),t},e.arrAdd=function(){if(dn(arguments)<2)return[];let e=arguments[0];for(let t=1;t<dn(arguments);t++)e=ra(e,arguments[t]);return e},e.arrAt=Ca,e.arrDiff=oo,e.arrFilterByKeywords=function(e,t){if(!Pr(e))return[];if(!De(t)&&!Pr(t))return[];let r=null;r=De(t)?lo(t," "):t;let n=dn(r);return Br(e,e=>function(e){let t=!1,i=0;for(let a=0;a<n;a++){let o=r[a],s=o,c="+"===uo(o,1),l="-"===uo(o,1);if((c||l)&&(s=ho(o,1)),""===so(s))continue;let u=e.indexOf(s)>=0;if(c){if(u){t=!0,i=1;break}t=!1,i=0;break}if(l){if(u){t=!1,i=0;break}t=!0,i=1;break}if(u){t=!0;let e=1-a/n;e=e**2,i+=e}}return{hasKeyword:t,weight:i}}(e))},e.arrFilterByNum=function(e){return Pr(e)?e=Br(e=go(e=Gi(e),_e),Ln):[]},e.arrFilterByPnum=mo,e.arrFilterByPnumAndToLog=function(e){return Pr(e)?e=Br(e=mo(e),Math.log):[]},e.arrFind=function(e,t){function r(e){return Be(e)?e:[e]}return Qr(e)||0===(e=r(e)).length||Qr(t)?[]:Br(t=r(t),function(t){let r=-1;for(let n=0;n<e.length;n++)if(vo(e[n],t)){r=n;break}return r})},e.arrGroupByMaxmin=function(e,t,r={}){let n=Ce(r,"keyMax");De(n)||(n="max");let i=Ce(r,"keyMin");De(i)||(i="min");let a=Ce(r,"keyValue");De(a)||(a="value");let o=Ce(r,"keyItems");if(De(o)||(o="items"),!Pr(e))return[];if(!Pr(t))return[];let s=Gi(t);return xr(e,(e,r)=>{let c=Ce(e,a);_e(c)?c=Ln(c):_e(e)&&(c=Ln(e)),bo(c)&&xr(t,(t,r)=>{let a=Ce(t,n,null),l=Ce(t,i,null);if(null!==a&&null!==l&&_e(a)&&_e(l)){let n=Ce(t,"maxType");"<="!==n&&"<"!==n&&(n="<=");let i,u,f=Ce(t,"minType");">="!==f&&">"!==f&&(f=">="),a=Ln(a),l=Ln(l),i=">="===f?c>=l:c>l,u="<="===n?c<=a:c<a,i&&u&&(Ne(s[r],o)||(s[r][o]=[]),s[r][o].push(e))}})}),s},e.arrHas=yo,e.arrInsert=function(e,t,r){if(!Be(e))return[];if(Be(r)||(r=[r]),!Ia(t))return e;if((t=$i(t))>dn(e))return e;let n=e;try{n=[...e.slice(0,t),...r,...e.slice(t)]}catch(e){}return n},e.arrLookupByMaxmin=function(e,t,r={}){let n=Ce(r,"keyMax");De(n)||(n="max");let i=Ce(r,"keyMin");De(i)||(i="min");let a=Ce(r,"keyValue");De(a)||(a="value");let o=Ce(r,"keyItems");De(o)||(o="items");let s=Ce(r,"beforeAddResult",null);if(!Pr(e))return[];if(!Pr(t))return[];if(!ke(Ce(e,0)))return[];let c=Gi(e);return xr(c,(e,r)=>{let l=Ce(e,a);_e(l)&&(l=Ln(l)),bo(l)&&xr(t,(e,t)=>{let a=Ce(e,n,null),u=Ce(e,i,null);if(null!==a&&null!==u&&_e(a)&&_e(u)){let t=Ce(e,"maxType");"<="!==t&&"<"!==t&&(t="<=");let n,i,f=Ce(e,"minType");">="!==f&&">"!==f&&(f=">="),a=Ln(a),u=Ln(u),n=">="===f?l>=u:l>u,i="<="===t?l<=a:l<a,n&&i&&(wo(s)&&(e=s(e,c[r],r)),Ne(c[r],o)||(c[r][o]=[]),c[r][o].push(e))}})}),c},e.arrMax=function(e,t={}){if(!Pr(e))return null;let r=Ce(t,"returnIndex");gn(r)||(r=!1);let n=Ce(t,"compareKey",null),i=e;De(n)&&(i=Br(e,(e,t)=>Ce(e,n,"")));let a=null,o=Io(i,(e,t)=>_e(t)?(t=Ln(t),null===e?(a=t,t):(e=Math.max(e,t),a=e,e)):e,{returnIndex:!0});if(r)return o;let s=null;return o>=0&&(s=De(n)?e[o]:a),s},e.arrMin=function(e,t={}){if(!Pr(e))return null;let r=Ce(t,"returnIndex");gn(r)||(r=!1);let n=Ce(t,"compareKey",null),i=e;De(n)&&(i=Br(e,(e,t)=>Ce(e,n,"")));let a=null,o=Io(i,(e,t)=>_e(t)?(t=Ln(t),null===e?(a=t,t):(e=Math.min(e,t),a=e,e)):e,{returnIndex:!0});if(r)return o;let s=null;return o>=0&&(s=De(n)?e[o]:a),s},e.arrMulti=Co,e.arrNorm=function(e){if(!Pr(e))return null;let t=ko(e,e);return _e(t)?t<=0?null:Math.sqrt(t):null},e.arrProduct=ko,e.arrPull=function(e,t){if(!Pr(e))return[];if((xe(t)||_e(t)||Se(t)||gn(t))&&(t=[t]),!Pr(t))return e;let r=Gi(e);return Do(r,t),r},e.arrPullAt=function(e,t){if(!Pr(e))return[];if(Ia(t)&&(t=[t]),!Pr(t))return e;t=Br(t,e=>$i(e));let r=Gi(e);return Lo(r,t),r},e.arrReduce=Io,e.arrReverse=function(e){if(!Pr(e))return[];let t=Gi(e);return Ro(t),t},e.arrSep=function(e,t){if(!Pr(e))return[];if(!ea(t)&&!ke(t))return[];let r="",n=null;if(ea(t))n=t,r="numCount";else if(ke(t))if(ea(Ce(t,"numCount")))n=t.numCount,r="numCount";else{if(!ea(Ce(t,"numGroup")))throw new Error("invalid opt.numCount or opt.numGroup");n=t.numGroup,r="numGroup"}let i=dn(e),a=[];if("numCount"===r)for(let t=0;t<i;t+=n){let r=[];for(let a=0;a<n;a++){let n=t+a;n<i&&r.push(e[n])}a.push(r)}else if("numGroup"===r){for(let e=0;e<n;e++)a[e]=[];let t=-1;for(let r=0;r<i;r++)t++,t>n-1&&(t=0),a[t].push(e[r])}return a},e.arrSort=Ko,e.asind=function(e){return _e(e)?(e=Ln(e),180*Math.asin(e)/Math.PI):null},e.atan2d=function(e,t){return _e(e)?(e=Ln(e),_e(t)?(t=Ln(t),180*Math.atan2(t,e)/Math.PI):null):null},e.atand=function(e){return _e(e)?(e=Ln(e),180*Math.atan(e)/Math.PI):null},e.attstr=function(e={}){let t=";",r="@",n="table",i="id",a=Ce(e,"uniqItems");gn(a)||(a=!1);let o=Ce(e,"dlmItem","");De(o)&&(t=o);let s=Ce(e,"dlmSep","");De(s)&&(r=s);let c=Ce(e,"keyTable","");De(c)&&(n=c);let l=Ce(e,"keyId","");De(l)&&(i=l);let u=Ce(e,"mode");function f(e){if(!De(e))return[];let r=Wa(e,t);return a&&(r=Vr(r)),r}function h(e){return Pr(e)?(a&&(e=Vr(e)),ka(e,t)):""}function d(e){return e=go(e,De),a&&(e=Vr(e)),h(e)}function p(e){let t=[];return xr(e,e=>{let a=Ce(e,n,""),o=Ce(e,i,"");if(De(a),Se(o)||(Be(o)?dn(o):o=""),Se(o))t.push(`${a}${r}${o}`);else if(Be(o)){let e=ka(o,r);t.push(`${a}${r}${e}`)}}),h(t)}function g(e){return De(e)?go(f(e),De):[]}function A(e){if(!De(e))return[];let t=f(e),a=[];return xr(t,e=>{let t=Wa(e,r),o=Ce(t,0,""),s=Ce(t,1,"");dn(t)>=3&&(t=qo(t),s=t),a.push({item:e,[n]:o,[i]:s})}),a}function m(e,t){let r=[...g(e),...g(t)];return 0===dn(r)?"":d(r)}function v(e,t){let r=[...A(e),...A(t)];return 0===dn(r)?"":p(r)}function b(e,t){let r=g(e),n=g(t),i=[];return xr(r,e=>{yo(e,n)||i.push(e)}),0===dn(i)?"":d(i)}function y(e,t){let r=A(e),n=A(t),i=[];return xr(r,e=>{yo(e,n)||i.push(e)}),0===dn(i)?"":p(i)}"1p"!==u&&"2p"!==u&&(u="auto");let w={parse:function(e,t={}){if(!De(e))return[];let n=Ce(t,"mode");return"1p"!==n&&"2p"!==n&&(n=u),"1p"===n?g(e):"2p"===n||e.indexOf(r)>=0?A(e):g(e)},join:function(e,t={}){if(!Pr(e))return"";let r=Ce(t,"mode");if("1p"!==r&&"2p"!==r&&(r=u),"1p"===r)return d(e);if("2p"===r)return p(e);let a=Ce(e,0);return Ne(a,n)&&Ne(a,i)?p(e):d(e)},remove:function(e,t,n={}){if(!De(e))return"";if(!De(t))return e;let i=Ce(n,"mode");return"1p"!==i&&"2p"!==i&&(i=u),"1p"===i?b(e,t):"2p"===i||t.indexOf(r)>=0?y(e,t):b(e,t)},add:function(e,t,n={}){let i=Ce(n,"mode");if("1p"!==i&&"2p"!==i&&(i=u),"1p"===i)return m(e,t);if("2p"===i)return v(e,t);let a=e.indexOf(r)>=0,o=t.indexOf(r)>=0;return a||o?v(e,t):m(e,t)}};return w},e.b642obj=function(e){if(!Se(e))return{};let t={};try{t=Zo(Xo(e))}catch(e){t={}}return t},e.b642str=Xo,e.b642u16arr=rs,e.b642u8arr=$o,e.binstr=ns,e.blob2ab=as,e.blob2b64=os,e.blob2str=function(e){let t=is(),r=new FileReader;return r.onload=function(){t.resolve(r.result)},r.onerror=function(e){t.reject(e)},r.readAsText(e),t},e.blob2u8arr=ss,e.blobs2b64s=cs,e.blobs2u8arrs=ls,e.bodyLog=function(){let e=`\n <div style="padding:5px; font-size:10pt; font-family:Microsoft JhengHei, Helvetica;">\n <span style="color:#f26;">log: </span>\n <code>${hs(Br(arguments,function(e){return An(e)}).join(", "))}</code>\n </div>\n `;document.querySelector("body").insertAdjacentHTML("beforeend",e)},e.browserView=ds,e.browserViewFromBlob=function(e,t){ps(e)&&ds(e,t)},e.browserViewFromText=function(e){Se(e)&&ds(e,"text/plain")},e.browserViewFromU8arr=function(e,t){es(e)&&ds(e,t)},e.bs2u8arr=gs,e.bufRead=As,e.bufReadDbl=ms,e.bufWrite=vs,e.bufWriteDbl=bs,e.cache=function(){let e=Vi(),t={};function r(t,r){setTimeout(()=>{e.emit(t,r)},1)}function n(e,n={}){if(Ne(t,e))return;let i=Ce(n,"fun");wo(i)||(i=async()=>{});let a=Ce(n,"inputs");Be(a)||(a=[]);let o=Ce(n,"timeExpired");ea(o)||(o=5e3),o=$i(o),t[e]={needExec:!0,fun:i,running:!1,inputs:a,value:null,time:null,timeExpired:o},r("message",{fun:"set",key:e,timeExpired:o})}async function i(e){if(Ne(t,e)){let n;r("message",{fun:"get",key:e,msg:"waiting"}),await ws(()=>!t[e].running,{timeInterval:1e3});let i=Date.now();n=t[e].needExec;let a=i-t[e].time;return n?r("message",{fun:"get",key:e,msg:"execute first"}):t[e].timeExpired>0&&a>t[e].timeExpired&&(r("message",{fun:"get",key:e,msg:"execute by timeExpired",timeDiff:a}),n=!0),n?(r("message",{fun:"get",key:e,msg:"fun start"}),t[e].running=!0,t[e].value=await t[e].fun(...t[e].inputs).catch(t=>{r("error",{fun:"get",key:e,msg:t})}),t[e].needExec=!1,t[e].time=i,t[e].running=!1,r("message",{fun:"get",key:e,msg:"fun end"})):r("message",{fun:"get",key:e,msg:"use cache"}),Gi(t[e].value)}return r("error",{fun:"get",key:e,msg:"invalid key"}),null}return e.set=n,e.getProxy=async function(e,t={}){return n(e,t),i(e)},e.get=i,e.update=function(e,n){Ne(t,e)&&(r("message",{fun:"updateValue",key:e}),t[e].value=n,t[e].time=Date.now())},e.clear=function(e){Ne(t,e)&&(r("message",{fun:"clear",key:e}),t[e].needExec=!0)},e.remove=function(e){Ne(t,e)&&(r("message",{fun:"remove",key:e}),delete t[e])},e},e.cacheBd=function(e,t={}){let r=Ce(t,"nMax");ea(r)||(r=200),r=$i(r);let n=Ce(t,"nTrigger");ea(n)||(n=3),n=$i(n);let i=null,a=!1,o=async(...t)=>(a=!0,i=await e(...t),a=!1,i);return{get:o,getFromCache:async(...e)=>{for(let t=1;t<=r&&(t>n&&!a&&await o(...e).catch(()=>{}),null===i);t++)await Is(1e3);if(null===i)throw new Error(`exceeded nMax[${r}]`);return i}}},e.cacheSt=function(e={}){let t=Ce(e,"timeExpire",null);ea(t)||(t=18e5),t=$i(t);let r=Ce(e,"timeDetect",null);ea(r)||(r=2e3),r=$i(r);let n=Vi(),i={},a=e=>{if(Ne(i,e)){let t=`checkWithSet: key in use: ${e}`;return n.emit("checkWithSet",{state:"error",msg:t}),!1}i[e]={time:Date.now(),value:!0};let t=`checkWithSet: ${e}`;return n.emit("checkWithSet",{state:"success",msg:t}),!0},o=setInterval(()=>{n.emit("detect",{state:"start"});let e=Date.now();for(let r of Object.keys(i)){let n=i[r];n&&e-n.time>t&&delete i[r]}n.emit("detect",{state:"finish"})},r);return n.checkWithSet=a,n.setWithFree=async(e,t)=>{n.emit("setWithFree",{state:"start"});let r=[];for(let t of e){if(!a(t)){for(let e of r)delete i[e];let e=`setWithFree: key in use: ${t}`;return n.emit("setWithFree",{state:"error",msg:e}),Promise.reject(e)}r.push(t)}try{let r=await t(),i=`setWithFree: ${e.join(", ")}`;return n.emit("setWithFree",{state:"success",msg:i}),r}catch(e){let t=`setWithFree: fn threw: ${e&&e.message||e}`;throw n.emit("setWithFree",{state:"error",msg:t}),e}finally{for(let e of r)delete i[e]}},n.set=async(e,t=!0)=>{i[e]={time:Date.now(),value:t};let r=`set: ${e}`;n.emit("set",{state:"success",msg:r})},n.get=async e=>{let t=i[e],r=void 0===t?null:t.value,a=`get: ${e}`;return n.emit("get",{state:"success",msg:a}),r},n.check=async e=>{let t=Ne(i,e),r=`check: ${e} = ${t}`;return n.emit("check",{state:"success",msg:r}),t},n.del=async e=>{delete i[e];let t=`del: ${e}`;n.emit("del",{state:"success",msg:t})},n.waitExist=async(e,t={})=>{let r=Ce(t,"attemptNum",null);ea(r)||(r=30),r=$i(r);let a=Ce(t,"timeInterval",null);ea(a)||(a=100),a=$i(a),n.emit("waitExist",{state:"start"});try{await ws(()=>Ne(i,e),{attemptNum:r,timeInterval:a})}catch(t){let i=`waitExist timeout (${r*a}ms): ${e}`;return n.emit("waitExist",{state:"error",msg:i}),Promise.reject(i)}let o=`waitExist resolved: ${e}`;n.emit("waitExist",{state:"success",msg:o})},n.waitNotExist=async(e,t={})=>{let r=Ce(t,"attemptNum",null);ea(r)||(r=30),r=$i(r);let a=Ce(t,"timeInterval",null);ea(a)||(a=100),a=$i(a),n.emit("waitNotExist",{state:"start"});try{await ws(()=>!Ne(i,e),{attemptNum:r,timeInterval:a})}catch(t){let i=`waitNotExist timeout (${r*a}ms): ${e}`;return n.emit("waitNotExist",{state:"error",msg:i}),Promise.reject(i)}let o=`waitNotExist resolved: ${e}`;n.emit("waitNotExist",{state:"success",msg:o})},n.clear=()=>{clearInterval(o)},n},e.cbol=function(e){if(gn(e))return e;if(0===e)return!1;if(1===e)return!0;let t=!1;return De(e)&&"true"===(e=Es(so(e)))&&(t=!0),t},e.cdbl=Ln,e.ceil=ol,e.cfilesize=function(e){return _e(e)?(e=Ln(e))<1024?sl(e,1)+" b":e<1048576?sl(e/1024,1)+" kb":e<1073741824?sl(e/1024/1024,1)+" mb":e<1099511627776?sl(e/1024/1024/1024,1)+" gb":"":""},e.cfinancial=function(e,t=0){if(!_e(e))return"";if(!Ia(t))return"";let r=(e=sl(e,t)).split("."),n=r[0],i=r.length>1?"."+r[1]:"",a=/(\d+)(\d{3})/;for(;a.test(n);)n=n.replace(a,"$1,$2");return n+i},e.cint=$i,e.clearXSS=cl,e.clearXSSDyn=async function(e,t={},r){return Pr(r)||(r=["https://cdn.jsdelivr.net/npm/xss@1.0.15/dist/xss.min.js"]),await dl(r),cl(e)},e.color=bu,e.composeToTree=Cu,e.convertToTree=function(e,t={}){if(!ke(e)&&!Pr(e))return[];let r=Ce(t,"bindKey",null);De(r)||(r="id");let n=Ce(t,"bindParent",null);De(n)||(n="parentId");let i=Ce(t,"bindText",null);De(i)||(i="text");let a=Ce(t,"bindChildren",null);De(a)||(a="children");let o=Ce(t,"bindType",null);De(o)||(o="type");let s=Ce(t,"bindNumOfChilren",null);De(s)||(s="numOfChilren");let c=Ce(t,"bindRoot",null);De(c)||(c="root");let l=Ce(t,"saveExtProps",null);return gn(l)||(l=!1),De(c)&&(e={[c]:e}),Cu(ku(e,{bindKey:r,bindParent:n,bindText:i,bindType:o,bindNumOfChilren:s}),{bindKey:r,bindParent:n,bindChildren:a,saveExtProps:l})},e.copyStrToClipboard=function(e,t={}){if(!Se(e))return"invalid input";let r=Ce(t,"eleParent");Ir(r)||(r=document.body);let n=document.createElement("textarea");if(n.style.position="fixed",n.style.left=0,n.style.top=0,n.style.zIndex=-1,n.style.background="transparent",n.style.color="transparent",n.value=e,r.appendChild(n),n.select(),!Bu(n))return"ele can not be focusd";try{document.execCommand("copy")}catch(e){return"can not copy str to clipboard"}return r.removeChild(n),""},e.cosd=Su,e.cotd=function(e){return _e(e)?1/Du(e=Ln(e)):null},e.createExcelWorkbook=Tu,e.cscd=function(e){return _e(e)?1/Fu(e=Ln(e)):null},e.cstr=jo,e.day2cht=function(e,t=!1){if(!_u(e))return"";let n=r(e,"YYYY-MM-DD"),i="";return i=t?n.month()+1+"月"+n.date()+"日":"民國 "+(n.year()-1911)+" 年 "+(n.month()+1)+" 月 "+n.date()+" 日",i},e.debounce=Nu,e.delay=Is,e.dig=sl,e.digExp=function(e,t=0){if(!_e(e))return"";if(!Ia(t))return"";let r="";return r=0===(e=Ln(e))?"0":Math.abs(e)<=1e-6?e.toExponential(t):sl(e,t),r},e.domAlert=function(e,t={}){if(!De(e))return;let r=Ce(t,"type","success");Ne(Uu,r)||(r="success");let n=Ce(t,"icon",null);De(n)||(n=Uu[r]);let i="top-right";"top-left"!==t.position&&"bottom-right"!==t.position&&"bottom-left"!==t.position||(i=t.position);let a=Ce(t,"time");bo(a)||(a=4e3),a<0&&(a=4e3);let o=Ce(t,"paddingStyle",null);null===o&&(o={top:14,right:26,bottom:14,left:14});let s="";{let e=Ce(o,"top",0),t=Ce(o,"bottom",0),r=Ce(o,"left",0);s=`padding:${e}px ${Ce(o,"right",0)}px ${t}px ${r}px;`}let c=Ce(t,"textColor","#000");c=gl(c,";","");let l=Ce(t,"backgroundColor","#fff");l=gl(l,";","");let u=Ce(t,"borderWidth",1),f=Ce(t,"borderColor","#ebeef5");f=gl(f,";","");let h=Ce(t,"borderRadius",8),d=Ce(t,"shadowStyle","0 2px 12px 0 rgba(0,0,0,.1)");d=gl(d,";","");let p=Ce(t,"closeIconShift",null);null===p&&(p={top:10,right:10});let g="";{let e=Ce(p,"top",""),t=Ce(p,"bottom",""),r=Ce(p,"left",""),n=Ce(p,"right","");bo(e)&&(e=`top:${e}px;`),bo(t)&&(t=`bottom:${t}px;`),bo(r)&&(r=`left:${r}px;`),bo(n)&&(n=`right:${n}px;`),g=`position:absolute; ${e} ${n} ${t} ${r}`}let A=`alt-${Mu()}`,m=`alt-${Mu()}`,v=`\n <div \n style="display:inline-block; color:${c}; background:${l}; border:${u}px solid ${f}; border-radius:${h}px; box-shadow:${d};"\n onmouseenter="ttWAlertFadeIn('${m}')"\n onmouseleave="ttWAlertFadeOut('${m}')"\n >\n <div style="position:relative; ${s}">\n\n <div style="display:flex; align-items:center;">\n <div style="margin-right:10px;">\n <div style="display:flex;">${n}</div>\n </div>\n <div>${e}</div>\n </div>\n\n <div style="${g}">\n <div \n id="${m}" \n style="display:flex; cursor:pointer; opacity:0;" \n onclick="ttWAlertCancel('${A}')"\n >\n ${Pu}\n </div>\n </div>\n\n </div>\n </div>\n `,b=document.createElement("div");b.id=A,b.style.position="fixed",b.style.transition="transform 0.3s, top 0.5s, bottom 0.5s",b.style.zIndex=-1,b.style.opacity=.001,i.indexOf("-left")>=0?b.style.transform="translateX(-100%)":b.style.transform="translateX(100%)",b.innerHTML=v,document.querySelector("body").appendChild(b);let y=is();return function({id:e,position:t,time:r,pm:n}){Hu[e]={id:e,position:t,ele:null,loc:{height:null,top:null,bottom:null,left:null,right:null},timeShow:r,timeStart:Date.now(),pm:n},Wu(),null===ju&&(ju=setInterval(()=>{xr(Hu,e=>{Date.now()-e.timeStart>e.timeShow&&(e.pm.resolve(),Gu(e.id))}),ke(Hu)||(clearInterval(ju),ju=null)},50))}({id:A,position:i,time:a,pm:y}),y},e.domAppend=Yu,e.domCancelEvent=Vu,e.domCompareText=function(e,t,r,n,i={}){if(!Ir(e))return Promise.reject("invalid ele");let a=Ce(i,"format");"side"!==a&&"line"!==a&&(a="side");let o="side"===a?"side-by-side":"line-by-line",s=Gf();De(t)||(t="Text");let c=eo(t,t,r,n),l=s.html(c,{drawFileList:!0,matching:"lines",outputFormat:o,...i});l=l.replace('<span class="d2h-file-list-title">Files changed (1)</span>',"");try{e.innerHTML=l}catch(e){console.log(e)}return{diff:c,html:l}},e.domConvertToPic=Jf,e.domConvertToPicDyn=async function(e,t={},r){return Pr(r)||(r=["https://cdn.jsdelivr.net/npm/@zumer/snapdom@1.9.14/dist/snapdom.min.js"]),await dl(r),Jf(e,t)},e.domDetect=function(e,t={}){let r=Ce(t,"timeInterval",null);ea(r)||(r=20);let n=Ce(t,"tolerancePixel",null);ea(n)||(n=1);let i,a=Vi(),o={offsetWidth:0,offsetHeight:0,clientWidth:0,clientHeight:0,windowWidth:0,windowHeight:0},s=Gi(o),c={width:"",height:""};if(!wo(e))return console.log("invalid f",e),null;i=setInterval(()=>{let t=e();if(t){let e={offsetWidth:t.offsetWidth,offsetHeight:t.offsetHeight,clientWidth:t.clientWidth,clientHeight:t.clientHeight,windowWidth:window.innerWidth,windowHeight:window.innerHeight},r=s.offsetWidth-e.offsetWidth,i=s.offsetHeight-e.offsetHeight,l=Math.abs(r)>n,u=Math.abs(i)>n,f="";r>0?f="smaller":r<0&&(f="larger");let h="";if(i>0?h="smaller":i<0&&(h="larger"),c={width:f,height:h},l||u){let r={...s};setTimeout(()=>{e.offsetWidth>0&&e.offsetHeight>0&&(a.emit("resize",{sold:r,snew:e,smode:c,ele:t}),a.emit("resizeWithWindow",{sold:r,snew:e,smode:c,ele:t,from:"dom"}))},1)}o=s,s=e}},r);let l=e=>{a.emit("resizeWithWindow",{sold:o,snew:s,smode:c,from:"window"})};return window.addEventListener("resize",l),a.clear=()=>{clearInterval(i),window.removeEventListener("resize",l)},a},e.domDrag=function(e,t={}){if(!Ir(e))return void console.log("ele is not a HTMLElement",e);let r=Ce(t,"attIdentify",null);De(r)||(r="dragid");let n=Ce(t,"attIndex",null);De(n)||(n="dragindex");let i=Ce(t,"attGroup",null);De(i)||(i="draggroup");let a=Ce(t,"group",null);De(a)||(a="group");let o=Ce(t,"previewOpacity",null);bo(o)||(o=.4);let s=Ce(t,"previewDisabledOpacity",null);bo(s)||(s=.2);let c=Ce(t,"previewBackground",null);De(c)||(c="white");let l=Ce(t,"previewBorderWidth",null);bo(l)||(l=1);let u=Ce(t,"previewBorderColor",null);De(u)||(u="#f26");let f=Ce(t,"timeDragStartDelay",null);bo(f)||(f=120);let h=`c${Mu(8)}`,d=a;e.setAttribute(i,d),e.setAttribute(r,h);let p=ah(d,h,{attIdentify:r,previewOpacity:o,previewBackground:c,previewBorderWidth:l,previewBorderColor:u}),g=function(e,t){let r=[];return{bind:function(){let n;n="mousedown";let i=function(r){t.dragStart({e:r,ele:e,name:"mousedown"})};e.addEventListener(n,i,!1),r.push({ele:e,name:n,f:i}),n="touchstart";let a=function(r){t.dragStart({e:r,ele:e,name:"touchstart"})};e.addEventListener(n,a,!1),r.push({ele:e,name:n,f:a}),n="touchmove";let o=function(e){t.dragMove({e:e,name:"touchmove"}),e.cancelable&&e.preventDefault()};e.addEventListener(n,o,!1),r.push({ele:e,name:n,f:o})},unbind:function(){xr(r,({ele:e,name:t,f:r})=>{e.removeEventListener(t,r)})}}}(e,{dragStart:e=>{p.emit(d+"-dragStart",e)},dragMove:e=>{p.emit(d+"-dragMove",e)}});g.bind(),sh({gid:d,attGroup:i,attIndex:n,attIdentify:r,timeDragStartDelay:f,previewOpacity:o,previewDisabledOpacity:s});let A=Vi();return p.on(a+"-change",e=>{e.tarEid===h&&A.emit("change",e)}),p.on(a+"-start",e=>{e.tarEid===h&&A.emit("start",e)}),p.on(a+"-move",e=>{e.tarEid===h&&A.emit("move",e)}),p.on(a+"-enter",e=>{e.tarEid===h&&A.emit("enter",e)}),p.on(a+"-leave",e=>{e.tarEid===h&&A.emit("leave",e)}),p.on(a+"-drop",e=>{e.tarEid===h&&A.emit("drop",e)}),A.setIsActive=function(e){ih[d].isActive=e},A.unbind=function(){g.unbind(),function(e,t){let r=ih[e],n=Gi(r.eleIds);Kf(n,t),r.eleIds=n,0===n.length&&(r.oevg.unbind(),r.pv.clear(),delete ih[e])}(d,h)},A},e.domDragBarAndScroll=function(e,t,r={}){let n=null,i=null,a=null,o=null,s=null,c=null,l=null,u=null,f=null,h=null,d=null,p=null,g=null,A=null,m=null,v=!1,b=Ce(r,"getHeighRatio",null);U(b)||(b=()=>1);let y=Ce(r,"getWidthRatio",null);U(y)||(y=()=>1);let w=Ce(r,"stopScrollPropagationForPanel",null);pn(w)||(w=!1);let I=Ce(r,"stopTouchDragPropagationForPanel",null);pn(I)||(I=!1);let E=Ce(r,"useTouchDragForPanel",null);pn(E)||(E=!0);let C=e,x=t,k=Vi();return n=e=>{let t=e.deltaY/Math.abs(e.deltaY),r=e.deltaX/Math.abs(e.deltaX);k.emit("scrollPanel",{ratioY:t,ratioX:r}),w&&Vu(e)},C.addEventListener("wheel",n),i=e=>{if(E){let t=Ce(e,"touches.0.clientY",0),r=Ce(e,"touches.0.clientX",0),n=-t*b(),i=-r*y();v=!0,k.emit("pressBar",{clientY:n,clientX:i}),I&&Vu(e)}},C.addEventListener("touchstart",i),a=e=>{if(E&&v){let t=Ce(e,"touches.0.clientY",0),r=Ce(e,"touches.0.clientX",0),n=-t*b(),i=-r*y();k.emit("dragBar",{clientY:n,clientX:i}),I&&Vu(e)}},C.addEventListener("touchmove",a,{passive:!1}),o=e=>{E&&v&&(v=!1,k.emit("freeBar"),I&&Vu(e))},C.addEventListener("touchend",o),s=e=>{v=!0,k.emit("pressBar",{clientY:e.clientY,clientX:e.clientX})},x.addEventListener("mousedown",s),c=e=>{v&&(v=!1,k.emit("freeBar"))},x.addEventListener("mouseup",c),l=e=>{v=!0,k.emit("pressBar",{clientY:e.touches[0].clientY,clientX:e.touches[0].clientX})},x.addEventListener("touchstart",l),u=e=>{v&&(k.emit("dragBar",{clientY:e.touches[0].clientY,clientX:e.touches[0].clientX}),Vu(e))},x.addEventListener("touchmove",u,{passive:!1}),f=e=>{v&&(v=!1,k.emit("freeBar"))},x.addEventListener("touchend",f),h=e=>{v&&k.emit("dragBar",{clientY:e.clientY,clientX:e.clientX})},window.addEventListener("mousemove",h),d=e=>{v&&(v=!1,k.emit("freeBar"),w&&Vu(e))},window.addEventListener("mouseup",d),p=e=>{},window.addEventListener("scroll",p,{passive:!1}),g=e=>{},window.addEventListener("wheel",g,{passive:!1}),A=e=>{},document.addEventListener("scroll",A,{passive:!1}),m=e=>{},document.addEventListener("wheel",m,{passive:!1}),k.clear=function(){C.removeEventListener("wheel",n),C.removeEventListener("touchstart",i),C.removeEventListener("touchmove",a),C.removeEventListener("touchend",o),x.removeEventListener("mousedown",s),x.removeEventListener("mouseup",c),x.removeEventListener("touchstart",l),x.removeEventListener("touchmove",u),x.removeEventListener("touchend",f),window.removeEventListener("mousemove",h),window.removeEventListener("mouseup",d),window.removeEventListener("scroll",p),window.removeEventListener("wheel",g),document.removeEventListener("scroll",A),document.removeEventListener("wheel",m)},k},e.domDragPreview=nh,e.domDropFiles=function(e){let t=!1,r=!1,n=Vi();function i(e){Vu(e),r=!0,!1===t&&(t=!0,n.emit("dropIn",{ev:e}))}function a(e){Vu(e),r=!1,setTimeout(function(){r||(t=!1,n.emit("dropOut",{ev:e}))},100)}function o(e){i(e)}function s(e){a(e)}function c(e){function t(){a(e)}i(e),uh(e.dataTransfer).then(r=>{let i=go(r.entries,{type:"file"});n.emit("getFiles",{ev:e,files:r.files,filesTree:i,entries:r.entries,cb:t})}).catch(e=>{n.emit("error",e)})}return e.addEventListener("dragenter",o,!1),e.addEventListener("dragover",o,!1),e.addEventListener("dragleave",s,!1),e.addEventListener("drop",c,!1),n.off=function(){e.removeEventListener("dragenter",o,!1),e.removeEventListener("dragover",o,!1),e.removeEventListener("dragleave",s,!1),e.removeEventListener("drop",c,!1)},n},e.domElementsFromPoint=$f,e.domFadeIn=Ru,e.domFadeOut=Qu,e.domFind=fh,e.domFinds=Yf,e.domGetAttr=eh,e.domGetBoudRect=th,e.domGetBoudRectRefSelf=rh,e.domGetFileAccept=bh,e.domGetFiles=yh,e.domGetParents=Xf,e.domGetPointFromEvent=Zf,e.domGetScrollableParent=function(e){let t=/(auto|scroll)/,r=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(e){return t.test(function(e){return r(e,"overflow")+r(e,"overflow-y")+r(e,"overflow-x")}(e))};if(!(e instanceof HTMLElement||e instanceof SVGElement))return;let i=Xf(e);for(let e=0;e<i.length;e+=1)if(n(i[e]))return i[e];return document.scrollingElement||document.documentElement},e.domGetWindowSize=function(){let e=yn();return{width:(()=>{let t=[Ce(e,"innerWidth"),Ce(e,"document.documentElement.clientWidth"),Ce(e,"document.body.clientWidth")];return t=go(t,bo),Eh(t)})(),height:(()=>{let t=[Ce(e,"innerHeight"),Ce(e,"document.documentElement.clientHeight"),Ce(e,"document.body.clientHeight")];return t=go(t,bo),Eh(t)})()}},e.domIsClientXYIn=function(e,t,r){if(!bo(e))return void console.log("clientX is not a number",e);if(!bo(t))return void console.log("clientY is not a number",t);if(!Ir(r))return void console.log("ele is not a HTMLElement",r);let n;try{n=r.getBoundingClientRect()}catch(e){return void console.log("invalid ele for getBoundingClientRect",e)}let i=!1;try{i=e>=n.left&&e<=n.right&&t>=n.top&&t<=n.bottom}catch(e){console.log("catch when calculating page information of element",e)}return i},e.domIsFocused=Bu,e.domIsStable=function(e,t={}){if(!Ir(e))return Promise.reject("invalid element");if(!wo(e.getBoundingClientRect))return Promise.reject("invalid element.getBoundingClientRect");let r=Ce(t,"mode","");"promise"!==r&&"event"!==r&&(r="promise");let n=Ce(t,"tolerance",0),i=Ce(t,"timeDiff",100),a=Ce(t,"timeDetect",50),o=()=>{let t=e.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width,h:t.height}},s=()=>{try{return e.getAnimations({subtree:!0})}catch(e){return[]}},c=async()=>{let e=is();try{let t=o();await Is(i);let r=((e,t)=>!!e&&!!t&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.w-t.w)<=n&&Math.abs(e.h-t.h)<=n)(t,o());await Promise.allSettled(s().map(e=>e.finished));let a=0===s().length,c=r&&a;e.resolve(c)}catch(t){e.reject(t)}return e},l=()=>{let t=Vi(),r=!1,n=null,i=null,o=!1;return t.create=()=>{n=setInterval(()=>{r=(e=>{let r=!1;if(!Ir(e))return r;try{let e=!1,n=!1;i=setInterval(()=>{o?clearInterval(i):e||(e=!0,c().then(e=>{o||n!==e&&(n=e,t.emit("stable",e))}).catch(()=>{}).finally(()=>{e=!1}))},a),r=!0}catch(e){}return r})(e),r&&clearInterval(n)},50)},t.dispose=()=>{let e=!1;try{clearInterval(n),clearInterval(i),o=!0,e=!0}catch(e){}return e},t},u=null;return"promise"===r?u=c():"event"===r&&(u=l()),u},e.domIsVisible=function(e,t={}){if(!Ir(e))return Promise.reject("invalid element");if(Ch())return Promise.reject("invalid IntersectionObserver");let r=Ce(t,"mode","");"promise"!==r&&"event"!==r&&(r="promise");let n=()=>{let t=Vi(),r=!1,n=null,i=!1,a=new IntersectionObserver(e=>{if(i)return;let r=e[0].isIntersecting;t.emit("visible",r)});return t.create=()=>{n=setInterval(()=>{i?clearInterval(n):(r=(e=>{let t=!1;if(!Ir(e))return t;try{a.observe(e),t=!0}catch(e){}return t})(e),r&&clearInterval(n))},50)},t.dispose=()=>{let e=!1;try{clearInterval(n),a.disconnect(),i=!0,e=!0}catch(e){}return e},t},i=null;return"promise"===r?i=(()=>{let t=is();try{let r=new IntersectionObserver(e=>{t.resolve(e[0].isIntersecting),r.disconnect()});r.observe(e)}catch(e){t.reject(e)}return t})():"event"===r&&(i=n()),i},e.domPrepend=Vf,e.domRemove=zf,e.domRenderMarkdownMind=xh,e.domRenderMarkdownMindDyn=async function(e,t,r={},n){return Pr(n)||(n=["https://cdn.jsdelivr.net/npm/d3@7.8.3/dist/d3.min.js","https://cdn.jsdelivr.net/npm/markmap-view@0.14.4/dist/index.min.js","https://cdn.jsdelivr.net/npm/markmap-lib@0.14.4/dist/browser/index.min.js"]),await dl(n),xh(e,t,r)},e.domRipple=function(e,t,r={}){let n=Ce(r,"timeDuration",null);ea(n)||(n=1e3);let i=Ce(r,"color",null);if(De(i)||(i="rgba(255, 255, 255, 0.5)"),!Ir(e))return;e.style.position="relative",e.style.overflow="hidden";let a=e.getBoundingClientRect(),o=t.clientX-a.left,s=t.clientY-a.top,c=2*Math.max(e.clientWidth,e.clientHeight),l=document.createElement("div");l.style.width=`${c}px`,l.style.height=`${c}px`,l.style.transition=`all ${n/1e3}s linear`,l.style.position="absolute",l.style.zIndex=1,l.style.left=`${o}px`,l.style.top=`${s}px`,l.style.borderRadius="50%",l.style.transformOrigin="center",l.style.transform="translate(-50%,-50%) scale(0)",l.style.background=i,l.style.userSelect="none",l.style.pointerEvents="none",e.appendChild(l),setTimeout(()=>{l.style.transform="translate(-50%,-50%) scale(2)",l.style.opacity=0},1),setTimeout(()=>{zf(l)},n)},e.domScrollIntoView=function(e,t={}){if(!Ir(e))return;xe(t)||(t={});let r={behavior:"smooth"};r={...r,...t},zu()&&pd(),e.scrollIntoView(r)},e.domScrollTo=function(e,t={}){if(!Ir(e))return;xe(t)||(t={});let r={behavior:"smooth"};r={...r,...t},zu()&&pd(),e.scrollTo(r)},e.domSetAttr=function(e,t,r){if(!Ir(e))return null;if(!De(t))return null;if(!De(r)&&!_e(r))return null;try{return e.setAttribute(t,r),e.getAttribute(t)}catch(e){}return null},e.domShowImages=Id,e.domShowImagesDyn=async function(e,t=null,r={},n){return Pr(n)||(n=["https://cdn.jsdelivr.net/npm/viewerjs@1.11.7/dist/viewer.min.css","https://cdn.jsdelivr.net/npm/viewerjs@1.11.7/dist/viewer.min.js"]),await dl(n),Id(e,t,r)},e.domShowInputAndGetFiles=Cd,e.domShowInputAndGetFilesU8Arrs=function(e={}){let t=Ce(e,"kind","*"),r=Ce(e,"multiple");gn(r)||(r=!1);let n=Ce(e,"entireHierarchy");gn(n)||(n=!1);let i=Ce(e,"sizeMbLimit");_e(i)||(i=1e3),i=Ln(i);let a=is(),o=[];return Cd({kind:t,multiple:r,entireHierarchy:n,sizeMbLimit:i}).then(function(e){let t=is(),r=Ce(e,"errs",{}),n=Ce(e,"files",[]);return ke(r)?t.reject(r):t.resolve(n),t}).then(function(e){return xr(e,function(e){o.push({name:e.name,size:e.size,type:e.type})}),ls(e)}).then(function(e){xr(e,function(e,t){o[t].u8a=e}),a.resolve(o)}).catch(function(e){a.reject(e)}),a},e.domShowInputDatatime=function(e,t={}){let n=Ce(t,"type","");"date"!==n&&"datetime-local"!==n&&(n="datetime-local");let i=Ce(t,"eleRef",null);Ir(i)||(i=document.activeElement);let a=is(),o="drf"+Mu(),s="GrpDomShowDatatime";zf(`[name=${s}]`);let c=!1,l="";"date"===n?_u(e)&&(c=!0,l=e):xd(e)&&(c=!0,l=r(e).format("YYYY-MM-DDTHH:mm")),De(l)&&(l=`value="${l}"`);let u=document.createElement("div");u.setAttribute("name",s),u.style.width=0,u.style.height=0,u.style.overflow="hidden",u.innerHTML=`\n <div style="transform:translateY(-100%);">\n <input id="${o}" type="${n}" style="opacity:0;" ${c?l:""} />\n </div>\n `;let f=null;Ir(i)?i.parentNode.insertBefore(u,i.nextSibling):document.querySelector("body").appendChild(u);let h=!1;function d(){if(!h){h=!0;try{f.removeEventListener("change",g,!0),i.removeEventListener("focusout",A,!0)}catch(e){}if(zf(`[name=${s}]`),De(p)){let e="";e="date"===n?p:`${p}:00`,a.resolve(e)}}}let p="";function g(e){try{p=e.target.value}catch(e){console.log(e)}d()}function A(e){setTimeout(()=>{d()},50)}return setTimeout(()=>{f=fh("#"+o),f.addEventListener("change",g,!0),f.showPicker()},1),i.addEventListener("focusout",A,!0),a},e.domTooltip=function(e,t,r={}){let n=null,i=null;function a(){null!==n&&n.destroy(!0),e.setAttribute("tippystate",""),clearInterval(i)}let o={arrow:!0,theme:"dark",placement:"bottom",delay:150};r=ke(r)?wd(o,r):o;let s=t;t||(s=e.innerHTML);let c=_e(e.getAttribute("tippystate"));if(e.setAttribute("tippystate","5"),c)return;s=`<div style="text-align:left;">${s}</div>`;let l=Mg;Mg.default&&(l=Mg.default),n=l(e,{...r,content:s,allowHTML:!0,onHidden(){a()},onDestroy(){n=null,a()}}),n.show(),i=setInterval(()=>{let t=e.getAttribute("tippystate");_e(t)?(t=$i(t),t-=1,e.setAttribute("tippystate",t),t<=0&&a()):a()},1e3)},e.domTriggerEvent=Ed,e.domVirtualCreate=Qg,e.domVirtualCreateQueue=function(){return new function(){let e=qg(1);return async function(t,r={}){return e(Qg,t,r)}}},e.downloadExcelFileFromData=zg,e.downloadExcelFileFromDataDyn=async function(e,t="data",r,n){Pr(n)||(n=["https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js"]),await dl(n);let i=zg(e,t,r);return""!==Ce(i,"error","")?Promise.reject(i.error):i},e.downloadFileFromB64=function(e,t){if(!bn())return void console.log("no window");if(!De(e))return void console.log("no filename");let r=document.createElement("a");r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r)},e.downloadFileFromBlob=Wg,e.downloadFileFromText=function(e,t,r=!0){if(!bn())return void console.log("no window");if(!De(e))return void console.log("invalid filename");if(!Se(t))return void console.log("invalid content");if(!gn(r))return void console.log("withBOM is not a boolean");let n;n=r?new Blob(["\ufeff",t]):new Blob([t]),Wg(e,n)},e.downloadFileFromU8Arr=function(e,t){bn()?De(e)?es(t)?Wg(e,Vg(t)):console.log("no data"):console.log("no filename"):console.log("no window")},e.dtmapping=Jg,e.dtpick=Kg,e.estimateTicks=function(e,t,r={}){if(!_e(e))throw new Error("rmin is not a number");if(e=Ln(e),!_e(t))throw new Error("rmax is not a number");if(e===(t=Ln(t))){let t=null;t=0===e?1:Math.abs(e/10);let r=Zg(t,{returnDigit:!0});return t=Xg(t,r),{tickNum:3,tickInterval:t,tickPositions:[e-t,e,e+t],tickDig:r}}if(e>t)throw new Error(`rmin[${e}] > rmax[${t}]`);let n=Ce(r,"testTickNums");Pr(n)||(n=[3,4,5]);let i=e,a=t,o=$g(i),s=$g(a),c=Math.max(o.r,s.r),l=Math.log10(c),u=i/c,f=a/c,h=(u+f)/2,d=f-u,p=[];xr(n,e=>{let t=d/(e-1),r=Zg(t,{returnDigit:!0});r=Math.min(r,2),xr(oa(r,-1,-1),r=>{let n=r-l;n=Math.max(n,0);let i=ol(t,r),a=i-1/Math.pow(10,r);a=Xg(a,r);let o=i+1/Math.pow(10,r);o=Xg(o,r);let s=[a,i,o];s=go(s,e=>e>0);let g=Xg(h,r),A=g-1/Math.pow(10,r);A=Xg(A,r);let m=g+1/Math.pow(10,r);m=Xg(m,r);let v=[A,g,m];xr(s,t=>{let i=c*t;i=Xg(i,n),xr(v,a=>{let o=[],s=[];{let i=a-(e-1)/2*t;for(let a=0;a<e;a++){let e=i+a*t;e=Xg(e,r),o.push(e);let l=c*e;l=Xg(l,n),s.push(l)}}let l=(h=o)&&h.length?h[0]:void 0;var h;let g=To(o);if(l>u||g<f)return!0;let A=(u-l)/d,m=(g-f)/d,v=(A+m)/2,b=0;xr(s,e=>{Mn(e)&&b++});let y=b/e,w=0;xr(o,e=>{0===e&&w++});let I=w/e,E=0;xr(o,e=>{.5===e&&E++});let C=E/e,x=0;xr(o,e=>{1===e&&x++});let k=x/e,B={diff:v,rngCenter:a,numInt:b,ratInt:y,num0:w,rat0:I,num5:E,rat5:C,num10:x,rat10:k,overMin:A,overMax:m,fitness:v+.2*r+.1*e+1.5*A+1.5*m+(1-.25*y)+(1-.4*I)+(1-.3*C)+(1-.3*k),idg:r,tickNum:e,_tickDig:r,_tickInterval:t,_tickPositions:o,tickDig:n,tickInterval:i,tickPositions:s};p.push(B)})})})}),p=Uo(p,"fitness");let g=Ce(p,0);return{tickNum:g.tickNum,tickInterval:g.tickInterval,tickPositions:g.tickPositions,tickDig:g.tickDig}},e.evem=Vi,e.execJsCode=async function(e,t={}){e=i.resolve(e);let r=(await import(a.pathToFileURL(e).href)).default;if(!wo(r))throw new Error(`the default export of [${e}] is not a function`);return await r(t)},e.execProcess=function(e,t,r={}){if(!Pr(t)&&!De(t))throw new Error("args is not an effective array or string");De(t)&&(t=[t]);let n=Ce(r,"mode");"spawn"!==n&&"exec"!==n&&"execFile"!==n&&(n="spawn");let i=Ce(r,"cbStdout"),a=Ce(r,"cbStderr"),s=Ce(r,"codeCmd");De(s)||(s="utf8");let c=Ce(r,"useChcp");gn(c)||(c=!1);let l=Ce(r,"timeout");(!_e(l)||l<=0)&&(l=null);let u=is();if(!yo(n,["spawn","exec","execFile"]))return u.reject(`invalid mode[${n}]`),u;let f=null,h="";try{if("spawn"===n){let r=uo(e,1),n=fo(e,1);if('"'===r||'"'===n||"'"===r||"'"===n)throw new Error("prog of spawn doens not need to add quotes");f=o.spawn(e,t,{windowsHide:!0,shell:!1})}else if("exec"===n){let r="";c&&(r="cmd /c chcp 65001>nul &&"),f=o.exec(`${r} ${e} ${t.join(" ")} & exit`,{windowsHide:!0,encoding:s})}else"execFile"===n&&(f=o.execFile(e,t,{windowsHide:!0,encoding:s}))}catch(e){return u.reject(e),u}f.stdout.on("data",e=>{let t="";t="spawn"===n?e.toString(s):e.toString(),h+=t+"\n",wo(i)&&i(t)}),f.stderr.on("data",e=>{let t="";t="spawn"===n?e.toString(s):e.toString(),h+=t+"\n",wo(a)&&a(t)});let d=null,p=!1;return null!==l&&(d=setTimeout(()=>{p=!0,f&&f.pid&&eA(f.pid).catch(()=>{})},l)),f.on("close",e=>{null!==d&&clearTimeout(d),p?u.reject(`timeout[${l}ms]:\n${h}`):0!==e?u.reject(`code[${e}]:\n${h}`):u.resolve(h)}),f.on("error",e=>{null!==d&&clearTimeout(d),u.reject(e)}),u},e.execProcessKillPid=eA,e.filepathToTree=function(e,t={}){if(!Pr(e))return{};let r=Ce(t,"delimiter");De(r)||(r="❯");let n=Ce(t,"bindRoot");De(n)||(n="");let i=De(n),a="";a=i?n:"root";let o=Ce(t,"soryItems"),s=Br(e,(e,t)=>{"folder"!==e.type&&"file"!==e.type&&(e.type="file");let n=(e=>{let t=lo(e=(e=e.replace(/\\\\/g,"\\")).replace(/\\/g,"/"),"/");return{ss:t,cfp:ka(t,r)}})(e.path);return{ind:t,type:e.type,ss:n.ss,data:Gi(e)}}),c=e=>{let t=dn(e),n=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<=i;r++)t.push(e[r]);let a=ka(t,r);n.push({id:a,name:e[i]})}return n},l=-1,u=[],f={};xr(s,e=>{let t=null;t=[a];let n=null;n=a;let i=dn(e.ss)-1;xr(e.ss,(a,o)=>{let s=o<i||"folder"===e.type;t.push(a);let h=null,d=null;o===i&&(h=e.ind,d=e.data);let p=ka(t,r),g=c(t);if(Ne(f,p)){let t=f[p],r="folder"===Ce(t,"_type","");if(!r&&s)throw console.log("kpLv[id]",t),console.log("v",e),new Error(`id[${p}] is unrecognized from a file to folder`);if(!r&&!s)throw console.log("kpLv[id]",t),console.log("v",e),new Error(`id[${p}] get repeat data from two files`);if(r&&!s)throw console.log("kpLv[id]",t),console.log("v",e),new Error(`id[${p}] is unrecognized from a folder to file`);if(ke(f[p].data)&&ke(d))throw console.log("kpLv[id]",t),console.log("v",e),new Error(`id[${p}] get repeat data from two folders`);if(null===f[p].data&&ke(d)){f[p]._indOri=h,f[p].data=d;let e=f[p]._indNormalize,t=u[e];u[e]={...d,type:t.type,path:t.path}}}else{l++;let e=l,r=null;r=s?{_indOri:h,_indNormalize:e,ns:dn(t),ts:Gi(t),pathInfors:g,_type:"folder",type:"array",numOfChilren:-1,id:p,parentId:n,text:a,children:[],data:d}:{_indOri:h,_indNormalize:e,ns:dn(t),ts:Gi(t),pathInfors:g,_type:"file",type:"node",numOfChilren:-1,id:p,parentId:n,text:a,data:d},f[p]=r,u.push({...Ce(f[p],"data",{}),type:f[p]._type,path:"/"+ka(t,"/")})}n=p})});let h=nA(f);if(h=Uo(h,"id"),h=Uo(h,"ns"),wo(o)){let e=[];xr(lA(h,"ns"),(t,r)=>{xr(lA(t,"parentId"),(t,n)=>{let i=o(t,n,r);e=[...e,...i]})}),h=e}let d=[],p=[];xr(h,e=>{"folder"===e._type?d.push(e):p.push(e)});let g=lA(d,"ns"),A=lA(p,"ns"),m=rA(Br(d,"ns")),v=rA(Br(p,"ns")),b=null;{let e=[a];b=[{_indOri:null,_indNormalize:null,ns:dn(e),ts:Gi(e),pathInfors:c(e),_type:"folder",type:"array",numOfChilren:-1,id:a,parentId:"",text:a,children:[],data:null}]}let y={};y[a]="0.children";let w={};w[a]="0";for(let e=2;e<=m;e++)xr(g[e],e=>{let t=Ce(y,e.parentId,"");if(!De(t))throw console.log("kpPathFd",y),console.log("v",e,e.parentId),new Error(`invalid parentId[${e.parentId}] in folder`);let r=Ce(b,t);if(Be(r)||yu(b,t,[]),r=Ce(b,t),!ke(gh(r,{id:e.id}))){r.push({...e,children:[]});let n=`${t}.${dn(r)-1}`;y[e.id]=`${n}.children`,w[e.id]=n}});let I=Gi(b),E={};for(let e=2;e<=v;e++)xr(A[e],e=>{let t=Ce(y,e.parentId,"");if(!De(t))throw console.log("kpPathFd",y),console.log("v",e,e.parentId),new Error(`invalid parentId[${e.parentId}] in file`);let r=Ce(b,t);if(!Be(r))throw console.log("treeItems",b),console.log("k",t),console.log("v",e),new Error("無預先建置資料夾");if(!ke(gh(r,{id:e.id}))){r.push(e);let n=`${t}.${dn(r)-1}`;E[e.id]=n,w[e.id]=n}});return{treeItems:b,treeItemsFolder:I,kpPath:w,fpsNormalize:u}},e.files2data=function(e){let t=is(),r=Br(e,function(e){return{name:e.name,size:e.size,type:e.type}});return cs(e).then(function(e){let n=Br(e,function(e){return{b64:e}}),i=uA(r,n);t.resolve(i)}),t},e.flattenToConn=ku,e.flattenTree=function(e,t={}){if(Be(e)){if(0===e.length)return[]}else{if(!xe(e))return[];if(Lr(e))return[]}let r=Ce(t,"bindKey",null);De(r)||(r="id");let n=Ce(t,"bindChildren",null);De(n)||(n="children");let i=!1;xe(e)&&(i=!0,e=[e]);let a=[];return xu(e,(e,t,i)=>{let o=Ce(e,r,null),s=Ce(e,n,null);if(o){let r=function(e){let t=[e[0]];for(let r=1;r<e.length;r++){let i=e[r];t.push(n),t.push(i)}return t}([...i,t]);if(a.push({...e,level:(dn(r)-1)/2,nk:r}),s)return s}}),i&&(a=a[0]),a},e.floor=function(e,t=0){return Ia(t)||(t=0),t=$i(t),_e(e)?new al(e).toDecimalPlaces(t,al.ROUND_FLOOR).toNumber():""},e.fsBuildReadStreamText=function(e){if(!dA(e))throw new Error("fp is not a file");let t=Vi(),r=l.createReadStream(e,{encoding:"utf8"});return t.emit("create"),u.createInterface({input:r,crlfDelay:1/0}).on("line",e=>{t.emit("line",e)}),r.on("close",()=>{t.emit("close")}),t},e.fsBuildWriteStreamText=function(){let e=null;return{create:t=>{let r=is();return e=l.createWriteStream(t,{flags:"w",encoding:"utf8"}),e.on("finish",()=>{r.resolve()}),e.on("error",e=>{r.reject(e)}),r},write:t=>{e.write(t+"\n")},end:()=>{let t=is();return e.on("close",()=>{t.resolve()}),e.end(),t}}},e.fsCleanFolder=function(e){return AA(e,{path:i,fs:l})},e.fsCleanFolderCore=AA,e.fsCopyFile=function(e,t,r={}){return mA(e,t,{path:i,fs:l,...r})},e.fsCopyFileCore=mA,e.fsCopyFolder=function(e,t,r={}){return bA(e,t,{path:i,fs:l,...r})},e.fsCopyFolderCore=bA,e.fsCreateFile=function(e,t,r={}){return EA(e,t,{fs:l,...r})},e.fsCreateFileCore=EA,e.fsCreateFolder=CA,e.fsCreateFolderCore=gA,e.fsDeleteFile=function(e){return xA(e,{fs:l})},e.fsDeleteFileCore=xA,e.fsDeleteFileSafe=async function(e,t={}){return await kA(e,{fs:l,...t})},e.fsDeleteFileSafeCore=kA,e.fsDeleteFolder=SA,e.fsDeleteFolderCore=BA,e.fsDeleteFolderSafe=async function(e,t={}){return await DA(e,{fs:l,...t})},e.fsDeleteFolderSafeCore=DA,e.fsDownloadFile=async function(e,t){return TA(e,t,{fs:l,Readable:f.Readable})},e.fsDownloadFileCore=TA,e.fsEvem=function(e={}){let t=Ce(e,"fd");De(t)||(t="./_evps");let r=Ce(e,"polling");gn(r)||(r=!1);let n=Ce(e,"timeInterval");ea(n)||(n=100),n=$i(n);let a=Ce(e,"timeBinaryInterval");ea(a)||(a=300),a=$i(a);let o=Ce(e,"keySys");De(o)||(o="[::pkg_content::]"),NA(t)||CA(t);let s=OA(t,{polling:r,timeInterval:n,timeBinaryInterval:a});s.on("change",e=>{if("add"!==e.type&&"change"!==e.type)return;let t=_A(e.fp),r="";try{r=l.readFileSync(e.fp,"utf8"),r=Zo(r)}catch(e){}ke(r)&&c.emit(t,{[o]:r})});let c=new h.EventEmitter,u=c.emit;return c.emit=function(e,r){let n=!1;if(ke(r)&&(n=Ne(r,o)),n){let t=Ce(r,o,null),n=Ce(t,"pkg",""),i=Ce(t,"time","");return u.call(this,e,n,i)}((e,r)=>{let n=i.resolve(t,e);Se(r)||(r=An(r)),l.writeFileSync(n,r,"utf8")})(e,{pkg:r,time:FA()})},c.clear=()=>{s.clear(),SA(t)},c},e.fsExists=function(e){return fA(e,{fs:l})},e.fsExistsCore=fA,e.fsGetFileBasicHash=function(e,t={}){return LA(e,{fs:l,crypto:p,...t})},e.fsGetFileBasicHashCore=LA,e.fsGetFileHash=function(e,t={}){return PA(e,{fs:l,crypto:p,...t})},e.fsGetFileHashCore=PA,e.fsGetFileXxHash=function(e,t={}){return QA(e,{fs:l,...t})},e.fsGetFileXxHashCore=QA,e.fsGetFilesInFolder=function(e,t=1){return HA(e,t,{path:i,fs:l})},e.fsGetFilesInFolderCore=HA,e.fsGetFilesWithHashInFolder=qA,e.fsGetFilesWithHashInFolderCore=jA,e.fsGetFolderBasicHash=function(e,t={}){return WA(e,{path:i,fs:l,crypto:p,...t})},e.fsGetFolderBasicHashCore=WA,e.fsGetFoldersInFolder=function(e,t=1){return GA(e,t,{path:i,fs:l})},e.fsGetFoldersInFolderCore=GA,e.fsIsFile=dA,e.fsIsFileCore=hA,e.fsIsFolder=NA,e.fsIsFolderCore=pA,e.fsMergeFiles=async function(e,t,r={}){return YA(e,t,{fs:l,...r})},e.fsMergeFilesCore=YA,e.fsReadJson=function(e){let t=null,r=zA(e,{fs:l});if(r.error)return r;let n=r.success,i=null;try{i=JSON.parse(n)}catch(e){t=e}return null!==t?{error:t}:{success:i}},e.fsReadText=function(e){return zA(e,{fs:l})},e.fsReadTextCore=zA,e.fsRenameFile=function(e,t){return VA(e,t,{fs:l})},e.fsRenameFileCore=VA,e.fsRenameFolder=function(e,t){return JA(e,t,{fs:l})},e.fsRenameFolderCore=JA,e.fsSrlog=function(e={}){let t=Ce(e,"fdSys","");De(t)||(t=i.resolve(),t=t.replaceAll("\\","/"));let n=Ce(e,"fdLog","");De(n)||(n="./syslog"),NA(n)||CA(n);let a=Ce(e,"dlm","");De(a)||(a="ꓹ");let o=Ce(e,"useTime",null);gn(o)||(o=!0);let s=Ce(e,"useLoc",null);gn(s)||(s=!0);let c=Ce(e,"useLocRela",null);async function u(e,t,...i){let c=(()=>{let e=r().format("YYYY-MM-DD");return`${n}/${e}.log`})(),u=Br(i,e=>{let t="";return t=xe(e)||Be(e)?JSON.stringify(e):gn(e)?e?"true":"false":jo(e),t}),f="";o&&(f=`[${e}]\n`,l.appendFileSync(c,f,"utf8")),s&&(f=`[${t}]\n`,l.appendFileSync(c,f,"utf8")),f=`${ka(u,`${a} `)}\n\n`,l.appendFileSync(c,f,"utf8")}return gn(c)||(c=!0),function(...e){let r="";o&&(r=FA());let n="",i="",a=[];if(s){if(a=lo((new Error).stack,"\n"),xr(a,e=>(e=so(e)).indexOf("file:")<0||e.indexOf("fsSrlog.mjs")>=0||(xr(lo(e," "),e=>{if(e.indexOf("file:")>=0)return n=e,!1}),!De(n)&&void 0)),!De(n))throw console.log("stackLines",a),new Error("can not parse stackLines");"("===uo(n,1)&&(n=ho(n,1)),")"===fo(n,1)&&(n=Wo(n,1));try{n=decodeURIComponent(n)}catch(e){console.log(e)}i=n,i=ho(i,8),i=i.replace(t,"")}let l=[];o&&(l=[...l,`[${r}]`]);let f="";s&&(f=n,c&&(f=i),l=[...l,`[${f}]`]),l=[...l,...e],console.log(...l),u(r,f,...e)}},e.fsSyncFolder=function(e,t,r={}){return ZA(e,t,{path:i,fs:l,crypto:p,...r})},e.fsSyncFolderCore=ZA,e.fsTask=function(e,t={}){let r=Ce(t,"fdStorage","");De(r)||(r="./_tkfs");let n=Ce(t,"levelLimit","");ea(n)||(n=1),n=$i(n);let i=Ce(t,"typeHash","");De(i)||(i="md5");let a=Ce(t,"timeInterval");Ao(a)||(a=6e4),a=$i(a),CA(r);let o=Vi(),s=!1,c=`${r}/fpHash.json`,u=`${r}/fpResult.json`,f=async()=>{if(!0===s)return;let t=(()=>{let e={};try{e=Zo(l.readFileSync(c,"utf8"))}catch(e){}return e})(),r=await(async()=>{let t={};return NA(e)?(xr(await qA(e,n,{type:i}),e=>{t[e.path]=e.hash}),t):t})(),a=Br(t,(e,t)=>({path:t,hash:e})),u=Br(r,(e,t)=>({path:t,hash:e}));xr(KA(a,u,"path").infor,(e,n)=>{if("same"===e)return!0;let i=Ce(t,n,""),a=Ce(r,n,""),u="";u="del"===e?i:a;let f=e,h=n,d=wA(n);s=!0;let p=is();return o.emit("change",{type:f,fp:h,fn:d,hash:u,pm:p}),p.then(()=>{let e=Gi(t);e[h]=r[h],(e=>{try{let t=An(e);l.writeFileSync(c,t,"utf8")}catch(e){}})(e)}).finally(()=>{s=!1}),!1})},h=()=>{let e={};try{e=Zo(l.readFileSync(u,"utf8"))}catch(e){}return e},d=(e={})=>{try{let t=An(e);l.writeFileSync(u,t,"utf8")}catch(e){}},p=setInterval(()=>{f().catch(()=>{})},a);return o.getResult=(e,t)=>{let r=`${e}|${t}`,n=Ce(h(),r,[]);return Be(n)||console.log(`result for key[${r}] is not an array`),n},o.getAndEliminateResult=(e,t)=>{let r=`${e}|${t}`,n=h(),i=Ce(n,r,[]);return Be(i)||console.log(`result for key[${r}] is not an array`),n=((e,t)=>{let r={};return xr(e,(e,n)=>{Ce(lo(n,"|"),0,"")!==t&&(r[n]=e)}),r})(n,e),d(n),i},o.setResult=(e,t,r)=>{Be(r)||(console.log("result is not an array, default to []"),r=[]);let n=`${e}|${t}`,i=h();i[n]=r,d(i)},o.clear=()=>{clearInterval(p)},o},e.fsTaskCp=function(e,t,r={}){NA(e)||CA(e),NA(t)||CA(t);let n=`${e}/fpHash.json`,i=`${t}/fpHash.json`,a=e=>{let t={};try{t=Zo(l.readFileSync(e,"utf8"))}catch(e){}return t},o=(e,t)=>{try{let r=An(t);l.writeFileSync(e,r,"utf8")}catch(e){}},s=(e,t)=>Ce(a(e),t,""),c=(e,t,r)=>{let n=a(e);n[t]=r,o(e,n)},u=(e,t)=>{let r=a(e);Ne(r,t)&&delete r[t],o(e,r)},f=()=>a(n),h=e=>o(n,e),d=e=>s(n,e),p=()=>a(i),g=e=>o(i,e),A=e=>s(i,e),m=(e,t)=>c(i,e,t),v=e=>u(i,e),b=e=>{let t=[];return xr(e,(e,r)=>{t.push({fp:r,hash:e})}),t},y={buildSrc:()=>{let e=Vi();return e.set=(t,r)=>{((e,t)=>{c(n,e,t)})(t,r),e.emit("set",{type:"set",fp:t,hash:r})},e.get=d,e.remove=t=>{(e=>{u(n,e)})(t),e.emit("remove",{type:"remove",fp:t})},e.readKp=f,e.writeKp=h,e},buildTar:()=>{let e=Vi(),t=Nu(300),r=$A(n);return r.on("change",r=>{t(()=>{(async()=>{let t=is(),r=f();if(!ke(r))return t.resolve("no src"),t;let n=p(),i=b(r),a=KA(b(n),i,"fp",{withInfor:!1}),o=is();return o.then(e=>{g(r)}).catch(()=>{}),e.emit("change",{kpSrc:r,kpTar:n,kpCmp:a,pm:o}),t})().catch(()=>{})})}),e.set=m,e.get=A,e.remove=v,e.readKp=p,e.writeKp=g,e.clear=r.clear,e}};return y},e.fsTreeFolder=function(e,t=1){return UA(e,t,{path:i,fs:l})},e.fsTreeFolderCore=UA,e.fsTreeFolderWithHash=function(e,t=1,r={}){return XA(e,t,{path:i,fs:l,crypto:p,...r})},e.fsTreeFolderWithHashCore=XA,e.fsWatchFile=$A,e.fsWatchFolder=OA,e.fsWriteJson=function(e,t,r={}){let n=null;if(!xe(t)&&!Be(t))return{error:"inp is not an object or array"};let i=Ce(r,"useFormat",null);gn(i)||(i=!1);let a="";try{a=i?JSON.stringify(t,null,2):JSON.stringify(t)}catch(e){n=e}return null!==n?{error:n}:em(e,a,{fs:l})},e.fsWriteText=function(e,t){return em(e,t,{fs:l})},e.fsWriteTextCore=em,e.genGradientColor=function(e){if(Qr(e))return{};let t;try{t=bu.toRgba(e)}catch(e){return{}}function r(e,t){return e.a=t,bu.toRgbaString(e)}return{linearGradient:{x1:0,x2:0,y1:0,y2:1},stops:[[0,r(t,.4)],[1,r(t,.9)]]}},e.genID=Mu,e.genIDSeq=function(){return am()},e.genPm=is,e.getBufferSize=cm,e.getClearPathName=yA,e.getCsvStrFromData=lm,e.getDataFromExcelFileU8Arr=hm,e.getDataFromExcelFileU8ArrDyn=async function(e,t,r){Pr(r)||(r=["https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js"]),await dl(r);let n=hm(e,t);return""!==Ce(n,"error","")?Promise.reject(n.error):n},e.getEnv=function(){let e=bn(),t="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope;return e=e||t,{isBrowser:e,isWebWorker:t,isNode:"undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node}},e.getErrorMessage=function(e){let t="";if(gm(e))t=e.message;else{if(Se(e))return e;if(xe(e))return Ne(e,"message")?e.message:JSON.stringify(e);if(Be(e))return JSON.stringify(e);t=jo(e)}return t},e.getExcelU8ArrFromData=function(e,t="data"){if(!Pr(e))return{error:"no data"};De(t)||(t="data");let r=null,n=Yg(e,t);return Ne(n,"error")?n:(r=Am(n),Ne(r,"error"),r)},e.getExcelU8ArrFromWorkbook=Am,e.getExcelWorkbookFromData=Yg,e.getExcelWorkbookFromWorksheet=Gg,e.getExcelWorksheetFromData=In,e.getFileAccept=vh,e.getFileBasicHash=Wm,e.getFileHash=async function(e,t={}){if(!ps(e)&&!qm(e))return console.log("inp",e),Promise.reject("inp is not a Blob or File");let r=Ce(t,"type","");De(r)||(r="sha512");let n=Ce(t,"chunkSize");return _e(n)||(n=67108864),n=Ln(n),Ne({MD5:"md5","SHA-1":"sha1","SHA-256":"sha256","SHA-384":"sha384","SHA-512":"sha512",md5:"md5",sha1:"sha1",sha256:"sha256",sha384:"sha384",sha512:"sha512",xxhash64:"xxhash64"},r)?"xxhash64"===r?Gm(e,t):Wm(e,t):Promise.reject(`type[${r}] must be one of [ 'md5', 'sha1', 'sha256', 'sha384', 'sha512', 'xxhash64' ]`)},e.getFileName=wA,e.getFileNameExt=function(e){if(!De(e))return"";let t=Wa(wA(e),".");if(dn(t)<=1)return"";let r="";try{r=To(t)}catch(e){}return r},e.getFileTrueName=_A,e.getFileType=mh,e.getFileXxHash=Gm,e.getGlobal=yn,e.getObjSize=function(e){let t=0,r=function e(r){if(null!=r)switch(typeof r){case"number":t+=8;break;case"string":t+=2*r.length;break;case"boolean":t+=4;break;case"object":let n=Object.prototype.toString.call(r).slice(8,-1);if("Object"===n||"Array"===n)for(let t in r)r.hasOwnProperty(t)&&e(r[t]);else t+=2*r.toString().length}return t}(e),n=function(e){return e<1024?e+" bytes":e<1048576?(e/1024).toFixed(3)+" KiB":e<1073741824?(e/1048576).toFixed(3)+" MiB":(e/1073741824).toFixed(3)+" GiB"}(r);return{int:r,str:n}},e.getPathParent=IA,e.getTimeBetween=function(e,t,r="days"){let n=Jm(r);if(""===n)return[];let i=Km(e,r),a=Km(t,r);return null===i||null===a||e>=t?[]:Br(Vm(a.diff(i,r)+1),function(e){return i.clone().add(e,r).format(n)})},e.getTimeFromUnit=Jm,e.getTimeHp=Xm,e.getTimeObject=Km,e.getTimeRange=function(e,t){if(!xd(e))return"無起始時間";if(void 0===t&&(t=e),!xd(t))return"結束時間格式錯誤";let n=r(e,"YYYY-MM-DDTHH:mm:ss"),i=r(t,"YYYY-MM-DDTHH:mm:ss"),a=n.format("YYYY-MM-DD"),o=i.format("YYYY-MM-DD");if(a===o){let r=i.format("HH:mm");if(e===t)return Zm(e)+" 至 無";if(e<t)return Zm(e)+" 至 "+r;if(e>t)return Zm(e)+" 至 "+r+" (起始時間大於結束時間)"}else{if(a<o)return Zm(e)+" 至 "+Zm(t);if(a>o)return Zm(e)+" 至 "+Zm(t)+" (起始時間大於結束時間)"}return""},e.getUserAgent=$m,e.getUserAgentDyn=async function(e=null,t){return Pr(t)||(t=["https://cdn.jsdelivr.net/npm/ua-parser-js@2.0.3/dist/ua-parser.min.js"]),await dl(t),$m(e)},e.getltdtkeys=Jr,e.haskey=Ne,e.html2str=async function(e){if(!De(e))return"";let t=await async function(){let e="htmlToText";if(wo(Ce(b,e)))return b;if(wo(Ce(b,["default",e])))return b.default;let t=globalThis,r=null;if(await ws(()=>(r=Ce(t,"ht",null),ke(r)),{attemptNum:4e3,timeInterval:50}),wo(Ce(r,e)))return r;if(wo(Ce(r,["default",e])))return r.default;throw console.log("ht",b,"g.ht",t.ht),new Error("invalid ht, g.ht, g.ht.default, use script for import")}();return t.htmlToText(e,{wordwrap:!1,selectors:[{selector:"script",format:"skip"},{selector:"style",format:"skip"}]})},e.htmlDecode=function(e,t={}){return De(e)?fs.decode(e,t):""},e.htmlEncode=hs,e.importResources=dl,e.interp1=function(e,t,r={}){if(!Be(e))return{err:"ps is not an array"};{let e=!_e(t),r=!Be(t);if(e&&r)return{err:"px is not a number or an array"}}let n=function(e,t={}){if(dn(e)<=0)return[];let r=Ce(t,"keyX");De(r)||(r="x");let n=Ce(t,"keyY");De(n)||(n="y");let i=[];return xr(e,e=>{let t=null,a=null;Be(e)&&dn(e)>=2?(t=Ce(e,0),a=Ce(e,1)):(t=Ce(e,r,null),a=Ce(e,n,null)),_e(t)&&_e(a)&&(t=Fn(t),a=Fn(a),i.push({x:t,y:a}))}),i}(e,r);if(Ce(n,"err"))return Ce(n,"err");if(0===dn(n))return{err:"ps(length=0) is not an effective array",ps:e,psEff:n};if(1===dn(n))return{err:"ps(length=1) is one point only",ps:e,psEff:n};let i=function(e){let t=!0,r=!0;for(let n=1;n<dn(e);n++){let i=e[n-1],a=e[n];if(t&&i.x>a.x&&(t=!1),r&&i.x<a.x&&(r=!1),i.x===a.x)return{err:`x can not be equal: i=${n}, x=${i.x}`}}return t?rv:r?nv:"no"}(n);if("no"===i)return{err:"psEff is not increasing or decreasing"};i===nv&&(i=rv,n=Ro(n));let a=!Be(t);a&&(t=[t]);let o=function(e,t={}){if(dn(e)<=0)return[];let r=Ce(t,"keyX");De(r)||(r="x");let n=[];return xr(e,e=>{let t=null;t=_e(e)?Fn(e):Be(e)&&dn(e)>=1?Ce(e,0):Ce(e,r,null),_e(t)&&(t=Fn(t),n.push({x:t}))}),n}(t,r),s=Ce(r,"mode");"linear"!==s&&"stairs"!==s&&"blocks"!==s&&(s="linear");let c,l=Br(o,(e,t)=>{let i=Ce(e,"x"),a=null;try{"linear"===s?a=function(e,t){let r=iv(e,t);if(r!==ev)return r;let n=null;for(let r=1;r<dn(e);r++){let i=e[r-1],a=e[r];if(i.x<=t&&t<=a.x){n=((t-i.x)*a.y+(a.x-t)*i.y)/(a.x-i.x);break}}return null===n?{err:tv}:n}(n,i):"blocks"===s?a=function(e,t){let r=iv(e,t);if(r!==ev)return r;let n=null;for(let r=1;r<dn(e);r++){let i=e[r-1],a=e[r],o=i.x,s=a.x;if(o<=t&&t<=s){n=a.y;break}}return null===n?{err:tv}:n}(n,i):"stairs"===s&&(a=function(e,t,r={}){let n=Ce(r,"xMin");if(bo(n)){if(n>e[0].x)return{err:`xMin=${n} > ps[0].x=${e[0].x}`};n===e[0].x||(e=[{x:n,y:e[0].y},...e])}let i=Ce(r,"xMax");if(bo(i)){if(i<e[dn(e)-1].x)return{err:`xMax=${i} < ps[size(ps)-1].x=${e[dn(e)-1].x}`};if(i===e[dn(e)-1].x);else{let t={x:i,y:e[dn(e)-1].y};e=[...e,t]}}let a=iv(e,t);if(a!==ev)return a;let o=null;for(let r=0;r<dn(e);r++){let n=Ce(e,r-1,null),i=Ce(e,r,null),a=Ce(e,r+1,null),s=i.x;n&&(s=(n.x+i.x)/2);let c=i.x;if(a&&(c=(a.x+i.x)/2),s<=t&&t<=c){o=i.y;break}}return null===o?{err:tv}:o}(n,i,r))}catch(e){a={err:e.toString()}}return a});return c=a?l[0]:l,c},e.isDate=function(e){let t=e;return De(e)&&(t=new Date(e)),_e(e)&&(t=Ln(e),t=new Date(e)),t instanceof Date&&!isNaN(t)},e.isDev=function(){return!!location&&ns(location.href,"localhost")},e.isEle=Ir,e.isEleExistByID=function(e){return!(!De(e)||null===document.getElementById(e))},e.isEmail=function(e){return!!De(e)&&/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(e)},e.isErr=gm,e.isIE=zu,e.isNarrow=function(e){if(!bn())return!1;let t=window.innerWidth>0&&window.innerWidth<=1024,r=!1;if(e){let t=Ce(e,"clientWidth",0);r=t>0&&t<=700}return t||r},e.isStrHasCapital=cv,e.isStrHasLetter=lv,e.isStrHasLowerCase=uv,e.isStrHasNumber=fv,e.isStrHasSpace=hv,e.isStrHasSymbol=dv,e.isUserIdentify=function(e){let t=is();if(!De(e))return t.reject("身份證字號非有效字串"),t;if(10!==e.length)return t.reject("身份證字號長度非10位"),t;if(isNaN(e.substring(1,10))||!/^[A-Z]$/.test(e.substring(0,1)))return t.reject("身份證格式錯誤,字首需大寫英文"),t;e="ABCDEFGHJKLMNPQRSTUVXYWZIO".indexOf(e.substring(0,1))+10+""+e.substring(1,10);let r=parseInt(e.substring(0,1))+9*parseInt(e.substring(1,2))+8*parseInt(e.substring(2,3))+7*parseInt(e.substring(3,4))+6*parseInt(e.substring(4,5))+5*parseInt(e.substring(5,6))+4*parseInt(e.substring(6,7))+3*parseInt(e.substring(7,8))+2*parseInt(e.substring(8,9))+parseInt(e.substring(9,10)),n=parseInt(e.substring(10,11));return r%10!=0&&10-r%10!==n?(t.reject("非有效身份證"),t):(t.resolve(),t)},e.isUserName=function(e){let t=is();return De(e)?(t.resolve(),t):(t.reject("請填入姓名"),t)},e.isUserPw=function(e,t={}){let r=[],n=Ce(t,"useKeyForError",null);gn(n)||(n=!1);let i=Ce(t,"useOnlyOneError",null);if(gn(i)||(i=!1),Se(e)||(n?r.push("keyInvalidPassword"):r.push("密碼非有效字串")),dn(r)>0)throw new Error(r[0]);let a=Ce(t,"numLenMin","");(!Mn(a)||$i(a)<0)&&(a=8),a=$i(a);let o=Ce(t,"numLenMax","");if((!Mn(o)||$i(o)<0)&&(o=30),o=$i(o),a>o&&(n?r.push("keyLimNumLenMinOrMax"):r.push("設定密碼最小長度大於最大長度")),dn(r)>0)throw new Error(r[0]);let s=Ce(t,"noSpace",null);if(gn(s)||(s=!0),s&&(hv(e)&&(n?r.push("keyLimHasSpace"):r.push("密碼不可包含空白字元")),i&&dn(r)>0))throw new Error(r[0]);let c=Ce(t,"onlyAscii",null);if(gn(c)||(c=!0),c&&(/[^\x20-\x7e]/.test(e)&&(n?r.push("keyLimNonAsciiChar"):r.push("密碼僅允許使用英文大小寫、數字及特殊符號")),i&&dn(r)>0))throw new Error(r[0]);if(dn(e)<a&&(n?r.push("keyLimNumLenMin"):r.push(`密碼長度須大於等於${a}個字元`)),i&&dn(r)>0)throw new Error(r[0]);if(dn(e)>o&&(n?r.push("keyLimNumLenMax"):r.push(`密碼長度須小於等於${o}個字元`)),i&&dn(r)>0)throw new Error(r[0]);let l=Ce(t,"requireLetter",null);gn(l)||(l=!1);let u=Ce(t,"requireUppercase",null);gn(u)||(u=!0);let f=Ce(t,"requireLowercase",null);gn(f)||(f=!0);let h=Ce(t,"requireDigit",null);gn(h)||(h=!0);let d=Ce(t,"requireSpecial",null);if(gn(d)||(d=!0),l&&!lv(e)&&(n?r.push("keyLimRequireLetter"):r.push("密碼須包含至少一個英文字母")),i&&dn(r)>0)throw new Error(r[0]);if(u&&!cv(e)&&(n?r.push("keyLimRequireUppercase"):r.push("密碼須包含至少一個大寫英文字母")),i&&dn(r)>0)throw new Error(r[0]);if(f&&!uv(e)&&(n?r.push("keyLimRequireLowercase"):r.push("密碼須包含至少一個小寫英文字母")),i&&dn(r)>0)throw new Error(r[0]);if(h&&!fv(e)&&(n?r.push("keyLimRequireDigit"):r.push("密碼須包含至少一個數字")),i&&dn(r)>0)throw new Error(r[0]);if(d&&!dv(e)&&(n?r.push("keyLimRequireSpecial"):r.push("密碼須包含至少一個特殊符號")),i&&dn(r)>0)throw new Error(r[0]);let p=Ce(t,"forbiddenChars",null);if(Be(p)||(p=[]),dn(p)>0){for(let t of p)if(e.includes(t)){if(n){r.push("keyLimForbiddenChar");break}r.push(`密碼不可包含字元:${t}`)}if(i&&dn(r)>0)throw new Error(r[0])}let g=Ce(t,"commonPasswordBlacklist",null);if(Be(g)||(g=bv),dn(g)>0){let t=e.toLowerCase();if(g.some(e=>Se(e)&&t===e.toLowerCase())&&(n?r.push("keyLimCommonPassword"):r.push("此密碼為常見弱密碼,不允許使用")),i&&dn(r)>0)throw new Error(r[0])}let A=Ce(t,"account",""),m=Ce(t,"noConsecutiveCharsFromAccount",null);gn(m)||(m=!1);let v=Ce(t,"consecutiveCharsMinMatch","");if(ea(v)||(v=3),v=$i(v),m&&Se(A)&&dn(A)>=v){let t=[...A.toLowerCase()],a=e.toLowerCase(),o=!1;for(let e=0;e<=t.length-v;e++){let r=t.slice(e,e+v).join("");if(a.includes(r)){o=!0;break}}if(o&&(n?r.push("keyLimConsecutiveCharsFromAccount"):r.push(`密碼不可包含與帳號相同之${v}個以上連續字元`)),i&&dn(r)>0)throw new Error(r[0])}if(dn(r)>0)throw new Error(r.join(" | "));return!0},e.isWindow=bn,e.isab=y,e.isarr=Be,e.isarr0=Rr,e.isbigint=Ho,e.isblob=ps,e.isbol=gn,e.isday=_u,e.isearr=Pr,e.iseobj=ke,e.iser=Qr,e.isernot=hh,e.isestr=De,e.isfile=qm,e.isfun=wo,e.isint=Mn,e.ismonth=En,e.isn0int=av,e.isn0num=ov,e.isnan=Fe,e.isnbr=Te,e.isnint=Hg,e.isnnum=function(e){return!!_e(e)&&Ln(e)<0},e.isnull=Or,e.isnum=_e,e.isobj=xe,e.isobj0=Lr,e.isp0int=Ia,e.isp0num=sv,e.ispint=ea,e.ispm=ys,e.ispnum=Ao,e.isstr=Se,e.isstr0=Mr,e.istime=xd,e.istimeTZ=vv,e.istimems=pv,e.istimemsTZ=mv,e.isu16arr=sm,e.isu8arr=es,e.isundefined=Nr,e.j2o=Zo,e.judge=function(e,t,r,n={}){if(!_e(e))throw new Error("x1 is not a number");if(!_e(r))throw new Error("x2 is not a number");let i=Ce(n,"withPreciseNum");if(gn(i)||(i=!0),i&&(e=Zg(e),r=Zg(r)),"==="===t)return e===r||yv(e,r);if("!=="===t)return function(e,t){return!yv(e,t)}(e,r);if(">="===t)return e===r||function(e,t){return new al(e).gte(t)}(e,r);if(">"===t)return function(e,t){return new al(e).gt(t)}(e,r);if("<="===t)return e===r||function(e,t){return new al(e).lte(t)}(e,r);if("<"===t)return function(e,t){return new al(e).lt(t)}(e,r);throw console.log(t),new Error(`invalid op[${t}]`)},e.keysmat2ltdt=wv,e.ltdt2vrtsable=function(e,t=[]){if(!Pr(e))return[];if(!Be(t))return[];let r=!1;if(xr(e,function(e){ke(e)||(r=!0)}),r)return[];let n=Jr(e),i=[];xr(e,function(e){let t={};xr(n,function(r){t[r]={value:e[r].value,style:e[r].style,rowspan:1}}),i.push(t)});let a=Ro(i),o=dn(a);return xr(n,function(e){if(yo(e,t)){let t=oa(0,o,0),r=oa(0,o,0),n=oa(1,o+1,0);xr(a,function(i,o){o>0&&(vo(a[o-1][e].value,a[o][e].value)&&(t[o-1]=1,t[o]=1,n[o]=n[o-1]+1),1===t[o-1]&&1===t[o]&&(r[o-1]=0,r[o]=1))}),xr(a,function(i,o){1===t[o]&&(1===r[o]?a[o][e].rowspan=n[o]:a[o][e].rowspan=null)})}}),Ro(a)},e.ltdtDiff=function(e,t,r={}){if(!Be(e))return{};if(!Be(t))return{};if(0===dn(e)&&0===dn(t))return{};let n=Ce(r,"empty");De(n)||(n="∗empty∗");let i=Jr(e),a=Jr(t),o=Iv(i,a),s={};xr(o,(e,t)=>{s[t]=e});let c=oo(mn(e,o,{empty:n}),mn(t,o,{empty:n}),{...r,mode:"matrix"});return c.dfs=Br(c.dfs,e=>{let t={};xr(e,e=>{e.k=s[e.k],t[e.k]=e});let r={};return xr(o,e=>{r[e]=t[e]}),r}),c},e.ltdtDiffByKey=KA,e.ltdtkeys2mat=mn,e.ltdtkeysheads2mat=vn,e.ltdtmapping=function(e,t,r=""){return Pr(e)&&Pr(t)?Br(e,e=>Jg(e,t,r)):[]},e.ltdtmerge=uA,e.ltdtpick=function(e,t){return Pr(e)&&Pr(t)?Br(e,e=>Kg(e,t)):[]},e.ltdtpull=function(e,t,r){return Be(e)&&Be(t)&&De(r)&&pr(e,e=>xe(e))?0===t.length?e:pr(t,e=>xe(e))?Cv(e,t,r):[]:[]},e.mat2ltdt=function(e){if(!Pr(e))return[];if(e.length<=1)return[];let t=!1;return xr(e,function(e){Pr(e)||(t=!0)}),t?[]:wv(ro(e)[0],(n=null==(r=e)?0:r.length)?Ba(r,1,n):[]);var r,n},e.matConcat=function(e,t){if(!Be(e))return[];if(!Be(t))return[];if(0===dn(e)&&0===dn(t))return[];let r=dn(e),n=dn(Ce(e,0,[])),i=dn(t),a=dn(Ce(t,0,[])),o=[],s=Math.max(r,i);for(let r=0;r<s;r++){let i=[],s=-1;for(let t=0;t<n;t++){s++;let n=Ce(e,`${r}.${t}`,null);i[s]=n}for(let e=0;e<a;e++){s++;let n=Ce(t,`${r}.${e}`,null);i[s]=n}o[r]=i}return o},e.matDiff=function(e,t,r={}){return Be(e)&&Be(t)?0===dn(e)&&0===dn(t)?{}:oo(e,t,{...r,mode:"matrix"}):{}},e.matat=function(e,t,r){return Pr(e)?Br(e,function(e){return Ca(e,t,r)}):[]},e.now2str=FA,e.now2strp=function(){if(!wo(r))throw new Error("invalid dayjs");return r().format("YYYYMMDDHHmmss")},e.nowDay2str=function(){if(!wo(r))throw new Error("invalid dayjs");return r().format("YYYY-MM-DD")},e.nowms2str=function(){if(!wo(r))throw new Error("invalid dayjs");return r().format("YYYY-MM-DDTHH:mm:ss.SSSZ")},e.nowms2strp=function(){if(!wo(r))throw new Error("invalid dayjs");return r().format("YYYYMMDDHHmmssSSS")},e.o2j=An,e.obj2b64=function(e){let t="";try{t=xv(An(e))}catch(e){t=""}return t},e.obj2pb64=function(e,t){return void 0===e?"":De(t)?kv(An({data:e}),t,!0):""},e.obj2str=function(e,t="Uint8Array"){if(Nr(e))return"";if(Se(t))t=[t];else if(!Be(t))return"";let r="";try{r=JSON.stringify(e,function(e,r){return t.indexOf("Uint8Array")>=0&&(r=Ov.u8arr2b64(r)),t.indexOf("Uint16Array")>=0&&(r=Ov.u16arr2b64(r)),r})}catch(e){r=""}return r},e.obj2stru8arr=Lv,e.obj2u8arr=function(e){let t=[],r=[];if(!Pr(e)&&!ke(e))return null;let n=[],i=[];function a(e){n.push(cm(e)),i.push(e)}try{let o=Lv(e);a(Mv(o.results)),xr(o.binarys,e=>{a(e)});let s=n,c=Mv(JSON.stringify(s)),l=new Uint8Array(8);bs(cm(c),l),t.push(l),t.push(c),xr(i,e=>{t.push(e)}),xr(t,e=>{r=function(e,t){let r=cm(e),n=cm(t),i=new Uint8Array(r+n);return i.set(new Uint8Array(e),0),i.set(new Uint8Array(t),r),i}(r,e)})}catch(e){return null}return r},e.objSortBy=Rv,e.objSortByKeys=function(e,t){if(!ke(e))return{};if(!Pr(t))return{};let r={};return xr(t,(e,t)=>{r[e]=t}),Rv(e,(e,t)=>Ce(r,t,0))},e.oo=function(e){if(void 0!==e)return Zo(An(e))},e.openLink=function(e){if(!De(e))return;let t=document.createElement("a");t.href=e,t.target="_blank",document.body.appendChild(t),t.click(),document.body.removeChild(t)},e.pb642obj=function(e,t){return De(e)&&De(t)?Zo(li(e,t,!0)).data:""},e.pm2resolve=Ug,e.pmChain=function(e,t=null){if(!Be(e)){let e=is();return e.reject("pms is not an array"),e}return e.reduce((e,t)=>e.then(t),Promise.resolve(t))},e.pmConvertResolve=Pg,e.pmDebounce=function(e=300){return new function(e){let t=[],r=null,n=null,i="wait";return ea(e)||(e=300),e=$i(e),function(a,...o){wo(a)?((null===n||"wait"===i)&&(n=Date.now()),t.push({func:a,input:o,output:null}),null===r&&"wait"===i&&(r=setInterval(()=>{if(null===n)throw new Error("invalid tLast");if("wait"!==i)return;if("wait"===i&&0===t.length)return clearInterval(r),r=null,void(n=null);let a=Date.now();if(a-n>e){i="doing",n=a;let e=t.pop();t=[];let r=e.func(...e.input);ys(r)?r.then(t=>{e.output=t}).catch(t=>{e.output={err:t}}).finally(()=>{i="wait",n=Date.now()}):(e.output=r,i="wait")}"wait"===i&&0===t.length&&(clearInterval(r),r=null,n=null)},20))):console.log("func is not a function")}}(e)},e.pmHook=Qv,e.pmHookReject=function(e,t=()=>{}){return wo(e)?(wo(t)||(t=()=>{}),Qv(e,e=>{if("afterCatch"===e.mode)return t(e.data)})):null},e.pmIni=function(){return Promise.resolve()},e.pmInvResolve=function(e,t={}){if(!ys(e))throw new Error("pm is not a promise");let r=Ce(t,"thenExtractData");gn(r)||(r=!1);let n=is();return e.then(e=>{r&&(e=Ce(e,"data"));let t=Ce(e,"state",""),i=Ce(e,"msg",{});"success"===t?n.resolve(i):"cancelled"===t?n.reject({reason:"cancelled"}):n.reject(i)}).catch(e=>{n.reject(e)}),n},e.pmKeyMutex=function(){return new function(){let e=new Map,t=new Map;return async(r,n)=>{let i=(e.get(r)||Promise.resolve()).then(async()=>await n(),async()=>await n());e.set(r,i.catch(()=>{})),t.set(r,(t.get(r)||0)+1);try{return await i}finally{let n=t.get(r)-1;n<=0?(t.delete(r),e.delete(r)):t.set(r,n)}}}},e.pmMap=function(e,t,r=0){let n={},i=!1,a=is();if(!Be(e)&&!xe(e))return a.reject("rs is not an array or object"),a;if(0===dn(e))return a.resolve([]),a;let o=!1;if(xe(e)){o=!0;let t=[];xr(e,(e,r)=>{t.push({k:r,v:e})}),e=t}let s=jg(r);return s.on("message",function(r){if(i)return;let c,l=s.get();if(wo(t)){let e=l.key,r=l.value;if(o&&(e=l.value.k,r=l.value.v),c=t(r,e),!ys(c))throw new Error("return of fun is not a promise")}else c=l.value;c.then(e=>{n[l.key]=e}).catch(e=>{i=!0,s.clear(),a.reject(e)}).finally(()=>{s.cb(),dn(n)===dn(e)&&a.resolve(nA(n))})}),xr(e,(e,t)=>{s.push({key:t,value:e})}),a},e.pmQueue=qg,e.pmSeries=ll,e.pmThrottle=function(){let e=Vi(),t=[],r=null,n=!1;return function(i,...a){let o=is();if(!wo(i))return void console.log("func is not a function");let s=Mu();return t.push({id:s,func:i,input:a}),null===r&&(r=setInterval(async()=>{if(n)return;n=!0;let i=t.pop();for(let r=0;r<t.length;r++){let n=t[r].id,i={state:"cancelled"};e.emit(n,i)}if(t=[],i){let t,r=i.id;t=wo(i.func)?await Ug(i.func)(...i.input):{state:"error",msg:"fun is not a function"},e.emit(r,t)}n=!1,n||0!==t.length||(clearInterval(r),r=null)},20)),e.once(s,e=>{"success"===e.state?o.resolve(e.msg):"cancelled"===e.state?o.reject({reason:"cancelled"}):o.reject(e.msg)}),o}},e.preciseNum=Zg,e.pseudoRandom=Hv,e.pseudoRandomIntRange=function(e=0,t=100,r="start1"){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),e>(t=$i(t)))throw new Error(`vstart[${e}] > vend[${t}]`);let n=Hv(r)*(t-e+1)+e;return n=Math.floor(n),n},e.pseudoRandomIntsNdpRange=function(e=0,t=100,r,n="start1"){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),t=$i(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let i=Hv(n,!0),a=[],o=t-e;for(let r=0;r<=o;r++){let r=i()*(t-e+1)+e;r=Math.floor(r),a.push(r)}let s=Ko(a,{returnIndex:!0});return s=ro(s,r),s},e.pseudoRandomIntsRange=function(e=0,t=100,r,n="start1"){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),t=$i(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let i=Hv(n,!0),a=[];for(let n=1;n<=r;n++){let r=i()*(t-e+1)+e;r=Math.floor(r),a.push(r)}return a},e.pseudoRandomRange=function(e=0,t=1,r="start1"){if(_e(e)||(e=0),e=Ln(e),_e(t)||(t=1),e>(t=Ln(t)))throw new Error(`vstart[${e}] > vend[${t}]`);return Hv(r)*(t-e)+e},e.pseudoRandomsRange=function(e=0,t=1,r=1,n="start1"){if(_e(e)||(e=0),e=Ln(e),_e(t)||(t=1),t=Ln(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let i=Hv(n,!0),a=[];for(let n=1;n<=r;n++){let r=i()*(t-e)+e;a.push(r)}return a},e.queue=jg,e.random=qv,e.randomIntRange=function(e=0,t=100){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),e>(t=$i(t)))throw new Error(`vstart[${e}] > vend[${t}]`);let r=qv()*(t-e+1)+e;return r=Math.floor(r),r},e.randomIntsNdpRange=function(e=0,t=100,r){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),t=$i(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);return function(e,t,r){return t=(r?dr(e,t,r):void 0===t)?1:On(t),(I(e)?Jv:Kv)(e,t)}(oa(e,t+1),r)},e.randomIntsRange=function(e=0,t=100,r){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),t=$i(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let n=[];for(let i=1;i<=r;i++){let r=qv()*(t-e+1)+e;r=Math.floor(r),n.push(r)}return n},e.randomRange=function(e=0,t=1){if(_e(e)||(e=0),e=Ln(e),_e(t)||(t=1),e>(t=Ln(t)))throw new Error(`vstart[${e}] > vend[${t}]`);return qv()*(t-e)+e},e.randomsRange=function(e=0,t=1,r=1){if(_e(e)||(e=0),e=Ln(e),_e(t)||(t=1),t=Ln(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let n=[];for(let i=1;i<=r;i++){let r=qv()*(t-e)+e;n.push(r)}return n},e.rang=function(e,t,r=2){if(!_e(e))return[];if(e=Ln(e),!_e(t))return[];if(t=Ln(t),ea(r)||(r=2),(r=$i(r))<=0)throw new Error(`num[${r}] <= 0`);let n=(t-e)/r,i=e,a=[];for(let e=0;e<=r;e++)a.push(i),i+=n;return a},e.rep=function(e,t){return De(e)&&Ia(t)?Zv(e,t):""},e.repObj=function(e,t){return Qr(e)?[]:ea(t)?Vm(t,fa(e)):[]},e.replace=gl,e.replaceObj=function(e,t){return De(e)&&ke(t)?(xr(t,function(e,t){e=xe(e)||Be(e)?JSON.stringify(e):jo(e)}),xr(t,function(t,r){e=gl(e,r,t)}),e):""},e.replacePlus=function(e,t,r,n=null,i){if(!De(e)||!De(t)||!De(r))return"";if(!Se(i))return"";let a="[\\s\\S]*";De(n)&&(a="[^"+n+"]*");let o=new RegExp(t+a+r,"g");return e.replace(o,i)},e.round=Xg,e.secd=function(e){return _e(e)?1/Su(e=Ln(e)):null},e.sep=lo,e.sepInt=function(e,t,r=!0){if(!Mn(e))return[];if(!Ia(t))return[];if(!gn(r))return[];let n=eb(e/t),i=e-n*t,a=[];for(let e=1;e<=t;e++){let t=n;e<=i&&(t=n+1),a.push(t)}return r&&(a=Ro(a)),a},e.setIntervalHp=function(e,t=1){let r=yn(),n=bn(),i=e=>{r.setTimeout(e,1)},a=e=>{r.requestAnimationFrame(e)},o=null;o=n?a:i;let s=Xm(),c=!0,l=s(),u=()=>{if(c){if(s()-l>=t){try{e()}catch(e){console.log(e)}l=s()}o(u)}};return o(u),()=>{c=!1}},e.setTimeoutHp=function(e,t=1){let r=yn(),n=bn(),i=e=>{r.setTimeout(e,1)},a=e=>{r.requestAnimationFrame(e)},o=null;o=n?a:i;let s=Xm(),c=!0,l=s(),u=()=>{if(c){if(s()-l>=t){c=!1;try{e()}catch(e){console.log(e)}}o(u)}};return o(u),null},e.sind=Fu,e.split=co,e.str2aes=kv,e.str2b64=xv,e.str2hint=Pv,e.str2md5=function(e,t=!1){if(!De(e))return"";if(!gn(t))return"";let r=tb(e),n="";return n=t?r.toString(Gn):r.toString(ci),n},e.str2obj=function(e,t="Uint8Array"){if(Se(t))t=[t];else if(!Be(t))return{};let r={};try{r=JSON.parse(e,function(e,r){return t.indexOf("Uint8Array")>=0&&(r=Ov.b642u8arr(r)),t.indexOf("Uint16Array")>=0&&(r=Ov.b642u16arr(r)),r})}catch(e){r={}}return r},e.str2sha512=function(e,t=!1){if(!De(e))return"";if(!gn(t))return"";let r=ib(e),n="";return n=t?r.toString(Gn):r.toString(ci),n},e.str2u8arr=Mv,e.strCompare=ab,e.strDiff=no,e.strDiffToHtml=function(e,t,r={}){if(!Se(e))return"";if(!Se(t))return"";if(""===e&&""===t)return"";let n=Ce(r,"useNormNewline");gn(n)||(n=!0),n&&(e=(e=e.replaceAll("\r\n","\n")).replaceAll("\r","\n"),t=(t=t.replaceAll("\r\n","\n")).replaceAll("\r","\n"));let i=Gf(),a=eo("file","file",e,t),o=i.html(a,{drawFileList:!1,matching:"none",diffStyle:"char",outputFormat:"line-by-line"}),s=Wa(o,"\n"),c="",l=!1;return xr(s,e=>{'<div class="d2h-code-line">'===so(e)&&(l=!0),e.indexOf('class="d2h-code-line-prefix"')>=0&&(e=e.replaceAll('class="d2h-code-line-prefix"','class="d2h-code-line-prefix" style="display:inline-block; width: 0.7rem;"')),e.indexOf("<del>")>=0&&(e=e.replaceAll("<del>",'<del style="color:#f26; background:#ffefd5;">')),e.indexOf("<ins>")>=0&&(e=e.replaceAll("<ins>",'<ins style="color:#090; background:#e4fed1;">')),l&&(c+=e+"\n"),l&&"</div>"===so(e)&&(l=!1)}),o=c,o},e.strFindFuzz=function(e,t,r=!1){let n="";if(De(e)||_e(e))n=jo(e);else{if(!Pr(e))return!!r&&0;n=ka(e,"")}if(""===t)return!r||100;if(Qr(t))return!!r&&0;if(ns(n,t))return!r||100;let i=Br(lo(t," "),function(e){return((e,t)=>{let r=new oy([e],{includeScore:!0}).search(t);r=Ce(r,0);let n=Ce(r,"score",1);return n=1-n,n*=100,n})(n,e)});if(r)return sy(i);{let e=80;return pr(i,function(t){return t>=e})}},e.strFindSimilar=function(e,t){let r="";if(De(e)||_e(e))r=jo(e);else{if(!Pr(e))return{};r=ka(e,"")}return _e(t)&&(t=jo(t)),De(t)&&(t=[t]),Pr(t)?function(e,t){let r=[],n=0;for(let i=0;i<t.length;i++){let a=t[i],o=ab(e,a);r.push({target:a,rating:o}),o>r[n].rating&&(n=i)}return{ratings:r,bestMatch:r[n],bestMatchIndex:n}}(r,t=Br(t,function(e){return jo(e)})):{}},e.strdelleft=ho,e.strdelright=Wo,e.strleft=uo,e.strmid=Al,e.strright=fo,e.stru8arr2obj=cy,e.tand=Du,e.time2day=function(e){return xd(e)?r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DD"):""},e.time2hour=function(e){return xd(e)?r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DDTHH"):""},e.time2min=Zm,e.timeTZ2day=function(e){return vv(e)?(e=Av.delTZ(e),r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DD")):""},e.timeTZ2expire=function(e,t=null){return vv(e)?ly(e=fy(e),t=fy(t)):{today:null,msg:"",err:"時間格式錯誤"}},e.timeTZ2hour=function(e){return vv(e)?(e=Av.delTZ(e),r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DDTHH")):""},e.timeTZ2min=function(e){return vv(e)?(e=Av.delTZ(e),r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DDTHH:mm")):""},e.timeTZ2past=function(e,t=null){return vv(e)?uy(e=hy(e),t=hy(t)):{today:null,msg:"",err:"時間格式錯誤"}},e.timems2day=function(e){return pv(e)?r(e,"YYYY-MM-DDTHH:mm:ss.SSS").format("YYYY-MM-DD"):""},e.timems2hour=function(e){return pv(e)?r(e,"YYYY-MM-DDTHH:mm:ss.SSS").format("YYYY-MM-DDTHH"):""},e.timems2min=function(e){return pv(e)?r(e,"YYYY-MM-DDTHH:mm:ss.SSS").format("YYYY-MM-DDTHH:mm"):""},e.timems2time=function(e){return pv(e)?r(e,"YYYY-MM-DDTHH:mm:ss.SSS").format("YYYY-MM-DDTHH:mm:ss"):""},e.timemsTZ2day=function(e){return mv(e)?(e=Av.delTZ(e),r(e).format("YYYY-MM-DD")):""},e.timemsTZ2expire=ly,e.timemsTZ2hour=function(e){return mv(e)?(e=Av.delTZ(e),r(e).format("YYYY-MM-DDTHH")):""},e.timemsTZ2min=function(e){return mv(e)?(e=Av.delTZ(e),r(e).format("YYYY-MM-DDTHH:mm")):""},e.timemsTZ2past=uy,e.timemsTZ2time=function(e){return mv(e)?(e=Av.delTZ(e),r(e).format("YYYY-MM-DDTHH:mm:ss")):""},e.treeObj=xu,e.treeToFilepath=function(e,t={}){if(!Pr(e))return[];let r=Ce(t,"delimiter");De(r)||(r="/");let n=Ce(t,"bindRoot");De(n)||(n="root");let i=[];return xu(e,(e,t,a)=>{let o=Ce(e,"_type","");if("folder"!==o&&"file"!==o)return e;let s=Br(Ce(e,"pathInfors",[]),"name"),c=Ce(s,0,"")===n;if(1===dn(s)&&c)return e;c&&(s=qo(s));let l={type:o,path:r+ka(s,r)};return i.push(l),e},{force:!0}),i},e.trim=Go,e.u16arr2b64=Fv,e.u16arr2u8arr=Tv,e.u8arr2ab=function(e){return es(e)?e.buffer:new ArrayBuffer},e.u8arr2b64=Dv,e.u8arr2blob=Vg,e.u8arr2bs=function(e){if(!es(e))return"";let t=e.length,r="";for(let n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r},e.u8arr2obj=function(e){let t=null;if(!es(e))return null;try{let r=8,n=e.slice(0,r),i=e.slice(r,cm(e)),a=ms(n),o=i.slice(0,a),s=i.slice(a,cm(i)),c=dy(o),l=function(e,t){let r=0,n=0,i=[];return xr(t,t=>{n=r+t;let a=e.slice(r,n);r=n,i.push(a)}),i}(s,JSON.parse(c));t=cy({results:dy(l.shift()),binarys:l})}catch(e){}return t},e.u8arr2str=dy,e.u8arr2u16arr=ts,e.urlParse=function(e){if(!De(e))return{};if(!De(e=Ce(e=Wa(e,"?"),"[1]")))return{};let t=Wa(e,"&");return t=Br(t,function(e){return Wa(e,"=")}),t=function(e){for(var t=-1,r=null==e?0:e.length,n={};++t<r;){var i=e[t];hi(n,i[0],i[1])}return n}(t),t},e.verifyValue=function(e,t,r={}){let n=!1,i="";if("isstr"===t)Se(e)||(n=!0,i="需要為字串",e="");else if("isnum"===t)_e(e)||(n=!0,i="需要為數字",e=0);else if("isp0num"===t)sv(e)||(n=!0,i="需要為含0的正浮點數",e=0);else if("isn0num"===t)ov(e)||(n=!0,i="需要為含0的負浮點數",e=0);else if("isint"===t)Mn(e)||(n=!0,i="需要為整數",e=0);else if("ispint"===t)ea(e)||(n=!0,i="需要為不含0正整數",e=0);else if("isp0int"===t)Ia(e)||(n=!0,i="需要為含0正整數",e=0);else if("isnint"===t)Hg(e)||(n=!0,i="需要為不含0負整數",e=0);else if("isn0int"===t)av(e)||(n=!0,i="需要為含0負整數",e=0);else if("custom"===t){let t=Ce(r,"funCustom");if(!wo(t))throw new Error("invalid opt.funCustom when type='custom'");let a=t(e);if(!gn(a.err))throw new Error("invalid return.err for type='custom'");if(a.err&&!De(a.errmsg))throw new Error("invalid return.errmsg when return.err=true for type='custom'");if(!_e(a.value)&!Se(a.value))throw new Error("invalid return.value for type='custom'");n=a.err,i=a.errmsg,e=a.value}else wo(t)?e=t(e):"any"===t?_e(e)||Se(e)||(n=!0,i="需要為字串或數字",e=""):(n=!0,i="需要指定驗證類型",e=null);return{value:e,err:n,errmsg:i}},e.waitFun=ws}(c,kd(),Sa(),(Xd||(Xd=1,function(e,t){var r=zd(),n=tp(),i=rp();function a(e,t){return new i(t).process(e)}(t=e.exports=a).filterXSS=a,t.FilterXSS=i,function(){for(var e in r)t[e]=r[e];for(var i in n)t[i]=n[i]}(),"undefined"!=typeof window&&(window.filterXSS=e.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=e.exports)}(Qd,Qd.exports)),Qd.exports),e,r,n,function(){if($d)return Zd;$d=1;var e=n,t=e.spawn,r=e.exec;function i(e,t,r){var n={};try{Object.keys(e).forEach(function(r){e[r].forEach(function(e){n[e]||(a(e,t),n[e]=1)}),n[r]||(a(r,t),n[r]=1)})}catch(e){if(r)return r(e);throw e}if(r)return r()}function a(e,t){try{process.kill(parseInt(e,10),t)}catch(e){if("ESRCH"!==e.code)throw e}}function o(e,t,r,n,i){var a=n(e),s="";a.stdout.on("data",function(e){e=e.toString("ascii"),s+=e}),a.on("close",function(a){delete r[e],0==a?s.match(/\d+/g).forEach(function(a){a=parseInt(a,10),t[e].push(a),t[a]=[],r[a]=1,o(a,t,r,n,i)}):0==Object.keys(r).length&&i()})}return Zd=function(e,n,a){if("function"==typeof n&&void 0===a&&(a=n,n=void 0),e=parseInt(e),Number.isNaN(e)){if(a)return a(new Error("pid must be a number"));throw new Error("pid must be a number")}var s={},c={};switch(s[e]=[],c[e]=1,process.platform){case"win32":r("taskkill /pid "+e+" /T /F",a);break;case"darwin":o(e,s,c,function(e){return t("pgrep",["-P",e])},function(){i(s,n,a)});break;default:o(e,s,c,function(e){return t("ps",["-o","pid","--no-headers","--ppid",e])},function(){i(s,n,a)})}}}(),t,i,a,o,sg,d,lg(),Om())}(vd,vd.exports);var Lm=Ca(vd.exports);let Mm={runStrategy:ia,runStrategies:sa,runStrategiesAndBacktest:async(t,r,n,i,a,o,s,c={})=>{if(!ua(r))throw new Error(`fdOhlc[${r}] is not a forder`);if(!ua(n))throw new Error(`fdParam[${n}] is not a forder`);if(!jn(i))throw new Error("invalid strategies");let l=lt(c,"writeOrders",!0),u=lt(c,"writeSummary",!0),f=lt(c,"writeReport",!0),h=Fa(r,n),d=await h.buildGetTimeSeriesByTimeRange(a,o),p=await sa(t,i,d,{});if(p.name="全部策略",l){let t="orders.json",r=e.resolve(s,t);Ma(r,p.orders,{structured:!0})}if(u){let t="summary.json",r=e.resolve(s,t),n={name:p.name,summary:p.summary};Ma(r,n,{structured:!0}),console.log("summary",p.summary,Gt(p.orders))}if(f){let t="report.html",r=e.resolve(s,t);La(p,r)}return p},calcOrders:Xi,calcOrdersRatio:Zi,calcOrdersSummary:na,calcOrdersSummarySimple:(e,t,r,n,i,a={})=>{a&&a.skipSort||(r=r.slice().sort((e,t)=>e.timeStart<t.timeStart?-1:e.timeStart>t.timeStart?1:0));let o=r.length,s=0,c=0,l="",u=new Map;for(let e of r)qn(e.modeResult)&&(s++,"profit"===e.modeResult&&c++,l=e.uEquity),u.set(e.timeStart,(u.get(e.timeStart)||0)+e.uTrade),qn(e.timeEnd)&&u.set(e.timeEnd,(u.get(e.timeEnd)||0)-e.uTrade);let f=[...u.keys()].sort(),h=0,d=new Map;for(let e of f)h+=u.get(e),d.set(e,h);let p=0;for(let e of r){let t=Math.abs(d.get(e.timeStart));t>p&&(p=t)}let g,A=Ki(c/s*100,2)+"%",m=Ki(p/t*100,2)+"%",v=e(i).diff(e(n),"day"),b=v/365;g=`${Ki(100*(0===p||0===b?0:(l-t)/p/b),2)}%`;return{numTrade:o,numTradeFin:s,rWin:A,uTradeAllMax:p,rTradeAllMax:m,uEquityFinal:l,btDays:v,btYears:Ki(b,1),rEquivalentCumuProfitOrLossFinalNormYear:g,timeOhlcStart:n,timeOhlcEnd:i}},calcSummary:oa,closeAndSummaryOrders:async(t,r,n,i,a,o,s,c,l,u={})=>{if(!ua(r))throw new Error(`fdOhlc[${r}] is not a forder`);if(!ua(n))throw new Error(`fdParam[${n}] is not a forder`);if(!ra(i))throw new Error(`uIni[${i}] is not a positive number`);if(!qn(a))throw new Error(`invalid timeOhlcStart[${a}]`);if(!qn(o))throw new Error(`invalid timeOhlcEnd[${o}]`);if(!qn(s))throw new Error(`invalid keyOhlc[${s}]`);if(!Rn(c))throw new Error(`invalid ordersSubmit[${c}]`);if(!qn(l))throw new Error(`invalid fdTest[${l}]`);let f=lt(u,"writeOrders",!0),h=lt(u,"writeSummary",!0),d=lt(u,"writeReport",!0),p=Fa(r,n),g=t(a),A=t(o).diff(g,"hour")/4;if(A!==Ri(A))throw new Error(`timeOhlcStart[${a}] to timeOhlcEnd[${o}] are not hour intervals`);let m=await p.buildGetTimeSeriesByTimeRange(a,o),v=await m(s),b=await Xi(v,c,{uIni:i}),y=await oa(t,i,b,a,o);console.log("summary",y,Gt(b));let w={name:"全部策略",orders:b,summary:y};if(f){let t="orders.json",r=e.resolve(l,t);Ma(r,w.orders,{structured:!0})}if(h){let t="summary.json",r=e.resolve(l,t);Ma(r,{name:w.name,summary:w.summary},{structured:!0}),console.log("summary",w.summary,Gt(w.orders))}if(d){let t="report.html",r=e.resolve(l,t);La(w,r)}},genReport:async(r,n,i={})=>{if(!Lm.isestr(n))throw new Error("invalid fpOrders");if(!Lm.fsIsFile(n))throw new Error(`fpOrders[${n}] is not a file`);let a=(e=>{if(!Lm.fsIsFile(e))throw new Error(`fp[${e}] does not exist`);let r=null;try{let n=t.readFileSync(e,"utf8");r=JSON.parse(n)}catch(e){console.log(e)}return r})(n);if(!Lm.isearr(a))throw new Error(`orders in fpOrders[${n}] is not an effective array`);let o=ao.get(i,"fpOut","");Lm.isestr(o)||(o=e.resolve(e.dirname(n),"report.html"));let s=ao.get(i,"name","");Lm.isestr(s)||(s=e.basename(e.dirname(e.resolve(n))));let c=ao.get(i,"uIni",null);if(!Lm.isnum(c)){let e=ao.find(a,e=>Lm.isnum(e.uEquity)&&Lm.isnum(e.uCumuProfitOrLoss));c=e?e.uEquity-e.uCumuProfitOrLoss:1e3}let l=ao.get(i,"timeOhlcStart","");Lm.isestr(l)||(l=ao.min(ao.map(a,"timeStart")));let u=ao.get(i,"timeOhlcEnd","");Lm.isestr(u)||(u=ao.max(ao.map(a,e=>Lm.isestr(e.timeEnd)?e.timeEnd:e.timeStart)));let f=ao.get(i,"withWriteSummary",!1),h=await oa(r,c,a,l,u);return f&&Ma(e.resolve(e.dirname(o),"summary.json"),{name:s,summary:h},{structured:!0}),La({name:s,orders:a,summary:h},o),{orders:a,summary:h,fpOut:o}},genReportCore:La};return Mm});
|
|
31
|
+
}function pv(e){if(!De(e))return!1;let t="YYYY-MM-DDTHH:mm:ss.SSS";return e===r(e,t).format(t)}function gv(e){let t;return t=fo(e,1),"Z"===t?`${e=Wo(e,1)}+00:00`:e}let Av={checkTZ:function(e){let t;return t=fo(e,1),"Z"===t||(t=fo(e,6),!!/[+|-]\d\d:\d\d/.test(t))},delTZ:function(e){let t;return t=fo(e,1),Wo(e,"Z"===t?1:6)},normTZ:gv,sepTZ:function(e){let t=gv(e);return{t:Wo(t,6),tz:fo(t,6)}}};function mv(e){if(!De(e))return!1;if(!Av.checkTZ(e))return!1;let t=Av.delTZ(e),n="YYYY-MM-DDTHH:mm:ss.SSS";return t===r(t,n).format(n)}function vv(e){if(!De(e))return!1;if(!Av.checkTZ(e))return!1;let t=Av.delTZ(e),n="YYYY-MM-DDTHH:mm:ss";return t===r(t,n).format(n)}let bv=["1234","12345","123456","1234567","12345678","123456789","1234567890","12345678910","111111","000000","666666","888888","7777777","11111111","123123","123321","654321","987654321","qwerty","qwerty123","qwerty1","qwertyuiop","qazwsx","1q2w3e4r","1q2w3e4r5t","1q2w3e","1qaz2wsx","zxcvbnm","password","password1","passw0rd","admin","admin123","welcome","letmein","login","master","monkey","dragon","shadow","sunshine","superman","batman","football","baseball","soccer","hockey","michael","jordan","jennifer","hunter","ranger","harley","thomas","charlie","andrew","daniel","ashley","bailey","mustang","access","secret","ninja","jesus","hello","freedom","trustno1","1qaz@WSX","P@ssw0rd","Pass@123","Aa123456","Aa@123456","Admin@123","abc@123","abc123","abcdef","abcd1234","abc","iloveyou","fuckyou","f*ckyou","whatever","nothing","google","computer","internet","samsung","apple","killer","princess","lovely","tigger","starwars","pokemon","minecraft","123qwe","zaq1zaq1","photoshop","adobe123","18atcskd2w","mynoob"];function yv(e,t){return new al(e).eq(t)}function wv(e,t){return Pr(e)&&Pr(t)&&Pr(t[0])?Br(t,function(t){let r=ta(e,t);return xr(r,function(e,t){void 0===e&&(r[t]="")}),r}):[]}var Iv=Po(function(e){return zr(Tr(e,1,Ad,!0))}),Ev=Po(function(e,t){var r=To(t);return Ad(r)&&(r=void 0),Ad(e)?function(e,t,r,n){var i=-1,a=qr,o=!0,s=e.length,c=[],l=t.length;if(!s)return c;r&&(t=Ae(t,Xe(r))),n?(a=Wr,o=!1):t.length>=200&&(a=yt,o=!1,t=new vt(t));e:for(;++i<s;){var u=e[i],f=null==r?u:r(u);if(u=n||0!==u?u:0,o&&f==f){for(var h=l;h--;)if(t[h]===f)continue e;c.push(u)}else a(t,f,n)||c.push(u)}return c}(e,Tr(t,1,Ad,!0),hr(r)):[]}),Cv=Ev;function xv(e){if(!De(e))return"";let t=oi.parse(e);return Gn.stringify(t)}function kv(e,t,r=!1){if(!De(e))return"";if(!De(t))return"";if(!gn(r))return"";let n=ii.encrypt(e,t),i="";if(r)i=n.toString();else{let e=n.toString();i=Gn.parse(e).toString(ci)}return i}var Bv={exports:{}};!function(e){var t;e.exports=(t=jn(),function(){if("function"==typeof ArrayBuffer){var e=t.lib.WordArray,r=e.init,n=e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,n=[],i=0;i<t;i++)n[i>>>2]|=e[i]<<24-i%4*8;r.call(this,n,t)}else r.apply(this,arguments)};n.prototype=e}}(),t.lib.WordArray)}(Bv);var Sv=Qn(Bv.exports);function Dv(e){return es(e)?Sv.create(e).toString(Gn):""}function Tv(e){return sm(e)?new Uint8Array(e):new Uint8Array}function Fv(e){return sm(e)?Dv(Tv(e)):""}let _v="[Uint8Array]::",Nv="[Uint16Array]::",Ov={tagU8A:_v,u8arr2b64:function(e){return es(e)?_v+Dv(e):e},b642u8arr:function(e){return Se(e)&&uo(e,14)===_v?$o(e=ho(e,14)):e},tagU16A:Nv,u16arr2b64:function(e){return sm(e)?Nv+Fv(e):e},b642u16arr:function(e){return Se(e)&&uo(e,15)===Nv?rs(e=ho(e,15)):e}};function Lv(e){if(!xe(e))return{results:"",binarys:[]};if(Lr(e))return{results:"",binarys:[]};let t="",r=[];try{let n=-1;t=JSON.stringify(e,function(e,t){if(es(t)){n+=1;let e=`[Uint8Array]::${n}`;return r.push(t),e}if(sm(t)){n+=1;let e=`[Uint16Array]::${n}`;return r.push(t),e}if(y(t)){n+=1;let e=`[ArrayBuffer]::${n}`;return r.push(t),e}return pm(t)&&(t=t.toString()),t})}catch(e){}return{results:t,binarys:r}}function Mv(e){if(!De(e))return new Uint8Array;let t;try{t=$o(xv(e))}catch(e){return new Uint8Array}return t}function Rv(e,t){if(!ke(e))return{};if(!wo(t))throw new Error("fun is not a function");let r=Br(e,(e,r)=>({k:r,v:e,t:t(e,r)}));r=Uo(r,"t");let n={};return xr(r,e=>{n[e.k]=e.v}),n}function Qv(e,t=()=>{}){if(!wo(e))return null;function r(e,t){let r;return Or(e)||Nr(e)?t:(r=Ce(e,"data",null),r||e)}return wo(t)||(t=()=>{}),function(){let n,i=is(),a=t({mode:"before",data:arguments});return(Or(a)||Nr(a))&&(a=arguments),e(...a).then(e=>{n=t({mode:"afterThen",data:e}),e=r(n,e),i.resolve(e)}).catch(e=>{n=t({mode:"afterCatch",data:e}),e=r(n,e),i.reject(e)}),i}}function Pv(e){return Se(e)?""===e?0:e.split("").reduce((e,t)=>t.charCodeAt(0)+(e<<6)+(e<<16)-e,0):null}let Uv=0;function Hv(e="start1",t=!1){void 0===e?e=(new Date).getTime():"start1"===e&&(Uv++,e=Uv);let r=624,n=397,i=2147483648,a=2147483647,o=new Array(r),s=625,c=e=>{for(bo(e)?o[0]=e>>>0:(e=jo(e),o[0]=Pv(e)),s=1;s<r;s++){let e=o[s-1]^o[s-1]>>>30;o[s]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+s,o[s]>>>=0}},l=()=>(()=>{let e,t=new Array(2567483615);if(s>=r){let l;for(625===s&&c(5489),l=0;l<227;l++)e=o[l]&i|o[l+1]&a,o[l]=o[l+n]^e>>>1^t[1&e];for(;l<623;l++)e=o[l]&i|o[l+1]&a,o[l]=o[l+(n-r)]^e>>>1^t[1&e];e=o[623]&i|o[0]&a,o[623]=o[396]^e>>>1^t[1&e],s=0}return e=o[s++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0})()*(1/4294967296);c(e);let u=null;return u=t?l:l(),u}let jv=Hv((new Date).getTime(),!0);function qv(){return jv()}function Wv(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e}var Gv=Math.floor,Yv=Math.random;function zv(e,t){return e+Gv(Yv()*(t-e+1))}function Vv(e,t){var r=-1,n=e.length,i=n-1;for(t=void 0===t?n:t;++r<t;){var a=zv(r,i),o=e[a];e[a]=e[r],e[r]=o}return e.length=t,e}function Jv(e,t){return Vv(Fr(e),Wv(t,0,e.length))}function Kv(e,t){var r=nA(e);return Vv(r,Wv(t,0,r.length))}var Xv=Math.floor;function Zv(e,t,r){return t=(r?dr(e,t,r):void 0===t)?1:On(t),function(e,t){var r="";if(!e||t<1||t>9007199254740991)return r;do{t%2&&(r+=e),(t=Xv(t/2))&&(e+=e)}while(t);return r}(ye(e),t)}var $v,eb=Xi("floor"),tb=Qn(zn()),rb={exports:{}},nb={exports:{}};!function(e){var t;e.exports=(t=jn(),$v||($v=1,function(e){var t,r,n,i,a,o,s;e.exports=(n=(r=s=jn()).lib,i=n.Base,a=n.WordArray,(o=r.x64={}).Word=i.extend({init:function(e,t){this.high=e,this.low=t}}),o.WordArray=i.extend({init:function(e,r){e=this.words=e||[],this.sigBytes=r!=t?r:8*e.length},toX32:function(){for(var e=this.words,t=e.length,r=[],n=0;n<t;n++){var i=e[n];r.push(i.high),r.push(i.low)}return a.create(r,this.sigBytes)},clone:function(){for(var e=i.clone.call(this),t=e.words=this.words.slice(0),r=t.length,n=0;n<r;n++)t[n]=t[n].clone();return e}}),s)}(nb)),function(){var e=t,r=e.lib.Hasher,n=e.x64,i=n.Word,a=n.WordArray,o=e.algo;function s(){return i.create.apply(i,arguments)}var c=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=s()}();var u=o.SHA512=r.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(e,t){for(var r=this._hash.words,n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],u=r[5],f=r[6],h=r[7],d=n.high,p=n.low,g=i.high,A=i.low,m=a.high,v=a.low,b=o.high,y=o.low,w=s.high,I=s.low,E=u.high,C=u.low,x=f.high,k=f.low,B=h.high,S=h.low,D=d,T=p,F=g,_=A,N=m,O=v,L=b,M=y,R=w,Q=I,P=E,U=C,H=x,j=k,q=B,W=S,G=0;G<80;G++){var Y,z,V=l[G];if(G<16)z=V.high=0|e[t+2*G],Y=V.low=0|e[t+2*G+1];else{var J=l[G-15],K=J.high,X=J.low,Z=(K>>>1|X<<31)^(K>>>8|X<<24)^K>>>7,$=(X>>>1|K<<31)^(X>>>8|K<<24)^(X>>>7|K<<25),ee=l[G-2],te=ee.high,re=ee.low,ne=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),ae=l[G-7],oe=ae.high,se=ae.low,ce=l[G-16],le=ce.high,ue=ce.low;z=(z=(z=Z+oe+((Y=$+se)>>>0<$>>>0?1:0))+ne+((Y+=ie)>>>0<ie>>>0?1:0))+le+((Y+=ue)>>>0<ue>>>0?1:0),V.high=z,V.low=Y}var fe,he=R&P^~R&H,de=Q&U^~Q&j,pe=D&F^D&N^F&N,ge=T&_^T&O^_&O,Ae=(D>>>28|T<<4)^(D<<30|T>>>2)^(D<<25|T>>>7),me=(T>>>28|D<<4)^(T<<30|D>>>2)^(T<<25|D>>>7),ve=(R>>>14|Q<<18)^(R>>>18|Q<<14)^(R<<23|Q>>>9),be=(Q>>>14|R<<18)^(Q>>>18|R<<14)^(Q<<23|R>>>9),ye=c[G],we=ye.high,Ie=ye.low,Ee=q+ve+((fe=W+be)>>>0<W>>>0?1:0),Ce=me+ge;q=H,W=j,H=P,j=U,P=R,U=Q,R=L+(Ee=(Ee=(Ee=Ee+he+((fe+=de)>>>0<de>>>0?1:0))+we+((fe+=Ie)>>>0<Ie>>>0?1:0))+z+((fe+=Y)>>>0<Y>>>0?1:0))+((Q=M+fe|0)>>>0<M>>>0?1:0)|0,L=N,M=O,N=F,O=_,F=D,_=T,D=Ee+(Ae+pe+(Ce>>>0<me>>>0?1:0))+((T=fe+Ce|0)>>>0<fe>>>0?1:0)|0}p=n.low=p+T,n.high=d+D+(p>>>0<T>>>0?1:0),A=i.low=A+_,i.high=g+F+(A>>>0<_>>>0?1:0),v=a.low=v+O,a.high=m+N+(v>>>0<O>>>0?1:0),y=o.low=y+M,o.high=b+L+(y>>>0<M>>>0?1:0),I=s.low=I+Q,s.high=w+R+(I>>>0<Q>>>0?1:0),C=u.low=C+U,u.high=E+P+(C>>>0<U>>>0?1:0),k=f.low=k+j,f.high=x+H+(k>>>0<j>>>0?1:0),S=h.low=S+W,h.high=B+q+(S>>>0<W>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=r._createHelper(u),e.HmacSHA512=r._createHmacHelper(u)}(),t.SHA512)}(rb);var ib=Qn(rb.exports);function ab(e,t){return De(e)&&De(t)?function(e,t){if(e=e.replace(/\s+/g,""),t=t.replace(/\s+/g,""),!e.length&&!t.length)return 1;if(!e.length||!t.length)return 0;if(e===t)return 1;if(1===e.length&&1===t.length)return 0;if(e.length<2||t.length<2)return 0;let r=new Map;for(let t=0;t<e.length-1;t++){const n=e.substring(t,t+2),i=r.has(n)?r.get(n)+1:1;r.set(n,i)}let n=0;for(let e=0;e<t.length-1;e++){const i=t.substring(e,e+2),a=r.has(i)?r.get(i):0;a>0&&(r.set(i,a-1),n++)}return 2*n/(e.length+t.length-2)}(e,t):0}function ob(e){return Array.isArray?Array.isArray(e):"[object Array]"===pb(e)}function sb(e){return null==e?"":function(e){if("string"==typeof e)return e;if("bigint"==typeof e)return e.toString();const t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}function cb(e){return"string"==typeof e}function lb(e){return"number"==typeof e}function ub(e){return!0===e||!1===e||function(e){return fb(e)&&null!==e}(e)&&"[object Boolean]"==pb(e)}function fb(e){return"object"==typeof e}function hb(e){return null!=e}function db(e){return!e.trim().length}function pb(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const gb="Invalid doc index: must be a non-negative integer within the bounds of the docs array",Ab=Object.prototype.hasOwnProperty;var mb=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{const r=vb(e);this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function vb(e){let t=null,r=null,n=null,i=1,a=null;if(cb(e)||ob(e))n=e,t=bb(e),r=yb(e);else{if(!Ab.call(e,"name"))throw new Error("Missing name property in key");const o=e.name;if(n=o,Ab.call(e,"weight")&&void 0!==e.weight&&(i=e.weight,i<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(yb(o)));t=bb(o),r=yb(o),a=e.getFn??null}return{path:t,id:r,weight:i,src:n,getFn:a}}function bb(e){return ob(e)?e:e.split(".")}function yb(e){return ob(e)?e.join("."):e}const wb={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:"any",getFn:function(e,t){const r=[];let n=!1;const i=(e,t,a,o)=>{if(hb(e))if(t[a]){const s=e[t[a]];if(!hb(s))return;if(a===t.length-1&&(cb(s)||lb(s)||ub(s)||"bigint"==typeof s))r.push(void 0!==o?{v:sb(s),i:o}:sb(s));else if(ob(s)){n=!0;for(let e=0,r=s.length;e<r;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}else r.push(void 0!==o?{v:e,i:o}:e)};return i(e,cb(t)?t.split("."):t,0),n?r:r[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},Ib=Object.freeze({isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,...wb});function Eb(e){return e>=9&&e<=13||32===e||160===e}var Cb=class{constructor({getFn:e=Ib.getFn,fieldNormWeight:t=Ib.fieldNormWeight}={}){this.norm=function(e=1,t=3){const r=new Map,n=Math.pow(10,t);return{get(t){let i=0,a=!1;for(let e=0;e<t.length;e++)Eb(t.charCodeAt(e))?a=!1:a||(i++,a=!0);if(0===i&&(i=1),r.has(i))return r.get(i);const o=Math.round(n/Math.pow(i,.5*e))/n;return r.set(i,o),o},clear(){r.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;const e=this.docs.length;this.records=new Array(e);let t=0;if(cb(this.docs[0]))for(let r=0;r<e;r++){const e=this._createStringRecord(this.docs[r],r);e&&(this.records[t++]=e)}else for(let r=0;r<e;r++)this.records[t++]=this._createObjectRecord(this.docs[r],r);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw new Error(gb);if(cb(e)){const r=this._createStringRecord(e,t);return r&&this.records.push(r),r}const r=this._createObjectRecord(e,t);return this.records.push(r),r}removeAt(e){if(!Number.isInteger(e)||e<0)throw new Error(gb);for(let t=0,r=this.records.length;t<r;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,r=this.records.length;t<r;t+=1)this.records[t].i>e&&(this.records[t].i-=1)}removeAll(e){const t=new Set;for(const r of e)Number.isInteger(r)&&r>=0&&t.add(r);if(0===t.size)return;this.records=this.records.filter(e=>!t.has(e.i));const r=Array.from(t).sort((e,t)=>e-t);for(const e of this.records){let t=0,n=r.length;for(;t<n;){const i=t+n>>>1;r[i]<e.i?t=i+1:n=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!hb(e)||db(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){const r={i:t,$:{}};for(let t=0,n=this.keys.length;t<n;t++){const n=this.keys[t],i=n.getFn?n.getFn(e):this.getFn(e,n.path);if(hb(i))if(ob(i)){const e=[];for(let t=0,r=i.length;t<r;t+=1){const r=i[t];if(hb(r))if(cb(r)){if(!db(r)){const n={v:r,i:t,n:this.norm.get(r)};e.push(n)}}else if(hb(r.v)){const t=cb(r.v)?r.v:sb(r.v);if(!db(t)){const n={v:t,i:r.i,n:this.norm.get(t)};e.push(n)}}}r.$[t]=e}else if(cb(i)&&!db(i)){const e={v:i,n:this.norm.get(i)};r.$[t]=e}}return r}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function xb(e,t,{getFn:r=Ib.getFn,fieldNormWeight:n=Ib.fieldNormWeight}={}){const i=new Cb({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(vb)),i.setSources(t),i.create(),i}function kb(e,t,r,{location:n=Ib.location,distance:i=Ib.distance,threshold:a=Ib.threshold,findAllMatches:o=Ib.findAllMatches,minMatchCharLength:s=Ib.minMatchCharLength,includeMatches:c=Ib.includeMatches,ignoreLocation:l=Ib.ignoreLocation}={}){if(t.length>32)throw new Error("Pattern length exceeds max of 32.");const u=t.length,f=e.length,h=Math.max(0,Math.min(n,f));let d=a,p=h;const g=(e,t)=>{const r=e/u;if(l)return r;const n=Math.abs(h-t);return i?r+n/i:n?1:r},A=s>1||c,m=A?Array(f):[];let v;for(;(v=e.indexOf(t,p))>-1;){const e=g(0,v);if(d=Math.min(e,d),p=v+u,A){let e=0;for(;e<u;)m[v+e]=1,e+=1}}p=-1;let b=[],y=1,w=0,I=u+f;const E=1<<u-1;for(let t=0;t<u;t+=1){let n=0,i=I;for(;n<i;)g(t,h+i)<=d?n=i:I=i,i=Math.floor((I-n)/2+n);I=i;let a=Math.max(1,h-i+1);const s=o?f:Math.min(h+i,f)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let n=s;n>=a;n-=1){const i=n-1,o=r[e[i]];if(c[n]=(c[n+1]<<1|1)&o,t&&(c[n]|=(b[n+1]|b[n])<<1|1|b[n+1]),c[n]&E&&(y=g(t,i),y<=d)){if(d=y,p=i,w=t,p<=h)break;a=Math.max(1,2*h-p)}}if(g(t+1,h)>d)break;b=c}if(A&&p>=0){const t=Math.min(f-1,p+u-1+w);for(let n=p;n<=t;n+=1)r[e[n]]&&(m[n]=1)}const C={isMatch:p>=0,score:Math.max(.001,y)};if(A){const e=function(e=[],t=Ib.minMatchCharLength){const r=[];let n=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){const o=e[a];o&&-1===n?n=a:o||-1===n||(i=a-1,i-n+1>=t&&r.push([n,i]),n=-1)}return e[a-1]&&a-n>=t&&r.push([n,a-1]),r}(m,s);e.length?c&&(C.indices=e):C.isMatch=!1}return C}function Bb(e){const t={};for(let r=0,n=e.length;r<n;r+=1){const i=e.charAt(r);t[i]=(t[i]||0)|1<<n-r-1}return t}function Sb(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);const t=[e[0]];for(let r=1,n=e.length;r<n;r+=1){const n=t[t.length-1],i=e[r];i[0]<=n[1]+1?n[1]=Math.max(n[1],i[1]):t.push(i)}return t}const Db={"ł":"l","Ł":"L","đ":"d","Đ":"D","ø":"o","Ø":"O","ħ":"h","Ħ":"H","ŧ":"t","Ŧ":"T","ı":"i","ß":"ss"},Tb=new RegExp("["+Object.keys(Db).join("")+"]","g"),Fb="function"==typeof String.prototype.normalize?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(Tb,e=>Db[e]):e=>e;var _b=class{constructor(e,{location:t=Ib.location,threshold:r=Ib.threshold,distance:n=Ib.distance,includeMatches:i=Ib.includeMatches,findAllMatches:a=Ib.findAllMatches,minMatchCharLength:o=Ib.minMatchCharLength,isCaseSensitive:s=Ib.isCaseSensitive,ignoreDiacritics:c=Ib.ignoreDiacritics,ignoreLocation:l=Ib.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?Fb(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const u=(e,t)=>{this.chunks.push({pattern:e,alphabet:Bb(e),startIndex:t})},f=this.pattern.length;if(f>32){let e=0;const t=f%32,r=f-t;for(;e<r;)u(this.pattern.substr(e,32),e),e+=32;if(t){const e=f-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=r?Fb(e):e,this.pattern===e){if(e.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};const t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}const{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[];let f=0,h=!1;this.chunks.forEach(({pattern:t,alphabet:r,startIndex:d})=>{const{isMatch:p,score:g,indices:A}=kb(e,t,r,{location:i+d,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:n,ignoreLocation:l});p&&(h=!0),f+=g,p&&A&&u.push(...A)});const d={isMatch:h,score:h?f/this.chunks.length:1};return h&&n&&(d.indices=Sb(u)),d}};const Nb=new Set(["fuzzy","include"]);function Ob(e){return e.startsWith("inverse")}const Lb=[{type:"exact",multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:"exact",search(t){const r=t===e;return{isMatch:r,score:r?0:1,indices:[0,e.length-1]}}})},{type:"include",multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:"include",search(t){let r,n=0;const i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);const o=!!i.length;return{isMatch:o,score:o?0:1,indices:i}}})},{type:"prefix-exact",multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:"prefix-exact",search(t){const r=t.startsWith(e);return{isMatch:r,score:r?0:1,indices:[0,e.length-1]}}})},{type:"inverse-prefix-exact",multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:"inverse-prefix-exact",search(t){const r=!t.startsWith(e);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}})},{type:"inverse-suffix-exact",multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:"inverse-suffix-exact",search(t){const r=!t.endsWith(e);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}})},{type:"suffix-exact",multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:"suffix-exact",search(t){const r=t.endsWith(e);return{isMatch:r,score:r?0:1,indices:[t.length-e.length,t.length-1]}}})},{type:"inverse-exact",multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:"inverse-exact",search(t){const r=-1===t.indexOf(e);return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}})},{type:"fuzzy",multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{const r=new _b(e,{location:t.location??Ib.location,threshold:t.threshold??Ib.threshold,distance:t.distance??Ib.distance,includeMatches:t.includeMatches??Ib.includeMatches,findAllMatches:t.findAllMatches??Ib.findAllMatches,minMatchCharLength:t.minMatchCharLength??Ib.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??Ib.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??Ib.ignoreDiacritics,ignoreLocation:t.ignoreLocation??Ib.ignoreLocation});return{type:"fuzzy",search:e=>r.searchIn(e)}}}],Mb=Lb.length;function Rb(e,t){const r=e.match(t);return r?r[1]:null}const Qb=[];function Pb(...e){Qb.push(...e)}function Ub(e,t){for(let r=0,n=Qb.length;r<n;r+=1){const n=Qb[r];if(n.condition(e,t))return new n(e,t)}return new _b(e,t)}const Hb="$and",jb="$or",qb="$path",Wb="$val",Gb=e=>!(!e[Hb]&&!e[jb]),Yb=e=>({[Hb]:Object.keys(e).map(t=>({[t]:e[t]}))});function zb(e,t,{auto:r=!0}={}){const n=e=>{if(cb(e)){const n={keyId:null,pattern:e};return r&&(n.searcher=Ub(e,t)),n}const i=Object.keys(e),a=(e=>!!e[qb])(e);if(!a&&i.length>1&&!Gb(e))return n(Yb(e));if((e=>!ob(e)&&fb(e)&&!Gb(e))(e)){const n=a?e[qb]:i[0],o=a?e[Wb]:e[n];if(!cb(o))throw new Error((e=>`Invalid value for key ${e}`)(n));const s={keyId:yb(n),pattern:o};return r&&(s.searcher=Ub(o,t)),s}const o={children:[],operator:i[0]};return i.forEach(t=>{const r=e[t];ob(r)&&r.forEach(e=>{o.children.push(n(e))})}),o};return Gb(e)||(e=Yb(e)),n(e)}function Vb(e,{ignoreFieldNorm:t=Ib.ignoreFieldNorm}){let r=1;return e.forEach(({key:e,norm:n,score:i})=>{const a=e?e.weight:null;r*=Math.pow(0===i&&a?Number.EPSILON:i,(a||1)*(t?1:n))}),r}var Jb=class{constructor(e,t){this.limit=e,this.heap=[],this.comparator=t}get size(){return this.heap.length}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):this.comparator(e,this.heap[0])<0&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(e){const t=this.heap;for(;e>0;){const r=e-1>>1;if(this.comparator(t[e],t[r])<=0)break;const n=t[e];t[e]=t[r],t[r]=n,e=r}}_sinkDown(e){const t=this.heap,r=t.length;let n=e;do{const i=2*(e=n)+1,a=2*e+2;if(i<r&&this.comparator(t[i],t[n])>0&&(n=i),a<r&&this.comparator(t[a],t[n])>0&&(n=a),n!==e){const r=t[e];t[e]=t[n],t[n]=r}}while(n!==e)}};function Kb(e,t,{includeMatches:r=Ib.includeMatches,includeScore:n=Ib.includeScore}={}){return e.map(e=>{const{idx:i}=e,a={item:t[i],refIndex:i};return r&&(a.matches=function(e){const t=[];return e.matches.forEach(e=>{if(!hb(e.indices)||!e.indices.length)return;const r={indices:e.indices,value:e.value};e.key&&(r.key=e.key.id),e.idx>-1&&(r.refIndex=e.idx),t.push(r)}),t}(e)),n&&(a.score=e.score),a})}const Xb=/[\p{L}\p{M}\p{N}_]+/gu,Zb=new WeakSet;function $b(e){if("function"==typeof e){let t=!1;return r=>{const n=e(r);if(!t&&(t=!0,!Array.isArray(n)||n.some(e=>"string"!=typeof e)))throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(n)?"array containing non-strings":typeof n}.`);return n}}return e instanceof RegExp?(e.global||function(e){Zb.has(e)||(Zb.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}(e),t=>t.match(e)||[]):e=>e.match(Xb)||[]}function ey({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:r}={}){const n=$b(r);return{tokenize:r=>(e||(r=r.toLowerCase()),t&&(r=Fb(r)),n(r))}}function ty(e,t,r,n){const i=n.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(r,(e.docFieldCount.get(r)||0)+1);const a=new Set(i);let o=e.docTermFieldHits.get(r);o||(o=new Map,e.docTermFieldHits.set(r,o));for(const t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function ry(e,t,r,n){const{i:i,v:a,$:o}=t;if(void 0===a){if(o)for(let t=0;t<r;t++){const r=o[t];if(r)if(Array.isArray(r))for(const t of r)ty(e,t.v,i,n);else ty(e,r.v,i,n)}}else ty(e,a,i,n)}function ny(e,t){const r=e.docFieldCount.get(t);if(void 0===r)return;e.fieldCount-=r,e.docFieldCount.delete(t);const n=e.docTermFieldHits.get(t);if(n){for(const[t,r]of n){const n=(e.df.get(t)||0)-r;n<=0?e.df.delete(t):e.df.set(t,n)}e.docTermFieldHits.delete(t)}}function iy(e,t){if(0===t.length)return;const r=Array.from(new Set(t)).sort((e,t)=>e-t);for(const t of r)ny(e,t);const n=e=>{let t=0,n=r.length;for(;t<n;){const i=t+n>>>1;r[i]<e?t=i+1:n=i}return e-t},i=r[0],a=new Map;for(const[t,r]of e.docFieldCount)a.set(t>i?n(t):t,r);e.docFieldCount=a;const o=new Map;for(const[t,r]of e.docTermFieldHits)o.set(t>i?n(t):t,r);e.docTermFieldHits=o}var ay=class{constructor(e,t,r){this.options={...Ib,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new mb(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,r),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;const t=Ub(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Cb))throw new Error("Incorrect 'index' type");if(this._myIndex=t||xb(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const e=ey({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=function(e,t,r){const n={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(const i of e)ry(n,i,t,r);return n}(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!hb(e))return;this._docs.push(e);const t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){const e=ey({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});!function(e,t,r,n){ry(e,t,r,n)}(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){const t=[],r=[];for(let n=0,i=this._docs.length;n<i;n+=1)e(this._docs[n],n)&&(t.push(this._docs[n]),r.push(n));if(r.length){this._invertedIndex&&iy(this._invertedIndex,r);const e=new Set(r);this._docs=this._docs.filter((t,r)=>!e.has(r)),this._myIndex.removeAll(r),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw new Error(gb);this._invertedIndex&&iy(this._invertedIndex,[e]);const t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(e=>this._keyStore.get(e.id)||e)}search(e,t){const{limit:r=-1}=t||{},{includeMatches:n,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(cb(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return lb(r)&&r>-1&&(e=e.slice(0,r)),e}const c=a&&lb(r)&&r>0&&cb(e),l=o,u=(e,t)=>l(e,t)||e.idx-t.idx;let f;if(c){const t=new Jb(r,u);cb(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),f=t.extractSorted()}else f=cb(e)?cb(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),function(e,{ignoreFieldNorm:t=Ib.ignoreFieldNorm}){e.forEach(e=>{e.score=Vb(e.matches,{ignoreFieldNorm:t})})}(f,{ignoreFieldNorm:s}),a&&f.sort(cb(e)?u:l),lb(r)&&r>-1&&(f=f.slice(0,r));return Kb(f,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:r}={}){const n=this._getSearcher(e),i=this.options.useTokenSearch&&"all"===this.options.tokenMatch,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!hb(e))return;const c=n.searchIn(e);if(c.isMatch){const n={score:c.score,value:e,norm:s,indices:c.indices};i&&(n.matchedMask=c.matchedMask,n.matchedTerms=c.matchedTerms,n.termCount=c.termCount);const l=[n];if(!i||this._coversAllTokens(l)){const n={item:e,idx:a,matches:l};t?(n.score=Vb(n.matches,{ignoreFieldNorm:r}),t.insert(n)):o.push(n)}}}),o}_searchLogical(e){const t=zb(e,this.options),r=this._normalizedKeys(),n=(e,t,i)=>{if(!("children"in e)){const{keyId:n,searcher:a}=e;let o;return null===n?(o=[],r.forEach((e,r)=>{o.push(...this._findMatches({key:e,value:t[r],searcher:a}))})):o=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:a}),o&&o.length?[{idx:i,item:t,matches:o}]:[]}const{children:a,operator:o}=e,s=[];for(let e=0,r=a.length;e<r;e+=1){const r=a[e],c=n(r,t,i);if(c.length)s.push(...c);else if(o===Hb)return[]}return s},i=this._myIndex.records,a=new Map,o=[];return i.forEach(({$:e,i:r})=>{if(hb(e)){const i=n(t,e,r);i.length&&(a.has(r)||(a.set(r,{idx:r,item:e,matches:[]}),o.push(a.get(r))),i.forEach(({matches:e})=>{a.get(r).matches.push(...e)}))}}),o}_searchObjectList(e,{heap:t,ignoreFieldNorm:r}={}){const n=this._getSearcher(e),i=this.options.useTokenSearch&&"all"===this.options.tokenMatch,{records:a}=this._myIndex,o=this._normalizedKeys(),s=t?null:[];return a.forEach(({$:e,i:a})=>{if(!hb(e))return;const c=[];let l=!1,u=!1;if(o.forEach((t,r)=>{const i=this._findMatches({key:t,value:e[r],searcher:n});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),(!u||!l)&&c.length&&(!i||this._coversAllTokens(c))){const n={idx:a,item:e,matches:c};t?(n.score=Vb(n.matches,{ignoreFieldNorm:r}),t.insert(n)):s.push(n)}}),s}_findMatches({key:e,value:t,searcher:r}){if(!hb(t))return[];const n=[];if(ob(t))t.forEach(({v:t,i:i,n:a})=>{if(!hb(t))return;const o=r.searchIn(t);if(o.isMatch){const r={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};void 0!==o.termCount&&(r.matchedMask=o.matchedMask,r.matchedTerms=o.matchedTerms,r.termCount=o.termCount),n.push(r)}});else{const{v:i,n:a}=t,o=r.searchIn(i);if(o.isMatch){const t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};void 0!==o.termCount&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),n.push(t)}}return n}_coversAllTokens(e){const t=e.length?e[0].termCount:void 0;if(void 0===t)return!0;if(t<=31){let r=0;for(let t=0;t<e.length;t++)r|=e[t].matchedMask||0;return r===2**t-1}const r=new Set;for(let t=0;t<e.length;t++){const n=e[t].matchedTerms;if(n)for(const e of n)r.add(e)}return r.size===t}};ay.version="7.5.0",ay.createIndex=xb,ay.parseIndex=function(e,{getFn:t=Ib.getFn,fieldNormWeight:r=Ib.fieldNormWeight}={}){const{keys:n,records:i}=e,a=new Cb({getFn:t,fieldNormWeight:r});return a.setKeys(n),a.setIndexRecords(i),a},ay.config=Ib,ay.match=function(e,t,r){if(r&&r.useTokenSearch)throw new Error("Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.");return Ub(e,{...Ib,...r}).searchIn(t)},ay.parseQuery=zb,Pb(class{constructor(e,{isCaseSensitive:t=Ib.isCaseSensitive,ignoreDiacritics:r=Ib.ignoreDiacritics,includeMatches:n=Ib.includeMatches,minMatchCharLength:i=Ib.minMatchCharLength,ignoreLocation:a=Ib.ignoreLocation,findAllMatches:o=Ib.findAllMatches,location:s=Ib.location,threshold:c=Ib.threshold,distance:l=Ib.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=r?Fb(e):e,this.pattern=e,this.query=function(e,t={}){return e.replace(/\\\|/g,"\0").split("|").map(e=>{const r=function(e){const t=[],r=e.length;let n=0;for(;n<r;){for(;n<r&&" "===e[n];)n++;if(n>=r)break;let i=n;for(;i<r&&" "!==e[i]&&'"'!==e[i];)i++;if(i<r&&'"'===e[i]){for(i++;i<r;){if('"'===e[i]){const t=i+1;if(t>=r||" "===e[t]){i++;break}if("$"===e[t]&&(t+1>=r||" "===e[t+1])){i+=2;break}}i++}t.push(e.substring(n,i)),n=i}else{for(;i<r&&" "!==e[i];)i++;t.push(e.substring(n,i)),n=i}}return t}(e.replace(/\u0000/g,"|").trim()).filter(e=>e&&!!e.trim()),n=[];for(let e=0,i=r.length;e<i;e+=1){const i=r[e];let a=!1,o=-1;for(;!a&&++o<Mb;){const e=Lb[o],r=Rb(i,e.multiRegex);r&&(n.push(e.create(r,t)),a=!0)}if(!a)for(o=-1;++o<Mb;){const e=Lb[o],r=Rb(i,e.singleRegex);if(r){n.push(e.create(r,t));break}}}return n})}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:r,isCaseSensitive:n,ignoreDiacritics:i}=this.options;e=n?e:e.toLowerCase(),e=i?Fb(e):e;let a=0;const o=[];let s=0,c=!1;for(let n=0,i=t.length;n<i;n+=1){const i=t[n];o.length=0,a=0,c=!1;for(let t=0,n=i.length;t<n;t+=1){const n=i[t],{isMatch:l,indices:u,score:f}=n.search(e);if(!l){s=0,a=0,o.length=0,c=!1;break}a+=1,s+=f,Ob(n.type)&&(c=!0),r&&(Nb.has(n.type)?o.push(...u):o.push(u))}if(a){const e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),r&&(e.indices=Sb(o)),e}}return{isMatch:!1,score:1}}}),Pb(class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=ey({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});const r=this.analyzer.tokenize(e),{df:n,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(const e of r){this.termSearchers.push(new _b(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));const r=n.get(e)||0,a=Math.log(1+(i-r+.5)/(r+.5));this.idfWeights.push(a)}this.combineAll="all"===t.tokenMatch,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};const t=[];let r=0,n=0,i=0,a=0;const o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s<this.termSearchers.length;s++){const c=this.termSearchers[s].searchIn(e),l=this.idfWeights[s];n+=l,c.isMatch&&(i++,r+=l*(1-c.score),c.indices&&t.push(...c.indices),this.combineAll&&(this.useMask?a|=1<<s:o.add(s)))}if(0===i)return{isMatch:!1,score:1};const s=n>0?1-r/n:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=Sb(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}}),ay.use=function(...e){e.forEach(e=>Pb(e))};var oy=ay;function sy(e){return function(e,t){var r=null==e?0:e.length;return r?xo(e,t)/r:NaN}(e,lr)}function cy(e){if(!ke(e))return{};let{results:t,binarys:r}=e;if(!De(t))return{};if(!Be(r))return{};let n={};try{n=JSON.parse(t,function(e,t){if(De(t)){if(t.indexOf("[Uint8Array]::")>=0){let e=$i(t.replace("[Uint8Array]::",""));return r[e]}if(t.indexOf("[Uint16Array]::")>=0){let e=$i(t.replace("[Uint16Array]::",""));return r[e]}if(t.indexOf("[ArrayBuffer]::")>=0){let e=$i(t.replace("[ArrayBuffer]::",""));return r[e]}}return t})}catch(e){}return n}function ly(e,t=null){if(!wo(r))throw new Error("invalid dayjs");if(!mv(e))return{today:null,msg:"",err:"時間格式錯誤"};let n=r();mv(t)&&(n=r(t,"YYYY-MM-DDTHH:mm:ss.SSSZ"));let i=r(e,"YYYY-MM-DDTHH:mm:ss.SSSZ");if(n>i)return{today:null,msg:"",err:"時間已過"};let a,o=n.format("YYYY-MM-DD"),s=i.format("YYYY-MM-DD"),c=r(o,"YYYY-MM-DD"),l=r(s,"YYYY-MM-DD"),u=i.diff(n,"seconds"),f=i.diff(n,"minutes"),h=i.diff(n,"hours"),d=l.diff(c,"days"),p=l.diff(c,"weeks"),g=l.diff(c,"months"),A=l.diff(c,"years"),m="即將到來";if(u>=0&&(a=!0,m=u+"秒後"),f>0&&(a=!0,m=f+"分鐘後"),h>0){let e=i.format("HH:mm");o===s?(a=!0,m=h+"小時後,今天"+e):(a=!1,m=h+"小時後,明天"+e)}return d>1&&(a=!1,m=2===d?"後天":d+"天後"),p>0&&(a=!1,m=p+"周後"),g>0&&(a=!1,m=g+"個月後"),A>0&&(a=!1,m=A+"年後"),{today:a,msg:m,err:""}}function uy(e,t=null){if(!wo(r))throw new Error("invalid dayjs");if(!mv(e))return{today:null,msg:"",err:"時間格式錯誤"};let n=r();mv(t)&&(n=r(t,"YYYY-MM-DDTHH:mm:ss.SSSZ"));let i=r(e,"YYYY-MM-DDTHH:mm:ss.SSSZ");if(n<i)return{today:null,msg:"",err:"時間未到"};let a=n.format("YYYY-MM-DD"),o=i.format("YYYY-MM-DD"),s=r(a,"YYYY-MM-DD"),c=r(o,"YYYY-MM-DD"),l=n.diff(i,"seconds"),u=n.diff(i,"minutes"),f=n.diff(i,"hours"),h=s.diff(c,"days"),d=s.diff(c,"weeks"),p=s.diff(c,"months"),g=s.diff(c,"years"),A=!1,m="剛剛";if(l>=0&&(A=!0,m=l+"秒前"),u>0&&(A=!0,m=u+"分鐘前"),f>0){let e=i.format("HH:mm");a===o?(A=!0,m=f+"小時前"):(A=!1,m="昨天"+e)}return h>1&&(A=!1,m=h+"天前"),d>0&&(A=!1,m=d+"周前"),p>0&&(A=!1,m=p+"個月前"),g>0&&(A=!1,m=g+"年前"),{today:A,msg:m,err:""}}function fy(e){let t=Av.sepTZ(e);return`${t.t}.000${t.tz}`}function hy(e){let t=Av.sepTZ(e);return`${t.t}.000${t.tz}`}function dy(e){if(!es(e))return"";let t;try{t=Xo(Dv(e))}catch(e){return""}return t}e.ab2blob=function(e){let t=w(e);return new Blob([t])},e.ab2u8arr=w,e.addExcelWorksheetFromData=function(e,t,r="data"){if(!ke(e))return{error:"wb is not an effective object"};if(!Be(Ce(e,"SheetNames")))return{error:"wb.SheetNames is not an array"};if(!xe(Ce(e,"Sheets")))return{error:"wb.Sheets is not an object"};let n=In(t);return Ne(n,"error")?n:(e.SheetNames.push(r),e.Sheets[r]=n,e)},e.addMonth=function(e,t){return En(e)&&Mn(t)?r(e,"YYYY-MM").add(t,"months").format("YYYY-MM"):""},e.aes2str=li,e.alive=function(e={}){let t=Vi(),r={},n=null,i=Ce(e,"timeAlive");ea(i)||(i=1e4),i=$i(i);let a=Ce(e,"timeDetect");return ea(a)||(a=50),a=$i(a),t.trigger=function(e,o){De(e)?(Ne(r,e)||setTimeout(()=>{t.emit("message",{eventName:"enter",key:e,data:o,now:dn(r)})},1),r[e]={data:o,time:Date.now()},null===n&&(n=setInterval(()=>{xr(r,(e,n)=>{if(Date.now()-e.time>i){let e=Gi(r[n]);delete r[n],t.emit("message",{eventName:"leave",key:n,data:e.data,now:dn(r)})}}),ke(r)||(clearInterval(n),n=null)},a))):console.log("trigger need key")},t.get=function(){let e=[];return xr(r,(t,r)=>{e.push({key:r,data:t.data})}),e=Gi(e),e},t},e.arr2dt=function(e,t=""){if(!Pr(e))return{};if(Pr(t))return dn(e)===dn(t)?ta(e,t):{};let r=[];for(let n=0;n<dn(e);n++)r.push(Gi(t));return ta(e,r)},e.arrAccum=function(e){if(!Pr(e))return[];let t=[],r=0;return xr(e,function(e){r+=Ln(e),_e(e)?t.push(r):t.push("")}),t},e.arrAdd=function(){if(dn(arguments)<2)return[];let e=arguments[0];for(let t=1;t<dn(arguments);t++)e=ra(e,arguments[t]);return e},e.arrAt=Ca,e.arrDiff=oo,e.arrFilterByKeywords=function(e,t){if(!Pr(e))return[];if(!De(t)&&!Pr(t))return[];let r=null;r=De(t)?lo(t," "):t;let n=dn(r);return Br(e,e=>function(e){let t=!1,i=0;for(let a=0;a<n;a++){let o=r[a],s=o,c="+"===uo(o,1),l="-"===uo(o,1);if((c||l)&&(s=ho(o,1)),""===so(s))continue;let u=e.indexOf(s)>=0;if(c){if(u){t=!0,i=1;break}t=!1,i=0;break}if(l){if(u){t=!1,i=0;break}t=!0,i=1;break}if(u){t=!0;let e=1-a/n;e=e**2,i+=e}}return{hasKeyword:t,weight:i}}(e))},e.arrFilterByNum=function(e){return Pr(e)?e=Br(e=go(e=Gi(e),_e),Ln):[]},e.arrFilterByPnum=mo,e.arrFilterByPnumAndToLog=function(e){return Pr(e)?e=Br(e=mo(e),Math.log):[]},e.arrFind=function(e,t){function r(e){return Be(e)?e:[e]}return Qr(e)||0===(e=r(e)).length||Qr(t)?[]:Br(t=r(t),function(t){let r=-1;for(let n=0;n<e.length;n++)if(vo(e[n],t)){r=n;break}return r})},e.arrGroupByMaxmin=function(e,t,r={}){let n=Ce(r,"keyMax");De(n)||(n="max");let i=Ce(r,"keyMin");De(i)||(i="min");let a=Ce(r,"keyValue");De(a)||(a="value");let o=Ce(r,"keyItems");if(De(o)||(o="items"),!Pr(e))return[];if(!Pr(t))return[];let s=Gi(t);return xr(e,(e,r)=>{let c=Ce(e,a);_e(c)?c=Ln(c):_e(e)&&(c=Ln(e)),bo(c)&&xr(t,(t,r)=>{let a=Ce(t,n,null),l=Ce(t,i,null);if(null!==a&&null!==l&&_e(a)&&_e(l)){let n=Ce(t,"maxType");"<="!==n&&"<"!==n&&(n="<=");let i,u,f=Ce(t,"minType");">="!==f&&">"!==f&&(f=">="),a=Ln(a),l=Ln(l),i=">="===f?c>=l:c>l,u="<="===n?c<=a:c<a,i&&u&&(Ne(s[r],o)||(s[r][o]=[]),s[r][o].push(e))}})}),s},e.arrHas=yo,e.arrInsert=function(e,t,r){if(!Be(e))return[];if(Be(r)||(r=[r]),!Ia(t))return e;if((t=$i(t))>dn(e))return e;let n=e;try{n=[...e.slice(0,t),...r,...e.slice(t)]}catch(e){}return n},e.arrLookupByMaxmin=function(e,t,r={}){let n=Ce(r,"keyMax");De(n)||(n="max");let i=Ce(r,"keyMin");De(i)||(i="min");let a=Ce(r,"keyValue");De(a)||(a="value");let o=Ce(r,"keyItems");De(o)||(o="items");let s=Ce(r,"beforeAddResult",null);if(!Pr(e))return[];if(!Pr(t))return[];if(!ke(Ce(e,0)))return[];let c=Gi(e);return xr(c,(e,r)=>{let l=Ce(e,a);_e(l)&&(l=Ln(l)),bo(l)&&xr(t,(e,t)=>{let a=Ce(e,n,null),u=Ce(e,i,null);if(null!==a&&null!==u&&_e(a)&&_e(u)){let t=Ce(e,"maxType");"<="!==t&&"<"!==t&&(t="<=");let n,i,f=Ce(e,"minType");">="!==f&&">"!==f&&(f=">="),a=Ln(a),u=Ln(u),n=">="===f?l>=u:l>u,i="<="===t?l<=a:l<a,n&&i&&(wo(s)&&(e=s(e,c[r],r)),Ne(c[r],o)||(c[r][o]=[]),c[r][o].push(e))}})}),c},e.arrMax=function(e,t={}){if(!Pr(e))return null;let r=Ce(t,"returnIndex");gn(r)||(r=!1);let n=Ce(t,"compareKey",null),i=e;De(n)&&(i=Br(e,(e,t)=>Ce(e,n,"")));let a=null,o=Io(i,(e,t)=>_e(t)?(t=Ln(t),null===e?(a=t,t):(e=Math.max(e,t),a=e,e)):e,{returnIndex:!0});if(r)return o;let s=null;return o>=0&&(s=De(n)?e[o]:a),s},e.arrMin=function(e,t={}){if(!Pr(e))return null;let r=Ce(t,"returnIndex");gn(r)||(r=!1);let n=Ce(t,"compareKey",null),i=e;De(n)&&(i=Br(e,(e,t)=>Ce(e,n,"")));let a=null,o=Io(i,(e,t)=>_e(t)?(t=Ln(t),null===e?(a=t,t):(e=Math.min(e,t),a=e,e)):e,{returnIndex:!0});if(r)return o;let s=null;return o>=0&&(s=De(n)?e[o]:a),s},e.arrMulti=Co,e.arrNorm=function(e){if(!Pr(e))return null;let t=ko(e,e);return _e(t)?t<=0?null:Math.sqrt(t):null},e.arrProduct=ko,e.arrPull=function(e,t){if(!Pr(e))return[];if((xe(t)||_e(t)||Se(t)||gn(t))&&(t=[t]),!Pr(t))return e;let r=Gi(e);return Do(r,t),r},e.arrPullAt=function(e,t){if(!Pr(e))return[];if(Ia(t)&&(t=[t]),!Pr(t))return e;t=Br(t,e=>$i(e));let r=Gi(e);return Lo(r,t),r},e.arrReduce=Io,e.arrReverse=function(e){if(!Pr(e))return[];let t=Gi(e);return Ro(t),t},e.arrSep=function(e,t){if(!Pr(e))return[];if(!ea(t)&&!ke(t))return[];let r="",n=null;if(ea(t))n=t,r="numCount";else if(ke(t))if(ea(Ce(t,"numCount")))n=t.numCount,r="numCount";else{if(!ea(Ce(t,"numGroup")))throw new Error("invalid opt.numCount or opt.numGroup");n=t.numGroup,r="numGroup"}let i=dn(e),a=[];if("numCount"===r)for(let t=0;t<i;t+=n){let r=[];for(let a=0;a<n;a++){let n=t+a;n<i&&r.push(e[n])}a.push(r)}else if("numGroup"===r){for(let e=0;e<n;e++)a[e]=[];let t=-1;for(let r=0;r<i;r++)t++,t>n-1&&(t=0),a[t].push(e[r])}return a},e.arrSort=Ko,e.asind=function(e){return _e(e)?(e=Ln(e),180*Math.asin(e)/Math.PI):null},e.atan2d=function(e,t){return _e(e)?(e=Ln(e),_e(t)?(t=Ln(t),180*Math.atan2(t,e)/Math.PI):null):null},e.atand=function(e){return _e(e)?(e=Ln(e),180*Math.atan(e)/Math.PI):null},e.attstr=function(e={}){let t=";",r="@",n="table",i="id",a=Ce(e,"uniqItems");gn(a)||(a=!1);let o=Ce(e,"dlmItem","");De(o)&&(t=o);let s=Ce(e,"dlmSep","");De(s)&&(r=s);let c=Ce(e,"keyTable","");De(c)&&(n=c);let l=Ce(e,"keyId","");De(l)&&(i=l);let u=Ce(e,"mode");function f(e){if(!De(e))return[];let r=Wa(e,t);return a&&(r=Vr(r)),r}function h(e){return Pr(e)?(a&&(e=Vr(e)),ka(e,t)):""}function d(e){return e=go(e,De),a&&(e=Vr(e)),h(e)}function p(e){let t=[];return xr(e,e=>{let a=Ce(e,n,""),o=Ce(e,i,"");if(De(a),Se(o)||(Be(o)?dn(o):o=""),Se(o))t.push(`${a}${r}${o}`);else if(Be(o)){let e=ka(o,r);t.push(`${a}${r}${e}`)}}),h(t)}function g(e){return De(e)?go(f(e),De):[]}function A(e){if(!De(e))return[];let t=f(e),a=[];return xr(t,e=>{let t=Wa(e,r),o=Ce(t,0,""),s=Ce(t,1,"");dn(t)>=3&&(t=qo(t),s=t),a.push({item:e,[n]:o,[i]:s})}),a}function m(e,t){let r=[...g(e),...g(t)];return 0===dn(r)?"":d(r)}function v(e,t){let r=[...A(e),...A(t)];return 0===dn(r)?"":p(r)}function b(e,t){let r=g(e),n=g(t),i=[];return xr(r,e=>{yo(e,n)||i.push(e)}),0===dn(i)?"":d(i)}function y(e,t){let r=A(e),n=A(t),i=[];return xr(r,e=>{yo(e,n)||i.push(e)}),0===dn(i)?"":p(i)}"1p"!==u&&"2p"!==u&&(u="auto");let w={parse:function(e,t={}){if(!De(e))return[];let n=Ce(t,"mode");return"1p"!==n&&"2p"!==n&&(n=u),"1p"===n?g(e):"2p"===n||e.indexOf(r)>=0?A(e):g(e)},join:function(e,t={}){if(!Pr(e))return"";let r=Ce(t,"mode");if("1p"!==r&&"2p"!==r&&(r=u),"1p"===r)return d(e);if("2p"===r)return p(e);let a=Ce(e,0);return Ne(a,n)&&Ne(a,i)?p(e):d(e)},remove:function(e,t,n={}){if(!De(e))return"";if(!De(t))return e;let i=Ce(n,"mode");return"1p"!==i&&"2p"!==i&&(i=u),"1p"===i?b(e,t):"2p"===i||t.indexOf(r)>=0?y(e,t):b(e,t)},add:function(e,t,n={}){let i=Ce(n,"mode");if("1p"!==i&&"2p"!==i&&(i=u),"1p"===i)return m(e,t);if("2p"===i)return v(e,t);let a=e.indexOf(r)>=0,o=t.indexOf(r)>=0;return a||o?v(e,t):m(e,t)}};return w},e.b642obj=function(e){if(!Se(e))return{};let t={};try{t=Zo(Xo(e))}catch(e){t={}}return t},e.b642str=Xo,e.b642u16arr=rs,e.b642u8arr=$o,e.binstr=ns,e.blob2ab=as,e.blob2b64=os,e.blob2str=function(e){let t=is(),r=new FileReader;return r.onload=function(){t.resolve(r.result)},r.onerror=function(e){t.reject(e)},r.readAsText(e),t},e.blob2u8arr=ss,e.blobs2b64s=cs,e.blobs2u8arrs=ls,e.bodyLog=function(){let e=`\n <div style="padding:5px; font-size:10pt; font-family:Microsoft JhengHei, Helvetica;">\n <span style="color:#f26;">log: </span>\n <code>${hs(Br(arguments,function(e){return An(e)}).join(", "))}</code>\n </div>\n `;document.querySelector("body").insertAdjacentHTML("beforeend",e)},e.browserView=ds,e.browserViewFromBlob=function(e,t){ps(e)&&ds(e,t)},e.browserViewFromText=function(e){Se(e)&&ds(e,"text/plain")},e.browserViewFromU8arr=function(e,t){es(e)&&ds(e,t)},e.bs2u8arr=gs,e.bufRead=As,e.bufReadDbl=ms,e.bufWrite=vs,e.bufWriteDbl=bs,e.cache=function(){let e=Vi(),t={};function r(t,r){setTimeout(()=>{e.emit(t,r)},1)}function n(e,n={}){if(Ne(t,e))return;let i=Ce(n,"fun");wo(i)||(i=async()=>{});let a=Ce(n,"inputs");Be(a)||(a=[]);let o=Ce(n,"timeExpired");ea(o)||(o=5e3),o=$i(o),t[e]={needExec:!0,fun:i,running:!1,inputs:a,value:null,time:null,timeExpired:o},r("message",{fun:"set",key:e,timeExpired:o})}async function i(e){if(Ne(t,e)){let n;r("message",{fun:"get",key:e,msg:"waiting"}),await ws(()=>!t[e].running,{timeInterval:1e3});let i=Date.now();n=t[e].needExec;let a=i-t[e].time;return n?r("message",{fun:"get",key:e,msg:"execute first"}):t[e].timeExpired>0&&a>t[e].timeExpired&&(r("message",{fun:"get",key:e,msg:"execute by timeExpired",timeDiff:a}),n=!0),n?(r("message",{fun:"get",key:e,msg:"fun start"}),t[e].running=!0,t[e].value=await t[e].fun(...t[e].inputs).catch(t=>{r("error",{fun:"get",key:e,msg:t})}),t[e].needExec=!1,t[e].time=i,t[e].running=!1,r("message",{fun:"get",key:e,msg:"fun end"})):r("message",{fun:"get",key:e,msg:"use cache"}),Gi(t[e].value)}return r("error",{fun:"get",key:e,msg:"invalid key"}),null}return e.set=n,e.getProxy=async function(e,t={}){return n(e,t),i(e)},e.get=i,e.update=function(e,n){Ne(t,e)&&(r("message",{fun:"updateValue",key:e}),t[e].value=n,t[e].time=Date.now())},e.clear=function(e){Ne(t,e)&&(r("message",{fun:"clear",key:e}),t[e].needExec=!0)},e.remove=function(e){Ne(t,e)&&(r("message",{fun:"remove",key:e}),delete t[e])},e},e.cacheBd=function(e,t={}){let r=Ce(t,"nMax");ea(r)||(r=200),r=$i(r);let n=Ce(t,"nTrigger");ea(n)||(n=3),n=$i(n);let i=null,a=!1,o=async(...t)=>(a=!0,i=await e(...t),a=!1,i);return{get:o,getFromCache:async(...e)=>{for(let t=1;t<=r&&(t>n&&!a&&await o(...e).catch(()=>{}),null===i);t++)await Is(1e3);if(null===i)throw new Error(`exceeded nMax[${r}]`);return i}}},e.cacheSt=function(e={}){let t=Ce(e,"timeExpire",null);ea(t)||(t=18e5),t=$i(t);let r=Ce(e,"timeDetect",null);ea(r)||(r=2e3),r=$i(r);let n=Vi(),i={},a=e=>{if(Ne(i,e)){let t=`checkWithSet: key in use: ${e}`;return n.emit("checkWithSet",{state:"error",msg:t}),!1}i[e]={time:Date.now(),value:!0};let t=`checkWithSet: ${e}`;return n.emit("checkWithSet",{state:"success",msg:t}),!0},o=setInterval(()=>{n.emit("detect",{state:"start"});let e=Date.now();for(let r of Object.keys(i)){let n=i[r];n&&e-n.time>t&&delete i[r]}n.emit("detect",{state:"finish"})},r);return n.checkWithSet=a,n.setWithFree=async(e,t)=>{n.emit("setWithFree",{state:"start"});let r=[];for(let t of e){if(!a(t)){for(let e of r)delete i[e];let e=`setWithFree: key in use: ${t}`;return n.emit("setWithFree",{state:"error",msg:e}),Promise.reject(e)}r.push(t)}try{let r=await t(),i=`setWithFree: ${e.join(", ")}`;return n.emit("setWithFree",{state:"success",msg:i}),r}catch(e){let t=`setWithFree: fn threw: ${e&&e.message||e}`;throw n.emit("setWithFree",{state:"error",msg:t}),e}finally{for(let e of r)delete i[e]}},n.set=async(e,t=!0)=>{i[e]={time:Date.now(),value:t};let r=`set: ${e}`;n.emit("set",{state:"success",msg:r})},n.get=async e=>{let t=i[e],r=void 0===t?null:t.value,a=`get: ${e}`;return n.emit("get",{state:"success",msg:a}),r},n.check=async e=>{let t=Ne(i,e),r=`check: ${e} = ${t}`;return n.emit("check",{state:"success",msg:r}),t},n.del=async e=>{delete i[e];let t=`del: ${e}`;n.emit("del",{state:"success",msg:t})},n.waitExist=async(e,t={})=>{let r=Ce(t,"attemptNum",null);ea(r)||(r=30),r=$i(r);let a=Ce(t,"timeInterval",null);ea(a)||(a=100),a=$i(a),n.emit("waitExist",{state:"start"});try{await ws(()=>Ne(i,e),{attemptNum:r,timeInterval:a})}catch(t){let i=`waitExist timeout (${r*a}ms): ${e}`;return n.emit("waitExist",{state:"error",msg:i}),Promise.reject(i)}let o=`waitExist resolved: ${e}`;n.emit("waitExist",{state:"success",msg:o})},n.waitNotExist=async(e,t={})=>{let r=Ce(t,"attemptNum",null);ea(r)||(r=30),r=$i(r);let a=Ce(t,"timeInterval",null);ea(a)||(a=100),a=$i(a),n.emit("waitNotExist",{state:"start"});try{await ws(()=>!Ne(i,e),{attemptNum:r,timeInterval:a})}catch(t){let i=`waitNotExist timeout (${r*a}ms): ${e}`;return n.emit("waitNotExist",{state:"error",msg:i}),Promise.reject(i)}let o=`waitNotExist resolved: ${e}`;n.emit("waitNotExist",{state:"success",msg:o})},n.clear=()=>{clearInterval(o)},n},e.cbol=function(e){if(gn(e))return e;if(0===e)return!1;if(1===e)return!0;let t=!1;return De(e)&&"true"===(e=Es(so(e)))&&(t=!0),t},e.cdbl=Ln,e.ceil=ol,e.cfilesize=function(e){return _e(e)?(e=Ln(e))<1024?sl(e,1)+" b":e<1048576?sl(e/1024,1)+" kb":e<1073741824?sl(e/1024/1024,1)+" mb":e<1099511627776?sl(e/1024/1024/1024,1)+" gb":"":""},e.cfinancial=function(e,t=0){if(!_e(e))return"";if(!Ia(t))return"";let r=(e=sl(e,t)).split("."),n=r[0],i=r.length>1?"."+r[1]:"",a=/(\d+)(\d{3})/;for(;a.test(n);)n=n.replace(a,"$1,$2");return n+i},e.cint=$i,e.clearXSS=cl,e.clearXSSDyn=async function(e,t={},r){return Pr(r)||(r=["https://cdn.jsdelivr.net/npm/xss@1.0.15/dist/xss.min.js"]),await dl(r),cl(e)},e.color=bu,e.composeToTree=Cu,e.convertToTree=function(e,t={}){if(!ke(e)&&!Pr(e))return[];let r=Ce(t,"bindKey",null);De(r)||(r="id");let n=Ce(t,"bindParent",null);De(n)||(n="parentId");let i=Ce(t,"bindText",null);De(i)||(i="text");let a=Ce(t,"bindChildren",null);De(a)||(a="children");let o=Ce(t,"bindType",null);De(o)||(o="type");let s=Ce(t,"bindNumOfChilren",null);De(s)||(s="numOfChilren");let c=Ce(t,"bindRoot",null);De(c)||(c="root");let l=Ce(t,"saveExtProps",null);return gn(l)||(l=!1),De(c)&&(e={[c]:e}),Cu(ku(e,{bindKey:r,bindParent:n,bindText:i,bindType:o,bindNumOfChilren:s}),{bindKey:r,bindParent:n,bindChildren:a,saveExtProps:l})},e.copyStrToClipboard=function(e,t={}){if(!Se(e))return"invalid input";let r=Ce(t,"eleParent");Ir(r)||(r=document.body);let n=document.createElement("textarea");if(n.style.position="fixed",n.style.left=0,n.style.top=0,n.style.zIndex=-1,n.style.background="transparent",n.style.color="transparent",n.value=e,r.appendChild(n),n.select(),!Bu(n))return"ele can not be focusd";try{document.execCommand("copy")}catch(e){return"can not copy str to clipboard"}return r.removeChild(n),""},e.cosd=Su,e.cotd=function(e){return _e(e)?1/Du(e=Ln(e)):null},e.createExcelWorkbook=Tu,e.cscd=function(e){return _e(e)?1/Fu(e=Ln(e)):null},e.cstr=jo,e.day2cht=function(e,t=!1){if(!_u(e))return"";let n=r(e,"YYYY-MM-DD"),i="";return i=t?n.month()+1+"月"+n.date()+"日":"民國 "+(n.year()-1911)+" 年 "+(n.month()+1)+" 月 "+n.date()+" 日",i},e.debounce=Nu,e.delay=Is,e.dig=sl,e.digExp=function(e,t=0){if(!_e(e))return"";if(!Ia(t))return"";let r="";return r=0===(e=Ln(e))?"0":Math.abs(e)<=1e-6?e.toExponential(t):sl(e,t),r},e.domAlert=function(e,t={}){if(!De(e))return;let r=Ce(t,"type","success");Ne(Uu,r)||(r="success");let n=Ce(t,"icon",null);De(n)||(n=Uu[r]);let i="top-right";"top-left"!==t.position&&"bottom-right"!==t.position&&"bottom-left"!==t.position||(i=t.position);let a=Ce(t,"time");bo(a)||(a=4e3),a<0&&(a=4e3);let o=Ce(t,"paddingStyle",null);null===o&&(o={top:14,right:26,bottom:14,left:14});let s="";{let e=Ce(o,"top",0),t=Ce(o,"bottom",0),r=Ce(o,"left",0);s=`padding:${e}px ${Ce(o,"right",0)}px ${t}px ${r}px;`}let c=Ce(t,"textColor","#000");c=gl(c,";","");let l=Ce(t,"backgroundColor","#fff");l=gl(l,";","");let u=Ce(t,"borderWidth",1),f=Ce(t,"borderColor","#ebeef5");f=gl(f,";","");let h=Ce(t,"borderRadius",8),d=Ce(t,"shadowStyle","0 2px 12px 0 rgba(0,0,0,.1)");d=gl(d,";","");let p=Ce(t,"closeIconShift",null);null===p&&(p={top:10,right:10});let g="";{let e=Ce(p,"top",""),t=Ce(p,"bottom",""),r=Ce(p,"left",""),n=Ce(p,"right","");bo(e)&&(e=`top:${e}px;`),bo(t)&&(t=`bottom:${t}px;`),bo(r)&&(r=`left:${r}px;`),bo(n)&&(n=`right:${n}px;`),g=`position:absolute; ${e} ${n} ${t} ${r}`}let A=`alt-${Mu()}`,m=`alt-${Mu()}`,v=`\n <div \n style="display:inline-block; color:${c}; background:${l}; border:${u}px solid ${f}; border-radius:${h}px; box-shadow:${d};"\n onmouseenter="ttWAlertFadeIn('${m}')"\n onmouseleave="ttWAlertFadeOut('${m}')"\n >\n <div style="position:relative; ${s}">\n\n <div style="display:flex; align-items:center;">\n <div style="margin-right:10px;">\n <div style="display:flex;">${n}</div>\n </div>\n <div>${e}</div>\n </div>\n\n <div style="${g}">\n <div \n id="${m}" \n style="display:flex; cursor:pointer; opacity:0;" \n onclick="ttWAlertCancel('${A}')"\n >\n ${Pu}\n </div>\n </div>\n\n </div>\n </div>\n `,b=document.createElement("div");b.id=A,b.style.position="fixed",b.style.transition="transform 0.3s, top 0.5s, bottom 0.5s",b.style.zIndex=-1,b.style.opacity=.001,i.indexOf("-left")>=0?b.style.transform="translateX(-100%)":b.style.transform="translateX(100%)",b.innerHTML=v,document.querySelector("body").appendChild(b);let y=is();return function({id:e,position:t,time:r,pm:n}){Hu[e]={id:e,position:t,ele:null,loc:{height:null,top:null,bottom:null,left:null,right:null},timeShow:r,timeStart:Date.now(),pm:n},Wu(),null===ju&&(ju=setInterval(()=>{xr(Hu,e=>{Date.now()-e.timeStart>e.timeShow&&(e.pm.resolve(),Gu(e.id))}),ke(Hu)||(clearInterval(ju),ju=null)},50))}({id:A,position:i,time:a,pm:y}),y},e.domAppend=Yu,e.domCancelEvent=Vu,e.domCompareText=function(e,t,r,n,i={}){if(!Ir(e))return Promise.reject("invalid ele");let a=Ce(i,"format");"side"!==a&&"line"!==a&&(a="side");let o="side"===a?"side-by-side":"line-by-line",s=Gf();De(t)||(t="Text");let c=eo(t,t,r,n),l=s.html(c,{drawFileList:!0,matching:"lines",outputFormat:o,...i});l=l.replace('<span class="d2h-file-list-title">Files changed (1)</span>',"");try{e.innerHTML=l}catch(e){console.log(e)}return{diff:c,html:l}},e.domConvertToPic=Jf,e.domConvertToPicDyn=async function(e,t={},r){return Pr(r)||(r=["https://cdn.jsdelivr.net/npm/@zumer/snapdom@1.9.14/dist/snapdom.min.js"]),await dl(r),Jf(e,t)},e.domDetect=function(e,t={}){let r=Ce(t,"timeInterval",null);ea(r)||(r=20);let n=Ce(t,"tolerancePixel",null);ea(n)||(n=1);let i,a=Vi(),o={offsetWidth:0,offsetHeight:0,clientWidth:0,clientHeight:0,windowWidth:0,windowHeight:0},s=Gi(o),c={width:"",height:""};if(!wo(e))return console.log("invalid f",e),null;i=setInterval(()=>{let t=e();if(t){let e={offsetWidth:t.offsetWidth,offsetHeight:t.offsetHeight,clientWidth:t.clientWidth,clientHeight:t.clientHeight,windowWidth:window.innerWidth,windowHeight:window.innerHeight},r=s.offsetWidth-e.offsetWidth,i=s.offsetHeight-e.offsetHeight,l=Math.abs(r)>n,u=Math.abs(i)>n,f="";r>0?f="smaller":r<0&&(f="larger");let h="";if(i>0?h="smaller":i<0&&(h="larger"),c={width:f,height:h},l||u){let r={...s};setTimeout(()=>{e.offsetWidth>0&&e.offsetHeight>0&&(a.emit("resize",{sold:r,snew:e,smode:c,ele:t}),a.emit("resizeWithWindow",{sold:r,snew:e,smode:c,ele:t,from:"dom"}))},1)}o=s,s=e}},r);let l=e=>{a.emit("resizeWithWindow",{sold:o,snew:s,smode:c,from:"window"})};return window.addEventListener("resize",l),a.clear=()=>{clearInterval(i),window.removeEventListener("resize",l)},a},e.domDrag=function(e,t={}){if(!Ir(e))return void console.log("ele is not a HTMLElement",e);let r=Ce(t,"attIdentify",null);De(r)||(r="dragid");let n=Ce(t,"attIndex",null);De(n)||(n="dragindex");let i=Ce(t,"attGroup",null);De(i)||(i="draggroup");let a=Ce(t,"group",null);De(a)||(a="group");let o=Ce(t,"previewOpacity",null);bo(o)||(o=.4);let s=Ce(t,"previewDisabledOpacity",null);bo(s)||(s=.2);let c=Ce(t,"previewBackground",null);De(c)||(c="white");let l=Ce(t,"previewBorderWidth",null);bo(l)||(l=1);let u=Ce(t,"previewBorderColor",null);De(u)||(u="#f26");let f=Ce(t,"timeDragStartDelay",null);bo(f)||(f=120);let h=`c${Mu(8)}`,d=a;e.setAttribute(i,d),e.setAttribute(r,h);let p=ah(d,h,{attIdentify:r,previewOpacity:o,previewBackground:c,previewBorderWidth:l,previewBorderColor:u}),g=function(e,t){let r=[];return{bind:function(){let n;n="mousedown";let i=function(r){t.dragStart({e:r,ele:e,name:"mousedown"})};e.addEventListener(n,i,!1),r.push({ele:e,name:n,f:i}),n="touchstart";let a=function(r){t.dragStart({e:r,ele:e,name:"touchstart"})};e.addEventListener(n,a,!1),r.push({ele:e,name:n,f:a}),n="touchmove";let o=function(e){t.dragMove({e:e,name:"touchmove"}),e.cancelable&&e.preventDefault()};e.addEventListener(n,o,!1),r.push({ele:e,name:n,f:o})},unbind:function(){xr(r,({ele:e,name:t,f:r})=>{e.removeEventListener(t,r)})}}}(e,{dragStart:e=>{p.emit(d+"-dragStart",e)},dragMove:e=>{p.emit(d+"-dragMove",e)}});g.bind(),sh({gid:d,attGroup:i,attIndex:n,attIdentify:r,timeDragStartDelay:f,previewOpacity:o,previewDisabledOpacity:s});let A=Vi();return p.on(a+"-change",e=>{e.tarEid===h&&A.emit("change",e)}),p.on(a+"-start",e=>{e.tarEid===h&&A.emit("start",e)}),p.on(a+"-move",e=>{e.tarEid===h&&A.emit("move",e)}),p.on(a+"-enter",e=>{e.tarEid===h&&A.emit("enter",e)}),p.on(a+"-leave",e=>{e.tarEid===h&&A.emit("leave",e)}),p.on(a+"-drop",e=>{e.tarEid===h&&A.emit("drop",e)}),A.setIsActive=function(e){ih[d].isActive=e},A.unbind=function(){g.unbind(),function(e,t){let r=ih[e],n=Gi(r.eleIds);Kf(n,t),r.eleIds=n,0===n.length&&(r.oevg.unbind(),r.pv.clear(),delete ih[e])}(d,h)},A},e.domDragBarAndScroll=function(e,t,r={}){let n=null,i=null,a=null,o=null,s=null,c=null,l=null,u=null,f=null,h=null,d=null,p=null,g=null,A=null,m=null,v=!1,b=Ce(r,"getHeighRatio",null);U(b)||(b=()=>1);let y=Ce(r,"getWidthRatio",null);U(y)||(y=()=>1);let w=Ce(r,"stopScrollPropagationForPanel",null);pn(w)||(w=!1);let I=Ce(r,"stopTouchDragPropagationForPanel",null);pn(I)||(I=!1);let E=Ce(r,"useTouchDragForPanel",null);pn(E)||(E=!0);let C=e,x=t,k=Vi();return n=e=>{let t=e.deltaY/Math.abs(e.deltaY),r=e.deltaX/Math.abs(e.deltaX);k.emit("scrollPanel",{ratioY:t,ratioX:r}),w&&Vu(e)},C.addEventListener("wheel",n),i=e=>{if(E){let t=Ce(e,"touches.0.clientY",0),r=Ce(e,"touches.0.clientX",0),n=-t*b(),i=-r*y();v=!0,k.emit("pressBar",{clientY:n,clientX:i}),I&&Vu(e)}},C.addEventListener("touchstart",i),a=e=>{if(E&&v){let t=Ce(e,"touches.0.clientY",0),r=Ce(e,"touches.0.clientX",0),n=-t*b(),i=-r*y();k.emit("dragBar",{clientY:n,clientX:i}),I&&Vu(e)}},C.addEventListener("touchmove",a,{passive:!1}),o=e=>{E&&v&&(v=!1,k.emit("freeBar"),I&&Vu(e))},C.addEventListener("touchend",o),s=e=>{v=!0,k.emit("pressBar",{clientY:e.clientY,clientX:e.clientX})},x.addEventListener("mousedown",s),c=e=>{v&&(v=!1,k.emit("freeBar"))},x.addEventListener("mouseup",c),l=e=>{v=!0,k.emit("pressBar",{clientY:e.touches[0].clientY,clientX:e.touches[0].clientX})},x.addEventListener("touchstart",l),u=e=>{v&&(k.emit("dragBar",{clientY:e.touches[0].clientY,clientX:e.touches[0].clientX}),Vu(e))},x.addEventListener("touchmove",u,{passive:!1}),f=e=>{v&&(v=!1,k.emit("freeBar"))},x.addEventListener("touchend",f),h=e=>{v&&k.emit("dragBar",{clientY:e.clientY,clientX:e.clientX})},window.addEventListener("mousemove",h),d=e=>{v&&(v=!1,k.emit("freeBar"),w&&Vu(e))},window.addEventListener("mouseup",d),p=e=>{},window.addEventListener("scroll",p,{passive:!1}),g=e=>{},window.addEventListener("wheel",g,{passive:!1}),A=e=>{},document.addEventListener("scroll",A,{passive:!1}),m=e=>{},document.addEventListener("wheel",m,{passive:!1}),k.clear=function(){C.removeEventListener("wheel",n),C.removeEventListener("touchstart",i),C.removeEventListener("touchmove",a),C.removeEventListener("touchend",o),x.removeEventListener("mousedown",s),x.removeEventListener("mouseup",c),x.removeEventListener("touchstart",l),x.removeEventListener("touchmove",u),x.removeEventListener("touchend",f),window.removeEventListener("mousemove",h),window.removeEventListener("mouseup",d),window.removeEventListener("scroll",p),window.removeEventListener("wheel",g),document.removeEventListener("scroll",A),document.removeEventListener("wheel",m)},k},e.domDragPreview=nh,e.domDropFiles=function(e){let t=!1,r=!1,n=Vi();function i(e){Vu(e),r=!0,!1===t&&(t=!0,n.emit("dropIn",{ev:e}))}function a(e){Vu(e),r=!1,setTimeout(function(){r||(t=!1,n.emit("dropOut",{ev:e}))},100)}function o(e){i(e)}function s(e){a(e)}function c(e){function t(){a(e)}i(e),uh(e.dataTransfer).then(r=>{let i=go(r.entries,{type:"file"});n.emit("getFiles",{ev:e,files:r.files,filesTree:i,entries:r.entries,cb:t})}).catch(e=>{n.emit("error",e)})}return e.addEventListener("dragenter",o,!1),e.addEventListener("dragover",o,!1),e.addEventListener("dragleave",s,!1),e.addEventListener("drop",c,!1),n.off=function(){e.removeEventListener("dragenter",o,!1),e.removeEventListener("dragover",o,!1),e.removeEventListener("dragleave",s,!1),e.removeEventListener("drop",c,!1)},n},e.domElementsFromPoint=$f,e.domFadeIn=Ru,e.domFadeOut=Qu,e.domFind=fh,e.domFinds=Yf,e.domGetAttr=eh,e.domGetBoudRect=th,e.domGetBoudRectRefSelf=rh,e.domGetFileAccept=bh,e.domGetFiles=yh,e.domGetParents=Xf,e.domGetPointFromEvent=Zf,e.domGetScrollableParent=function(e){let t=/(auto|scroll)/,r=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(e){return t.test(function(e){return r(e,"overflow")+r(e,"overflow-y")+r(e,"overflow-x")}(e))};if(!(e instanceof HTMLElement||e instanceof SVGElement))return;let i=Xf(e);for(let e=0;e<i.length;e+=1)if(n(i[e]))return i[e];return document.scrollingElement||document.documentElement},e.domGetWindowSize=function(){let e=yn();return{width:(()=>{let t=[Ce(e,"innerWidth"),Ce(e,"document.documentElement.clientWidth"),Ce(e,"document.body.clientWidth")];return t=go(t,bo),Eh(t)})(),height:(()=>{let t=[Ce(e,"innerHeight"),Ce(e,"document.documentElement.clientHeight"),Ce(e,"document.body.clientHeight")];return t=go(t,bo),Eh(t)})()}},e.domIsClientXYIn=function(e,t,r){if(!bo(e))return void console.log("clientX is not a number",e);if(!bo(t))return void console.log("clientY is not a number",t);if(!Ir(r))return void console.log("ele is not a HTMLElement",r);let n;try{n=r.getBoundingClientRect()}catch(e){return void console.log("invalid ele for getBoundingClientRect",e)}let i=!1;try{i=e>=n.left&&e<=n.right&&t>=n.top&&t<=n.bottom}catch(e){console.log("catch when calculating page information of element",e)}return i},e.domIsFocused=Bu,e.domIsStable=function(e,t={}){if(!Ir(e))return Promise.reject("invalid element");if(!wo(e.getBoundingClientRect))return Promise.reject("invalid element.getBoundingClientRect");let r=Ce(t,"mode","");"promise"!==r&&"event"!==r&&(r="promise");let n=Ce(t,"tolerance",0),i=Ce(t,"timeDiff",100),a=Ce(t,"timeDetect",50),o=()=>{let t=e.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width,h:t.height}},s=()=>{try{return e.getAnimations({subtree:!0})}catch(e){return[]}},c=async()=>{let e=is();try{let t=o();await Is(i);let r=((e,t)=>!!e&&!!t&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.w-t.w)<=n&&Math.abs(e.h-t.h)<=n)(t,o());await Promise.allSettled(s().map(e=>e.finished));let a=0===s().length,c=r&&a;e.resolve(c)}catch(t){e.reject(t)}return e},l=()=>{let t=Vi(),r=!1,n=null,i=null,o=!1;return t.create=()=>{n=setInterval(()=>{r=(e=>{let r=!1;if(!Ir(e))return r;try{let e=!1,n=!1;i=setInterval(()=>{o?clearInterval(i):e||(e=!0,c().then(e=>{o||n!==e&&(n=e,t.emit("stable",e))}).catch(()=>{}).finally(()=>{e=!1}))},a),r=!0}catch(e){}return r})(e),r&&clearInterval(n)},50)},t.dispose=()=>{let e=!1;try{clearInterval(n),clearInterval(i),o=!0,e=!0}catch(e){}return e},t},u=null;return"promise"===r?u=c():"event"===r&&(u=l()),u},e.domIsVisible=function(e,t={}){if(!Ir(e))return Promise.reject("invalid element");if(Ch())return Promise.reject("invalid IntersectionObserver");let r=Ce(t,"mode","");"promise"!==r&&"event"!==r&&(r="promise");let n=()=>{let t=Vi(),r=!1,n=null,i=!1,a=new IntersectionObserver(e=>{if(i)return;let r=e[0].isIntersecting;t.emit("visible",r)});return t.create=()=>{n=setInterval(()=>{i?clearInterval(n):(r=(e=>{let t=!1;if(!Ir(e))return t;try{a.observe(e),t=!0}catch(e){}return t})(e),r&&clearInterval(n))},50)},t.dispose=()=>{let e=!1;try{clearInterval(n),a.disconnect(),i=!0,e=!0}catch(e){}return e},t},i=null;return"promise"===r?i=(()=>{let t=is();try{let r=new IntersectionObserver(e=>{t.resolve(e[0].isIntersecting),r.disconnect()});r.observe(e)}catch(e){t.reject(e)}return t})():"event"===r&&(i=n()),i},e.domPrepend=Vf,e.domRemove=zf,e.domRenderMarkdownMind=xh,e.domRenderMarkdownMindDyn=async function(e,t,r={},n){return Pr(n)||(n=["https://cdn.jsdelivr.net/npm/d3@7.8.3/dist/d3.min.js","https://cdn.jsdelivr.net/npm/markmap-view@0.14.4/dist/index.min.js","https://cdn.jsdelivr.net/npm/markmap-lib@0.14.4/dist/browser/index.min.js"]),await dl(n),xh(e,t,r)},e.domRipple=function(e,t,r={}){let n=Ce(r,"timeDuration",null);ea(n)||(n=1e3);let i=Ce(r,"color",null);if(De(i)||(i="rgba(255, 255, 255, 0.5)"),!Ir(e))return;e.style.position="relative",e.style.overflow="hidden";let a=e.getBoundingClientRect(),o=t.clientX-a.left,s=t.clientY-a.top,c=2*Math.max(e.clientWidth,e.clientHeight),l=document.createElement("div");l.style.width=`${c}px`,l.style.height=`${c}px`,l.style.transition=`all ${n/1e3}s linear`,l.style.position="absolute",l.style.zIndex=1,l.style.left=`${o}px`,l.style.top=`${s}px`,l.style.borderRadius="50%",l.style.transformOrigin="center",l.style.transform="translate(-50%,-50%) scale(0)",l.style.background=i,l.style.userSelect="none",l.style.pointerEvents="none",e.appendChild(l),setTimeout(()=>{l.style.transform="translate(-50%,-50%) scale(2)",l.style.opacity=0},1),setTimeout(()=>{zf(l)},n)},e.domScrollIntoView=function(e,t={}){if(!Ir(e))return;xe(t)||(t={});let r={behavior:"smooth"};r={...r,...t},zu()&&pd(),e.scrollIntoView(r)},e.domScrollTo=function(e,t={}){if(!Ir(e))return;xe(t)||(t={});let r={behavior:"smooth"};r={...r,...t},zu()&&pd(),e.scrollTo(r)},e.domSetAttr=function(e,t,r){if(!Ir(e))return null;if(!De(t))return null;if(!De(r)&&!_e(r))return null;try{return e.setAttribute(t,r),e.getAttribute(t)}catch(e){}return null},e.domShowImages=Id,e.domShowImagesDyn=async function(e,t=null,r={},n){return Pr(n)||(n=["https://cdn.jsdelivr.net/npm/viewerjs@1.11.7/dist/viewer.min.css","https://cdn.jsdelivr.net/npm/viewerjs@1.11.7/dist/viewer.min.js"]),await dl(n),Id(e,t,r)},e.domShowInputAndGetFiles=Cd,e.domShowInputAndGetFilesU8Arrs=function(e={}){let t=Ce(e,"kind","*"),r=Ce(e,"multiple");gn(r)||(r=!1);let n=Ce(e,"entireHierarchy");gn(n)||(n=!1);let i=Ce(e,"sizeMbLimit");_e(i)||(i=1e3),i=Ln(i);let a=is(),o=[];return Cd({kind:t,multiple:r,entireHierarchy:n,sizeMbLimit:i}).then(function(e){let t=is(),r=Ce(e,"errs",{}),n=Ce(e,"files",[]);return ke(r)?t.reject(r):t.resolve(n),t}).then(function(e){return xr(e,function(e){o.push({name:e.name,size:e.size,type:e.type})}),ls(e)}).then(function(e){xr(e,function(e,t){o[t].u8a=e}),a.resolve(o)}).catch(function(e){a.reject(e)}),a},e.domShowInputDatatime=function(e,t={}){let n=Ce(t,"type","");"date"!==n&&"datetime-local"!==n&&(n="datetime-local");let i=Ce(t,"eleRef",null);Ir(i)||(i=document.activeElement);let a=is(),o="drf"+Mu(),s="GrpDomShowDatatime";zf(`[name=${s}]`);let c=!1,l="";"date"===n?_u(e)&&(c=!0,l=e):xd(e)&&(c=!0,l=r(e).format("YYYY-MM-DDTHH:mm")),De(l)&&(l=`value="${l}"`);let u=document.createElement("div");u.setAttribute("name",s),u.style.width=0,u.style.height=0,u.style.overflow="hidden",u.innerHTML=`\n <div style="transform:translateY(-100%);">\n <input id="${o}" type="${n}" style="opacity:0;" ${c?l:""} />\n </div>\n `;let f=null;Ir(i)?i.parentNode.insertBefore(u,i.nextSibling):document.querySelector("body").appendChild(u);let h=!1;function d(){if(!h){h=!0;try{f.removeEventListener("change",g,!0),i.removeEventListener("focusout",A,!0)}catch(e){}if(zf(`[name=${s}]`),De(p)){let e="";e="date"===n?p:`${p}:00`,a.resolve(e)}}}let p="";function g(e){try{p=e.target.value}catch(e){console.log(e)}d()}function A(e){setTimeout(()=>{d()},50)}return setTimeout(()=>{f=fh("#"+o),f.addEventListener("change",g,!0),f.showPicker()},1),i.addEventListener("focusout",A,!0),a},e.domTooltip=function(e,t,r={}){let n=null,i=null;function a(){null!==n&&n.destroy(!0),e.setAttribute("tippystate",""),clearInterval(i)}let o={arrow:!0,theme:"dark",placement:"bottom",delay:150};r=ke(r)?wd(o,r):o;let s=t;t||(s=e.innerHTML);let c=_e(e.getAttribute("tippystate"));if(e.setAttribute("tippystate","5"),c)return;s=`<div style="text-align:left;">${s}</div>`;let l=Mg;Mg.default&&(l=Mg.default),n=l(e,{...r,content:s,allowHTML:!0,onHidden(){a()},onDestroy(){n=null,a()}}),n.show(),i=setInterval(()=>{let t=e.getAttribute("tippystate");_e(t)?(t=$i(t),t-=1,e.setAttribute("tippystate",t),t<=0&&a()):a()},1e3)},e.domTriggerEvent=Ed,e.domVirtualCreate=Qg,e.domVirtualCreateQueue=function(){return new function(){let e=qg(1);return async function(t,r={}){return e(Qg,t,r)}}},e.downloadExcelFileFromData=zg,e.downloadExcelFileFromDataDyn=async function(e,t="data",r,n){Pr(n)||(n=["https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js"]),await dl(n);let i=zg(e,t,r);return""!==Ce(i,"error","")?Promise.reject(i.error):i},e.downloadFileFromB64=function(e,t){if(!bn())return void console.log("no window");if(!De(e))return void console.log("no filename");let r=document.createElement("a");r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r)},e.downloadFileFromBlob=Wg,e.downloadFileFromText=function(e,t,r=!0){if(!bn())return void console.log("no window");if(!De(e))return void console.log("invalid filename");if(!Se(t))return void console.log("invalid content");if(!gn(r))return void console.log("withBOM is not a boolean");let n;n=r?new Blob(["\ufeff",t]):new Blob([t]),Wg(e,n)},e.downloadFileFromU8Arr=function(e,t){bn()?De(e)?es(t)?Wg(e,Vg(t)):console.log("no data"):console.log("no filename"):console.log("no window")},e.dtmapping=Jg,e.dtpick=Kg,e.estimateTicks=function(e,t,r={}){if(!_e(e))throw new Error("rmin is not a number");if(e=Ln(e),!_e(t))throw new Error("rmax is not a number");if(e===(t=Ln(t))){let t=null;t=0===e?1:Math.abs(e/10);let r=Zg(t,{returnDigit:!0});return t=Xg(t,r),{tickNum:3,tickInterval:t,tickPositions:[e-t,e,e+t],tickDig:r}}if(e>t)throw new Error(`rmin[${e}] > rmax[${t}]`);let n=Ce(r,"testTickNums");Pr(n)||(n=[3,4,5]);let i=e,a=t,o=$g(i),s=$g(a),c=Math.max(o.r,s.r),l=Math.log10(c),u=i/c,f=a/c,h=(u+f)/2,d=f-u,p=[];xr(n,e=>{let t=d/(e-1),r=Zg(t,{returnDigit:!0});r=Math.min(r,2),xr(oa(r,-1,-1),r=>{let n=r-l;n=Math.max(n,0);let i=ol(t,r),a=i-1/Math.pow(10,r);a=Xg(a,r);let o=i+1/Math.pow(10,r);o=Xg(o,r);let s=[a,i,o];s=go(s,e=>e>0);let g=Xg(h,r),A=g-1/Math.pow(10,r);A=Xg(A,r);let m=g+1/Math.pow(10,r);m=Xg(m,r);let v=[A,g,m];xr(s,t=>{let i=c*t;i=Xg(i,n),xr(v,a=>{let o=[],s=[];{let i=a-(e-1)/2*t;for(let a=0;a<e;a++){let e=i+a*t;e=Xg(e,r),o.push(e);let l=c*e;l=Xg(l,n),s.push(l)}}let l=(h=o)&&h.length?h[0]:void 0;var h;let g=To(o);if(l>u||g<f)return!0;let A=(u-l)/d,m=(g-f)/d,v=(A+m)/2,b=0;xr(s,e=>{Mn(e)&&b++});let y=b/e,w=0;xr(o,e=>{0===e&&w++});let I=w/e,E=0;xr(o,e=>{.5===e&&E++});let C=E/e,x=0;xr(o,e=>{1===e&&x++});let k=x/e,B={diff:v,rngCenter:a,numInt:b,ratInt:y,num0:w,rat0:I,num5:E,rat5:C,num10:x,rat10:k,overMin:A,overMax:m,fitness:v+.2*r+.1*e+1.5*A+1.5*m+(1-.25*y)+(1-.4*I)+(1-.3*C)+(1-.3*k),idg:r,tickNum:e,_tickDig:r,_tickInterval:t,_tickPositions:o,tickDig:n,tickInterval:i,tickPositions:s};p.push(B)})})})}),p=Uo(p,"fitness");let g=Ce(p,0);return{tickNum:g.tickNum,tickInterval:g.tickInterval,tickPositions:g.tickPositions,tickDig:g.tickDig}},e.evem=Vi,e.execJsCode=async function(e,t={}){e=i.resolve(e);let r=(await import(a.pathToFileURL(e).href)).default;if(!wo(r))throw new Error(`the default export of [${e}] is not a function`);return await r(t)},e.execProcess=function(e,t,r={}){if(!Pr(t)&&!De(t))throw new Error("args is not an effective array or string");De(t)&&(t=[t]);let n=Ce(r,"mode");"spawn"!==n&&"exec"!==n&&"execFile"!==n&&(n="spawn");let i=Ce(r,"cbStdout"),a=Ce(r,"cbStderr"),s=Ce(r,"codeCmd");De(s)||(s="utf8");let c=Ce(r,"useChcp");gn(c)||(c=!1);let l=Ce(r,"timeout");(!_e(l)||l<=0)&&(l=null);let u=is();if(!yo(n,["spawn","exec","execFile"]))return u.reject(`invalid mode[${n}]`),u;let f=null,h="";try{if("spawn"===n){let r=uo(e,1),n=fo(e,1);if('"'===r||'"'===n||"'"===r||"'"===n)throw new Error("prog of spawn doens not need to add quotes");f=o.spawn(e,t,{windowsHide:!0,shell:!1})}else if("exec"===n){let r="";c&&(r="cmd /c chcp 65001>nul &&"),f=o.exec(`${r} ${e} ${t.join(" ")} & exit`,{windowsHide:!0,encoding:s})}else"execFile"===n&&(f=o.execFile(e,t,{windowsHide:!0,encoding:s}))}catch(e){return u.reject(e),u}f.stdout.on("data",e=>{let t="";t="spawn"===n?e.toString(s):e.toString(),h+=t+"\n",wo(i)&&i(t)}),f.stderr.on("data",e=>{let t="";t="spawn"===n?e.toString(s):e.toString(),h+=t+"\n",wo(a)&&a(t)});let d=null,p=!1;return null!==l&&(d=setTimeout(()=>{p=!0,f&&f.pid&&eA(f.pid).catch(()=>{})},l)),f.on("close",e=>{null!==d&&clearTimeout(d),p?u.reject(`timeout[${l}ms]:\n${h}`):0!==e?u.reject(`code[${e}]:\n${h}`):u.resolve(h)}),f.on("error",e=>{null!==d&&clearTimeout(d),u.reject(e)}),u},e.execProcessKillPid=eA,e.filepathToTree=function(e,t={}){if(!Pr(e))return{};let r=Ce(t,"delimiter");De(r)||(r="❯");let n=Ce(t,"bindRoot");De(n)||(n="");let i=De(n),a="";a=i?n:"root";let o=Ce(t,"soryItems"),s=Br(e,(e,t)=>{"folder"!==e.type&&"file"!==e.type&&(e.type="file");let n=(e=>{let t=lo(e=(e=e.replace(/\\\\/g,"\\")).replace(/\\/g,"/"),"/");return{ss:t,cfp:ka(t,r)}})(e.path);return{ind:t,type:e.type,ss:n.ss,data:Gi(e)}}),c=e=>{let t=dn(e),n=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<=i;r++)t.push(e[r]);let a=ka(t,r);n.push({id:a,name:e[i]})}return n},l=-1,u=[],f={};xr(s,e=>{let t=null;t=[a];let n=null;n=a;let i=dn(e.ss)-1;xr(e.ss,(a,o)=>{let s=o<i||"folder"===e.type;t.push(a);let h=null,d=null;o===i&&(h=e.ind,d=e.data);let p=ka(t,r),g=c(t);if(Ne(f,p)){let t=f[p],r="folder"===Ce(t,"_type","");if(!r&&s)throw console.log("kpLv[id]",t),console.log("v",e),new Error(`id[${p}] is unrecognized from a file to folder`);if(!r&&!s)throw console.log("kpLv[id]",t),console.log("v",e),new Error(`id[${p}] get repeat data from two files`);if(r&&!s)throw console.log("kpLv[id]",t),console.log("v",e),new Error(`id[${p}] is unrecognized from a folder to file`);if(ke(f[p].data)&&ke(d))throw console.log("kpLv[id]",t),console.log("v",e),new Error(`id[${p}] get repeat data from two folders`);if(null===f[p].data&&ke(d)){f[p]._indOri=h,f[p].data=d;let e=f[p]._indNormalize,t=u[e];u[e]={...d,type:t.type,path:t.path}}}else{l++;let e=l,r=null;r=s?{_indOri:h,_indNormalize:e,ns:dn(t),ts:Gi(t),pathInfors:g,_type:"folder",type:"array",numOfChilren:-1,id:p,parentId:n,text:a,children:[],data:d}:{_indOri:h,_indNormalize:e,ns:dn(t),ts:Gi(t),pathInfors:g,_type:"file",type:"node",numOfChilren:-1,id:p,parentId:n,text:a,data:d},f[p]=r,u.push({...Ce(f[p],"data",{}),type:f[p]._type,path:"/"+ka(t,"/")})}n=p})});let h=nA(f);if(h=Uo(h,"id"),h=Uo(h,"ns"),wo(o)){let e=[];xr(lA(h,"ns"),(t,r)=>{xr(lA(t,"parentId"),(t,n)=>{let i=o(t,n,r);e=[...e,...i]})}),h=e}let d=[],p=[];xr(h,e=>{"folder"===e._type?d.push(e):p.push(e)});let g=lA(d,"ns"),A=lA(p,"ns"),m=rA(Br(d,"ns")),v=rA(Br(p,"ns")),b=null;{let e=[a];b=[{_indOri:null,_indNormalize:null,ns:dn(e),ts:Gi(e),pathInfors:c(e),_type:"folder",type:"array",numOfChilren:-1,id:a,parentId:"",text:a,children:[],data:null}]}let y={};y[a]="0.children";let w={};w[a]="0";for(let e=2;e<=m;e++)xr(g[e],e=>{let t=Ce(y,e.parentId,"");if(!De(t))throw console.log("kpPathFd",y),console.log("v",e,e.parentId),new Error(`invalid parentId[${e.parentId}] in folder`);let r=Ce(b,t);if(Be(r)||yu(b,t,[]),r=Ce(b,t),!ke(gh(r,{id:e.id}))){r.push({...e,children:[]});let n=`${t}.${dn(r)-1}`;y[e.id]=`${n}.children`,w[e.id]=n}});let I=Gi(b),E={};for(let e=2;e<=v;e++)xr(A[e],e=>{let t=Ce(y,e.parentId,"");if(!De(t))throw console.log("kpPathFd",y),console.log("v",e,e.parentId),new Error(`invalid parentId[${e.parentId}] in file`);let r=Ce(b,t);if(!Be(r))throw console.log("treeItems",b),console.log("k",t),console.log("v",e),new Error("無預先建置資料夾");if(!ke(gh(r,{id:e.id}))){r.push(e);let n=`${t}.${dn(r)-1}`;E[e.id]=n,w[e.id]=n}});return{treeItems:b,treeItemsFolder:I,kpPath:w,fpsNormalize:u}},e.files2data=function(e){let t=is(),r=Br(e,function(e){return{name:e.name,size:e.size,type:e.type}});return cs(e).then(function(e){let n=Br(e,function(e){return{b64:e}}),i=uA(r,n);t.resolve(i)}),t},e.flattenToConn=ku,e.flattenTree=function(e,t={}){if(Be(e)){if(0===e.length)return[]}else{if(!xe(e))return[];if(Lr(e))return[]}let r=Ce(t,"bindKey",null);De(r)||(r="id");let n=Ce(t,"bindChildren",null);De(n)||(n="children");let i=!1;xe(e)&&(i=!0,e=[e]);let a=[];return xu(e,(e,t,i)=>{let o=Ce(e,r,null),s=Ce(e,n,null);if(o){let r=function(e){let t=[e[0]];for(let r=1;r<e.length;r++){let i=e[r];t.push(n),t.push(i)}return t}([...i,t]);if(a.push({...e,level:(dn(r)-1)/2,nk:r}),s)return s}}),i&&(a=a[0]),a},e.floor=function(e,t=0){return Ia(t)||(t=0),t=$i(t),_e(e)?new al(e).toDecimalPlaces(t,al.ROUND_FLOOR).toNumber():""},e.fsBuildReadStreamText=function(e){if(!dA(e))throw new Error("fp is not a file");let t=Vi(),r=l.createReadStream(e,{encoding:"utf8"});return t.emit("create"),u.createInterface({input:r,crlfDelay:1/0}).on("line",e=>{t.emit("line",e)}),r.on("close",()=>{t.emit("close")}),t},e.fsBuildWriteStreamText=function(){let e=null;return{create:t=>{let r=is();return e=l.createWriteStream(t,{flags:"w",encoding:"utf8"}),e.on("finish",()=>{r.resolve()}),e.on("error",e=>{r.reject(e)}),r},write:t=>{e.write(t+"\n")},end:()=>{let t=is();return e.on("close",()=>{t.resolve()}),e.end(),t}}},e.fsCleanFolder=function(e){return AA(e,{path:i,fs:l})},e.fsCleanFolderCore=AA,e.fsCopyFile=function(e,t,r={}){return mA(e,t,{path:i,fs:l,...r})},e.fsCopyFileCore=mA,e.fsCopyFolder=function(e,t,r={}){return bA(e,t,{path:i,fs:l,...r})},e.fsCopyFolderCore=bA,e.fsCreateFile=function(e,t,r={}){return EA(e,t,{fs:l,...r})},e.fsCreateFileCore=EA,e.fsCreateFolder=CA,e.fsCreateFolderCore=gA,e.fsDeleteFile=function(e){return xA(e,{fs:l})},e.fsDeleteFileCore=xA,e.fsDeleteFileSafe=async function(e,t={}){return await kA(e,{fs:l,...t})},e.fsDeleteFileSafeCore=kA,e.fsDeleteFolder=SA,e.fsDeleteFolderCore=BA,e.fsDeleteFolderSafe=async function(e,t={}){return await DA(e,{fs:l,...t})},e.fsDeleteFolderSafeCore=DA,e.fsDownloadFile=async function(e,t){return TA(e,t,{fs:l,Readable:f.Readable})},e.fsDownloadFileCore=TA,e.fsEvem=function(e={}){let t=Ce(e,"fd");De(t)||(t="./_evps");let r=Ce(e,"polling");gn(r)||(r=!1);let n=Ce(e,"timeInterval");ea(n)||(n=100),n=$i(n);let a=Ce(e,"timeBinaryInterval");ea(a)||(a=300),a=$i(a);let o=Ce(e,"keySys");De(o)||(o="[::pkg_content::]"),NA(t)||CA(t);let s=OA(t,{polling:r,timeInterval:n,timeBinaryInterval:a});s.on("change",e=>{if("add"!==e.type&&"change"!==e.type)return;let t=_A(e.fp),r="";try{r=l.readFileSync(e.fp,"utf8"),r=Zo(r)}catch(e){}ke(r)&&c.emit(t,{[o]:r})});let c=new h.EventEmitter,u=c.emit;return c.emit=function(e,r){let n=!1;if(ke(r)&&(n=Ne(r,o)),n){let t=Ce(r,o,null),n=Ce(t,"pkg",""),i=Ce(t,"time","");return u.call(this,e,n,i)}((e,r)=>{let n=i.resolve(t,e);Se(r)||(r=An(r)),l.writeFileSync(n,r,"utf8")})(e,{pkg:r,time:FA()})},c.clear=()=>{s.clear(),SA(t)},c},e.fsExists=function(e){return fA(e,{fs:l})},e.fsExistsCore=fA,e.fsGetFileBasicHash=function(e,t={}){return LA(e,{fs:l,crypto:p,...t})},e.fsGetFileBasicHashCore=LA,e.fsGetFileHash=function(e,t={}){return PA(e,{fs:l,crypto:p,...t})},e.fsGetFileHashCore=PA,e.fsGetFileXxHash=function(e,t={}){return QA(e,{fs:l,...t})},e.fsGetFileXxHashCore=QA,e.fsGetFilesInFolder=function(e,t=1){return HA(e,t,{path:i,fs:l})},e.fsGetFilesInFolderCore=HA,e.fsGetFilesWithHashInFolder=qA,e.fsGetFilesWithHashInFolderCore=jA,e.fsGetFolderBasicHash=function(e,t={}){return WA(e,{path:i,fs:l,crypto:p,...t})},e.fsGetFolderBasicHashCore=WA,e.fsGetFoldersInFolder=function(e,t=1){return GA(e,t,{path:i,fs:l})},e.fsGetFoldersInFolderCore=GA,e.fsIsFile=dA,e.fsIsFileCore=hA,e.fsIsFolder=NA,e.fsIsFolderCore=pA,e.fsMergeFiles=async function(e,t,r={}){return YA(e,t,{fs:l,...r})},e.fsMergeFilesCore=YA,e.fsReadJson=function(e){let t=null,r=zA(e,{fs:l});if(r.error)return r;let n=r.success,i=null;try{i=JSON.parse(n)}catch(e){t=e}return null!==t?{error:t}:{success:i}},e.fsReadText=function(e){return zA(e,{fs:l})},e.fsReadTextCore=zA,e.fsRenameFile=function(e,t){return VA(e,t,{fs:l})},e.fsRenameFileCore=VA,e.fsRenameFolder=function(e,t){return JA(e,t,{fs:l})},e.fsRenameFolderCore=JA,e.fsSrlog=function(e={}){let t=Ce(e,"fdSys","");De(t)||(t=i.resolve(),t=t.replaceAll("\\","/"));let n=Ce(e,"fdLog","");De(n)||(n="./syslog"),NA(n)||CA(n);let a=Ce(e,"dlm","");De(a)||(a="ꓹ");let o=Ce(e,"useTime",null);gn(o)||(o=!0);let s=Ce(e,"useLoc",null);gn(s)||(s=!0);let c=Ce(e,"useLocRela",null);async function u(e,t,...i){let c=(()=>{let e=r().format("YYYY-MM-DD");return`${n}/${e}.log`})(),u=Br(i,e=>{let t="";return t=xe(e)||Be(e)?JSON.stringify(e):gn(e)?e?"true":"false":jo(e),t}),f="";o&&(f=`[${e}]\n`,l.appendFileSync(c,f,"utf8")),s&&(f=`[${t}]\n`,l.appendFileSync(c,f,"utf8")),f=`${ka(u,`${a} `)}\n\n`,l.appendFileSync(c,f,"utf8")}return gn(c)||(c=!0),function(...e){let r="";o&&(r=FA());let n="",i="",a=[];if(s){if(a=lo((new Error).stack,"\n"),xr(a,e=>(e=so(e)).indexOf("file:")<0||e.indexOf("fsSrlog.mjs")>=0||(xr(lo(e," "),e=>{if(e.indexOf("file:")>=0)return n=e,!1}),!De(n)&&void 0)),!De(n))throw console.log("stackLines",a),new Error("can not parse stackLines");"("===uo(n,1)&&(n=ho(n,1)),")"===fo(n,1)&&(n=Wo(n,1));try{n=decodeURIComponent(n)}catch(e){console.log(e)}i=n,i=ho(i,8),i=i.replace(t,"")}let l=[];o&&(l=[...l,`[${r}]`]);let f="";s&&(f=n,c&&(f=i),l=[...l,`[${f}]`]),l=[...l,...e],console.log(...l),u(r,f,...e)}},e.fsSyncFolder=function(e,t,r={}){return ZA(e,t,{path:i,fs:l,crypto:p,...r})},e.fsSyncFolderCore=ZA,e.fsTask=function(e,t={}){let r=Ce(t,"fdStorage","");De(r)||(r="./_tkfs");let n=Ce(t,"levelLimit","");ea(n)||(n=1),n=$i(n);let i=Ce(t,"typeHash","");De(i)||(i="md5");let a=Ce(t,"timeInterval");Ao(a)||(a=6e4),a=$i(a),CA(r);let o=Vi(),s=!1,c=`${r}/fpHash.json`,u=`${r}/fpResult.json`,f=async()=>{if(!0===s)return;let t=(()=>{let e={};try{e=Zo(l.readFileSync(c,"utf8"))}catch(e){}return e})(),r=await(async()=>{let t={};return NA(e)?(xr(await qA(e,n,{type:i}),e=>{t[e.path]=e.hash}),t):t})(),a=Br(t,(e,t)=>({path:t,hash:e})),u=Br(r,(e,t)=>({path:t,hash:e}));xr(KA(a,u,"path").infor,(e,n)=>{if("same"===e)return!0;let i=Ce(t,n,""),a=Ce(r,n,""),u="";u="del"===e?i:a;let f=e,h=n,d=wA(n);s=!0;let p=is();return o.emit("change",{type:f,fp:h,fn:d,hash:u,pm:p}),p.then(()=>{let e=Gi(t);e[h]=r[h],(e=>{try{let t=An(e);l.writeFileSync(c,t,"utf8")}catch(e){}})(e)}).finally(()=>{s=!1}),!1})},h=()=>{let e={};try{e=Zo(l.readFileSync(u,"utf8"))}catch(e){}return e},d=(e={})=>{try{let t=An(e);l.writeFileSync(u,t,"utf8")}catch(e){}},p=setInterval(()=>{f().catch(()=>{})},a);return o.getResult=(e,t)=>{let r=`${e}|${t}`,n=Ce(h(),r,[]);return Be(n)||console.log(`result for key[${r}] is not an array`),n},o.getAndEliminateResult=(e,t)=>{let r=`${e}|${t}`,n=h(),i=Ce(n,r,[]);return Be(i)||console.log(`result for key[${r}] is not an array`),n=((e,t)=>{let r={};return xr(e,(e,n)=>{Ce(lo(n,"|"),0,"")!==t&&(r[n]=e)}),r})(n,e),d(n),i},o.setResult=(e,t,r)=>{Be(r)||(console.log("result is not an array, default to []"),r=[]);let n=`${e}|${t}`,i=h();i[n]=r,d(i)},o.clear=()=>{clearInterval(p)},o},e.fsTaskCp=function(e,t,r={}){NA(e)||CA(e),NA(t)||CA(t);let n=`${e}/fpHash.json`,i=`${t}/fpHash.json`,a=e=>{let t={};try{t=Zo(l.readFileSync(e,"utf8"))}catch(e){}return t},o=(e,t)=>{try{let r=An(t);l.writeFileSync(e,r,"utf8")}catch(e){}},s=(e,t)=>Ce(a(e),t,""),c=(e,t,r)=>{let n=a(e);n[t]=r,o(e,n)},u=(e,t)=>{let r=a(e);Ne(r,t)&&delete r[t],o(e,r)},f=()=>a(n),h=e=>o(n,e),d=e=>s(n,e),p=()=>a(i),g=e=>o(i,e),A=e=>s(i,e),m=(e,t)=>c(i,e,t),v=e=>u(i,e),b=e=>{let t=[];return xr(e,(e,r)=>{t.push({fp:r,hash:e})}),t},y={buildSrc:()=>{let e=Vi();return e.set=(t,r)=>{((e,t)=>{c(n,e,t)})(t,r),e.emit("set",{type:"set",fp:t,hash:r})},e.get=d,e.remove=t=>{(e=>{u(n,e)})(t),e.emit("remove",{type:"remove",fp:t})},e.readKp=f,e.writeKp=h,e},buildTar:()=>{let e=Vi(),t=Nu(300),r=$A(n);return r.on("change",r=>{t(()=>{(async()=>{let t=is(),r=f();if(!ke(r))return t.resolve("no src"),t;let n=p(),i=b(r),a=KA(b(n),i,"fp",{withInfor:!1}),o=is();return o.then(e=>{g(r)}).catch(()=>{}),e.emit("change",{kpSrc:r,kpTar:n,kpCmp:a,pm:o}),t})().catch(()=>{})})}),e.set=m,e.get=A,e.remove=v,e.readKp=p,e.writeKp=g,e.clear=r.clear,e}};return y},e.fsTreeFolder=function(e,t=1){return UA(e,t,{path:i,fs:l})},e.fsTreeFolderCore=UA,e.fsTreeFolderWithHash=function(e,t=1,r={}){return XA(e,t,{path:i,fs:l,crypto:p,...r})},e.fsTreeFolderWithHashCore=XA,e.fsWatchFile=$A,e.fsWatchFolder=OA,e.fsWriteJson=function(e,t,r={}){let n=null;if(!xe(t)&&!Be(t))return{error:"inp is not an object or array"};let i=Ce(r,"useFormat",null);gn(i)||(i=!1);let a="";try{a=i?JSON.stringify(t,null,2):JSON.stringify(t)}catch(e){n=e}return null!==n?{error:n}:em(e,a,{fs:l})},e.fsWriteText=function(e,t){return em(e,t,{fs:l})},e.fsWriteTextCore=em,e.genGradientColor=function(e){if(Qr(e))return{};let t;try{t=bu.toRgba(e)}catch(e){return{}}function r(e,t){return e.a=t,bu.toRgbaString(e)}return{linearGradient:{x1:0,x2:0,y1:0,y2:1},stops:[[0,r(t,.4)],[1,r(t,.9)]]}},e.genID=Mu,e.genIDSeq=function(){return am()},e.genPm=is,e.getBufferSize=cm,e.getClearPathName=yA,e.getCsvStrFromData=lm,e.getDataFromExcelFileU8Arr=hm,e.getDataFromExcelFileU8ArrDyn=async function(e,t,r){Pr(r)||(r=["https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js"]),await dl(r);let n=hm(e,t);return""!==Ce(n,"error","")?Promise.reject(n.error):n},e.getEnv=function(){let e=bn(),t="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope;return e=e||t,{isBrowser:e,isWebWorker:t,isNode:"undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node}},e.getErrorMessage=function(e){let t="";if(gm(e))t=e.message;else{if(Se(e))return e;if(xe(e))return Ne(e,"message")?e.message:JSON.stringify(e);if(Be(e))return JSON.stringify(e);t=jo(e)}return t},e.getExcelU8ArrFromData=function(e,t="data"){if(!Pr(e))return{error:"no data"};De(t)||(t="data");let r=null,n=Yg(e,t);return Ne(n,"error")?n:(r=Am(n),Ne(r,"error"),r)},e.getExcelU8ArrFromWorkbook=Am,e.getExcelWorkbookFromData=Yg,e.getExcelWorkbookFromWorksheet=Gg,e.getExcelWorksheetFromData=In,e.getFileAccept=vh,e.getFileBasicHash=Wm,e.getFileHash=async function(e,t={}){if(!ps(e)&&!qm(e))return console.log("inp",e),Promise.reject("inp is not a Blob or File");let r=Ce(t,"type","");De(r)||(r="sha512");let n=Ce(t,"chunkSize");return _e(n)||(n=67108864),n=Ln(n),Ne({MD5:"md5","SHA-1":"sha1","SHA-256":"sha256","SHA-384":"sha384","SHA-512":"sha512",md5:"md5",sha1:"sha1",sha256:"sha256",sha384:"sha384",sha512:"sha512",xxhash64:"xxhash64"},r)?"xxhash64"===r?Gm(e,t):Wm(e,t):Promise.reject(`type[${r}] must be one of [ 'md5', 'sha1', 'sha256', 'sha384', 'sha512', 'xxhash64' ]`)},e.getFileName=wA,e.getFileNameExt=function(e){if(!De(e))return"";let t=Wa(wA(e),".");if(dn(t)<=1)return"";let r="";try{r=To(t)}catch(e){}return r},e.getFileTrueName=_A,e.getFileType=mh,e.getFileXxHash=Gm,e.getGlobal=yn,e.getObjSize=function(e){let t=0,r=function e(r){if(null!=r)switch(typeof r){case"number":t+=8;break;case"string":t+=2*r.length;break;case"boolean":t+=4;break;case"object":let n=Object.prototype.toString.call(r).slice(8,-1);if("Object"===n||"Array"===n)for(let t in r)r.hasOwnProperty(t)&&e(r[t]);else t+=2*r.toString().length}return t}(e),n=function(e){return e<1024?e+" bytes":e<1048576?(e/1024).toFixed(3)+" KiB":e<1073741824?(e/1048576).toFixed(3)+" MiB":(e/1073741824).toFixed(3)+" GiB"}(r);return{int:r,str:n}},e.getPathParent=IA,e.getTimeBetween=function(e,t,r="days"){let n=Jm(r);if(""===n)return[];let i=Km(e,r),a=Km(t,r);return null===i||null===a||e>=t?[]:Br(Vm(a.diff(i,r)+1),function(e){return i.clone().add(e,r).format(n)})},e.getTimeFromUnit=Jm,e.getTimeHp=Xm,e.getTimeObject=Km,e.getTimeRange=function(e,t){if(!xd(e))return"無起始時間";if(void 0===t&&(t=e),!xd(t))return"結束時間格式錯誤";let n=r(e,"YYYY-MM-DDTHH:mm:ss"),i=r(t,"YYYY-MM-DDTHH:mm:ss"),a=n.format("YYYY-MM-DD"),o=i.format("YYYY-MM-DD");if(a===o){let r=i.format("HH:mm");if(e===t)return Zm(e)+" 至 無";if(e<t)return Zm(e)+" 至 "+r;if(e>t)return Zm(e)+" 至 "+r+" (起始時間大於結束時間)"}else{if(a<o)return Zm(e)+" 至 "+Zm(t);if(a>o)return Zm(e)+" 至 "+Zm(t)+" (起始時間大於結束時間)"}return""},e.getUserAgent=$m,e.getUserAgentDyn=async function(e=null,t){return Pr(t)||(t=["https://cdn.jsdelivr.net/npm/ua-parser-js@2.0.3/dist/ua-parser.min.js"]),await dl(t),$m(e)},e.getltdtkeys=Jr,e.haskey=Ne,e.html2str=async function(e){if(!De(e))return"";let t=await async function(){let e="htmlToText";if(wo(Ce(b,e)))return b;if(wo(Ce(b,["default",e])))return b.default;let t=globalThis,r=null;if(await ws(()=>(r=Ce(t,"ht",null),ke(r)),{attemptNum:4e3,timeInterval:50}),wo(Ce(r,e)))return r;if(wo(Ce(r,["default",e])))return r.default;throw console.log("ht",b,"g.ht",t.ht),new Error("invalid ht, g.ht, g.ht.default, use script for import")}();return t.htmlToText(e,{wordwrap:!1,selectors:[{selector:"script",format:"skip"},{selector:"style",format:"skip"}]})},e.htmlDecode=function(e,t={}){return De(e)?fs.decode(e,t):""},e.htmlEncode=hs,e.importResources=dl,e.interp1=function(e,t,r={}){if(!Be(e))return{err:"ps is not an array"};{let e=!_e(t),r=!Be(t);if(e&&r)return{err:"px is not a number or an array"}}let n=function(e,t={}){if(dn(e)<=0)return[];let r=Ce(t,"keyX");De(r)||(r="x");let n=Ce(t,"keyY");De(n)||(n="y");let i=[];return xr(e,e=>{let t=null,a=null;Be(e)&&dn(e)>=2?(t=Ce(e,0),a=Ce(e,1)):(t=Ce(e,r,null),a=Ce(e,n,null)),_e(t)&&_e(a)&&(t=Fn(t),a=Fn(a),i.push({x:t,y:a}))}),i}(e,r);if(Ce(n,"err"))return Ce(n,"err");if(0===dn(n))return{err:"ps(length=0) is not an effective array",ps:e,psEff:n};if(1===dn(n))return{err:"ps(length=1) is one point only",ps:e,psEff:n};let i=function(e){let t=!0,r=!0;for(let n=1;n<dn(e);n++){let i=e[n-1],a=e[n];if(t&&i.x>a.x&&(t=!1),r&&i.x<a.x&&(r=!1),i.x===a.x)return{err:`x can not be equal: i=${n}, x=${i.x}`}}return t?rv:r?nv:"no"}(n);if("no"===i)return{err:"psEff is not increasing or decreasing"};i===nv&&(i=rv,n=Ro(n));let a=!Be(t);a&&(t=[t]);let o=function(e,t={}){if(dn(e)<=0)return[];let r=Ce(t,"keyX");De(r)||(r="x");let n=[];return xr(e,e=>{let t=null;t=_e(e)?Fn(e):Be(e)&&dn(e)>=1?Ce(e,0):Ce(e,r,null),_e(t)&&(t=Fn(t),n.push({x:t}))}),n}(t,r),s=Ce(r,"mode");"linear"!==s&&"stairs"!==s&&"blocks"!==s&&(s="linear");let c,l=Br(o,(e,t)=>{let i=Ce(e,"x"),a=null;try{"linear"===s?a=function(e,t){let r=iv(e,t);if(r!==ev)return r;let n=null;for(let r=1;r<dn(e);r++){let i=e[r-1],a=e[r];if(i.x<=t&&t<=a.x){n=((t-i.x)*a.y+(a.x-t)*i.y)/(a.x-i.x);break}}return null===n?{err:tv}:n}(n,i):"blocks"===s?a=function(e,t){let r=iv(e,t);if(r!==ev)return r;let n=null;for(let r=1;r<dn(e);r++){let i=e[r-1],a=e[r],o=i.x,s=a.x;if(o<=t&&t<=s){n=a.y;break}}return null===n?{err:tv}:n}(n,i):"stairs"===s&&(a=function(e,t,r={}){let n=Ce(r,"xMin");if(bo(n)){if(n>e[0].x)return{err:`xMin=${n} > ps[0].x=${e[0].x}`};n===e[0].x||(e=[{x:n,y:e[0].y},...e])}let i=Ce(r,"xMax");if(bo(i)){if(i<e[dn(e)-1].x)return{err:`xMax=${i} < ps[size(ps)-1].x=${e[dn(e)-1].x}`};if(i===e[dn(e)-1].x);else{let t={x:i,y:e[dn(e)-1].y};e=[...e,t]}}let a=iv(e,t);if(a!==ev)return a;let o=null;for(let r=0;r<dn(e);r++){let n=Ce(e,r-1,null),i=Ce(e,r,null),a=Ce(e,r+1,null),s=i.x;n&&(s=(n.x+i.x)/2);let c=i.x;if(a&&(c=(a.x+i.x)/2),s<=t&&t<=c){o=i.y;break}}return null===o?{err:tv}:o}(n,i,r))}catch(e){a={err:e.toString()}}return a});return c=a?l[0]:l,c},e.isDate=function(e){let t=e;return De(e)&&(t=new Date(e)),_e(e)&&(t=Ln(e),t=new Date(e)),t instanceof Date&&!isNaN(t)},e.isDev=function(){return!!location&&ns(location.href,"localhost")},e.isEle=Ir,e.isEleExistByID=function(e){return!(!De(e)||null===document.getElementById(e))},e.isEmail=function(e){return!!De(e)&&/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(e)},e.isErr=gm,e.isIE=zu,e.isNarrow=function(e){if(!bn())return!1;let t=window.innerWidth>0&&window.innerWidth<=1024,r=!1;if(e){let t=Ce(e,"clientWidth",0);r=t>0&&t<=700}return t||r},e.isStrHasCapital=cv,e.isStrHasLetter=lv,e.isStrHasLowerCase=uv,e.isStrHasNumber=fv,e.isStrHasSpace=hv,e.isStrHasSymbol=dv,e.isUserIdentify=function(e){let t=is();if(!De(e))return t.reject("身份證字號非有效字串"),t;if(10!==e.length)return t.reject("身份證字號長度非10位"),t;if(isNaN(e.substring(1,10))||!/^[A-Z]$/.test(e.substring(0,1)))return t.reject("身份證格式錯誤,字首需大寫英文"),t;e="ABCDEFGHJKLMNPQRSTUVXYWZIO".indexOf(e.substring(0,1))+10+""+e.substring(1,10);let r=parseInt(e.substring(0,1))+9*parseInt(e.substring(1,2))+8*parseInt(e.substring(2,3))+7*parseInt(e.substring(3,4))+6*parseInt(e.substring(4,5))+5*parseInt(e.substring(5,6))+4*parseInt(e.substring(6,7))+3*parseInt(e.substring(7,8))+2*parseInt(e.substring(8,9))+parseInt(e.substring(9,10)),n=parseInt(e.substring(10,11));return r%10!=0&&10-r%10!==n?(t.reject("非有效身份證"),t):(t.resolve(),t)},e.isUserName=function(e){let t=is();return De(e)?(t.resolve(),t):(t.reject("請填入姓名"),t)},e.isUserPw=function(e,t={}){let r=[],n=Ce(t,"useKeyForError",null);gn(n)||(n=!1);let i=Ce(t,"useOnlyOneError",null);if(gn(i)||(i=!1),Se(e)||(n?r.push("keyInvalidPassword"):r.push("密碼非有效字串")),dn(r)>0)throw new Error(r[0]);let a=Ce(t,"numLenMin","");(!Mn(a)||$i(a)<0)&&(a=8),a=$i(a);let o=Ce(t,"numLenMax","");if((!Mn(o)||$i(o)<0)&&(o=30),o=$i(o),a>o&&(n?r.push("keyLimNumLenMinOrMax"):r.push("設定密碼最小長度大於最大長度")),dn(r)>0)throw new Error(r[0]);let s=Ce(t,"noSpace",null);if(gn(s)||(s=!0),s&&(hv(e)&&(n?r.push("keyLimHasSpace"):r.push("密碼不可包含空白字元")),i&&dn(r)>0))throw new Error(r[0]);let c=Ce(t,"onlyAscii",null);if(gn(c)||(c=!0),c&&(/[^\x20-\x7e]/.test(e)&&(n?r.push("keyLimNonAsciiChar"):r.push("密碼僅允許使用英文大小寫、數字及特殊符號")),i&&dn(r)>0))throw new Error(r[0]);if(dn(e)<a&&(n?r.push("keyLimNumLenMin"):r.push(`密碼長度須大於等於${a}個字元`)),i&&dn(r)>0)throw new Error(r[0]);if(dn(e)>o&&(n?r.push("keyLimNumLenMax"):r.push(`密碼長度須小於等於${o}個字元`)),i&&dn(r)>0)throw new Error(r[0]);let l=Ce(t,"requireLetter",null);gn(l)||(l=!1);let u=Ce(t,"requireUppercase",null);gn(u)||(u=!0);let f=Ce(t,"requireLowercase",null);gn(f)||(f=!0);let h=Ce(t,"requireDigit",null);gn(h)||(h=!0);let d=Ce(t,"requireSpecial",null);if(gn(d)||(d=!0),l&&!lv(e)&&(n?r.push("keyLimRequireLetter"):r.push("密碼須包含至少一個英文字母")),i&&dn(r)>0)throw new Error(r[0]);if(u&&!cv(e)&&(n?r.push("keyLimRequireUppercase"):r.push("密碼須包含至少一個大寫英文字母")),i&&dn(r)>0)throw new Error(r[0]);if(f&&!uv(e)&&(n?r.push("keyLimRequireLowercase"):r.push("密碼須包含至少一個小寫英文字母")),i&&dn(r)>0)throw new Error(r[0]);if(h&&!fv(e)&&(n?r.push("keyLimRequireDigit"):r.push("密碼須包含至少一個數字")),i&&dn(r)>0)throw new Error(r[0]);if(d&&!dv(e)&&(n?r.push("keyLimRequireSpecial"):r.push("密碼須包含至少一個特殊符號")),i&&dn(r)>0)throw new Error(r[0]);let p=Ce(t,"forbiddenChars",null);if(Be(p)||(p=[]),dn(p)>0){for(let t of p)if(e.includes(t)){if(n){r.push("keyLimForbiddenChar");break}r.push(`密碼不可包含字元:${t}`)}if(i&&dn(r)>0)throw new Error(r[0])}let g=Ce(t,"commonPasswordBlacklist",null);if(Be(g)||(g=bv),dn(g)>0){let t=e.toLowerCase();if(g.some(e=>Se(e)&&t===e.toLowerCase())&&(n?r.push("keyLimCommonPassword"):r.push("此密碼為常見弱密碼,不允許使用")),i&&dn(r)>0)throw new Error(r[0])}let A=Ce(t,"account",""),m=Ce(t,"noConsecutiveCharsFromAccount",null);gn(m)||(m=!1);let v=Ce(t,"consecutiveCharsMinMatch","");if(ea(v)||(v=3),v=$i(v),m&&Se(A)&&dn(A)>=v){let t=[...A.toLowerCase()],a=e.toLowerCase(),o=!1;for(let e=0;e<=t.length-v;e++){let r=t.slice(e,e+v).join("");if(a.includes(r)){o=!0;break}}if(o&&(n?r.push("keyLimConsecutiveCharsFromAccount"):r.push(`密碼不可包含與帳號相同之${v}個以上連續字元`)),i&&dn(r)>0)throw new Error(r[0])}if(dn(r)>0)throw new Error(r.join(" | "));return!0},e.isWindow=bn,e.isab=y,e.isarr=Be,e.isarr0=Rr,e.isbigint=Ho,e.isblob=ps,e.isbol=gn,e.isday=_u,e.isearr=Pr,e.iseobj=ke,e.iser=Qr,e.isernot=hh,e.isestr=De,e.isfile=qm,e.isfun=wo,e.isint=Mn,e.ismonth=En,e.isn0int=av,e.isn0num=ov,e.isnan=Fe,e.isnbr=Te,e.isnint=Hg,e.isnnum=function(e){return!!_e(e)&&Ln(e)<0},e.isnull=Or,e.isnum=_e,e.isobj=xe,e.isobj0=Lr,e.isp0int=Ia,e.isp0num=sv,e.ispint=ea,e.ispm=ys,e.ispnum=Ao,e.isstr=Se,e.isstr0=Mr,e.istime=xd,e.istimeTZ=vv,e.istimems=pv,e.istimemsTZ=mv,e.isu16arr=sm,e.isu8arr=es,e.isundefined=Nr,e.j2o=Zo,e.judge=function(e,t,r,n={}){if(!_e(e))throw new Error("x1 is not a number");if(!_e(r))throw new Error("x2 is not a number");let i=Ce(n,"withPreciseNum");if(gn(i)||(i=!0),i&&(e=Zg(e),r=Zg(r)),"==="===t)return e===r||yv(e,r);if("!=="===t)return function(e,t){return!yv(e,t)}(e,r);if(">="===t)return e===r||function(e,t){return new al(e).gte(t)}(e,r);if(">"===t)return function(e,t){return new al(e).gt(t)}(e,r);if("<="===t)return e===r||function(e,t){return new al(e).lte(t)}(e,r);if("<"===t)return function(e,t){return new al(e).lt(t)}(e,r);throw console.log(t),new Error(`invalid op[${t}]`)},e.keysmat2ltdt=wv,e.ltdt2vrtsable=function(e,t=[]){if(!Pr(e))return[];if(!Be(t))return[];let r=!1;if(xr(e,function(e){ke(e)||(r=!0)}),r)return[];let n=Jr(e),i=[];xr(e,function(e){let t={};xr(n,function(r){t[r]={value:e[r].value,style:e[r].style,rowspan:1}}),i.push(t)});let a=Ro(i),o=dn(a);return xr(n,function(e){if(yo(e,t)){let t=oa(0,o,0),r=oa(0,o,0),n=oa(1,o+1,0);xr(a,function(i,o){o>0&&(vo(a[o-1][e].value,a[o][e].value)&&(t[o-1]=1,t[o]=1,n[o]=n[o-1]+1),1===t[o-1]&&1===t[o]&&(r[o-1]=0,r[o]=1))}),xr(a,function(i,o){1===t[o]&&(1===r[o]?a[o][e].rowspan=n[o]:a[o][e].rowspan=null)})}}),Ro(a)},e.ltdtDiff=function(e,t,r={}){if(!Be(e))return{};if(!Be(t))return{};if(0===dn(e)&&0===dn(t))return{};let n=Ce(r,"empty");De(n)||(n="∗empty∗");let i=Jr(e),a=Jr(t),o=Iv(i,a),s={};xr(o,(e,t)=>{s[t]=e});let c=oo(mn(e,o,{empty:n}),mn(t,o,{empty:n}),{...r,mode:"matrix"});return c.dfs=Br(c.dfs,e=>{let t={};xr(e,e=>{e.k=s[e.k],t[e.k]=e});let r={};return xr(o,e=>{r[e]=t[e]}),r}),c},e.ltdtDiffByKey=KA,e.ltdtkeys2mat=mn,e.ltdtkeysheads2mat=vn,e.ltdtmapping=function(e,t,r=""){return Pr(e)&&Pr(t)?Br(e,e=>Jg(e,t,r)):[]},e.ltdtmerge=uA,e.ltdtpick=function(e,t){return Pr(e)&&Pr(t)?Br(e,e=>Kg(e,t)):[]},e.ltdtpull=function(e,t,r){return Be(e)&&Be(t)&&De(r)&&pr(e,e=>xe(e))?0===t.length?e:pr(t,e=>xe(e))?Cv(e,t,r):[]:[]},e.mat2ltdt=function(e){if(!Pr(e))return[];if(e.length<=1)return[];let t=!1;return xr(e,function(e){Pr(e)||(t=!0)}),t?[]:wv(ro(e)[0],(n=null==(r=e)?0:r.length)?Ba(r,1,n):[]);var r,n},e.matConcat=function(e,t){if(!Be(e))return[];if(!Be(t))return[];if(0===dn(e)&&0===dn(t))return[];let r=dn(e),n=dn(Ce(e,0,[])),i=dn(t),a=dn(Ce(t,0,[])),o=[],s=Math.max(r,i);for(let r=0;r<s;r++){let i=[],s=-1;for(let t=0;t<n;t++){s++;let n=Ce(e,`${r}.${t}`,null);i[s]=n}for(let e=0;e<a;e++){s++;let n=Ce(t,`${r}.${e}`,null);i[s]=n}o[r]=i}return o},e.matDiff=function(e,t,r={}){return Be(e)&&Be(t)?0===dn(e)&&0===dn(t)?{}:oo(e,t,{...r,mode:"matrix"}):{}},e.matat=function(e,t,r){return Pr(e)?Br(e,function(e){return Ca(e,t,r)}):[]},e.now2str=FA,e.now2strp=function(){if(!wo(r))throw new Error("invalid dayjs");return r().format("YYYYMMDDHHmmss")},e.nowDay2str=function(){if(!wo(r))throw new Error("invalid dayjs");return r().format("YYYY-MM-DD")},e.nowms2str=function(){if(!wo(r))throw new Error("invalid dayjs");return r().format("YYYY-MM-DDTHH:mm:ss.SSSZ")},e.nowms2strp=function(){if(!wo(r))throw new Error("invalid dayjs");return r().format("YYYYMMDDHHmmssSSS")},e.o2j=An,e.obj2b64=function(e){let t="";try{t=xv(An(e))}catch(e){t=""}return t},e.obj2pb64=function(e,t){return void 0===e?"":De(t)?kv(An({data:e}),t,!0):""},e.obj2str=function(e,t="Uint8Array"){if(Nr(e))return"";if(Se(t))t=[t];else if(!Be(t))return"";let r="";try{r=JSON.stringify(e,function(e,r){return t.indexOf("Uint8Array")>=0&&(r=Ov.u8arr2b64(r)),t.indexOf("Uint16Array")>=0&&(r=Ov.u16arr2b64(r)),r})}catch(e){r=""}return r},e.obj2stru8arr=Lv,e.obj2u8arr=function(e){let t=[],r=[];if(!Pr(e)&&!ke(e))return null;let n=[],i=[];function a(e){n.push(cm(e)),i.push(e)}try{let o=Lv(e);a(Mv(o.results)),xr(o.binarys,e=>{a(e)});let s=n,c=Mv(JSON.stringify(s)),l=new Uint8Array(8);bs(cm(c),l),t.push(l),t.push(c),xr(i,e=>{t.push(e)}),xr(t,e=>{r=function(e,t){let r=cm(e),n=cm(t),i=new Uint8Array(r+n);return i.set(new Uint8Array(e),0),i.set(new Uint8Array(t),r),i}(r,e)})}catch(e){return null}return r},e.objSortBy=Rv,e.objSortByKeys=function(e,t){if(!ke(e))return{};if(!Pr(t))return{};let r={};return xr(t,(e,t)=>{r[e]=t}),Rv(e,(e,t)=>Ce(r,t,0))},e.oo=function(e){if(void 0!==e)return Zo(An(e))},e.openLink=function(e){if(!De(e))return;let t=document.createElement("a");t.href=e,t.target="_blank",document.body.appendChild(t),t.click(),document.body.removeChild(t)},e.pb642obj=function(e,t){return De(e)&&De(t)?Zo(li(e,t,!0)).data:""},e.pm2resolve=Ug,e.pmChain=function(e,t=null){if(!Be(e)){let e=is();return e.reject("pms is not an array"),e}return e.reduce((e,t)=>e.then(t),Promise.resolve(t))},e.pmConvertResolve=Pg,e.pmDebounce=function(e=300){return new function(e){let t=[],r=null,n=null,i="wait";return ea(e)||(e=300),e=$i(e),function(a,...o){wo(a)?((null===n||"wait"===i)&&(n=Date.now()),t.push({func:a,input:o,output:null}),null===r&&"wait"===i&&(r=setInterval(()=>{if(null===n)throw new Error("invalid tLast");if("wait"!==i)return;if("wait"===i&&0===t.length)return clearInterval(r),r=null,void(n=null);let a=Date.now();if(a-n>e){i="doing",n=a;let e=t.pop();t=[];let r=e.func(...e.input);ys(r)?r.then(t=>{e.output=t}).catch(t=>{e.output={err:t}}).finally(()=>{i="wait",n=Date.now()}):(e.output=r,i="wait")}"wait"===i&&0===t.length&&(clearInterval(r),r=null,n=null)},20))):console.log("func is not a function")}}(e)},e.pmHook=Qv,e.pmHookReject=function(e,t=()=>{}){return wo(e)?(wo(t)||(t=()=>{}),Qv(e,e=>{if("afterCatch"===e.mode)return t(e.data)})):null},e.pmIni=function(){return Promise.resolve()},e.pmInvResolve=function(e,t={}){if(!ys(e))throw new Error("pm is not a promise");let r=Ce(t,"thenExtractData");gn(r)||(r=!1);let n=is();return e.then(e=>{r&&(e=Ce(e,"data"));let t=Ce(e,"state",""),i=Ce(e,"msg",{});"success"===t?n.resolve(i):"cancelled"===t?n.reject({reason:"cancelled"}):n.reject(i)}).catch(e=>{n.reject(e)}),n},e.pmKeyMutex=function(){return new function(){let e=new Map,t=new Map;return async(r,n)=>{let i=(e.get(r)||Promise.resolve()).then(async()=>await n(),async()=>await n());e.set(r,i.catch(()=>{})),t.set(r,(t.get(r)||0)+1);try{return await i}finally{let n=t.get(r)-1;n<=0?(t.delete(r),e.delete(r)):t.set(r,n)}}}},e.pmMap=function(e,t,r=0){let n={},i=!1,a=is();if(!Be(e)&&!xe(e))return a.reject("rs is not an array or object"),a;if(0===dn(e))return a.resolve([]),a;let o=!1;if(xe(e)){o=!0;let t=[];xr(e,(e,r)=>{t.push({k:r,v:e})}),e=t}let s=jg(r);return s.on("message",function(r){if(i)return;let c,l=s.get();if(wo(t)){let e=l.key,r=l.value;if(o&&(e=l.value.k,r=l.value.v),c=t(r,e),!ys(c))throw new Error("return of fun is not a promise")}else c=l.value;c.then(e=>{n[l.key]=e}).catch(e=>{i=!0,s.clear(),a.reject(e)}).finally(()=>{s.cb(),dn(n)===dn(e)&&a.resolve(nA(n))})}),xr(e,(e,t)=>{s.push({key:t,value:e})}),a},e.pmQueue=qg,e.pmSeries=ll,e.pmThrottle=function(){let e=Vi(),t=[],r=null,n=!1;return function(i,...a){let o=is();if(!wo(i))return void console.log("func is not a function");let s=Mu();return t.push({id:s,func:i,input:a}),null===r&&(r=setInterval(async()=>{if(n)return;n=!0;let i=t.pop();for(let r=0;r<t.length;r++){let n=t[r].id,i={state:"cancelled"};e.emit(n,i)}if(t=[],i){let t,r=i.id;t=wo(i.func)?await Ug(i.func)(...i.input):{state:"error",msg:"fun is not a function"},e.emit(r,t)}n=!1,n||0!==t.length||(clearInterval(r),r=null)},20)),e.once(s,e=>{"success"===e.state?o.resolve(e.msg):"cancelled"===e.state?o.reject({reason:"cancelled"}):o.reject(e.msg)}),o}},e.preciseNum=Zg,e.pseudoRandom=Hv,e.pseudoRandomIntRange=function(e=0,t=100,r="start1"){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),e>(t=$i(t)))throw new Error(`vstart[${e}] > vend[${t}]`);let n=Hv(r)*(t-e+1)+e;return n=Math.floor(n),n},e.pseudoRandomIntsNdpRange=function(e=0,t=100,r,n="start1"){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),t=$i(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let i=Hv(n,!0),a=[],o=t-e;for(let r=0;r<=o;r++){let r=i()*(t-e+1)+e;r=Math.floor(r),a.push(r)}let s=Ko(a,{returnIndex:!0});return s=ro(s,r),s},e.pseudoRandomIntsRange=function(e=0,t=100,r,n="start1"){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),t=$i(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let i=Hv(n,!0),a=[];for(let n=1;n<=r;n++){let r=i()*(t-e+1)+e;r=Math.floor(r),a.push(r)}return a},e.pseudoRandomRange=function(e=0,t=1,r="start1"){if(_e(e)||(e=0),e=Ln(e),_e(t)||(t=1),e>(t=Ln(t)))throw new Error(`vstart[${e}] > vend[${t}]`);return Hv(r)*(t-e)+e},e.pseudoRandomsRange=function(e=0,t=1,r=1,n="start1"){if(_e(e)||(e=0),e=Ln(e),_e(t)||(t=1),t=Ln(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let i=Hv(n,!0),a=[];for(let n=1;n<=r;n++){let r=i()*(t-e)+e;a.push(r)}return a},e.queue=jg,e.random=qv,e.randomIntRange=function(e=0,t=100){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),e>(t=$i(t)))throw new Error(`vstart[${e}] > vend[${t}]`);let r=qv()*(t-e+1)+e;return r=Math.floor(r),r},e.randomIntsNdpRange=function(e=0,t=100,r){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),t=$i(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);return function(e,t,r){return t=(r?dr(e,t,r):void 0===t)?1:On(t),(I(e)?Jv:Kv)(e,t)}(oa(e,t+1),r)},e.randomIntsRange=function(e=0,t=100,r){if(Mn(e)||(e=0),e=$i(e),Mn(t)||(t=100),t=$i(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let n=[];for(let i=1;i<=r;i++){let r=qv()*(t-e+1)+e;r=Math.floor(r),n.push(r)}return n},e.randomRange=function(e=0,t=1){if(_e(e)||(e=0),e=Ln(e),_e(t)||(t=1),e>(t=Ln(t)))throw new Error(`vstart[${e}] > vend[${t}]`);return qv()*(t-e)+e},e.randomsRange=function(e=0,t=1,r=1){if(_e(e)||(e=0),e=Ln(e),_e(t)||(t=1),t=Ln(t),ea(r)||(r=1),r=$i(r),e>t)throw new Error(`vstart[${e}] > vend[${t}]`);let n=[];for(let i=1;i<=r;i++){let r=qv()*(t-e)+e;n.push(r)}return n},e.rang=function(e,t,r=2){if(!_e(e))return[];if(e=Ln(e),!_e(t))return[];if(t=Ln(t),ea(r)||(r=2),(r=$i(r))<=0)throw new Error(`num[${r}] <= 0`);let n=(t-e)/r,i=e,a=[];for(let e=0;e<=r;e++)a.push(i),i+=n;return a},e.rep=function(e,t){return De(e)&&Ia(t)?Zv(e,t):""},e.repObj=function(e,t){return Qr(e)?[]:ea(t)?Vm(t,fa(e)):[]},e.replace=gl,e.replaceObj=function(e,t){return De(e)&&ke(t)?(xr(t,function(e,t){e=xe(e)||Be(e)?JSON.stringify(e):jo(e)}),xr(t,function(t,r){e=gl(e,r,t)}),e):""},e.replacePlus=function(e,t,r,n=null,i){if(!De(e)||!De(t)||!De(r))return"";if(!Se(i))return"";let a="[\\s\\S]*";De(n)&&(a="[^"+n+"]*");let o=new RegExp(t+a+r,"g");return e.replace(o,i)},e.round=Xg,e.secd=function(e){return _e(e)?1/Su(e=Ln(e)):null},e.sep=lo,e.sepInt=function(e,t,r=!0){if(!Mn(e))return[];if(!Ia(t))return[];if(!gn(r))return[];let n=eb(e/t),i=e-n*t,a=[];for(let e=1;e<=t;e++){let t=n;e<=i&&(t=n+1),a.push(t)}return r&&(a=Ro(a)),a},e.setIntervalHp=function(e,t=1){let r=yn(),n=bn(),i=e=>{r.setTimeout(e,1)},a=e=>{r.requestAnimationFrame(e)},o=null;o=n?a:i;let s=Xm(),c=!0,l=s(),u=()=>{if(c){if(s()-l>=t){try{e()}catch(e){console.log(e)}l=s()}o(u)}};return o(u),()=>{c=!1}},e.setTimeoutHp=function(e,t=1){let r=yn(),n=bn(),i=e=>{r.setTimeout(e,1)},a=e=>{r.requestAnimationFrame(e)},o=null;o=n?a:i;let s=Xm(),c=!0,l=s(),u=()=>{if(c){if(s()-l>=t){c=!1;try{e()}catch(e){console.log(e)}}o(u)}};return o(u),null},e.sind=Fu,e.split=co,e.str2aes=kv,e.str2b64=xv,e.str2hint=Pv,e.str2md5=function(e,t=!1){if(!De(e))return"";if(!gn(t))return"";let r=tb(e),n="";return n=t?r.toString(Gn):r.toString(ci),n},e.str2obj=function(e,t="Uint8Array"){if(Se(t))t=[t];else if(!Be(t))return{};let r={};try{r=JSON.parse(e,function(e,r){return t.indexOf("Uint8Array")>=0&&(r=Ov.b642u8arr(r)),t.indexOf("Uint16Array")>=0&&(r=Ov.b642u16arr(r)),r})}catch(e){r={}}return r},e.str2sha512=function(e,t=!1){if(!De(e))return"";if(!gn(t))return"";let r=ib(e),n="";return n=t?r.toString(Gn):r.toString(ci),n},e.str2u8arr=Mv,e.strCompare=ab,e.strDiff=no,e.strDiffToHtml=function(e,t,r={}){if(!Se(e))return"";if(!Se(t))return"";if(""===e&&""===t)return"";let n=Ce(r,"useNormNewline");gn(n)||(n=!0),n&&(e=(e=e.replaceAll("\r\n","\n")).replaceAll("\r","\n"),t=(t=t.replaceAll("\r\n","\n")).replaceAll("\r","\n"));let i=Gf(),a=eo("file","file",e,t),o=i.html(a,{drawFileList:!1,matching:"none",diffStyle:"char",outputFormat:"line-by-line"}),s=Wa(o,"\n"),c="",l=!1;return xr(s,e=>{'<div class="d2h-code-line">'===so(e)&&(l=!0),e.indexOf('class="d2h-code-line-prefix"')>=0&&(e=e.replaceAll('class="d2h-code-line-prefix"','class="d2h-code-line-prefix" style="display:inline-block; width: 0.7rem;"')),e.indexOf("<del>")>=0&&(e=e.replaceAll("<del>",'<del style="color:#f26; background:#ffefd5;">')),e.indexOf("<ins>")>=0&&(e=e.replaceAll("<ins>",'<ins style="color:#090; background:#e4fed1;">')),l&&(c+=e+"\n"),l&&"</div>"===so(e)&&(l=!1)}),o=c,o},e.strFindFuzz=function(e,t,r=!1){let n="";if(De(e)||_e(e))n=jo(e);else{if(!Pr(e))return!!r&&0;n=ka(e,"")}if(""===t)return!r||100;if(Qr(t))return!!r&&0;if(ns(n,t))return!r||100;let i=Br(lo(t," "),function(e){return((e,t)=>{let r=new oy([e],{includeScore:!0}).search(t);r=Ce(r,0);let n=Ce(r,"score",1);return n=1-n,n*=100,n})(n,e)});if(r)return sy(i);{let e=80;return pr(i,function(t){return t>=e})}},e.strFindSimilar=function(e,t){let r="";if(De(e)||_e(e))r=jo(e);else{if(!Pr(e))return{};r=ka(e,"")}return _e(t)&&(t=jo(t)),De(t)&&(t=[t]),Pr(t)?function(e,t){let r=[],n=0;for(let i=0;i<t.length;i++){let a=t[i],o=ab(e,a);r.push({target:a,rating:o}),o>r[n].rating&&(n=i)}return{ratings:r,bestMatch:r[n],bestMatchIndex:n}}(r,t=Br(t,function(e){return jo(e)})):{}},e.strdelleft=ho,e.strdelright=Wo,e.strleft=uo,e.strmid=Al,e.strright=fo,e.stru8arr2obj=cy,e.tand=Du,e.time2day=function(e){return xd(e)?r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DD"):""},e.time2hour=function(e){return xd(e)?r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DDTHH"):""},e.time2min=Zm,e.timeTZ2day=function(e){return vv(e)?(e=Av.delTZ(e),r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DD")):""},e.timeTZ2expire=function(e,t=null){return vv(e)?ly(e=fy(e),t=fy(t)):{today:null,msg:"",err:"時間格式錯誤"}},e.timeTZ2hour=function(e){return vv(e)?(e=Av.delTZ(e),r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DDTHH")):""},e.timeTZ2min=function(e){return vv(e)?(e=Av.delTZ(e),r(e,"YYYY-MM-DDTHH:mm:ss").format("YYYY-MM-DDTHH:mm")):""},e.timeTZ2past=function(e,t=null){return vv(e)?uy(e=hy(e),t=hy(t)):{today:null,msg:"",err:"時間格式錯誤"}},e.timems2day=function(e){return pv(e)?r(e,"YYYY-MM-DDTHH:mm:ss.SSS").format("YYYY-MM-DD"):""},e.timems2hour=function(e){return pv(e)?r(e,"YYYY-MM-DDTHH:mm:ss.SSS").format("YYYY-MM-DDTHH"):""},e.timems2min=function(e){return pv(e)?r(e,"YYYY-MM-DDTHH:mm:ss.SSS").format("YYYY-MM-DDTHH:mm"):""},e.timems2time=function(e){return pv(e)?r(e,"YYYY-MM-DDTHH:mm:ss.SSS").format("YYYY-MM-DDTHH:mm:ss"):""},e.timemsTZ2day=function(e){return mv(e)?(e=Av.delTZ(e),r(e).format("YYYY-MM-DD")):""},e.timemsTZ2expire=ly,e.timemsTZ2hour=function(e){return mv(e)?(e=Av.delTZ(e),r(e).format("YYYY-MM-DDTHH")):""},e.timemsTZ2min=function(e){return mv(e)?(e=Av.delTZ(e),r(e).format("YYYY-MM-DDTHH:mm")):""},e.timemsTZ2past=uy,e.timemsTZ2time=function(e){return mv(e)?(e=Av.delTZ(e),r(e).format("YYYY-MM-DDTHH:mm:ss")):""},e.treeObj=xu,e.treeToFilepath=function(e,t={}){if(!Pr(e))return[];let r=Ce(t,"delimiter");De(r)||(r="/");let n=Ce(t,"bindRoot");De(n)||(n="root");let i=[];return xu(e,(e,t,a)=>{let o=Ce(e,"_type","");if("folder"!==o&&"file"!==o)return e;let s=Br(Ce(e,"pathInfors",[]),"name"),c=Ce(s,0,"")===n;if(1===dn(s)&&c)return e;c&&(s=qo(s));let l={type:o,path:r+ka(s,r)};return i.push(l),e},{force:!0}),i},e.trim=Go,e.u16arr2b64=Fv,e.u16arr2u8arr=Tv,e.u8arr2ab=function(e){return es(e)?e.buffer:new ArrayBuffer},e.u8arr2b64=Dv,e.u8arr2blob=Vg,e.u8arr2bs=function(e){if(!es(e))return"";let t=e.length,r="";for(let n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r},e.u8arr2obj=function(e){let t=null;if(!es(e))return null;try{let r=8,n=e.slice(0,r),i=e.slice(r,cm(e)),a=ms(n),o=i.slice(0,a),s=i.slice(a,cm(i)),c=dy(o),l=function(e,t){let r=0,n=0,i=[];return xr(t,t=>{n=r+t;let a=e.slice(r,n);r=n,i.push(a)}),i}(s,JSON.parse(c));t=cy({results:dy(l.shift()),binarys:l})}catch(e){}return t},e.u8arr2str=dy,e.u8arr2u16arr=ts,e.urlParse=function(e){if(!De(e))return{};if(!De(e=Ce(e=Wa(e,"?"),"[1]")))return{};let t=Wa(e,"&");return t=Br(t,function(e){return Wa(e,"=")}),t=function(e){for(var t=-1,r=null==e?0:e.length,n={};++t<r;){var i=e[t];hi(n,i[0],i[1])}return n}(t),t},e.verifyValue=function(e,t,r={}){let n=!1,i="";if("isstr"===t)Se(e)||(n=!0,i="需要為字串",e="");else if("isnum"===t)_e(e)||(n=!0,i="需要為數字",e=0);else if("isp0num"===t)sv(e)||(n=!0,i="需要為含0的正浮點數",e=0);else if("isn0num"===t)ov(e)||(n=!0,i="需要為含0的負浮點數",e=0);else if("isint"===t)Mn(e)||(n=!0,i="需要為整數",e=0);else if("ispint"===t)ea(e)||(n=!0,i="需要為不含0正整數",e=0);else if("isp0int"===t)Ia(e)||(n=!0,i="需要為含0正整數",e=0);else if("isnint"===t)Hg(e)||(n=!0,i="需要為不含0負整數",e=0);else if("isn0int"===t)av(e)||(n=!0,i="需要為含0負整數",e=0);else if("custom"===t){let t=Ce(r,"funCustom");if(!wo(t))throw new Error("invalid opt.funCustom when type='custom'");let a=t(e);if(!gn(a.err))throw new Error("invalid return.err for type='custom'");if(a.err&&!De(a.errmsg))throw new Error("invalid return.errmsg when return.err=true for type='custom'");if(!_e(a.value)&!Se(a.value))throw new Error("invalid return.value for type='custom'");n=a.err,i=a.errmsg,e=a.value}else wo(t)?e=t(e):"any"===t?_e(e)||Se(e)||(n=!0,i="需要為字串或數字",e=""):(n=!0,i="需要指定驗證類型",e=null);return{value:e,err:n,errmsg:i}},e.waitFun=ws}(c,kd(),Sa(),(Xd||(Xd=1,function(e,t){var r=zd(),n=tp(),i=rp();function a(e,t){return new i(t).process(e)}(t=e.exports=a).filterXSS=a,t.FilterXSS=i,function(){for(var e in r)t[e]=r[e];for(var i in n)t[i]=n[i]}(),"undefined"!=typeof window&&(window.filterXSS=e.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=e.exports)}(Qd,Qd.exports)),Qd.exports),e,r,n,function(){if($d)return Zd;$d=1;var e=n,t=e.spawn,r=e.exec;function i(e,t,r){var n={};try{Object.keys(e).forEach(function(r){e[r].forEach(function(e){n[e]||(a(e,t),n[e]=1)}),n[r]||(a(r,t),n[r]=1)})}catch(e){if(r)return r(e);throw e}if(r)return r()}function a(e,t){try{process.kill(parseInt(e,10),t)}catch(e){if("ESRCH"!==e.code)throw e}}function o(e,t,r,n,i){var a=n(e),s="";a.stdout.on("data",function(e){e=e.toString("ascii"),s+=e}),a.on("close",function(a){delete r[e],0==a?s.match(/\d+/g).forEach(function(a){a=parseInt(a,10),t[e].push(a),t[a]=[],r[a]=1,o(a,t,r,n,i)}):0==Object.keys(r).length&&i()})}return Zd=function(e,n,a){if("function"==typeof n&&void 0===a&&(a=n,n=void 0),e=parseInt(e),Number.isNaN(e)){if(a)return a(new Error("pid must be a number"));throw new Error("pid must be a number")}var s={},c={};switch(s[e]=[],c[e]=1,process.platform){case"win32":r("taskkill /pid "+e+" /T /F",a);break;case"darwin":o(e,s,c,function(e){return t("pgrep",["-P",e])},function(){i(s,n,a)});break;default:o(e,s,c,function(e){return t("ps",["-o","pid","--no-headers","--ppid",e])},function(){i(s,n,a)})}}}(),t,i,a,o,sg,d,lg(),Om())}(vd,vd.exports);var Lm=Ca(vd.exports);let Mm=(e,t={})=>{let r=t.tp,n=t.sl,i=t.mode||"long";if(!(r>0&&n>0))throw new Error(`genKLinesTpSl: invalid tp[${r}] / sl[${n}]`);let a=e.length,o=new Array(a),s=new Float64Array(a),c=new Float64Array(a),l=new Float64Array(a);for(let t=0;t<a;t++){let r=e[t];o[t]=r.time,s[t]=r.Close,c[t]=r.High,l[t]=r.Low}let u=new Float64Array(a).fill(NaN),f=new Int8Array(a).fill(-1),h=new Float64Array(a).fill(NaN);for(let e=0;e<a-1;e++){let t=s[e];if(!(t>0))continue;let o=t*(1+r),d=t*(1-n);for(let s=e+1;s<a;s++)if("long"===i){if(l[s]<=d){u[e]=-n,f[e]=0,h[e]=s-e;break}if(c[s]>=o){u[e]=r,f[e]=1,h[e]=s-e;break}}else{let i=t*(1+n),a=t*(1-r);if(c[s]>=i){u[e]=-n,f[e]=0,h[e]=s-e;break}if(l[s]<=a){u[e]=r,f[e]=1,h[e]=s-e;break}}}return{time:o,pnl:u,win:f,hold:h}},Rm={runStrategy:ia,runStrategies:sa,runStrategiesAndBacktest:async(t,r,n,i,a,o,s,c={})=>{if(!ua(r))throw new Error(`fdOhlc[${r}] is not a forder`);if(!ua(n))throw new Error(`fdParam[${n}] is not a forder`);if(!jn(i))throw new Error("invalid strategies");let l=lt(c,"writeOrders",!0),u=lt(c,"writeSummary",!0),f=lt(c,"writeReport",!0),h=Fa(r,n),d=await h.buildGetTimeSeriesByTimeRange(a,o),p=await sa(t,i,d,{});if(p.name="全部策略",l){let t="orders.json",r=e.resolve(s,t);Ma(r,p.orders,{structured:!0})}if(u){let t="summary.json",r=e.resolve(s,t),n={name:p.name,summary:p.summary};Ma(r,n,{structured:!0}),console.log("summary",p.summary,Gt(p.orders))}if(f){let t="report.html",r=e.resolve(s,t);La(p,r)}return p},calcOrders:Xi,calcOrdersRatio:Zi,calcOrdersSummary:na,calcOrdersSummarySimple:(e,t,r,n,i,a={})=>{a&&a.skipSort||(r=r.slice().sort((e,t)=>e.timeStart<t.timeStart?-1:e.timeStart>t.timeStart?1:0));let o=r.length,s=0,c=0,l="",u=new Map;for(let e of r)qn(e.modeResult)&&(s++,"profit"===e.modeResult&&c++,l=e.uEquity),u.set(e.timeStart,(u.get(e.timeStart)||0)+e.uTrade),qn(e.timeEnd)&&u.set(e.timeEnd,(u.get(e.timeEnd)||0)-e.uTrade);let f=[...u.keys()].sort(),h=0,d=new Map;for(let e of f)h+=u.get(e),d.set(e,h);let p=0;for(let e of r){let t=Math.abs(d.get(e.timeStart));t>p&&(p=t)}let g,A=Ki(c/s*100,2)+"%",m=Ki(p/t*100,2)+"%",v=e(i).diff(e(n),"day"),b=v/365;g=`${Ki(100*(0===p||0===b?0:(l-t)/p/b),2)}%`;return{numTrade:o,numTradeFin:s,rWin:A,uTradeAllMax:p,rTradeAllMax:m,uEquityFinal:l,btDays:v,btYears:Ki(b,1),rEquivalentCumuProfitOrLossFinalNormYear:g,timeOhlcStart:n,timeOhlcEnd:i}},calcSummary:oa,closeAndSummaryOrders:async(t,r,n,i,a,o,s,c,l,u={})=>{if(!ua(r))throw new Error(`fdOhlc[${r}] is not a forder`);if(!ua(n))throw new Error(`fdParam[${n}] is not a forder`);if(!ra(i))throw new Error(`uIni[${i}] is not a positive number`);if(!qn(a))throw new Error(`invalid timeOhlcStart[${a}]`);if(!qn(o))throw new Error(`invalid timeOhlcEnd[${o}]`);if(!qn(s))throw new Error(`invalid keyOhlc[${s}]`);if(!Rn(c))throw new Error(`invalid ordersSubmit[${c}]`);if(!qn(l))throw new Error(`invalid fdTest[${l}]`);let f=lt(u,"writeOrders",!0),h=lt(u,"writeSummary",!0),d=lt(u,"writeReport",!0),p=Fa(r,n),g=t(a),A=t(o).diff(g,"hour")/4;if(A!==Ri(A))throw new Error(`timeOhlcStart[${a}] to timeOhlcEnd[${o}] are not hour intervals`);let m=await p.buildGetTimeSeriesByTimeRange(a,o),v=await m(s),b=await Xi(v,c,{uIni:i}),y=await oa(t,i,b,a,o);console.log("summary",y,Gt(b));let w={name:"全部策略",orders:b,summary:y};if(f){let t="orders.json",r=e.resolve(l,t);Ma(r,w.orders,{structured:!0})}if(h){let t="summary.json",r=e.resolve(l,t);Ma(r,{name:w.name,summary:w.summary},{structured:!0}),console.log("summary",w.summary,Gt(w.orders))}if(d){let t="report.html",r=e.resolve(l,t);La(w,r)}},genReport:async(r,n,i={})=>{if(!Lm.isestr(n))throw new Error("invalid fpOrders");if(!Lm.fsIsFile(n))throw new Error(`fpOrders[${n}] is not a file`);let a=(e=>{if(!Lm.fsIsFile(e))throw new Error(`fp[${e}] does not exist`);let r=null;try{let n=t.readFileSync(e,"utf8");r=JSON.parse(n)}catch(e){console.log(e)}return r})(n);if(!Lm.isearr(a))throw new Error(`orders in fpOrders[${n}] is not an effective array`);let o=ao.get(i,"fpOut","");Lm.isestr(o)||(o=e.resolve(e.dirname(n),"report.html"));let s=ao.get(i,"name","");Lm.isestr(s)||(s=e.basename(e.dirname(e.resolve(n))));let c=ao.get(i,"uIni",null);if(!Lm.isnum(c)){let e=ao.find(a,e=>Lm.isnum(e.uEquity)&&Lm.isnum(e.uCumuProfitOrLoss));c=e?e.uEquity-e.uCumuProfitOrLoss:1e3}let l=ao.get(i,"timeOhlcStart","");Lm.isestr(l)||(l=ao.min(ao.map(a,"timeStart")));let u=ao.get(i,"timeOhlcEnd","");Lm.isestr(u)||(u=ao.max(ao.map(a,e=>Lm.isestr(e.timeEnd)?e.timeEnd:e.timeStart)));let f=ao.get(i,"withWriteSummary",!1),h=await oa(r,c,a,l,u);return f&&Ma(e.resolve(e.dirname(o),"summary.json"),{name:s,summary:h},{structured:!0}),La({name:s,orders:a,summary:h},o),{orders:a,summary:h,fpOut:o}},genReportCore:La,genKLinesTpSl:Mm,buildKLinesTpSl:async(r,n,i,a={})=>{if(!ua(r))throw new Error(`fdOhlc[${r}] is not a folder`);if(!ua(n))throw new Error(`fdParam[${n}] is not a folder`);if(!qn(i))throw new Error("invalid fpJson");let o=Fa(r,n),{keyOhlc:s,ts:c,te:l,tps:u=[4,5,6,7,8,9,10],modes:f=["long","short"]}=a;if(!qn(s))throw new Error("invalid opt.keyOhlc");if(!Ta(c))throw new Error("invalid opt.ts");if(!Ta(l))throw new Error("invalid opt.te");let h=await o.getTimeSeriesByTimeRange(s,c,l),d=h.length,p=h.map(e=>e.time),g={};for(let e=0;e<d;e++)g[p[e]]={close:h[e].Close};for(let e of f)for(let t of u){let{win:r,hold:n}=Mm(h,{tp:t/100,sl:t/100,mode:e}),i=`${e}_${t}`;for(let e=0;e<d;e++){let t=r[e],a=t>=0&&Number.isFinite(n[e])?p[e+n[e]]:null;g[p[e]][i]={win:t,timeEnd:a}}}let A={meta:{keyOhlc:s,ts:c,te:l,tps:u,modes:f,nBars:d},bars:g},m=e.resolve(i),v=e.dirname(m);return ua(v)||Na(v),t.writeFileSync(m,JSON.stringify(A)),A},loadKLinesTpSl:r=>{if(!qn(r))throw new Error("invalid fpJson");if(!fa(r))throw new Error(`fpJson[${r}] is not a file`);let n=JSON.parse(t.readFileSync(e.resolve(r),"utf8")),i=n.meta,a=n.bars;return{meta:i,bars:a,ordersFromBars:(e,t,r,n={})=>{let{uTrade:i=1,uIni:o=1e3,rFee:s=5e-4,maxExitTime:c=null,skipSort:l=!1}=n,u=`${e}_${t}`,f=t/100,h=s*i,d=(l?r:[...r].sort()).filter(e=>a[e]).map(t=>{let r=a[t].close;return{mode:e,timeStart:t,priceStart:r,uTrade:i,rTakeProfit:f,priceTakeProfit:"long"===e?(1+f)*r:(1-f)*r,rStopLoss:f,priceStopLoss:"long"===e?(1-f)*r:(1+f)*r,timeEnd:"",priceEnd:"",modeResult:"",rFee:s,uFee:h,uProfitOrLoss:"",rProfitOrLoss:"",uCumuProfitOrLoss:"",rCumuProfitOrLoss:"",uEquity:"",uTradeAll:"",rTradeAll:""}}),p=o,g=0;for(let e of d){let t=a[e.timeStart][u];!t||t.win<0||!t.timeEnd||(c&&t.timeEnd>=c||(e.timeEnd=t.timeEnd,e.priceEnd=1===t.win?e.priceTakeProfit:e.priceStopLoss,e.uProfitOrLoss="long"===e.mode?e.uTrade*(e.priceEnd/e.priceStart)-e.uTrade-2*e.uFee:(e.priceStart-e.priceEnd)*(e.uTrade/e.priceStart)-2*e.uFee,e.rProfitOrLoss=e.uProfitOrLoss/e.uTrade,g+=e.uProfitOrLoss,e.uCumuProfitOrLoss=g,e.rCumuProfitOrLoss=Ki(e.uCumuProfitOrLoss/o*100,2)+"%",p+=e.uProfitOrLoss,e.uEquity=p,e.modeResult=e.uProfitOrLoss<0?"loss":"profit"))}return d}}}};return Rm});
|
|
32
32
|
//# sourceMappingURL=w-trade-backtest.umd.js.map
|