w-serv-orm 1.1.17 → 1.1.18

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/README.md CHANGED
@@ -28,6 +28,7 @@ To view documentation or get support, visit [docs](https://yuda-lyu.github.io/w-
28
28
  * `mix` 之輸入物件本身須為乾淨之一般物件(Proxy、原型鏈有標籤者 reject `invalid input of mix, need the result object of ltdtDiffByKey`),`add`、`del`、`diff` 只取其自有資料屬性(繼承而來者不取,亦不執行原型上之 getter)。`mix` 之 `del` 列另須其 `id` 若存在為自有、可列舉之資料屬性(不得為存取器、繼承而來、不可列舉,列不得為 Proxy、函數宣稱標籤或帶標籤),否則 reject `failed to delete data, unsupported irregular object or array: data[0]`,使 `add`/`diff` 與 `del` 之同鍵比對所見之 `id` 即 ORM 刪除所用之 `id`(ORM 對不可列舉或繼承之 `id` 讀法不一)。
29
29
  * 稽核欄位(`userId`、`timeCreate`、`userIdUpdate`、`timeUpdate`,schema 的 keys 含者)以 `defineProperty` 寫入列物件而不用賦值,故類別 DTO 原型上之 setter 不被執行;字串主鍵之列其原物件仍被寫入這些欄位(既有行為)。
30
30
  * 上述各項只可能由行程內呼叫端構造,JSON 資料通道(解碼為一般物件與密陣列)不可達,通道來源之一般輸入行為不變。列內欄位值為共用子結構(DAG)者,其展開由 `wsemi` 之 `clearXSS` 進行,本套件之走訪為線性。
31
+ * ORM 回傳之結果(規則帳本 R-ORM-RESULT-01):寫入類函數(`insert`、`save`、`del`、`delAll`,含 `mix` 各步驟、`recover`、測試數據寫入)之回傳凡可表達失敗者一律檢查,失敗即 reject 或拋錯,不當成功;判準為聚合物件 `ok` 為 0,或逐筆陣列任一筆 `ok` 為 0。`save`、`del` 與 `mix` 之 `del`、`diff` 於 ORM 逐筆結果有任一筆 `ok` 為 0 時 reject(訊息列失敗筆之主鍵);ORM 若改回聚合物件而 `ok` 為 0(非契約形狀,無從逐筆列出)亦視為失敗,固定字串 reject(`failed to save data`、`failed to delete data`、`mix` 之 `diff` 為 `failed to update data`),`mix` 之 `del`、`diff` 遇此為整批性錯誤,立即 reject,後續步驟不執行。`delAll` 依契約回傳聚合物件且 `ok` 恆為 1,`ok` 為 0(或陣列形任一筆 `ok` 為 0)固定字串 reject `failed to delete data`。讀取類 `select` 之回傳為數據列(列內欄位可能名為 `ok`),失敗只以 reject 表達,不檢查 `ok`。`insert`(含 `mix` 之 `add`)依 ORM 契約回傳聚合物件且 `ok` 恆為 1(錯誤皆整批 reject);ORM 若 resolve 聚合物件而 `ok` 為 0,或回傳逐筆陣列(非 insert 契約形狀)而任一筆 `ok` 為 0(違約或他種後端),亦視為失敗,固定字串 reject `failed to insert data`(錯誤原文只進 log),不回成功;已寫入之筆無從回復。`mix` 之 `add` 遇此為整批性錯誤,立即 reject,`del`、`diff` 步驟不執行。契約內之 ORM(`ok` 為 1,含略過既有主鍵之 `n` 為 0)行為不變;回傳 `undefined`、`null`、無 `ok` 鍵之物件、空陣列或逐筆皆 `ok` 非 0 之陣列者不檢查。備份還原 `recover`(`getDb.recover` 與 `WServOrm` 實例上之 `recover`)逐表以 `insert` 還原,同此判準:失敗時於該表停止並以 `Error` reject,訊息為 `failed to recover data into table[表名]: ` 接 ORM 回傳原文(逐筆陣列則列失敗筆 `{k,id,err}`,至多前 10 筆並附總筆數),另列先前已寫入之表(`; tables already written: a, b`);之後之表不寫入,先前之表與該表已被 ORM 寫入之筆無從回復(取捨:不繼續寫入其餘表以免擴大不一致,營運者依訊息清空已寫入之表後重跑)。
31
32
 
32
33
  ## Concurrent editing (write contract, withTabLocks, guardWrite, mustExist, keepUserId)
33
34
  供「多位使用者可同時編輯、且可能開著舊畫面存檔」之後台使用:舊畫面存檔整次拒收(先動先贏、零寫入),看著最新資料改者與不帶基準之寫入(外部同步、外部應用)照常寫入,已刪之列不復活,不部分寫入。規格見 opensrcOper 之 `dspec/多人同時編輯之寫入契約.md`;以下為本套件提供之部分。
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * w-serv-orm v1.1.17
2
+ * w-serv-orm v1.1.18
3
3
  * (c) 2018-2021 yuda-lyu(semisphere)
4
4
  * Released under the MIT License.
5
5
  */
6
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("fs"),require("util")):"function"==typeof define&&define.amd?define(["fs","util"],t):(e="undefined"!=typeof globalThis?globalThis:e||self)["w-serv-orm"]=t(e.fs,e.util$2)}(this,(function(e,t){"use strict";function r(e,t,r){var n=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(r=r>o?o:r)<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(o);++n<o;)i[n]=e[n+t];return i}var n=/\s/;var o=/^\s+/;function i(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}(e)+1).replace(o,""):e}function a(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var u="object"==typeof global&&global&&global.Object===Object&&global,l="object"==typeof self&&self&&self.Object===Object&&self,s=u||l||Function("return this")(),c=s.Symbol,f=Object.prototype,d=f.hasOwnProperty,p=f.toString,h=c?c.toStringTag:void 0;var g=Object.prototype.toString;var y="[object Null]",v="[object Undefined]",b=c?c.toStringTag:void 0;function m(e){return null==e?void 0===e?v:y:b&&b in Object(e)?function(e){var t=d.call(e,h),r=e[h];try{e[h]=void 0;var n=!0}catch(e){}var o=p.call(e);return n&&(t?e[h]=r:delete e[h]),o}(e):function(e){return g.call(e)}(e)}function w(e){return null!=e&&"object"==typeof e}var j="[object Symbol]";function O(e){return"symbol"==typeof e||w(e)&&m(e)==j}var $=NaN,x=/^[-+]0x[0-9a-f]+$/i,k=/^0b[01]+$/i,S=/^0o[0-7]+$/i,A=parseInt;var _=1/0,P=17976931348623157e292;function E(e){return e?(e=function(e){if("number"==typeof e)return e;if(O(e))return $;if(a(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=a(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=i(e);var r=k.test(e);return r||S.test(e)?A(e.slice(2),r?2:8):x.test(e)?$:+e}(e))===_||e===-_?(e<0?-1:1)*P:e==e?e:0:0===e?e:0}function I(e){var t=E(e),r=t%1;return t==t?r?t-r:t:0}function D(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}var M,T=function(e,t,r){for(var n=-1,o=Object(e),i=r(e),a=i.length;a--;){var u=i[M?a:++n];if(!1===t(o[u],u,o))break}return e};function C(e){return w(e)&&"[object Arguments]"==m(e)}var F=Object.prototype,z=F.hasOwnProperty,N=F.propertyIsEnumerable,U=C(function(){return arguments}())?C:function(e){return w(e)&&z.call(e,"callee")&&!N.call(e,"callee")},L=U,W=Array.isArray;var R="object"==typeof exports&&exports&&!exports.nodeType&&exports,B=R&&"object"==typeof module&&module&&!module.nodeType&&module,V=B&&B.exports===R?s.Buffer:void 0,H=(V?V.isBuffer:void 0)||function(){return!1},K=9007199254740991,Y=/^(?:0|[1-9]\d*)$/;function q(e,t){var r=typeof e;return!!(t=null==t?K:t)&&("number"==r||"symbol"!=r&&Y.test(e))&&e>-1&&e%1==0&&e<t}var X=9007199254740991;function J(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=X}var Z={};function G(e){return function(t){return e(t)}}Z["[object Float32Array]"]=Z["[object Float64Array]"]=Z["[object Int8Array]"]=Z["[object Int16Array]"]=Z["[object Int32Array]"]=Z["[object Uint8Array]"]=Z["[object Uint8ClampedArray]"]=Z["[object Uint16Array]"]=Z["[object Uint32Array]"]=!0,Z["[object Arguments]"]=Z["[object Array]"]=Z["[object ArrayBuffer]"]=Z["[object Boolean]"]=Z["[object DataView]"]=Z["[object Date]"]=Z["[object Error]"]=Z["[object Function]"]=Z["[object Map]"]=Z["[object Number]"]=Z["[object Object]"]=Z["[object RegExp]"]=Z["[object Set]"]=Z["[object String]"]=Z["[object WeakMap]"]=!1;var Q="object"==typeof exports&&exports&&!exports.nodeType&&exports,ee=Q&&"object"==typeof module&&module&&!module.nodeType&&module,te=ee&&ee.exports===Q&&u.process,re=function(){try{var e=ee&&ee.require&&ee.require("util").types;return e||te&&te.binding&&te.binding("util")}catch(e){}}(),ne=re&&re.isTypedArray,oe=ne?G(ne):function(e){return w(e)&&J(e.length)&&!!Z[m(e)]},ie=Object.prototype.hasOwnProperty;function ae(e,t){var r=W(e),n=!r&&L(e),o=!r&&!n&&H(e),i=!r&&!n&&!o&&oe(e),a=r||n||o||i,u=a?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],l=u.length;for(var s in e)!t&&!ie.call(e,s)||a&&("length"==s||o&&("offset"==s||"parent"==s)||i&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||q(s,l))||u.push(s);return u}var ue=Object.prototype;function le(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||ue)}function se(e,t){return function(r){return e(t(r))}}var ce=se(Object.keys,Object),fe=Object.prototype.hasOwnProperty;function de(e){if(!le(e))return ce(e);var t=[];for(var r in Object(e))fe.call(e,r)&&"constructor"!=r&&t.push(r);return t}var pe="[object AsyncFunction]",he="[object Function]",ge="[object GeneratorFunction]",ye="[object Proxy]";function ve(e){if(!a(e))return!1;var t=m(e);return t==he||t==ge||t==pe||t==ye}function be(e){return null!=e&&J(e.length)&&!ve(e)}function me(e){return be(e)?ae(e):de(e)}var we=function(e,t){return function(r,n){if(null==r)return r;if(!be(r))return e(r,n);for(var o=r.length,i=t?o:-1,a=Object(r);(t?i--:++i<o)&&!1!==n(a[i],i,a););return r}}((function(e,t){return e&&T(e,t,me)})),je=we;function Oe(e){return e}function $e(e,t){var r;return(W(e)?D:je)(e,"function"==typeof(r=t)?r:Oe)}function xe(e){return ve(e)}function ke(e){try{e instanceof Promise&&Promise.prototype.then.call(e,void 0,(()=>{}))}catch(e){}}function Se(e){return"[object Array]"===Object.prototype.toString.call(e)}function Ae(e){return"[object Object]"===Object.prototype.toString.call(e)}function _e(e,t){let n=function(){let e,t,r=new Promise((function(){e=arguments[0],t=arguments[1]}));return r.resolve=e,r.reject=t,r}(),o=!1;try{let t=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[],n=!1;try{if(Array.isArray(e)){let t=e.length;r.length=t;for(let n=0;n<t;n++)n in e&&(r[n]=e[n])}else{if(t||!Ae(e)&&!Se(e))return null;{n=!0;let t=Object.keys(e);for(let n=0;n<t.length;n++)r.push({k:t[n],v:e[t[n]]})}}}catch(e){throw r.forEach((e=>{ke(n?e.v:e)})),e}return{items:r,useObj:n}}(e);if(null===t)return n.reject("rs is not an array or object"),n;e=t.items,o=t.useObj}catch(e){return n.reject(e),n}xe(t)||($e(e,(e=>{ke(o?e.v:e)})),t=function(e){return e});let i=xe(t),a=-1,u=[];return e.reduce((function(e,r){return e.then((function(e){u.push(e),a+=1;let n=a,l=r;return o&&(n=r.k,l=r.v),i?t(l,n):l}))}),Promise.resolve()).then((function(e){var t,o,i,a;u.push(e),a=null==(t=u)?0:t.length,u=a?r(t,(o=i||void 0===o?1:I(o))<0?0:o,a):[],n.resolve(u)})).catch((function(e){n.reject(e)})),n}var Pe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ee=/^\w*$/;function Ie(e,t){if(W(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!O(e))||(Ee.test(e)||!Pe.test(e)||null!=t&&e in Object(t))}var De,Me=s["__core-js_shared__"],Te=(De=/[^.]+$/.exec(Me&&Me.keys&&Me.keys.IE_PROTO||""))?"Symbol(src)_1."+De:"";var Ce=Function.prototype.toString;function Fe(e){if(null!=e){try{return Ce.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var ze=/^\[object .+?Constructor\]$/,Ne=Function.prototype,Ue=Object.prototype,Le=Ne.toString,We=Ue.hasOwnProperty,Re=RegExp("^"+Le.call(We).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Be(e){return!(!a(e)||(t=e,Te&&Te in t))&&(ve(e)?Re:ze).test(Fe(e));var t}function Ve(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return Be(r)?r:void 0}var He=Ve(Object,"create");var Ke=Object.prototype.hasOwnProperty;var Ye=Object.prototype.hasOwnProperty;function qe(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Xe(e,t){return e===t||e!=e&&t!=t}function Je(e,t){for(var r=e.length;r--;)if(Xe(e[r][0],t))return r;return-1}qe.prototype.clear=function(){this.__data__=He?He(null):{},this.size=0},qe.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},qe.prototype.get=function(e){var t=this.__data__;if(He){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Ke.call(t,e)?t[e]:void 0},qe.prototype.has=function(e){var t=this.__data__;return He?void 0!==t[e]:Ye.call(t,e)},qe.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=He&&void 0===t?"__lodash_hash_undefined__":t,this};var Ze=Array.prototype.splice;function Ge(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Ge.prototype.clear=function(){this.__data__=[],this.size=0},Ge.prototype.delete=function(e){var t=this.__data__,r=Je(t,e);return!(r<0)&&(r==t.length-1?t.pop():Ze.call(t,r,1),--this.size,!0)},Ge.prototype.get=function(e){var t=this.__data__,r=Je(t,e);return r<0?void 0:t[r][1]},Ge.prototype.has=function(e){return Je(this.__data__,e)>-1},Ge.prototype.set=function(e,t){var r=this.__data__,n=Je(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var Qe=Ve(s,"Map");function et(e,t){var r,n,o=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof t?"string":"hash"]:o.map}function tt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}tt.prototype.clear=function(){this.size=0,this.__data__={hash:new qe,map:new(Qe||Ge),string:new qe}},tt.prototype.delete=function(e){var t=et(this,e).delete(e);return this.size-=t?1:0,t},tt.prototype.get=function(e){return et(this,e).get(e)},tt.prototype.has=function(e){return et(this,e).has(e)},tt.prototype.set=function(e,t){var r=et(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};var rt="Expected a function";function nt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(rt);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=e.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(nt.Cache||tt),r}nt.Cache=tt;var ot,it,at,ut=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,lt=/\\(\\)?/g,st=(ot=function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ut,(function(e,r,n,o){t.push(n?o.replace(lt,"$1"):r||e)})),t},it=nt(ot,(function(e){return 500===at.size&&at.clear(),e})),at=it.cache,it),ct=st;function ft(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}var dt=1/0,pt=c?c.prototype:void 0,ht=pt?pt.toString:void 0;function gt(e){if("string"==typeof e)return e;if(W(e))return ft(e,gt)+"";if(O(e))return ht?ht.call(e):"";var t=e+"";return"0"==t&&1/e==-dt?"-0":t}function yt(e){return null==e?"":gt(e)}function vt(e,t){return W(e)?e:Ie(e,t)?[e]:ct(yt(e))}var bt=1/0;function mt(e){if("string"==typeof e||O(e))return e;var t=e+"";return"0"==t&&1/e==-bt?"-0":t}function wt(e,t){for(var r=0,n=(t=vt(t,e)).length;null!=e&&r<n;)e=e[mt(t[r++])];return r&&r==n?e:void 0}function jt(e,t,r){var n=null==e?void 0:wt(e,t);return void 0===n?r:n}function Ot(e){let t="procOrm does not authorize users, authorize where procOrm is exposed to clients",r=[["useCheckUser",t],["getUserById",t],["useExcludeWhenNotAdmin","procOrm does not filter select results by user, use addFunPostProcessing if needed"]];for(let[t,n]of r){let r=jt(e,t);if(null!=r&&!1!==r)throw new Error(`opt.${t} has been removed, ${n}`)}}const $t="h1",xt=Object.freeze({mismatch:"baselineMismatch",rowNotFound:"rowNotFound",format:"baselineFormat"}),kt=14,St=100,At=1e5,_t=["table","pk","fields","serverOnly","orderKey","scope"];function Pt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Et(e){return Object.prototype.toString.call(e)}function It(e){if(null===e||"object"!=typeof e||"[object Object]"!==Et(e))return!1;let t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}function Dt(e){return"string"==typeof e&&""!==e}function Mt(e,t){let r=new Error(t);return r.key=e,r}function Tt(e,t,r){if(!Array.isArray(e)||!r&&0===e.length)throw new Error(`invalid contract: ${t} needs ${r?"an array":"a non-empty array"}`);let n=new Set;for(let r=0;r<e.length;r++){if(!Dt(e[r]))throw new Error(`invalid contract: ${t}[${r}] needs a non-empty string`);if(n.has(e[r]))throw new Error(`invalid contract: ${t} has a duplicate name at [${r}]`);n.add(e[r])}}function Ct(e){if(!It(e))throw new Error("invalid contract: need an object");for(let t of Reflect.ownKeys(e))if(_t.indexOf(t)<0)throw new Error("invalid contract: unsupported key");if(!Dt(e.pk))throw new Error("invalid contract: pk needs a non-empty string");if(Tt(e.fields,"fields",!1),void 0!==e.serverOnly&&null!==e.serverOnly){Tt(e.serverOnly,"serverOnly",!0);for(let t of e.serverOnly)if(e.fields.indexOf(t)>=0)throw new Error("invalid contract: serverOnly and fields must not overlap")}if(void 0!==e.orderKey&&null!==e.orderKey){if(!Dt(e.orderKey))throw new Error("invalid contract: orderKey needs a non-empty string");if(e.fields.indexOf(e.orderKey)>=0)throw new Error("invalid contract: fields must not contain orderKey");if(e.orderKey===e.pk)throw new Error("invalid contract: orderKey must not be pk")}if(void 0!==e.scope&&null!==e.scope&&"function"!=typeof e.scope)throw new Error("invalid contract: scope needs a function");if(void 0!==e.table&&null!==e.table&&!Dt(e.table))throw new Error("invalid contract: table needs a non-empty string");return!0}function Ft(e,t,r,n){if(t.n+=1,t.n>At)throw new Error(`unsupported value of ${n}: too many nodes`);if(r>St)throw new Error(`unsupported value of ${n}: too deep or circular`);let o=typeof e;if(null==e)return"null";if("string"===o)return JSON.stringify(e);if("boolean"===o)return e?"true":"false";if("number"===o){if(!isFinite(e))throw new Error(`unsupported value of ${n}: non-finite number`);return JSON.stringify(e)}if("bigint"===o)return JSON.stringify(e.toString());if("object"===o){if(Array.isArray(e)){let o=Object.keys(e);for(let t=0;t<o.length;t++){let r=Number(o[t]);if(!(String(r)===o[t]&&r>=0&&r<e.length&&Math.floor(r)===r))throw new Error(`unsupported value of ${n}: array with extra properties`)}let i=[];for(let o=0;o<e.length;o++)i.push(Ft(e[o],t,r+1,n));return"["+i.join(",")+"]"}let o=Et(e);if("[object Date]"===o){let t;try{t=Date.prototype.toISOString.call(e)}catch(e){throw new Error(`unsupported value of ${n}: invalid Date`)}return JSON.stringify(t)}if(It(e)){let o=Object.keys(e).sort(),i=[];for(let a=0;a<o.length;a++){let u=e[o[a]];void 0!==u&&i.push(JSON.stringify(o[a])+":"+Ft(u,t,r+1,n))}return"{"+i.join(",")+"}"}throw new Error(`unsupported value of ${n}: ${o}`)}throw new Error(`unsupported value of ${n}: ${o}`)}function zt(e,t,r){return null==e||""===e?"null":Ft(e,t,0,r)}function Nt(e){return null!==e&&"object"==typeof e&&"[object Object]"===Et(e)}function Ut(e,t){if(!Nt(e))throw new Error("invalid row: need an object");let r=[],n={n:0};for(let o=0;o<t.length;o++){let i=t[o];r.push(zt(Pt(e,i)?e[i]:void 0,n,`field[${i}]`))}let o=function(e,t){let r="number"==typeof t?t:0,n=3735928559^r,o=1103547991^r;for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);n=Math.imul(n^r,2654435761),o=Math.imul(o^r,1597334677)}return n=Math.imul(n^n>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),o=Math.imul(o^o>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),4294967296*(2097151&o)+(n>>>0)}("["+r.join(",")+"]").toString(16);for(;o.length<kt;)o="0"+o;return $t+":"+o}function Lt(e,t){let r=Pt(e,t)?e[t]:void 0;return"string"==typeof r?""===r?null:r:"number"==typeof r&&isFinite(r)?String(r):"bigint"==typeof r?r.toString():null}function Wt(e,t){let r=Pt(e,t)?e[t]:void 0;if("number"==typeof r)return isFinite(r)?r:1/0;if("bigint"==typeof r)return r;if("string"==typeof r){let e=r.trim();if(""===e)return 1/0;if("function"==typeof BigInt&&/^[+-]?\d+$/.test(e))return BigInt(e);let t=Number(e);return isFinite(t)?t:1/0}return 1/0}function Rt(e,t,r){if(Ct(r),!function(e){if(!Array.isArray(e))return!1;let t=new RegExp("^"+$t+":[0-9a-f]{"+kt+"}$"),r=new Set;for(let n=0;n<e.length;n++){let o=e[n];if(!Array.isArray(o)||2!==o.length||!Dt(o[0])||"string"!=typeof o[1]||!t.test(o[1]))return!1;if(r.has(o[0]))return!1;r.add(o[0])}return!0}(t))return{ok:!1,reason:xt.format,added:[],removed:[],changed:[],reordered:!1};let n;try{n=function(e,t){if(Ct(t),!Array.isArray(e))throw new Error("invalid rows: need an array");let r=t.fields,n="function"==typeof t.scope,o=Dt(t.orderKey),i=[],a=new Set;for(let u=0;u<e.length;u++){let l=e[u];if(!Nt(l))throw new Error(`invalid row: rows[${u}] needs an object`);if(n&&!t.scope(l))continue;let s=Lt(l,t.pk);if(null===s)throw Mt(xt.format,`invalid row: rows[${u}] has no valid primary key`);if(a.has(s))throw Mt(xt.format,`invalid row: rows[${u}] has a duplicate primary key`);a.add(s),i.push({id:s,o:o?Wt(l,t.orderKey):0,d:Ut(l,r)})}return i.sort(((e,t)=>e.o<t.o?-1:e.o>t.o?1:e.id!==t.id?e.id<t.id?-1:1:0)),i.map((e=>[e.id,e.d]))}(e,r)}catch(e){if(null!==e&&"object"==typeof e&&e.key===xt.format){let t=new Error(`invalid rowsNow: ${e.message}`);throw t.key="rowsInvalid",t}throw e}let o=new Map(t),i=new Map(n),a=[],u=[],l=[];for(let[e]of t)i.has(e)||u.push(e);for(let[e,t]of n)o.has(e)?o.get(e)!==t&&l.push(e):a.push(e);let s=t.map((e=>e[0])).filter((e=>i.has(e))),c=n.map((e=>e[0])).filter((e=>o.has(e))),f=!1;for(let e=0;e<s.length;e++)if(s[e]!==c[e]){f=!0;break}if(0===a.length&&0===u.length&&0===l.length&&!f)return{ok:!0};let d=xt.mismatch;return 1===t.length&&1===u.length&&0===a.length&&(d=xt.rowNotFound),{ok:!1,reason:d,added:a,removed:u,changed:l,reordered:f}}function Bt(e,t,n){var o=e.length;return n=void 0===n?o:n,!t&&n>=o?e:r(e,t,n)}function Vt(e){return e!=e}function Ht(e,t,r){return t==t?function(e,t,r){for(var n=r-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1}(e,t,r):function(e,t,r,n){for(var o=e.length,i=r+(n?1:-1);n?i--:++i<o;)if(t(e[i],i,e))return i;return-1}(e,Vt,r)}var Kt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Yt(e){return Kt.test(e)}var qt="\\ud800-\\udfff",Xt="["+qt+"]",Jt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Zt="\\ud83c[\\udffb-\\udfff]",Gt="[^"+qt+"]",Qt="(?:\\ud83c[\\udde6-\\uddff]){2}",er="[\\ud800-\\udbff][\\udc00-\\udfff]",tr="(?:"+Jt+"|"+Zt+")"+"?",rr="[\\ufe0e\\ufe0f]?",nr=rr+tr+("(?:\\u200d(?:"+[Gt,Qt,er].join("|")+")"+rr+tr+")*"),or="(?:"+[Gt+Jt+"?",Jt,Qt,er,Xt].join("|")+")",ir=RegExp(Zt+"(?="+Zt+")|"+or+nr,"g");function ar(e){return Yt(e)?function(e){return e.match(ir)||[]}(e):function(e){return e.split("")}(e)}function ur(e,t,r){if((e=yt(e))&&(r||void 0===t))return i(e);if(!e||!(t=gt(t)))return e;var n=ar(e),o=ar(t),a=function(e,t){for(var r=-1,n=e.length;++r<n&&Ht(t,e[r],0)>-1;);return r}(n,o),u=function(e,t){for(var r=e.length;r--&&Ht(t,e[r],0)>-1;);return r}(n,o)+1;return Bt(n,a,u).join("")}var lr=Ve(s,"DataView"),sr=Ve(s,"Promise"),cr=Ve(s,"Set"),fr=Ve(s,"WeakMap"),dr="[object Map]",pr="[object Promise]",hr="[object Set]",gr="[object WeakMap]",yr="[object DataView]",vr=Fe(lr),br=Fe(Qe),mr=Fe(sr),wr=Fe(cr),jr=Fe(fr),Or=m;(lr&&Or(new lr(new ArrayBuffer(1)))!=yr||Qe&&Or(new Qe)!=dr||sr&&Or(sr.resolve())!=pr||cr&&Or(new cr)!=hr||fr&&Or(new fr)!=gr)&&(Or=function(e){var t=m(e),r="[object Object]"==t?e.constructor:void 0,n=r?Fe(r):"";if(n)switch(n){case vr:return yr;case br:return dr;case mr:return pr;case wr:return hr;case jr:return gr}return t});var $r=Or,xr="[object String]";function kr(e){return function(t){return null==t?void 0:t[e]}}var Sr=kr("length"),Ar="\\ud800-\\udfff",_r="["+Ar+"]",Pr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Er="\\ud83c[\\udffb-\\udfff]",Ir="[^"+Ar+"]",Dr="(?:\\ud83c[\\udde6-\\uddff]){2}",Mr="[\\ud800-\\udbff][\\udc00-\\udfff]",Tr="(?:"+Pr+"|"+Er+")"+"?",Cr="[\\ufe0e\\ufe0f]?",Fr=Cr+Tr+("(?:\\u200d(?:"+[Ir,Dr,Mr].join("|")+")"+Cr+Tr+")*"),zr="(?:"+[Ir+Pr+"?",Pr,Dr,Mr,_r].join("|")+")",Nr=RegExp(Er+"(?="+Er+")|"+zr+Fr,"g");function Ur(e){return Yt(e)?function(e){for(var t=Nr.lastIndex=0;Nr.test(e);)++t;return t}(e):Sr(e)}var Lr="[object Map]",Wr="[object Set]";function Rr(e){if(null==e)return 0;if(be(e))return"string"==typeof(t=e)||!W(t)&&w(t)&&m(t)==xr?Ur(e):e.length;var t,r=$r(e);return r==Lr||r==Wr?e.size:de(e).length}function Br(e){let t=jt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs");return!!function(e){let t=jt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs"),r=!1;try{t.statSync(e),r=!0}catch{r=!1}return r}(e,{fs:t})&&(!t.lstatSync(e).isDirectory()&&!t.lstatSync(e).isSymbolicLink())}function Vr(e){if(Ae(e)){for(let t in e)return!0;return!1}return!1}function Hr(e){return"[object String]"===Object.prototype.toString.call(e)}function Kr(e){if(e!=e)return!0;if(null!==e&&"object"==typeof e)try{let t=Number.prototype.valueOf.call(e);return Number.isNaN(t)}catch(e){return!1}return!1}function Yr(e){return!!function(e){return"[object Undefined]"===Object.prototype.toString.call(e)}(e)||(!!function(e){return"[object Null]"===Object.prototype.toString.call(e)}(e)||(!!function(e){if(Ae(e)){for(let t in e)return!1;return!0}return!1}(e)||(!!function(e){return!(!Hr(e)||0!==e.length)}(e)||(!!function(e){return!!Se(e)&&0===e.length}(e)||!!Kr(e)))))}function qr(e){return!!Se(e)&&(0!==e.length&&(1!==e.length||!Yr(e[0])))}function Xr(e){return!!(Hr(e)&&e.length>0)}var Jr="[object Boolean]";function Zr(e){return!0===(t=e)||!1===t||w(t)&&m(t)==Jr;var t}let Gr={backup:async function(e){if(!Vr(e))throw console.log("woItems",e),new Error("invalid woItems");return await _e(e,(async(e,t)=>(console.log("backup...",t),{name:t,data:await e.select()})))},recover:async function(t,r,n){let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!Br(t,{fs:e}))throw console.log("fp",t),new Error("fp is not exist");if(!Vr(r))throw console.log("woItems",r),new Error("invalid woItems");xe(n)||(n=null),Zr(o)||(o=!1);let i=e.readFileSync(t,"utf8");i=ur(i);let a=function(e){let t=jt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"returnWithStateAndMsg",null);Zr(t)||(t=!1);let r=e=>t?{state:"error",msg:e}:{};if(!Xr(e))return r("invalid v");let n={};try{n=JSON.parse(e)}catch(e){return r(e.toString())}return t?{state:"success",msg:n}:n}(i);if(!qr(a))throw new Error("invalid backup data, need a non-empty array");$e(a,((e,t)=>{let n=jt(e,"name");if(!Xr(n))throw new Error(`invalid backup data, rs[${t}].name is not a string`);if(!Object.prototype.hasOwnProperty.call(r,n))throw new Error(`invalid backup data, table[${n}] is not in woItems`)})),xe(n)&&n(),await _e(a,(async e=>{console.log("recover...",e.name),o&&(console.log("needCreateStorage"),await r[e.name].createStorage());let t=null;return Rr(e.data)>0&&(t=await r[e.name].insert(e.data)),t}))}};function Qr(e){var t=this.__data__=new Ge(e);this.size=t.size}Qr.prototype.clear=function(){this.__data__=new Ge,this.size=0},Qr.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Qr.prototype.get=function(e){return this.__data__.get(e)},Qr.prototype.has=function(e){return this.__data__.has(e)},Qr.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Ge){var n=r.__data__;if(!Qe||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new tt(n)}return r.set(e,t),this.size=r.size,this};function en(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new tt;++t<r;)this.add(e[t])}function tn(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function rn(e,t){return e.has(t)}en.prototype.add=en.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},en.prototype.has=function(e){return this.__data__.has(e)};var nn=1,on=2;function an(e,t,r,n,o,i){var a=r&nn,u=e.length,l=t.length;if(u!=l&&!(a&&l>u))return!1;var s=i.get(e),c=i.get(t);if(s&&c)return s==t&&c==e;var f=-1,d=!0,p=r&on?new en:void 0;for(i.set(e,t),i.set(t,e);++f<u;){var h=e[f],g=t[f];if(n)var y=a?n(g,h,f,t,e,i):n(h,g,f,e,t,i);if(void 0!==y){if(y)continue;d=!1;break}if(p){if(!tn(t,(function(e,t){if(!rn(p,t)&&(h===e||o(h,e,r,n,i)))return p.push(t)}))){d=!1;break}}else if(h!==g&&!o(h,g,r,n,i)){d=!1;break}}return i.delete(e),i.delete(t),d}var un=s.Uint8Array;function ln(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function sn(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var cn=1,fn=2,dn="[object Boolean]",pn="[object Date]",hn="[object Error]",gn="[object Map]",yn="[object Number]",vn="[object RegExp]",bn="[object Set]",mn="[object String]",wn="[object Symbol]",jn="[object ArrayBuffer]",On="[object DataView]",$n=c?c.prototype:void 0,xn=$n?$n.valueOf:void 0;function kn(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}function Sn(e,t,r){var n=t(e);return W(e)?n:kn(n,r(e))}function An(){return[]}var _n=Object.prototype.propertyIsEnumerable,Pn=Object.getOwnPropertySymbols,En=Pn?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,i=[];++r<n;){var a=e[r];t(a,r,e)&&(i[o++]=a)}return i}(Pn(e),(function(t){return _n.call(e,t)})))}:An,In=En;function Dn(e){return Sn(e,me,In)}var Mn=1,Tn=Object.prototype.hasOwnProperty;var Cn=1,Fn="[object Arguments]",zn="[object Array]",Nn="[object Object]",Un=Object.prototype.hasOwnProperty;function Ln(e,t,r,n,o,i){var a=W(e),u=W(t),l=a?zn:$r(e),s=u?zn:$r(t),c=(l=l==Fn?Nn:l)==Nn,f=(s=s==Fn?Nn:s)==Nn,d=l==s;if(d&&H(e)){if(!H(t))return!1;a=!0,c=!1}if(d&&!c)return i||(i=new Qr),a||oe(e)?an(e,t,r,n,o,i):function(e,t,r,n,o,i,a){switch(r){case On:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case jn:return!(e.byteLength!=t.byteLength||!i(new un(e),new un(t)));case dn:case pn:case yn:return Xe(+e,+t);case hn:return e.name==t.name&&e.message==t.message;case vn:case mn:return e==t+"";case gn:var u=ln;case bn:var l=n&cn;if(u||(u=sn),e.size!=t.size&&!l)return!1;var s=a.get(e);if(s)return s==t;n|=fn,a.set(e,t);var c=an(u(e),u(t),n,o,i,a);return a.delete(e),c;case wn:if(xn)return xn.call(e)==xn.call(t)}return!1}(e,t,l,r,n,o,i);if(!(r&Cn)){var p=c&&Un.call(e,"__wrapped__"),h=f&&Un.call(t,"__wrapped__");if(p||h){var g=p?e.value():e,y=h?t.value():t;return i||(i=new Qr),o(g,y,r,n,i)}}return!!d&&(i||(i=new Qr),function(e,t,r,n,o,i){var a=r&Mn,u=Dn(e),l=u.length;if(l!=Dn(t).length&&!a)return!1;for(var s=l;s--;){var c=u[s];if(!(a?c in t:Tn.call(t,c)))return!1}var f=i.get(e),d=i.get(t);if(f&&d)return f==t&&d==e;var p=!0;i.set(e,t),i.set(t,e);for(var h=a;++s<l;){var g=e[c=u[s]],y=t[c];if(n)var v=a?n(y,g,c,t,e,i):n(g,y,c,e,t,i);if(!(void 0===v?g===y||o(g,y,r,n,i):v)){p=!1;break}h||(h="constructor"==c)}if(p&&!h){var b=e.constructor,m=t.constructor;b==m||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof m&&m instanceof m||(p=!1)}return i.delete(e),i.delete(t),p}(e,t,r,n,o,i))}function Wn(e,t,r,n,o){return e===t||(null==e||null==t||!w(e)&&!w(t)?e!=e&&t!=t:Ln(e,t,r,n,Wn,o))}var Rn=1,Bn=2;function Vn(e){return e==e&&!a(e)}function Hn(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}function Kn(e){var t=function(e){for(var t=me(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,Vn(o)]}return t}(e);return 1==t.length&&t[0][2]?Hn(t[0][0],t[0][1]):function(r){return r===e||function(e,t,r,n){var o=r.length,i=o,a=!n;if(null==e)return!i;for(e=Object(e);o--;){var u=r[o];if(a&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<i;){var l=(u=r[o])[0],s=e[l],c=u[1];if(a&&u[2]){if(void 0===s&&!(l in e))return!1}else{var f=new Qr;if(n)var d=n(s,c,l,e,t,f);if(!(void 0===d?Wn(c,s,Rn|Bn,n,f):d))return!1}}return!0}(r,e,t)}}function Yn(e,t){return null!=e&&t in Object(e)}function qn(e,t){return null!=e&&function(e,t,r){for(var n=-1,o=(t=vt(t,e)).length,i=!1;++n<o;){var a=mt(t[n]);if(!(i=null!=e&&r(e,a)))break;e=e[a]}return i||++n!=o?i:!!(o=null==e?0:e.length)&&J(o)&&q(a,o)&&(W(e)||L(e))}(e,t,Yn)}var Xn=1,Jn=2;function Zn(e){return Ie(e)?kr(mt(e)):function(e){return function(t){return wt(t,e)}}(e)}function Gn(e){return"function"==typeof e?e:null==e?Oe:"object"==typeof e?W(e)?(t=e[0],r=e[1],Ie(t)&&Vn(r)?Hn(mt(t),r):function(e){var n=jt(e,t);return void 0===n&&n===r?qn(e,t):Wn(r,n,Xn|Jn)}):Kn(e):Zn(e);var t,r}function Qn(e,t){var r=-1,n=be(e)?Array(e.length):[];return je(e,(function(e,o,i){n[++r]=t(e,o,i)})),n}function eo(e,t){return(W(e)?ft:Qn)(e,Gn(t))}var to=Array.prototype.join;function ro(e,t){return null==e?"":to.call(e,t)}var no=re&&re.isRegExp,oo=no?G(no):function(e){return w(e)&&"[object RegExp]"==m(e)},io=30,ao="...",uo=/\w*$/;function lo(e,t){var r=io,n=ao;if(a(t)){var o="separator"in t?t.separator:o;r="length"in t?I(t.length):r,n="omission"in t?gt(t.omission):n}var i=(e=yt(e)).length;if(Yt(e)){var u=ar(e);i=u.length}if(r>=i)return e;var l=r-Ur(n);if(l<1)return n;var s=u?Bt(u,0,l).join(""):e.slice(0,l);if(void 0===o)return s+n;if(u&&(l+=s.length-l),oo(o)){if(e.slice(l).search(o)){var c,f=s;for(o.global||(o=RegExp(o.source,yt(uo.exec(o))+"g")),o.lastIndex=0;c=o.exec(f);)var d=c.index;s=s.slice(0,void 0===d?l:d)}}else if(e.indexOf(gt(o),l)!=l){var p=s.lastIndexOf(o);p>-1&&(s=s.slice(0,p))}return s+n}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var so={};!function(e,t){e.exports=function(){var e=1e3,t=6e4,r=36e5,n="millisecond",o="second",i="minute",a="hour",u="day",l="week",s="month",c="quarter",f="year",d="date",p="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,y={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},v=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},b={s:v,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),o=r%60;return(t<=0?"+":"-")+v(n,2,"0")+":"+v(o,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var n=12*(r.year()-t.year())+(r.month()-t.month()),o=t.clone().add(n,s),i=r-o<0,a=t.clone().add(n+(i?-1:1),s);return+(-(n+(r-o)/(i?o-a:a-o))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:s,y:f,w:l,d:u,D:d,h:a,m:i,s:o,ms:n,Q:c}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},m="en",w={};w[m]=y;var j="$isDayjsObject",O=function(e){return e instanceof S||!(!e||!e[j])},$=function e(t,r,n){var o;if(!t)return m;if("string"==typeof t){var i=t.toLowerCase();w[i]&&(o=i),r&&(w[i]=r,o=i);var a=t.split("-");if(!o&&a.length>1)return e(a[0])}else{var u=t.name;w[u]=t,o=u}return!n&&o&&(m=o),o||!n&&m},x=function(e,t){if(O(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new S(r)},k=b;k.l=$,k.i=O,k.w=function(e,t){return x(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var S=function(){function y(e){this.$L=$(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[j]=!0}var v=y.prototype;return v.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(k.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(h);if(n){var o=n[2]-1||0,i=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],o,n[3]||1,n[4]||0,n[5]||0,n[6]||0,i)):new Date(n[1],o,n[3]||1,n[4]||0,n[5]||0,n[6]||0,i)}}return new Date(t)}(e),this.init()},v.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},v.$utils=function(){return k},v.isValid=function(){return!(this.$d.toString()===p)},v.isSame=function(e,t){var r=x(e);return this.startOf(t)<=r&&r<=this.endOf(t)},v.isAfter=function(e,t){return x(e)<this.startOf(t)},v.isBefore=function(e,t){return this.endOf(t)<x(e)},v.$g=function(e,t,r){return k.u(e)?this[t]:this.set(r,e)},v.unix=function(){return Math.floor(this.valueOf()/1e3)},v.valueOf=function(){return this.$d.getTime()},v.startOf=function(e,t){var r=this,n=!!k.u(t)||t,c=k.p(e),p=function(e,t){var o=k.w(r.$u?Date.UTC(r.$y,t,e):new Date(r.$y,t,e),r);return n?o:o.endOf(u)},h=function(e,t){return k.w(r.toDate()[e].apply(r.toDate("s"),(n?[0,0,0,0]:[23,59,59,999]).slice(t)),r)},g=this.$W,y=this.$M,v=this.$D,b="set"+(this.$u?"UTC":"");switch(c){case f:return n?p(1,0):p(31,11);case s:return n?p(1,y):p(0,y+1);case l:var m=this.$locale().weekStart||0,w=(g<m?g+7:g)-m;return p(n?v-w:v+(6-w),y);case u:case d:return h(b+"Hours",0);case a:return h(b+"Minutes",1);case i:return h(b+"Seconds",2);case o:return h(b+"Milliseconds",3);default:return this.clone()}},v.endOf=function(e){return this.startOf(e,!1)},v.$set=function(e,t){var r,l=k.p(e),c="set"+(this.$u?"UTC":""),p=(r={},r[u]=c+"Date",r[d]=c+"Date",r[s]=c+"Month",r[f]=c+"FullYear",r[a]=c+"Hours",r[i]=c+"Minutes",r[o]=c+"Seconds",r[n]=c+"Milliseconds",r)[l],h=l===u?this.$D+(t-this.$W):t;if(l===s||l===f){var g=this.clone().set(d,1);g.$d[p](h),g.init(),this.$d=g.set(d,Math.min(this.$D,g.daysInMonth())).$d}else p&&this.$d[p](h);return this.init(),this},v.set=function(e,t){return this.clone().$set(e,t)},v.get=function(e){return this[k.p(e)]()},v.add=function(n,c){var d,p=this;n=Number(n);var h=k.p(c),g=function(e){var t=x(p);return k.w(t.date(t.date()+Math.round(e*n)),p)};if(h===s)return this.set(s,this.$M+n);if(h===f)return this.set(f,this.$y+n);if(h===u)return g(1);if(h===l)return g(7);var y=(d={},d[i]=t,d[a]=r,d[o]=e,d)[h]||1,v=this.$d.getTime()+n*y;return k.w(v,this)},v.subtract=function(e,t){return this.add(-1*e,t)},v.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||p;var n=e||"YYYY-MM-DDTHH:mm:ssZ",o=k.z(this),i=this.$H,a=this.$m,u=this.$M,l=r.weekdays,s=r.months,c=r.meridiem,f=function(e,r,o,i){return e&&(e[r]||e(t,n))||o[r].slice(0,i)},d=function(e){return k.s(i%12||12,e,"0")},h=c||function(e,t,r){var n=e<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(g,(function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return k.s(t.$y,4,"0");case"M":return u+1;case"MM":return k.s(u+1,2,"0");case"MMM":return f(r.monthsShort,u,s,3);case"MMMM":return f(s,u);case"D":return t.$D;case"DD":return k.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return f(r.weekdaysMin,t.$W,l,2);case"ddd":return f(r.weekdaysShort,t.$W,l,3);case"dddd":return l[t.$W];case"H":return String(i);case"HH":return k.s(i,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return h(i,a,!0);case"A":return h(i,a,!1);case"m":return String(a);case"mm":return k.s(a,2,"0");case"s":return String(t.$s);case"ss":return k.s(t.$s,2,"0");case"SSS":return k.s(t.$ms,3,"0");case"Z":return o}return null}(e)||o.replace(":","")}))},v.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},v.diff=function(n,d,p){var h,g=this,y=k.p(d),v=x(n),b=(v.utcOffset()-this.utcOffset())*t,m=this-v,w=function(){return k.m(g,v)};switch(y){case f:h=w()/12;break;case s:h=w();break;case c:h=w()/3;break;case l:h=(m-b)/6048e5;break;case u:h=(m-b)/864e5;break;case a:h=m/r;break;case i:h=m/t;break;case o:h=m/e;break;default:h=m}return p?h:k.a(h)},v.daysInMonth=function(){return this.endOf(s).$D},v.$locale=function(){return w[this.$L]},v.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),n=$(e,t,!0);return n&&(r.$L=n),r},v.clone=function(){return k.w(this.$d,this)},v.toDate=function(){return new Date(this.valueOf())},v.toJSON=function(){return this.isValid()?this.toISOString():null},v.toISOString=function(){return this.$d.toISOString()},v.toString=function(){return this.$d.toUTCString()},y}(),A=S.prototype;return x.prototype=A,[["$ms",n],["$s",o],["$m",i],["$H",a],["$W",u],["$M",s],["$y",f],["$D",d]].forEach((function(e){A[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),x.extend=function(e,t){return e.$i||(e(t,S,x),e.$i=!0),x},x.locale=$,x.isDayjs=O,x.unix=function(e){return x(1e3*e)},x.en=w[m],x.Ls=w,x.p={},x}()}({get exports(){return so},set exports(e){so=e}});var co=so;const fo=[];for(let e=0;e<256;++e)fo.push((e+256).toString(16).slice(1));const po=new Uint8Array(16);function ho(){return crypto.getRandomValues(po)}const go={};function yo(e,t,r){let n;if(e)n=vo(e.random??e.rng?.()??ho(),e.msecs,e.seq,t,r);else{const e=Date.now(),o=ho();!function(e,t,r){e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=bo(r),e.msecs=t):(e.seq=e.seq+1|0,0===e.seq&&e.msecs++)}(go,e,o),n=vo(o,go.msecs,go.seq,t,r)}return t??function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(fo[e[t+0]]+fo[e[t+1]]+fo[e[t+2]]+fo[e[t+3]]+"-"+fo[e[t+4]]+fo[e[t+5]]+"-"+fo[e[t+6]]+fo[e[t+7]]+"-"+fo[e[t+8]]+fo[e[t+9]]+"-"+fo[e[t+10]]+fo[e[t+11]]+fo[e[t+12]]+fo[e[t+13]]+fo[e[t+14]]+fo[e[t+15]]).toLowerCase()}(n)}function vo(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(e.length<16)throw new Error("Random bytes length must be >= 16");if(n){if(o<0||o+16>n.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`)}else n=new Uint8Array(16),o=0;return t??=Date.now(),r??=bo(e),n[o++]=t/1099511627776&255,n[o++]=t/4294967296&255,n[o++]=t/16777216&255,n[o++]=t/65536&255,n[o++]=t/256&255,n[o++]=255&t,n[o++]=112|r>>>28&15,n[o++]=r>>>20&255,n[o++]=128|r>>>14&63,n[o++]=r>>>6&255,n[o++]=r<<2&255|3&e[10],n[o++]=e[11],n[o++]=e[12],n[o++]=e[13],n[o++]=e[14],n[o++]=e[15],n}function bo(e){return(127&e[6])<<24|e[7]<<16|e[8]<<8|e[9]}function mo(e){let t=!1;if(Xr(e)){if(""===e.trim())return!1;t=!isNaN(Number(e))}else if(function(e){return"[object Number]"===Object.prototype.toString.call(e)}(e)){if(Kr(e))return!1;t=!0}return t}var wo=function(){try{var e=Ve(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),jo=wo;function Oo(e,t,r){"__proto__"==t&&jo?jo(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var $o=Object.prototype.hasOwnProperty;function xo(e,t,r){var n=e[t];$o.call(e,t)&&Xe(n,r)&&(void 0!==r||t in e)||Oo(e,t,r)}function ko(e,t,r,n){var o=!r;r||(r={});for(var i=-1,a=t.length;++i<a;){var u=t[i],l=n?n(r[u],e[u],u,r,e):void 0;void 0===l&&(l=e[u]),o?Oo(r,u,l):xo(r,u,l)}return r}var So=Object.prototype.hasOwnProperty;function Ao(e){if(!a(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=le(e),r=[];for(var n in e)("constructor"!=n||!t&&So.call(e,n))&&r.push(n);return r}function _o(e){return be(e)?ae(e,!0):Ao(e)}var Po="object"==typeof exports&&exports&&!exports.nodeType&&exports,Eo=Po&&"object"==typeof module&&module&&!module.nodeType&&module,Io=Eo&&Eo.exports===Po?s.Buffer:void 0,Do=Io?Io.allocUnsafe:void 0;var Mo=se(Object.getPrototypeOf,Object),To=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)kn(t,In(e)),e=Mo(e);return t}:An,Co=To;function Fo(e){return Sn(e,_o,Co)}var zo=Object.prototype.hasOwnProperty;function No(e){var t=new e.constructor(e.byteLength);return new un(t).set(new un(e)),t}var Uo=/\w*$/;var Lo=c?c.prototype:void 0,Wo=Lo?Lo.valueOf:void 0;var Ro="[object Boolean]",Bo="[object Date]",Vo="[object Map]",Ho="[object Number]",Ko="[object RegExp]",Yo="[object Set]",qo="[object String]",Xo="[object Symbol]",Jo="[object ArrayBuffer]",Zo="[object DataView]",Go="[object Float32Array]",Qo="[object Float64Array]",ei="[object Int8Array]",ti="[object Int16Array]",ri="[object Int32Array]",ni="[object Uint8Array]",oi="[object Uint8ClampedArray]",ii="[object Uint16Array]",ai="[object Uint32Array]";function ui(e,t,r){var n,o=e.constructor;switch(t){case Jo:return No(e);case Ro:case Bo:return new o(+e);case Zo:return function(e,t){var r=t?No(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case Go:case Qo:case ei:case ti:case ri:case ni:case oi:case ii:case ai:return function(e,t){var r=t?No(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}(e,r);case Vo:return new o;case Ho:case qo:return new o(e);case Ko:return function(e){var t=new e.constructor(e.source,Uo.exec(e));return t.lastIndex=e.lastIndex,t}(e);case Yo:return new o;case Xo:return n=e,Wo?Object(Wo.call(n)):{}}}var li=Object.create,si=function(){function e(){}return function(t){if(!a(t))return{};if(li)return li(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),ci=si;var fi=re&&re.isMap,di=fi?G(fi):function(e){return w(e)&&"[object Map]"==$r(e)};var pi=re&&re.isSet,hi=pi?G(pi):function(e){return w(e)&&"[object Set]"==$r(e)},gi=1,yi=2,vi=4,bi="[object Arguments]",mi="[object Function]",wi="[object GeneratorFunction]",ji="[object Object]",Oi={};function $i(e,t,r,n,o,i){var u,l=t&gi,s=t&yi,c=t&vi;if(r&&(u=o?r(e,n,o,i):r(e)),void 0!==u)return u;if(!a(e))return e;var f=W(e);if(f){if(u=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&zo.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(e),!l)return function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(e,u)}else{var d=$r(e),p=d==mi||d==wi;if(H(e))return function(e,t){if(t)return e.slice();var r=e.length,n=Do?Do(r):new e.constructor(r);return e.copy(n),n}(e,l);if(d==ji||d==bi||p&&!o){if(u=s||p?{}:function(e){return"function"!=typeof e.constructor||le(e)?{}:ci(Mo(e))}(e),!l)return s?function(e,t){return ko(e,Co(e),t)}(e,function(e,t){return e&&ko(t,_o(t),e)}(u,e)):function(e,t){return ko(e,In(e),t)}(e,function(e,t){return e&&ko(t,me(t),e)}(u,e))}else{if(!Oi[d])return o?e:{};u=ui(e,d,l)}}i||(i=new Qr);var h=i.get(e);if(h)return h;i.set(e,u),hi(e)?e.forEach((function(n){u.add($i(n,t,r,n,e,i))})):di(e)&&e.forEach((function(n,o){u.set(o,$i(n,t,r,o,e,i))}));var g=f?void 0:(c?s?Fo:Dn:s?_o:me)(e);return D(g||e,(function(n,o){g&&(n=e[o=n]),xo(u,o,$i(n,t,r,o,e,i))})),u}Oi[bi]=Oi["[object Array]"]=Oi["[object ArrayBuffer]"]=Oi["[object DataView]"]=Oi["[object Boolean]"]=Oi["[object Date]"]=Oi["[object Float32Array]"]=Oi["[object Float64Array]"]=Oi["[object Int8Array]"]=Oi["[object Int16Array]"]=Oi["[object Int32Array]"]=Oi["[object Map]"]=Oi["[object Number]"]=Oi[ji]=Oi["[object RegExp]"]=Oi["[object Set]"]=Oi["[object String]"]=Oi["[object Symbol]"]=Oi["[object Uint8Array]"]=Oi["[object Uint8ClampedArray]"]=Oi["[object Uint16Array]"]=Oi["[object Uint32Array]"]=!0,Oi["[object Error]"]=Oi[mi]=Oi["[object WeakMap]"]=!1;var xi=1,ki=4;var Si={},Ai={get exports(){return Si},set exports(e){Si=e}},_i={},Pi={},Ei={get exports(){return Pi},set exports(e){Pi=e}},Ii={};function Di(){var e={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return e}var Mi=/javascript\s*\:/gim;Ii.whiteList=Di(),Ii.getDefaultWhiteList=Di,Ii.onAttr=function(e,t,r){},Ii.onIgnoreAttr=function(e,t,r){},Ii.safeAttrValue=function(e,t){return Mi.test(t)?"":t};var Ti={indexOf:function(e,t){var r,n;if(Array.prototype.indexOf)return e.indexOf(t);for(r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1},forEach:function(e,t,r){var n,o;if(Array.prototype.forEach)return e.forEach(t,r);for(n=0,o=e.length;n<o;n++)t.call(r,e[n],n,e)},trim:function(e){return String.prototype.trim?e.trim():e.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(e){return String.prototype.trimRight?e.trimRight():e.replace(/(\s*$)/g,"")}};var Ci=function(e,t){";"!==(e=Ti.trimRight(e))[e.length-1]&&(e+=";");var r=e.length,n=!1,o=0,i=0,a="";function u(){if(!n){var r=Ti.trim(e.slice(o,i)),u=r.indexOf(":");if(-1!==u){var l=Ti.trim(r.slice(0,u)),s=Ti.trim(r.slice(u+1));if(l){var c=t(o,a.length,l,s,r);c&&(a+=c+"; ")}}}o=i+1}for(;i<r;i++){var l=e[i];if("/"===l&&"*"===e[i+1]){var s=e.indexOf("*/",i+2);if(-1===s)break;o=(i=s+1)+1,n=!1}else"("===l?n=!0:")"===l?n=!1:";"===l?n||u():"\n"===l&&u()}return Ti.trim(a)},Fi=Ii,zi=Ci;function Ni(e){return null==e}function Ui(e){(e=function(e){var t={};for(var r in e)t[r]=e[r];return t}(e||{})).whiteList=e.whiteList||Fi.whiteList,e.onAttr=e.onAttr||Fi.onAttr,e.onIgnoreAttr=e.onIgnoreAttr||Fi.onIgnoreAttr,e.safeAttrValue=e.safeAttrValue||Fi.safeAttrValue,this.options=e}Ui.prototype.process=function(e){if(!(e=(e=e||"").toString()))return"";var t=this.options,r=t.whiteList,n=t.onAttr,o=t.onIgnoreAttr,i=t.safeAttrValue;return zi(e,(function(e,t,a,u,l){var s=r[a],c=!1;if(!0===s?c=s:"function"==typeof s?c=s(u):s instanceof RegExp&&(c=s.test(u)),!0!==c&&(c=!1),u=i(a,u)){var f,d={position:t,sourcePosition:e,source:l,isWhite:c};return c?Ni(f=n(a,u,d))?a+":"+u:f:Ni(f=o(a,u,d))?void 0:f}}))};var Li=Ui;!function(e,t){var r=Ii,n=Li;for(var o in(t=e.exports=function(e,t){return new n(t).process(e)}).FilterCSS=n,r)t[o]=r[o];"undefined"!=typeof window&&(window.filterCSS=e.exports)}(Ei,Pi);var Wi={indexOf:function(e,t){var r,n;if(Array.prototype.indexOf)return e.indexOf(t);for(r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1},forEach:function(e,t,r){var n,o;if(Array.prototype.forEach)return e.forEach(t,r);for(n=0,o=e.length;n<o;n++)t.call(r,e[n],n,e)},trim:function(e){return String.prototype.trim?e.trim():e.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(e){var t=/\s|\n|\t/.exec(e);return t?t.index:-1}},Ri=Pi.FilterCSS,Bi=Pi.getDefaultWhiteList,Vi=Wi;function Hi(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],figcaption:[],figure:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height","loading"],ins:["datetime"],kbd:[],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],summary:[],sup:[],strong:[],strike:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","crossorigin","loop","muted","playsinline","poster","preload","src","height","width"]}}var Ki=new Ri;function Yi(e){return e.replace(qi,"&lt;").replace(Xi,"&gt;")}var qi=/</g,Xi=/>/g,Ji=/"/g,Zi=/&quot;/g,Gi=/&#([a-zA-Z0-9]*);?/gim,Qi=/&colon;?/gim,ea=/&newline;?/gim,ta=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi,ra=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,na=/u\s*r\s*l\s*\(.*/gi;function oa(e){return e.replace(Ji,"&quot;")}function ia(e){return e.replace(Zi,'"')}function aa(e){return e.replace(Gi,(function(e,t){return"x"===t[0]||"X"===t[0]?String.fromCharCode(parseInt(t.substr(1),16)):String.fromCharCode(parseInt(t,10))}))}function ua(e){return e.replace(Qi,":").replace(ea," ")}function la(e){for(var t="",r=0,n=e.length;r<n;r++)t+=e.charCodeAt(r)<32?" ":e.charAt(r);return Vi.trim(t)}function sa(e){return e=la(e=ua(e=aa(e=ia(e))))}function ca(e){return e=Yi(e=oa(e))}_i.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],figcaption:[],figure:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height","loading"],ins:["datetime"],kbd:[],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],summary:[],sup:[],strong:[],strike:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","crossorigin","loop","muted","playsinline","poster","preload","src","height","width"]},_i.getDefaultWhiteList=Hi,_i.onTag=function(e,t,r){},_i.onIgnoreTag=function(e,t,r){},_i.onTagAttr=function(e,t,r){},_i.onIgnoreTagAttr=function(e,t,r){},_i.safeAttrValue=function(e,t,r,n){if(r=sa(r),"href"===t||"src"===t){if("#"===(r=Vi.trim(r)))return"#";if("http://"!==r.substr(0,7)&&"https://"!==r.substr(0,8)&&"mailto:"!==r.substr(0,7)&&"tel:"!==r.substr(0,4)&&"data:image/"!==r.substr(0,11)&&"ftp://"!==r.substr(0,6)&&"./"!==r.substr(0,2)&&"../"!==r.substr(0,3)&&"#"!==r[0]&&"/"!==r[0])return""}else if("background"===t){if(ta.lastIndex=0,ta.test(r))return""}else if("style"===t){if(ra.lastIndex=0,ra.test(r))return"";if(na.lastIndex=0,na.test(r)&&(ta.lastIndex=0,ta.test(r)))return"";!1!==n&&(r=(n=n||Ki).process(r))}return r=ca(r)},_i.escapeHtml=Yi,_i.escapeQuote=oa,_i.unescapeQuote=ia,_i.escapeHtmlEntities=aa,_i.escapeDangerHtml5Entities=ua,_i.clearNonPrintableCharacter=la,_i.friendlyAttrValue=sa,_i.escapeAttrValue=ca,_i.onIgnoreTagStripAll=function(){return""},_i.StripTagBody=function(e,t){"function"!=typeof t&&(t=function(){});var r=!Array.isArray(e),n=[],o=!1;return{onIgnoreTag:function(i,a,u){if(function(t){return!!r||-1!==Vi.indexOf(e,t)}(i)){if(u.isClosing){var l="[/removed]",s=u.position+l.length;return n.push([!1!==o?o:u.position,s]),o=!1,l}return o||(o=u.position),"[removed]"}return t(i,a,u)},remove:function(e){var t="",r=0;return Vi.forEach(n,(function(n){t+=e.slice(r,n[0]),r=n[1]})),t+=e.slice(r)}}},_i.stripCommentTag=function(e){for(var t="",r=0;r<e.length;){var n=e.indexOf("\x3c!--",r);if(-1===n){t+=e.slice(r);break}t+=e.slice(r,n);var o=e.indexOf("--\x3e",n);if(-1===o)break;r=o+3}return t},_i.stripBlankChar=function(e){var t=e.split("");return(t=t.filter((function(e){var t=e.charCodeAt(0);return 127!==t&&(!(t<=31)||(10===t||13===t))}))).join("")},_i.attributeWrapSign='"',_i.cssFilter=Ki,_i.getDefaultCSSWhiteList=Bi;var fa={},da=Wi;function pa(e){var t,r=da.spaceIndex(e);return t=-1===r?e.slice(1,-1):e.slice(1,r+1),"/"===(t=da.trim(t).toLowerCase()).slice(0,1)&&(t=t.slice(1)),"/"===t.slice(-1)&&(t=t.slice(0,-1)),t}function ha(e){return"</"===e.slice(0,2)}var ga=/[^a-zA-Z0-9\\_:.-]/gim;function ya(e,t){for(;t<e.length;t++){var r=e[t];if(" "!==r)return"="===r?t:-1}}function va(e,t){for(;t<e.length;t++){var r=e[t];if(" "!==r)return"'"===r||'"'===r?t:-1}}function ba(e,t){for(;t>0;t--){var r=e[t];if(" "!==r)return"="===r?t:-1}}function ma(e){return function(e){return'"'===e[0]&&'"'===e[e.length-1]||"'"===e[0]&&"'"===e[e.length-1]}(e)?e.substr(1,e.length-2):e}fa.parseTag=function(e,t,r){var n="",o=0,i=!1,a=!1,u=0,l=e.length,s="",c="";e:for(u=0;u<l;u++){var f=e.charAt(u);if(!1===i){if("<"===f){i=u;continue}}else if(!1===a){if("<"===f){n+=r(e.slice(o,u)),i=u,o=u;continue}if(">"===f||u===l-1){n+=r(e.slice(o,i)),s=pa(c=e.slice(i,u+1)),n+=t(i,n.length,s,c,ha(c)),o=u+1,i=!1;continue}if('"'===f||"'"===f)for(var d=1,p=e.charAt(u-d);""===p.trim()||"="===p;){if("="===p){a=f;continue e}p=e.charAt(u-++d)}}else if(f===a){a=!1;continue}}return o<l&&(n+=r(e.substr(o))),n},fa.parseAttr=function(e,t){var r=0,n=0,o=[],i=!1,a=e.length;function u(e,r){if(!((e=(e=da.trim(e)).replace(ga,"").toLowerCase()).length<1)){var n=t(e,r||"");n&&o.push(n)}}for(var l=0;l<a;l++){var s,c=e.charAt(l);if(!1!==i||"="!==c)if(!1===i||l!==n)if(/\s|\n|\t/.test(c)){if(e=e.replace(/\s|\n|\t/g," "),!1===i){if(-1===(s=ya(e,l))){u(da.trim(e.slice(r,l))),i=!1,r=l+1;continue}l=s-1;continue}if(-1===(s=ba(e,l-1))){u(i,ma(da.trim(e.slice(r,l)))),i=!1,r=l+1;continue}}else;else{if(-1===(s=e.indexOf(c,l+1)))break;u(i,da.trim(e.slice(n+1,s))),i=!1,r=(l=s)+1}else i=e.slice(r,l),r=l+1,n='"'===e.charAt(r)||"'"===e.charAt(r)?r:va(e,l+1)}return r<e.length&&(!1===i?u(e.slice(r)):u(i,ma(da.trim(e.slice(r))))),da.trim(o.join(" "))};var wa=Pi.FilterCSS,ja=_i,Oa=fa,$a=Oa.parseTag,xa=Oa.parseAttr,ka=Wi;function Sa(e){return null==e}function Aa(e){(e=function(e){var t={};for(var r in e)t[r]=e[r];return t}(e||{})).stripIgnoreTag&&(e.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),e.onIgnoreTag=ja.onIgnoreTagStripAll),e.whiteList||e.allowList?e.whiteList=function(e){var t={};for(var r in e)Array.isArray(e[r])?t[r.toLowerCase()]=e[r].map((function(e){return e.toLowerCase()})):t[r.toLowerCase()]=e[r];return t}(e.whiteList||e.allowList):e.whiteList=ja.whiteList,this.attributeWrapSign=!0===e.singleQuotedAttributeValue?"'":ja.attributeWrapSign,e.onTag=e.onTag||ja.onTag,e.onTagAttr=e.onTagAttr||ja.onTagAttr,e.onIgnoreTag=e.onIgnoreTag||ja.onIgnoreTag,e.onIgnoreTagAttr=e.onIgnoreTagAttr||ja.onIgnoreTagAttr,e.safeAttrValue=e.safeAttrValue||ja.safeAttrValue,e.escapeHtml=e.escapeHtml||ja.escapeHtml,this.options=e,!1===e.css?this.cssFilter=!1:(e.css=e.css||{},this.cssFilter=new wa(e.css))}Aa.prototype.process=function(e){if(!(e=(e=e||"").toString()))return"";var t=this,r=t.options,n=r.whiteList,o=r.onTag,i=r.onIgnoreTag,a=r.onTagAttr,u=r.onIgnoreTagAttr,l=r.safeAttrValue,s=r.escapeHtml,c=t.attributeWrapSign,f=t.cssFilter;r.stripBlankChar&&(e=ja.stripBlankChar(e)),r.allowCommentTag||(e=ja.stripCommentTag(e));var d=!1;r.stripIgnoreTagBody&&(d=ja.StripTagBody(r.stripIgnoreTagBody,i),i=d.onIgnoreTag);var p=$a(e,(function(e,t,r,d,p){var h={sourcePosition:e,position:t,isClosing:p,isWhite:Object.prototype.hasOwnProperty.call(n,r)},g=o(r,d,h);if(!Sa(g))return g;if(h.isWhite){if(h.isClosing)return"</"+r+">";var y=function(e){var t=ka.spaceIndex(e);if(-1===t)return{html:"",closing:"/"===e[e.length-2]};var r="/"===(e=ka.trim(e.slice(t+1,-1)))[e.length-1];return r&&(e=ka.trim(e.slice(0,-1))),{html:e,closing:r}}(d),v=n[r],b=xa(y.html,(function(e,t){var n=-1!==ka.indexOf(v,e),o=a(r,e,t,n);return Sa(o)?n?(t=l(r,e,t,f))?e+"="+c+t+c:e:Sa(o=u(r,e,t,n))?void 0:o:o}));return d="<"+r,b&&(d+=" "+b),y.closing&&(d+=" /"),d+=">"}return Sa(g=i(r,d,h))?s(d):g}),s);return d&&(p=d.remove(p)),p};var _a=Aa;!function(e,t){var r=_i,n=fa,o=_a;function i(e,t){return new o(t).process(e)}(t=e.exports=i).filterXSS=i,t.FilterXSS=o,function(){for(var e in r)t[e]=r[e];for(var o in n)t[o]=n[o]}(),"undefined"!=typeof window&&(window.filterXSS=e.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=e.exports)}(Ai,Si);var Pa=Si;function Ea(){return"undefined"!=typeof self?self:"undefined"!=typeof window&&void 0!==window.document?window:"undefined"!=typeof global?global:null}let Ia=/<(?=[A-Za-z!/?]|$)/g;function Da(e){return e.replace(Ia,"&lt;")}let Ma={getFilterXSS:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Pa;if(xe(e))return e;let t=Ea(),r=jt(t,"filterXSS",null);if(xe(r))return r;let n=jt(t,"xss",null);if(xe(n))return n;throw new Error("invalid filterXSS, g.filterXSS, use script for import")},getOpt:function(e){return{escapeHtml:Da,onIgnoreTagAttr:function(t,r,n,o){if("style"===r)return r+'="'+e.escapeAttrValue(n)+'"'}}}};function Ta(e){let t=null,r=null;let n=function e(n){if(Array.isArray(n)){for(let t=0;t<n.length;t++)n[t]=e(n[t]);return n}if(Ae(n)||Se(n)){for(let t of Object.keys(n))n[t]=e(n[t]);return n}return Xr(n)?(o=n,null===t&&(t=Ma.getFilterXSS(),r=Ma.getOpt(t)),t(o,r)):n;var o}($i(e,xi|ki));return n}function Ca(e,t){if(!Se(e))return[];Se(t)||(t=[t]);let r=[];return $e(e,((e,n)=>{0===jt(e,"ok")&&r.push({k:n,id:jt(t,[n,"id"]),err:jt(e,"err","")})})),r}function Fa(e,t){var n,o,i;let a=`${e}: ${ro(eo((o=10,(n=t)&&n.length?r(n,0,(o=i||void 0===o?1:I(o))<0?0:o):[]),(e=>Xr(e.ref)?e.ref:Xr(e.id)||mo(e.id)?`id[${lo(String(e.id),{length:100,omission:"…"})}]`:`data[${e.k}]`)),", ")}`;return Rr(t)>10&&(a+=`, ... (${Rr(t)} in total)`),a}function za(e,t){if(t.indexOf("id")<0)return!1;let r=jt(e,"settings",null);if(Vr(r)&&!0!==jt(r,"id.pk"))return!1;let n=jt(r,"id.type","")||jt(e,"kpType.id","");return!(Xr(n)&&["STRING","TEXT","CHAR","UUID","CITEXT"].indexOf(n.split("(")[0].trim().toUpperCase())<0)}function Na(e,t){return null!==e&&"object"==typeof e&&"string"==typeof t&&Object.prototype.hasOwnProperty.call(e,t)?void 0===e[t]?null:e[t]:null}function Ua(e){try{return Array.isArray(e)}catch(e){return!1}}function La(e){return!Object.prototype.hasOwnProperty.call(e,"value")}function Wa(e){return"number"==typeof e&&Number.isFinite(e)}function Ra(e){return Wa(e)?String(e):e}function Ba(e,t){return Object.fromEntries(Object.keys(e).map((r=>[r,t(e[r],r)])))}const Va=Object.freeze({proto:"unsupported key[__proto__]",accessor:"unsupported accessor property",unreadable:"unreadable value",deep:"too deep",large:"too large",sparse:"unsupported sparse array",hidden:"unsupported symbol key or non-enumerable property",irregular:"unsupported irregular object or array"}),Ha=64,Ka=64,Ya=1e5,qa=4e6,Xa=200,Ja=8,Za=50,Ga=200,Qa="function"==typeof WeakRef?Function.prototype.call.bind(WeakRef.prototype.deref):null,eu="function"==typeof FinalizationRegistry?Function.prototype.call.bind(FinalizationRegistry.prototype.unregister):null,tu={};function ru(e){let r=0;for(let n=e;null!==n;n=Object.getPrototypeOf(n))if(r++>Ka||t.types.isProxy(n)||Object.prototype.hasOwnProperty.call(n,Symbol.toStringTag))return!1;return!0}function nu(e){return t.types.isMap(e)||t.types.isSet(e)||t.types.isWeakMap(e)||t.types.isWeakSet(e)||t.types.isPromise(e)||t.types.isAnyArrayBuffer(e)||t.types.isArrayBufferView(e)||t.types.isBoxedPrimitive(e)||t.types.isRegExp(e)||t.types.isNativeError(e)||t.types.isGeneratorObject(e)||t.types.isMapIterator(e)||t.types.isSetIterator(e)||t.types.isModuleNamespaceObject(e)}function ou(e){if("object"!=typeof e||null===e||!ru(e)||!Ae(e))return!1;let r=Object.getPrototypeOf(e);return null===r||r===Object.prototype||function(e){if(null!==Object.getPrototypeOf(e))return!1;let r=Reflect.ownKeys(Object.prototype);if(Reflect.ownKeys(e).length!==r.length)return!1;for(let t of r)if(!Object.prototype.hasOwnProperty.call(e,t))return!1;let n=Object.getOwnPropertyDescriptor(e,"constructor");if(void 0===n||"function"!=typeof n.value||t.types.isProxy(n.value))return!1;if(Function.prototype.toString.call(n.value)!==Function.prototype.toString.call(Object))return!1;let o=Object.getOwnPropertyDescriptor(n.value,"prototype");return void 0!==o&&o.value===e}(r)}function iu(e){return"object"!=typeof e||null===e||!ru(e)||nu(e)?null:Array.isArray(e)?"arr":Ae(e)?"obj":null}function au(e){if(null!==Qa)try{return Qa(e),!0}catch(e){}if(null!==eu)try{return eu(e,tu),!0}catch(e){}return!1}function uu(e){try{for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console.log(e,...r)}catch(t){try{console.log(e,"(unprintable)")}catch(e){}}}function lu(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{n:0},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(r.n>=Xa)return"[...]";if(r.n++,"string"==typeof e)return lo(e,{length:Ga});if("function"==typeof e)return"[Function]";if("symbol"==typeof e)return"[Symbol]";if("object"!=typeof e||null===e)return e;if(t.types.isProxy(e))return"[Proxy]";if(t.types.isDate(e))return"[Date]";if(nu(e))return"[Object]";if(n>=Ja)return"[...]";let o=e=>void 0===e?"[empty]":La(e)?"[Getter/Setter]":lu(e.value,r,n+1);if(Array.isArray(e)){let t=Math.min(e.length,Za),r=[];for(let n=0;n<t;n++)r.push(o(Object.getOwnPropertyDescriptor(e,n)));return e.length>t&&r.push(`[${e.length-t} more]`),r}let i=Reflect.ownKeys(e),a={};for(let t of i.slice(0,Za)){let r=Object.getOwnPropertyDescriptor(e,t),n="symbol"==typeof t?String(t):t;Object.defineProperty(a,r.enumerable?n:`${n} (non-enumerable)`,{value:o(r),enumerable:!0,writable:!0,configurable:!0})}return i.length>Za&&Object.defineProperty(a,"[more]",{value:i.length-Za,enumerable:!0,writable:!0,configurable:!0}),a}function su(e,t){let r;try{r=lu(t)}catch(e){r="(unprintable)"}uu(e,r)}function cu(e){if("object"!=typeof e||null===e)return;let t=Object.getOwnPropertyDescriptor(e,"id");return void 0!==t&&t.enumerable&&!La(t)?t.value:void 0}const fu=["mustExist","keepUserId"],du=1e3;function pu(e,t){let r=e=>({err:e,mustExist:!1,keepUserId:!1});if(null==t)return{err:null,mustExist:!1,keepUserId:!1};if(!ou(t))return r("invalid opt of procOrm, need an object");for(let e of Reflect.ownKeys(t))if(fu.indexOf(e)<0)return r("invalid opt of procOrm, unsupported key");let n={mustExist:!1,keepUserId:!1};for(let e of fu){let o=Object.getOwnPropertyDescriptor(t,e);if(void 0!==o){if(La(o)||"boolean"!=typeof o.value)return r(`invalid opt of procOrm, ${e} needs a boolean`);n[e]=o.value}}return n.mustExist&&"save"!==e&&"del"!==e?r("invalid opt of procOrm, mustExist supports only save and del"):n.keepUserId&&"insert"!==e?r("invalid opt of procOrm, keepUserId supports only insert"):{err:null,mustExist:n.mustExist,keepUserId:n.keepUserId}}async function hu(e,t){let r=[],n=new Set;for(let e of Ua(t)?t:[t]){let t=cu(e);if(!("string"==typeof t&&""!==t||Wa(t)))return!0;n.has(String(t))||(n.add(String(t)),r.push(t))}for(let t=0;t<r.length;t+=du){let n=r.slice(t,t+du),o=await e.select({id:{$in:n}}),i=new Set(eo(Ua(o)?o:[],(e=>String(jt(e,"id")))));if(n.some((e=>!i.has(String(e)))))return!0}return!1}function gu(e,t){return(Ua(e)?e:[e]).some((e=>null!==e&&"object"==typeof e&&0!==e.ok&&(0===e.n||null!==t&&0===e[t])))}function yu(e){let t=[],r=Array.isArray(e)?null:Object.keys(e),n=null===r?e.length:r.length;for(let o=0;o<n;o++){let n=Object.getOwnPropertyDescriptor(e,null===r?o:r[o]).value;null!==iu(n)&&t.push(n)}return t}function vu(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let o=new Set,i=[e,1],a=0,u=[];for(;i.length>0;){let e,l=i.pop(),s=i.pop();if(o.has(s))continue;if(n){if("object"==typeof s&&null!==s){if(!ru(s)||nu(s))return"irregular";if(t.types.isDate(s)){if(Reflect.ownKeys(s).length>0)return"irregular";continue}}e=iu(s)}else e=Array.isArray(s)?"arr":Ae(s)?"obj":null;if(null===e)continue;let c="arr"===e;if(l>r)return"deep";if(o.add(s),Object.prototype.hasOwnProperty.call(s,"__proto__"))return"proto";let f=c?null:Object.keys(s);if(n&&!c){if(!ou(s))return"irregular";if(Reflect.ownKeys(s).length!==f.length)return"hidden";u.push(s)}let d=c?s.length:f.length;for(let e=0;e<d;e++){let t=Object.getOwnPropertyDescriptor(s,c?e:f[e]);if(void 0===t)return n?"irregular":"sparse";if(La(t))return"accessor";if(n&&c&&!t.enumerable)return"irregular";n&&(a+=c?0:f[e].length,"string"==typeof t.value&&(a+=t.value.length)),"object"==typeof t.value&&null!==t.value&&i.push(t.value,l+1)}if(n&&c&&Reflect.ownKeys(s).length!==d+1)return"irregular"}if(n&&"object"==typeof e&&null!==e){let t=function(e,t,r){let n=new Map,o=new Map,i=[{o:e,kids:yu(e),i:0,d:0,n:Array.isArray(e)?0:1}];for(n.set(e,-1);i.length>0;){let e=i[i.length-1];if(i.length>t)return"deep";if(e.i<e.kids.length){let a=e.kids[e.i++],u=n.get(a);if(void 0===u)n.set(a,-1),i.push({o:a,kids:yu(a),i:0,d:0,n:Array.isArray(a)?0:1});else{if(-1===u)return"deep";if(e.n+=u,e.d=Math.max(e.d,o.get(a)),e.n>r)return"large";if(i.length+o.get(a)>t)return"deep"}}else if(i.pop(),n.set(e.o,e.n),o.set(e.o,e.d+1),i.length>0){let n=i[i.length-1];if(n.n+=e.n,n.d=Math.max(n.d,e.d+1),n.n>r)return"large";if(i.length+o.get(e.o)>t)return"deep"}}return null}(e,r,Ya);if(null!==t)return t;if(a<=qa&&"function"==typeof structuredClone){if(function(e){if("function"!=typeof structuredClone)return!1;let t;try{t=structuredClone(e)}catch(e){return!0}let r=new Set,n=[t];for(;n.length>0;){let e=n.pop();if("object"!=typeof e||null===e||r.has(e))continue;r.add(e);let t=Object.getPrototypeOf(e);if(t!==Date.prototype){if(t!==Object.prototype&&t!==Array.prototype)return!0;for(let t of Object.keys(e))n.push(e[t])}}return!1}(e))return"irregular"}else for(let e=0;e<u.length;e++)if(au(u[e]))return"irregular"}return null}catch(e){return"unreadable"}}function bu(e,r){try{if(void 0!==r&&"object"==typeof r&&null!==r&&t.types.isProxy(r))return`invalid find of ${e}, ${Va.irregular}`;if(void 0!==r&&!ou(r))return`invalid find of ${e}, need an object`;let n=vu(r,Ha,!0);return null!==n?`invalid find of ${e}, ${Va[n]}`:null}catch(t){return`invalid find of ${e}, ${Va.unreadable}`}}function mu(e){return"function"==typeof e?!ru(e):"object"==typeof e&&null!==e&&(!ru(e)||nu(e))}function wu(e,t){let r;try{r=Array.isArray(t)}catch(t){return`${e}, ${Va.irregular}`}if(!r)return null;if(!ru(t))return`${e}, ${Va.irregular}`;let n=function(e){for(let t=0;t<e.length;t++){let r=Object.getOwnPropertyDescriptor(e,t);if(void 0===r)return[t,"sparse"];if(La(r))return[t,"accessor"]}return null}(t);return null!==n?Fa(`${e}, ${Va[n[1]]}`,[{k:n[0]}]):null}function ju(e,t){let r=new Map,n=(e,t)=>{r.has(e)||r.set(e,[]),r.get(e).push({k:t})};if(Ua(t))for(let e=0;e<t.length;e++)try{let r=Object.getOwnPropertyDescriptor(t,e);if(void 0===r)continue;if(La(r)){n("accessor",e);continue}let o=mu(r.value)?"irregular":vu(r.value);null!==o&&n(o,e)}catch(t){n("unreadable",e)}else{let e=mu(t)?"irregular":vu(t);null!==e&&n(e,0)}return eo([...r],(t=>{let[r,n]=t;return Fa(`${e}, ${Va[r]}`,n)}))}function Ou(e){let t=!Ua(e),r=eo(t?[e]:e,(e=>{let t=cu(e);return Wa(t)&&Ae(e)?function(e,t){let r={};for(let n of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,n);o.enumerable&&Object.defineProperty(r,n,"id"===n?{value:t,writable:!0,enumerable:!0,configurable:!0}:o)}return r}(e,Ra(t)):e}));return t?r[0]:r}function $u(e){return"obj"!==iu(e)?e:Ba(e,((e,t)=>{return"id"===t?"obj"!==iu(r=e)?Ra(r):Ba(r,((e,t)=>["$eq","$ne","$gt","$gte","$lt","$lte","$in","$nin"].indexOf(t)>=0?"arr"===iu(e)?eo(e,Ra):Ra(e):e)):["$and","$or"].indexOf(t)>=0&&"arr"===iu(e)?eo(e,$u):e;var r}))}function xu(e){let t=[];return $e(Ua(e)?e:[e],((e,r)=>{mu(e)||Ae(e)||t.push({k:r})})),t}function ku(e){let t=Ra(cu(e));return Xr(t)?t:null}function Su(e){let t=[];return $e(Ua(e)?e:[e],((e,r)=>{let n=cu(e);Xr(n)&&Ta(n)!==n&&t.push({k:r,id:n})})),t}function Au(e,t){return Fa(`${e}, id contains HTML markup`,eo(t,(e=>({k:e.k}))))}function _u(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Pu(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"save",i=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(!Vr(e))throw console.log("ds",e),new Error("invalid ds");let a=e[t].keys,u=!1;Se(n)||(u=!0,n=[n]);let l=function(){if(!xe(co))throw new Error("invalid dayjs");return co().format("YYYY-MM-DDTHH:mm:ss.SSSZ")}();if(o.indexOf("insert")>=0&&(a.indexOf("userId")>=0&&$e(n,((e,t)=>{i&&function(e){if("object"!=typeof e||null===e)return!1;let t=Object.getOwnPropertyDescriptor(e,"userId");return void 0!==t&&t.enumerable&&!La(t)&&"string"==typeof t.value&&""!==t.value}(n[t])||_u(n[t],"userId",r)})),a.indexOf("timeCreate")>=0&&$e(n,((e,t)=>{_u(n[t],"timeCreate",l)})),a.indexOf("userIdUpdate")>=0&&$e(n,((e,t)=>{_u(n[t],"userIdUpdate",r)})),a.indexOf("timeUpdate")>=0&&$e(n,((e,t)=>{_u(n[t],"timeUpdate",l)}))),(o.indexOf("insert")>=0||o.indexOf("save")>=0)&&(a.indexOf("userIdUpdate")>=0&&$e(n,((e,t)=>{_u(n[t],"userIdUpdate",r)})),a.indexOf("timeUpdate")>=0&&$e(n,((e,t)=>{_u(n[t],"timeUpdate",l)}))),n=eo(n,(e=>Ba(e,(e=>Ta(e))))),za(e[t],a)){(u?Vr(n[0]):qr(n))&&$e(n,(e=>{Xr(e.id)||(e.id=yo())}))}return n=u?n[0]:n}async function Eu(e,t,r,n,o,i,a){try{return await async function(e,t,r,n,o,i,a){let u,l=null;if(!Vr(t))return Promise.reject("invalid woItems");let s=Na(t,n);if(null===s)return Promise.reject(`can not find table[${"string"==typeof n?n:""}] in ORM`);let c=function(e,t){let r=Na(e,t),n=jt(r,"keys",null);return!!Se(n)&&za(r,n)}(e,n),f=pu(o,a);if(null!==f.err)return Promise.reject(f.err);if("select"===o){let e=bu("select",i);if(null!==e)return su(`${n}.select invalid find`,i),Promise.reject(e);if(u=await s.select(c?$u(i):i).catch((e=>{console.log(`${n}.select catch`,e),l="failed to select data"})),Xr(l))return Promise.reject(l)}else if("insert"===o||"save"===o){let t=i,a="insert"===o?"failed to insert data":"failed to save data",d=wu(a,i);if(null!==d)return console.log(`${n}.${o} invalid batch container`),Promise.reject(d);let p=xu(i);if(Rr(p)>0)return console.log(`${n}.${o} data is not an object`,p),Promise.reject(Fa(`${a}, not an object`,p));let h=ju(a,i);if(Rr(h)>0)return console.log(`${n}.${o} data has unsupported key`,h),Promise.reject(ro(h,"; "));c&&(i=Ou(i));let g=Su(i);if(Rr(g)>0)return console.log(`${n}.${o} id changed by clearXSS`,g),Promise.reject(Au(a,g));try{i=Pu(e,n,r,i,o,f.keepUserId)}catch(e){return console.log(`${n}.adjustData catch`,e.toString()),l="failed to adjust data",Promise.reject(l)}if("save"===o&&f.mustExist){let e=await hu(s,i).catch((e=>{console.log(`${n}.save exist check catch`,e),l="failed to save data"}));if(Xr(l))return Promise.reject(l);if(e)return console.log(`${n}.save row not found`),Promise.reject("rowNotFound")}if("insert"===o?u=await s.insert(i).catch((e=>{console.log(`${n}.insert catch`,e),l="failed to insert data"})):"save"===o&&(u=await(f.mustExist?s.save(i,{autoInsert:!1}):s.save(i)).catch((e=>{console.log(`${n}.save catch`,e),l="failed to save data"}))),Xr(l))return Promise.reject(l);if("save"===o){let e=Ca(u,i);if(Rr(e)>0)return console.log(`${n}.save fail`,e),Promise.reject(Fa("failed to save data",Ca(u,t)));if(f.mustExist&&gu(u,null))return console.log(`${n}.save row not found after check`),Promise.reject("rowNotFound")}u=Se(i)?eo(i,(e=>({id:e.id}))):{id:i.id}}else if("del"===o){let e=wu("failed to delete data",i);if(null!==e)return console.log(`${n}.del invalid batch container`),Promise.reject(e);if(c&&(i=Ou(i)),f.mustExist){let e=function(e){let t=new Set,r=[],n=Ua(e)?e:[e];for(let e=0;e<n.length;e++){let o=cu(n[e]);if(!("string"==typeof o&&""!==o||Wa(o)))continue;let i=String(o);t.has(i)?r.push({k:e}):t.add(i)}return r}(i);if(Rr(e)>0)return console.log(`${n}.del duplicate id`,e),Promise.reject(Fa("invalid input of del, duplicate id",e));let t=await hu(s,i).catch((e=>{console.log(`${n}.del exist check catch`,e),l="failed to delete data"}));if(Xr(l))return Promise.reject(l);if(t)return console.log(`${n}.del row not found`),Promise.reject("rowNotFound")}if(u=await s.del(i).catch((e=>{console.log(`${n}.del catch`,e),l="failed to delete data"})),!Xr(l)){let e=Ca(u,i);Rr(e)>0&&(console.log(`${n}.del fail`,e),l=Fa("failed to delete data",e))}!Xr(l)&&f.mustExist&&gu(u,"nDeleted")&&(console.log(`${n}.del row not found after check`),l="rowNotFound")}else if("delAll"===o){let e=bu("delAll",i);if(null!==e)return su(`${n}.delAll invalid find`,i),Promise.reject(e);u=await s.delAll(c?$u(i):i).catch((e=>{console.log(`${n}.delAll catch`,e),l="failed to delete data"}))}else if("mix"===o){if("object"!=typeof i||null===i||!ru(i)||!Vr(i))return Promise.reject("invalid input of mix, need the result object of ltdtDiffByKey");let t={};for(let e of["add","del","diff"]){let r=Object.getOwnPropertyDescriptor(i,e);if(void 0!==r&&La(r))return Promise.reject(`invalid input of mix, ${Va.accessor}`);t[e]=void 0===r?void 0:r.value}i=t;for(let e of["add","del","diff"])if(void 0!==i[e]&&!Ua(i[e]))return Promise.reject("invalid input of mix, need the result object of ltdtDiffByKey");let o=[];for(let[e,t]of[["add","failed to insert data"],["del","failed to delete data"],["diff","failed to update data"]]){let r=wu(t,i[e]);null!==r&&o.push(r)}if(Rr(o)>0)return console.log(`${n}.mix invalid batch container`),Promise.reject(ro(o,"; "));let a=[];for(let[e,t]of[["add","failed to insert data"],["diff","failed to update data"]]){let r=xu(jt(i,e,[]));Rr(r)>0&&(console.log(`${n}.mix ${e} data is not an object`,r),a.push(Fa(`${t}, not an object`,r)))}if(Rr(a)>0)return Promise.reject(ro(a,"; "));let f=[];for(let[e,t]of[["add","failed to insert data"],["diff","failed to update data"]])f.push(...ju(t,jt(i,e,[])));if(Rr(f)>0)return console.log(`${n}.mix data has unsupported key`,f),Promise.reject(ro(f,"; "));let d=function(e){let t=[];return $e(e,((e,r)=>{if("object"==typeof e&&null!==e||"function"==typeof e)if(ru(e)){if("function"!=typeof e)for(let n=e;null!==n;n=Object.getPrototypeOf(n)){let o=Object.getOwnPropertyDescriptor(n,"id");if(void 0!==o)return void(n===e&&!La(o)&&o.enumerable||t.push({k:r}))}}else t.push({k:r})})),t}(jt(i,"del",[]));if(Rr(d)>0)return console.log(`${n}.mix del id is not an own data property`,d),Promise.reject(Fa(`failed to delete data, ${Va.irregular}`,d));if(c){i={...i};for(let e of["add","del","diff"])Se(i[e])&&(i[e]=Ou(i[e]))}let p=[];for(let[e,t]of[["add","failed to insert data"],["diff","failed to update data"]]){let r=Su(jt(i,e,[]));Rr(r)>0&&(console.log(`${n}.mix ${e} id changed by clearXSS`,r),p.push(Au(t,r)))}if(Rr(p)>0)return Promise.reject(ro(p,"; "));let h,g=function(e){let t=[];for(let[r,n]of[["add","del"],["del","diff"]]){let o=new Map;$e(jt(e,r,[]),((e,t)=>{let r=ku(e);null!==r&&o.set(r,[...o.get(r)||[],t])}));let i=[],a=[];if($e(jt(e,n,[]),((e,t)=>{let r=ku(e);null!==r&&o.has(r)&&(i=[...i,...o.get(r)],a.push(t))})),Rr(a)>0){let e=[...eo([...new Set(i)].sort(((e,t)=>e-t)),(e=>({ref:`${r}[${e}]`}))),...eo(a,(e=>({ref:`${n}[${e}]`})))];t.push(Fa(`invalid input of mix, same id in ${r} and ${n}`,e))}}return t}(i);if(Rr(g)>0)return console.log(`${n}.mix same id across steps`,g),Promise.reject(ro(g,"; "));u=[];let y=[],v=null;if(Rr(jt(i,"diff",[]))>0)try{v=Pu(e,n,r,jt(i,"diff",[]))}catch(e){return console.log(`${n}.adjustData catch`,e.toString()),l="failed to adjust data",Promise.reject(l)}let b=jt(i,"add",[]);if(Rr(b)>0){try{b=Pu(e,n,r,b,"insert+save")}catch(e){return console.log(`${n}.adjustData catch`,e.toString()),l="failed to adjust data",Promise.reject(l)}if(await s.insert(b).catch((e=>{console.log(`${n}.insert catch`,e),l="failed to insert data"})),Xr(l))return Promise.reject(l);h=eo(b,(e=>({id:e.id}))),u=[...u,...h]}let m=jt(i,"del",[]);if(Rr(m)>0){let e=await s.del(m).catch((e=>{console.log(`${n}.del catch`,e),l="failed to delete data"}));if(Xr(l))return Promise.reject(l);let t=Ca(e,m);Rr(t)>0&&(console.log(`${n}.del fail`,t),y.push(Fa("failed to delete data",t))),h=eo(m,(e=>({id:e.id}))),u=[...u,...h]}let w=jt(i,"diff",[]);if(Rr(w)>0){let e=w;w=v;let t=await s.save(w).catch((e=>{console.log(`${n}.save catch`,e),l="failed to update data"}));if(Xr(l))return Promise.reject(l);let r=Ca(t,w);Rr(r)>0&&(console.log(`${n}.save fail`,r),y.push(Fa("failed to update data",Ca(t,e)))),h=eo(w,(e=>({id:e.id}))),u=[...u,...h]}if(Rr(y)>0)return Promise.reject(ro(y,"; "))}else l=`invalid mode: ${o}`;if(Xr(l))return Promise.reject(l);return u}(e,t,r,n,o,i,a)}catch(e){return"string"==typeof e?Promise.reject(e):(uu(`${"string"==typeof n?n:""}.${"string"==typeof o?o:""} mapOrm catch`,e),Promise.reject("failed to process input"))}}function Iu(e,t){return async(r,n,o,i,a)=>Eu(e,t,r,n,o,i,a)}function Du(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!xe(t)){let o=`${r} needs a function, but got ${typeof t}`;throw n&&e.push((()=>Promise.reject(o))),new Error(o)}setTimeout((()=>{e.push(t)}),1)}function Mu(e){if(Ot(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),!xe(e))throw new Error("invalid mapOrm");let t={funChecks:[],funPreProcessing:[],funPostProcessing:[],mapOrm:e};return{addFunCheck:e=>{Du(t.funChecks,e,"addFunCheck",!0)},addFunPreProcessing:e=>{Du(t.funPreProcessing,e,"addFunPreProcessing")},addFunPostProcessing:e=>{Du(t.funPostProcessing,e,"addFunPostProcessing")},procOrm:async(e,r,n,o,i)=>async function(e,t,r,n,o,i){let a=pu(n,i);if(null!==a.err)return Promise.reject(a.err);await _e(e.funChecks,(e=>e({woName:r,userId:t,mode:n,input:o})));for(let i of[...e.funPreProcessing]){let e=await i({woName:r,userId:t,mode:n,input:o});if(!Vr(e)||void 0===e.input)return Promise.reject("invalid return of pre-processing, need an object with input");o=e.input}let u=await e.mapOrm(t,r,n,o,i);for(let i of[...e.funPostProcessing])u=await i({woName:r,userId:t,mode:n,input:o,output:u});return u}(t,e,r,n,o,i)}}return function(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};Ot(o);let i=function(e,t,r,n){if(!Vr(e))throw console.log("ds",e),new Error("invalid ds");if(!xe(t))throw console.log("WOrm",t),new Error("invalid WOrm");if(!Xr(r))throw console.log("url",r),new Error("invalid url");if(!Xr(n))throw console.log("db",n),new Error("invalid db");let o={};return $e(me(e),(e=>{let i=new t({url:r,db:n,cl:e});Object.defineProperty(o,e,{value:i,enumerable:!0,writable:!0,configurable:!0})})),o}(e,t,r,n),a=Mu(Iu(e,i),o),u=new function(){let e=new Map,t=new Map;return async(r,n)=>{let o=(e.get(r)||Promise.resolve()).then((async()=>await n()),(async()=>await n()));e.set(r,o.catch((()=>{}))),t.set(r,(t.get(r)||0)+1);try{return await o}finally{let n=t.get(r)-1;n<=0?(t.delete(r),e.delete(r)):t.set(r,n)}}},l=async(e,t)=>{let r=function(e,t,r){if(!Array.isArray(t)||0===t.length)throw new Error("invalid tableNames of withTabLocks, need a non-empty array of table names");for(let r of t)if("string"!=typeof r||!Object.prototype.hasOwnProperty.call(e,r))throw new Error("invalid tableNames of withTabLocks, need own table names of this instance");if(!xe(r))throw new Error("invalid fn of withTabLocks, need a function");return[...new Set(t)].sort()}(i,e,t),n=t;for(let e=r.length-1;e>=0;e--){let t=n,o=r[e];n=()=>u(o,t)}return n()};return{...Gr,woItems:i,closeAll:async()=>{await _e(i,(async e=>{e&&xe(e.close)&&await e.close()}))},withTabLocks:l,guardWrite:async e=>{if(null===e||"object"!=typeof e)throw new Error("invalid input of guardWrite, need an object");let{tables:t,read:r,baseline:n,contract:o,write:i}=e;if(!xe(r))throw new Error("invalid read of guardWrite, need a function");if(!xe(i))throw new Error("invalid write of guardWrite, need a function");let a=void 0!==n;if((a||void 0!==o)&&(Ct(o),"string"==typeof o.table&&!(Array.isArray(t)&&t.indexOf(o.table)>=0)))throw new Error("invalid tables of guardWrite, need to contain contract.table");return l(t,(async()=>{let e=await r();if(!Array.isArray(e))throw new Error("invalid rows of guardWrite, read needs to resolve an array");if(a){let t=Rt(e,n,o);if(!t.ok)throw function(e){let t=new Error(e.reason);return t.key=e.reason,t.added=e.added,t.removed=e.removed,t.changed=e.changed,t.reordered=e.reordered,t}(t)}return await i(e)}))},...a}}}));
6
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("fs"),require("util")):"function"==typeof define&&define.amd?define(["fs","util"],t):(e="undefined"!=typeof globalThis?globalThis:e||self)["w-serv-orm"]=t(e.fs,e.util$2)}(this,(function(e,t){"use strict";function r(e,t,r){var n=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(r=r>o?o:r)<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(o);++n<o;)i[n]=e[n+t];return i}var n=/\s/;var o=/^\s+/;function i(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}(e)+1).replace(o,""):e}function a(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var u="object"==typeof global&&global&&global.Object===Object&&global,l="object"==typeof self&&self&&self.Object===Object&&self,s=u||l||Function("return this")(),c=s.Symbol,f=Object.prototype,d=f.hasOwnProperty,p=f.toString,h=c?c.toStringTag:void 0;var g=Object.prototype.toString;var y="[object Null]",v="[object Undefined]",b=c?c.toStringTag:void 0;function m(e){return null==e?void 0===e?v:y:b&&b in Object(e)?function(e){var t=d.call(e,h),r=e[h];try{e[h]=void 0;var n=!0}catch(e){}var o=p.call(e);return n&&(t?e[h]=r:delete e[h]),o}(e):function(e){return g.call(e)}(e)}function w(e){return null!=e&&"object"==typeof e}var j="[object Symbol]";function O(e){return"symbol"==typeof e||w(e)&&m(e)==j}var $=NaN,x=/^[-+]0x[0-9a-f]+$/i,k=/^0b[01]+$/i,A=/^0o[0-7]+$/i,S=parseInt;var _=1/0,P=17976931348623157e292;function E(e){return e?(e=function(e){if("number"==typeof e)return e;if(O(e))return $;if(a(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=a(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=i(e);var r=k.test(e);return r||A.test(e)?S(e.slice(2),r?2:8):x.test(e)?$:+e}(e))===_||e===-_?(e<0?-1:1)*P:e==e?e:0:0===e?e:0}function I(e){var t=E(e),r=t%1;return t==t?r?t-r:t:0}function D(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}var M,T=function(e,t,r){for(var n=-1,o=Object(e),i=r(e),a=i.length;a--;){var u=i[M?a:++n];if(!1===t(o[u],u,o))break}return e};function C(e){return w(e)&&"[object Arguments]"==m(e)}var F=Object.prototype,N=F.hasOwnProperty,z=F.propertyIsEnumerable,U=C(function(){return arguments}())?C:function(e){return w(e)&&N.call(e,"callee")&&!z.call(e,"callee")},L=U,W=Array.isArray;var R="object"==typeof exports&&exports&&!exports.nodeType&&exports,B=R&&"object"==typeof module&&module&&!module.nodeType&&module,V=B&&B.exports===R?s.Buffer:void 0,H=(V?V.isBuffer:void 0)||function(){return!1},K=9007199254740991,Y=/^(?:0|[1-9]\d*)$/;function q(e,t){var r=typeof e;return!!(t=null==t?K:t)&&("number"==r||"symbol"!=r&&Y.test(e))&&e>-1&&e%1==0&&e<t}var X=9007199254740991;function J(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=X}var Z={};function G(e){return function(t){return e(t)}}Z["[object Float32Array]"]=Z["[object Float64Array]"]=Z["[object Int8Array]"]=Z["[object Int16Array]"]=Z["[object Int32Array]"]=Z["[object Uint8Array]"]=Z["[object Uint8ClampedArray]"]=Z["[object Uint16Array]"]=Z["[object Uint32Array]"]=!0,Z["[object Arguments]"]=Z["[object Array]"]=Z["[object ArrayBuffer]"]=Z["[object Boolean]"]=Z["[object DataView]"]=Z["[object Date]"]=Z["[object Error]"]=Z["[object Function]"]=Z["[object Map]"]=Z["[object Number]"]=Z["[object Object]"]=Z["[object RegExp]"]=Z["[object Set]"]=Z["[object String]"]=Z["[object WeakMap]"]=!1;var Q="object"==typeof exports&&exports&&!exports.nodeType&&exports,ee=Q&&"object"==typeof module&&module&&!module.nodeType&&module,te=ee&&ee.exports===Q&&u.process,re=function(){try{var e=ee&&ee.require&&ee.require("util").types;return e||te&&te.binding&&te.binding("util")}catch(e){}}(),ne=re&&re.isTypedArray,oe=ne?G(ne):function(e){return w(e)&&J(e.length)&&!!Z[m(e)]},ie=Object.prototype.hasOwnProperty;function ae(e,t){var r=W(e),n=!r&&L(e),o=!r&&!n&&H(e),i=!r&&!n&&!o&&oe(e),a=r||n||o||i,u=a?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],l=u.length;for(var s in e)!t&&!ie.call(e,s)||a&&("length"==s||o&&("offset"==s||"parent"==s)||i&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||q(s,l))||u.push(s);return u}var ue=Object.prototype;function le(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||ue)}function se(e,t){return function(r){return e(t(r))}}var ce=se(Object.keys,Object),fe=Object.prototype.hasOwnProperty;function de(e){if(!le(e))return ce(e);var t=[];for(var r in Object(e))fe.call(e,r)&&"constructor"!=r&&t.push(r);return t}var pe="[object AsyncFunction]",he="[object Function]",ge="[object GeneratorFunction]",ye="[object Proxy]";function ve(e){if(!a(e))return!1;var t=m(e);return t==he||t==ge||t==pe||t==ye}function be(e){return null!=e&&J(e.length)&&!ve(e)}function me(e){return be(e)?ae(e):de(e)}var we=function(e,t){return function(r,n){if(null==r)return r;if(!be(r))return e(r,n);for(var o=r.length,i=t?o:-1,a=Object(r);(t?i--:++i<o)&&!1!==n(a[i],i,a););return r}}((function(e,t){return e&&T(e,t,me)})),je=we;function Oe(e){return e}function $e(e,t){var r;return(W(e)?D:je)(e,"function"==typeof(r=t)?r:Oe)}function xe(e){return ve(e)}function ke(e){try{e instanceof Promise&&Promise.prototype.then.call(e,void 0,(()=>{}))}catch(e){}}function Ae(e){return"[object Array]"===Object.prototype.toString.call(e)}function Se(e){return"[object Object]"===Object.prototype.toString.call(e)}function _e(e,t){let n=function(){let e,t,r=new Promise((function(){e=arguments[0],t=arguments[1]}));return r.resolve=e,r.reject=t,r}(),o=!1;try{let t=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[],n=!1;try{if(Array.isArray(e)){let t=e.length;r.length=t;for(let n=0;n<t;n++)n in e&&(r[n]=e[n])}else{if(t||!Se(e)&&!Ae(e))return null;{n=!0;let t=Object.keys(e);for(let n=0;n<t.length;n++)r.push({k:t[n],v:e[t[n]]})}}}catch(e){throw r.forEach((e=>{ke(n?e.v:e)})),e}return{items:r,useObj:n}}(e);if(null===t)return n.reject("rs is not an array or object"),n;e=t.items,o=t.useObj}catch(e){return n.reject(e),n}xe(t)||($e(e,(e=>{ke(o?e.v:e)})),t=function(e){return e});let i=xe(t),a=-1,u=[];return e.reduce((function(e,r){return e.then((function(e){u.push(e),a+=1;let n=a,l=r;return o&&(n=r.k,l=r.v),i?t(l,n):l}))}),Promise.resolve()).then((function(e){var t,o,i,a;u.push(e),a=null==(t=u)?0:t.length,u=a?r(t,(o=i||void 0===o?1:I(o))<0?0:o,a):[],n.resolve(u)})).catch((function(e){n.reject(e)})),n}var Pe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ee=/^\w*$/;function Ie(e,t){if(W(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!O(e))||(Ee.test(e)||!Pe.test(e)||null!=t&&e in Object(t))}var De,Me=s["__core-js_shared__"],Te=(De=/[^.]+$/.exec(Me&&Me.keys&&Me.keys.IE_PROTO||""))?"Symbol(src)_1."+De:"";var Ce=Function.prototype.toString;function Fe(e){if(null!=e){try{return Ce.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Ne=/^\[object .+?Constructor\]$/,ze=Function.prototype,Ue=Object.prototype,Le=ze.toString,We=Ue.hasOwnProperty,Re=RegExp("^"+Le.call(We).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Be(e){return!(!a(e)||(t=e,Te&&Te in t))&&(ve(e)?Re:Ne).test(Fe(e));var t}function Ve(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return Be(r)?r:void 0}var He=Ve(Object,"create");var Ke=Object.prototype.hasOwnProperty;var Ye=Object.prototype.hasOwnProperty;function qe(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Xe(e,t){return e===t||e!=e&&t!=t}function Je(e,t){for(var r=e.length;r--;)if(Xe(e[r][0],t))return r;return-1}qe.prototype.clear=function(){this.__data__=He?He(null):{},this.size=0},qe.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},qe.prototype.get=function(e){var t=this.__data__;if(He){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Ke.call(t,e)?t[e]:void 0},qe.prototype.has=function(e){var t=this.__data__;return He?void 0!==t[e]:Ye.call(t,e)},qe.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=He&&void 0===t?"__lodash_hash_undefined__":t,this};var Ze=Array.prototype.splice;function Ge(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Ge.prototype.clear=function(){this.__data__=[],this.size=0},Ge.prototype.delete=function(e){var t=this.__data__,r=Je(t,e);return!(r<0)&&(r==t.length-1?t.pop():Ze.call(t,r,1),--this.size,!0)},Ge.prototype.get=function(e){var t=this.__data__,r=Je(t,e);return r<0?void 0:t[r][1]},Ge.prototype.has=function(e){return Je(this.__data__,e)>-1},Ge.prototype.set=function(e,t){var r=this.__data__,n=Je(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var Qe=Ve(s,"Map");function et(e,t){var r,n,o=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof t?"string":"hash"]:o.map}function tt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}tt.prototype.clear=function(){this.size=0,this.__data__={hash:new qe,map:new(Qe||Ge),string:new qe}},tt.prototype.delete=function(e){var t=et(this,e).delete(e);return this.size-=t?1:0,t},tt.prototype.get=function(e){return et(this,e).get(e)},tt.prototype.has=function(e){return et(this,e).has(e)},tt.prototype.set=function(e,t){var r=et(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};var rt="Expected a function";function nt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(rt);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=e.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(nt.Cache||tt),r}nt.Cache=tt;var ot,it,at,ut=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,lt=/\\(\\)?/g,st=(ot=function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ut,(function(e,r,n,o){t.push(n?o.replace(lt,"$1"):r||e)})),t},it=nt(ot,(function(e){return 500===at.size&&at.clear(),e})),at=it.cache,it),ct=st;function ft(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}var dt=1/0,pt=c?c.prototype:void 0,ht=pt?pt.toString:void 0;function gt(e){if("string"==typeof e)return e;if(W(e))return ft(e,gt)+"";if(O(e))return ht?ht.call(e):"";var t=e+"";return"0"==t&&1/e==-dt?"-0":t}function yt(e){return null==e?"":gt(e)}function vt(e,t){return W(e)?e:Ie(e,t)?[e]:ct(yt(e))}var bt=1/0;function mt(e){if("string"==typeof e||O(e))return e;var t=e+"";return"0"==t&&1/e==-bt?"-0":t}function wt(e,t){for(var r=0,n=(t=vt(t,e)).length;null!=e&&r<n;)e=e[mt(t[r++])];return r&&r==n?e:void 0}function jt(e,t,r){var n=null==e?void 0:wt(e,t);return void 0===n?r:n}function Ot(e){let t="procOrm does not authorize users, authorize where procOrm is exposed to clients",r=[["useCheckUser",t],["getUserById",t],["useExcludeWhenNotAdmin","procOrm does not filter select results by user, use addFunPostProcessing if needed"]];for(let[t,n]of r){let r=jt(e,t);if(null!=r&&!1!==r)throw new Error(`opt.${t} has been removed, ${n}`)}}const $t="h1",xt=Object.freeze({mismatch:"baselineMismatch",rowNotFound:"rowNotFound",format:"baselineFormat"}),kt=14,At=100,St=1e5,_t=["table","pk","fields","serverOnly","orderKey","scope"];function Pt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Et(e){return Object.prototype.toString.call(e)}function It(e){if(null===e||"object"!=typeof e||"[object Object]"!==Et(e))return!1;let t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}function Dt(e){return"string"==typeof e&&""!==e}function Mt(e,t){let r=new Error(t);return r.key=e,r}function Tt(e,t,r){if(!Array.isArray(e)||!r&&0===e.length)throw new Error(`invalid contract: ${t} needs ${r?"an array":"a non-empty array"}`);let n=new Set;for(let r=0;r<e.length;r++){if(!Dt(e[r]))throw new Error(`invalid contract: ${t}[${r}] needs a non-empty string`);if(n.has(e[r]))throw new Error(`invalid contract: ${t} has a duplicate name at [${r}]`);n.add(e[r])}}function Ct(e){if(!It(e))throw new Error("invalid contract: need an object");for(let t of Reflect.ownKeys(e))if(_t.indexOf(t)<0)throw new Error("invalid contract: unsupported key");if(!Dt(e.pk))throw new Error("invalid contract: pk needs a non-empty string");if(Tt(e.fields,"fields",!1),void 0!==e.serverOnly&&null!==e.serverOnly){Tt(e.serverOnly,"serverOnly",!0);for(let t of e.serverOnly)if(e.fields.indexOf(t)>=0)throw new Error("invalid contract: serverOnly and fields must not overlap")}if(void 0!==e.orderKey&&null!==e.orderKey){if(!Dt(e.orderKey))throw new Error("invalid contract: orderKey needs a non-empty string");if(e.fields.indexOf(e.orderKey)>=0)throw new Error("invalid contract: fields must not contain orderKey");if(e.orderKey===e.pk)throw new Error("invalid contract: orderKey must not be pk")}if(void 0!==e.scope&&null!==e.scope&&"function"!=typeof e.scope)throw new Error("invalid contract: scope needs a function");if(void 0!==e.table&&null!==e.table&&!Dt(e.table))throw new Error("invalid contract: table needs a non-empty string");return!0}function Ft(e,t,r,n){if(t.n+=1,t.n>St)throw new Error(`unsupported value of ${n}: too many nodes`);if(r>At)throw new Error(`unsupported value of ${n}: too deep or circular`);let o=typeof e;if(null==e)return"null";if("string"===o)return JSON.stringify(e);if("boolean"===o)return e?"true":"false";if("number"===o){if(!isFinite(e))throw new Error(`unsupported value of ${n}: non-finite number`);return JSON.stringify(e)}if("bigint"===o)return JSON.stringify(e.toString());if("object"===o){if(Array.isArray(e)){let o=Object.keys(e);for(let t=0;t<o.length;t++){let r=Number(o[t]);if(!(String(r)===o[t]&&r>=0&&r<e.length&&Math.floor(r)===r))throw new Error(`unsupported value of ${n}: array with extra properties`)}let i=[];for(let o=0;o<e.length;o++)i.push(Ft(e[o],t,r+1,n));return"["+i.join(",")+"]"}let o=Et(e);if("[object Date]"===o){let t;try{t=Date.prototype.toISOString.call(e)}catch(e){throw new Error(`unsupported value of ${n}: invalid Date`)}return JSON.stringify(t)}if(It(e)){let o=Object.keys(e).sort(),i=[];for(let a=0;a<o.length;a++){let u=e[o[a]];void 0!==u&&i.push(JSON.stringify(o[a])+":"+Ft(u,t,r+1,n))}return"{"+i.join(",")+"}"}throw new Error(`unsupported value of ${n}: ${o}`)}throw new Error(`unsupported value of ${n}: ${o}`)}function Nt(e,t,r){return null==e||""===e?"null":Ft(e,t,0,r)}function zt(e){return null!==e&&"object"==typeof e&&"[object Object]"===Et(e)}function Ut(e,t){if(!zt(e))throw new Error("invalid row: need an object");let r=[],n={n:0};for(let o=0;o<t.length;o++){let i=t[o];r.push(Nt(Pt(e,i)?e[i]:void 0,n,`field[${i}]`))}let o=function(e,t){let r="number"==typeof t?t:0,n=3735928559^r,o=1103547991^r;for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);n=Math.imul(n^r,2654435761),o=Math.imul(o^r,1597334677)}return n=Math.imul(n^n>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),o=Math.imul(o^o>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),4294967296*(2097151&o)+(n>>>0)}("["+r.join(",")+"]").toString(16);for(;o.length<kt;)o="0"+o;return $t+":"+o}function Lt(e,t){let r=Pt(e,t)?e[t]:void 0;return"string"==typeof r?""===r?null:r:"number"==typeof r&&isFinite(r)?String(r):"bigint"==typeof r?r.toString():null}function Wt(e,t){let r=Pt(e,t)?e[t]:void 0;if("number"==typeof r)return isFinite(r)?r:1/0;if("bigint"==typeof r)return r;if("string"==typeof r){let e=r.trim();if(""===e)return 1/0;if("function"==typeof BigInt&&/^[+-]?\d+$/.test(e))return BigInt(e);let t=Number(e);return isFinite(t)?t:1/0}return 1/0}function Rt(e,t,r){if(Ct(r),!function(e){if(!Array.isArray(e))return!1;let t=new RegExp("^"+$t+":[0-9a-f]{"+kt+"}$"),r=new Set;for(let n=0;n<e.length;n++){let o=e[n];if(!Array.isArray(o)||2!==o.length||!Dt(o[0])||"string"!=typeof o[1]||!t.test(o[1]))return!1;if(r.has(o[0]))return!1;r.add(o[0])}return!0}(t))return{ok:!1,reason:xt.format,added:[],removed:[],changed:[],reordered:!1};let n;try{n=function(e,t){if(Ct(t),!Array.isArray(e))throw new Error("invalid rows: need an array");let r=t.fields,n="function"==typeof t.scope,o=Dt(t.orderKey),i=[],a=new Set;for(let u=0;u<e.length;u++){let l=e[u];if(!zt(l))throw new Error(`invalid row: rows[${u}] needs an object`);if(n&&!t.scope(l))continue;let s=Lt(l,t.pk);if(null===s)throw Mt(xt.format,`invalid row: rows[${u}] has no valid primary key`);if(a.has(s))throw Mt(xt.format,`invalid row: rows[${u}] has a duplicate primary key`);a.add(s),i.push({id:s,o:o?Wt(l,t.orderKey):0,d:Ut(l,r)})}return i.sort(((e,t)=>e.o<t.o?-1:e.o>t.o?1:e.id!==t.id?e.id<t.id?-1:1:0)),i.map((e=>[e.id,e.d]))}(e,r)}catch(e){if(null!==e&&"object"==typeof e&&e.key===xt.format){let t=new Error(`invalid rowsNow: ${e.message}`);throw t.key="rowsInvalid",t}throw e}let o=new Map(t),i=new Map(n),a=[],u=[],l=[];for(let[e]of t)i.has(e)||u.push(e);for(let[e,t]of n)o.has(e)?o.get(e)!==t&&l.push(e):a.push(e);let s=t.map((e=>e[0])).filter((e=>i.has(e))),c=n.map((e=>e[0])).filter((e=>o.has(e))),f=!1;for(let e=0;e<s.length;e++)if(s[e]!==c[e]){f=!0;break}if(0===a.length&&0===u.length&&0===l.length&&!f)return{ok:!0};let d=xt.mismatch;return 1===t.length&&1===u.length&&0===a.length&&(d=xt.rowNotFound),{ok:!1,reason:d,added:a,removed:u,changed:l,reordered:f}}function Bt(e,t,n){var o=e.length;return n=void 0===n?o:n,!t&&n>=o?e:r(e,t,n)}function Vt(e){return e!=e}function Ht(e,t,r){return t==t?function(e,t,r){for(var n=r-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1}(e,t,r):function(e,t,r,n){for(var o=e.length,i=r+(n?1:-1);n?i--:++i<o;)if(t(e[i],i,e))return i;return-1}(e,Vt,r)}var Kt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Yt(e){return Kt.test(e)}var qt="\\ud800-\\udfff",Xt="["+qt+"]",Jt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Zt="\\ud83c[\\udffb-\\udfff]",Gt="[^"+qt+"]",Qt="(?:\\ud83c[\\udde6-\\uddff]){2}",er="[\\ud800-\\udbff][\\udc00-\\udfff]",tr="(?:"+Jt+"|"+Zt+")"+"?",rr="[\\ufe0e\\ufe0f]?",nr=rr+tr+("(?:\\u200d(?:"+[Gt,Qt,er].join("|")+")"+rr+tr+")*"),or="(?:"+[Gt+Jt+"?",Jt,Qt,er,Xt].join("|")+")",ir=RegExp(Zt+"(?="+Zt+")|"+or+nr,"g");function ar(e){return Yt(e)?function(e){return e.match(ir)||[]}(e):function(e){return e.split("")}(e)}function ur(e,t,r){if((e=yt(e))&&(r||void 0===t))return i(e);if(!e||!(t=gt(t)))return e;var n=ar(e),o=ar(t),a=function(e,t){for(var r=-1,n=e.length;++r<n&&Ht(t,e[r],0)>-1;);return r}(n,o),u=function(e,t){for(var r=e.length;r--&&Ht(t,e[r],0)>-1;);return r}(n,o)+1;return Bt(n,a,u).join("")}var lr=Ve(s,"DataView"),sr=Ve(s,"Promise"),cr=Ve(s,"Set"),fr=Ve(s,"WeakMap"),dr="[object Map]",pr="[object Promise]",hr="[object Set]",gr="[object WeakMap]",yr="[object DataView]",vr=Fe(lr),br=Fe(Qe),mr=Fe(sr),wr=Fe(cr),jr=Fe(fr),Or=m;(lr&&Or(new lr(new ArrayBuffer(1)))!=yr||Qe&&Or(new Qe)!=dr||sr&&Or(sr.resolve())!=pr||cr&&Or(new cr)!=hr||fr&&Or(new fr)!=gr)&&(Or=function(e){var t=m(e),r="[object Object]"==t?e.constructor:void 0,n=r?Fe(r):"";if(n)switch(n){case vr:return yr;case br:return dr;case mr:return pr;case wr:return hr;case jr:return gr}return t});var $r=Or,xr="[object String]";function kr(e){return function(t){return null==t?void 0:t[e]}}var Ar=kr("length"),Sr="\\ud800-\\udfff",_r="["+Sr+"]",Pr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Er="\\ud83c[\\udffb-\\udfff]",Ir="[^"+Sr+"]",Dr="(?:\\ud83c[\\udde6-\\uddff]){2}",Mr="[\\ud800-\\udbff][\\udc00-\\udfff]",Tr="(?:"+Pr+"|"+Er+")"+"?",Cr="[\\ufe0e\\ufe0f]?",Fr=Cr+Tr+("(?:\\u200d(?:"+[Ir,Dr,Mr].join("|")+")"+Cr+Tr+")*"),Nr="(?:"+[Ir+Pr+"?",Pr,Dr,Mr,_r].join("|")+")",zr=RegExp(Er+"(?="+Er+")|"+Nr+Fr,"g");function Ur(e){return Yt(e)?function(e){for(var t=zr.lastIndex=0;zr.test(e);)++t;return t}(e):Ar(e)}var Lr="[object Map]",Wr="[object Set]";function Rr(e){if(null==e)return 0;if(be(e))return"string"==typeof(t=e)||!W(t)&&w(t)&&m(t)==xr?Ur(e):e.length;var t,r=$r(e);return r==Lr||r==Wr?e.size:de(e).length}var Br=Array.prototype.join;function Vr(e,t){return null==e?"":Br.call(e,t)}function Hr(e,t,n){return e&&e.length?r(e,0,(t=n||void 0===t?1:I(t))<0?0:t):[]}function Kr(e){let t=jt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs");return!!function(e){let t=jt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs"),r=!1;try{t.statSync(e),r=!0}catch{r=!1}return r}(e,{fs:t})&&(!t.lstatSync(e).isDirectory()&&!t.lstatSync(e).isSymbolicLink())}function Yr(e){if(Se(e)){for(let t in e)return!0;return!1}return!1}function qr(e){return"[object String]"===Object.prototype.toString.call(e)}function Xr(e){if(e!=e)return!0;if(null!==e&&"object"==typeof e)try{let t=Number.prototype.valueOf.call(e);return Number.isNaN(t)}catch(e){return!1}return!1}function Jr(e){return!!function(e){return"[object Undefined]"===Object.prototype.toString.call(e)}(e)||(!!function(e){return"[object Null]"===Object.prototype.toString.call(e)}(e)||(!!function(e){if(Se(e)){for(let t in e)return!1;return!0}return!1}(e)||(!!function(e){return!(!qr(e)||0!==e.length)}(e)||(!!function(e){return!!Ae(e)&&0===e.length}(e)||!!Xr(e)))))}function Zr(e){return!!Ae(e)&&(0!==e.length&&(1!==e.length||!Jr(e[0])))}function Gr(e){return!!(qr(e)&&e.length>0)}var Qr="[object Boolean]";function en(e){return!0===(t=e)||!1===t||w(t)&&m(t)==Qr;var t}function tn(e,t){if(!Ae(e))return[];Ae(t)||(t=[t]);let r=[];return $e(e,((e,n)=>{0===jt(e,"ok")&&r.push({k:n,id:jt(t,[n,"id"]),err:jt(e,"err","")})})),r}function rn(e){return Array.isArray(e)?Rr(tn(e,[]))>0:null!==e&&"object"==typeof e&&0===e.ok}let nn={backup:async function(e){if(!Yr(e))throw console.log("woItems",e),new Error("invalid woItems");return await _e(e,(async(e,t)=>(console.log("backup...",t),{name:t,data:await e.select()})))},recover:async function(t,r,n){let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!Kr(t,{fs:e}))throw console.log("fp",t),new Error("fp is not exist");if(!Yr(r))throw console.log("woItems",r),new Error("invalid woItems");xe(n)||(n=null),en(o)||(o=!1);let i=e.readFileSync(t,"utf8");i=ur(i);let a=function(e){let t=jt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"returnWithStateAndMsg",null);en(t)||(t=!1);let r=e=>t?{state:"error",msg:e}:{};if(!Gr(e))return r("invalid v");let n={};try{n=JSON.parse(e)}catch(e){return r(e.toString())}return t?{state:"success",msg:n}:n}(i);if(!Zr(a))throw new Error("invalid backup data, need a non-empty array");$e(a,((e,t)=>{let n=jt(e,"name");if(!Gr(n))throw new Error(`invalid backup data, rs[${t}].name is not a string`);if(!Object.prototype.hasOwnProperty.call(r,n))throw new Error(`invalid backup data, table[${n}] is not in woItems`)})),xe(n)&&n();let u=[];await _e(a,(async e=>{console.log("recover...",e.name),o&&(console.log("needCreateStorage"),await r[e.name].createStorage());let t=null;if(Rr(e.data)>0){if(t=await r[e.name].insert(e.data),rn(t))throw console.log(`${e.name}.insert fail`,t),new Error(function(e,t,r,n){let o=null;if(Array.isArray(t)){let e=tn(t,r);o=JSON.stringify(Hr(e,10)),Rr(e)>10&&(o+=`, ... (${Rr(e)} in total)`)}else o=JSON.stringify(t);let i=`failed to recover data into table[${e}]: ${o}`;return Rr(n)>0&&(i+=`; tables already written: ${Vr(n,", ")}`),i}(e.name,t,e.data,u));u.push(e.name)}return t}))}};function on(e){var t=this.__data__=new Ge(e);this.size=t.size}on.prototype.clear=function(){this.__data__=new Ge,this.size=0},on.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},on.prototype.get=function(e){return this.__data__.get(e)},on.prototype.has=function(e){return this.__data__.has(e)},on.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Ge){var n=r.__data__;if(!Qe||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new tt(n)}return r.set(e,t),this.size=r.size,this};function an(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new tt;++t<r;)this.add(e[t])}function un(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function ln(e,t){return e.has(t)}an.prototype.add=an.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},an.prototype.has=function(e){return this.__data__.has(e)};var sn=1,cn=2;function fn(e,t,r,n,o,i){var a=r&sn,u=e.length,l=t.length;if(u!=l&&!(a&&l>u))return!1;var s=i.get(e),c=i.get(t);if(s&&c)return s==t&&c==e;var f=-1,d=!0,p=r&cn?new an:void 0;for(i.set(e,t),i.set(t,e);++f<u;){var h=e[f],g=t[f];if(n)var y=a?n(g,h,f,t,e,i):n(h,g,f,e,t,i);if(void 0!==y){if(y)continue;d=!1;break}if(p){if(!un(t,(function(e,t){if(!ln(p,t)&&(h===e||o(h,e,r,n,i)))return p.push(t)}))){d=!1;break}}else if(h!==g&&!o(h,g,r,n,i)){d=!1;break}}return i.delete(e),i.delete(t),d}var dn=s.Uint8Array;function pn(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function hn(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var gn=1,yn=2,vn="[object Boolean]",bn="[object Date]",mn="[object Error]",wn="[object Map]",jn="[object Number]",On="[object RegExp]",$n="[object Set]",xn="[object String]",kn="[object Symbol]",An="[object ArrayBuffer]",Sn="[object DataView]",_n=c?c.prototype:void 0,Pn=_n?_n.valueOf:void 0;function En(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}function In(e,t,r){var n=t(e);return W(e)?n:En(n,r(e))}function Dn(){return[]}var Mn=Object.prototype.propertyIsEnumerable,Tn=Object.getOwnPropertySymbols,Cn=Tn?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,i=[];++r<n;){var a=e[r];t(a,r,e)&&(i[o++]=a)}return i}(Tn(e),(function(t){return Mn.call(e,t)})))}:Dn,Fn=Cn;function Nn(e){return In(e,me,Fn)}var zn=1,Un=Object.prototype.hasOwnProperty;var Ln=1,Wn="[object Arguments]",Rn="[object Array]",Bn="[object Object]",Vn=Object.prototype.hasOwnProperty;function Hn(e,t,r,n,o,i){var a=W(e),u=W(t),l=a?Rn:$r(e),s=u?Rn:$r(t),c=(l=l==Wn?Bn:l)==Bn,f=(s=s==Wn?Bn:s)==Bn,d=l==s;if(d&&H(e)){if(!H(t))return!1;a=!0,c=!1}if(d&&!c)return i||(i=new on),a||oe(e)?fn(e,t,r,n,o,i):function(e,t,r,n,o,i,a){switch(r){case Sn:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case An:return!(e.byteLength!=t.byteLength||!i(new dn(e),new dn(t)));case vn:case bn:case jn:return Xe(+e,+t);case mn:return e.name==t.name&&e.message==t.message;case On:case xn:return e==t+"";case wn:var u=pn;case $n:var l=n&gn;if(u||(u=hn),e.size!=t.size&&!l)return!1;var s=a.get(e);if(s)return s==t;n|=yn,a.set(e,t);var c=fn(u(e),u(t),n,o,i,a);return a.delete(e),c;case kn:if(Pn)return Pn.call(e)==Pn.call(t)}return!1}(e,t,l,r,n,o,i);if(!(r&Ln)){var p=c&&Vn.call(e,"__wrapped__"),h=f&&Vn.call(t,"__wrapped__");if(p||h){var g=p?e.value():e,y=h?t.value():t;return i||(i=new on),o(g,y,r,n,i)}}return!!d&&(i||(i=new on),function(e,t,r,n,o,i){var a=r&zn,u=Nn(e),l=u.length;if(l!=Nn(t).length&&!a)return!1;for(var s=l;s--;){var c=u[s];if(!(a?c in t:Un.call(t,c)))return!1}var f=i.get(e),d=i.get(t);if(f&&d)return f==t&&d==e;var p=!0;i.set(e,t),i.set(t,e);for(var h=a;++s<l;){var g=e[c=u[s]],y=t[c];if(n)var v=a?n(y,g,c,t,e,i):n(g,y,c,e,t,i);if(!(void 0===v?g===y||o(g,y,r,n,i):v)){p=!1;break}h||(h="constructor"==c)}if(p&&!h){var b=e.constructor,m=t.constructor;b==m||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof m&&m instanceof m||(p=!1)}return i.delete(e),i.delete(t),p}(e,t,r,n,o,i))}function Kn(e,t,r,n,o){return e===t||(null==e||null==t||!w(e)&&!w(t)?e!=e&&t!=t:Hn(e,t,r,n,Kn,o))}var Yn=1,qn=2;function Xn(e){return e==e&&!a(e)}function Jn(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}function Zn(e){var t=function(e){for(var t=me(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,Xn(o)]}return t}(e);return 1==t.length&&t[0][2]?Jn(t[0][0],t[0][1]):function(r){return r===e||function(e,t,r,n){var o=r.length,i=o,a=!n;if(null==e)return!i;for(e=Object(e);o--;){var u=r[o];if(a&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<i;){var l=(u=r[o])[0],s=e[l],c=u[1];if(a&&u[2]){if(void 0===s&&!(l in e))return!1}else{var f=new on;if(n)var d=n(s,c,l,e,t,f);if(!(void 0===d?Kn(c,s,Yn|qn,n,f):d))return!1}}return!0}(r,e,t)}}function Gn(e,t){return null!=e&&t in Object(e)}function Qn(e,t){return null!=e&&function(e,t,r){for(var n=-1,o=(t=vt(t,e)).length,i=!1;++n<o;){var a=mt(t[n]);if(!(i=null!=e&&r(e,a)))break;e=e[a]}return i||++n!=o?i:!!(o=null==e?0:e.length)&&J(o)&&q(a,o)&&(W(e)||L(e))}(e,t,Gn)}var eo=1,to=2;function ro(e){return Ie(e)?kr(mt(e)):function(e){return function(t){return wt(t,e)}}(e)}function no(e){return"function"==typeof e?e:null==e?Oe:"object"==typeof e?W(e)?(t=e[0],r=e[1],Ie(t)&&Xn(r)?Jn(mt(t),r):function(e){var n=jt(e,t);return void 0===n&&n===r?Qn(e,t):Kn(r,n,eo|to)}):Zn(e):ro(e);var t,r}function oo(e,t){var r=-1,n=be(e)?Array(e.length):[];return je(e,(function(e,o,i){n[++r]=t(e,o,i)})),n}function io(e,t){return(W(e)?ft:oo)(e,no(t))}var ao=re&&re.isRegExp,uo=ao?G(ao):function(e){return w(e)&&"[object RegExp]"==m(e)},lo=30,so="...",co=/\w*$/;function fo(e,t){var r=lo,n=so;if(a(t)){var o="separator"in t?t.separator:o;r="length"in t?I(t.length):r,n="omission"in t?gt(t.omission):n}var i=(e=yt(e)).length;if(Yt(e)){var u=ar(e);i=u.length}if(r>=i)return e;var l=r-Ur(n);if(l<1)return n;var s=u?Bt(u,0,l).join(""):e.slice(0,l);if(void 0===o)return s+n;if(u&&(l+=s.length-l),uo(o)){if(e.slice(l).search(o)){var c,f=s;for(o.global||(o=RegExp(o.source,yt(co.exec(o))+"g")),o.lastIndex=0;c=o.exec(f);)var d=c.index;s=s.slice(0,void 0===d?l:d)}}else if(e.indexOf(gt(o),l)!=l){var p=s.lastIndexOf(o);p>-1&&(s=s.slice(0,p))}return s+n}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var po={};!function(e,t){e.exports=function(){var e=1e3,t=6e4,r=36e5,n="millisecond",o="second",i="minute",a="hour",u="day",l="week",s="month",c="quarter",f="year",d="date",p="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,y={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},v=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},b={s:v,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),o=r%60;return(t<=0?"+":"-")+v(n,2,"0")+":"+v(o,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var n=12*(r.year()-t.year())+(r.month()-t.month()),o=t.clone().add(n,s),i=r-o<0,a=t.clone().add(n+(i?-1:1),s);return+(-(n+(r-o)/(i?o-a:a-o))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:s,y:f,w:l,d:u,D:d,h:a,m:i,s:o,ms:n,Q:c}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},m="en",w={};w[m]=y;var j="$isDayjsObject",O=function(e){return e instanceof A||!(!e||!e[j])},$=function e(t,r,n){var o;if(!t)return m;if("string"==typeof t){var i=t.toLowerCase();w[i]&&(o=i),r&&(w[i]=r,o=i);var a=t.split("-");if(!o&&a.length>1)return e(a[0])}else{var u=t.name;w[u]=t,o=u}return!n&&o&&(m=o),o||!n&&m},x=function(e,t){if(O(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new A(r)},k=b;k.l=$,k.i=O,k.w=function(e,t){return x(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var A=function(){function y(e){this.$L=$(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[j]=!0}var v=y.prototype;return v.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(k.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(h);if(n){var o=n[2]-1||0,i=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],o,n[3]||1,n[4]||0,n[5]||0,n[6]||0,i)):new Date(n[1],o,n[3]||1,n[4]||0,n[5]||0,n[6]||0,i)}}return new Date(t)}(e),this.init()},v.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},v.$utils=function(){return k},v.isValid=function(){return!(this.$d.toString()===p)},v.isSame=function(e,t){var r=x(e);return this.startOf(t)<=r&&r<=this.endOf(t)},v.isAfter=function(e,t){return x(e)<this.startOf(t)},v.isBefore=function(e,t){return this.endOf(t)<x(e)},v.$g=function(e,t,r){return k.u(e)?this[t]:this.set(r,e)},v.unix=function(){return Math.floor(this.valueOf()/1e3)},v.valueOf=function(){return this.$d.getTime()},v.startOf=function(e,t){var r=this,n=!!k.u(t)||t,c=k.p(e),p=function(e,t){var o=k.w(r.$u?Date.UTC(r.$y,t,e):new Date(r.$y,t,e),r);return n?o:o.endOf(u)},h=function(e,t){return k.w(r.toDate()[e].apply(r.toDate("s"),(n?[0,0,0,0]:[23,59,59,999]).slice(t)),r)},g=this.$W,y=this.$M,v=this.$D,b="set"+(this.$u?"UTC":"");switch(c){case f:return n?p(1,0):p(31,11);case s:return n?p(1,y):p(0,y+1);case l:var m=this.$locale().weekStart||0,w=(g<m?g+7:g)-m;return p(n?v-w:v+(6-w),y);case u:case d:return h(b+"Hours",0);case a:return h(b+"Minutes",1);case i:return h(b+"Seconds",2);case o:return h(b+"Milliseconds",3);default:return this.clone()}},v.endOf=function(e){return this.startOf(e,!1)},v.$set=function(e,t){var r,l=k.p(e),c="set"+(this.$u?"UTC":""),p=(r={},r[u]=c+"Date",r[d]=c+"Date",r[s]=c+"Month",r[f]=c+"FullYear",r[a]=c+"Hours",r[i]=c+"Minutes",r[o]=c+"Seconds",r[n]=c+"Milliseconds",r)[l],h=l===u?this.$D+(t-this.$W):t;if(l===s||l===f){var g=this.clone().set(d,1);g.$d[p](h),g.init(),this.$d=g.set(d,Math.min(this.$D,g.daysInMonth())).$d}else p&&this.$d[p](h);return this.init(),this},v.set=function(e,t){return this.clone().$set(e,t)},v.get=function(e){return this[k.p(e)]()},v.add=function(n,c){var d,p=this;n=Number(n);var h=k.p(c),g=function(e){var t=x(p);return k.w(t.date(t.date()+Math.round(e*n)),p)};if(h===s)return this.set(s,this.$M+n);if(h===f)return this.set(f,this.$y+n);if(h===u)return g(1);if(h===l)return g(7);var y=(d={},d[i]=t,d[a]=r,d[o]=e,d)[h]||1,v=this.$d.getTime()+n*y;return k.w(v,this)},v.subtract=function(e,t){return this.add(-1*e,t)},v.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||p;var n=e||"YYYY-MM-DDTHH:mm:ssZ",o=k.z(this),i=this.$H,a=this.$m,u=this.$M,l=r.weekdays,s=r.months,c=r.meridiem,f=function(e,r,o,i){return e&&(e[r]||e(t,n))||o[r].slice(0,i)},d=function(e){return k.s(i%12||12,e,"0")},h=c||function(e,t,r){var n=e<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(g,(function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return k.s(t.$y,4,"0");case"M":return u+1;case"MM":return k.s(u+1,2,"0");case"MMM":return f(r.monthsShort,u,s,3);case"MMMM":return f(s,u);case"D":return t.$D;case"DD":return k.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return f(r.weekdaysMin,t.$W,l,2);case"ddd":return f(r.weekdaysShort,t.$W,l,3);case"dddd":return l[t.$W];case"H":return String(i);case"HH":return k.s(i,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return h(i,a,!0);case"A":return h(i,a,!1);case"m":return String(a);case"mm":return k.s(a,2,"0");case"s":return String(t.$s);case"ss":return k.s(t.$s,2,"0");case"SSS":return k.s(t.$ms,3,"0");case"Z":return o}return null}(e)||o.replace(":","")}))},v.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},v.diff=function(n,d,p){var h,g=this,y=k.p(d),v=x(n),b=(v.utcOffset()-this.utcOffset())*t,m=this-v,w=function(){return k.m(g,v)};switch(y){case f:h=w()/12;break;case s:h=w();break;case c:h=w()/3;break;case l:h=(m-b)/6048e5;break;case u:h=(m-b)/864e5;break;case a:h=m/r;break;case i:h=m/t;break;case o:h=m/e;break;default:h=m}return p?h:k.a(h)},v.daysInMonth=function(){return this.endOf(s).$D},v.$locale=function(){return w[this.$L]},v.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),n=$(e,t,!0);return n&&(r.$L=n),r},v.clone=function(){return k.w(this.$d,this)},v.toDate=function(){return new Date(this.valueOf())},v.toJSON=function(){return this.isValid()?this.toISOString():null},v.toISOString=function(){return this.$d.toISOString()},v.toString=function(){return this.$d.toUTCString()},y}(),S=A.prototype;return x.prototype=S,[["$ms",n],["$s",o],["$m",i],["$H",a],["$W",u],["$M",s],["$y",f],["$D",d]].forEach((function(e){S[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),x.extend=function(e,t){return e.$i||(e(t,A,x),e.$i=!0),x},x.locale=$,x.isDayjs=O,x.unix=function(e){return x(1e3*e)},x.en=w[m],x.Ls=w,x.p={},x}()}({get exports(){return po},set exports(e){po=e}});var ho=po;const go=[];for(let e=0;e<256;++e)go.push((e+256).toString(16).slice(1));const yo=new Uint8Array(16);function vo(){return crypto.getRandomValues(yo)}const bo={};function mo(e,t,r){let n;if(e)n=wo(e.random??e.rng?.()??vo(),e.msecs,e.seq,t,r);else{const e=Date.now(),o=vo();!function(e,t,r){e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=jo(r),e.msecs=t):(e.seq=e.seq+1|0,0===e.seq&&e.msecs++)}(bo,e,o),n=wo(o,bo.msecs,bo.seq,t,r)}return t??function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(go[e[t+0]]+go[e[t+1]]+go[e[t+2]]+go[e[t+3]]+"-"+go[e[t+4]]+go[e[t+5]]+"-"+go[e[t+6]]+go[e[t+7]]+"-"+go[e[t+8]]+go[e[t+9]]+"-"+go[e[t+10]]+go[e[t+11]]+go[e[t+12]]+go[e[t+13]]+go[e[t+14]]+go[e[t+15]]).toLowerCase()}(n)}function wo(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(e.length<16)throw new Error("Random bytes length must be >= 16");if(n){if(o<0||o+16>n.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`)}else n=new Uint8Array(16),o=0;return t??=Date.now(),r??=jo(e),n[o++]=t/1099511627776&255,n[o++]=t/4294967296&255,n[o++]=t/16777216&255,n[o++]=t/65536&255,n[o++]=t/256&255,n[o++]=255&t,n[o++]=112|r>>>28&15,n[o++]=r>>>20&255,n[o++]=128|r>>>14&63,n[o++]=r>>>6&255,n[o++]=r<<2&255|3&e[10],n[o++]=e[11],n[o++]=e[12],n[o++]=e[13],n[o++]=e[14],n[o++]=e[15],n}function jo(e){return(127&e[6])<<24|e[7]<<16|e[8]<<8|e[9]}function Oo(e){let t=!1;if(Gr(e)){if(""===e.trim())return!1;t=!isNaN(Number(e))}else if(function(e){return"[object Number]"===Object.prototype.toString.call(e)}(e)){if(Xr(e))return!1;t=!0}return t}var $o=function(){try{var e=Ve(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),xo=$o;function ko(e,t,r){"__proto__"==t&&xo?xo(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var Ao=Object.prototype.hasOwnProperty;function So(e,t,r){var n=e[t];Ao.call(e,t)&&Xe(n,r)&&(void 0!==r||t in e)||ko(e,t,r)}function _o(e,t,r,n){var o=!r;r||(r={});for(var i=-1,a=t.length;++i<a;){var u=t[i],l=n?n(r[u],e[u],u,r,e):void 0;void 0===l&&(l=e[u]),o?ko(r,u,l):So(r,u,l)}return r}var Po=Object.prototype.hasOwnProperty;function Eo(e){if(!a(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=le(e),r=[];for(var n in e)("constructor"!=n||!t&&Po.call(e,n))&&r.push(n);return r}function Io(e){return be(e)?ae(e,!0):Eo(e)}var Do="object"==typeof exports&&exports&&!exports.nodeType&&exports,Mo=Do&&"object"==typeof module&&module&&!module.nodeType&&module,To=Mo&&Mo.exports===Do?s.Buffer:void 0,Co=To?To.allocUnsafe:void 0;var Fo=se(Object.getPrototypeOf,Object),No=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)En(t,Fn(e)),e=Fo(e);return t}:Dn,zo=No;function Uo(e){return In(e,Io,zo)}var Lo=Object.prototype.hasOwnProperty;function Wo(e){var t=new e.constructor(e.byteLength);return new dn(t).set(new dn(e)),t}var Ro=/\w*$/;var Bo=c?c.prototype:void 0,Vo=Bo?Bo.valueOf:void 0;var Ho="[object Boolean]",Ko="[object Date]",Yo="[object Map]",qo="[object Number]",Xo="[object RegExp]",Jo="[object Set]",Zo="[object String]",Go="[object Symbol]",Qo="[object ArrayBuffer]",ei="[object DataView]",ti="[object Float32Array]",ri="[object Float64Array]",ni="[object Int8Array]",oi="[object Int16Array]",ii="[object Int32Array]",ai="[object Uint8Array]",ui="[object Uint8ClampedArray]",li="[object Uint16Array]",si="[object Uint32Array]";function ci(e,t,r){var n,o=e.constructor;switch(t){case Qo:return Wo(e);case Ho:case Ko:return new o(+e);case ei:return function(e,t){var r=t?Wo(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case ti:case ri:case ni:case oi:case ii:case ai:case ui:case li:case si:return function(e,t){var r=t?Wo(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}(e,r);case Yo:return new o;case qo:case Zo:return new o(e);case Xo:return function(e){var t=new e.constructor(e.source,Ro.exec(e));return t.lastIndex=e.lastIndex,t}(e);case Jo:return new o;case Go:return n=e,Vo?Object(Vo.call(n)):{}}}var fi=Object.create,di=function(){function e(){}return function(t){if(!a(t))return{};if(fi)return fi(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),pi=di;var hi=re&&re.isMap,gi=hi?G(hi):function(e){return w(e)&&"[object Map]"==$r(e)};var yi=re&&re.isSet,vi=yi?G(yi):function(e){return w(e)&&"[object Set]"==$r(e)},bi=1,mi=2,wi=4,ji="[object Arguments]",Oi="[object Function]",$i="[object GeneratorFunction]",xi="[object Object]",ki={};function Ai(e,t,r,n,o,i){var u,l=t&bi,s=t&mi,c=t&wi;if(r&&(u=o?r(e,n,o,i):r(e)),void 0!==u)return u;if(!a(e))return e;var f=W(e);if(f){if(u=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&Lo.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(e),!l)return function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(e,u)}else{var d=$r(e),p=d==Oi||d==$i;if(H(e))return function(e,t){if(t)return e.slice();var r=e.length,n=Co?Co(r):new e.constructor(r);return e.copy(n),n}(e,l);if(d==xi||d==ji||p&&!o){if(u=s||p?{}:function(e){return"function"!=typeof e.constructor||le(e)?{}:pi(Fo(e))}(e),!l)return s?function(e,t){return _o(e,zo(e),t)}(e,function(e,t){return e&&_o(t,Io(t),e)}(u,e)):function(e,t){return _o(e,Fn(e),t)}(e,function(e,t){return e&&_o(t,me(t),e)}(u,e))}else{if(!ki[d])return o?e:{};u=ci(e,d,l)}}i||(i=new on);var h=i.get(e);if(h)return h;i.set(e,u),vi(e)?e.forEach((function(n){u.add(Ai(n,t,r,n,e,i))})):gi(e)&&e.forEach((function(n,o){u.set(o,Ai(n,t,r,o,e,i))}));var g=f?void 0:(c?s?Uo:Nn:s?Io:me)(e);return D(g||e,(function(n,o){g&&(n=e[o=n]),So(u,o,Ai(n,t,r,o,e,i))})),u}ki[ji]=ki["[object Array]"]=ki["[object ArrayBuffer]"]=ki["[object DataView]"]=ki["[object Boolean]"]=ki["[object Date]"]=ki["[object Float32Array]"]=ki["[object Float64Array]"]=ki["[object Int8Array]"]=ki["[object Int16Array]"]=ki["[object Int32Array]"]=ki["[object Map]"]=ki["[object Number]"]=ki[xi]=ki["[object RegExp]"]=ki["[object Set]"]=ki["[object String]"]=ki["[object Symbol]"]=ki["[object Uint8Array]"]=ki["[object Uint8ClampedArray]"]=ki["[object Uint16Array]"]=ki["[object Uint32Array]"]=!0,ki["[object Error]"]=ki[Oi]=ki["[object WeakMap]"]=!1;var Si=1,_i=4;var Pi={},Ei={get exports(){return Pi},set exports(e){Pi=e}},Ii={},Di={},Mi={get exports(){return Di},set exports(e){Di=e}},Ti={};function Ci(){var e={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return e}var Fi=/javascript\s*\:/gim;Ti.whiteList=Ci(),Ti.getDefaultWhiteList=Ci,Ti.onAttr=function(e,t,r){},Ti.onIgnoreAttr=function(e,t,r){},Ti.safeAttrValue=function(e,t){return Fi.test(t)?"":t};var Ni={indexOf:function(e,t){var r,n;if(Array.prototype.indexOf)return e.indexOf(t);for(r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1},forEach:function(e,t,r){var n,o;if(Array.prototype.forEach)return e.forEach(t,r);for(n=0,o=e.length;n<o;n++)t.call(r,e[n],n,e)},trim:function(e){return String.prototype.trim?e.trim():e.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(e){return String.prototype.trimRight?e.trimRight():e.replace(/(\s*$)/g,"")}};var zi=function(e,t){";"!==(e=Ni.trimRight(e))[e.length-1]&&(e+=";");var r=e.length,n=!1,o=0,i=0,a="";function u(){if(!n){var r=Ni.trim(e.slice(o,i)),u=r.indexOf(":");if(-1!==u){var l=Ni.trim(r.slice(0,u)),s=Ni.trim(r.slice(u+1));if(l){var c=t(o,a.length,l,s,r);c&&(a+=c+"; ")}}}o=i+1}for(;i<r;i++){var l=e[i];if("/"===l&&"*"===e[i+1]){var s=e.indexOf("*/",i+2);if(-1===s)break;o=(i=s+1)+1,n=!1}else"("===l?n=!0:")"===l?n=!1:";"===l?n||u():"\n"===l&&u()}return Ni.trim(a)},Ui=Ti,Li=zi;function Wi(e){return null==e}function Ri(e){(e=function(e){var t={};for(var r in e)t[r]=e[r];return t}(e||{})).whiteList=e.whiteList||Ui.whiteList,e.onAttr=e.onAttr||Ui.onAttr,e.onIgnoreAttr=e.onIgnoreAttr||Ui.onIgnoreAttr,e.safeAttrValue=e.safeAttrValue||Ui.safeAttrValue,this.options=e}Ri.prototype.process=function(e){if(!(e=(e=e||"").toString()))return"";var t=this.options,r=t.whiteList,n=t.onAttr,o=t.onIgnoreAttr,i=t.safeAttrValue;return Li(e,(function(e,t,a,u,l){var s=r[a],c=!1;if(!0===s?c=s:"function"==typeof s?c=s(u):s instanceof RegExp&&(c=s.test(u)),!0!==c&&(c=!1),u=i(a,u)){var f,d={position:t,sourcePosition:e,source:l,isWhite:c};return c?Wi(f=n(a,u,d))?a+":"+u:f:Wi(f=o(a,u,d))?void 0:f}}))};var Bi=Ri;!function(e,t){var r=Ti,n=Bi;for(var o in(t=e.exports=function(e,t){return new n(t).process(e)}).FilterCSS=n,r)t[o]=r[o];"undefined"!=typeof window&&(window.filterCSS=e.exports)}(Mi,Di);var Vi={indexOf:function(e,t){var r,n;if(Array.prototype.indexOf)return e.indexOf(t);for(r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1},forEach:function(e,t,r){var n,o;if(Array.prototype.forEach)return e.forEach(t,r);for(n=0,o=e.length;n<o;n++)t.call(r,e[n],n,e)},trim:function(e){return String.prototype.trim?e.trim():e.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(e){var t=/\s|\n|\t/.exec(e);return t?t.index:-1}},Hi=Di.FilterCSS,Ki=Di.getDefaultWhiteList,Yi=Vi;function qi(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],figcaption:[],figure:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height","loading"],ins:["datetime"],kbd:[],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],summary:[],sup:[],strong:[],strike:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","crossorigin","loop","muted","playsinline","poster","preload","src","height","width"]}}var Xi=new Hi;function Ji(e){return e.replace(Zi,"&lt;").replace(Gi,"&gt;")}var Zi=/</g,Gi=/>/g,Qi=/"/g,ea=/&quot;/g,ta=/&#([a-zA-Z0-9]*);?/gim,ra=/&colon;?/gim,na=/&newline;?/gim,oa=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi,ia=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,aa=/u\s*r\s*l\s*\(.*/gi;function ua(e){return e.replace(Qi,"&quot;")}function la(e){return e.replace(ea,'"')}function sa(e){return e.replace(ta,(function(e,t){return"x"===t[0]||"X"===t[0]?String.fromCharCode(parseInt(t.substr(1),16)):String.fromCharCode(parseInt(t,10))}))}function ca(e){return e.replace(ra,":").replace(na," ")}function fa(e){for(var t="",r=0,n=e.length;r<n;r++)t+=e.charCodeAt(r)<32?" ":e.charAt(r);return Yi.trim(t)}function da(e){return e=fa(e=ca(e=sa(e=la(e))))}function pa(e){return e=Ji(e=ua(e))}Ii.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],figcaption:[],figure:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height","loading"],ins:["datetime"],kbd:[],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],summary:[],sup:[],strong:[],strike:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","crossorigin","loop","muted","playsinline","poster","preload","src","height","width"]},Ii.getDefaultWhiteList=qi,Ii.onTag=function(e,t,r){},Ii.onIgnoreTag=function(e,t,r){},Ii.onTagAttr=function(e,t,r){},Ii.onIgnoreTagAttr=function(e,t,r){},Ii.safeAttrValue=function(e,t,r,n){if(r=da(r),"href"===t||"src"===t){if("#"===(r=Yi.trim(r)))return"#";if("http://"!==r.substr(0,7)&&"https://"!==r.substr(0,8)&&"mailto:"!==r.substr(0,7)&&"tel:"!==r.substr(0,4)&&"data:image/"!==r.substr(0,11)&&"ftp://"!==r.substr(0,6)&&"./"!==r.substr(0,2)&&"../"!==r.substr(0,3)&&"#"!==r[0]&&"/"!==r[0])return""}else if("background"===t){if(oa.lastIndex=0,oa.test(r))return""}else if("style"===t){if(ia.lastIndex=0,ia.test(r))return"";if(aa.lastIndex=0,aa.test(r)&&(oa.lastIndex=0,oa.test(r)))return"";!1!==n&&(r=(n=n||Xi).process(r))}return r=pa(r)},Ii.escapeHtml=Ji,Ii.escapeQuote=ua,Ii.unescapeQuote=la,Ii.escapeHtmlEntities=sa,Ii.escapeDangerHtml5Entities=ca,Ii.clearNonPrintableCharacter=fa,Ii.friendlyAttrValue=da,Ii.escapeAttrValue=pa,Ii.onIgnoreTagStripAll=function(){return""},Ii.StripTagBody=function(e,t){"function"!=typeof t&&(t=function(){});var r=!Array.isArray(e),n=[],o=!1;return{onIgnoreTag:function(i,a,u){if(function(t){return!!r||-1!==Yi.indexOf(e,t)}(i)){if(u.isClosing){var l="[/removed]",s=u.position+l.length;return n.push([!1!==o?o:u.position,s]),o=!1,l}return o||(o=u.position),"[removed]"}return t(i,a,u)},remove:function(e){var t="",r=0;return Yi.forEach(n,(function(n){t+=e.slice(r,n[0]),r=n[1]})),t+=e.slice(r)}}},Ii.stripCommentTag=function(e){for(var t="",r=0;r<e.length;){var n=e.indexOf("\x3c!--",r);if(-1===n){t+=e.slice(r);break}t+=e.slice(r,n);var o=e.indexOf("--\x3e",n);if(-1===o)break;r=o+3}return t},Ii.stripBlankChar=function(e){var t=e.split("");return(t=t.filter((function(e){var t=e.charCodeAt(0);return 127!==t&&(!(t<=31)||(10===t||13===t))}))).join("")},Ii.attributeWrapSign='"',Ii.cssFilter=Xi,Ii.getDefaultCSSWhiteList=Ki;var ha={},ga=Vi;function ya(e){var t,r=ga.spaceIndex(e);return t=-1===r?e.slice(1,-1):e.slice(1,r+1),"/"===(t=ga.trim(t).toLowerCase()).slice(0,1)&&(t=t.slice(1)),"/"===t.slice(-1)&&(t=t.slice(0,-1)),t}function va(e){return"</"===e.slice(0,2)}var ba=/[^a-zA-Z0-9\\_:.-]/gim;function ma(e,t){for(;t<e.length;t++){var r=e[t];if(" "!==r)return"="===r?t:-1}}function wa(e,t){for(;t<e.length;t++){var r=e[t];if(" "!==r)return"'"===r||'"'===r?t:-1}}function ja(e,t){for(;t>0;t--){var r=e[t];if(" "!==r)return"="===r?t:-1}}function Oa(e){return function(e){return'"'===e[0]&&'"'===e[e.length-1]||"'"===e[0]&&"'"===e[e.length-1]}(e)?e.substr(1,e.length-2):e}ha.parseTag=function(e,t,r){var n="",o=0,i=!1,a=!1,u=0,l=e.length,s="",c="";e:for(u=0;u<l;u++){var f=e.charAt(u);if(!1===i){if("<"===f){i=u;continue}}else if(!1===a){if("<"===f){n+=r(e.slice(o,u)),i=u,o=u;continue}if(">"===f||u===l-1){n+=r(e.slice(o,i)),s=ya(c=e.slice(i,u+1)),n+=t(i,n.length,s,c,va(c)),o=u+1,i=!1;continue}if('"'===f||"'"===f)for(var d=1,p=e.charAt(u-d);""===p.trim()||"="===p;){if("="===p){a=f;continue e}p=e.charAt(u-++d)}}else if(f===a){a=!1;continue}}return o<l&&(n+=r(e.substr(o))),n},ha.parseAttr=function(e,t){var r=0,n=0,o=[],i=!1,a=e.length;function u(e,r){if(!((e=(e=ga.trim(e)).replace(ba,"").toLowerCase()).length<1)){var n=t(e,r||"");n&&o.push(n)}}for(var l=0;l<a;l++){var s,c=e.charAt(l);if(!1!==i||"="!==c)if(!1===i||l!==n)if(/\s|\n|\t/.test(c)){if(e=e.replace(/\s|\n|\t/g," "),!1===i){if(-1===(s=ma(e,l))){u(ga.trim(e.slice(r,l))),i=!1,r=l+1;continue}l=s-1;continue}if(-1===(s=ja(e,l-1))){u(i,Oa(ga.trim(e.slice(r,l)))),i=!1,r=l+1;continue}}else;else{if(-1===(s=e.indexOf(c,l+1)))break;u(i,ga.trim(e.slice(n+1,s))),i=!1,r=(l=s)+1}else i=e.slice(r,l),r=l+1,n='"'===e.charAt(r)||"'"===e.charAt(r)?r:wa(e,l+1)}return r<e.length&&(!1===i?u(e.slice(r)):u(i,Oa(ga.trim(e.slice(r))))),ga.trim(o.join(" "))};var $a=Di.FilterCSS,xa=Ii,ka=ha,Aa=ka.parseTag,Sa=ka.parseAttr,_a=Vi;function Pa(e){return null==e}function Ea(e){(e=function(e){var t={};for(var r in e)t[r]=e[r];return t}(e||{})).stripIgnoreTag&&(e.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),e.onIgnoreTag=xa.onIgnoreTagStripAll),e.whiteList||e.allowList?e.whiteList=function(e){var t={};for(var r in e)Array.isArray(e[r])?t[r.toLowerCase()]=e[r].map((function(e){return e.toLowerCase()})):t[r.toLowerCase()]=e[r];return t}(e.whiteList||e.allowList):e.whiteList=xa.whiteList,this.attributeWrapSign=!0===e.singleQuotedAttributeValue?"'":xa.attributeWrapSign,e.onTag=e.onTag||xa.onTag,e.onTagAttr=e.onTagAttr||xa.onTagAttr,e.onIgnoreTag=e.onIgnoreTag||xa.onIgnoreTag,e.onIgnoreTagAttr=e.onIgnoreTagAttr||xa.onIgnoreTagAttr,e.safeAttrValue=e.safeAttrValue||xa.safeAttrValue,e.escapeHtml=e.escapeHtml||xa.escapeHtml,this.options=e,!1===e.css?this.cssFilter=!1:(e.css=e.css||{},this.cssFilter=new $a(e.css))}Ea.prototype.process=function(e){if(!(e=(e=e||"").toString()))return"";var t=this,r=t.options,n=r.whiteList,o=r.onTag,i=r.onIgnoreTag,a=r.onTagAttr,u=r.onIgnoreTagAttr,l=r.safeAttrValue,s=r.escapeHtml,c=t.attributeWrapSign,f=t.cssFilter;r.stripBlankChar&&(e=xa.stripBlankChar(e)),r.allowCommentTag||(e=xa.stripCommentTag(e));var d=!1;r.stripIgnoreTagBody&&(d=xa.StripTagBody(r.stripIgnoreTagBody,i),i=d.onIgnoreTag);var p=Aa(e,(function(e,t,r,d,p){var h={sourcePosition:e,position:t,isClosing:p,isWhite:Object.prototype.hasOwnProperty.call(n,r)},g=o(r,d,h);if(!Pa(g))return g;if(h.isWhite){if(h.isClosing)return"</"+r+">";var y=function(e){var t=_a.spaceIndex(e);if(-1===t)return{html:"",closing:"/"===e[e.length-2]};var r="/"===(e=_a.trim(e.slice(t+1,-1)))[e.length-1];return r&&(e=_a.trim(e.slice(0,-1))),{html:e,closing:r}}(d),v=n[r],b=Sa(y.html,(function(e,t){var n=-1!==_a.indexOf(v,e),o=a(r,e,t,n);return Pa(o)?n?(t=l(r,e,t,f))?e+"="+c+t+c:e:Pa(o=u(r,e,t,n))?void 0:o:o}));return d="<"+r,b&&(d+=" "+b),y.closing&&(d+=" /"),d+=">"}return Pa(g=i(r,d,h))?s(d):g}),s);return d&&(p=d.remove(p)),p};var Ia=Ea;!function(e,t){var r=Ii,n=ha,o=Ia;function i(e,t){return new o(t).process(e)}(t=e.exports=i).filterXSS=i,t.FilterXSS=o,function(){for(var e in r)t[e]=r[e];for(var o in n)t[o]=n[o]}(),"undefined"!=typeof window&&(window.filterXSS=e.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=e.exports)}(Ei,Pi);var Da=Pi;function Ma(){return"undefined"!=typeof self?self:"undefined"!=typeof window&&void 0!==window.document?window:"undefined"!=typeof global?global:null}let Ta=/<(?=[A-Za-z!/?]|$)/g;function Ca(e){return e.replace(Ta,"&lt;")}let Fa={getFilterXSS:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Da;if(xe(e))return e;let t=Ma(),r=jt(t,"filterXSS",null);if(xe(r))return r;let n=jt(t,"xss",null);if(xe(n))return n;throw new Error("invalid filterXSS, g.filterXSS, use script for import")},getOpt:function(e){return{escapeHtml:Ca,onIgnoreTagAttr:function(t,r,n,o){if("style"===r)return r+'="'+e.escapeAttrValue(n)+'"'}}}};function Na(e){let t=null,r=null;let n=function e(n){if(Array.isArray(n)){for(let t=0;t<n.length;t++)n[t]=e(n[t]);return n}if(Se(n)||Ae(n)){for(let t of Object.keys(n))n[t]=e(n[t]);return n}return Gr(n)?(o=n,null===t&&(t=Fa.getFilterXSS(),r=Fa.getOpt(t)),t(o,r)):n;var o}(Ai(e,Si|_i));return n}function za(e,t){let r=`${e}: ${Vr(io(Hr(t,10),(e=>Gr(e.ref)?e.ref:Gr(e.id)||Oo(e.id)?`id[${fo(String(e.id),{length:100,omission:"…"})}]`:`data[${e.k}]`)),", ")}`;return Rr(t)>10&&(r+=`, ... (${Rr(t)} in total)`),r}function Ua(e,t){if(t.indexOf("id")<0)return!1;let r=jt(e,"settings",null);if(Yr(r)&&!0!==jt(r,"id.pk"))return!1;let n=jt(r,"id.type","")||jt(e,"kpType.id","");return!(Gr(n)&&["STRING","TEXT","CHAR","UUID","CITEXT"].indexOf(n.split("(")[0].trim().toUpperCase())<0)}function La(e,t){return null!==e&&"object"==typeof e&&"string"==typeof t&&Object.prototype.hasOwnProperty.call(e,t)?void 0===e[t]?null:e[t]:null}function Wa(e){try{return Array.isArray(e)}catch(e){return!1}}function Ra(e){return!Object.prototype.hasOwnProperty.call(e,"value")}function Ba(e){return"number"==typeof e&&Number.isFinite(e)}function Va(e){return Ba(e)?String(e):e}function Ha(e,t){return Object.fromEntries(Object.keys(e).map((r=>[r,t(e[r],r)])))}const Ka=Object.freeze({proto:"unsupported key[__proto__]",accessor:"unsupported accessor property",unreadable:"unreadable value",deep:"too deep",large:"too large",sparse:"unsupported sparse array",hidden:"unsupported symbol key or non-enumerable property",irregular:"unsupported irregular object or array"}),Ya=64,qa=64,Xa=1e5,Ja=4e6,Za=200,Ga=8,Qa=50,eu=200,tu="function"==typeof WeakRef?Function.prototype.call.bind(WeakRef.prototype.deref):null,ru="function"==typeof FinalizationRegistry?Function.prototype.call.bind(FinalizationRegistry.prototype.unregister):null,nu={};function ou(e){let r=0;for(let n=e;null!==n;n=Object.getPrototypeOf(n))if(r++>qa||t.types.isProxy(n)||Object.prototype.hasOwnProperty.call(n,Symbol.toStringTag))return!1;return!0}function iu(e){return t.types.isMap(e)||t.types.isSet(e)||t.types.isWeakMap(e)||t.types.isWeakSet(e)||t.types.isPromise(e)||t.types.isAnyArrayBuffer(e)||t.types.isArrayBufferView(e)||t.types.isBoxedPrimitive(e)||t.types.isRegExp(e)||t.types.isNativeError(e)||t.types.isGeneratorObject(e)||t.types.isMapIterator(e)||t.types.isSetIterator(e)||t.types.isModuleNamespaceObject(e)}function au(e){if("object"!=typeof e||null===e||!ou(e)||!Se(e))return!1;let r=Object.getPrototypeOf(e);return null===r||r===Object.prototype||function(e){if(null!==Object.getPrototypeOf(e))return!1;let r=Reflect.ownKeys(Object.prototype);if(Reflect.ownKeys(e).length!==r.length)return!1;for(let t of r)if(!Object.prototype.hasOwnProperty.call(e,t))return!1;let n=Object.getOwnPropertyDescriptor(e,"constructor");if(void 0===n||"function"!=typeof n.value||t.types.isProxy(n.value))return!1;if(Function.prototype.toString.call(n.value)!==Function.prototype.toString.call(Object))return!1;let o=Object.getOwnPropertyDescriptor(n.value,"prototype");return void 0!==o&&o.value===e}(r)}function uu(e){return"object"!=typeof e||null===e||!ou(e)||iu(e)?null:Array.isArray(e)?"arr":Se(e)?"obj":null}function lu(e){if(null!==tu)try{return tu(e),!0}catch(e){}if(null!==ru)try{return ru(e,nu),!0}catch(e){}return!1}function su(e){try{for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console.log(e,...r)}catch(t){try{console.log(e,"(unprintable)")}catch(e){}}}function cu(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{n:0},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(r.n>=Za)return"[...]";if(r.n++,"string"==typeof e)return fo(e,{length:eu});if("function"==typeof e)return"[Function]";if("symbol"==typeof e)return"[Symbol]";if("object"!=typeof e||null===e)return e;if(t.types.isProxy(e))return"[Proxy]";if(t.types.isDate(e))return"[Date]";if(iu(e))return"[Object]";if(n>=Ga)return"[...]";let o=e=>void 0===e?"[empty]":Ra(e)?"[Getter/Setter]":cu(e.value,r,n+1);if(Array.isArray(e)){let t=Math.min(e.length,Qa),r=[];for(let n=0;n<t;n++)r.push(o(Object.getOwnPropertyDescriptor(e,n)));return e.length>t&&r.push(`[${e.length-t} more]`),r}let i=Reflect.ownKeys(e),a={};for(let t of i.slice(0,Qa)){let r=Object.getOwnPropertyDescriptor(e,t),n="symbol"==typeof t?String(t):t;Object.defineProperty(a,r.enumerable?n:`${n} (non-enumerable)`,{value:o(r),enumerable:!0,writable:!0,configurable:!0})}return i.length>Qa&&Object.defineProperty(a,"[more]",{value:i.length-Qa,enumerable:!0,writable:!0,configurable:!0}),a}function fu(e,t){let r;try{r=cu(t)}catch(e){r="(unprintable)"}su(e,r)}function du(e){if("object"!=typeof e||null===e)return;let t=Object.getOwnPropertyDescriptor(e,"id");return void 0!==t&&t.enumerable&&!Ra(t)?t.value:void 0}const pu=["mustExist","keepUserId"],hu=1e3;function gu(e,t){let r=e=>({err:e,mustExist:!1,keepUserId:!1});if(null==t)return{err:null,mustExist:!1,keepUserId:!1};if(!au(t))return r("invalid opt of procOrm, need an object");for(let e of Reflect.ownKeys(t))if(pu.indexOf(e)<0)return r("invalid opt of procOrm, unsupported key");let n={mustExist:!1,keepUserId:!1};for(let e of pu){let o=Object.getOwnPropertyDescriptor(t,e);if(void 0!==o){if(Ra(o)||"boolean"!=typeof o.value)return r(`invalid opt of procOrm, ${e} needs a boolean`);n[e]=o.value}}return n.mustExist&&"save"!==e&&"del"!==e?r("invalid opt of procOrm, mustExist supports only save and del"):n.keepUserId&&"insert"!==e?r("invalid opt of procOrm, keepUserId supports only insert"):{err:null,mustExist:n.mustExist,keepUserId:n.keepUserId}}async function yu(e,t){let r=[],n=new Set;for(let e of Wa(t)?t:[t]){let t=du(e);if(!("string"==typeof t&&""!==t||Ba(t)))return!0;n.has(String(t))||(n.add(String(t)),r.push(t))}for(let t=0;t<r.length;t+=hu){let n=r.slice(t,t+hu),o=await e.select({id:{$in:n}}),i=new Set(io(Wa(o)?o:[],(e=>String(jt(e,"id")))));if(n.some((e=>!i.has(String(e)))))return!0}return!1}function vu(e,t){return(Wa(e)?e:[e]).some((e=>null!==e&&"object"==typeof e&&0!==e.ok&&(0===e.n||null!==t&&0===e[t])))}function bu(e){let t=[],r=Array.isArray(e)?null:Object.keys(e),n=null===r?e.length:r.length;for(let o=0;o<n;o++){let n=Object.getOwnPropertyDescriptor(e,null===r?o:r[o]).value;null!==uu(n)&&t.push(n)}return t}function mu(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let o=new Set,i=[e,1],a=0,u=[];for(;i.length>0;){let e,l=i.pop(),s=i.pop();if(o.has(s))continue;if(n){if("object"==typeof s&&null!==s){if(!ou(s)||iu(s))return"irregular";if(t.types.isDate(s)){if(Reflect.ownKeys(s).length>0)return"irregular";continue}}e=uu(s)}else e=Array.isArray(s)?"arr":Se(s)?"obj":null;if(null===e)continue;let c="arr"===e;if(l>r)return"deep";if(o.add(s),Object.prototype.hasOwnProperty.call(s,"__proto__"))return"proto";let f=c?null:Object.keys(s);if(n&&!c){if(!au(s))return"irregular";if(Reflect.ownKeys(s).length!==f.length)return"hidden";u.push(s)}let d=c?s.length:f.length;for(let e=0;e<d;e++){let t=Object.getOwnPropertyDescriptor(s,c?e:f[e]);if(void 0===t)return n?"irregular":"sparse";if(Ra(t))return"accessor";if(n&&c&&!t.enumerable)return"irregular";n&&(a+=c?0:f[e].length,"string"==typeof t.value&&(a+=t.value.length)),"object"==typeof t.value&&null!==t.value&&i.push(t.value,l+1)}if(n&&c&&Reflect.ownKeys(s).length!==d+1)return"irregular"}if(n&&"object"==typeof e&&null!==e){let t=function(e,t,r){let n=new Map,o=new Map,i=[{o:e,kids:bu(e),i:0,d:0,n:Array.isArray(e)?0:1}];for(n.set(e,-1);i.length>0;){let e=i[i.length-1];if(i.length>t)return"deep";if(e.i<e.kids.length){let a=e.kids[e.i++],u=n.get(a);if(void 0===u)n.set(a,-1),i.push({o:a,kids:bu(a),i:0,d:0,n:Array.isArray(a)?0:1});else{if(-1===u)return"deep";if(e.n+=u,e.d=Math.max(e.d,o.get(a)),e.n>r)return"large";if(i.length+o.get(a)>t)return"deep"}}else if(i.pop(),n.set(e.o,e.n),o.set(e.o,e.d+1),i.length>0){let n=i[i.length-1];if(n.n+=e.n,n.d=Math.max(n.d,e.d+1),n.n>r)return"large";if(i.length+o.get(e.o)>t)return"deep"}}return null}(e,r,Xa);if(null!==t)return t;if(a<=Ja&&"function"==typeof structuredClone){if(function(e){if("function"!=typeof structuredClone)return!1;let t;try{t=structuredClone(e)}catch(e){return!0}let r=new Set,n=[t];for(;n.length>0;){let e=n.pop();if("object"!=typeof e||null===e||r.has(e))continue;r.add(e);let t=Object.getPrototypeOf(e);if(t!==Date.prototype){if(t!==Object.prototype&&t!==Array.prototype)return!0;for(let t of Object.keys(e))n.push(e[t])}}return!1}(e))return"irregular"}else for(let e=0;e<u.length;e++)if(lu(u[e]))return"irregular"}return null}catch(e){return"unreadable"}}function wu(e,r){try{if(void 0!==r&&"object"==typeof r&&null!==r&&t.types.isProxy(r))return`invalid find of ${e}, ${Ka.irregular}`;if(void 0!==r&&!au(r))return`invalid find of ${e}, need an object`;let n=mu(r,Ya,!0);return null!==n?`invalid find of ${e}, ${Ka[n]}`:null}catch(t){return`invalid find of ${e}, ${Ka.unreadable}`}}function ju(e){return"function"==typeof e?!ou(e):"object"==typeof e&&null!==e&&(!ou(e)||iu(e))}function Ou(e,t){let r;try{r=Array.isArray(t)}catch(t){return`${e}, ${Ka.irregular}`}if(!r)return null;if(!ou(t))return`${e}, ${Ka.irregular}`;let n=function(e){for(let t=0;t<e.length;t++){let r=Object.getOwnPropertyDescriptor(e,t);if(void 0===r)return[t,"sparse"];if(Ra(r))return[t,"accessor"]}return null}(t);return null!==n?za(`${e}, ${Ka[n[1]]}`,[{k:n[0]}]):null}function $u(e,t){let r=new Map,n=(e,t)=>{r.has(e)||r.set(e,[]),r.get(e).push({k:t})};if(Wa(t))for(let e=0;e<t.length;e++)try{let r=Object.getOwnPropertyDescriptor(t,e);if(void 0===r)continue;if(Ra(r)){n("accessor",e);continue}let o=ju(r.value)?"irregular":mu(r.value);null!==o&&n(o,e)}catch(t){n("unreadable",e)}else{let e=ju(t)?"irregular":mu(t);null!==e&&n(e,0)}return io([...r],(t=>{let[r,n]=t;return za(`${e}, ${Ka[r]}`,n)}))}function xu(e){let t=!Wa(e),r=io(t?[e]:e,(e=>{let t=du(e);return Ba(t)&&Se(e)?function(e,t){let r={};for(let n of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,n);o.enumerable&&Object.defineProperty(r,n,"id"===n?{value:t,writable:!0,enumerable:!0,configurable:!0}:o)}return r}(e,Va(t)):e}));return t?r[0]:r}function ku(e){return"obj"!==uu(e)?e:Ha(e,((e,t)=>{return"id"===t?"obj"!==uu(r=e)?Va(r):Ha(r,((e,t)=>["$eq","$ne","$gt","$gte","$lt","$lte","$in","$nin"].indexOf(t)>=0?"arr"===uu(e)?io(e,Va):Va(e):e)):["$and","$or"].indexOf(t)>=0&&"arr"===uu(e)?io(e,ku):e;var r}))}function Au(e){let t=[];return $e(Wa(e)?e:[e],((e,r)=>{ju(e)||Se(e)||t.push({k:r})})),t}function Su(e){let t=Va(du(e));return Gr(t)?t:null}function _u(e){let t=[];return $e(Wa(e)?e:[e],((e,r)=>{let n=du(e);Gr(n)&&Na(n)!==n&&t.push({k:r,id:n})})),t}function Pu(e,t){return za(`${e}, id contains HTML markup`,io(t,(e=>({k:e.k}))))}function Eu(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Iu(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"save",i=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(!Yr(e))throw console.log("ds",e),new Error("invalid ds");let a=e[t].keys,u=!1;Ae(n)||(u=!0,n=[n]);let l=function(){if(!xe(ho))throw new Error("invalid dayjs");return ho().format("YYYY-MM-DDTHH:mm:ss.SSSZ")}();if(o.indexOf("insert")>=0&&(a.indexOf("userId")>=0&&$e(n,((e,t)=>{i&&function(e){if("object"!=typeof e||null===e)return!1;let t=Object.getOwnPropertyDescriptor(e,"userId");return void 0!==t&&t.enumerable&&!Ra(t)&&"string"==typeof t.value&&""!==t.value}(n[t])||Eu(n[t],"userId",r)})),a.indexOf("timeCreate")>=0&&$e(n,((e,t)=>{Eu(n[t],"timeCreate",l)})),a.indexOf("userIdUpdate")>=0&&$e(n,((e,t)=>{Eu(n[t],"userIdUpdate",r)})),a.indexOf("timeUpdate")>=0&&$e(n,((e,t)=>{Eu(n[t],"timeUpdate",l)}))),(o.indexOf("insert")>=0||o.indexOf("save")>=0)&&(a.indexOf("userIdUpdate")>=0&&$e(n,((e,t)=>{Eu(n[t],"userIdUpdate",r)})),a.indexOf("timeUpdate")>=0&&$e(n,((e,t)=>{Eu(n[t],"timeUpdate",l)}))),n=io(n,(e=>Ha(e,(e=>Na(e))))),Ua(e[t],a)){(u?Yr(n[0]):Zr(n))&&$e(n,(e=>{Gr(e.id)||(e.id=mo())}))}return n=u?n[0]:n}async function Du(e,t,r,n,o,i,a){try{return await async function(e,t,r,n,o,i,a){let u,l=null;if(!Yr(t))return Promise.reject("invalid woItems");let s=La(t,n);if(null===s)return Promise.reject(`can not find table[${"string"==typeof n?n:""}] in ORM`);let c=function(e,t){let r=La(e,t),n=jt(r,"keys",null);return!!Ae(n)&&Ua(r,n)}(e,n),f=gu(o,a);if(null!==f.err)return Promise.reject(f.err);if("select"===o){let e=wu("select",i);if(null!==e)return fu(`${n}.select invalid find`,i),Promise.reject(e);if(u=await s.select(c?ku(i):i).catch((e=>{console.log(`${n}.select catch`,e),l="failed to select data"})),Gr(l))return Promise.reject(l)}else if("insert"===o||"save"===o){let t=i,a="insert"===o?"failed to insert data":"failed to save data",d=Ou(a,i);if(null!==d)return console.log(`${n}.${o} invalid batch container`),Promise.reject(d);let p=Au(i);if(Rr(p)>0)return console.log(`${n}.${o} data is not an object`,p),Promise.reject(za(`${a}, not an object`,p));let h=$u(a,i);if(Rr(h)>0)return console.log(`${n}.${o} data has unsupported key`,h),Promise.reject(Vr(h,"; "));c&&(i=xu(i));let g=_u(i);if(Rr(g)>0)return console.log(`${n}.${o} id changed by clearXSS`,g),Promise.reject(Pu(a,g));try{i=Iu(e,n,r,i,o,f.keepUserId)}catch(e){return console.log(`${n}.adjustData catch`,e.toString()),l="failed to adjust data",Promise.reject(l)}if("save"===o&&f.mustExist){let e=await yu(s,i).catch((e=>{console.log(`${n}.save exist check catch`,e),l="failed to save data"}));if(Gr(l))return Promise.reject(l);if(e)return console.log(`${n}.save row not found`),Promise.reject("rowNotFound")}if("insert"===o?u=await s.insert(i).catch((e=>{console.log(`${n}.insert catch`,e),l="failed to insert data"})):"save"===o&&(u=await(f.mustExist?s.save(i,{autoInsert:!1}):s.save(i)).catch((e=>{console.log(`${n}.save catch`,e),l="failed to save data"}))),Gr(l))return Promise.reject(l);if("insert"===o&&rn(u))return console.log(`${n}.insert fail`,u),Promise.reject("failed to insert data");if("save"===o){let e=tn(u,i);if(Rr(e)>0)return console.log(`${n}.save fail`,e),Promise.reject(za("failed to save data",tn(u,t)));if(rn(u))return console.log(`${n}.save fail`,u),Promise.reject("failed to save data");if(f.mustExist&&vu(u,null))return console.log(`${n}.save row not found after check`),Promise.reject("rowNotFound")}u=Ae(i)?io(i,(e=>({id:e.id}))):{id:i.id}}else if("del"===o){let e=Ou("failed to delete data",i);if(null!==e)return console.log(`${n}.del invalid batch container`),Promise.reject(e);if(c&&(i=xu(i)),f.mustExist){let e=function(e){let t=new Set,r=[],n=Wa(e)?e:[e];for(let e=0;e<n.length;e++){let o=du(n[e]);if(!("string"==typeof o&&""!==o||Ba(o)))continue;let i=String(o);t.has(i)?r.push({k:e}):t.add(i)}return r}(i);if(Rr(e)>0)return console.log(`${n}.del duplicate id`,e),Promise.reject(za("invalid input of del, duplicate id",e));let t=await yu(s,i).catch((e=>{console.log(`${n}.del exist check catch`,e),l="failed to delete data"}));if(Gr(l))return Promise.reject(l);if(t)return console.log(`${n}.del row not found`),Promise.reject("rowNotFound")}if(u=await s.del(i).catch((e=>{console.log(`${n}.del catch`,e),l="failed to delete data"})),!Gr(l)){let e=tn(u,i);Rr(e)>0?(console.log(`${n}.del fail`,e),l=za("failed to delete data",e)):rn(u)&&(console.log(`${n}.del fail`,u),l="failed to delete data")}!Gr(l)&&f.mustExist&&vu(u,"nDeleted")&&(console.log(`${n}.del row not found after check`),l="rowNotFound")}else if("delAll"===o){let e=wu("delAll",i);if(null!==e)return fu(`${n}.delAll invalid find`,i),Promise.reject(e);u=await s.delAll(c?ku(i):i).catch((e=>{console.log(`${n}.delAll catch`,e),l="failed to delete data"})),!Gr(l)&&rn(u)&&(console.log(`${n}.delAll fail`,u),l="failed to delete data")}else if("mix"===o){if("object"!=typeof i||null===i||!ou(i)||!Yr(i))return Promise.reject("invalid input of mix, need the result object of ltdtDiffByKey");let t={};for(let e of["add","del","diff"]){let r=Object.getOwnPropertyDescriptor(i,e);if(void 0!==r&&Ra(r))return Promise.reject(`invalid input of mix, ${Ka.accessor}`);t[e]=void 0===r?void 0:r.value}i=t;for(let e of["add","del","diff"])if(void 0!==i[e]&&!Wa(i[e]))return Promise.reject("invalid input of mix, need the result object of ltdtDiffByKey");let o=[];for(let[e,t]of[["add","failed to insert data"],["del","failed to delete data"],["diff","failed to update data"]]){let r=Ou(t,i[e]);null!==r&&o.push(r)}if(Rr(o)>0)return console.log(`${n}.mix invalid batch container`),Promise.reject(Vr(o,"; "));let a=[];for(let[e,t]of[["add","failed to insert data"],["diff","failed to update data"]]){let r=Au(jt(i,e,[]));Rr(r)>0&&(console.log(`${n}.mix ${e} data is not an object`,r),a.push(za(`${t}, not an object`,r)))}if(Rr(a)>0)return Promise.reject(Vr(a,"; "));let f=[];for(let[e,t]of[["add","failed to insert data"],["diff","failed to update data"]])f.push(...$u(t,jt(i,e,[])));if(Rr(f)>0)return console.log(`${n}.mix data has unsupported key`,f),Promise.reject(Vr(f,"; "));let d=function(e){let t=[];return $e(e,((e,r)=>{if("object"==typeof e&&null!==e||"function"==typeof e)if(ou(e)){if("function"!=typeof e)for(let n=e;null!==n;n=Object.getPrototypeOf(n)){let o=Object.getOwnPropertyDescriptor(n,"id");if(void 0!==o)return void(n===e&&!Ra(o)&&o.enumerable||t.push({k:r}))}}else t.push({k:r})})),t}(jt(i,"del",[]));if(Rr(d)>0)return console.log(`${n}.mix del id is not an own data property`,d),Promise.reject(za(`failed to delete data, ${Ka.irregular}`,d));if(c){i={...i};for(let e of["add","del","diff"])Ae(i[e])&&(i[e]=xu(i[e]))}let p=[];for(let[e,t]of[["add","failed to insert data"],["diff","failed to update data"]]){let r=_u(jt(i,e,[]));Rr(r)>0&&(console.log(`${n}.mix ${e} id changed by clearXSS`,r),p.push(Pu(t,r)))}if(Rr(p)>0)return Promise.reject(Vr(p,"; "));let h,g=function(e){let t=[];for(let[r,n]of[["add","del"],["del","diff"]]){let o=new Map;$e(jt(e,r,[]),((e,t)=>{let r=Su(e);null!==r&&o.set(r,[...o.get(r)||[],t])}));let i=[],a=[];if($e(jt(e,n,[]),((e,t)=>{let r=Su(e);null!==r&&o.has(r)&&(i=[...i,...o.get(r)],a.push(t))})),Rr(a)>0){let e=[...io([...new Set(i)].sort(((e,t)=>e-t)),(e=>({ref:`${r}[${e}]`}))),...io(a,(e=>({ref:`${n}[${e}]`})))];t.push(za(`invalid input of mix, same id in ${r} and ${n}`,e))}}return t}(i);if(Rr(g)>0)return console.log(`${n}.mix same id across steps`,g),Promise.reject(Vr(g,"; "));u=[];let y=[],v=null;if(Rr(jt(i,"diff",[]))>0)try{v=Iu(e,n,r,jt(i,"diff",[]))}catch(e){return console.log(`${n}.adjustData catch`,e.toString()),l="failed to adjust data",Promise.reject(l)}let b=jt(i,"add",[]);if(Rr(b)>0){try{b=Iu(e,n,r,b,"insert+save")}catch(e){return console.log(`${n}.adjustData catch`,e.toString()),l="failed to adjust data",Promise.reject(l)}let t=await s.insert(b).catch((e=>{console.log(`${n}.insert catch`,e),l="failed to insert data"}));if(Gr(l))return Promise.reject(l);if(rn(t))return console.log(`${n}.insert fail`,t),Promise.reject("failed to insert data");h=io(b,(e=>({id:e.id}))),u=[...u,...h]}let m=jt(i,"del",[]);if(Rr(m)>0){let e=await s.del(m).catch((e=>{console.log(`${n}.del catch`,e),l="failed to delete data"}));if(Gr(l))return Promise.reject(l);let t=tn(e,m);if(Rr(t)>0)console.log(`${n}.del fail`,t),y.push(za("failed to delete data",t));else if(rn(e))return console.log(`${n}.del fail`,e),Promise.reject("failed to delete data");h=io(m,(e=>({id:e.id}))),u=[...u,...h]}let w=jt(i,"diff",[]);if(Rr(w)>0){let e=w;w=v;let t=await s.save(w).catch((e=>{console.log(`${n}.save catch`,e),l="failed to update data"}));if(Gr(l))return Promise.reject(l);let r=tn(t,w);if(Rr(r)>0)console.log(`${n}.save fail`,r),y.push(za("failed to update data",tn(t,e)));else if(rn(t))return console.log(`${n}.save fail`,t),Promise.reject("failed to update data");h=io(w,(e=>({id:e.id}))),u=[...u,...h]}if(Rr(y)>0)return Promise.reject(Vr(y,"; "))}else l=`invalid mode: ${o}`;if(Gr(l))return Promise.reject(l);return u}(e,t,r,n,o,i,a)}catch(e){return"string"==typeof e?Promise.reject(e):(su(`${"string"==typeof n?n:""}.${"string"==typeof o?o:""} mapOrm catch`,e),Promise.reject("failed to process input"))}}function Mu(e,t){return async(r,n,o,i,a)=>Du(e,t,r,n,o,i,a)}function Tu(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!xe(t)){let o=`${r} needs a function, but got ${typeof t}`;throw n&&e.push((()=>Promise.reject(o))),new Error(o)}setTimeout((()=>{e.push(t)}),1)}function Cu(e){if(Ot(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),!xe(e))throw new Error("invalid mapOrm");let t={funChecks:[],funPreProcessing:[],funPostProcessing:[],mapOrm:e};return{addFunCheck:e=>{Tu(t.funChecks,e,"addFunCheck",!0)},addFunPreProcessing:e=>{Tu(t.funPreProcessing,e,"addFunPreProcessing")},addFunPostProcessing:e=>{Tu(t.funPostProcessing,e,"addFunPostProcessing")},procOrm:async(e,r,n,o,i)=>async function(e,t,r,n,o,i){let a=gu(n,i);if(null!==a.err)return Promise.reject(a.err);await _e(e.funChecks,(e=>e({woName:r,userId:t,mode:n,input:o})));for(let i of[...e.funPreProcessing]){let e=await i({woName:r,userId:t,mode:n,input:o});if(!Yr(e)||void 0===e.input)return Promise.reject("invalid return of pre-processing, need an object with input");o=e.input}let u=await e.mapOrm(t,r,n,o,i);for(let i of[...e.funPostProcessing])u=await i({woName:r,userId:t,mode:n,input:o,output:u});return u}(t,e,r,n,o,i)}}return function(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};Ot(o);let i=function(e,t,r,n){if(!Yr(e))throw console.log("ds",e),new Error("invalid ds");if(!xe(t))throw console.log("WOrm",t),new Error("invalid WOrm");if(!Gr(r))throw console.log("url",r),new Error("invalid url");if(!Gr(n))throw console.log("db",n),new Error("invalid db");let o={};return $e(me(e),(e=>{let i=new t({url:r,db:n,cl:e});Object.defineProperty(o,e,{value:i,enumerable:!0,writable:!0,configurable:!0})})),o}(e,t,r,n),a=Cu(Mu(e,i),o),u=new function(){let e=new Map,t=new Map;return async(r,n)=>{let o=(e.get(r)||Promise.resolve()).then((async()=>await n()),(async()=>await n()));e.set(r,o.catch((()=>{}))),t.set(r,(t.get(r)||0)+1);try{return await o}finally{let n=t.get(r)-1;n<=0?(t.delete(r),e.delete(r)):t.set(r,n)}}},l=async(e,t)=>{let r=function(e,t,r){if(!Array.isArray(t)||0===t.length)throw new Error("invalid tableNames of withTabLocks, need a non-empty array of table names");for(let r of t)if("string"!=typeof r||!Object.prototype.hasOwnProperty.call(e,r))throw new Error("invalid tableNames of withTabLocks, need own table names of this instance");if(!xe(r))throw new Error("invalid fn of withTabLocks, need a function");return[...new Set(t)].sort()}(i,e,t),n=t;for(let e=r.length-1;e>=0;e--){let t=n,o=r[e];n=()=>u(o,t)}return n()};return{...nn,woItems:i,closeAll:async()=>{await _e(i,(async e=>{e&&xe(e.close)&&await e.close()}))},withTabLocks:l,guardWrite:async e=>{if(null===e||"object"!=typeof e)throw new Error("invalid input of guardWrite, need an object");let{tables:t,read:r,baseline:n,contract:o,write:i}=e;if(!xe(r))throw new Error("invalid read of guardWrite, need a function");if(!xe(i))throw new Error("invalid write of guardWrite, need a function");let a=void 0!==n;if((a||void 0!==o)&&(Ct(o),"string"==typeof o.table&&!(Array.isArray(t)&&t.indexOf(o.table)>=0)))throw new Error("invalid tables of guardWrite, need to contain contract.table");return l(t,(async()=>{let e=await r();if(!Array.isArray(e))throw new Error("invalid rows of guardWrite, read needs to resolve an array");if(a){let t=Rt(e,n,o);if(!t.ok)throw function(e){let t=new Error(e.reason);return t.key=e.reason,t.added=e.added,t.removed=e.removed,t.changed=e.changed,t.reordered=e.reordered,t}(t)}return await i(e)}))},...a}}}));
7
7
  //# sourceMappingURL=w-serv-orm.umd.js.map