vome-core 0.0.18 → 0.0.19

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.
@@ -1 +1 @@
1
- const _0x113362=_0x1a18;(function(_0x54d080,_0x2f50c0){const _0x1c918e=_0x1a18,_0x205c93=_0x54d080();while(!![]){try{const _0x3ead98=parseInt(_0x1c918e(0x238))/0x1+-parseInt(_0x1c918e(0x1ee))/0x2*(-parseInt(_0x1c918e(0x1a7))/0x3)+-parseInt(_0x1c918e(0x279))/0x4+-parseInt(_0x1c918e(0x14e))/0x5+parseInt(_0x1c918e(0x1a3))/0x6+parseInt(_0x1c918e(0x194))/0x7*(parseInt(_0x1c918e(0x288))/0x8)+parseInt(_0x1c918e(0x1fb))/0x9*(parseInt(_0x1c918e(0x1a0))/0xa);if(_0x3ead98===_0x2f50c0)break;else _0x205c93['push'](_0x205c93['shift']());}catch(_0x549643){_0x205c93['push'](_0x205c93['shift']());}}}(_0x3c7c,0x9811e));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0x5bdee7=_0x1a18;return Bun['env'][_0x5bdee7(0x195)]===_0x5bdee7(0x129)?_0x5bdee7(0x129):'prod';}function merge(_0x31717d,_0x1571ff){const _0x5a11a4=_0x1a18,_0x48ce9e={..._0x31717d};for(const _0x5c5380 of Object['keys'](_0x1571ff)){const _0x659d39=_0x48ce9e[_0x5c5380],_0x53ce5e=_0x1571ff[_0x5c5380];if(_0x659d39&&_0x53ce5e&&typeof _0x659d39==='object'&&typeof _0x53ce5e===_0x5a11a4(0x14a)&&!Array['isArray'](_0x659d39)&&!Array[_0x5a11a4(0x13c)](_0x53ce5e)){_0x48ce9e[_0x5c5380]=merge(_0x659d39,_0x53ce5e);continue;}_0x48ce9e[_0x5c5380]=_0x53ce5e;}return _0x48ce9e;}async function loadConfig(_0x8ebfe5=join(process['cwd'](),_0x113362(0x17e))){const _0x14ec3f=_0x113362,_0x1fffc1=getEnv()===_0x14ec3f(0x129)?_0x14ec3f(0xea):_0x14ec3f(0x275),_0x29612f=await import(pathToFileURL(join(_0x8ebfe5,_0x14ec3f(0xd3)))[_0x14ec3f(0xaa)]),_0x1a5154=await import(pathToFileURL(join(_0x8ebfe5,_0x1fffc1))[_0x14ec3f(0xaa)]);return merge(_0x29612f[_0x14ec3f(0x21e)],_0x1a5154[_0x14ec3f(0x21e)]);}var VomeConfig=await loadConfig();import{Elysia as _0x338400}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x19261b){const _0x525738=_0x113362,_0x2d8df2=_0x19261b[_0x525738(0x136)][_0x525738(0x19a)](_0x525738(0x216));if(_0x2d8df2){const _0x1355ea=_0x2d8df2[_0x525738(0x1b9)](',')[0x0]?.['trim']();if(_0x1355ea)return _0x1355ea;}return _0x19261b[_0x525738(0x136)]['get'](_0x525738(0x1cb))?.[_0x525738(0x276)]()||_0x19261b[_0x525738(0x136)][_0x525738(0x19a)](_0x525738(0x213))?.[_0x525738(0x276)]()||'';}function initContextFromRequest(_0x437a38){const _0x2ef954=_0x113362,_0x1ee459=new URL(_0x437a38['url']),_0x7dcece=_0x437a38['headers'][_0x2ef954(0x19a)](_0x2ef954(0x12c))?.[_0x2ef954(0x1b9)](',')[0x0]?.[_0x2ef954(0x276)](),_0xca64d7=_0x437a38[_0x2ef954(0x136)][_0x2ef954(0x19a)](_0x2ef954(0x1ec))?.[_0x2ef954(0x276)]();return{'requestId':crypto['randomUUID'](),'method':_0x437a38[_0x2ef954(0x261)],'path':_0x1ee459['pathname'],'ip':resolveClientIp(_0x437a38),'host':_0x7dcece||_0xca64d7||_0x1ee459[_0x2ef954(0x1ec)],'startTime':Date[_0x2ef954(0x11a)]()};}function enterContextWith(_0x97e97){const _0x4f3ae3=_0x113362;storage[_0x4f3ae3(0x133)](_0x97e97);}function getContext(){const _0x3faa5f=_0x113362;return storage[_0x3faa5f(0x211)]();}function assignContext(_0x111b97){const _0x44e867=_0x113362,_0x20ce46=storage[_0x44e867(0x211)]();if(!_0x20ce46){getEnv()===_0x44e867(0x129)&&!warnedOutsideRequest&&(warnedOutsideRequest=!![],console['warn'](_0x44e867(0x11c)));return;}Object[_0x44e867(0x215)](_0x20ce46,_0x111b97);}function runContext(_0x566b1a,_0xeaadac){return storage['run'](_0x566b1a,_0xeaadac);}var Context=Object[_0x113362(0x215)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY=_0x113362(0xbd),providers=new Map();function registerProvider(_0xeb7adf){const _0x4dead1=_0x113362;providers['set'](_0xeb7adf[_0x4dead1(0x206)],_0xeb7adf);}function getProvider(_0x2d520c){const _0x45189f=_0x113362;return providers[_0x45189f(0x19a)](_0x2d520c);}function listProviders(){const _0x12189a=_0x113362,_0x50e338=new Set(),_0x5c7a60=[];for(const _0x4f342e of providers[_0x12189a(0x1d8)]()){if(_0x50e338['has'](_0x4f342e[_0x12189a(0x111)]))continue;_0x50e338['add'](_0x4f342e[_0x12189a(0x111)]),_0x5c7a60[_0x12189a(0x187)](_0x4f342e);}return _0x5c7a60;}function tokenLabel(_0x339eb4){const _0x41938d=_0x113362;if(typeof _0x339eb4==='string'||typeof _0x339eb4==='symbol')return String(_0x339eb4);return _0x339eb4[_0x41938d(0x18e)]||_0x41938d(0x16c);}function appendInjectMeta(_0x460ec6,_0x246e48){const _0xee0d87=_0x113362,_0x2b945f=Reflect[_0xee0d87(0x239)](INJECT_METADATA_KEY,_0x460ec6)??[];_0x2b945f['push'](_0x246e48),Reflect[_0xee0d87(0x1ea)](INJECT_METADATA_KEY,_0x2b945f,_0x460ec6);}function getInjectMetas(_0x18be39){const _0x347b4c=_0x113362;return Reflect[_0x347b4c(0x239)](INJECT_METADATA_KEY,_0x18be39)??[];}function resetProviders(){const _0xc4fb29=_0x113362;providers[_0xc4fb29(0x168)]();}var ScopeEnum;(_0x2e01a7=>{const _0x1ed8a0=_0x113362;_0x2e01a7[_0x1ed8a0(0x221)]=_0x1ed8a0(0xdc),_0x2e01a7['Request']=_0x1ed8a0(0x237),_0x2e01a7['Prototype']=_0x1ed8a0(0x117);})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x2588f0,_0x1a5242){const _0x198c0d=_0x113362;for(const _0x55cca of getInjectMetas(_0x1a5242)){const {propertyKey:_0x2f3261,token:_0x5e3688,resolve:_0x57a7ad}=_0x55cca;if(!_0x57a7ad&&_0x5e3688==null)throw new Error('[Ioc]\x20'+String(_0x2f3261)+'\x20缺少\x20token\x20或\x20resolve');const _0x599a08=_0x57a7ad?_0x57a7ad():Ioc[_0x198c0d(0x19a)](_0x5e3688);_0x2588f0[_0x2f3261]=_0x599a08;const _0x59c026=_0x2588f0[_0x198c0d(0xe8)];_0x57a7ad&&typeof _0x59c026===_0x198c0d(0x204)&&_0x59c026[_0x198c0d(0xd2)](_0x2588f0,_0x599a08);}}function createInstance(_0x1d34ff){const _0x440df3=_0x113362;if(creating[_0x440df3(0xfd)](_0x1d34ff))throw new Error('[Ioc]\x20检测到循环依赖:\x20'+_0x1d34ff['name']);creating[_0x440df3(0x283)](_0x1d34ff);try{const _0x2c49bd=new _0x1d34ff();return injectProperties(_0x2c49bd,_0x1d34ff),_0x2c49bd;}finally{creating[_0x440df3(0x1a1)](_0x1d34ff);}}function getSingleton(_0x53435b){const _0x95a25d=_0x113362,_0x32fae2=singletons[_0x95a25d(0x19a)](_0x53435b);if(_0x32fae2)return _0x32fae2;const _0x140d99=createInstance(_0x53435b);return singletons[_0x95a25d(0x171)](_0x53435b,_0x140d99),_0x140d99;}function getRequestCache(){const _0x32230c=_0x113362,_0x38bdcc=Context['get']();if(!_0x38bdcc)throw new Error(_0x32230c(0x1a4));let _0x579fab=requestCaches[_0x32230c(0x19a)](_0x38bdcc);return!_0x579fab&&(_0x579fab=new Map(),requestCaches[_0x32230c(0x171)](_0x38bdcc,_0x579fab)),_0x579fab;}function getRequestScoped(_0x221a06){const _0xf925db=_0x113362,_0x2b6a81=getRequestCache(),_0xa6ce98=_0x2b6a81[_0xf925db(0x19a)](_0x221a06);if(_0xa6ce98)return _0xa6ce98;const _0x425596=createInstance(_0x221a06);return _0x2b6a81[_0xf925db(0x171)](_0x221a06,_0x425596),_0x425596;}function resolveByScope(_0xabcafe,_0x5139cc){const _0x209e5c=_0x113362;switch(_0x5139cc){case _0x209e5c(0xdc):return getSingleton(_0xabcafe);case _0x209e5c(0x117):return createInstance(_0xabcafe);case _0x209e5c(0x237):return getRequestScoped(_0xabcafe);default:throw new Error('[Ioc]\x20未知作用域:\x20'+_0x5139cc);}}function resolveMeta(_0x307abc){const _0x4d1f45=_0x113362,_0xbb1333=getProvider(_0x307abc);if(!_0xbb1333)throw new Error(_0x4d1f45(0x1cf)+tokenLabel(_0x307abc));return _0xbb1333;}function bootstrapIoc(){const _0x20f0bb=_0x113362;for(const {useClass:_0x1184ad,scope:_0x58aa80}of listProviders()){_0x58aa80==='singleton'&&getSingleton(_0x1184ad);}console[_0x20f0bb(0x1cd)](_0x20f0bb(0x1e3)+singletons[_0x20f0bb(0x228)]+'\x20singleton(s)');}function get(_0x3bcf43){const _0x549693=_0x113362,_0x5351b5=resolveMeta(_0x3bcf43);return resolveByScope(_0x5351b5[_0x549693(0x111)],_0x5351b5[_0x549693(0x260)]);}function set(_0x569c89,_0x4e7379){const _0x2ed0c9=_0x113362;if(typeof _0x569c89===_0x2ed0c9(0x204)){registerProvider({'token':_0x569c89,'useClass':_0x569c89,'scope':_0x2ed0c9(0xdc)}),singletons[_0x2ed0c9(0x171)](_0x569c89,_0x4e7379);return;}const _0x14c04=_0x4e7379?.[_0x2ed0c9(0x1c9)];if(!_0x14c04||_0x14c04===Object)throw new Error(_0x2ed0c9(0xb0)+tokenLabel(_0x569c89)+_0x2ed0c9(0xed));registerProvider({'token':_0x569c89,'useClass':_0x14c04,'scope':_0x2ed0c9(0xdc)}),registerProvider({'token':_0x14c04,'useClass':_0x14c04,'scope':_0x2ed0c9(0xdc)}),singletons['set'](_0x14c04,_0x4e7379);}function resetIoc(){const _0x1d0c02=_0x113362;singletons[_0x1d0c02(0x168)](),creating[_0x1d0c02(0x168)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0x392341){const _0xafe524=_0x113362;controllers[_0xafe524(0x171)](_0x392341[_0xafe524(0x206)],_0x392341);}function listControllers(_0x62f8a){const _0x952b12=_0x113362,_0x2d0ff2=[...controllers[_0x952b12(0x1d8)]()];return _0x62f8a?_0x2d0ff2[_0x952b12(0x130)](_0x336ba9=>_0x336ba9['side']===_0x62f8a):_0x2d0ff2;}var ROUTE_PARAMS_KEY=_0x113362(0xc1),ROUTE_PUBLIC_KEY=_0x113362(0x108),ROUTE_MW_KEY=_0x113362(0x1bb),ROUTE_PERMS_KEY=_0x113362(0x14b),ROUTE_IGNORE_PERMS_KEY=_0x113362(0x1db);function appendRouteParam(_0x3a9385,_0x9e4511,_0x23bfdb){const _0x83b100=_0x113362,_0x206454=Reflect[_0x83b100(0x239)](ROUTE_PARAMS_KEY,_0x3a9385)??{},_0x3fd3b9=_0x206454[_0x9e4511]??[];_0x3fd3b9[_0x83b100(0x187)](_0x23bfdb),_0x206454[_0x9e4511]=_0x3fd3b9,Reflect[_0x83b100(0x1ea)](ROUTE_PARAMS_KEY,_0x206454,_0x3a9385);}function getRouteParams(_0x25727f,_0x49abb1){const _0x146ab1=_0x113362,_0x1e4736=Reflect[_0x146ab1(0x239)](ROUTE_PARAMS_KEY,_0x25727f);return _0x1e4736?.[_0x49abb1]??[];}function clearRouteParams(_0x451745){Reflect['deleteMetadata'](ROUTE_PARAMS_KEY,_0x451745);}function markRoutePublic(_0xb4efb4,_0x58cbd6){const _0x4d508d=_0x113362,_0xf8a4a9=Reflect[_0x4d508d(0x239)](ROUTE_PUBLIC_KEY,_0xb4efb4)??{};_0xf8a4a9[_0x58cbd6]=!![],Reflect[_0x4d508d(0x1ea)](ROUTE_PUBLIC_KEY,_0xf8a4a9,_0xb4efb4);}function isRoutePublic(_0x417948,_0x31f3a3){const _0x5e5b9d=_0x113362,_0x2d40b7=Reflect[_0x5e5b9d(0x239)](ROUTE_PUBLIC_KEY,_0x417948);return!!_0x2d40b7?.[_0x31f3a3];}function clearRoutePublic(_0x203029){const _0x55972e=_0x113362;Reflect[_0x55972e(0x1c0)](ROUTE_PUBLIC_KEY,_0x203029);}function appendRouteMiddleware(_0x48459c,_0x2bfc76,_0x12d31e){const _0x34dddb=_0x113362,_0xf5a8fa=Reflect[_0x34dddb(0x239)](ROUTE_MW_KEY,_0x48459c)??{};_0xf5a8fa[_0x2bfc76]=[..._0xf5a8fa[_0x2bfc76]??[],..._0x12d31e],Reflect[_0x34dddb(0x1ea)](ROUTE_MW_KEY,_0xf5a8fa,_0x48459c);}function getRouteMiddleware(_0x367bcb,_0x399eb9){const _0x4edbbb=_0x113362,_0x4e6434=Reflect[_0x4edbbb(0x239)](ROUTE_MW_KEY,_0x367bcb);return _0x4e6434?.[_0x399eb9]??[];}function clearRouteMiddleware(_0x512c51){const _0x6a82e9=_0x113362;Reflect[_0x6a82e9(0x1c0)](ROUTE_MW_KEY,_0x512c51);}function setRoutePerms(_0x34723e,_0x57062d,_0x46f31b){const _0xe622a5=Reflect['getMetadata'](ROUTE_PERMS_KEY,_0x34723e)??{};_0xe622a5[_0x57062d]=_0x46f31b,Reflect['defineMetadata'](ROUTE_PERMS_KEY,_0xe622a5,_0x34723e);}function getRoutePerms(_0x26402d,_0x203887){const _0x2abe68=_0x113362,_0x3cefec=Reflect[_0x2abe68(0x239)](ROUTE_PERMS_KEY,_0x26402d);return _0x3cefec?.[_0x203887];}function clearRoutePerms(_0x21c385){const _0x1c79f0=_0x113362;Reflect[_0x1c79f0(0x1c0)](ROUTE_PERMS_KEY,_0x21c385);}function markRouteIgnorePerms(_0x5e0144,_0x1ae5bc){const _0x2d47bc=_0x113362,_0x1d8335=Reflect[_0x2d47bc(0x239)](ROUTE_IGNORE_PERMS_KEY,_0x5e0144)??{};_0x1d8335[_0x1ae5bc]=!![],Reflect['defineMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x1d8335,_0x5e0144);}function isRouteIgnorePerms(_0xf3e787,_0x2926fc){const _0x5e85a2=_0x113362,_0x9dd7b6=Reflect[_0x5e85a2(0x239)](ROUTE_IGNORE_PERMS_KEY,_0xf3e787);return!!_0x9dd7b6?.[_0x2926fc];}function clearRouteIgnorePerms(_0x56f90a){const _0x1792ca=_0x113362;Reflect[_0x1792ca(0x1c0)](ROUTE_IGNORE_PERMS_KEY,_0x56f90a);}function schemaFromParams(_0x2d91d6){const _0xc34962=_0x113362,_0x27ae45={};for(const _0x809d86 of _0x2d91d6){if(_0x809d86[_0xc34962(0x1a5)]===_0xc34962(0x18d)&&_0x809d86[_0xc34962(0x1f0)]!==undefined)_0x27ae45[_0xc34962(0x18d)]=_0x809d86[_0xc34962(0x1f0)];if(_0x809d86['source']===_0xc34962(0x1a2)&&_0x809d86[_0xc34962(0x1f0)]!==undefined)_0x27ae45[_0xc34962(0x1a2)]=_0x809d86['schema'];if(_0x809d86[_0xc34962(0x1a5)]===_0xc34962(0x1fc)&&_0x809d86['schema']!==undefined)_0x27ae45[_0xc34962(0x1fc)]=_0x809d86[_0xc34962(0x1f0)];}return Object[_0xc34962(0xe0)](_0x27ae45)[_0xc34962(0x16f)]>0x0?_0x27ae45:undefined;}function openApiTag(_0x43f755,_0x4c099a){return _0x43f755+'.'+_0x4c099a;}function sideOrder(_0x1fcee5){const _0x508d72=_0x113362;if(_0x1fcee5==='admin')return 0x0;if(_0x1fcee5===_0x508d72(0x17b))return 0x1;return 0x2;}function parseTag(_0x3497f1){const _0x184773=_0x113362,_0x45664e=_0x3497f1[_0x184773(0x125)]('.');if(_0x45664e<0x0)return{'module':_0x3497f1,'side':''};return{'module':_0x3497f1[_0x184773(0x26d)](0x0,_0x45664e),'side':_0x3497f1[_0x184773(0x26d)](_0x45664e+0x1)};}function buildOpenApiTagDocs(){const _0x44ad15=_0x113362,_0x27bbfd=listControllers(),_0x6bc31b=new Map(),_0x3e029f=new Map();for(const _0x2e99c8 of _0x27bbfd){const _0x257c73=openApiTag(_0x2e99c8['module'],_0x2e99c8[_0x44ad15(0x137)]);!_0x6bc31b[_0x44ad15(0xfd)](_0x257c73)&&_0x6bc31b[_0x44ad15(0x171)](_0x257c73,{'name':_0x257c73,'description':_0x2e99c8[_0x44ad15(0xde)]+'\x20'+_0x2e99c8['side'],'x-displayName':_0x2e99c8[_0x44ad15(0x137)]});let _0x28b396=_0x3e029f['get'](_0x2e99c8[_0x44ad15(0xde)]);!_0x28b396&&(_0x28b396=new Set(),_0x3e029f[_0x44ad15(0x171)](_0x2e99c8[_0x44ad15(0xde)],_0x28b396)),_0x28b396[_0x44ad15(0x283)](_0x257c73);}const _0x1d9680=[..._0x6bc31b[_0x44ad15(0x1d8)]()][_0x44ad15(0x22a)]((_0x360c0c,_0x2b8178)=>{const _0x106076=_0x44ad15,_0x4aa6de=parseTag(_0x360c0c[_0x106076(0x18e)]),_0xf87ca9=parseTag(_0x2b8178[_0x106076(0x18e)]);return _0x4aa6de[_0x106076(0xde)][_0x106076(0x15f)](_0xf87ca9[_0x106076(0xde)])||sideOrder(_0x4aa6de[_0x106076(0x137)])-sideOrder(_0xf87ca9['side']);}),_0x2c24b0=[..._0x3e029f[_0x44ad15(0x1fd)]()][_0x44ad15(0x22a)](([_0x1b4920],[_0x1f63db])=>_0x1b4920[_0x44ad15(0x15f)](_0x1f63db))[_0x44ad15(0x10d)](([_0x564ee3,_0x48c30b])=>({'name':_0x564ee3,'tags':[..._0x48c30b][_0x44ad15(0x22a)]((_0x184354,_0x21d598)=>{const _0x48ac9d=_0x44ad15,_0xc611ea=parseTag(_0x184354)[_0x48ac9d(0x137)],_0x344552=parseTag(_0x21d598)[_0x48ac9d(0x137)];return sideOrder(_0xc611ea)-sideOrder(_0x344552);})}));return{'tags':_0x1d9680,'tagGroups':_0x2c24b0};}function normalizePrefix(_0x150c48){const _0x32a4b1=_0x113362;if(!_0x150c48)return'';return _0x150c48[_0x32a4b1(0x1f1)]('/')?_0x150c48:'/'+_0x150c48;}function joinPrefix(..._0x58ca9e){const _0x559792=_0x113362,_0x2e66db=_0x58ca9e[_0x559792(0x10d)](_0x2f98a1=>normalizePrefix(_0x2f98a1)[_0x559792(0x272)](/^\/+|\/+$/g,''))[_0x559792(0x130)](Boolean);return _0x2e66db['length']?'/'+_0x2e66db[_0x559792(0x1c4)]('/'):'/';}function getRouteSubPath(_0x261a1b,_0x5aefdd){const _0xfcfc32=_0x113362,_0x2da41c=normalizePrefix(_0x5aefdd)[_0xfcfc32(0x272)](/\/$/,''),_0x4d5bc8=normalizePrefix(_0x261a1b);if(!_0x2da41c)return _0x4d5bc8||'/';if(_0x4d5bc8===_0x2da41c)return'/';if(_0x4d5bc8[_0xfcfc32(0x1f1)](_0x2da41c+'/'))return _0x4d5bc8[_0xfcfc32(0x26d)](_0x2da41c['length'])||'/';const _0x1cf1a3=_0x261a1b[_0xfcfc32(0x1f1)]('/')?_0x261a1b:'/'+_0x261a1b;return _0x1cf1a3||'/';}function resolveRoutePerm(_0x13c6a6,_0x52de14,_0x56bae1){const _0x17df97=_0x113362;let _0x4b2ddc=_0x52de14['replace'](/^\//,'')[_0x17df97(0x272)](/\/+/g,':');if(_0x4b2ddc===_0x13c6a6)_0x4b2ddc=_0x13c6a6;else _0x4b2ddc[_0x17df97(0x1f1)](_0x13c6a6+':')&&(_0x4b2ddc=_0x4b2ddc[_0x17df97(0x26d)](_0x13c6a6['length']+0x1));const _0x724a2c=_0x13c6a6+'-';_0x4b2ddc[_0x17df97(0x1f1)](_0x724a2c)&&(_0x4b2ddc=_0x4b2ddc[_0x17df97(0x26d)](_0x724a2c['length']));_0x4b2ddc=_0x4b2ddc['replace'](/-/g,':');if(!_0x4b2ddc)_0x4b2ddc=_0x13c6a6;return _0x13c6a6+':'+_0x4b2ddc+':'+_0x56bae1;}function actionFromSubPath(_0x8fa303){const _0x2476cb=_0x113362,_0x2c2269=_0x8fa303[_0x2476cb(0x272)](/^\/+|\/+$/g,'');if(!_0x2c2269)return'index';const _0x18ff3a=_0x2c2269[_0x2476cb(0x1b9)]('/');return _0x18ff3a[_0x18ff3a['length']-0x1]||_0x2476cb(0xbc);}function effectivePerms(_0x1e2fad,_0x258b9d,_0x872602){const _0x25309c=_0x113362;if(_0x258b9d['side']!=='admin'||_0x1e2fad[_0x25309c(0x1d3)]||_0x1e2fad[_0x25309c(0x122)])return;if(_0x1e2fad[_0x25309c(0x19c)]?.['length'])return _0x1e2fad[_0x25309c(0x19c)];const _0x47cbe9=_0x872602??actionFromSubPath(getRouteSubPath(_0x1e2fad[_0x25309c(0x1ad)]??'/',_0x258b9d[_0x25309c(0x1ae)]));return[resolveRoutePerm(_0x258b9d[_0x25309c(0xde)],_0x258b9d[_0x25309c(0x1ae)],_0x47cbe9)];}var crudRegistrar;function setCrudRegistrar(_0x44b88c){crudRegistrar=_0x44b88c;}var SIDE_PREFIX={'admin':'/admin','app':'/app'},ADMIN_GUARD=_0x113362(0x102),APP_GUARD=_0x113362(0x23d),ELYSIA_METHODS={'GET':'get','POST':_0x113362(0x1cc),'PUT':_0x113362(0x140),'DELETE':_0x113362(0x1a1),'PATCH':_0x113362(0x268)};function getSidePrefix(_0x37750f){return normalizePrefix(SIDE_PREFIX[_0x37750f]);}function buildRouteSchema(_0x4af404){const _0x2fd4f3=_0x113362;if(_0x4af404[_0x2fd4f3(0x1fc)]?.[_0x2fd4f3(0x16f)])return schemaFromParams(_0x4af404[_0x2fd4f3(0x1fc)]);const _0xd34554={};if(_0x4af404[_0x2fd4f3(0x18d)]!==undefined)_0xd34554['body']=_0x4af404[_0x2fd4f3(0x18d)];if(_0x4af404[_0x2fd4f3(0x1a2)]!==undefined)_0xd34554[_0x2fd4f3(0x1a2)]=_0x4af404[_0x2fd4f3(0x1a2)];if(_0x4af404[_0x2fd4f3(0x1b2)]!==undefined)_0xd34554['params']=_0x4af404[_0x2fd4f3(0x1b2)];return Object[_0x2fd4f3(0xe0)](_0xd34554)[_0x2fd4f3(0x16f)]>0x0?_0xd34554:undefined;}function assertRouteParams(_0x3e673c,_0xe288a1,_0x5a2c5f){const _0x5a268f=_0x113362,_0x3c0ebb=new Set();for(const _0x352c75 of _0x3e673c){if(_0x3c0ebb['has'](_0x352c75[_0x5a268f(0x1a5)])){const _0x5b83aa=_0x352c75['source']==='body'?_0x5a268f(0x24d):_0x352c75[_0x5a268f(0x1a5)]===_0x5a268f(0x1a2)?_0x5a268f(0xd1):_0x5a268f(0x1d4);throw new Error(_0x5a268f(0xd8)+_0x5a2c5f+'.'+_0xe288a1+_0x5a268f(0x118)+_0x5b83aa);}_0x3c0ebb[_0x5a268f(0x283)](_0x352c75[_0x5a268f(0x1a5)]);}}function createParamHandler(_0x2fec05,_0x4aabd4,_0x4b014c){const _0x3ad213=_0x113362,_0x230375=_0x2fec05[_0x4aabd4],_0x30ce8b=_0x230375[_0x3ad213(0x106)](_0x2fec05);if(!_0x4b014c?.[_0x3ad213(0x16f)])return _0x30ce8b;const _0x4324be=[..._0x4b014c]['sort']((_0x1cf1de,_0x350f0d)=>_0x1cf1de['index']-_0x350f0d[_0x3ad213(0xbc)]);return _0x30343d=>{const _0x4b0577=_0x3ad213,_0x3700ec=_0x4324be[_0x4b0577(0x10d)](_0x3521be=>{const _0x16d195=_0x4b0577;if(_0x3521be[_0x16d195(0x1a5)]==='body')return _0x30343d['body'];if(_0x3521be['source']==='query')return _0x30343d['query'];if(_0x3521be[_0x16d195(0x1a5)]===_0x16d195(0x1fc))return _0x30343d[_0x16d195(0x1fc)];throw new Error(_0x16d195(0x21b)+_0x3521be['source']);});return _0x30ce8b(..._0x3700ec,_0x30343d);};}function createPermsGuard(_0x14d65e){return _0x3c6e87=>{const _0x1eff15=_0x1a18,_0x5911ca=_0x3c6e87[_0x1eff15(0x1fe)],_0x8a35b8=Context['get']();if(_0x8a35b8?.[_0x1eff15(0xec)])return;const _0x703b7a=_0x8a35b8?.[_0x1eff15(0x19c)]??[];if(_0x14d65e[_0x1eff15(0x1c3)](_0x488812=>_0x703b7a[_0x1eff15(0xca)](_0x488812)))return;return _0x5911ca(0x193);};}function openApiSummary(_0x371d80,_0x32be89){const _0x1a0a48=_0x113362,_0x457f46=_0x371d80[_0x1a0a48(0x272)](/^\/+|\/+$/g,'')[_0x1a0a48(0x1b9)]('/')[_0x1a0a48(0xc2)]()||_0x371d80;return _0x32be89?_0x457f46+'\x20'+_0x32be89:_0x457f46;}function buildRouteOptions(_0x558e1,_0xdf9c5d){const _0x43763b=_0x113362,_0x25e379=buildRouteSchema(_0x558e1)??{},_0x1c77db={..._0x25e379,'detail':{'tags':[openApiTag(_0xdf9c5d[_0x43763b(0xde)],_0xdf9c5d['side'])],'summary':openApiSummary(_0x558e1['handler'],_0x558e1[_0x43763b(0xf9)])}};_0xdf9c5d['side']===_0x43763b(0x19b)&&!_0x558e1['public']&&(_0x1c77db[ADMIN_GUARD]=!![]);_0xdf9c5d[_0x43763b(0x137)]==='app'&&!_0x558e1[_0x43763b(0x1d3)]&&(_0x1c77db[APP_GUARD]=!![]);const _0xb40d8a=[],_0x4f0c6c=effectivePerms(_0x558e1,_0xdf9c5d);if(_0x4f0c6c?.[_0x43763b(0x16f)])_0xb40d8a[_0x43763b(0x187)](createPermsGuard(_0x4f0c6c));if(_0x558e1['middleware']?.[_0x43763b(0x16f)])_0xb40d8a[_0x43763b(0x187)](..._0x558e1[_0x43763b(0x282)]);if(_0xb40d8a['length'])_0x1c77db[_0x43763b(0x21a)]=_0xb40d8a;return _0x1c77db;}function normalizeCrudRouteOpts(_0x8977e6){const _0x380b78=_0x113362;if(_0x8977e6==null)return{};if(typeof _0x8977e6===_0x380b78(0x1e1))return{'public':_0x8977e6};return _0x8977e6;}function registerControllerPlugin(_0x39ada7,_0x4d2c13){const _0x3bbb58=_0x113362,_0x4a6f9f=getSidePrefix(_0x39ada7[_0x3bbb58(0x137)]),_0x3a2b85=joinPrefix(_0x4a6f9f,_0x39ada7['prefix']),_0x5b0f4=Ioc['get'](_0x39ada7[_0x3bbb58(0x206)]);let _0x181d4d=new Elysia({'prefix':_0x3a2b85,'name':_0x39ada7[_0x3bbb58(0x206)]['name'],'tags':[openApiTag(_0x39ada7[_0x3bbb58(0xde)],_0x39ada7[_0x3bbb58(0x137)])]});for(const _0x320e2d of _0x39ada7[_0x3bbb58(0x282)]??[]){_0x181d4d=_0x181d4d[_0x3bbb58(0x1b0)](_0x320e2d);}const _0x533940=[];for(const _0xc5f174 of _0x39ada7[_0x3bbb58(0x240)]){const _0x53465c=_0x5b0f4[_0xc5f174[_0x3bbb58(0x243)]];if(typeof _0x53465c!==_0x3bbb58(0x204))throw new Error(_0x3bbb58(0xd8)+_0x39ada7[_0x3bbb58(0x206)][_0x3bbb58(0x18e)]+'.'+_0xc5f174[_0x3bbb58(0x243)]+_0x3bbb58(0x179));assertRouteParams(_0xc5f174[_0x3bbb58(0x1fc)]??[],_0xc5f174[_0x3bbb58(0x243)],_0x39ada7[_0x3bbb58(0x206)]['name']);const _0x2fd2c6=createParamHandler(_0x5b0f4,_0xc5f174['handler'],_0xc5f174[_0x3bbb58(0x1fc)]),_0x4eb71e=getRouteSubPath(_0xc5f174['path'],_0x39ada7[_0x3bbb58(0x1ae)]),_0x34f653=buildRouteOptions(_0xc5f174,_0x39ada7),_0x5a952b=ELYSIA_METHODS[_0xc5f174[_0x3bbb58(0x261)]];_0x181d4d=_0x181d4d[_0x5a952b](_0x4eb71e,_0x2fd2c6,_0x34f653);}if(_0x39ada7[_0x3bbb58(0xb9)]?.['api']?.[_0x3bbb58(0x16f)]||_0x39ada7['crud']?.['serviceApis']?.[_0x3bbb58(0x16f)]){if(!crudRegistrar)throw new Error(_0x3bbb58(0xd8)+_0x39ada7[_0x3bbb58(0x206)][_0x3bbb58(0x18e)]+_0x3bbb58(0x1df));_0x181d4d=crudRegistrar(_0x181d4d,_0x39ada7,{'controller':_0x5b0f4,'routeOptions':_0x17eac7=>{const _0x1999f4=_0x3bbb58,{public:_0x23ee6e,action:_0x39b7bf,summary:_0xf56d14}=normalizeCrudRouteOpts(_0x17eac7),_0x285a45={'detail':{'tags':[openApiTag(_0x39ada7['module'],_0x39ada7[_0x1999f4(0x137)])],'summary':openApiSummary(_0x39b7bf??'action',_0xf56d14)}};if(_0x39ada7[_0x1999f4(0x137)]==='admin'&&!_0x23ee6e){_0x285a45[ADMIN_GUARD]=!![];if(_0x39b7bf){const _0xe27ed0=resolveRoutePerm(_0x39ada7[_0x1999f4(0xde)],_0x39ada7[_0x1999f4(0x1ae)],_0x39b7bf);_0x285a45['beforeHandle']=[createPermsGuard([_0xe27ed0])];}}return _0x285a45;}});for(const _0x5ae31e of _0x39ada7['crud']?.[_0x3bbb58(0x1ba)]??[]){const _0x1ad57d=_0x5ae31e===_0x3bbb58(0x127)?_0x3bbb58(0x149):'POST';_0x533940[_0x3bbb58(0x187)]({'method':_0x1ad57d,'path':joinPrefix(_0x39ada7[_0x3bbb58(0x1ae)],_0x5ae31e),'handler':_0x5ae31e,'autoCrud':!![]});}for(const _0xd42998 of _0x39ada7[_0x3bbb58(0xb9)]?.[_0x3bbb58(0x164)]??[]){_0x533940[_0x3bbb58(0x187)]({'method':_0x3bbb58(0x1b6),'path':joinPrefix(_0x39ada7[_0x3bbb58(0x1ae)],_0xd42998),'handler':_0xd42998,'autoCrud':!![]});}}return{'plugin':_0x181d4d,'pluginPrefix':_0x3a2b85,'autoRoutes':_0x533940};}function registerControllers(_0x25507a,_0x5771ad){const _0x3063b0=_0x113362;let _0x406167=_0x25507a,_0x5f592e=0x0;const _0x5c1d3f=[];for(const _0xd549ce of listControllers()){const {plugin:_0x129942,pluginPrefix:_0x26751e,autoRoutes:_0x5ca57b}=registerControllerPlugin(_0xd549ce,_0x5771ad);_0x406167=_0x406167[_0x3063b0(0x14c)](_0x129942);for(const _0x18910c of[..._0xd549ce[_0x3063b0(0x240)],..._0x5ca57b]){_0x5f592e+=0x1;const _0x53ca81=getRouteSubPath(_0x18910c[_0x3063b0(0x1ad)],_0xd549ce['prefix']),_0x5ee611=_0x53ca81==='/'?_0x26751e:joinPrefix(_0x26751e,_0x53ca81[_0x3063b0(0x272)](/^\//,'')),_0x348601=_0x18910c['public']?_0x3063b0(0x1ff):_0x18910c['autoCrud']?_0x3063b0(0xaf):'';_0x5c1d3f[_0x3063b0(0x187)](_0x18910c['method']+'\x20'+_0x5ee611+_0x348601);}}if(_0x5f592e>0x0){console['log'](_0x3063b0(0x128)+_0x5f592e+_0x3063b0(0x121));for(const _0x1fabb8 of _0x5c1d3f)console['log']('\x20\x20'+_0x1fabb8);}return _0x406167;}var {Glob}=globalThis[_0x113362(0x246)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0x1cd635,_0x46d2e3={}){const _0x23a43b=_0x113362,{cwd:cwd=process[_0x23a43b(0x163)](),ext:ext=DEFAULT_EXT}=_0x46d2e3,_0x12ab5e=Array[_0x23a43b(0x13c)](_0x1cd635)?_0x1cd635:[_0x1cd635],_0x486698=[];for(const _0x2a6bb8 of _0x12ab5e){const _0x7c482f=new Glob(_0x2a6bb8);for await(const _0x389adf of _0x7c482f[_0x23a43b(0x161)]({'cwd':cwd,'onlyFiles':!![]})){if(ext[_0x23a43b(0xe3)](_0x389adf))_0x486698[_0x23a43b(0x187)](_0x389adf);}}return[...new Set(_0x486698)][_0x23a43b(0x22a)]();}var context=null;function setControllerScanContext(_0x1a6c07){context=_0x1a6c07;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x29e011){const _0x345c8e=_0x113362,_0x523d58=_0x29e011[_0x345c8e(0xf3)](/modules\/([^/]+)\/controller\//);if(!_0x523d58)return'unknown';return _0x523d58[0x1];}function parseControllerAutoPrefix(_0x3c3426){const _0xb7f1ba=_0x113362,_0x5d8834=_0x3c3426[_0xb7f1ba(0x272)](/\\/g,'/')[_0xb7f1ba(0xf3)](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x5d8834)return'';const _0x3f7a0f=_0x5d8834[0x1],_0x59e306=_0x5d8834[0x2][_0xb7f1ba(0x272)](/\/+/g,'/')[_0xb7f1ba(0x272)](/^\/|\/$/g,'');if(!_0x59e306)return'/'+_0x3f7a0f;return'/'+_0x3f7a0f+'/'+_0x59e306;}var TIME_KEY_RE=/(?:Time|Date|At)$/,ISO_RE=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?$/;function formatDateTime(_0x244ae2){const _0x3b8113=_0x113362,_0x1ac4e7=_0x244ae2 instanceof Date?_0x244ae2:new Date(_0x244ae2);if(Number[_0x3b8113(0x251)](_0x1ac4e7[_0x3b8113(0x13e)]()))return String(_0x244ae2);return new Intl[(_0x3b8113(0xc9))](_0x3b8113(0x158),{'timeZone':_0x3b8113(0x1fa),'year':_0x3b8113(0x12e),'month':_0x3b8113(0x224),'day':_0x3b8113(0x224),'hour':_0x3b8113(0x224),'minute':_0x3b8113(0x224),'second':_0x3b8113(0x224),'hour12':![]})[_0x3b8113(0x263)](_0x1ac4e7)[_0x3b8113(0x272)]('T','\x20');}function isTimeKey(_0x22eafe){const _0x198303=_0x113362;return TIME_KEY_RE[_0x198303(0xe3)](_0x22eafe);}function formatApiDates(_0x4d40ab){return walk(_0x4d40ab);}function walk(_0xf2879,_0x645b2c){const _0x39658a=_0x113362;if(_0xf2879==null)return _0xf2879;if(_0xf2879 instanceof Date)return formatDateTime(_0xf2879);if(typeof _0xf2879===_0x39658a(0xc4)&&_0x645b2c&&isTimeKey(_0x645b2c)&&ISO_RE[_0x39658a(0xe3)](_0xf2879))return formatDateTime(_0xf2879);if(Array['isArray'](_0xf2879))return _0xf2879[_0x39658a(0x10d)](_0x447ce2=>walk(_0x447ce2));if(typeof _0xf2879===_0x39658a(0x14a)){if(Object[_0x39658a(0x117)][_0x39658a(0x17a)]['call'](_0xf2879)!==_0x39658a(0x1f4))return _0xf2879;const _0x349f4e={};for(const [_0x5cfd23,_0x12f3d9]of Object[_0x39658a(0x1fd)](_0xf2879)){_0x349f4e[_0x5cfd23]=walk(_0x12f3d9,_0x5cfd23);}return _0x349f4e;}return _0xf2879;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0x5b4f39){const _0x21d231=_0x113362,_0x37e347=_0x5b4f39===undefined?null:_0x5b4f39;return{'code':RES_CODE[_0x21d231(0x1f5)],'message':'success','data':_0x37e347==null?_0x37e347:formatApiDates(_0x37e347)};}[_0x113362(0x23e)](_0x530ac3='error',_0x5c72fb=RES_CODE[_0x113362(0x15e)]){return{'code':_0x5c72fb,'message':_0x530ac3};}}import'reflect-metadata';function normalizeProvideArgs(_0x37feb1){const _0x5ef0c1=_0x113362;if(_0x37feb1==null)return{};if(typeof _0x37feb1==='string'||typeof _0x37feb1===_0x5ef0c1(0x231))return{'id':_0x37feb1};return _0x37feb1;}function Provide(_0x57fc2e){return _0x5acac3=>{const _0x33eb98=_0x1a18,_0x384507=normalizeProvideArgs(_0x57fc2e),_0x1a4e9e=_0x384507[_0x33eb98(0x260)]??_0x33eb98(0xdc);registerProvider({'token':_0x5acac3,'useClass':_0x5acac3,'scope':_0x1a4e9e}),_0x384507['id']!=null&&registerProvider({'token':_0x384507['id'],'useClass':_0x5acac3,'scope':_0x1a4e9e});};}function Inject(_0x293f59){return(_0x39f861,_0x1259dc)=>{const _0x5a98f1=_0x1a18,_0x30d75d=Reflect['getMetadata'](_0x5a98f1(0xe6),_0x39f861,_0x1259dc),_0x507f7d=_0x293f59??_0x30d75d;if(_0x507f7d==null)throw new Error(_0x5a98f1(0x208)+String(_0x1259dc)+_0x5a98f1(0x1e0));appendInjectMeta(_0x39f861[_0x5a98f1(0x1c9)],{'propertyKey':_0x1259dc,'token':_0x507f7d});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0xcfd16a){const _0x822d9=_0x113362;if(typeof _0xcfd16a===_0x822d9(0xc4)){const _0x576cd2=_0xcfd16a[_0x822d9(0xca)]('.')?_0xcfd16a[_0x822d9(0x1b9)]('.')[_0x822d9(0xc2)]():_0xcfd16a;return{'column':_0x576cd2,'param':_0x576cd2,'none':![]};}const _0x133f6a=_0xcfd16a['column'][_0x822d9(0xca)]('.')?_0xcfd16a[_0x822d9(0x14d)][_0x822d9(0x1b9)]('.')['pop']():_0xcfd16a[_0x822d9(0x14d)];return{'column':_0x133f6a,'param':_0xcfd16a['requestParam']??_0x133f6a,'none':Boolean(_0xcfd16a['none'])};}function rangeColumn(_0x2b542a){const _0x2f5dd7=_0x113362;return _0x2b542a['column'][_0x2f5dd7(0xca)]('.')?_0x2b542a[_0x2f5dd7(0x14d)]['split']('.')[_0x2f5dd7(0xc2)]():_0x2b542a[_0x2f5dd7(0x14d)];}function tableCol(_0x40c7f0,_0x573d58){const _0x40b5de=_0x113362,_0xd74896=_0x40c7f0[_0x573d58];if(_0xd74896==null)throw new Error(_0x40b5de(0x219)+_0x573d58);return _0xd74896;}function isBlank(_0x266809){return _0x266809===undefined||_0x266809===null||_0x266809==='';}function compactWhere(_0x5a51f6){const _0x105a26=_0x113362;if(_0x5a51f6==null||_0x5a51f6===![])return[];const _0x11671b=Array[_0x105a26(0x13c)](_0x5a51f6)?_0x5a51f6:[_0x5a51f6];return _0x11671b[_0x105a26(0x130)](_0x1d5595=>_0x1d5595!=null&&_0x1d5595!==![]);}var q={'between'(_0x22f86d,_0x157117,_0x397c0b){if(isBlank(_0x157117)||isBlank(_0x397c0b))return;return sql`${_0x22f86d} between ${_0x157117} and ${_0x397c0b}`;},'range'(_0x195e57,_0x59f623,_0x1e9953){const _0x174ea6=_0x113362,_0x31825a=[];if(!isBlank(_0x59f623))_0x31825a[_0x174ea6(0x187)](gte(_0x195e57,_0x59f623));if(!isBlank(_0x1e9953))_0x31825a[_0x174ea6(0x187)](lte(_0x195e57,_0x1e9953));if(!_0x31825a['length'])return;return _0x31825a[_0x174ea6(0x16f)]===0x1?_0x31825a[0x0]:and(..._0x31825a);},'eqRest'(_0x3ed202,_0x2b4726,_0x12a648){const _0x52f0c9=_0x113362,_0x3c7ff2=[];for(const [_0x5110ae,_0x4f6a10]of Object[_0x52f0c9(0x1fd)](_0x3ed202)){if(isBlank(_0x4f6a10))continue;const _0x4caea3=_0x12a648?.[_0x5110ae]??_0x2b4726[_0x5110ae];if(_0x4caea3==null)continue;_0x3c7ff2['push'](eq(_0x4caea3,_0x4f6a10));}return _0x3c7ff2;},'contains'(_0x1f551d,_0x4aa0b3){const _0x2e6437=_0x113362;if(isBlank(_0x4aa0b3))return;const _0x290b5f=Array[_0x2e6437(0x13c)](_0x4aa0b3)?_0x4aa0b3:[_0x4aa0b3];if(!_0x290b5f[_0x2e6437(0x16f)])return;return _0x290b5f[_0x2e6437(0x16f)]===0x1?arrayContains(_0x1f551d,_0x290b5f):arrayOverlaps(_0x1f551d,_0x290b5f);}};function buildFieldClauses(_0x138205,_0x333d82,_0x5b3398){const _0x3d42d8=_0x113362,_0x4290fa=[];if(_0x5b3398[_0x3d42d8(0xd6)]?.[_0x3d42d8(0x16f)]&&!isBlank(_0x333d82[_0x3d42d8(0x10e)])){const _0x2d829f='%'+String(_0x333d82[_0x3d42d8(0x10e)])+'%',_0x409944=_0x5b3398[_0x3d42d8(0xd6)]['map'](_0x4c99c2=>{const _0x29659f=_0x3d42d8,_0x5ced22=_0x4c99c2[_0x29659f(0xca)]('.')?_0x4c99c2['split']('.')['pop']():_0x4c99c2;return like(tableCol(_0x138205,_0x5ced22),_0x2d829f);});if(_0x409944[_0x3d42d8(0x16f)]===0x1)_0x4290fa[_0x3d42d8(0x187)](_0x409944[0x0]);else{if(_0x409944['length']>0x1)_0x4290fa[_0x3d42d8(0x187)](or(..._0x409944));}}for(const _0x866ffd of _0x5b3398[_0x3d42d8(0xdb)]??[]){const {column:_0x44dc6d,param:_0x455a7b}=colName(_0x866ffd),_0x2ae69c=_0x333d82[_0x455a7b];if(isBlank(_0x2ae69c))continue;if(Array[_0x3d42d8(0x13c)](_0x2ae69c)){if(!_0x2ae69c[_0x3d42d8(0x16f)])continue;_0x4290fa[_0x3d42d8(0x187)](inArray(tableCol(_0x138205,_0x44dc6d),_0x2ae69c));}else _0x4290fa['push'](eq(tableCol(_0x138205,_0x44dc6d),_0x2ae69c));}for(const _0x18cbbc of _0x5b3398[_0x3d42d8(0x10b)]??[]){const {column:_0x2c9cfe,param:_0x1d0503}=colName(_0x18cbbc),_0x232cf8=_0x333d82[_0x1d0503];if(isBlank(_0x232cf8))continue;_0x4290fa[_0x3d42d8(0x187)](like(tableCol(_0x138205,_0x2c9cfe),'%'+String(_0x232cf8)+'%'));}for(const _0x4e70ff of _0x5b3398[_0x3d42d8(0x255)]??[]){const {column:_0x4942e0,param:_0x226fdc}=colName(_0x4e70ff),_0x51a3d8=q[_0x3d42d8(0x266)](tableCol(_0x138205,_0x4942e0),_0x333d82[_0x226fdc]);if(_0x51a3d8)_0x4290fa[_0x3d42d8(0x187)](_0x51a3d8);}for(const _0x239c9c of _0x5b3398[_0x3d42d8(0x235)]??[]){const _0x16e0df=tableCol(_0x138205,rangeColumn(_0x239c9c)),_0x467d9a=q[_0x3d42d8(0x145)](_0x16e0df,_0x333d82[_0x239c9c[_0x3d42d8(0x196)]],_0x333d82[_0x239c9c[_0x3d42d8(0x24b)]]);if(_0x467d9a)_0x4290fa[_0x3d42d8(0x187)](_0x467d9a);}return _0x4290fa;}function buildOrderBy(_0x349d88,_0x142c3d,_0x517fc8){const _0x47ee0a=_0x113362,_0x57ec4c=[],_0x167e54=_0x142c3d['order']!=null?String(_0x142c3d[_0x47ee0a(0x1dd)]):undefined,_0x3e2c50=_0x142c3d[_0x47ee0a(0x22a)]===_0x47ee0a(0xe2)||_0x142c3d['sort']===_0x47ee0a(0x1a8)?_0x142c3d['sort']:undefined;if(_0x167e54){const _0x55f39c=tableCol(_0x349d88,_0x167e54);_0x57ec4c[_0x47ee0a(0x187)](_0x3e2c50===_0x47ee0a(0xe2)?asc(_0x55f39c):desc(_0x55f39c));}else{if(_0x517fc8[_0x47ee0a(0x1b1)])for(const [_0x3cbedd,_0x19f6b9]of Object['entries'](_0x517fc8[_0x47ee0a(0x1b1)])){const _0xe4a372=_0x3cbedd[_0x47ee0a(0xca)]('.')?_0x3cbedd[_0x47ee0a(0x1b9)]('.')[_0x47ee0a(0xc2)]():_0x3cbedd,_0x2c9e81=tableCol(_0x349d88,_0xe4a372);_0x57ec4c[_0x47ee0a(0x187)](_0x19f6b9===_0x47ee0a(0xe2)?asc(_0x2c9e81):desc(_0x2c9e81));}}return _0x57ec4c;}function needsAdvancedQuery(_0x2936f8){const _0x29c3fa=_0x113362;return!!(_0x2936f8?.[_0x29c3fa(0x1c4)]?.['length']||_0x2936f8?.[_0x29c3fa(0xf1)]);}async function buildQueryOp(_0xdce952,_0x345206,_0x319a11={},_0x20b47c){const _0x173a1e=_0x113362,_0x46135c=buildFieldClauses(_0xdce952,_0x345206,_0x319a11),_0x1cf024=buildOrderBy(_0xdce952,_0x345206,_0x319a11),_0x1f2dbd={'body':_0x345206,'request':_0x20b47c??new Request('http://local')};_0x319a11[_0x173a1e(0x141)]&&_0x46135c[_0x173a1e(0x187)](...compactWhere(await _0x319a11['where'](_0x1f2dbd)));if(_0x319a11[_0x173a1e(0x198)]){const _0xe067fe={'andWhere'(_0x11a404){if(_0x11a404!=null&&_0x11a404!==![])_0x46135c['push'](_0x11a404);},'orderBy'(..._0x14360b){const _0x14f36f=_0x173a1e;for(const _0x2a108f of _0x14360b){if(_0x2a108f!=null)_0x1cf024[_0x14f36f(0x187)](_0x2a108f);}}};await _0x319a11[_0x173a1e(0x198)](_0xe067fe,_0x1f2dbd);}const _0x391751=_0x46135c[_0x173a1e(0x16f)]===0x0?undefined:_0x46135c[_0x173a1e(0x16f)]===0x1?_0x46135c[0x0]:and(..._0x46135c);return{'where':_0x391751,'orderBySql':_0x1cf024};}import{and as _0x3c8403,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x79b281}from'drizzle-orm';function readCrudConfig(){const _0x57fca7=_0x113362;return VomeConfig[_0x57fca7(0xf2)]?.[_0x57fca7(0xb9)]??{};}function resolveUpsert(_0x33cac8){const _0x303b33=_0x113362;return _0x33cac8??readCrudConfig()[_0x303b33(0x229)]??_0x303b33(0x177);}function resolveSoftDelete(_0x105056){const _0x483f10=_0x113362;if(_0x105056!=null)return _0x105056;return readCrudConfig()[_0x483f10(0x23c)]===!![];}class DbStore{[_0x113362(0x131)];[_0x113362(0x1e9)];['schema'];[_0x113362(0x13b)];constructor(_0x372eac,_0x316bcf,_0x302fe5,_0x40a633){const _0x398efd=_0x113362;this[_0x398efd(0x131)]=_0x372eac,this[_0x398efd(0x1e9)]=_0x316bcf,this[_0x398efd(0x1f0)]=_0x302fe5,this[_0x398efd(0x13b)]=_0x40a633;}}import{and as _0x2df819,inArray as _0x53985f,sql as _0x265346}from'drizzle-orm';import{and as _0x49f201,eq as _0x12d28f,sql as _0x4d63b2}from'drizzle-orm';var SKIP_KEY=_0x113362(0xef);function isTenantEnabled(){const _0x2a5f2b=_0x113362;return VomeConfig[_0x2a5f2b(0xf2)]?.[_0x2a5f2b(0x16a)]===!![];}function tableHasTenantId(_0x45a324){const _0x3a5f2f=_0x113362;return _0x45a324[_0x3a5f2f(0xda)]!=null;}function resolveTenantScope(){const _0x2de6f9=_0x113362;if(!isTenantEnabled())return _0x2de6f9(0xba);const _0x18f414=Context['get']();if(_0x18f414?.[SKIP_KEY])return _0x2de6f9(0xba);if(_0x18f414?.[_0x2de6f9(0xec)])return _0x2de6f9(0x265);const _0x291e7b=_0x18f414?.[_0x2de6f9(0xda)],_0x65cff2=typeof _0x291e7b===_0x2de6f9(0x1c7)?_0x291e7b:Number(_0x291e7b);if(!Number[_0x2de6f9(0x114)](_0x65cff2)||_0x65cff2<=0x0)return _0x2de6f9(0x25f);return _0x65cff2;}function applyTenantWhere(_0x3e4c75,_0x218a92){const _0x1045be=_0x113362;if(!tableHasTenantId(_0x3e4c75))return _0x218a92;const _0x305859=resolveTenantScope();if(_0x305859===_0x1045be(0xba)||_0x305859===_0x1045be(0x265))return _0x218a92;const _0x5f31c2=_0x3e4c75[_0x1045be(0xda)],_0x510514=_0x305859===_0x1045be(0x25f)?_0x4d63b2`false`:_0x12d28f(_0x5f31c2,_0x305859);if(_0x218a92&&_0x510514)return _0x49f201(_0x218a92,_0x510514);return _0x218a92??_0x510514;}function stampTenantId(_0x51e1c6,_0x3c2c80){const _0x142484=_0x113362;if(!tableHasTenantId(_0x51e1c6))return _0x3c2c80;const _0x475b24=resolveTenantScope();if(typeof _0x475b24!=='number')return _0x3c2c80;if(_0x3c2c80[_0x142484(0xda)]!=null)return _0x3c2c80;return{..._0x3c2c80,'tenantId':_0x475b24};}async function noTenant(_0x4db28c){const _0x541106=Context['get']();if(!_0x541106)return _0x4db28c();const _0x20ad3d=_0x541106[SKIP_KEY];_0x541106[SKIP_KEY]=!![];try{return await _0x4db28c();}finally{if(_0x20ad3d===undefined)delete _0x541106[SKIP_KEY];else _0x541106[SKIP_KEY]=_0x20ad3d;}}function normalizeHost(_0x3d9ef7){const _0x31e767=_0x113362;if(!_0x3d9ef7)return'';return _0x3d9ef7[_0x31e767(0x276)]()[_0x31e767(0x212)]()[_0x31e767(0x272)](/:\d+$/,'');}var SKIP_KEY2='__skipDataScope';function tableHasDepartmentId(_0x3118ff){const _0x3ad896=_0x113362;return _0x3118ff[_0x3ad896(0x262)]!=null;}function resolveDataScope(){const _0x5410a8=_0x113362,_0x58000b=Context[_0x5410a8(0x19a)]();if(!_0x58000b)return _0x5410a8(0xba);if(_0x58000b[SKIP_KEY2])return _0x5410a8(0xba);if(_0x58000b[_0x5410a8(0xec)])return _0x5410a8(0x265);const _0x5cf55d=_0x58000b[_0x5410a8(0xb2)];if(_0x5cf55d==null||_0x5cf55d==='')return _0x5410a8(0xba);if(_0x5cf55d===_0x5410a8(0x265))return _0x5410a8(0x265);if(_0x5cf55d===_0x5410a8(0x25f))return _0x5410a8(0x25f);const _0xa56bb9=_0x58000b[_0x5410a8(0x20a)],_0x296535=Array[_0x5410a8(0x13c)](_0xa56bb9)?_0xa56bb9[_0x5410a8(0x10d)](_0x4cfe71=>Number(_0x4cfe71))[_0x5410a8(0x130)](_0x5eff62=>Number[_0x5410a8(0x114)](_0x5eff62)&&_0x5eff62>0x0):[];if(!_0x296535[_0x5410a8(0x16f)])return _0x5410a8(0x25f);return[...new Set(_0x296535)];}function applyDataScopeWhere(_0x2c52be,_0x54b6fd){const _0x16e05e=_0x113362;if(!tableHasDepartmentId(_0x2c52be))return _0x54b6fd;const _0xc0d8ea=resolveDataScope();if(_0xc0d8ea==='off'||_0xc0d8ea===_0x16e05e(0x265))return _0x54b6fd;const _0x56bf7b=_0x2c52be[_0x16e05e(0x262)],_0x41c283=_0xc0d8ea===_0x16e05e(0x25f)?_0x265346`false`:_0x53985f(_0x56bf7b,_0xc0d8ea);if(_0x54b6fd)return _0x2df819(_0x54b6fd,_0x41c283);return _0x41c283;}function _0x3c7c(){const _0x21251d=['nZbYBfPWvxe','zgvSzxrL','CxvLCNK','nJe3odiXmLjkrwDrsG','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','C291CMnL','w1jLCg9ZAxrVCNLDioAjUEMhJ+ABToAwSoAVJ+ADOEMCGow4PIbPza','nde3t2PWzwPj','zgvZyW','CgfNzsbMywLSzwq','w2nVBhvTBKnVBw1LBNrZxsdPNz7MS5xMOiFOR4BNRky6ia','lI9KAxn0l2nSAwvUDc9PBMrLEc5KlNrZ','BwfJCM8','Cgf0Aa','ChjLzML4','Dg9vChbLCKnHC2u','B25czwzVCMviyw5KBgu','ywrKt3jKzxjcEq','CM91DgvqyxjHBxm','y2XVC2u','qxbWig5VDcbMB3vUza','DgfIBgvFBMfTzq','ue9tva','lNDVzMy','DxbKyxrLigzHAwXLza','C3bSAxq','yxbP','DM9TztPJB250CM9SBgvYoNjVDxrLlw1PzgrSzxDHCMu','C2vYDMvY','l2fKBwLUl2v4Dc86A2v5lYO','l2fKBwLU','cMLMicH0ExbLB2yGAgfUzgXLCNmGpt09icD1BMrLzMLUzwqNksbYzxr1CM4GBNvSBdSkCMv0DxjUigHHBMrSzxjZoW','zgvSzxrLtwv0ywrHDge','iowpQUIdVEEuQos6JUAwUEAZLEwpGUAvSa','z2v0tw9UDgG','C29Tzq','AM9PBG','q29TBuv4y2vWDgLVBG','ioE8UUwWKsbOyw5KBgvYoIa','BNvTyMvY','DxbKyxrL','y29UC3rYDwn0B3i','lI9KAxn0l2fKBwLUl2LUzgv4lMqUDhm','Ec1YzwfSlwLW','Cg9ZDa','Bg9N','cIaGicbtruXfq1qkicaGicaGyY5YzwXUyw1LieftihrHyMXLx25HBwuScIaGicaGigeUyxr0BMfTzsbbuYbJB2X1Bw5FBMfTzsWkicaGicaGy29Sx2rLC2nYAxb0Aw9UkgeUyxr0CMvSAwqSigeUyxr0BNvTksbbuYbJB21Tzw50cIaGicbguK9nihbNx2nHDgfSB2CUCgDFy2XHC3mGyWOGicaGsK9jtIbWz19JyxrHBg9NlNbNx25HBwvZCgfJzsbUie9oig4UB2LKid0GyY5YzwXUyw1LC3bHy2ukicaGiePpsu4GCgDFy2f0ywXVzY5Wz19HDhrYAwj1DguGysbptIbHlMf0DhjLBgLKid0GyY5VAwqkicaGifDirvjfigmUCMvSA2LUzca9icDYjWOGicaGicbbtKqGBI5UC3bUyw1Lid0Gy3vYCMvUDf9Zy2HLBweOkqOGicaGicbbtKqGys5HDhrUDw0GpIaWcIaGicaGieforcbot1qGys5HDhrPC2rYB3bWzwqkicaGicaGqu5eigmUCMvSBMfTzsbjtIaO','w0LVy10G5PYQ5RoO5yAm55QeifbYB3zPzgvYoIa','D2L0AfrYyxnOzwq','zMLUza','lI9KAxn0l2nSAwvUDc9PBMrLEc5QCW','ChvIBgLJ','ugfYyw0','kIOVBw9KDwXLCY8Ql3nLCNzPy2uVkIOVkI50CW','lNzVBwu','xJeWlJmUmq','DMfSDwvZ','AxnfCNjVCG','BwLZC2LUzYbLEhbVCNqGAgfUzgXLCNm','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','zgvIDwC','B3jKzxi','lMPWzwC','ioMfJEE9RUs6HIbHCgKVC2vYDMLJzufWAxpVViZKVyBMNkRMIB7LIlaGq1jvrcdLRP7NJRdVViHaDM9Tzs1JB3jLigf0DgfJAenYDwrsB3v0zxmG5PYQ5OYc6l2977Yj','ioEAHoEXU+wEI++8JoIVT+AyVUw8J+s8OowfPsb0B2TLBG','yM9VBgvHBG','kqOGia','w0LVy10GyM9VDhn0CMfWiokgKca','DxrMoa','C3LZDgvT','lI9KAxn0l2nSAwvUDc92AxrLlxbSDwDPBI1LChmUzc50CW','rw50Axr5','CgfNzvf1zxj5t3a','y2XPzw50','zgvMAw5Ltwv0ywrHDge','BgvMDePVAw4','Ag9ZDa','Aw50zxjUywWGC2vYDMvYigvYCM9Y','ndmXohfPDvzmzW','C3jJl2XPyI9WBhvNAw4VAw5KzxGUDhm','C2nOzw1H','C3rHCNrZv2L0Aa','CMvZDg9Yzq','BgLZDcbMywLSzwq','w29IAMvJDcbpyMPLy3rD','u1vdq0vtuW','AwrZ','zM9Yy2vezwXLDgu','Aw5KzxGUAhrTBa','DxbKyxrLvgLTzq','qxnPys9tAgfUz2HHAq','nZeZn1fsq3LgBq','CgfYyw1Z','zw50CMLLCW','C3rHDhvZ','icHWDwjSAwmP','lI9KAxn0l2LUzgv4lMqUDhm','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','pJ0WlJiUma','DhjHC2G','zNvUy3rPB24','C2v0rgf0zq','Dg9Rzw4','xJaUmI4Y','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','iowJSoAyJUs6HIbYB3v0zxmG5l2g57Y65BcrihnLCNzLCI9PBMrLEc5QCW','zgf0yvnJB3bLrgvWDeLKCW','pJ0Xmc4WlJa','C3rVCa','y29UDgvUDa','Bw9KAwz5qwz0zxi','C3rHDhvZq29Kzq','A2v5','z2v0u3rVCMu','Dg9mB3DLCKnHC2u','y2yTy29UBMvJDgLUzY1PCa','Bwf4rgf5CW','yxnZAwDU','Ec1MB3j3yxjKzwqTzM9Y','pJ0ZlJaUma','yNvUihj1BIbIDwLSzdPVyMz1C2nHDgu','w1f1zxj5t3bDioIHQoAxOowTL+AUTtOG','yMvMB3jLsgfUzgXL','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','C3rHCNq','8j+mJsdOV5dOOyZNJQ/LOOm6ia','zgvMyxvSDa','l2fKza','C3jJl21PzgrSzxDHCMuVAw5KzxGUDhm','u2LUz2XLDg9U','DhLWzq','Aw1Hz2uVANbLzW','mI1KAwDPDa','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','B25SEvrYyxnOzwq','qxv0Aa','C2L6zq','DxbZzxj0','C29YDa','l3jLC3rVCMu','lI9KAxn0l2fKBwLUl3nLCNzPy2uVAw5KzxGUANm','z2v0rNvSBfLLyxi','w01VzhvSzv0GBg9HzgvKia','cUkwIokwIokvLYaGiokwIokwIokvLYaGiokwIokwIokwIokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcUkwIokwIokvKsaGiokwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4PwxicdILOJILOJILOJILOJILzCG4PAi4PAi4PAi4PAi4PwricdILOJILOJILztILzdILzdILzdILzdILz0k4PAi4PAi4PwricaG4PAi4PAi4PwricdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvLokwIokwIokwIokwIokvLokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PwxcIdILOJILOJILzCG4PAi4PAi4Pwu4PwDicdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvKEkvMUkwIokwIokvLokvNEkwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4PwDcIaG4PwA4PAi4PAi4PAi4Pwu4PwDicaG4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwDicdILOJILOJILzeG4PwA4Pwq4PwDiokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcIaGiokvMUkvKokvKokvNsaGicaG4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4PwDicaG4PwA4Pwq4PwDicaGicdILzRILzdILz0GiokvMUkvKokvKokvKokvKokvKokvKokvNqO','C3jJl2XPyI9HDxrOl2LUzgv4lNrZ','C3LTyM9S','lI9KAxn0l2fKBwLUl3n0EwXLCY9IyxnLlMnZCW','AxnuvfK','Aw5UzxjkB2LU','zMLLBgrsyw5Nzq','DhLWAw5NCY9Hzg1PBG','CMvXDwvZDa','oduYnJGZq2n4su9g','z2v0twv0ywrHDge','zgLNzxn0','ufvu','C29MDerLBgv0zq','yxv0Aa','zMfPBa','D2fYBG','CM91DgvZ','BgLZDa','u0Lhsu5u','AgfUzgXLCG','BgLZDff1zxj5t3a','y29TBwvUDa','qNvU','Bg9Nz2LUzW','BwvZC2fNzq','zgLJDa','C2vYDMLJzq','Bwf4','y3jLyxrL','qM9KEq','Aw5MBYbMywLSzwq','Aw1Hz2uVC3zNk3HTBa','u0Lhvevstq','Axnoyu4','CMvXDwLYzq','5QIH5z2x5PYQ5yQG6l29','Bw9KDwXLlMPZB24','zMLLBgrbCNjHEq','Bgv2zwW','z2v0uMvWBW','y2XHC3mGjde','DM9Tzs1JB3jL','zgvSzxrLigzHAwXLza','q2fJAgu','Bw9KDwXLCW','Aw5KzxGUANm','zgLY','BM9Uzq','C2nVCgu','Bwv0Ag9K','zgvWyxj0BwvUDeLK','zM9YBwf0','BM90tNvSBa','ywXS','y29UDgfPBNm','CMvHzhK','Cgf0y2G','CM91DgvpChrPB25Z','CgfNzq','yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','pJ0WlJmWlJa','C2XPy2u','w0HVC3rDihnJyw4G4OAqia','Bwq1','lI9KAxn0l2fKBwLUl2nYDwqVAw5KzxGUzc50CW','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','CMvWBgfJzq','6lEV55sX5lIn5A2y5zYO','ChjPBwfYEuTLEq','ChjVzc50CW','DhjPBq','lMH0BwW','BgLZDgvU','ndK2nZi3mNv0zMvQvW','y2fJAgu','Bw9Kzq','Bgf5B3v0','5y2v5lIQ5l+H5OgV','zgvMyxvSDe5VDW','C2nVCgvK','8j+tOsdMNi3LIQhLNldLNya6ia','zg9JDw1LBNrHDgLVBG','BwLKzgXLD2fYzq','ywrK','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPJBgLLBNqGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','l2fKBwLUl2v4Dc86A2v5','C3rKB3v0','lMPZB24','mJyZntC2yvz5z2Dn','CgfYC2vjBNnLCNq','zgf0yq','zw50Axr5','pJ0WlJuUma','Aw1Hz2uVCg5N','lI9KAxn0l2nSAwvUDc92AxrLlxbSDwDPBI1LChmUANm','khSGqMfZzvbSDwDPBIb9kq','y291BNq','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','l2rLBgv0zq','zgvZy3jPChrPB24','C3rYAw5NAwz5','zw5KC1DPDgG','pJ0XlJaUma','y2XHC3nPyW','AhjLzG','lI9KAxn0l2fKBwLUl2nYDwqVAw5KzxGUANm','yNvUihnJCMLWDhmVyNvPBgqTy2XPzw50lNrZ','qMfZzvbSDwDPBG','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVyxbWlYOQlYOUDhm','icHJCNvKkq','w0LVy10Gsw9JlNnLDcG','y3r4','zgf0yvnJB3bL','C3vWCg9YDhntB2z0rgvSzxrL','jg9UvxbKyxrL','B3jKzxjcEvnXBa','q09ntuvovcbptIbdt0Xvtu4G','C3jJl2XPyI9KyI9PBMrLEc50CW','6z2E5Rov5QIH5z2xigTLEq','y3j1za','B2zM','CMvZB2X2zuLKv2HLCMu','Aw5KzxG','DM9TztPPBMPLy3q','pJ00lJaUma','Aw5Zzxj0ugfYyw0','y2HHCKf0','DM9TztPJB250CM9SBgvYoNjVDxrLlxbHCMfTCW','Cg9W','zw5HyMXL','C3rYAw5N','rM9YyMLKzgvU','lI9KAxn0l2fKBwLUl3nLCNzPy2uVAw5KzxGUzc50CW','ChjVCgvYDhLoyw1L','D2vI','rgf0zvrPBwvgB3jTyxq','Aw5JBhvKzxm','CM0GlwyGDM9Tzs1JB3jLlsOUDgD6','C2v0rw50Axr5','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','CgX1z2LUsw5MBW','ywrTAw5jza','DxbKyxrLqNLsB3DZ','uxvLCNK','y2fSBa','zgvMyxvSDc50CW','yxbWBgLJyxrPB24VANnVBJSGy2HHCNnLDd11DgyToa','pJ0ZlJuUma','A2v5v29YzeXPA2vgAwvSzhm','yMvMB3jL','w1jVDxrLCL0G','BwLJCM9bChbZ','DgvUyw50swq','zMLLBgrfCq','C2LUz2XLDg9U','lI90ExbPBMDZl2fKBwLUlYO','Bw9KDwXL','B3bLCMf0Aw9UvgL0BgvtB3vYy2u','A2v5CW','DMfYigHHBMrSzxjZid0GEW','yxnJ','DgvZDa','zMLUzej5swq','Bw9KDwXLlwDHDgv3yxK','zgvZAwDUoNr5Cgu','vgfZAW','yMLUzevUDgL0Eq','yxbWBgLJyxrPB24VANnVBG','zgv2lNrZ','yM9VDhn0CMfW','AxntDxbLCG','ksdPNidOPOeGy2XHC3mG5A6E5l6l77Ym5lUL5l6/56gU5A6AihvZzunSyxnZ','ugX1z2LU','x19ZA2LWvgvUyw50','xJaUms4Xma','C2vSzwn0','DM9Tzq','Bwf0y2G','ihnLCNzPy2uSia','zxbZ','Dgv4Dc9JC3m7ignOyxjZzxq9DxrMltG','Dw5RBM93BG','AgfUzgXLCIdNVlRLPle6ia','C3vTBwfYEq','uefuq0G','C3jJl2XPyI9TB2r1BguVAw5KzxGUDhm','w0nsvurDia','AgfZ','5yIg6Ag15P+L6k+I','Dw5ZywzL','D3jPDgu','yNvUihj1BIbIDwLSzcaMjIbIDw4GCNvUig9IzNvZy2f0zq','ywrTAw5bDxrO','w01VzhvSzv0GBg9HzcbMywLSzwqG','lI9KAxn0l2fKBwLUlYOUzc50CW','Ahr0CdOVl2XVy2fSAg9ZDdO','yMLUza','Aw5PDa','DM9TztPJB250CM9SBgvYoNjVDxrLlxb1yMXPyW','B3jKzxjcEq','BM90igzVDw5K','zMLLBgrmAwTL','z2v0u1fm','BwfW','A2v5v29Yza','z2v0rgf0zq','w0HVC3rDignYDwqG4OAqieb2B21LlwnVCMuVB3jT','DxnLq2XHC3m','lI9KAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','C2nVCgvKv2HLCMu','AxngAw5PDgu','l2LUzM8','DMfSDwu','ChjVDg90ExbL','ioMhJEwKJsba','AwrZihjLCxvPCMvK','BM93','zMLUze9Uzq','w0nVBNrLEhrDiow9K+wjJEAxOoIVT+AXGUs4IUs4I+AwH++8JowgMEwfPEIIQ+w/VEEvPE+8IoIVT+EHRUIUPcbHC3LUy0nVBNrLEhrnyw5Hz2vYiow3SUwqR+EuQo+8Iq','CMvXDwLYzuvUDgL0Eq','Cg9YDa','lI9KAxn0l2fKBwLUlYOUANm','C2f2zq','ihjVDxrLkhmP','AwDUB3jLugvYBxm','g1SYsHTBsa','lMXVzW','BgfZDeLUzgv4t2y','zgLZDa','Aw5MBW','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','zgv2','lI9KAxn0l2fKBwLUl3jVDxrLCI9PBMrLEc5KlNrZ','l3vWzgf0zq','Ec1MB3j3yxjKzwqTAg9ZDa','tw9KDwXL','BNvTzxjPyW','zMLUzfbHz2u','zMLSDgvY','zhjPENPSzq','B2zMC2v0','zw50zxjxAxrO','BgLTAxq','C3jJl2XPyI9JywnOzs9PBMrLEc50CW','AgvHzgvYCW','C2LKzq','CgfYC2u','AgfZrw50Axr5','BwfUAwzLC3q','C3fS','AxnbCNjHEq','5yIx6kgO5P+L6k+I','z2v0vgLTzq','ieLticC','Chv0','D2HLCMu','57Y65Bcrig1VzhvSzs5QC29UoIa','pJ0YlJaUma','lM1HCa','CMfUz2u','lw1Hy3jV','zMLSzq','AgfUzgXLCNm','r0vu','B2jQzwn0','DM9TztPJB250CM9SBgvYoNjVDxrLlxbLCM1Z','DxnL','y29SDw1U','mZKYmJK5nwLHt1zesq','zxHPDa','5QIH5z2xia','igzHAwXLza','y29UDgvUDc10ExbL','D2vIqxv0Aa','CMv0DxjUAw5N','C3jJl3nOyxjLza','B25szxf1zxn0','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','C3yTu0u','l2rVy3m','BM8Ty2fJAgu','zgvSzxrLzef0','Aw5MB0LNBM9YzvbYB3bLCNr5','lI9KAxn0l2fKBwLUl3jVDxrLCI9PBMrLEc5QCW','rvjst1i','Bg9JywXLq29TCgfYzq','B25Jzq','C2nHBG','ignVBNrYB2XSzxiGzMLSzsHZkq','y3DK','C2vYDMLJzufWAxm','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xMGAlLPi0','ioIHQoAxOcbPzcdLIjC','zxjYB3i','y2XLyxi','AxngAwXL','DgvUyw50','ioMfJEE9RUs6HIbZzxj2AwnLqxbPC++8JoMCGowqJoAxTUMfJEE9RIbZzxj2AwnL','kgfUB255Bw91CYK','DgfIBgu','CMvXDwvZDeXVzW','BgvUz3rO','w0nVBNrYB2XSzxjDiea','C2v0','DMfYifbSDwDPBIa9','DMfYigHHBMrSzxjZid0','B25fCNjVCG','Bw9KDwXLr2f0zxDHEq','y29UDhjVBgXLCG','Aw5Zzxj0','AxneAxjLy3rVCNK','ios4JEAyR+ACIEAvIcbOyw5KBgvY','Dg9tDhjPBMC','yxbW','zM9Yy2u','ios4JEAyR+ACIEAvIoAwUEAZLq','C3jJl2nVBMzPzW','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','lNbUzW','zM9UDc93B2zM','5QIH5z2x5PYQ5A6j6kof5OIw5PYQ5yQG6l29','C2nHBgfY','B3bLBMfWAq','lI9KAxn0l2LUzgv4lMPZ','w1bSDwDPBL0G5yQG6l295AsX6lsLoIa','ChvZAa','zw5K','Agv4','CgfKu3rHCNq','CgX1z2LUu2vYDMLJzq','y29Kzq','yM9KEq','BMfTzq','zNjVBq','y29SDw1Ux25HBwu','y29SDw1UvhLWzq','Bgf0zxn0','zxHWB3j0CW','otHoqMjnAMO','tK9erv9ftLy','BwLU','yNvUihnJCMLWDhmVyNvPBgqTywrTAw4UDhm','zxH0zw5K','tM90iezVDw5K','z2v0','ywrTAw4','CgvYBxm','DgfNCW','pJ05lJaUma','Bw9KAwz5qMvMB3jL'];_0x3c7c=function(){return _0x21251d;};return _0x3c7c();}function applyRowScopes(_0xd4d486,_0x394094){return applyDataScopeWhere(_0xd4d486,applyTenantWhere(_0xd4d486,_0x394094));}async function noDataScope(_0x1e4de1){const _0x1e6fa4=Context['get']();if(!_0x1e6fa4)return _0x1e4de1();const _0x5fe67b=_0x1e6fa4[SKIP_KEY2];_0x1e6fa4[SKIP_KEY2]=!![];try{return await _0x1e4de1();}finally{if(_0x5fe67b===undefined)delete _0x1e6fa4[SKIP_KEY2];else _0x1e6fa4[SKIP_KEY2]=_0x5fe67b;}}function deletedAtColumn(_0x1fce0d){const _0x26b66c=_0x113362;return _0x1fce0d[_0x26b66c(0x15b)];}function trashClause(_0x28688e,_0x34e5e0){const _0x124797=_0x113362;if(!resolveSoftDelete(_0x34e5e0?.['softDelete']))return;const _0x24686a=deletedAtColumn(_0x28688e);if(_0x24686a==null)return;if(_0x34e5e0?.[_0x124797(0x226)])return isNotNull(_0x24686a);if(_0x34e5e0?.[_0x124797(0x1d0)])return;return isNull(_0x24686a);}function mergeWhere(_0x577908,_0x2d0b75){if(_0x577908&&_0x2d0b75)return _0x3c8403(_0x2d0b75,_0x577908);return _0x577908??_0x2d0b75;}function applyJoins(_0x2fd1fe,_0x250793,_0x293fd4){const _0x2ff5f0=_0x113362;let _0x5a8edf=_0x2fd1fe;for(const _0x11fcca of _0x293fd4[_0x2ff5f0(0x1c4)]??[]){const _0x42ae1a=_0x11fcca['table'],_0xbd841a=_0x11fcca['on'](_0x250793),_0x30e6b3=_0x11fcca[_0x2ff5f0(0x222)]??'leftJoin';_0x30e6b3===_0x2ff5f0(0x234)||_0x30e6b3===_0x2ff5f0(0x1c4)?_0x5a8edf=_0x5a8edf[_0x2ff5f0(0x234)](_0x42ae1a,_0xbd841a):_0x5a8edf=_0x5a8edf[_0x2ff5f0(0x1eb)](_0x42ae1a,_0xbd841a);}return _0x5a8edf;}function resolveSelect(_0x51c2ce,_0x135cd3){const _0x46d41a=_0x113362;if(_0x135cd3[_0x46d41a(0xf1)])return _0x135cd3[_0x46d41a(0xf1)];return getTableColumns(_0x51c2ce);}function countExpr(_0x111f07,_0xde8d9f){const _0x3fb50a=_0x111f07['id'];if(_0x3fb50a!=null&&_0xde8d9f)return countDistinct(_0x3fb50a);if(_0x3fb50a!=null)return count(_0x3fb50a);return count(_0x79b281`*`);}async function queryWithOp(_0x5dbfc8,_0x1fc5c6,_0x2f26de,_0x30dcc0){const _0x31028f=_0x113362,_0x408711=await buildQueryOp(_0x5dbfc8,_0x1fc5c6,_0x2f26de,_0x30dcc0[_0x31028f(0x237)]),_0x3e26be=trashClause(_0x5dbfc8,_0x30dcc0[_0x31028f(0x203)]),_0x48961d=applyRowScopes(_0x5dbfc8,mergeWhere(_0x408711['where'],_0x3e26be)),_0x2a60c8=resolveSelect(_0x5dbfc8,_0x2f26de),_0x1e4549=!!_0x2f26de['join']?.[_0x31028f(0x16f)],_0x550504=Ioc['get'](DbStore)[_0x31028f(0x131)];let _0x197a32=applyJoins(_0x550504['select'](_0x2a60c8)[_0x31028f(0x18f)](_0x5dbfc8),_0x5dbfc8,_0x2f26de);if(_0x48961d)_0x197a32=_0x197a32[_0x31028f(0x141)](_0x48961d);if(_0x408711[_0x31028f(0xb5)]['length'])_0x197a32=_0x197a32['orderBy'](..._0x408711['orderBySql']);if(_0x30dcc0[_0x31028f(0x27b)]===_0x31028f(0x241))return await _0x197a32;const _0x4b899a=Math[_0x31028f(0x24b)](0x1,Number(_0x1fc5c6['page']??0x1)),_0x5285a8=Math['min'](0x64,Math[_0x31028f(0x24b)](0x1,Number(_0x1fc5c6[_0x31028f(0x228)]??0x14))),_0x280999=(_0x4b899a-0x1)*_0x5285a8,_0x3cdeb0=await _0x197a32['limit'](_0x5285a8)[_0x31028f(0x132)](_0x280999);let _0x237af9=applyJoins(_0x550504[_0x31028f(0xf1)]({'value':countExpr(_0x5dbfc8,_0x1e4549)})[_0x31028f(0x18f)](_0x5dbfc8),_0x5dbfc8,_0x2f26de);if(_0x48961d)_0x237af9=_0x237af9[_0x31028f(0x141)](_0x48961d);const _0xb139e0=await _0x237af9,_0x398e8e=Number(_0xb139e0[0x0]?.[_0x31028f(0x116)]??0x0);return{'list':_0x3cdeb0,'pagination':{'page':_0x4b899a,'size':_0x5285a8,'total':_0x398e8e}};}import{and as _0x5a6bdf,count as _0x1d4d9e,eq as _0x3fcf8a,inArray as _0x174d7e,isNotNull as _0x215007,isNull as _0x41e242}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0x51cd39){return{'select':createSelectSchema(_0x51cd39),'insert':createInsertSchema(_0x51cd39),'update':createUpdateSchema(_0x51cd39)};}var WRITE_META_KEYS=['createTime',_0x113362(0x1f9),_0x113362(0x15b)];function sanitizeWritePayload(_0x23ae69){const _0x4d714d=_0x113362,_0x4a488a=_0x23ae69&&typeof _0x23ae69===_0x4d714d(0x14a)&&!Array[_0x4d714d(0x13c)](_0x23ae69)?{..._0x23ae69}:{};for(const _0x30c560 of WRITE_META_KEYS)delete _0x4a488a[_0x30c560];for(const [_0x5a4acd,_0x81c7df]of Object[_0x4d714d(0x1fd)](_0x4a488a)){if(typeof _0x81c7df!==_0x4d714d(0xc4))continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x4d714d(0xe3)](_0x81c7df))continue;const _0x4223b0=new Date(_0x81c7df);if(!Number[_0x4d714d(0x251)](_0x4223b0[_0x4d714d(0x13e)]()))_0x4a488a[_0x5a4acd]=_0x4223b0;}return _0x4a488a;}function isSqlLike(_0x197a6a){const _0x584732=_0x113362;return!!_0x197a6a&&typeof _0x197a6a===_0x584732(0x14a)&&_0x197a6a[_0x584732(0x10c)]!=null;}function db(){const _0xbe118c=_0x113362;return Ioc[_0xbe118c(0x19a)](DbStore)[_0xbe118c(0x131)];}function tableId(_0x9a68b5){const _0x5d2967=_0x9a68b5['id'];if(!_0x5d2967)throw new Error('[Repository]\x20\u8868\u65E0\x20id\x20\u5217\uFF0C\u8BF7\u6539\u7528\x20find(where)\x20/\x20findOne(where)');return _0x5d2967;}function deletedAtColumn2(_0x26dc16){const _0x29c6d9=_0x113362;return _0x26dc16[_0x29c6d9(0x15b)];}function mergeWhere2(_0x68641e,_0x42954f){if(_0x68641e&&_0x42954f)return _0x5a6bdf(_0x42954f,_0x68641e);return _0x68641e??_0x42954f;}function trashClause2(_0x37a840,_0x385381){const _0x1b8eb3=_0x113362;if(!resolveSoftDelete(_0x385381?.[_0x1b8eb3(0x23c)]))return;const _0x3b4655=deletedAtColumn2(_0x37a840);if(_0x3b4655==null)return;if(_0x385381?.[_0x1b8eb3(0x226)])return _0x215007(_0x3b4655);if(_0x385381?.['withTrashed'])return;return _0x41e242(_0x3b4655);}class Repository{[_0x113362(0x16d)];[_0x113362(0x1f0)];constructor(_0x159f14,_0x324dbd){const _0x116fbc=_0x113362;this[_0x116fbc(0x16d)]=_0x159f14,this[_0x116fbc(0x1f0)]=_0x324dbd??entitySchemas(_0x159f14);}[_0x113362(0xb3)](){const _0x334c52=_0x113362;return deletedAtColumn2(this[_0x334c52(0x16d)])!=null;}[_0x113362(0x113)](_0x26b0c3,_0x183e40){const _0xdeb1b2=_0x113362;return applyRowScopes(this[_0xdeb1b2(0x16d)],mergeWhere2(_0x26b0c3,trashClause2(this[_0xdeb1b2(0x16d)],_0x183e40)));}async[_0x113362(0x1d1)](_0x30b615,_0x35cc67){const _0x2b90be=_0x113362,_0x578f76=this['scopedWhere'](_0x30b615,_0x35cc67);let _0xa0fca9=db()['select']()[_0x2b90be(0x18f)](this[_0x2b90be(0x16d)]);if(_0x578f76)_0xa0fca9=_0xa0fca9[_0x2b90be(0x141)](_0x578f76);if(_0x35cc67?.[_0x2b90be(0x109)]?.[_0x2b90be(0x16f)])_0xa0fca9=_0xa0fca9[_0x2b90be(0x109)](..._0x35cc67[_0x2b90be(0x109)]);return await _0xa0fca9;}async[_0x113362(0x11b)](_0x5c3de3,_0x5125fb){const _0x31212d=_0x113362,[_0x412f49]=await this[_0x31212d(0x1d1)](_0x5c3de3,_0x5125fb);return _0x412f49;}async[_0x113362(0xe4)](_0x301871,_0x22be23){const _0x1db532=_0x113362;return this[_0x1db532(0x11b)](_0x3fcf8a(tableId(this[_0x1db532(0x16d)]),_0x301871),_0x22be23);}async[_0x113362(0xa1)](_0x2b170c,_0x407bd0){const _0x21ad7e=_0x113362,_0x4b3f27=this[_0x21ad7e(0x113)](_0x2b170c,_0x407bd0),_0x100327=db()[_0x21ad7e(0xf1)]({'value':_0x1d4d9e()})['from'](this[_0x21ad7e(0x16d)]),_0x3dad75=_0x4b3f27?await _0x100327[_0x21ad7e(0x141)](_0x4b3f27):await _0x100327;return Number(_0x3dad75[0x0]?.['value']??0x0);}async[_0x113362(0x12f)](_0x10347a){const _0x100994=_0x113362,{page:_0x34cb62,size:_0x4cac15,where:_0x31f4a8,orderBy:_0x3fc12a,withTrashed:_0x45d907,onlyTrashed:_0x1e0cc3,softDelete:_0x174a2e}=_0x10347a,_0x260419={'withTrashed':_0x45d907,'onlyTrashed':_0x1e0cc3,'softDelete':_0x174a2e},_0x4652d6=this[_0x100994(0x113)](_0x31f4a8,_0x260419),_0x239a33=(_0x34cb62-0x1)*_0x4cac15;let _0x5ca682=db()[_0x100994(0xf1)]()['from'](this[_0x100994(0x16d)]);if(_0x4652d6)_0x5ca682=_0x5ca682[_0x100994(0x141)](_0x4652d6);if(_0x3fc12a?.[_0x100994(0x16f)])_0x5ca682=_0x5ca682['orderBy'](..._0x3fc12a);const _0x2a2cfa=await _0x5ca682[_0x100994(0x134)](_0x4cac15)[_0x100994(0x132)](_0x239a33),_0x1abf4b=await this[_0x100994(0xa1)](_0x31f4a8,_0x260419);return{'list':_0x2a2cfa,'pagination':{'page':_0x34cb62,'size':_0x4cac15,'total':_0x1abf4b}};}[_0x113362(0x289)](_0x5b6ade){const _0x2140ef=_0x113362,_0x15743f=stampTenantId(this[_0x2140ef(0x16d)],sanitizeWritePayload(_0x5b6ade));return this[_0x2140ef(0x1f0)]['insert'][_0x2140ef(0x138)](_0x15743f);}async[_0x113362(0x24c)](_0x4c99bb){const _0x5ebbc0=_0x113362;if(Array[_0x5ebbc0(0x13c)](_0x4c99bb)){if(!_0x4c99bb[_0x5ebbc0(0x16f)])return[];const _0xcbff23=_0x4c99bb[_0x5ebbc0(0x10d)](_0x14b666=>this['parseInsert'](_0x14b666));return await db()[_0x5ebbc0(0x177)](this['table'])[_0x5ebbc0(0x1d8)](_0xcbff23)[_0x5ebbc0(0x154)]();}const [_0x307b6e]=await db()['insert'](this[_0x5ebbc0(0x16d)])[_0x5ebbc0(0x1d8)](this[_0x5ebbc0(0x289)](_0x4c99bb))[_0x5ebbc0(0x154)]();return _0x307b6e;}async['save'](_0x1f499c){const _0x191374=_0x113362;if(Array[_0x191374(0x13c)](_0x1f499c)){if(!_0x1f499c[_0x191374(0x16f)])return[];const _0x25148a=_0x1f499c,_0x196dc0=tableId(this[_0x191374(0x16d)]),_0x2c79ce=_0x25148a[_0x191374(0x130)](_0x1df9c6=>_0x1df9c6?.['id']!=null&&_0x1df9c6['id']!==''),_0x3cba2f=_0x25148a[_0x191374(0x130)](_0x2d4e6b=>_0x2d4e6b?.['id']==null||_0x2d4e6b['id']==='');let _0x3fe67b=new Set();if(_0x2c79ce[_0x191374(0x16f)]){const _0x282e4c=await this['find'](_0x174d7e(_0x196dc0,_0x2c79ce[_0x191374(0x10d)](_0x1c3a05=>_0x1c3a05['id'])));_0x3fe67b=new Set(_0x282e4c[_0x191374(0x10d)](_0x516299=>_0x516299['id']));}const _0x549f87=[],_0x5717f2=[..._0x3cba2f];for(const _0x244e6d of _0x2c79ce){if(_0x3fe67b['has'](_0x244e6d['id']))_0x549f87[_0x191374(0x187)](_0x244e6d);else _0x5717f2[_0x191374(0x187)](_0x244e6d);}const _0x38f4db=_0x549f87[_0x191374(0x16f)]?await this[_0x191374(0x1c8)](_0x549f87):[],_0x2c259d=_0x5717f2['length']?await this[_0x191374(0x24c)](_0x5717f2):[];return[...Array['isArray'](_0x38f4db)?_0x38f4db:_0x38f4db?[_0x38f4db]:[],...Array[_0x191374(0x13c)](_0x2c259d)?_0x2c259d:_0x2c259d?[_0x2c259d]:[]];}const _0x4aab5a=_0x1f499c,_0x11cc01=_0x4aab5a?.['id'];if(_0x11cc01!=null&&_0x11cc01!==''){const _0xac19b7=await this[_0x191374(0xe4)](_0x11cc01);if(_0xac19b7){const {id:_0xc87838,..._0x2a2d94}=_0x4aab5a,_0x2f2a47=await this[_0x191374(0x1c8)](_0x3fcf8a(tableId(this[_0x191374(0x16d)]),_0x11cc01),_0x2a2d94);return _0x2f2a47??_0xac19b7;}}return await this[_0x191374(0x24c)](_0x1f499c);}async['update'](_0x3f0c45,_0x434614){const _0x38b131=_0x113362;if(Array[_0x38b131(0x13c)](_0x3f0c45))return this[_0x38b131(0xd0)](_0x3f0c45);const _0x4a9b0b=this[_0x38b131(0x1f0)][_0x38b131(0x1c8)][_0x38b131(0x138)](sanitizeWritePayload(_0x434614)),_0x8fbc4=applyRowScopes(this['table'],_0x3f0c45);if(!_0x8fbc4)return;const [_0x2e9759]=await db()[_0x38b131(0x1c8)](this['table'])[_0x38b131(0x171)](_0x4a9b0b)[_0x38b131(0x141)](_0x8fbc4)[_0x38b131(0x154)]();return _0x2e9759;}async['updateByRows'](_0x44d7ee){const _0x4b486c=_0x113362;if(!_0x44d7ee[_0x4b486c(0x16f)])return[];const _0x4e672a=tableId(this['table']),_0x1084b0=new Map();for(const _0x5994fb of _0x44d7ee){const _0x352942=_0x5994fb['id'];if(_0x352942==null||_0x352942==='')throw new Error(_0x4b486c(0x1a6));const {id:_0x2e9a0f,..._0xb9a8fc}=_0x5994fb,_0x4b2085=this['schema'][_0x4b486c(0x1c8)]['parse'](sanitizeWritePayload(_0xb9a8fc)),_0x90d3b0=JSON[_0x4b486c(0xa6)](_0x4b2085),_0xb03865=_0x1084b0['get'](_0x90d3b0);if(_0xb03865)_0xb03865[_0x4b486c(0x1f6)][_0x4b486c(0x187)](_0x352942);else _0x1084b0[_0x4b486c(0x171)](_0x90d3b0,{'ids':[_0x352942],'patch':_0x4b2085});}const _0x2547a8=[];for(const {ids:_0x3949a8,patch:_0x37e77c}of _0x1084b0[_0x4b486c(0x1d8)]()){const _0x313fc4=applyRowScopes(this[_0x4b486c(0x16d)],_0x174d7e(_0x4e672a,_0x3949a8));if(!_0x313fc4)continue;const _0x2dc550=await db()['update'](this[_0x4b486c(0x16d)])[_0x4b486c(0x171)](_0x37e77c)[_0x4b486c(0x141)](_0x313fc4)[_0x4b486c(0x154)]();_0x2547a8['push'](..._0x2dc550);}return _0x2547a8;}[_0x113362(0xbb)](_0x4b224f){const _0x33ed8a=_0x113362;if(isSqlLike(_0x4b224f))return applyRowScopes(this[_0x33ed8a(0x16d)],_0x4b224f);const _0x6fd42a=Array[_0x33ed8a(0x13c)](_0x4b224f)?_0x4b224f:[_0x4b224f];if(!_0x6fd42a[_0x33ed8a(0x16f)])return;return applyRowScopes(this['table'],_0x174d7e(tableId(this['table']),_0x6fd42a));}async[_0x113362(0x23c)](_0x136feb){const _0x7d04c9=_0x113362;if(!this[_0x7d04c9(0xb3)]())throw new Error('[Repository]\x20\u8868\u65E0\x20deletedAt\uFF0C\u65E0\u6CD5\u8F6F\u5220\u9664');const _0x4d4524=this['resolveIdWhere'](_0x136feb);if(!_0x4d4524)return;await db()[_0x7d04c9(0x1c8)](this[_0x7d04c9(0x16d)])[_0x7d04c9(0x171)]({'deletedAt':new Date()})['where'](_0x4d4524);}async[_0x113362(0x1f2)](_0x11b701){const _0x238ef8=_0x113362;if(!this[_0x238ef8(0xb3)]())throw new Error(_0x238ef8(0x165));const _0x3cc134=this[_0x238ef8(0xbb)](_0x11b701);if(!_0x3cc134)return;await db()[_0x238ef8(0x1c8)](this[_0x238ef8(0x16d)])[_0x238ef8(0x171)]({'deletedAt':null})[_0x238ef8(0x141)](_0x3cc134);}async[_0x113362(0x1f7)](_0x40e790){const _0x524bc5=_0x113362,_0x3bfe9c=this[_0x524bc5(0xbb)](_0x40e790);if(!_0x3bfe9c)return;await db()[_0x524bc5(0x1a1)](this[_0x524bc5(0x16d)])[_0x524bc5(0x141)](_0x3bfe9c);}}var repoCache=new WeakMap();function getRepository(_0x37c737){const _0xc0093b=_0x113362,_0x5cb05a=repoCache[_0xc0093b(0x19a)](_0x37c737);if(_0x5cb05a)return _0x5cb05a;const _0x4c888a=new Repository(_0x37c737);return repoCache[_0xc0093b(0x171)](_0x37c737,_0x4c888a),_0x4c888a;}function InjectRepository(_0x3bc813){return(_0x19d8da,_0x57f5d5)=>{const _0xbfd470=_0x1a18;appendInjectMeta(_0x19d8da[_0xbfd470(0x1c9)],{'propertyKey':_0x57f5d5,'resolve':()=>getRepository(_0x3bc813)});};}function isSql(_0x304332){const _0x160dab=_0x113362;return!!_0x304332&&typeof _0x304332===_0x160dab(0x14a)&&_0x304332['getSQL']!=null;}class BaseService{['entity'];[_0x113362(0xe8)](_0x19fe43){const _0x5baaf5=_0x113362;if(!this[_0x5baaf5(0x28b)])this[_0x5baaf5(0x28b)]=_0x19fe43;}['setEntity'](_0x1fd902){const _0x4089c7=_0x113362;this[_0x4089c7(0x28b)]=_0x1fd902;}[_0x113362(0x139)](){const _0x31ffc7=_0x113362;return!!this[_0x31ffc7(0x28b)];}[_0x113362(0x257)](){return this['requireEntity']();}[_0x113362(0x11d)](){const _0x59c2f4=_0x113362;if(!this[_0x59c2f4(0x28b)])throw new Error(_0x59c2f4(0xa3));return this[_0x59c2f4(0x28b)];}async[_0x113362(0x19f)](_0x164358,_0x1e596a){}async['modifyAfter'](_0x3adf3d,_0x31f085){}async[_0x113362(0x283)](_0x25c307,_0x74bc90){const _0x4a25f9=_0x113362,_0xefe202=resolveUpsert(_0x74bc90?.[_0x4a25f9(0x229)]),_0x122d9f=Array['isArray'](_0x25c307)?_0x25c307[_0x4a25f9(0x10d)](_0xf6e760=>_0xf6e760!=null&&typeof _0xf6e760===_0x4a25f9(0x14a)?{..._0xf6e760}:_0xf6e760):_0x25c307!=null&&typeof _0x25c307===_0x4a25f9(0x14a)?{..._0x25c307}:_0x25c307;await this[_0x4a25f9(0x19f)](_0x122d9f,'add');const _0xe35884=_0xefe202===_0x4a25f9(0x120)?await this['requireEntity']()[_0x4a25f9(0x120)](_0x122d9f):await this[_0x4a25f9(0x11d)]()[_0x4a25f9(0x24c)](_0x122d9f);return await this[_0x4a25f9(0x20e)](_0xe35884??_0x122d9f,_0x4a25f9(0x283)),_0xe35884;}async[_0x113362(0x1c8)](_0x6aeff2,_0x4a5e9b){const _0x57f6b8=_0x113362;if(Array[_0x57f6b8(0x13c)](_0x6aeff2)){const _0x109200=_0x6aeff2['map'](_0x1084f6=>({..._0x1084f6}));await this[_0x57f6b8(0x19f)](_0x109200,_0x57f6b8(0x1c8));const _0x571867=await this['requireEntity']()['update'](_0x109200);return await this[_0x57f6b8(0x20e)](_0x571867??_0x109200,_0x57f6b8(0x1c8)),_0x571867;}if(isSql(_0x6aeff2)){const _0x263cf7=_0x4a5e9b!=null&&typeof _0x4a5e9b===_0x57f6b8(0x14a)?{..._0x4a5e9b}:_0x4a5e9b;await this[_0x57f6b8(0x19f)](_0x263cf7,_0x57f6b8(0x1c8));const _0x1b1ec0=await this['requireEntity']()[_0x57f6b8(0x1c8)](_0x6aeff2,_0x263cf7);return await this[_0x57f6b8(0x20e)](_0x1b1ec0??_0x263cf7,_0x57f6b8(0x1c8)),_0x1b1ec0;}const _0xf79ea7={..._0x6aeff2};await this[_0x57f6b8(0x19f)](_0xf79ea7,_0x57f6b8(0x1c8));const _0x10bf6b=await this[_0x57f6b8(0x11d)]()[_0x57f6b8(0x1c8)]([_0xf79ea7]);return await this[_0x57f6b8(0x20e)](_0x10bf6b??_0xf79ea7,_0x57f6b8(0x1c8)),Array[_0x57f6b8(0x13c)](_0x10bf6b)?_0x10bf6b[0x0]:_0x10bf6b;}async[_0x113362(0x1a1)](_0x1ba497,_0x1f4ee1){const _0x33ca67=_0x113362,_0x3f3b8e=this[_0x33ca67(0x11d)]();await this[_0x33ca67(0x19f)](_0x1ba497,_0x33ca67(0x1a1));const _0x958bef=resolveSoftDelete(_0x1f4ee1?.['softDelete']);_0x1f4ee1?.['force']||!_0x958bef||!_0x3f3b8e['supportsSoftDelete']()?await _0x3f3b8e[_0x33ca67(0x1f7)](_0x1ba497):await _0x3f3b8e[_0x33ca67(0x23c)](_0x1ba497),await this[_0x33ca67(0x20e)](_0x1ba497,_0x33ca67(0x1a1));}[_0x113362(0x1f2)](_0x26bc4f){const _0x27537a=_0x113362;return this[_0x27537a(0x11d)]()[_0x27537a(0x1f2)](_0x26bc4f);}[_0x113362(0x241)](_0xcf6a58,_0x4348de){return this['requireEntity']()['find'](_0xcf6a58,_0x4348de);}[_0x113362(0x127)](_0x5fe321,_0x2de5dd){const _0x491dbd=_0x113362,_0x3a4b77=this['requireEntity']();if(typeof _0x5fe321==='object')return _0x3a4b77[_0x491dbd(0x11b)](_0x5fe321,_0x2de5dd);return _0x3a4b77['findById'](_0x5fe321,_0x2de5dd);}['page'](_0x6b6f4e={}){const _0x5260ac=_0x113362,_0x517e34=Math['max'](0x1,_0x6b6f4e[_0x5260ac(0x26a)]??0x1),_0x280cd0=Math[_0x5260ac(0x196)](0x64,Math[_0x5260ac(0x24b)](0x1,_0x6b6f4e['size']??0x14));return this[_0x5260ac(0x11d)]()[_0x5260ac(0x12f)]({'page':_0x517e34,'size':_0x280cd0,'where':_0x6b6f4e[_0x5260ac(0x141)],'orderBy':_0x6b6f4e['orderBy'],'withTrashed':_0x6b6f4e[_0x5260ac(0x1d0)],'onlyTrashed':_0x6b6f4e['onlyTrashed'],'softDelete':_0x6b6f4e[_0x5260ac(0x23c)]});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':_0x113362(0x27d),'list':_0x113362(0x13d),'page':_0x113362(0xfe),'restore':'\u6062\u590D'},CRUD_APIS=[_0x113362(0x283),_0x113362(0x1a1),_0x113362(0x1c8),_0x113362(0x127),_0x113362(0x241),_0x113362(0x26a),'restore'],BEFORE_APIS=new Set(['add',_0x113362(0x1c8),_0x113362(0x1a1),'restore']);function omitProps(_0x57c175,_0x202b40){if(!_0x57c175||!_0x202b40?.['length'])return _0x57c175;const _0x57784c={..._0x57c175};for(const _0x184264 of _0x202b40)delete _0x57784c[_0x184264];return _0x57784c;}function resolveIds(_0x47d2d9){const _0x5bcac5=_0x113362;if(Array[_0x5bcac5(0x13c)](_0x47d2d9))return _0x47d2d9[_0x5bcac5(0x10d)](_0x38d0f1=>{const _0x3a52b2=_0x5bcac5;if(_0x38d0f1!=null&&typeof _0x38d0f1===_0x3a52b2(0x14a)&&'id'in _0x38d0f1)return _0x38d0f1['id'];return _0x38d0f1;});if(_0x47d2d9&&typeof _0x47d2d9===_0x5bcac5(0x14a)){const _0x322109=_0x47d2d9;if(Array[_0x5bcac5(0x13c)](_0x322109['ids']))return _0x322109[_0x5bcac5(0x1f6)];if(_0x322109['id']!=null)return[_0x322109['id']];}return[];}function resolveService(_0x2eb60c){const _0x44677f=_0x113362,_0x39b502=_0x2eb60c[_0x44677f(0xb9)],_0x217cda=_0x39b502[_0x44677f(0x28b)];if(_0x39b502[_0x44677f(0x24a)]){const _0x8d3c79=Ioc[_0x44677f(0x19a)](_0x39b502['service']);if(_0x217cda&&!_0x8d3c79[_0x44677f(0x139)]())_0x8d3c79[_0x44677f(0xcc)](getRepository(_0x217cda));return _0x8d3c79;}if(!_0x217cda)throw new Error(_0x44677f(0xfc)+_0x2eb60c[_0x44677f(0x206)][_0x44677f(0x18e)]+'\x20需配置\x20entity\x20或\x20service');const _0x5cabab=new class extends BaseService{}();return _0x5cabab[_0x44677f(0xcc)](getRepository(_0x217cda)),_0x5cabab;}function tableOf(_0x4d8f0e,_0x365d91){const _0x5acc7f=_0x113362,_0xd81914=_0x365d91['crud']?.['entity'];if(_0xd81914)return _0xd81914;return _0x4d8f0e['getRepo']()[_0x5acc7f(0x16d)];}var attachCrudRoutes=(_0x1a6782,_0x2fd212,_0x37ba79)=>{const _0x1a091d=_0x113362,_0x244c7a=_0x2fd212[_0x1a091d(0xb9)];if(!_0x244c7a)return _0x1a6782;const _0x4d9dd4=(_0x244c7a[_0x1a091d(0x1ba)]??[])[_0x1a091d(0x130)](_0x3fcab1=>CRUD_APIS[_0x1a091d(0xca)](_0x3fcab1)),_0x5d5bb9=_0x244c7a[_0x1a091d(0x164)]??[];if(!_0x4d9dd4[_0x1a091d(0x16f)]&&!_0x5d5bb9[_0x1a091d(0x16f)])return _0x1a6782;const _0x31c155=_0x37ba79['controller']instanceof BaseController?_0x37ba79[_0x1a091d(0x176)]:new BaseController(),_0x5a6605=_0x4d9dd4[_0x1a091d(0x16f)]>0x0,_0x4eb3b7=_0x5a6605||_0x244c7a[_0x1a091d(0x24a)]?resolveService(_0x2fd212):undefined,_0x5d54e0=_0x5a6605&&_0x4eb3b7?tableOf(_0x4eb3b7,_0x2fd212):undefined,_0x5d4c9e=_0x5d54e0?_0x5d54e0['id']:undefined;if(_0x5a6605&&_0x5d4c9e==null)throw new Error('[CRUD]\x20'+_0x2fd212[_0x1a091d(0x206)][_0x1a091d(0x18e)]+_0x1a091d(0x166));let _0x24b095=_0x1a6782;const _0x1b2c39=(_0x362bd1,_0x251eba,_0x3f4607,_0x59d926)=>{const _0x2483e9=_0x1a091d;_0x24b095=_0x24b095[_0x362bd1](_0x251eba,_0x59d926,_0x37ba79[_0x2483e9(0x269)]({'action':_0x3f4607,'summary':CRUD_SUMMARY[_0x3f4607]}));},_0x294254=async(_0xc7f8d9,_0x759376,_0x556937)=>{const _0x342abe=_0x1a091d;if(!_0x244c7a[_0x342abe(0xd7)]||!BEFORE_APIS[_0x342abe(0xfd)](_0xc7f8d9))return _0x759376;return await _0x244c7a[_0x342abe(0xd7)]({'body':_0x759376,'request':_0x556937,'api':_0xc7f8d9}),_0x759376;};_0x4d9dd4[_0x1a091d(0xca)]('add')&&_0x4eb3b7&&_0x1b2c39(_0x1a091d(0x1cc),_0x1a091d(0x21f),'add',async({body:_0x4e667f,request:_0x1852ec})=>{const _0x6e1d4a=_0x1a091d;try{const _0x13f223=_0x4e667f;if(Array['isArray'](_0x13f223)){let _0x44ff3c=_0x13f223;if(_0x244c7a[_0x6e1d4a(0xd7)]&&BEFORE_APIS['has'](_0x6e1d4a(0x283)))for(let _0x2b7c21=0x0;_0x2b7c21<_0x44ff3c[_0x6e1d4a(0x16f)];_0x2b7c21++){_0x44ff3c[_0x2b7c21]=await _0x294254(_0x6e1d4a(0x283),{..._0x44ff3c[_0x2b7c21]??{}},_0x1852ec);}if(_0x244c7a[_0x6e1d4a(0xbf)]){const _0x26dc1d=await _0x244c7a[_0x6e1d4a(0xbf)]({'body':_0x44ff3c[0x0]??{},'request':_0x1852ec});_0x44ff3c=_0x44ff3c[_0x6e1d4a(0x10d)](_0x1cfa8b=>({..._0x1cfa8b,..._0x26dc1d}));}const _0x35421e=await _0x4eb3b7[_0x6e1d4a(0x283)](_0x44ff3c);return _0x31c155['ok'](_0x35421e);}let _0x5255ee={..._0x13f223??{}};_0x5255ee=await _0x294254(_0x6e1d4a(0x283),_0x5255ee,_0x1852ec);_0x244c7a[_0x6e1d4a(0xbf)]&&Object['assign'](_0x5255ee,await _0x244c7a[_0x6e1d4a(0xbf)]({'body':_0x5255ee,'request':_0x1852ec}));const _0x3e2ae3=await _0x4eb3b7[_0x6e1d4a(0x283)](_0x5255ee);return _0x31c155['ok'](_0x3e2ae3);}catch(_0x326ad4){return _0x31c155[_0x6e1d4a(0x23e)](_0x326ad4 instanceof Error?_0x326ad4[_0x6e1d4a(0x248)]:'add\x20failed');}});_0x4d9dd4[_0x1a091d(0xca)](_0x1a091d(0x1a1))&&_0x4eb3b7&&_0x5d4c9e&&_0x1b2c39(_0x1a091d(0x1cc),_0x1a091d(0xa4),_0x1a091d(0x1a1),async({body:_0x3dea36,request:_0x533a00})=>{const _0x1f3fd0=_0x1a091d;try{const _0x32753c=_0x3dea36,_0x3db2e2=Array[_0x1f3fd0(0x13c)](_0x32753c)?_0x32753c:await _0x294254('delete',{..._0x32753c??{}},_0x533a00),_0x7482a2=resolveIds(_0x3db2e2);if(!_0x7482a2['length'])return _0x31c155[_0x1f3fd0(0x23e)](_0x1f3fd0(0x119));const _0x4cf263=!Array[_0x1f3fd0(0x13c)](_0x3db2e2)&&!!_0x3db2e2[_0x1f3fd0(0x17c)];return await _0x4eb3b7[_0x1f3fd0(0x1a1)](_0x7482a2,{'force':_0x4cf263}),_0x31c155['ok']();}catch(_0x2e15d3){return _0x31c155[_0x1f3fd0(0x23e)](_0x2e15d3 instanceof Error?_0x2e15d3['message']:_0x1f3fd0(0x25a));}});_0x4d9dd4['includes']('update')&&_0x4eb3b7&&_0x5d4c9e&&_0x1b2c39(_0x1a091d(0x1cc),_0x1a091d(0x12b),_0x1a091d(0x1c8),async({body:_0x4bf9fb,request:_0x178c26})=>{const _0x78c8f8=_0x1a091d;try{const _0x4e1ec2=_0x4bf9fb;if(Array['isArray'](_0x4e1ec2)){let _0x427756=_0x4e1ec2;if(_0x244c7a[_0x78c8f8(0xd7)]&&BEFORE_APIS[_0x78c8f8(0xfd)](_0x78c8f8(0x1c8)))for(let _0x1d6960=0x0;_0x1d6960<_0x427756[_0x78c8f8(0x16f)];_0x1d6960++){_0x427756[_0x1d6960]=await _0x294254(_0x78c8f8(0x1c8),{..._0x427756[_0x1d6960]??{}},_0x178c26);}const _0x2939dd=await _0x4eb3b7['update'](_0x427756);return _0x31c155['ok'](_0x2939dd);}const _0x309aab=await _0x294254(_0x78c8f8(0x1c8),{..._0x4e1ec2??{}},_0x178c26),_0x3e7abb=_0x309aab['id'];if(_0x3e7abb==null)return _0x31c155[_0x78c8f8(0x23e)]('id\x20required');const _0x20a125=await _0x4eb3b7[_0x78c8f8(0x1c8)](_0x309aab);return _0x31c155['ok'](_0x20a125);}catch(_0x937072){return _0x31c155[_0x78c8f8(0x23e)](_0x937072 instanceof Error?_0x937072[_0x78c8f8(0x248)]:_0x78c8f8(0x1b8));}});_0x4d9dd4['includes'](_0x1a091d(0x127))&&_0x4eb3b7&&_0x1b2c39(_0x1a091d(0x19a),_0x1a091d(0x115),_0x1a091d(0x127),async({query:_0x3b4c87})=>{const _0x5f1f1d=_0x1a091d;try{const _0x2c79a9=_0x3b4c87?.['id'];if(_0x2c79a9==null||_0x2c79a9==='')return _0x31c155[_0x5f1f1d(0x23e)]('id\x20required');const _0x1f1c6f=await _0x4eb3b7[_0x5f1f1d(0x127)](_0x2c79a9);return _0x31c155['ok'](omitProps(_0x1f1c6f,_0x244c7a[_0x5f1f1d(0x15c)]));}catch(_0x3c235f){return _0x31c155[_0x5f1f1d(0x23e)](_0x3c235f instanceof Error?_0x3c235f['message']:_0x5f1f1d(0x24e));}});_0x4d9dd4[_0x1a091d(0xca)](_0x1a091d(0x241))&&_0x4eb3b7&&_0x5d54e0&&_0x1b2c39(_0x1a091d(0x1cc),'/list',_0x1a091d(0x241),async({body:_0x5a9400,request:_0x5e5d09})=>{const _0x2604ff=_0x1a091d;try{const _0x32bdd7=_0x5a9400??{},_0x383ca2=_0x244c7a[_0x2604ff(0x244)]??{},_0x2d3643={'onlyTrashed':_0x32bdd7[_0x2604ff(0x226)]===!![],'withTrashed':_0x32bdd7[_0x2604ff(0x1d0)]===!![]};if(needsAdvancedQuery(_0x383ca2)){const _0x108baf=await queryWithOp(_0x5d54e0,_0x32bdd7,_0x383ca2,{'request':_0x5e5d09,'mode':_0x2604ff(0x241),'trash':_0x2d3643});return _0x31c155['ok'](_0x108baf);}const {where:_0x384560,orderBySql:_0x1c40bf}=await buildQueryOp(_0x5d54e0,_0x32bdd7,_0x383ca2,_0x5e5d09),_0x25983a=await _0x4eb3b7[_0x2604ff(0x241)](_0x384560,{'orderBy':_0x1c40bf,..._0x2d3643});return _0x31c155['ok'](_0x25983a);}catch(_0x54f61c){return _0x31c155['fail'](_0x54f61c instanceof Error?_0x54f61c[_0x2604ff(0x248)]:_0x2604ff(0x1f3));}});_0x4d9dd4['includes'](_0x1a091d(0x26a))&&_0x4eb3b7&&_0x5d54e0&&_0x1b2c39('post','/page','page',async({body:_0x3ab2b2,request:_0x2c869a})=>{const _0x499d47=_0x1a091d;try{const _0xa81b53=_0x3ab2b2??{},_0x1b30fb=_0x244c7a[_0x499d47(0x1e8)]??{},_0x1e48cb={'onlyTrashed':_0xa81b53[_0x499d47(0x226)]===!![],'withTrashed':_0xa81b53[_0x499d47(0x1d0)]===!![]};if(needsAdvancedQuery(_0x1b30fb)){const _0x36b7ae=await queryWithOp(_0x5d54e0,_0xa81b53,_0x1b30fb,{'request':_0x2c869a,'mode':_0x499d47(0x26a),'trash':_0x1e48cb});return _0x31c155['ok'](_0x36b7ae);}const {where:_0x38c145,orderBySql:_0x343c1a}=await buildQueryOp(_0x5d54e0,_0xa81b53,_0x1b30fb,_0x2c869a),_0xf762af=await _0x4eb3b7[_0x499d47(0x26a)]({'page':Number(_0xa81b53[_0x499d47(0x26a)]??0x1),'size':Number(_0xa81b53['size']??0x14),'where':_0x38c145,'orderBy':_0x343c1a,..._0x1e48cb});return _0x31c155['ok'](_0xf762af);}catch(_0x4f2c4c){return _0x31c155[_0x499d47(0x23e)](_0x4f2c4c instanceof Error?_0x4f2c4c[_0x499d47(0x248)]:_0x499d47(0x1a9));}});_0x4d9dd4[_0x1a091d(0xca)]('restore')&&_0x4eb3b7&&_0x5d4c9e&&_0x1b2c39(_0x1a091d(0x1cc),_0x1a091d(0x22b),_0x1a091d(0x1f2),async({body:_0x1ac47b,request:_0x130e80})=>{const _0x1628ca=_0x1a091d;try{const _0x1927e7=_0x1ac47b,_0x328f5c=Array[_0x1628ca(0x13c)](_0x1927e7)?_0x1927e7:await _0x294254(_0x1628ca(0x1f2),{..._0x1927e7??{}},_0x130e80),_0x5e98b8=resolveIds(_0x328f5c);if(!_0x5e98b8[_0x1628ca(0x16f)])return _0x31c155['fail'](_0x1628ca(0x119));return await _0x4eb3b7[_0x1628ca(0x1f2)](_0x5e98b8),_0x31c155['ok']();}catch(_0x2c0611){return _0x31c155[_0x1628ca(0x23e)](_0x2c0611 instanceof Error?_0x2c0611[_0x1628ca(0x248)]:'restore\x20failed');}});if(_0x5d5bb9[_0x1a091d(0x16f)]){if(!_0x244c7a[_0x1a091d(0x24a)])throw new Error(_0x1a091d(0xfc)+_0x2fd212[_0x1a091d(0x206)][_0x1a091d(0x18e)]+_0x1a091d(0x16b));const _0x4b0ed8=Ioc[_0x1a091d(0x19a)](_0x244c7a['service']);for(const _0x207ee3 of _0x5d5bb9){const _0xa48e48=_0x4b0ed8[_0x207ee3];if(typeof _0xa48e48!==_0x1a091d(0x204))throw new Error('[CRUD]\x20'+_0x244c7a['service'][_0x1a091d(0x18e)]+'.'+_0x207ee3+_0x1a091d(0x17d));const _0x19210c=_0xa48e48[_0x1a091d(0x106)](_0x4b0ed8);_0x1b2c39(_0x1a091d(0x1cc),'/'+_0x207ee3,_0x207ee3,async({body:_0x3230f4})=>{const _0x317a50=_0x1a091d;try{const _0x45ed7f=await _0x19210c(_0x3230f4);return _0x31c155['ok'](_0x45ed7f);}catch(_0x335e86){return _0x31c155[_0x317a50(0x23e)](_0x335e86 instanceof Error?_0x335e86['message']:_0x207ee3+_0x317a50(0x151));}});}}return _0x24b095;};import{join as _0x1eb751}from'path';import{pathToFileURL as _0x45d9ba}from'url';var SERVICE_PATTERN=_0x113362(0x1d5),CONTROLLER_SCANS=[{'pattern':'**/modules/*/controller/admin/**/*.ts','side':'admin'},{'pattern':_0x113362(0xae),'side':_0x113362(0x17b)}];async function importWithContext(_0xbc7c7a,_0x272ce4,_0x3a7b60){const _0x3a6db7=_0x113362;setControllerScanContext({'module':parseModuleFromPath(_0x272ce4),'side':_0x3a7b60,'file':_0x272ce4});try{const _0x36ec67=_0x45d9ba(_0x1eb751(_0xbc7c7a,_0x272ce4))[_0x3a6db7(0xaa)];await import(_0x36ec67);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x177bfd=_0x113362,_0x3bc611=process[_0x177bfd(0x163)](),_0x241357=await scanFiles(SERVICE_PATTERN,{'cwd':_0x3bc611});for(const _0x1d40bd of _0x241357){const _0x1f2311=_0x45d9ba(_0x1eb751(_0x3bc611,_0x1d40bd))[_0x177bfd(0xaa)];await import(_0x1f2311);}let _0x109b62=0x0;for(const {pattern:_0x54f23a,side:_0x1171bd}of CONTROLLER_SCANS){const _0x12d4f2=await scanFiles(_0x54f23a,{'cwd':_0x3bc611});_0x109b62+=_0x12d4f2[_0x177bfd(0x16f)];for(const _0xab9e56 of _0x12d4f2){await importWithContext(_0x3bc611,_0xab9e56,_0x1171bd);}}setCrudRegistrar(attachCrudRoutes),console[_0x177bfd(0x1cd)](_0x177bfd(0x110)),console[_0x177bfd(0x1cd)](_0x177bfd(0x26e)+_0x241357[_0x177bfd(0x16f)]+_0x177bfd(0xf4)+_0x109b62+_0x177bfd(0x162));}import{join as _0x2fb6f8}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0x44e70f from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0x363238}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x18875e=new Date()){const _0x49683f=_0x113362,_0x372334=_0x18875e[_0x49683f(0x22d)](),_0x43acb3=String(_0x18875e[_0x49683f(0x1c2)]()+0x1)[_0x49683f(0x18a)](0x2,'0'),_0x418c17=String(_0x18875e[_0x49683f(0x10f)]())[_0x49683f(0x18a)](0x2,'0');return _0x372334+'-'+_0x43acb3+'-'+_0x418c17;}function purgeOldLogs(_0x48983d,_0x2e01d4){const _0x125ffb=_0x113362,_0x37ea4a=new Date();_0x37ea4a[_0x125ffb(0x205)](_0x37ea4a[_0x125ffb(0x10f)]()-_0x2e01d4);const _0x104111=formatLocalDate(_0x37ea4a);for(const _0x15d33f of readdirSync(_0x48983d)){const _0x290799=_0x15d33f[_0x125ffb(0xf3)](FILE_PATTERN);if(!_0x290799||_0x290799[0x1]>=_0x104111)continue;unlinkSync(_0x363238(_0x48983d,_0x15d33f));}}function openDailyStream(_0x1ca658,_0x4966d0){const _0x336730=_0x113362;return createWriteStream(_0x363238(_0x1ca658,_0x4966d0+_0x336730(0x124)),{'flags':'a'});}function createDailyLogStream(_0x5b39ec,_0x3a12a9=0x1e){mkdirSync(_0x5b39ec,{'recursive':!![]}),purgeOldLogs(_0x5b39ec,_0x3a12a9);let _0x26bd3e=formatLocalDate(),_0x155f5e=openDailyStream(_0x5b39ec,_0x26bd3e);return new Writable({'write'(_0x3ac9ec,_0x27c998,_0x4dce08){const _0x2c6858=_0x1a18,_0x3327c4=formatLocalDate();_0x3327c4!==_0x26bd3e&&(_0x155f5e[_0x2c6858(0x188)](),_0x26bd3e=_0x3327c4,_0x155f5e=openDailyStream(_0x5b39ec,_0x26bd3e),purgeOldLogs(_0x5b39ec,_0x3a12a9)),_0x155f5e[_0x2c6858(0x100)](_0x3ac9ec,_0x4dce08);},'final'(_0x52e98e){const _0x5389e2=_0x1a18;_0x155f5e[_0x5389e2(0x188)](_0x52e98e);}});}var pinoInstance;function buildPino(){const _0x409f32=_0x113362,_0x4440d9=VomeConfig[_0x409f32(0x247)]??{},_0x4d2b87=_0x4440d9[_0x409f32(0x256)]??_0x409f32(0x127);if(_0x4440d9['transport']===_0x409f32(0x147)){const _0x37d48c=_0x2fb6f8(process[_0x409f32(0x163)](),_0x4440d9[_0x409f32(0x25e)]??'logging'),_0x523049=_0x4440d9[_0x409f32(0x214)]??0x1e;return createPinoLogger({'level':_0x4d2b87,'stream':createDailyLogStream(_0x37d48c,_0x523049)});}return createPinoLogger({'level':_0x4d2b87,'stream':_0x44e70f({'colorize':!![],'translateTime':'SYS:standard','ignore':'pid,hostname'})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{['info'](_0x136aac,..._0x2f6cfc){const _0xc3a9fd=_0x113362,_0x4f7c4a=getPinoLogger();if(_0x2f6cfc[_0xc3a9fd(0x16f)])_0x4f7c4a[_0xc3a9fd(0x127)]({'args':_0x2f6cfc},_0x136aac);else _0x4f7c4a[_0xc3a9fd(0x127)](_0x136aac);}[_0x113362(0x23f)](_0x1efd82,..._0x4969c6){const _0x215104=_0x113362,_0x24114e=getPinoLogger();if(_0x4969c6[_0x215104(0x16f)])_0x24114e[_0x215104(0x23f)]({'args':_0x4969c6},_0x1efd82);else _0x24114e[_0x215104(0x23f)](_0x1efd82);}[_0x113362(0x1dc)](_0x53d73e,..._0x415a27){const _0x55362e=_0x113362,_0x1fa1bf=getPinoLogger();if(_0x415a27[_0x55362e(0x16f)])_0x1fa1bf[_0x55362e(0x1dc)]({'args':_0x415a27},_0x53d73e);else _0x1fa1bf[_0x55362e(0x1dc)](_0x53d73e);}[_0x113362(0x167)](_0x43d374,..._0x511537){const _0x58653b=_0x113362,_0xb52792=getPinoLogger();if(_0x43d374 instanceof Error){_0xb52792[_0x58653b(0x167)](_0x43d374);return;}if(_0x511537[0x0]instanceof Error){_0xb52792['error'](_0x511537[0x0],_0x43d374);return;}if(_0x511537[_0x58653b(0x16f)])_0xb52792[_0x58653b(0x167)]({'args':_0x511537},_0x43d374);else _0xb52792[_0x58653b(0x167)](_0x43d374);}}class CommException extends Error{[_0x113362(0x20f)];[_0x113362(0x18c)];constructor(_0x320b72,_0x239223){const _0x26f9cf=_0x113362;super(_0x320b72),this[_0x26f9cf(0x18e)]=_0x26f9cf(0x1c5),this[_0x26f9cf(0x20f)]=_0x239223?.['statusCode']??0xc8,this[_0x26f9cf(0x18c)]=_0x239223?.[_0x26f9cf(0x18c)]??RES_CODE[_0x26f9cf(0x15e)];}}function isCommException(_0x436a3a){return _0x436a3a instanceof CommException;}function bootstrapLogger(){const _0x29585d=_0x113362;getPinoLogger(),Ioc[_0x29585d(0x171)](Logger,new Logger());}var VOME_BANNER=_0x113362(0x22f);function resetViewport(){const _0x83c56e=_0x113362;if(!process['stdout'][_0x83c56e(0x233)])return;process[_0x83c56e(0x286)][_0x83c56e(0x100)](_0x83c56e(0x123));}function printStartupBanner(){const _0x39048e=_0x113362;resetViewport();const _0xfbfcfb=getEnv(),_0x384151=VomeConfig['system']?.[_0x39048e(0x11e)]??0xbb9,_0x4449ee=VomeConfig['openapi']?.[_0x39048e(0x1ad)]??_0x39048e(0x159),_0x3a68b2=_0x39048e(0x105)+_0x384151;console[_0x39048e(0x1cd)](VOME_BANNER),console[_0x39048e(0x1cd)](_0x39048e(0x21d)+_0xfbfcfb),_0xfbfcfb===_0x39048e(0x129)&&(console['log'](_0x39048e(0x280)+_0x3a68b2),console[_0x39048e(0x1cd)]('📚\x20API文档:\x20'+_0x3a68b2+(_0x4449ee[_0x39048e(0x1f1)]('/')?_0x4449ee:'/'+_0x4449ee)));}import{access}from'fs/promises';import{join as _0x15c7cf}from'path';import{pathToFileURL as _0x438003}from'url';async function exists(_0x329669){try{return await access(_0x329669),!![];}catch{return![];}}async function importHostModule(_0x427cc5){const _0x1e2dd2=_0x113362,_0x130d8b=_0x15c7cf(process['cwd'](),_0x427cc5);if(!await exists(_0x130d8b)){console[_0x1e2dd2(0x23f)]('[Host]\x20skip\x20←\x20missing\x20'+_0x427cc5);return;}return await import(_0x438003(_0x130d8b)[_0x1e2dd2(0xaa)]);}async function bootstrapHostInfra(){const _0x730c20=_0x113362,_0x142049=await importHostModule(_0x730c20(0xb7));if(_0x142049?.['Db']?.[_0x730c20(0xeb)])await _0x142049['Db']['bootstrap']();const _0x1998d5=await importHostModule(_0x730c20(0x135));if(_0x1998d5?.[_0x730c20(0x25b)]?.[_0x730c20(0xeb)])await _0x1998d5['Cache']['bootstrap']();const _0x42101a=await importHostModule(_0x730c20(0x230));if(_0x42101a?.[_0x730c20(0x227)]?.['bootstrap'])await _0x42101a[_0x730c20(0x227)]['bootstrap']();}async function bootstrapHostTasks(){const _0x13ad52=_0x113362,_0x3ed112=await importHostModule(_0x13ad52(0x225));if(_0x3ed112?.[_0x13ad52(0xe7)]?.[_0x13ad52(0xeb)])await _0x3ed112['Task']['bootstrap']();}async function bootstrapHostPlugins(){const _0x1955e8=_0x113362,_0x44a1c6=await importHostModule(_0x1955e8(0x1ef));if(_0x44a1c6?.[_0x1955e8(0xee)]?.[_0x1955e8(0xeb)])await _0x44a1c6[_0x1955e8(0xee)]['bootstrap']();}async function bootstrapHostModules(){const _0x436c58=_0x113362,_0x35b225=await importHostModule(_0x436c58(0xfb));if(_0x35b225?.[_0x436c58(0x12d)]?.[_0x436c58(0xeb)])await _0x35b225[_0x436c58(0x12d)][_0x436c58(0xeb)]();}async function shutdownHostTasks(){const _0x2a7654=_0x113362,_0x1263f3=await importHostModule(_0x2a7654(0x225));if(_0x1263f3?.['Task']?.[_0x2a7654(0x1b3)])await _0x1263f3['Task'][_0x2a7654(0x1b3)]();}async function shutdownHostInfra(){const _0x370394=_0x113362,_0x34f1d7=await importHostModule('src/lib/cache/index.ts');if(_0x34f1d7?.[_0x370394(0x25b)]?.['close'])await _0x34f1d7[_0x370394(0x25b)]['close']();const _0x229992=await importHostModule(_0x370394(0xb7));if(_0x229992?.['Db']?.[_0x370394(0x1b3)])await _0x229992['Db'][_0x370394(0x1b3)]();}async function applyHostAuthMiddleware(_0x1e3cb0){const _0x3eac02=_0x113362,_0x41f574=await importHostModule(_0x3eac02(0x220));if(!_0x41f574)return _0x1e3cb0;let _0x4c1e56=_0x1e3cb0;if(_0x41f574[_0x3eac02(0x153)])_0x4c1e56=_0x4c1e56[_0x3eac02(0x14c)](_0x41f574[_0x3eac02(0x153)]);if(_0x41f574[_0x3eac02(0x102)])_0x4c1e56=_0x4c1e56[_0x3eac02(0x14c)](_0x41f574['adminAuth']);if(_0x41f574[_0x3eac02(0x16e)])_0x4c1e56=_0x4c1e56[_0x3eac02(0x14c)](_0x41f574[_0x3eac02(0x16e)]);if(_0x41f574['microApps'])_0x4c1e56=_0x4c1e56[_0x3eac02(0x14c)](_0x41f574[_0x3eac02(0xd9)]);if(_0x41f574['moduleGateway'])_0x4c1e56=_0x4c1e56[_0x3eac02(0x14c)](_0x41f574[_0x3eac02(0x175)]);return _0x4c1e56;}function applyAsyncContext(_0x1a1f58){const _0xf19bc=_0x113362,_0x1245a1=VomeConfig['asyncContextManager']??{};if(!_0x1245a1[_0xf19bc(0xc3)])return _0x1a1f58;return _0x1a1f58[_0xf19bc(0x156)](({request:_0x13a13})=>{enterContextWith(initContextFromRequest(_0x13a13));});}function applyErrorHandler(_0x33435e){const _0x57c678=_0x113362;return _0x33435e[_0x57c678(0x174)](({error:_0x46a632,set:_0x13f51a,code:_0x11cef5})=>{const _0x2ee9fb=_0x57c678,_0x1354b3=getPinoLogger();if(isCommException(_0x46a632))return _0x1354b3[_0x2ee9fb(0x167)]({'code':_0x46a632[_0x2ee9fb(0x18c)]},_0x46a632['message']),_0x13f51a[_0x2ee9fb(0x1fe)]=_0x46a632[_0x2ee9fb(0x20f)],{'code':_0x46a632['code'],'message':_0x46a632[_0x2ee9fb(0x248)]};if(_0x11cef5==='VALIDATION'){const _0x7f1f17=_0x46a632 instanceof Error?_0x46a632['message']:'validation\x20failed';return _0x1354b3[_0x2ee9fb(0x167)]({'code':_0x11cef5},_0x7f1f17),_0x13f51a[_0x2ee9fb(0x1fe)]=0x1a6,{'code':RES_CODE['ERROR'],'message':_0x7f1f17};}if(_0x11cef5==='NOT_FOUND')return _0x13f51a[_0x2ee9fb(0x1fe)]=0x194,{'code':RES_CODE[_0x2ee9fb(0x15e)],'message':_0x2ee9fb(0x10a)};const _0x8b150=_0x46a632 instanceof Error?_0x46a632:new Error(String(_0x46a632));return _0x1354b3[_0x2ee9fb(0x167)](_0x8b150),_0x13f51a[_0x2ee9fb(0x1fe)]=0x1f4,{'code':RES_CODE[_0x2ee9fb(0x15e)],'message':getEnv()===_0x2ee9fb(0x129)?_0x8b150['message']:_0x2ee9fb(0x1ed)};});}function applyLogging(_0x1c50c4){const _0x17d7c6=_0x113362,_0x4ef4cd=getPinoLogger();return _0x1c50c4[_0x17d7c6(0x14c)](_0x4ef4cd['into']({'autoLogging':{'ignore':_0x2db648=>Boolean(_0x2db648[_0x17d7c6(0x1d9)])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0xde01f2){const _0x2dcd31=_0x113362,_0x4e7769=VomeConfig[_0x2dcd31(0x184)]??{'enable':![]};if(_0x4e7769[_0x2dcd31(0xc3)]===![])return _0xde01f2;const _0x29f52a=_0x4e7769[_0x2dcd31(0x1ad)]??_0x2dcd31(0x159),{tags:_0xc6fd21,tagGroups:_0x37b69c}=buildOpenApiTagDocs(),_0x5db8cd=_0x4e7769[_0x2dcd31(0x281)]??{},_0x536b92=_0x4e7769[_0x2dcd31(0x183)]??{};return _0xde01f2[_0x2dcd31(0x14c)](openapi({'path':_0x29f52a,'documentation':{..._0x5db8cd,'tags':[..._0x5db8cd[_0x2dcd31(0x19d)]??[],..._0xc6fd21],'x-tagGroups':_0x37b69c},'scalar':{..._0x536b92,'layout':_0x536b92[_0x2dcd31(0x27c)]??_0x2dcd31(0xa9),'operationTitleSource':_0x536b92[_0x2dcd31(0xdf)]??_0x2dcd31(0xf9)}}));}var app,started=![],signalsRegistered=![],hostScanned=![],bootstrapHooks=[],shutdownHooks=[],usePlugins=[];async function ensureHostScanned(){if(hostScanned)return;hostScanned=!![],await scanHost();}function createApp(){return applyAsyncContext(applyErrorHandler(applyLogging(new _0x338400())));}function bootstrap(_0x5c9e81){const _0x3e1081=_0x113362;bootstrapHooks[_0x3e1081(0x187)](_0x5c9e81);}function shutdown(_0x557d68){shutdownHooks['push'](_0x557d68);}function use(_0x3235a2){const _0x2c0e2d=_0x113362;usePlugins[_0x2c0e2d(0x187)](_0x3235a2);}async function start(){const _0x204c60=_0x113362;if(started)throw new Error('[App]\x20\u5DF2\u542F\u52A8\uFF0C\u8BF7\u5148\x20App.stop()\x20\u518D\x20start');let _0x6eb158=createApp();_0x6eb158=await applyHostAuthMiddleware(_0x6eb158);for(const _0x19f7d0 of usePlugins){_0x6eb158=_0x19f7d0(_0x6eb158);}await ensureHostScanned(),_0x6eb158=applyOpenapi(_0x6eb158),await bootstrapHostInfra();for(const _0x4fd330 of bootstrapHooks)await _0x4fd330();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x6eb158=registerControllers(_0x6eb158,VomeConfig);const _0x26ee05=VomeConfig[_0x204c60(0x1e5)]?.[_0x204c60(0x11e)]??0xbb9;return _0x6eb158[_0x204c60(0x278)](_0x26ee05),app=_0x6eb158,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){const _0x15a1cd=_0x113362;if(!app)return;for(const _0x2adc8c of shutdownHooks)await _0x2adc8c();await shutdownHostTasks(),await shutdownHostInfra(),await app[_0x15a1cd(0x20c)](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0x386ac5=_0x113362;if(signalsRegistered)return;signalsRegistered=!![];for(const _0x146906 of[_0x386ac5(0x242),_0x386ac5(0x250)]){process[_0x386ac5(0x160)](_0x146906,async()=>{const _0x3b3211=_0x386ac5;await stop(),process[_0x3b3211(0x14f)](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x531ca9){const _0x505c51=_0x113362;if(_0x531ca9)await _0x531ca9({'App':App});return App[_0x505c51(0x21c)]();}import{getTableColumns as _0x1c54b2,getTableName as _0x2e5290}from'drizzle-orm';import{getTableColumns as _0x59cea8,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')[_0x113362(0x274)](),'createTime':timestamp('createTime',{'withTimezone':!![]})[_0x113362(0x264)]()[_0x113362(0x27e)](),'updateTime':timestamp(_0x113362(0x1f9),{'withTimezone':!![]})[_0x113362(0x264)]()[_0x113362(0x27e)]()[_0x113362(0xb4)](()=>new Date()),'deletedAt':timestamp(_0x113362(0x15b),{'withTimezone':!![]}),'tenantId':integer('tenantId')},BASE_COLUMN_COMMENTS={'id':'ID','createTime':'\u521B\u5EFA\u65F6\u95F4','updateTime':'\u66F4\u65B0\u65F6\u95F4','deletedAt':'\u5220\u9664\u65F6\u95F4','tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x10bfc8,_0x5873a6={}){const _0x139625=_0x113362;return tables[_0x139625(0x283)](_0x10bfc8),registry[_0x139625(0x171)](_0x10bfc8,{...BASE_COLUMN_COMMENTS,...registry[_0x139625(0x19a)](_0x10bfc8)||{},..._0x5873a6}),_0x10bfc8;}function getColumnComments(_0x39e4f4){const _0x441436=_0x113362;return registry[_0x441436(0x19a)](_0x39e4f4)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0x363101){const _0x12986c=_0x113362;if(!/^[A-Za-z_][A-Za-z0-9_]*$/[_0x12986c(0xe3)](_0x363101))throw new Error(_0x12986c(0x1aa)+_0x363101);return'\x22'+_0x363101+'\x22';}function escapeLiteral(_0x14d7a4){const _0x49d518=_0x113362;return _0x14d7a4[_0x49d518(0x272)](/'/g,'\x27\x27');}function _0x1a18(_0x37a1d2,_0xf7db84){_0x37a1d2=_0x37a1d2-0x9f;const _0x3c7c14=_0x3c7c();let _0x1a1850=_0x3c7c14[_0x37a1d2];if(_0x1a18['GxoqSe']===undefined){var _0x3c00b1=function(_0x37dbde){const _0x55c8d3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x338400='',_0x3c8403='';for(let _0x79b281=0x0,_0x2df819,_0x53985f,_0x265346=0x0;_0x53985f=_0x37dbde['charAt'](_0x265346++);~_0x53985f&&(_0x2df819=_0x79b281%0x4?_0x2df819*0x40+_0x53985f:_0x53985f,_0x79b281++%0x4)?_0x338400+=String['fromCharCode'](0xff&_0x2df819>>(-0x2*_0x79b281&0x6)):0x0){_0x53985f=_0x55c8d3['indexOf'](_0x53985f);}for(let _0x49f201=0x0,_0x12d28f=_0x338400['length'];_0x49f201<_0x12d28f;_0x49f201++){_0x3c8403+='%'+('00'+_0x338400['charCodeAt'](_0x49f201)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c8403);};_0x1a18['MgELRJ']=_0x3c00b1,_0x1a18['wapoiX']={},_0x1a18['GxoqSe']=!![];}const _0x186c62=_0x3c7c14[0x0],_0x49c045=_0x37a1d2+_0x186c62,_0x5c9f86=_0x1a18['wapoiX'][_0x49c045];return!_0x5c9f86?(_0x1a1850=_0x1a18['MgELRJ'](_0x1a1850),_0x1a18['wapoiX'][_0x49c045]=_0x1a1850):_0x1a1850=_0x5c9f86,_0x1a1850;}async function syncColumnCommentsToPg(_0xbcd5e6){const _0x490938=_0x113362,_0x11a5c9=listColumnCommentTables();if(!_0x11a5c9[_0x490938(0x16f)])return 0x0;const _0x1781eb=new Map(),_0x3ef6ca=[];for(const _0xcda7a2 of _0x11a5c9){let _0x2bcb21;try{_0x2bcb21=getTableName(_0xcda7a2);}catch{continue;}const _0x6992d8=_0x59cea8(_0xcda7a2),_0x14c5b3=getColumnComments(_0xcda7a2),_0x5cabe8=new Map();for(const [_0x362fb8,_0x29d132]of Object[_0x490938(0x1fd)](_0x14c5b3)){if(!_0x29d132||!(_0x362fb8 in _0x6992d8))continue;_0x5cabe8[_0x490938(0x171)](_0x362fb8,_0x29d132);}if(!_0x5cabe8['size'])continue;_0x1781eb['set'](_0x2bcb21,_0x5cabe8),_0x3ef6ca[_0x490938(0x187)](_0x2bcb21);}if(!_0x3ef6ca[_0x490938(0x16f)])return 0x0;const _0x350d02=_0x3ef6ca[_0x490938(0x10d)](_0x591119=>'\x27'+escapeLiteral(_0x591119)+'\x27')[_0x490938(0x1c4)](','),_0x21b81f=await _0xbcd5e6[_0x490938(0xff)](_0x490938(0x1ce)+_0x350d02+_0x490938(0x1e2)),_0x24d5a2=new Map();for(const _0x1f8b46 of _0x21b81f||[]){if(!_0x1f8b46[_0x490938(0x1b5)]||!_0x1f8b46[_0x490938(0x190)])continue;_0x24d5a2[_0x490938(0x171)](_0x1f8b46['table_name']+'.'+_0x1f8b46[_0x490938(0x190)],_0x1f8b46[_0x490938(0x245)]??null);}let _0x3da072=0x0;for(const [_0x2fbdc4,_0x4b69d9]of _0x1781eb){for(const [_0x3a6614,_0x344c6b]of _0x4b69d9){const _0x5e408c=_0x2fbdc4+'.'+_0x3a6614,_0x310898=_0x24d5a2['get'](_0x5e408c);if(_0x310898===_0x344c6b)continue;await _0xbcd5e6[_0x490938(0xff)](_0x490938(0xb6)+quoteIdent(_0x2fbdc4)+'.'+quoteIdent(_0x3a6614)+_0x490938(0x13f)+escapeLiteral(_0x344c6b)+'\x27'),_0x3da072++;}}return _0x3da072;}var SIDE_PREFIX2={'admin':_0x113362(0x1be),'app':'/app'};function getSidePrefix2(_0x2b9731){return normalizePrefix(SIDE_PREFIX2[_0x2b9731]);}function lastSegment(_0x118339){const _0x185ac4=_0x113362,_0x364bc6=_0x118339[_0x185ac4(0x272)](/^\/+|\/+$/g,'')[_0x185ac4(0x1b9)]('/');return _0x364bc6[_0x364bc6[_0x185ac4(0x16f)]-0x1]||_0x118339||_0x185ac4(0xbc);}function toPascalEntityName(_0x5382eb){const _0xe81fa2=_0x113362;return _0x5382eb[_0xe81fa2(0x1b9)]('_')['filter'](Boolean)[_0xe81fa2(0x10d)](_0x2595be=>_0x2595be[_0xe81fa2(0xc0)](0x0)[_0xe81fa2(0x1af)]()+_0x2595be[_0xe81fa2(0x26d)](0x1))[_0xe81fa2(0x1c4)]('')+_0xe81fa2(0x1e7);}function withAlias(_0x29fab6){const _0x20593a=_0x113362;if(!_0x29fab6?.['length'])return[];return _0x29fab6[_0x20593a(0x10d)](_0x5e401f=>{const _0x2ddc5b=_0x20593a;if(typeof _0x5e401f!==_0x2ddc5b(0xc4)){const _0x2b132b=_0x5e401f['column'];return{..._0x5e401f,'column':_0x2b132b[_0x2ddc5b(0xca)]('.')?_0x2b132b:'a.'+_0x2b132b};}return _0x5e401f[_0x2ddc5b(0xca)]('.')?_0x5e401f:'a.'+_0x5e401f;});}function normalizePageQueryOp(_0x4edb90){const _0x16b72b=_0x113362;return{'keyWordLikeFields':withAlias(_0x4edb90?.[_0x16b72b(0xd6)]),'fieldEq':withAlias(_0x4edb90?.[_0x16b72b(0xdb)]),'fieldLike':withAlias(_0x4edb90?.[_0x16b72b(0x10b)]),'fieldArray':withAlias(_0x4edb90?.[_0x16b72b(0x255)]),'fieldRange':(_0x4edb90?.[_0x16b72b(0x235)]??[])['map'](_0x7373f1=>({..._0x7373f1,'column':_0x7373f1[_0x16b72b(0x14d)][_0x16b72b(0xca)]('.')?_0x7373f1['column']:'a.'+_0x7373f1['column']}))};}function applyFieldDictToColumns(_0x4b957e,_0x3b9f3e){const _0x424da9=_0x113362;for(const _0x554a1c of _0x3b9f3e){if(typeof _0x554a1c===_0x424da9(0xc4)||!_0x554a1c['dict'])continue;const _0xecbe96=_0x554a1c[_0x424da9(0x14d)]['includes']('.')?_0x554a1c[_0x424da9(0x14d)][_0x424da9(0x1b9)]('.')[_0x424da9(0xc2)]():_0x554a1c['column'],_0x15a156=_0x4b957e['find'](_0x2dc22e=>_0x2dc22e[_0x424da9(0xc7)]===_0xecbe96);if(_0x15a156)_0x15a156[_0x424da9(0x249)]=_0x554a1c[_0x424da9(0x249)];}}function columnsFromEntity(_0x34d1a5){const _0x3ce49d=_0x113362;if(!_0x34d1a5||typeof _0x34d1a5!=='object')return[];try{const _0x302346=_0x1c54b2(_0x34d1a5),_0x376c0a=getColumnComments(_0x34d1a5),_0x69ce9c=[];for(const [_0x2706a2,_0x50d60c]of Object[_0x3ce49d(0x1fd)](_0x302346)){if(_0x2706a2===_0x3ce49d(0xda))continue;const _0x16a807=_0x50d60c;_0x69ce9c['push']({'propertyName':_0x2706a2,'type':String(_0x16a807['dataType']??_0x16a807[_0x3ce49d(0x191)]??'string'),'length':_0x16a807[_0x3ce49d(0x16f)]!=null?String(_0x16a807[_0x3ce49d(0x16f)]):undefined,'nullable':_0x16a807['notNull']!==!![],'source':'a.'+_0x2706a2,'comment':_0x376c0a[_0x2706a2]});}const _0xf9b832=new Set(['createTime',_0x3ce49d(0x1f9),_0x3ce49d(0x15b)]),_0x109973=_0x69ce9c[_0x3ce49d(0x130)](_0x4171bc=>!_0xf9b832[_0x3ce49d(0xfd)](_0x4171bc[_0x3ce49d(0xc7)])),_0x4f3912=_0x69ce9c[_0x3ce49d(0x130)](_0x202c0f=>_0xf9b832[_0x3ce49d(0xfd)](_0x202c0f[_0x3ce49d(0xc7)]));return[..._0x109973,..._0x4f3912];}catch{return[];}}function entityNameOf(_0x529601){const _0xc5aac8=_0x113362;if(!_0x529601||typeof _0x529601!==_0xc5aac8(0x14a))return;try{return toPascalEntityName(_0x2e5290(_0x529601));}catch{return;}}function buildApis(_0x4ada57,_0x3f99d1){const _0x49e4c3=_0x113362,_0x51aef8=[],_0x16faec=new Set(),_0x31e0f5=_0x1700a5=>{const _0x3d4182=_0x1a18,_0x262678=_0x1700a5[_0x3d4182(0x261)]+':'+_0x1700a5[_0x3d4182(0x1ad)];if(_0x16faec['has'](_0x262678))return;_0x16faec[_0x3d4182(0x283)](_0x262678),_0x51aef8[_0x3d4182(0x187)](_0x1700a5);};for(const _0xeb83fa of _0x4ada57[_0x49e4c3(0x240)]){const _0x363e3e=getRouteSubPath(_0xeb83fa[_0x49e4c3(0x1ad)],_0x4ada57['prefix']),_0x56ffa7=_0x363e3e['startsWith']('/')?_0x363e3e:'/'+_0x363e3e,_0x588f2d=actionFromSubPath(_0x56ffa7);_0x31e0f5({'method':_0xeb83fa[_0x49e4c3(0x261)][_0x49e4c3(0x212)](),'path':_0x56ffa7,'summary':_0xeb83fa[_0x49e4c3(0xf9)]??'','dts':{},'tag':'','prefix':_0x3f99d1,'ignoreToken':Boolean(_0xeb83fa[_0x49e4c3(0x1d3)]),'ignorePerms':Boolean(_0xeb83fa[_0x49e4c3(0x122)]),'perms':effectivePerms(_0xeb83fa,_0x4ada57,_0x588f2d)??[]});}for(const _0x3614d1 of _0x4ada57[_0x49e4c3(0xb9)]?.[_0x49e4c3(0x1ba)]??[]){const _0x58c052='/'+_0x3614d1;_0x31e0f5({'method':_0x3614d1===_0x49e4c3(0x127)?'get':_0x49e4c3(0x1cc),'path':_0x58c052,'summary':CRUD_SUMMARY[_0x3614d1]??_0x3614d1,'dts':{},'tag':'','prefix':_0x3f99d1,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x4ada57,_0x3614d1)??[]});}for(const _0x4fcbbf of _0x4ada57['crud']?.['serviceApis']??[]){const _0xd77d20='/'+_0x4fcbbf;_0x31e0f5({'method':'post','path':_0xd77d20,'summary':_0x4fcbbf,'dts':{},'tag':'','prefix':_0x3f99d1,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x4ada57,_0x4fcbbf)??[]});}return _0x51aef8;}function buildEntity(_0x113cb2){const _0x439929=_0x113362,_0x2071cd=joinPrefix(getSidePrefix2(_0x113cb2[_0x439929(0x137)]),_0x113cb2['prefix']),_0x5dd4b0=lastSegment(_0x113cb2[_0x439929(0x1ae)]),_0x344148=_0x113cb2[_0x439929(0xb9)]?.[_0x439929(0x28b)],_0x249bde=columnsFromEntity(_0x344148),_0x5e381b=normalizePageQueryOp(_0x113cb2[_0x439929(0xb9)]?.[_0x439929(0x1e8)]);return applyFieldDictToColumns(_0x249bde,_0x5e381b[_0x439929(0xdb)]),{'module':_0x113cb2['module'],'side':_0x113cb2[_0x439929(0x137)],'prefix':_0x2071cd,'name':entityNameOf(_0x344148),'info':{'type':{'name':_0x5dd4b0,'description':_0x113cb2[_0x439929(0xa5)]??_0x5dd4b0}},'api':buildApis(_0x113cb2,_0x2071cd),'columns':_0x249bde,'pageQueryOp':_0x5e381b,'pageColumns':_0x249bde};}function groupByModule(_0x1f2dec){const _0x14e030=_0x113362,_0x5ba565={};for(const _0x111e0c of _0x1f2dec){const _0x507b1b=_0x5ba565[_0x111e0c[_0x14e030(0xde)]]??[];_0x507b1b[_0x14e030(0x187)](_0x111e0c),_0x5ba565[_0x111e0c[_0x14e030(0xde)]]=_0x507b1b;}return _0x5ba565;}function isEpsEnabled(){const _0x3971e6=_0x113362;return Boolean(VomeConfig[_0x3971e6(0xf2)]?.[_0x3971e6(0xf5)]);}function buildEps(_0x3aff44){const _0x447637=_0x113362;if(!isEpsEnabled())return{};return groupByModule(listControllers(_0x3aff44)[_0x447637(0x10d)](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps(_0x113362(0x19b)),'app':()=>buildEps(_0x113362(0x17b)),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0x113362(0x157);function joinRoute(_0x3de79b,_0x60990){return joinPrefix(_0x3de79b,_0x60990==='/'?'':_0x60990);}function asMiddlewareList(_0x563092){const _0x37171f=_0x113362;if(_0x563092==null)return;return Array[_0x37171f(0x13c)](_0x563092)?_0x563092:[_0x563092];}function appendPendingRoute(_0x3843de,_0x780d5e){const _0x47f6aa=_0x113362,_0x436dac=Reflect[_0x47f6aa(0x239)](ROUTES_PENDING_KEY,_0x3843de)??[];_0x436dac[_0x47f6aa(0x187)](_0x780d5e),Reflect[_0x47f6aa(0x1ea)](ROUTES_PENDING_KEY,_0x436dac,_0x3843de);}function createParamDecorator(_0x1f6c56){const _0x4fdb60=_0x113362,_0x5a9f49=_0x1f6c56===_0x4fdb60(0x1fc)?_0x4fdb60(0x1d4):_0x1f6c56===_0x4fdb60(0x18d)?_0x4fdb60(0x24d):_0x4fdb60(0xd1);return _0x13a258=>(_0x1dd05e,_0x4115e3,_0x34f203)=>{const _0x41c828=_0x4fdb60;if(_0x4115e3===undefined)throw new Error(_0x41c828(0x170)+_0x5a9f49+_0x41c828(0x1c1));const _0x45fd43=_0x1dd05e[_0x41c828(0x1c9)];appendRouteParam(_0x45fd43,String(_0x4115e3),{'index':_0x34f203,'source':_0x1f6c56,'schema':_0x13a258});};}function pickCrudOptions(_0x2710fa){const {api:_0x50aa10,entity:_0x2ca530,service:_0x2acdf9,serviceApis:_0x41edf7,before:_0x515557,pageQueryOp:_0x52ba78,listQueryOp:_0x39bb56,insertParam:_0x1ccfb0,infoIgnoreProperty:_0xe4da93}=_0x2710fa;if(_0x50aa10==null&&_0x2ca530==null&&_0x2acdf9==null&&_0x41edf7==null&&_0x515557==null&&_0x52ba78==null&&_0x39bb56==null&&_0x1ccfb0==null&&_0xe4da93==null)return;return{'api':_0x50aa10,'entity':_0x2ca530,'service':_0x2acdf9,'serviceApis':_0x41edf7,'before':_0x515557,'pageQueryOp':_0x52ba78,'listQueryOp':_0x39bb56,'insertParam':_0x1ccfb0,'infoIgnoreProperty':_0xe4da93};}function Controller(_0x5b8674=''){const _0x40dff6=_0x113362,_0x5a7a4e=typeof _0x5b8674===_0x40dff6(0xc4),_0x4c3210=_0x5a7a4e?{'prefix':_0x5b8674}:_0x5b8674;return _0x35f532=>{const _0x539566=_0x40dff6;registerProvider({'token':_0x35f532,'useClass':_0x35f532,'scope':_0x539566(0xdc)});const _0x7dd54e=getControllerScanContext(),_0x1e0451=_0x5a7a4e&&_0x5b8674===''||!_0x5a7a4e&&(_0x4c3210[_0x539566(0x1ae)]==null||_0x4c3210[_0x539566(0x1ae)]===''),_0x359605=normalizePrefix(_0x1e0451&&_0x7dd54e?.['file']?parseControllerAutoPrefix(_0x7dd54e[_0x539566(0x147)]):_0x4c3210['prefix']??''),_0x261453=Reflect[_0x539566(0x239)](ROUTES_PENDING_KEY,_0x35f532)??[],_0x48ebf9=pickCrudOptions(_0x4c3210);registerController({'token':_0x35f532,'prefix':_0x359605,'module':_0x4c3210['module']??_0x7dd54e?.[_0x539566(0xde)]??_0x539566(0xf7),'side':_0x4c3210[_0x539566(0x137)]??_0x7dd54e?.['side']??_0x539566(0x19b),'description':_0x4c3210[_0x539566(0xa5)],'file':_0x7dd54e?.[_0x539566(0x147)],'middleware':asMiddlewareList(_0x4c3210['middleware']),'crud':_0x48ebf9,'routes':_0x261453[_0x539566(0x10d)](_0x27db02=>{const _0x4db4db=_0x539566,_0x2dec59=getRouteParams(_0x35f532,_0x27db02['handler']),_0xf3534b=schemaFromParams(_0x2dec59),_0xf0edf5=[..._0x27db02[_0x4db4db(0x282)]??[],...getRouteMiddleware(_0x35f532,_0x27db02[_0x4db4db(0x243)])];return{..._0x27db02,'path':joinRoute(_0x359605,_0x27db02[_0x4db4db(0x1ad)]['startsWith']('/')?_0x27db02['path'][_0x4db4db(0x26d)](0x1):_0x27db02['path']),'params':_0x2dec59,'body':_0xf3534b?.['body'],'query':_0xf3534b?.[_0x4db4db(0x1a2)],'routeParams':_0xf3534b?.[_0x4db4db(0x1fc)],'public':isRoutePublic(_0x35f532,_0x27db02[_0x4db4db(0x243)]),'ignorePerms':isRouteIgnorePerms(_0x35f532,_0x27db02['handler']),'perms':getRoutePerms(_0x35f532,_0x27db02['handler']),'middleware':_0xf0edf5['length']?_0xf0edf5:undefined};})}),Reflect['deleteMetadata'](ROUTES_PENDING_KEY,_0x35f532),clearRouteParams(_0x35f532),clearRoutePublic(_0x35f532),clearRouteMiddleware(_0x35f532),clearRoutePerms(_0x35f532),clearRouteIgnorePerms(_0x35f532);};}function Use(..._0x1aa7ec){return(_0x2eb424,_0x503659)=>{const _0x1eafcb=_0x1a18,_0x98b0f7=_0x2eb424[_0x1eafcb(0x1c9)];appendRouteMiddleware(_0x98b0f7,String(_0x503659),_0x1aa7ec);};}function createMethodDecorator(_0x3f330a){return(_0x5833ca='',_0x385751)=>(_0x7e93b6,_0x5168e7)=>{const _0x3bfa71=_0x7e93b6['constructor'];appendPendingRoute(_0x3bfa71,{'method':_0x3f330a,'path':_0x5833ca,'handler':String(_0x5168e7),'summary':_0x385751?.['summary']});};}function Public(){return(_0x1e50e5,_0xbecdd3)=>{const _0x3db3ef=_0x1e50e5['constructor'];markRoutePublic(_0x3db3ef,String(_0xbecdd3));};}function Perms(..._0x1e1236){return(_0x19405e,_0x3e4684)=>{const _0x43acc4=_0x1a18,_0x504745=_0x19405e[_0x43acc4(0x1c9)];setRoutePerms(_0x504745,String(_0x3e4684),_0x1e1236);};}function IgnorePerms(){return(_0x3a0470,_0x9b5c5f)=>{const _0x2fb645=_0x3a0470['constructor'];markRouteIgnorePerms(_0x2fb645,String(_0x9b5c5f));};}var Body=createParamDecorator('body'),Query=createParamDecorator('query'),Param=createParamDecorator(_0x113362(0x1fc)),Get=createMethodDecorator('GET'),Post=createMethodDecorator('POST'),Put=createMethodDecorator(_0x113362(0x23b)),Delete=createMethodDecorator('DELETE'),Patch=createMethodDecorator(_0x113362(0xfa));class BasePlugin{[_0x113362(0xce)];[_0x113362(0xb1)];[_0x113362(0x27a)];[_0x113362(0x18b)];async[_0x113362(0x107)](_0xeeacf,_0x1e0f0f,_0x581bae,_0x32ee31){const _0x11f58e=_0x113362;this[_0x11f58e(0xce)]=_0xeeacf,this[_0x11f58e(0xb1)]=_0x1e0f0f,this[_0x11f58e(0x27a)]=_0x32ee31?.[_0x11f58e(0x27a)],this[_0x11f58e(0x18b)]=_0x32ee31?.['pluginService'],await this['ready']();}async[_0x113362(0x267)](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';import{join as _0x3abae3}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0xf92e01}from'path';function pDataPath(){const _0x377a41=_0x113362,_0x11b072=createHash(_0x377a41(0x26f))['update'](String(VomeConfig[_0x377a41(0xe0)]??'vome'))[_0x377a41(0x23a)](_0x377a41(0x189));return _0xf92e01(homedir(),_0x377a41(0x1d6),_0x11b072);}function pPluginPath(){return _0xf92e01(pDataPath(),'plugin');}function pModulesPath(){const _0x58d07b=_0x113362;return _0xf92e01(pDataPath(),_0x58d07b(0x25c));}function pModulePath(_0x32e432){return _0xf92e01(pModulesPath(),_0x32e432);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x4b031d){if(_0x4b031d==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x4b031d);}function loadPluginClass(_0x24cfda){const _0x2632e2=_0x113362;try{const _0x2f0be8=_0x24cfda['replace'](/export\s+const\s+Plugin\s*=/g,_0x2632e2(0x172))['replace'](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')['replace'](/export\s+const\s+handlers\s*=/g,_0x2632e2(0x173))[_0x2632e2(0x272)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+class\s+(\w+)/g,'class\x20$1')[_0x2632e2(0x272)](/export\s+default\s+/g,'')['replace'](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x2632e2(0x272)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x2632e2(0x272)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x2632e2(0xa0)),_0x771956=new Function('BasePlugin',_0x2632e2(0x252),_0x2632e2(0xde),_0x2632e2(0x193),_0x2f0be8+'\x0avar\x20__Plugin\x20=\x20(typeof\x20Plugin\x20!==\x20\x27undefined\x27)\x0a\x20\x20?\x20Plugin\x0a\x20\x20:\x20(module.exports\x20&&\x20(module.exports.Plugin\x20||\x20module.exports.default\x20||\x20module.exports));\x0aif\x20(typeof\x20__Plugin\x20===\x20\x27undefined\x27\x20||\x20__Plugin\x20===\x20null)\x20{\x0a\x20\x20throw\x20new\x20Error(\x27missing\x20export\x20Plugin\x27);\x0a}\x0areturn\x20__Plugin;'),_0x5f425e={'exports':{}};return _0x771956(BasePlugin,pluginRequire,_0x5f425e,_0x5f425e[_0x2632e2(0x193)]);}catch(_0x3aa6d9){throw new Error(_0x2632e2(0x186)+(_0x3aa6d9 instanceof Error?_0x3aa6d9[_0x2632e2(0x248)]:String(_0x3aa6d9)));}}function readPluginScript(_0x59852a){const _0x124531=_0x113362,_0x1bcb27=_0x3abae3(pModulePath(_0x59852a),'server',_0x124531(0x25d));if(existsSync(_0x1bcb27))return readFileSync(_0x1bcb27,_0x124531(0x1e4));const _0x553233=_0x3abae3(pPluginPath(),_0x59852a);if(!existsSync(_0x553233))return;try{const _0x55cce7=JSON[_0x124531(0x138)](readFileSync(_0x553233,_0x124531(0x1e4)));return _0x55cce7[_0x124531(0x20d)]?.['data'];}catch{return;}}import{existsSync as _0x1adb3a,readFileSync as _0x357bf0,readdirSync as _0x5da23e,statSync}from'fs';import{createRequire as _0x3b7430}from'module';import{join as _0x1bae90}from'path';var registry2=new Map(),hostRequire2=_0x3b7430(import.meta.url);function pluginRequire2(_0x3cc3b2){if(_0x3cc3b2==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0x3cc3b2);}function normalizePath(_0xc10a2a){const _0x17b551=_0x113362,_0x3a1ab2=_0xc10a2a[_0x17b551(0x1f1)]('/')?_0xc10a2a:'/'+_0xc10a2a;return _0x3a1ab2[_0x17b551(0x272)](/\/+$/,'')||'/';}function normalizeMethod(_0x9bf169){const _0x1280dd=_0x113362;return _0x9bf169[_0x1280dd(0x1af)]();}function normalizeModuleScript(_0x2177c2){const _0x400ff7=_0x113362;return _0x2177c2[_0x400ff7(0x272)](/export\s+const\s+handlers\s*=/g,'var\x20handlers\x20=')[_0x400ff7(0x272)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')[_0x400ff7(0x272)](/export\s+default\s+\{/g,_0x400ff7(0xe1))['replace'](/export\s+const\s+Plugin\s*=/g,'var\x20Plugin\x20=')['replace'](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x400ff7(0x272)](/export\s+class\s+(\w+)/g,_0x400ff7(0x258))[_0x400ff7(0x272)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x400ff7(0x272)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')['replace'](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x400ff7(0xa0));}function loadModuleHandlers(_0x35fc66,_0x3a42be=!![]){const _0xb17f9=_0x113362,_0xb48843=normalizeModuleScript(_0x35fc66),_0x1f8d8d=new Function(_0xb17f9(0xad),_0xb17f9(0x252),_0xb17f9(0xde),_0xb17f9(0x193),_0xb48843+_0xb17f9(0x1bf)),_0x231f13={'exports':{}},_0x4794da=_0x1f8d8d(BasePlugin,pluginRequire2,_0x231f13,_0x231f13['exports']);if(!_0x4794da||typeof _0x4794da!=='object'){if(_0x3a42be)throw new Error(_0xb17f9(0x1da));return{};}return _0x4794da;}var ModuleRegistry={'get'(_0x1ac0fd){const _0x5c2979=_0x113362;return registry2[_0x5c2979(0x19a)](_0x1ac0fd);},'list'(){const _0x20f623=_0x113362;return[...registry2[_0x20f623(0x1fd)]()][_0x20f623(0x10d)](([_0x1d5149,_0x504d64])=>({'key':_0x1d5149,'manifest':_0x504d64[_0x20f623(0x13a)],'routes':_0x504d64[_0x20f623(0x240)]}));},'load'(_0x411b3d){const _0x522f6d=_0x113362;if(!_0x411b3d||!/^[a-zA-Z0-9_-]+$/[_0x522f6d(0xe3)](_0x411b3d))throw new Error('非法模块\x20key:\x20'+_0x411b3d);const _0x13caaf=pModulePath(_0x411b3d),_0x2aa3ab=_0x1bae90(_0x13caaf,_0x522f6d(0x254));if(!_0x1adb3a(_0x2aa3ab))throw new Error(_0x522f6d(0x142)+_0x411b3d);const _0x2f8801=JSON[_0x522f6d(0x138)](_0x357bf0(_0x2aa3ab,_0x522f6d(0x1e4))),_0x2659fd=(_0x2f8801[_0x522f6d(0x240)]??[])['map'](_0x4526f7=>({..._0x4526f7,'method':normalizeMethod(_0x4526f7['method']),'path':normalizePath(_0x4526f7['path'])}));let _0x5a1b82={};const _0x1f3c4b=_0x1bae90(_0x13caaf,_0x522f6d(0x1bc),_0x522f6d(0x25d));if(_0x1adb3a(_0x1f3c4b)){const _0x203a0b=_0x357bf0(_0x1f3c4b,_0x522f6d(0x1e4));_0x5a1b82=loadModuleHandlers(_0x203a0b,_0x2659fd[_0x522f6d(0x16f)]>0x0);for(const _0x2c0a31 of _0x2659fd){if(typeof _0x5a1b82[_0x2c0a31[_0x522f6d(0x243)]]!==_0x522f6d(0x204))throw new Error(_0x522f6d(0x150)+_0x411b3d+_0x522f6d(0x1c6)+_0x2c0a31['handler']);}}else{if(_0x2659fd['length'])throw new Error(_0x522f6d(0x150)+_0x411b3d+_0x522f6d(0x209));}return registry2[_0x522f6d(0x171)](_0x411b3d,{'manifest':_0x2f8801,'handlers':_0x5a1b82,'routes':_0x2659fd}),registry2[_0x522f6d(0x19a)](_0x411b3d);},'unload'(_0x5ccd38){registry2['delete'](_0x5ccd38);},async 'dispatch'(_0x529e52,_0x581bb1,_0x58dcd0,_0x225a47){const _0x1429ad=_0x113362,_0x2d5a8e=registry2['get'](_0x529e52);if(!_0x2d5a8e)return{'ok':![],'status':0x194,'message':_0x1429ad(0x253)};const _0x4bc6b7=normalizeMethod(_0x581bb1),_0x3a0f2f=normalizePath(_0x58dcd0),_0x519511=_0x2d5a8e['routes'][_0x1429ad(0x1d1)](_0x84c65b=>_0x84c65b['method']===_0x4bc6b7&&_0x84c65b[_0x1429ad(0x1ad)]===_0x3a0f2f);if(!_0x519511)return{'ok':![],'status':0x194,'message':_0x1429ad(0x273)};const _0x28e4ac=_0x2d5a8e[_0x1429ad(0x148)][_0x519511[_0x1429ad(0x243)]];if(typeof _0x28e4ac!=='function')return{'ok':![],'status':0x1f4,'message':_0x1429ad(0xf8)+_0x519511[_0x1429ad(0x243)]};try{const _0x329ecf=await _0x28e4ac(_0x225a47);return{'ok':!![],'data':_0x329ecf,'route':_0x519511};}catch(_0x1f6a4b){const _0x21395d=_0x1f6a4b instanceof Error?_0x1f6a4b[_0x1429ad(0x248)]:String(_0x1f6a4b);return{'ok':![],'status':0x1f4,'message':_0x21395d,'route':_0x519511};}},'bootstrap'(){const _0x3759c5=_0x113362,_0x275f0d=pModulesPath();if(!_0x1adb3a(_0x275f0d))return;for(const _0x45656d of _0x5da23e(_0x275f0d)){const _0x188678=_0x1bae90(_0x275f0d,_0x45656d);if(!statSync(_0x188678)[_0x3759c5(0x178)]())continue;if(!_0x1adb3a(_0x1bae90(_0x188678,_0x3759c5(0x254))))continue;try{this['load'](_0x45656d),console[_0x3759c5(0x1cd)](_0x3759c5(0x22e)+_0x45656d);}catch(_0x1c2411){console[_0x3759c5(0x23f)](_0x3759c5(0x103)+_0x45656d+':',_0x1c2411 instanceof Error?_0x1c2411[_0x3759c5(0x248)]:_0x1c2411);}}}};import{existsSync as _0x259e86,statSync as _0x251918}from'fs';import{join as _0x3bdf20,normalize,sep}from'path';import{Elysia as _0x2f8ecf}from'elysia';var PREFIX='/vome/apps';function contentType(_0x3c9908){const _0x2c8aef=_0x113362,_0x4f6d06=_0x3c9908[_0x2c8aef(0x212)]();if(_0x4f6d06[_0x2c8aef(0xa7)](_0x2c8aef(0x277)))return'text/html;\x20charset=utf-8';if(_0x4f6d06[_0x2c8aef(0xa7)]('.js')||_0x4f6d06[_0x2c8aef(0xa7)]('.mjs'))return'application/javascript;\x20charset=utf-8';if(_0x4f6d06[_0x2c8aef(0xa7)]('.css'))return _0x2c8aef(0xf6);if(_0x4f6d06[_0x2c8aef(0xa7)](_0x2c8aef(0x287)))return _0x2c8aef(0xd4);if(_0x4f6d06[_0x2c8aef(0xa7)]('.svg'))return _0x2c8aef(0x24f);if(_0x4f6d06[_0x2c8aef(0xa7)](_0x2c8aef(0x180)))return _0x2c8aef(0x28d);if(_0x4f6d06['endsWith']('.jpg')||_0x4f6d06[_0x2c8aef(0xa7)](_0x2c8aef(0x1de)))return _0x2c8aef(0x223);if(_0x4f6d06[_0x2c8aef(0xa7)]('.woff2'))return'font/woff2';if(_0x4f6d06['endsWith'](_0x2c8aef(0x1b7)))return _0x2c8aef(0x181);if(_0x4f6d06['endsWith'](_0x2c8aef(0x144)))return _0x2c8aef(0xe9);return _0x2c8aef(0xa2);}var microApps=new _0x2f8ecf({'name':'micro-apps-static'})[_0x113362(0x19a)](PREFIX+'/*',({params:_0x5ac082,set:_0xc347c})=>{const _0x559c44=_0x113362,_0x356474=String(_0x5ac082['*']||''),_0x373cb9=_0x356474[_0x559c44(0x1b9)]('/')[_0x559c44(0x130)](Boolean);if(!_0x373cb9[_0x559c44(0x16f)])return _0xc347c['status']=0x194,'Not\x20Found';const _0xb26fba=_0x373cb9[0x0];if(!/^[a-zA-Z0-9_-]+$/[_0x559c44(0xe3)](_0xb26fba))return _0xc347c[_0x559c44(0x1fe)]=0x190,'Invalid\x20app\x20key';const _0x4cc85e=_0x3bdf20(pModulePath(_0xb26fba),_0x559c44(0xc8));if(!_0x259e86(_0x4cc85e)||!_0x251918(_0x4cc85e)[_0x559c44(0x178)]())return _0xc347c[_0x559c44(0x1fe)]=0x194,_0x559c44(0x1b4);let _0x5c7392=_0x373cb9[_0x559c44(0x26d)](0x1)[_0x559c44(0x1c4)]('/')||'index.html';if(_0x5c7392[_0x559c44(0xa7)]('/'))_0x5c7392+=_0x559c44(0x1f8);const _0x497ed1=normalize(_0x3bdf20(_0x4cc85e,_0x5c7392));if(!_0x497ed1[_0x559c44(0x1f1)](_0x4cc85e+sep)&&_0x497ed1!==_0x4cc85e)return _0xc347c[_0x559c44(0x1fe)]=0x193,_0x559c44(0xc5);let _0x310568=_0x497ed1;_0x259e86(_0x310568)&&_0x251918(_0x310568)['isDirectory']()&&(_0x310568=_0x3bdf20(_0x310568,_0x559c44(0x1f8)));if(!_0x259e86(_0x310568)||!_0x251918(_0x310568)[_0x559c44(0x169)]())return _0xc347c[_0x559c44(0x1fe)]=0x194,_0x559c44(0x199);return _0xc347c['headers'][_0x559c44(0x152)]=contentType(_0x310568),_0xc347c[_0x559c44(0x136)]['cache-control']=_0x559c44(0x15a),_0xc347c['headers']['access-control-allow-origin']='*',Bun[_0x559c44(0x147)](_0x310568);});import{Elysia as _0x40108e}from'elysia';function ok(_0x6ad427){return{'code':RES_CODE['SUCCESS'],'message':'success','data':_0x6ad427??null};}function fail(_0xef915,_0x10e363=RES_CODE['ERROR']){return{'code':_0x10e363,'message':_0xef915};}async function handleExt(_0xd423df){const _0x26401a=_0x113362,_0x4c9a7b=_0xd423df[_0x26401a(0x1fc)][_0x26401a(0x210)];if(!_0x4c9a7b||!/^[a-zA-Z0-9_-]+$/['test'](_0x4c9a7b))return _0xd423df[_0x26401a(0x171)]['status']=0x190,fail(_0x26401a(0xb8));const _0x111dc0=String(_0xd423df[_0x26401a(0x1fc)]['*']||''),_0x53a81a=('/'+_0x111dc0)[_0x26401a(0x272)](/\/+/g,'/'),_0x217a22=Context['get'](),_0x3ebe4f=ModuleRegistry[_0x26401a(0x19a)](_0x4c9a7b);if(!_0x3ebe4f)return _0xd423df[_0x26401a(0x171)][_0x26401a(0x1fe)]=0x194,fail(_0x26401a(0x182));const _0x554282=_0xd423df['request'][_0x26401a(0x261)]['toUpperCase'](),_0xa7c533=_0x53a81a[_0x26401a(0x272)](/\/+$/,'')||'/',_0x3359ea=_0x3ebe4f[_0x26401a(0x240)][_0x26401a(0x1d1)](_0x157f54=>_0x157f54[_0x26401a(0x261)]===_0x554282&&_0x157f54['path']===_0xa7c533);if(!_0x3359ea)return _0xd423df['set'][_0x26401a(0x1fe)]=0x194,fail(_0x26401a(0x273));if(_0x3359ea['perms']&&!_0x217a22?.[_0x26401a(0xec)]){const _0x39ca82=_0x217a22?.[_0x26401a(0x19c)]??[];if(!_0x39ca82[_0x26401a(0xca)](_0x3359ea[_0x26401a(0x19c)]))return _0xd423df[_0x26401a(0x1fe)](0x193);}const _0x443dcf=await ModuleRegistry['dispatch'](_0x4c9a7b,_0x554282,_0x53a81a,{'body':_0xd423df[_0x26401a(0x18d)],'query':_0xd423df[_0x26401a(0x1a2)]??{},'params':_0xd423df['params'],'headers':_0xd423df[_0x26401a(0x237)]['headers'],'adminId':_0x217a22?.[_0x26401a(0xcf)]});if(!_0x443dcf['ok'])return _0xd423df['set'][_0x26401a(0x1fe)]=_0x443dcf[_0x26401a(0x1fe)],fail(_0x443dcf[_0x26401a(0x248)]);return ok(_0x443dcf[_0x26401a(0x28a)]);}function createModuleGateway(_0x17602b){const _0x55d875=_0x113362;return new _0x40108e({'name':_0x55d875(0xe5)})['use'](_0x17602b['adminAuth'])[_0x55d875(0x265)](_0x55d875(0x1bd),handleExt,{'adminAuth':!![]})[_0x55d875(0x265)](_0x55d875(0x285),handleExt,{'adminAuth':!![]});}import{Elysia as _0x37f886}from'elysia';function defineAuthMacro(_0x566432,_0x4602e8){const _0xc3f3f8=_0x113362;return new _0x37f886({'name':_0x566432+_0xc3f3f8(0x146)})[_0xc3f3f8(0x1ac)]({[_0x566432]:{'resolve':_0x4602e8}})['as'](_0xc3f3f8(0x27f));}var package_default={'name':_0x113362(0x259),'version':'0.0.18','description':_0x113362(0x17f),'license':'MIT','type':_0x113362(0xde),'files':[_0x113362(0x126),_0x113362(0x155),_0x113362(0x236)],'main':_0x113362(0x185),'types':_0x113362(0x200),'exports':{'.':{'types':_0x113362(0x200),'import':_0x113362(0x185),'default':_0x113362(0x185)},'./server':{'types':_0x113362(0x112),'import':_0x113362(0xcd),'default':_0x113362(0xcd)},'./admin':{'types':_0x113362(0x1ca),'import':_0x113362(0x271),'default':_0x113362(0x271)},'./admin/service':{'types':_0x113362(0xc6),'import':_0x113362(0x22c),'default':'./dist/admin/service/index.js'},'./admin/crud':{'types':'./dist/admin/crud/index.d.ts','import':_0x113362(0xab),'default':_0x113362(0xab)},'./admin/router':{'types':_0x113362(0x12a),'import':_0x113362(0x15d),'default':_0x113362(0x15d)},'./admin/*':{'types':'./dist/admin/*.d.ts','import':_0x113362(0x11f),'default':_0x113362(0x11f)},'./admin/styles/base.css':_0x113362(0x232),'./client':{'types':'./dist/client/index.d.ts','import':_0x113362(0x1d2),'default':_0x113362(0x1d2)},'./client/vite-plugin-eps':{'types':_0x113362(0x1e6),'import':'./dist/client/vite-plugin-eps.js','default':_0x113362(0x9f)},'./typings/*':_0x113362(0xdd)},'typesVersions':{'*':{'admin':[_0x113362(0x1ca)],'admin/service':[_0x113362(0xc6)],'admin/crud':[_0x113362(0x270)],'admin/router':[_0x113362(0x12a)],'admin/*':[_0x113362(0x104),'./dist/admin/*/index.d.ts'],'client':[_0x113362(0x1ab)],'client/vite-plugin-eps':['./dist/client/vite-plugin-eps.d.ts']}},'scripts':{'build:server':_0x113362(0x201),'build:client':_0x113362(0xac),'build:admin':_0x113362(0x197),'build':_0x113362(0x284),'obfuscate':_0x113362(0x26b),'build:obfuscate':_0x113362(0x101),'prepublishOnly':_0x113362(0x218),'postpublish':_0x113362(0xcb)},'peerDependencies':{'elysia':_0x113362(0xa8),'reflect-metadata':_0x113362(0x202),'drizzle-orm':_0x113362(0x26c),'drizzle-zod':_0x113362(0x28c),'vue':_0x113362(0xd5),'vue-router':_0x113362(0xbe),'pinia':_0x113362(0x143),'vue-sonner':_0x113362(0x143),'@vueuse/core':_0x113362(0x20b),'clsx':_0x113362(0x143),'tailwind-merge':'>=2.0.0','dompurify':_0x113362(0x217),'marked':_0x113362(0x19e)},'peerDependenciesMeta':{'drizzle-orm':{'optional':!![]},'drizzle-zod':{'optional':!![]},'vue':{'optional':!![]},'vue-router':{'optional':!![]},'pinia':{'optional':!![]},'vue-sonner':{'optional':!![]},'@vueuse/core':{'optional':!![]},'clsx':{'optional':!![]},'tailwind-merge':{'optional':!![]},'dompurify':{'optional':!![]},'marked':{'optional':!![]}},'devDependencies':{'bun-types':'latest','drizzle-orm':_0x113362(0x192),'drizzle-zod':'^0.8.3','elysia':_0x113362(0x192),'javascript-obfuscator':'^5.4.7','reflect-metadata':_0x113362(0x207),'typescript':_0x113362(0x192)},'dependencies':{'@bogeychan/elysia-logger':_0x113362(0xf0),'@elysiajs/openapi':'^1.4.15','pino':_0x113362(0x1d7),'pino-pretty':'^13.1.3'}},version=package_default['version'];export{vome,version,tableHasDepartmentId,syncColumnCommentsToPg,scanFiles,resolveTenantScope,resolveDataScope,readPluginScript,q,pPluginPath,pModulesPath,pModulePath,pDataPath,normalizeHost,noTenant,noDataScope,microApps,loadPluginClass,loadModuleHandlers,listProviders,listControllers,isTenantEnabled,isEpsEnabled,isCommException,getRepository,getEnv,getColumnComments,entitySchemas,defineAuthMacro,createModuleGateway,columnComments,baseColumns,attachCrudRoutes,applyRowScopes,applyDataScopeWhere,appendInjectMeta,VomeConfig,Use,ScopeEnum,Repository,RES_CODE,Query,Put,Public,Provide,Post,Perms,Patch,Param,ModuleRegistry,Logger,Ioc,InjectRepository,Inject,IgnorePerms,Get,Eps,Delete,DbStore,Controller,Context,CommException,Body,BaseService,BasePlugin,BaseController,BASE_COLUMN_COMMENTS,App};
1
+ const _0xc6df61=_0x3409;(function(_0x37006f,_0x17be96){const _0x1d2b05=_0x3409,_0x6ca57a=_0x37006f();while(!![]){try{const _0x570859=parseInt(_0x1d2b05(0x144))/0x1+parseInt(_0x1d2b05(0x12b))/0x2*(-parseInt(_0x1d2b05(0x257))/0x3)+-parseInt(_0x1d2b05(0xed))/0x4*(-parseInt(_0x1d2b05(0xd9))/0x5)+parseInt(_0x1d2b05(0x1de))/0x6+parseInt(_0x1d2b05(0x1bd))/0x7*(parseInt(_0x1d2b05(0x225))/0x8)+-parseInt(_0x1d2b05(0xb8))/0x9+-parseInt(_0x1d2b05(0xcf))/0xa;if(_0x570859===_0x17be96)break;else _0x6ca57a['push'](_0x6ca57a['shift']());}catch(_0x5707d6){_0x6ca57a['push'](_0x6ca57a['shift']());}}}(_0x4427,0xb52eb));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0x56f844=_0x3409;return Bun[_0x56f844(0x200)]['NODE_ENV']==='dev'?_0x56f844(0x27c):'prod';}function merge(_0x201d5f,_0x5da092){const _0x3fceea=_0x3409,_0x13fc96={..._0x201d5f};for(const _0x40df4e of Object[_0x3fceea(0x162)](_0x5da092)){const _0x3e0950=_0x13fc96[_0x40df4e],_0x560342=_0x5da092[_0x40df4e];if(_0x3e0950&&_0x560342&&typeof _0x3e0950===_0x3fceea(0x23a)&&typeof _0x560342===_0x3fceea(0x23a)&&!Array['isArray'](_0x3e0950)&&!Array[_0x3fceea(0x1fc)](_0x560342)){_0x13fc96[_0x40df4e]=merge(_0x3e0950,_0x560342);continue;}_0x13fc96[_0x40df4e]=_0x560342;}return _0x13fc96;}async function loadConfig(_0x4640cd=join(process[_0xc6df61(0x17b)](),_0xc6df61(0x17d))){const _0x8760ff=_0xc6df61,_0x288ece=getEnv()===_0x8760ff(0x27c)?_0x8760ff(0x1d7):_0x8760ff(0x27e),_0x4a27a6=await import(pathToFileURL(join(_0x4640cd,_0x8760ff(0x232)))['href']),_0x45e759=await import(pathToFileURL(join(_0x4640cd,_0x288ece))[_0x8760ff(0x214)]);return merge(_0x4a27a6[_0x8760ff(0x241)],_0x45e759[_0x8760ff(0x241)]);}var VomeConfig=await loadConfig();import{Elysia as _0x511214}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x398af0){const _0x4af1ce=_0xc6df61,_0x59e2fb=_0x398af0[_0x4af1ce(0x156)][_0x4af1ce(0x15b)](_0x4af1ce(0xa7));if(_0x59e2fb){const _0x49ce0c=_0x59e2fb[_0x4af1ce(0x205)](',')[0x0]?.[_0x4af1ce(0xb5)]();if(_0x49ce0c)return _0x49ce0c;}return _0x398af0['headers']['get'](_0x4af1ce(0xe2))?.[_0x4af1ce(0xb5)]()||_0x398af0[_0x4af1ce(0x156)][_0x4af1ce(0x15b)](_0x4af1ce(0xd6))?.[_0x4af1ce(0xb5)]()||'';}function initContextFromRequest(_0x541aaf){const _0x202ce5=_0xc6df61,_0x336bcf=new URL(_0x541aaf['url']),_0x2ab6af=_0x541aaf['headers'][_0x202ce5(0x15b)](_0x202ce5(0x1e6))?.[_0x202ce5(0x205)](',')[0x0]?.['trim'](),_0x142f90=_0x541aaf[_0x202ce5(0x156)][_0x202ce5(0x15b)](_0x202ce5(0x1e3))?.['trim']();return{'requestId':crypto['randomUUID'](),'method':_0x541aaf[_0x202ce5(0x170)],'path':_0x336bcf[_0x202ce5(0x288)],'ip':resolveClientIp(_0x541aaf),'host':_0x2ab6af||_0x142f90||_0x336bcf[_0x202ce5(0x1e3)],'startTime':Date[_0x202ce5(0x215)]()};}function enterContextWith(_0x2fa6f8){const _0x288e52=_0xc6df61;storage[_0x288e52(0x115)](_0x2fa6f8);}function getContext(){const _0x4b8125=_0xc6df61;return storage[_0x4b8125(0x1f9)]();}function assignContext(_0x419d22){const _0x1b9a5c=_0xc6df61,_0xc12f02=storage[_0x1b9a5c(0x1f9)]();if(!_0xc12f02){getEnv()==='dev'&&!warnedOutsideRequest&&(warnedOutsideRequest=!![],console['warn'](_0x1b9a5c(0x15e)));return;}Object['assign'](_0xc12f02,_0x419d22);}function runContext(_0x2bbf77,_0x1280ac){const _0x53a6c5=_0xc6df61;return storage[_0x53a6c5(0x114)](_0x2bbf77,_0x1280ac);}var Context=Object[_0xc6df61(0xca)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY=_0xc6df61(0x1dd),providers=new Map();function registerProvider(_0xb72712){const _0x160d23=_0xc6df61;providers[_0x160d23(0x14e)](_0xb72712[_0x160d23(0x1ef)],_0xb72712);}function getProvider(_0x3e80cb){const _0x31260c=_0xc6df61;return providers[_0x31260c(0x15b)](_0x3e80cb);}function listProviders(){const _0x26fd2d=_0xc6df61,_0xb7d3fb=new Set(),_0x59d6cb=[];for(const _0x94009a of providers[_0x26fd2d(0xdb)]()){if(_0xb7d3fb[_0x26fd2d(0x175)](_0x94009a[_0x26fd2d(0x1cd)]))continue;_0xb7d3fb[_0x26fd2d(0x270)](_0x94009a[_0x26fd2d(0x1cd)]),_0x59d6cb[_0x26fd2d(0xbf)](_0x94009a);}return _0x59d6cb;}function tokenLabel(_0xd108db){const _0x139dcf=_0xc6df61;if(typeof _0xd108db===_0x139dcf(0x137)||typeof _0xd108db==='symbol')return String(_0xd108db);return _0xd108db[_0x139dcf(0x287)]||_0x139dcf(0x1e7);}function appendInjectMeta(_0x406e9e,_0x466fb8){const _0x28aad3=_0xc6df61,_0x5660cb=Reflect['getMetadata'](INJECT_METADATA_KEY,_0x406e9e)??[];_0x5660cb[_0x28aad3(0xbf)](_0x466fb8),Reflect[_0x28aad3(0x111)](INJECT_METADATA_KEY,_0x5660cb,_0x406e9e);}function getInjectMetas(_0x596f0c){const _0x10dd39=_0xc6df61;return Reflect[_0x10dd39(0x212)](INJECT_METADATA_KEY,_0x596f0c)??[];}function resetProviders(){const _0x243258=_0xc6df61;providers[_0x243258(0x1dc)]();}var ScopeEnum;(_0x486a2e=>{const _0x12909b=_0xc6df61;_0x486a2e[_0x12909b(0x1e9)]=_0x12909b(0x280),_0x486a2e['Request']='request',_0x486a2e[_0x12909b(0x26b)]=_0x12909b(0x231);})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x551184,_0x32214a){const _0x1b9f2d=_0xc6df61;for(const _0x542ae2 of getInjectMetas(_0x32214a)){const {propertyKey:_0x299325,token:_0x21af7f,resolve:_0x3cde88}=_0x542ae2;if(!_0x3cde88&&_0x21af7f==null)throw new Error('[Ioc]\x20'+String(_0x299325)+'\x20缺少\x20token\x20或\x20resolve');const _0x33aaac=_0x3cde88?_0x3cde88():Ioc[_0x1b9f2d(0x15b)](_0x21af7f);_0x551184[_0x299325]=_0x33aaac;const _0x17d305=_0x551184[_0x1b9f2d(0x18e)];_0x3cde88&&typeof _0x17d305===_0x1b9f2d(0x16c)&&_0x17d305[_0x1b9f2d(0xad)](_0x551184,_0x33aaac);}}function createInstance(_0xdc0817){const _0x199b25=_0xc6df61;if(creating[_0x199b25(0x175)](_0xdc0817))throw new Error('[Ioc]\x20检测到循环依赖:\x20'+_0xdc0817[_0x199b25(0x287)]);creating[_0x199b25(0x270)](_0xdc0817);try{const _0x2d7762=new _0xdc0817();return injectProperties(_0x2d7762,_0xdc0817),_0x2d7762;}finally{creating['delete'](_0xdc0817);}}function getSingleton(_0x1a49be){const _0x25abae=_0xc6df61,_0x273ef4=singletons['get'](_0x1a49be);if(_0x273ef4)return _0x273ef4;const _0x1a47e8=createInstance(_0x1a49be);return singletons[_0x25abae(0x14e)](_0x1a49be,_0x1a47e8),_0x1a47e8;}function getRequestCache(){const _0x3da75c=_0xc6df61,_0x5a9638=Context[_0x3da75c(0x15b)]();if(!_0x5a9638)throw new Error(_0x3da75c(0x154));let _0x390391=requestCaches[_0x3da75c(0x15b)](_0x5a9638);return!_0x390391&&(_0x390391=new Map(),requestCaches[_0x3da75c(0x14e)](_0x5a9638,_0x390391)),_0x390391;}function getRequestScoped(_0x5c613a){const _0x3c34c7=getRequestCache(),_0x5eb3d1=_0x3c34c7['get'](_0x5c613a);if(_0x5eb3d1)return _0x5eb3d1;const _0x302340=createInstance(_0x5c613a);return _0x3c34c7['set'](_0x5c613a,_0x302340),_0x302340;}function resolveByScope(_0x367554,_0x54c69a){const _0x349d2b=_0xc6df61;switch(_0x54c69a){case _0x349d2b(0x280):return getSingleton(_0x367554);case _0x349d2b(0x231):return createInstance(_0x367554);case _0x349d2b(0x281):return getRequestScoped(_0x367554);default:throw new Error('[Ioc]\x20未知作用域:\x20'+_0x54c69a);}}function resolveMeta(_0x53baf6){const _0x87fc46=_0xc6df61,_0x8aff12=getProvider(_0x53baf6);if(!_0x8aff12)throw new Error(_0x87fc46(0x129)+tokenLabel(_0x53baf6));return _0x8aff12;}function bootstrapIoc(){const _0x3ac345=_0xc6df61;for(const {useClass:_0x5adab1,scope:_0x4e022d}of listProviders()){_0x4e022d===_0x3ac345(0x280)&&getSingleton(_0x5adab1);}console['log'](_0x3ac345(0x1eb)+singletons[_0x3ac345(0x1bc)]+_0x3ac345(0xe1));}function get(_0x503ebd){const _0x4d732b=_0xc6df61,_0x567006=resolveMeta(_0x503ebd);return resolveByScope(_0x567006[_0x4d732b(0x1cd)],_0x567006[_0x4d732b(0x1a5)]);}function set(_0x150a9d,_0x15ec95){const _0x279e1e=_0xc6df61;if(typeof _0x150a9d==='function'){registerProvider({'token':_0x150a9d,'useClass':_0x150a9d,'scope':_0x279e1e(0x280)}),singletons['set'](_0x150a9d,_0x15ec95);return;}const _0x4f456f=_0x15ec95?.[_0x279e1e(0x25f)];if(!_0x4f456f||_0x4f456f===Object)throw new Error('[Ioc]\x20Ioc.set('+tokenLabel(_0x150a9d)+_0x279e1e(0x286));registerProvider({'token':_0x150a9d,'useClass':_0x4f456f,'scope':_0x279e1e(0x280)}),registerProvider({'token':_0x4f456f,'useClass':_0x4f456f,'scope':'singleton'}),singletons[_0x279e1e(0x14e)](_0x4f456f,_0x15ec95);}function resetIoc(){const _0x4ce64d=_0xc6df61;singletons[_0x4ce64d(0x1dc)](),creating[_0x4ce64d(0x1dc)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0xb5c320){const _0x175f80=_0xc6df61;controllers[_0x175f80(0x14e)](_0xb5c320['token'],_0xb5c320);}function listControllers(_0x44c794){const _0x1f6065=_0xc6df61,_0x1b2203=[...controllers[_0x1f6065(0xdb)]()];return _0x44c794?_0x1b2203[_0x1f6065(0xd3)](_0x5cacb9=>_0x5cacb9[_0x1f6065(0xe9)]===_0x44c794):_0x1b2203;}var ROUTE_PARAMS_KEY='vome:controller:route-params',ROUTE_PUBLIC_KEY=_0xc6df61(0x216),ROUTE_MW_KEY=_0xc6df61(0xd5),ROUTE_PERMS_KEY=_0xc6df61(0x132),ROUTE_IGNORE_PERMS_KEY=_0xc6df61(0x1ad);function appendRouteParam(_0x390651,_0x380672,_0xcee1e1){const _0xb5ab8a=_0xc6df61,_0x416bcc=Reflect[_0xb5ab8a(0x212)](ROUTE_PARAMS_KEY,_0x390651)??{},_0x430723=_0x416bcc[_0x380672]??[];_0x430723[_0xb5ab8a(0xbf)](_0xcee1e1),_0x416bcc[_0x380672]=_0x430723,Reflect['defineMetadata'](ROUTE_PARAMS_KEY,_0x416bcc,_0x390651);}function getRouteParams(_0x3d960e,_0x5bb852){const _0x573313=_0xc6df61,_0x37e9d8=Reflect[_0x573313(0x212)](ROUTE_PARAMS_KEY,_0x3d960e);return _0x37e9d8?.[_0x5bb852]??[];}function clearRouteParams(_0x59d2a8){Reflect['deleteMetadata'](ROUTE_PARAMS_KEY,_0x59d2a8);}function markRoutePublic(_0x429b63,_0x2e170f){const _0x28d180=_0xc6df61,_0x51a270=Reflect['getMetadata'](ROUTE_PUBLIC_KEY,_0x429b63)??{};_0x51a270[_0x2e170f]=!![],Reflect[_0x28d180(0x111)](ROUTE_PUBLIC_KEY,_0x51a270,_0x429b63);}function isRoutePublic(_0x358e38,_0x3c7171){const _0x5e9329=Reflect['getMetadata'](ROUTE_PUBLIC_KEY,_0x358e38);return!!_0x5e9329?.[_0x3c7171];}function clearRoutePublic(_0x47fd20){const _0x550166=_0xc6df61;Reflect[_0x550166(0x178)](ROUTE_PUBLIC_KEY,_0x47fd20);}function appendRouteMiddleware(_0x135a41,_0x3bfc00,_0x141dba){const _0xd41e90=_0xc6df61,_0x3de66d=Reflect[_0xd41e90(0x212)](ROUTE_MW_KEY,_0x135a41)??{};_0x3de66d[_0x3bfc00]=[..._0x3de66d[_0x3bfc00]??[],..._0x141dba],Reflect[_0xd41e90(0x111)](ROUTE_MW_KEY,_0x3de66d,_0x135a41);}function getRouteMiddleware(_0x232a5b,_0x93dfbd){const _0xb830b5=_0xc6df61,_0x1fa105=Reflect[_0xb830b5(0x212)](ROUTE_MW_KEY,_0x232a5b);return _0x1fa105?.[_0x93dfbd]??[];}function clearRouteMiddleware(_0x1e3782){Reflect['deleteMetadata'](ROUTE_MW_KEY,_0x1e3782);}function setRoutePerms(_0x26b1fa,_0xcb7e41,_0x194cce){const _0x53eb80=_0xc6df61,_0x338be4=Reflect['getMetadata'](ROUTE_PERMS_KEY,_0x26b1fa)??{};_0x338be4[_0xcb7e41]=_0x194cce,Reflect[_0x53eb80(0x111)](ROUTE_PERMS_KEY,_0x338be4,_0x26b1fa);}function getRoutePerms(_0x36c67b,_0x4ac983){const _0x23c62c=Reflect['getMetadata'](ROUTE_PERMS_KEY,_0x36c67b);return _0x23c62c?.[_0x4ac983];}function clearRoutePerms(_0x305090){const _0x12848c=_0xc6df61;Reflect[_0x12848c(0x178)](ROUTE_PERMS_KEY,_0x305090);}function markRouteIgnorePerms(_0x394e30,_0x37c9ce){const _0x2a4e91=_0xc6df61,_0x13ebb4=Reflect['getMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x394e30)??{};_0x13ebb4[_0x37c9ce]=!![],Reflect[_0x2a4e91(0x111)](ROUTE_IGNORE_PERMS_KEY,_0x13ebb4,_0x394e30);}function isRouteIgnorePerms(_0x3b41b0,_0x34ea08){const _0x5b748c=Reflect['getMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x3b41b0);return!!_0x5b748c?.[_0x34ea08];}function clearRouteIgnorePerms(_0x3ba6a2){Reflect['deleteMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x3ba6a2);}function schemaFromParams(_0x1d9439){const _0x1ec21b=_0xc6df61,_0x3a1222={};for(const _0x3a5c8e of _0x1d9439){if(_0x3a5c8e[_0x1ec21b(0x21d)]===_0x1ec21b(0x28b)&&_0x3a5c8e[_0x1ec21b(0x121)]!==undefined)_0x3a1222[_0x1ec21b(0x28b)]=_0x3a5c8e[_0x1ec21b(0x121)];if(_0x3a5c8e[_0x1ec21b(0x21d)]===_0x1ec21b(0x1f2)&&_0x3a5c8e[_0x1ec21b(0x121)]!==undefined)_0x3a1222[_0x1ec21b(0x1f2)]=_0x3a5c8e[_0x1ec21b(0x121)];if(_0x3a5c8e[_0x1ec21b(0x21d)]===_0x1ec21b(0x206)&&_0x3a5c8e[_0x1ec21b(0x121)]!==undefined)_0x3a1222[_0x1ec21b(0x206)]=_0x3a5c8e[_0x1ec21b(0x121)];}return Object['keys'](_0x3a1222)[_0x1ec21b(0x1e2)]>0x0?_0x3a1222:undefined;}function openApiTag(_0x34055b,_0x1e4a10){return _0x34055b+'.'+_0x1e4a10;}function sideOrder(_0x46b7de){const _0x11b0b4=_0xc6df61;if(_0x46b7de===_0x11b0b4(0x13d))return 0x0;if(_0x46b7de===_0x11b0b4(0x24d))return 0x1;return 0x2;}function parseTag(_0x25ace3){const _0x1220e0=_0xc6df61,_0x356be8=_0x25ace3[_0x1220e0(0x210)]('.');if(_0x356be8<0x0)return{'module':_0x25ace3,'side':''};return{'module':_0x25ace3['slice'](0x0,_0x356be8),'side':_0x25ace3['slice'](_0x356be8+0x1)};}function buildOpenApiTagDocs(){const _0xa088cf=_0xc6df61,_0x1bb515=listControllers(),_0x10ddb5=new Map(),_0x216d48=new Map();for(const _0x44e61c of _0x1bb515){const _0xf6ec0=openApiTag(_0x44e61c['module'],_0x44e61c[_0xa088cf(0xe9)]);!_0x10ddb5[_0xa088cf(0x175)](_0xf6ec0)&&_0x10ddb5[_0xa088cf(0x14e)](_0xf6ec0,{'name':_0xf6ec0,'description':_0x44e61c[_0xa088cf(0xb6)]+'\x20'+_0x44e61c[_0xa088cf(0xe9)],'x-displayName':_0x44e61c['side']});let _0x2afe33=_0x216d48['get'](_0x44e61c[_0xa088cf(0xb6)]);!_0x2afe33&&(_0x2afe33=new Set(),_0x216d48[_0xa088cf(0x14e)](_0x44e61c['module'],_0x2afe33)),_0x2afe33[_0xa088cf(0x270)](_0xf6ec0);}const _0x5da6ae=[..._0x10ddb5['values']()][_0xa088cf(0x1a2)]((_0x20f583,_0x19c99a)=>{const _0x2c4021=_0xa088cf,_0xacc486=parseTag(_0x20f583['name']),_0xfca6b3=parseTag(_0x19c99a[_0x2c4021(0x287)]);return _0xacc486[_0x2c4021(0xb6)][_0x2c4021(0xc6)](_0xfca6b3[_0x2c4021(0xb6)])||sideOrder(_0xacc486[_0x2c4021(0xe9)])-sideOrder(_0xfca6b3[_0x2c4021(0xe9)]);}),_0xe5d2b4=[..._0x216d48[_0xa088cf(0x25b)]()][_0xa088cf(0x1a2)](([_0x3a929e],[_0x569ad3])=>_0x3a929e[_0xa088cf(0xc6)](_0x569ad3))[_0xa088cf(0x1b3)](([_0x34dbaa,_0x5be96d])=>({'name':_0x34dbaa,'tags':[..._0x5be96d][_0xa088cf(0x1a2)]((_0x5168c6,_0x48c78b)=>{const _0x3bc020=_0xa088cf,_0x3fad80=parseTag(_0x5168c6)[_0x3bc020(0xe9)],_0x2549b5=parseTag(_0x48c78b)[_0x3bc020(0xe9)];return sideOrder(_0x3fad80)-sideOrder(_0x2549b5);})}));return{'tags':_0x5da6ae,'tagGroups':_0xe5d2b4};}function normalizePrefix(_0x28fa7a){const _0x3347d0=_0xc6df61;if(!_0x28fa7a)return'';return _0x28fa7a[_0x3347d0(0x188)]('/')?_0x28fa7a:'/'+_0x28fa7a;}function joinPrefix(..._0x3b6b5a){const _0x102333=_0xc6df61,_0x4a5141=_0x3b6b5a[_0x102333(0x1b3)](_0x1d3e0b=>normalizePrefix(_0x1d3e0b)['replace'](/^\/+|\/+$/g,''))[_0x102333(0xd3)](Boolean);return _0x4a5141['length']?'/'+_0x4a5141['join']('/'):'/';}function getRouteSubPath(_0x5c43b4,_0x21ab0c){const _0x2b62b3=_0xc6df61,_0x3e60b4=normalizePrefix(_0x21ab0c)[_0x2b62b3(0x1f3)](/\/$/,''),_0x180b57=normalizePrefix(_0x5c43b4);if(!_0x3e60b4)return _0x180b57||'/';if(_0x180b57===_0x3e60b4)return'/';if(_0x180b57[_0x2b62b3(0x188)](_0x3e60b4+'/'))return _0x180b57[_0x2b62b3(0x185)](_0x3e60b4[_0x2b62b3(0x1e2)])||'/';const _0x32a478=_0x5c43b4[_0x2b62b3(0x188)]('/')?_0x5c43b4:'/'+_0x5c43b4;return _0x32a478||'/';}function resolveRoutePerm(_0xd30f1f,_0x208bfe,_0xfb3aca){const _0x3cc193=_0xc6df61;let _0x3c2b0f=_0x208bfe[_0x3cc193(0x1f3)](/^\//,'')[_0x3cc193(0x1f3)](/\/+/g,':');if(_0x3c2b0f===_0xd30f1f)_0x3c2b0f=_0xd30f1f;else _0x3c2b0f[_0x3cc193(0x188)](_0xd30f1f+':')&&(_0x3c2b0f=_0x3c2b0f[_0x3cc193(0x185)](_0xd30f1f[_0x3cc193(0x1e2)]+0x1));const _0x15c9d9=_0xd30f1f+'-';_0x3c2b0f['startsWith'](_0x15c9d9)&&(_0x3c2b0f=_0x3c2b0f['slice'](_0x15c9d9['length']));_0x3c2b0f=_0x3c2b0f[_0x3cc193(0x1f3)](/-/g,':');if(!_0x3c2b0f)_0x3c2b0f=_0xd30f1f;return _0xd30f1f+':'+_0x3c2b0f+':'+_0xfb3aca;}function actionFromSubPath(_0x31b9d4){const _0x2340fc=_0xc6df61,_0x409a2d=_0x31b9d4[_0x2340fc(0x1f3)](/^\/+|\/+$/g,'');if(!_0x409a2d)return'index';const _0x5a534f=_0x409a2d[_0x2340fc(0x205)]('/');return _0x5a534f[_0x5a534f['length']-0x1]||'index';}function effectivePerms(_0x3b4ee7,_0x397271,_0x204f0a){const _0x13cd83=_0xc6df61;if(_0x397271['side']!==_0x13cd83(0x13d)||_0x3b4ee7['public']||_0x3b4ee7['ignorePerms'])return;if(_0x3b4ee7[_0x13cd83(0x1a7)]?.['length'])return _0x3b4ee7[_0x13cd83(0x1a7)];const _0x192a60=_0x204f0a??actionFromSubPath(getRouteSubPath(_0x3b4ee7[_0x13cd83(0x16d)]??'/',_0x397271[_0x13cd83(0x1ba)]));return[resolveRoutePerm(_0x397271[_0x13cd83(0xb6)],_0x397271[_0x13cd83(0x1ba)],_0x192a60)];}var crudRegistrar;function setCrudRegistrar(_0x580f3c){crudRegistrar=_0x580f3c;}var SIDE_PREFIX={'admin':'/admin','app':_0xc6df61(0xe5)},ADMIN_GUARD=_0xc6df61(0x197),APP_GUARD='auth',ELYSIA_METHODS={'GET':_0xc6df61(0x15b),'POST':_0xc6df61(0xd4),'PUT':'put','DELETE':_0xc6df61(0x118),'PATCH':_0xc6df61(0x1e1)};function getSidePrefix(_0x152bb9){return normalizePrefix(SIDE_PREFIX[_0x152bb9]);}function buildRouteSchema(_0xabf46b){const _0x3804f2=_0xc6df61;if(_0xabf46b[_0x3804f2(0x206)]?.[_0x3804f2(0x1e2)])return schemaFromParams(_0xabf46b[_0x3804f2(0x206)]);const _0x2f7d93={};if(_0xabf46b[_0x3804f2(0x28b)]!==undefined)_0x2f7d93[_0x3804f2(0x28b)]=_0xabf46b['body'];if(_0xabf46b[_0x3804f2(0x1f2)]!==undefined)_0x2f7d93[_0x3804f2(0x1f2)]=_0xabf46b['query'];if(_0xabf46b[_0x3804f2(0x130)]!==undefined)_0x2f7d93[_0x3804f2(0x206)]=_0xabf46b[_0x3804f2(0x130)];return Object['keys'](_0x2f7d93)['length']>0x0?_0x2f7d93:undefined;}function assertRouteParams(_0x2ccf2b,_0x31181a,_0x1b1bc1){const _0x45f760=_0xc6df61,_0x363a26=new Set();for(const _0x2fb59c of _0x2ccf2b){if(_0x363a26[_0x45f760(0x175)](_0x2fb59c[_0x45f760(0x21d)])){const _0x7c918a=_0x2fb59c[_0x45f760(0x21d)]===_0x45f760(0x28b)?'Body':_0x2fb59c[_0x45f760(0x21d)]===_0x45f760(0x1f2)?_0x45f760(0x17c):_0x45f760(0x1f8);throw new Error('[Router]\x20'+_0x1b1bc1+'.'+_0x31181a+_0x45f760(0x1f4)+_0x7c918a);}_0x363a26[_0x45f760(0x270)](_0x2fb59c['source']);}}function createParamHandler(_0x1ae52e,_0x60bc08,_0x23aa4b){const _0x274a29=_0xc6df61,_0x2723c4=_0x1ae52e[_0x60bc08],_0x177a6a=_0x2723c4['bind'](_0x1ae52e);if(!_0x23aa4b?.[_0x274a29(0x1e2)])return _0x177a6a;const _0x158659=[..._0x23aa4b][_0x274a29(0x1a2)]((_0x25aced,_0x541f91)=>_0x25aced[_0x274a29(0xa9)]-_0x541f91[_0x274a29(0xa9)]);return _0x3e041b=>{const _0x35555a=_0x274a29,_0x2333a8=_0x158659[_0x35555a(0x1b3)](_0x131c7e=>{const _0xc9a43d=_0x35555a;if(_0x131c7e[_0xc9a43d(0x21d)]===_0xc9a43d(0x28b))return _0x3e041b[_0xc9a43d(0x28b)];if(_0x131c7e['source']===_0xc9a43d(0x1f2))return _0x3e041b[_0xc9a43d(0x1f2)];if(_0x131c7e['source']==='params')return _0x3e041b[_0xc9a43d(0x206)];throw new Error(_0xc9a43d(0x28d)+_0x131c7e['source']);});return _0x177a6a(..._0x2333a8,_0x3e041b);};}function createPermsGuard(_0x467b2b){return _0x46a82a=>{const _0x30a51f=_0x3409,_0x5370ea=_0x46a82a[_0x30a51f(0x113)],_0x21f632=Context[_0x30a51f(0x15b)]();if(_0x21f632?.[_0x30a51f(0x140)])return;const _0x4ee10b=_0x21f632?.[_0x30a51f(0x1a7)]??[];if(_0x467b2b[_0x30a51f(0x266)](_0x1d53d3=>_0x4ee10b[_0x30a51f(0x159)](_0x1d53d3)))return;return _0x5370ea(0x193);};}function openApiSummary(_0x3abc42,_0x1e55af){const _0x1fde3f=_0xc6df61,_0x3de8d8=_0x3abc42[_0x1fde3f(0x1f3)](/^\/+|\/+$/g,'')[_0x1fde3f(0x205)]('/')['pop']()||_0x3abc42;return _0x1e55af?_0x3de8d8+'\x20'+_0x1e55af:_0x3de8d8;}function buildRouteOptions(_0x282097,_0x32e66a){const _0x39662b=_0xc6df61,_0x30a2dd=buildRouteSchema(_0x282097)??{},_0x1b56e1={..._0x30a2dd,'detail':{'tags':[openApiTag(_0x32e66a[_0x39662b(0xb6)],_0x32e66a['side'])],'summary':openApiSummary(_0x282097[_0x39662b(0x207)],_0x282097[_0x39662b(0x155)])}};_0x32e66a['side']===_0x39662b(0x13d)&&!_0x282097[_0x39662b(0x138)]&&(_0x1b56e1[ADMIN_GUARD]=!![]);_0x32e66a[_0x39662b(0xe9)]===_0x39662b(0x24d)&&!_0x282097[_0x39662b(0x138)]&&(_0x1b56e1[APP_GUARD]=!![]);const _0x565fd2=[],_0xfb19bf=effectivePerms(_0x282097,_0x32e66a);if(_0xfb19bf?.[_0x39662b(0x1e2)])_0x565fd2[_0x39662b(0xbf)](createPermsGuard(_0xfb19bf));if(_0x282097[_0x39662b(0x12a)]?.['length'])_0x565fd2[_0x39662b(0xbf)](..._0x282097[_0x39662b(0x12a)]);if(_0x565fd2['length'])_0x1b56e1[_0x39662b(0x189)]=_0x565fd2;return _0x1b56e1;}function normalizeCrudRouteOpts(_0x587163){const _0x5f44bb=_0xc6df61;if(_0x587163==null)return{};if(typeof _0x587163===_0x5f44bb(0x1fa))return{'public':_0x587163};return _0x587163;}function registerControllerPlugin(_0x99ffd,_0x88414b){const _0x537406=_0xc6df61,_0xf23eb5=getSidePrefix(_0x99ffd[_0x537406(0xe9)]),_0x5a8c58=joinPrefix(_0xf23eb5,_0x99ffd['prefix']),_0x23de43=Ioc[_0x537406(0x15b)](_0x99ffd[_0x537406(0x1ef)]);let _0x278d08=new Elysia({'prefix':_0x5a8c58,'name':_0x99ffd[_0x537406(0x1ef)][_0x537406(0x287)],'tags':[openApiTag(_0x99ffd[_0x537406(0xb6)],_0x99ffd[_0x537406(0xe9)])]});for(const _0x659718 of _0x99ffd[_0x537406(0x12a)]??[]){_0x278d08=_0x278d08[_0x537406(0x1ea)](_0x659718);}const _0xf4146=[];for(const _0x2ed91b of _0x99ffd[_0x537406(0x27d)]){const _0x1361da=_0x23de43[_0x2ed91b[_0x537406(0x207)]];if(typeof _0x1361da!==_0x537406(0x16c))throw new Error('[Router]\x20'+_0x99ffd[_0x537406(0x1ef)][_0x537406(0x287)]+'.'+_0x2ed91b[_0x537406(0x207)]+_0x537406(0x149));assertRouteParams(_0x2ed91b[_0x537406(0x206)]??[],_0x2ed91b['handler'],_0x99ffd['token'][_0x537406(0x287)]);const _0x453df8=createParamHandler(_0x23de43,_0x2ed91b['handler'],_0x2ed91b[_0x537406(0x206)]),_0x4e976c=getRouteSubPath(_0x2ed91b[_0x537406(0x16d)],_0x99ffd[_0x537406(0x1ba)]),_0x207afa=buildRouteOptions(_0x2ed91b,_0x99ffd),_0x39481c=ELYSIA_METHODS[_0x2ed91b[_0x537406(0x170)]];_0x278d08=_0x278d08[_0x39481c](_0x4e976c,_0x453df8,_0x207afa);}if(_0x99ffd[_0x537406(0xef)]?.[_0x537406(0x12e)]?.[_0x537406(0x1e2)]||_0x99ffd[_0x537406(0xef)]?.[_0x537406(0x135)]?.[_0x537406(0x1e2)]){if(!crudRegistrar)throw new Error(_0x537406(0x272)+_0x99ffd[_0x537406(0x1ef)][_0x537406(0x287)]+'\x20配置了\x20api/serviceApis,但未找到\x20CRUD\x20实现(@vome-core\x20attachCrudRoutes\x20未挂载)');_0x278d08=crudRegistrar(_0x278d08,_0x99ffd,{'controller':_0x23de43,'routeOptions':_0x28228e=>{const _0x438429=_0x537406,{public:_0x4dc5ec,action:_0x14a9f7,summary:_0x56a97e}=normalizeCrudRouteOpts(_0x28228e),_0x284dc1={'detail':{'tags':[openApiTag(_0x99ffd[_0x438429(0xb6)],_0x99ffd['side'])],'summary':openApiSummary(_0x14a9f7??_0x438429(0x15c),_0x56a97e)}};if(_0x99ffd[_0x438429(0xe9)]==='admin'&&!_0x4dc5ec){_0x284dc1[ADMIN_GUARD]=!![];if(_0x14a9f7){const _0x19c32a=resolveRoutePerm(_0x99ffd['module'],_0x99ffd[_0x438429(0x1ba)],_0x14a9f7);_0x284dc1[_0x438429(0x189)]=[createPermsGuard([_0x19c32a])];}}return _0x284dc1;}});for(const _0x1f5fbe of _0x99ffd[_0x537406(0xef)]?.[_0x537406(0x12e)]??[]){const _0x5082e9=_0x1f5fbe===_0x537406(0x161)?'GET':_0x537406(0x17e);_0xf4146[_0x537406(0xbf)]({'method':_0x5082e9,'path':joinPrefix(_0x99ffd[_0x537406(0x1ba)],_0x1f5fbe),'handler':_0x1f5fbe,'autoCrud':!![]});}for(const _0x3f4b43 of _0x99ffd[_0x537406(0xef)]?.['serviceApis']??[]){_0xf4146['push']({'method':_0x537406(0x17e),'path':joinPrefix(_0x99ffd['prefix'],_0x3f4b43),'handler':_0x3f4b43,'autoCrud':!![]});}}return{'plugin':_0x278d08,'pluginPrefix':_0x5a8c58,'autoRoutes':_0xf4146};}function registerControllers(_0x1a80f0,_0x2b1e55){const _0x8243dc=_0xc6df61;let _0x4fc550=_0x1a80f0,_0x259116=0x0;const _0x46b3c6=[];for(const _0xcb7889 of listControllers()){const {plugin:_0x3c0188,pluginPrefix:_0x554a47,autoRoutes:_0x301df3}=registerControllerPlugin(_0xcb7889,_0x2b1e55);_0x4fc550=_0x4fc550[_0x8243dc(0x107)](_0x3c0188);for(const _0x291aad of[..._0xcb7889[_0x8243dc(0x27d)],..._0x301df3]){_0x259116+=0x1;const _0x3fdef4=getRouteSubPath(_0x291aad[_0x8243dc(0x16d)],_0xcb7889[_0x8243dc(0x1ba)]),_0x359900=_0x3fdef4==='/'?_0x554a47:joinPrefix(_0x554a47,_0x3fdef4[_0x8243dc(0x1f3)](/^\//,'')),_0xcce362=_0x291aad[_0x8243dc(0x138)]?'\x20(public)':_0x291aad['autoCrud']?'\x20(crud)':'';_0x46b3c6['push'](_0x291aad[_0x8243dc(0x170)]+'\x20'+_0x359900+_0xcce362);}}if(_0x259116>0x0){console[_0x8243dc(0x11b)](_0x8243dc(0x180)+_0x259116+'\x20route(s)');for(const _0x105112 of _0x46b3c6)console[_0x8243dc(0x11b)]('\x20\x20'+_0x105112);}return _0x4fc550;}var {Glob}=globalThis[_0xc6df61(0x1fd)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0x3eda5c,_0x47e0fb={}){const _0x46f1ee=_0xc6df61,{cwd:cwd=process['cwd'](),ext:ext=DEFAULT_EXT}=_0x47e0fb,_0x30066b=Array[_0x46f1ee(0x1fc)](_0x3eda5c)?_0x3eda5c:[_0x3eda5c],_0x5ec7e3=[];for(const _0x33c465 of _0x30066b){const _0x3ff40e=new Glob(_0x33c465);for await(const _0x4f0e90 of _0x3ff40e[_0x46f1ee(0x246)]({'cwd':cwd,'onlyFiles':!![]})){if(ext[_0x46f1ee(0x223)](_0x4f0e90))_0x5ec7e3[_0x46f1ee(0xbf)](_0x4f0e90);}}return[...new Set(_0x5ec7e3)][_0x46f1ee(0x1a2)]();}var context=null;function setControllerScanContext(_0x25d91f){context=_0x25d91f;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x1d9a1c){const _0x9eb6ed=_0xc6df61,_0x1aaa1b=_0x1d9a1c[_0x9eb6ed(0x1bf)](/modules\/([^/]+)\/controller\//);if(!_0x1aaa1b)return _0x9eb6ed(0x186);return _0x1aaa1b[0x1];}function parseControllerAutoPrefix(_0x353dd0){const _0x533220=_0xc6df61,_0x421f83=_0x353dd0[_0x533220(0x1f3)](/\\/g,'/')[_0x533220(0x1bf)](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x421f83)return'';const _0x2c425c=_0x421f83[0x1],_0x49c13a=_0x421f83[0x2][_0x533220(0x1f3)](/\/+/g,'/')[_0x533220(0x1f3)](/^\/|\/$/g,'');if(!_0x49c13a)return'/'+_0x2c425c;return'/'+_0x2c425c+'/'+_0x49c13a;}var TIME_KEY_RE=/(?:Time|Date|At)$/,ISO_RE=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?$/;function formatDateTime(_0x12fb98){const _0x21fb2b=_0xc6df61,_0x377377=_0x12fb98 instanceof Date?_0x12fb98:new Date(_0x12fb98);if(Number[_0x21fb2b(0xc0)](_0x377377[_0x21fb2b(0x26c)]()))return String(_0x12fb98);return new Intl[(_0x21fb2b(0x203))](_0x21fb2b(0x1ac),{'timeZone':_0x21fb2b(0x17a),'year':_0x21fb2b(0x255),'month':_0x21fb2b(0x101),'day':'2-digit','hour':_0x21fb2b(0x101),'minute':_0x21fb2b(0x101),'second':_0x21fb2b(0x101),'hour12':![]})[_0x21fb2b(0xf6)](_0x377377)[_0x21fb2b(0x1f3)]('T','\x20');}function isTimeKey(_0x269cd1){const _0x43911a=_0xc6df61;return TIME_KEY_RE[_0x43911a(0x223)](_0x269cd1);}function formatApiDates(_0x240de9){return walk(_0x240de9);}function walk(_0x3d79ab,_0x5ee0be){const _0x4c97bd=_0xc6df61;if(_0x3d79ab==null)return _0x3d79ab;if(_0x3d79ab instanceof Date)return formatDateTime(_0x3d79ab);if(typeof _0x3d79ab==='string'&&_0x5ee0be&&isTimeKey(_0x5ee0be)&&ISO_RE[_0x4c97bd(0x223)](_0x3d79ab))return formatDateTime(_0x3d79ab);if(Array[_0x4c97bd(0x1fc)](_0x3d79ab))return _0x3d79ab[_0x4c97bd(0x1b3)](_0x555056=>walk(_0x555056));if(typeof _0x3d79ab===_0x4c97bd(0x23a)){if(Object['prototype'][_0x4c97bd(0x13a)][_0x4c97bd(0xad)](_0x3d79ab)!==_0x4c97bd(0xfd))return _0x3d79ab;const _0x1838f0={};for(const [_0x28b66a,_0xbe7fdb]of Object[_0x4c97bd(0x25b)](_0x3d79ab)){_0x1838f0[_0x28b66a]=walk(_0xbe7fdb,_0x28b66a);}return _0x1838f0;}return _0x3d79ab;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0x367ab4){const _0x493b63=_0xc6df61,_0x168ebb=_0x367ab4===undefined?null:_0x367ab4;return{'code':RES_CODE[_0x493b63(0x209)],'message':_0x493b63(0x142),'data':_0x168ebb==null?_0x168ebb:formatApiDates(_0x168ebb)};}[_0xc6df61(0xba)](_0x252701=_0xc6df61(0x284),_0xa160f4=RES_CODE[_0xc6df61(0x12c)]){return{'code':_0xa160f4,'message':_0x252701};}}import'reflect-metadata';function normalizeProvideArgs(_0x3ddb13){const _0x4b4182=_0xc6df61;if(_0x3ddb13==null)return{};if(typeof _0x3ddb13===_0x4b4182(0x137)||typeof _0x3ddb13===_0x4b4182(0xce))return{'id':_0x3ddb13};return _0x3ddb13;}function Provide(_0x57afe6){return _0x28ff10=>{const _0x16b199=_0x3409,_0x38b08e=normalizeProvideArgs(_0x57afe6),_0x28aefc=_0x38b08e[_0x16b199(0x1a5)]??_0x16b199(0x280);registerProvider({'token':_0x28ff10,'useClass':_0x28ff10,'scope':_0x28aefc}),_0x38b08e['id']!=null&&registerProvider({'token':_0x38b08e['id'],'useClass':_0x28ff10,'scope':_0x28aefc});};}function Inject(_0x2e051b){return(_0x382615,_0x44b799)=>{const _0x8911b4=_0x3409,_0x3ea638=Reflect['getMetadata']('design:type',_0x382615,_0x44b799),_0x94dd73=_0x2e051b??_0x3ea638;if(_0x94dd73==null)throw new Error(_0x8911b4(0x22a)+String(_0x44b799)+'\x20的类型,请显式传入\x20token');appendInjectMeta(_0x382615[_0x8911b4(0x25f)],{'propertyKey':_0x44b799,'token':_0x94dd73});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0xf2d480){const _0x1f9bb3=_0xc6df61;if(typeof _0xf2d480===_0x1f9bb3(0x137)){const _0x306576=_0xf2d480[_0x1f9bb3(0x159)]('.')?_0xf2d480[_0x1f9bb3(0x205)]('.')['pop']():_0xf2d480;return{'column':_0x306576,'param':_0x306576,'none':![]};}const _0x13d128=_0xf2d480['column']['includes']('.')?_0xf2d480[_0x1f9bb3(0x124)][_0x1f9bb3(0x205)]('.')[_0x1f9bb3(0x1a6)]():_0xf2d480[_0x1f9bb3(0x124)];return{'column':_0x13d128,'param':_0xf2d480['requestParam']??_0x13d128,'none':Boolean(_0xf2d480[_0x1f9bb3(0x1f5)])};}function rangeColumn(_0x1f78d){const _0x60c6ed=_0xc6df61;return _0x1f78d['column'][_0x60c6ed(0x159)]('.')?_0x1f78d[_0x60c6ed(0x124)][_0x60c6ed(0x205)]('.')['pop']():_0x1f78d[_0x60c6ed(0x124)];}function tableCol(_0x40e84a,_0xfc7301){const _0x11cb1a=_0xc6df61,_0x2d4829=_0x40e84a[_0xfc7301];if(_0x2d4829==null)throw new Error(_0x11cb1a(0x167)+_0xfc7301);return _0x2d4829;}function isBlank(_0x2bf500){return _0x2bf500===undefined||_0x2bf500===null||_0x2bf500==='';}function _0x3409(_0x2264c1,_0x376a83){_0x2264c1=_0x2264c1-0xa4;const _0x442767=_0x4427();let _0x34094e=_0x442767[_0x2264c1];if(_0x3409['egQpbr']===undefined){var _0x9e162a=function(_0x810fc){const _0x2b3f66='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x511214='',_0x3459be='';for(let _0x5df778=0x0,_0x17576b,_0x11bc8d,_0x56eeb5=0x0;_0x11bc8d=_0x810fc['charAt'](_0x56eeb5++);~_0x11bc8d&&(_0x17576b=_0x5df778%0x4?_0x17576b*0x40+_0x11bc8d:_0x11bc8d,_0x5df778++%0x4)?_0x511214+=String['fromCharCode'](0xff&_0x17576b>>(-0x2*_0x5df778&0x6)):0x0){_0x11bc8d=_0x2b3f66['indexOf'](_0x11bc8d);}for(let _0x3b6d56=0x0,_0x495618=_0x511214['length'];_0x3b6d56<_0x495618;_0x3b6d56++){_0x3459be+='%'+('00'+_0x511214['charCodeAt'](_0x3b6d56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3459be);};_0x3409['hokUsO']=_0x9e162a,_0x3409['TVzvvh']={},_0x3409['egQpbr']=!![];}const _0x2e842b=_0x442767[0x0],_0x1a958c=_0x2264c1+_0x2e842b,_0x48d052=_0x3409['TVzvvh'][_0x1a958c];return!_0x48d052?(_0x34094e=_0x3409['hokUsO'](_0x34094e),_0x3409['TVzvvh'][_0x1a958c]=_0x34094e):_0x34094e=_0x48d052,_0x34094e;}function compactWhere(_0x37908a){const _0x373ed2=_0xc6df61;if(_0x37908a==null||_0x37908a===![])return[];const _0x1fbbaa=Array[_0x373ed2(0x1fc)](_0x37908a)?_0x37908a:[_0x37908a];return _0x1fbbaa[_0x373ed2(0xd3)](_0x3cb3d7=>_0x3cb3d7!=null&&_0x3cb3d7!==![]);}var q={'between'(_0xdda199,_0x501b2d,_0x2eaab7){if(isBlank(_0x501b2d)||isBlank(_0x2eaab7))return;return sql`${_0xdda199} between ${_0x501b2d} and ${_0x2eaab7}`;},'range'(_0x3404a2,_0x5f233e,_0x1fd92c){const _0x40fe10=_0xc6df61,_0x7dddaa=[];if(!isBlank(_0x5f233e))_0x7dddaa[_0x40fe10(0xbf)](gte(_0x3404a2,_0x5f233e));if(!isBlank(_0x1fd92c))_0x7dddaa[_0x40fe10(0xbf)](lte(_0x3404a2,_0x1fd92c));if(!_0x7dddaa['length'])return;return _0x7dddaa['length']===0x1?_0x7dddaa[0x0]:and(..._0x7dddaa);},'eqRest'(_0x55abe0,_0x52c4e4,_0x303ff5){const _0x46894c=_0xc6df61,_0x13ba9d=[];for(const [_0x5ec20e,_0x513c6f]of Object[_0x46894c(0x25b)](_0x55abe0)){if(isBlank(_0x513c6f))continue;const _0x5bf187=_0x303ff5?.[_0x5ec20e]??_0x52c4e4[_0x5ec20e];if(_0x5bf187==null)continue;_0x13ba9d[_0x46894c(0xbf)](eq(_0x5bf187,_0x513c6f));}return _0x13ba9d;},'contains'(_0x32c8b0,_0x243699){const _0x43ab87=_0xc6df61;if(isBlank(_0x243699))return;const _0x2600ee=Array[_0x43ab87(0x1fc)](_0x243699)?_0x243699:[_0x243699];if(!_0x2600ee[_0x43ab87(0x1e2)])return;return _0x2600ee[_0x43ab87(0x1e2)]===0x1?arrayContains(_0x32c8b0,_0x2600ee):arrayOverlaps(_0x32c8b0,_0x2600ee);}};function buildFieldClauses(_0x202a5e,_0x88cfa,_0x5da93f){const _0x269494=_0xc6df61,_0x5ef1be=[];if(_0x5da93f[_0x269494(0x247)]?.['length']&&!isBlank(_0x88cfa[_0x269494(0x1da)])){const _0x4d3bc9='%'+String(_0x88cfa[_0x269494(0x1da)])+'%',_0x5113d2=_0x5da93f[_0x269494(0x247)]['map'](_0x1b7e79=>{const _0x503445=_0x269494,_0x3d424e=_0x1b7e79[_0x503445(0x159)]('.')?_0x1b7e79[_0x503445(0x205)]('.')[_0x503445(0x1a6)]():_0x1b7e79;return like(tableCol(_0x202a5e,_0x3d424e),_0x4d3bc9);});if(_0x5113d2[_0x269494(0x1e2)]===0x1)_0x5ef1be[_0x269494(0xbf)](_0x5113d2[0x0]);else{if(_0x5113d2[_0x269494(0x1e2)]>0x1)_0x5ef1be[_0x269494(0xbf)](or(..._0x5113d2));}}for(const _0x15ab48 of _0x5da93f[_0x269494(0xe3)]??[]){const {column:_0x32ef4d,param:_0x7fcac1}=colName(_0x15ab48),_0x3e51d4=_0x88cfa[_0x7fcac1];if(isBlank(_0x3e51d4))continue;if(Array[_0x269494(0x1fc)](_0x3e51d4)){if(!_0x3e51d4[_0x269494(0x1e2)])continue;_0x5ef1be[_0x269494(0xbf)](inArray(tableCol(_0x202a5e,_0x32ef4d),_0x3e51d4));}else _0x5ef1be[_0x269494(0xbf)](eq(tableCol(_0x202a5e,_0x32ef4d),_0x3e51d4));}for(const _0x19f2c2 of _0x5da93f['fieldLike']??[]){const {column:_0xdb86a0,param:_0x3fdb63}=colName(_0x19f2c2),_0x2cb71c=_0x88cfa[_0x3fdb63];if(isBlank(_0x2cb71c))continue;_0x5ef1be[_0x269494(0xbf)](like(tableCol(_0x202a5e,_0xdb86a0),'%'+String(_0x2cb71c)+'%'));}for(const _0x41f21e of _0x5da93f[_0x269494(0x15a)]??[]){const {column:_0x5e1c02,param:_0x1db3bc}=colName(_0x41f21e),_0x55c9f9=q['contains'](tableCol(_0x202a5e,_0x5e1c02),_0x88cfa[_0x1db3bc]);if(_0x55c9f9)_0x5ef1be['push'](_0x55c9f9);}for(const _0x16c486 of _0x5da93f['fieldRange']??[]){const _0x4ccc12=tableCol(_0x202a5e,rangeColumn(_0x16c486)),_0x1736d1=q[_0x269494(0x24c)](_0x4ccc12,_0x88cfa[_0x16c486[_0x269494(0x153)]],_0x88cfa[_0x16c486[_0x269494(0x23f)]]);if(_0x1736d1)_0x5ef1be[_0x269494(0xbf)](_0x1736d1);}return _0x5ef1be;}function buildOrderBy(_0x1dcd06,_0x4a610a,_0x1b4013){const _0x371a2f=_0xc6df61,_0xcc4c0b=[],_0x585839=_0x4a610a[_0x371a2f(0x191)]!=null?String(_0x4a610a['order']):undefined,_0x49590d=_0x4a610a[_0x371a2f(0x1a2)]==='asc'||_0x4a610a[_0x371a2f(0x1a2)]===_0x371a2f(0x13c)?_0x4a610a[_0x371a2f(0x1a2)]:undefined;if(_0x585839){const _0x5925e4=tableCol(_0x1dcd06,_0x585839);_0xcc4c0b[_0x371a2f(0xbf)](_0x49590d===_0x371a2f(0x262)?asc(_0x5925e4):desc(_0x5925e4));}else{if(_0x1b4013[_0x371a2f(0x182)])for(const [_0x129bc5,_0x381398]of Object[_0x371a2f(0x25b)](_0x1b4013[_0x371a2f(0x182)])){const _0x522253=_0x129bc5[_0x371a2f(0x159)]('.')?_0x129bc5[_0x371a2f(0x205)]('.')['pop']():_0x129bc5,_0x253724=tableCol(_0x1dcd06,_0x522253);_0xcc4c0b[_0x371a2f(0xbf)](_0x381398===_0x371a2f(0x262)?asc(_0x253724):desc(_0x253724));}}return _0xcc4c0b;}function needsAdvancedQuery(_0x1f7274){const _0x1ccb1f=_0xc6df61;return!!(_0x1f7274?.[_0x1ccb1f(0x24e)]?.[_0x1ccb1f(0x1e2)]||_0x1f7274?.[_0x1ccb1f(0x18c)]);}async function buildQueryOp(_0x1908f9,_0x27b5ba,_0x57efe7={},_0x2f5483){const _0x5f4dd8=_0xc6df61,_0x4c6a8c=buildFieldClauses(_0x1908f9,_0x27b5ba,_0x57efe7),_0x1472dc=buildOrderBy(_0x1908f9,_0x27b5ba,_0x57efe7),_0x51e9ca={'body':_0x27b5ba,'request':_0x2f5483??new Request(_0x5f4dd8(0x236))};_0x57efe7[_0x5f4dd8(0x1b5)]&&_0x4c6a8c[_0x5f4dd8(0xbf)](...compactWhere(await _0x57efe7[_0x5f4dd8(0x1b5)](_0x51e9ca)));if(_0x57efe7[_0x5f4dd8(0x21a)]){const _0x4c4b80={'andWhere'(_0x21fbf3){if(_0x21fbf3!=null&&_0x21fbf3!==![])_0x4c6a8c['push'](_0x21fbf3);},'orderBy'(..._0x343f31){const _0x29226d=_0x5f4dd8;for(const _0x36dc71 of _0x343f31){if(_0x36dc71!=null)_0x1472dc[_0x29226d(0xbf)](_0x36dc71);}}};await _0x57efe7['extend'](_0x4c4b80,_0x51e9ca);}const _0x283a99=_0x4c6a8c[_0x5f4dd8(0x1e2)]===0x0?undefined:_0x4c6a8c[_0x5f4dd8(0x1e2)]===0x1?_0x4c6a8c[0x0]:and(..._0x4c6a8c);return{'where':_0x283a99,'orderBySql':_0x1472dc};}import{and as _0x3459be,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x5df778}from'drizzle-orm';function readCrudConfig(){return VomeConfig['vome']?.['crud']??{};}function resolveUpsert(_0x2d7835){const _0x3cd236=_0xc6df61;return _0x2d7835??readCrudConfig()['upsert']??_0x3cd236(0x20a);}function resolveSoftDelete(_0x5259a6){if(_0x5259a6!=null)return _0x5259a6;return readCrudConfig()['softDelete']===!![];}class DbStore{[_0xc6df61(0x22c)];[_0xc6df61(0x157)];['schema'];[_0xc6df61(0x217)];constructor(_0x255e05,_0x2ab83d,_0x11f905,_0x170a3a){const _0x207c0e=_0xc6df61;this[_0x207c0e(0x22c)]=_0x255e05,this['client']=_0x2ab83d,this[_0x207c0e(0x121)]=_0x11f905,this[_0x207c0e(0x217)]=_0x170a3a;}}import{and as _0x17576b,inArray as _0x11bc8d,sql as _0x56eeb5}from'drizzle-orm';import{and as _0x3b6d56,eq as _0x495618,sql as _0xcfd25c}from'drizzle-orm';var SKIP_KEY='__skipTenant';function isTenantEnabled(){const _0x359733=_0xc6df61;return VomeConfig[_0x359733(0x192)]?.[_0x359733(0x10e)]===!![];}function tableHasTenantId(_0x3a5ee7){const _0x752616=_0xc6df61;return _0x3a5ee7[_0x752616(0x1a4)]!=null;}function resolveTenantScope(){const _0x5e9b3e=_0xc6df61;if(!isTenantEnabled())return _0x5e9b3e(0x1c6);const _0x586a22=Context[_0x5e9b3e(0x15b)]();if(_0x586a22?.[SKIP_KEY])return _0x5e9b3e(0x1c6);if(_0x586a22?.[_0x5e9b3e(0x140)])return _0x5e9b3e(0x1a3);const _0x3adec5=_0x586a22?.[_0x5e9b3e(0x1a4)],_0x30079e=typeof _0x3adec5===_0x5e9b3e(0xff)?_0x3adec5:Number(_0x3adec5);if(!Number[_0x5e9b3e(0xfa)](_0x30079e)||_0x30079e<=0x0)return _0x5e9b3e(0x1f5);return _0x30079e;}function applyTenantWhere(_0x3837d9,_0x22da2e){const _0x455f85=_0xc6df61;if(!tableHasTenantId(_0x3837d9))return _0x22da2e;const _0x3f6da9=resolveTenantScope();if(_0x3f6da9==='off'||_0x3f6da9===_0x455f85(0x1a3))return _0x22da2e;const _0x4269f3=_0x3837d9[_0x455f85(0x1a4)],_0x20cebc=_0x3f6da9===_0x455f85(0x1f5)?_0xcfd25c`false`:_0x495618(_0x4269f3,_0x3f6da9);if(_0x22da2e&&_0x20cebc)return _0x3b6d56(_0x22da2e,_0x20cebc);return _0x22da2e??_0x20cebc;}function stampTenantId(_0xacadf3,_0x26a689){const _0x5cfb75=_0xc6df61;if(!tableHasTenantId(_0xacadf3))return _0x26a689;const _0xb4f479=resolveTenantScope();if(typeof _0xb4f479!==_0x5cfb75(0xff))return _0x26a689;if(_0x26a689[_0x5cfb75(0x1a4)]!=null)return _0x26a689;return{..._0x26a689,'tenantId':_0xb4f479};}async function noTenant(_0x7068ac){const _0x42842b=_0xc6df61,_0x20d8dc=Context[_0x42842b(0x15b)]();if(!_0x20d8dc)return _0x7068ac();const _0x5a2890=_0x20d8dc[SKIP_KEY];_0x20d8dc[SKIP_KEY]=!![];try{return await _0x7068ac();}finally{if(_0x5a2890===undefined)delete _0x20d8dc[SKIP_KEY];else _0x20d8dc[SKIP_KEY]=_0x5a2890;}}function normalizeHost(_0x1fc17d){const _0x193459=_0xc6df61;if(!_0x1fc17d)return'';return _0x1fc17d[_0x193459(0xb5)]()[_0x193459(0x19a)]()[_0x193459(0x1f3)](/:\d+$/,'');}var SKIP_KEY2=_0xc6df61(0x123);function tableHasDepartmentId(_0x37a24a){const _0x31a952=_0xc6df61;return _0x37a24a[_0x31a952(0x244)]!=null;}function resolveDataScope(){const _0x53f726=_0xc6df61,_0xe5c69b=Context[_0x53f726(0x15b)]();if(!_0xe5c69b)return'off';if(_0xe5c69b[SKIP_KEY2])return _0x53f726(0x1c6);if(_0xe5c69b[_0x53f726(0x140)])return _0x53f726(0x1a3);const _0x290ed5=_0xe5c69b['dataScope'];if(_0x290ed5==null||_0x290ed5==='')return _0x53f726(0x1c6);if(_0x290ed5===_0x53f726(0x1a3))return _0x53f726(0x1a3);if(_0x290ed5===_0x53f726(0x1f5))return'none';const _0x19944a=_0xe5c69b['dataScopeDeptIds'],_0x1b2680=Array[_0x53f726(0x1fc)](_0x19944a)?_0x19944a[_0x53f726(0x1b3)](_0x11d1d6=>Number(_0x11d1d6))[_0x53f726(0xd3)](_0x3e1c2f=>Number[_0x53f726(0xfa)](_0x3e1c2f)&&_0x3e1c2f>0x0):[];if(!_0x1b2680[_0x53f726(0x1e2)])return _0x53f726(0x1f5);return[...new Set(_0x1b2680)];}function applyDataScopeWhere(_0x3660d8,_0x52219b){const _0x1bdc8d=_0xc6df61;if(!tableHasDepartmentId(_0x3660d8))return _0x52219b;const _0x3fcb93=resolveDataScope();if(_0x3fcb93===_0x1bdc8d(0x1c6)||_0x3fcb93===_0x1bdc8d(0x1a3))return _0x52219b;const _0xed1631=_0x3660d8['departmentId'],_0x122a5b=_0x3fcb93===_0x1bdc8d(0x1f5)?_0x56eeb5`false`:_0x11bc8d(_0xed1631,_0x3fcb93);if(_0x52219b)return _0x17576b(_0x52219b,_0x122a5b);return _0x122a5b;}function applyRowScopes(_0x40b53e,_0x846e46){return applyDataScopeWhere(_0x40b53e,applyTenantWhere(_0x40b53e,_0x846e46));}async function noDataScope(_0xd17f27){const _0x180e65=_0xc6df61,_0xece36a=Context[_0x180e65(0x15b)]();if(!_0xece36a)return _0xd17f27();const _0x1d7083=_0xece36a[SKIP_KEY2];_0xece36a[SKIP_KEY2]=!![];try{return await _0xd17f27();}finally{if(_0x1d7083===undefined)delete _0xece36a[SKIP_KEY2];else _0xece36a[SKIP_KEY2]=_0x1d7083;}}function deletedAtColumn(_0x2fa174){const _0x591cd0=_0xc6df61;return _0x2fa174[_0x591cd0(0x171)];}function trashClause(_0x1d242d,_0x37c716){const _0x3af923=_0xc6df61;if(!resolveSoftDelete(_0x37c716?.[_0x3af923(0x11c)]))return;const _0x5793b2=deletedAtColumn(_0x1d242d);if(_0x5793b2==null)return;if(_0x37c716?.[_0x3af923(0x21e)])return isNotNull(_0x5793b2);if(_0x37c716?.[_0x3af923(0x271)])return;return isNull(_0x5793b2);}function mergeWhere(_0x248558,_0x1dcbfd){if(_0x248558&&_0x1dcbfd)return _0x3459be(_0x1dcbfd,_0x248558);return _0x248558??_0x1dcbfd;}function applyJoins(_0x5869fe,_0x36c430,_0x482576){const _0x568096=_0xc6df61;let _0x3ff075=_0x5869fe;for(const _0x1c9d92 of _0x482576['join']??[]){const _0x24813a=_0x1c9d92['table'],_0x354188=_0x1c9d92['on'](_0x36c430),_0xd7a67e=_0x1c9d92[_0x568096(0x26d)]??_0x568096(0x177);_0xd7a67e===_0x568096(0x28a)||_0xd7a67e===_0x568096(0x24e)?_0x3ff075=_0x3ff075[_0x568096(0x28a)](_0x24813a,_0x354188):_0x3ff075=_0x3ff075[_0x568096(0x177)](_0x24813a,_0x354188);}return _0x3ff075;}function resolveSelect(_0x4c1b63,_0x1b3c50){const _0x57613e=_0xc6df61;if(_0x1b3c50[_0x57613e(0x18c)])return _0x1b3c50[_0x57613e(0x18c)];return getTableColumns(_0x4c1b63);}function countExpr(_0x3290c7,_0x3ac8fb){const _0x1b34b7=_0x3290c7['id'];if(_0x1b34b7!=null&&_0x3ac8fb)return countDistinct(_0x1b34b7);if(_0x1b34b7!=null)return count(_0x1b34b7);return count(_0x5df778`*`);}async function queryWithOp(_0x4786f8,_0x5a99c1,_0x2944f6,_0x11a7b6){const _0x43f8ed=_0xc6df61,_0x2bc1b7=await buildQueryOp(_0x4786f8,_0x5a99c1,_0x2944f6,_0x11a7b6[_0x43f8ed(0x281)]),_0x43850b=trashClause(_0x4786f8,_0x11a7b6[_0x43f8ed(0x16b)]),_0x39bfc1=applyRowScopes(_0x4786f8,mergeWhere(_0x2bc1b7[_0x43f8ed(0x1b5)],_0x43850b)),_0x406439=resolveSelect(_0x4786f8,_0x2944f6),_0x1b3123=!!_0x2944f6[_0x43f8ed(0x24e)]?.[_0x43f8ed(0x1e2)],_0xb5870f=Ioc['get'](DbStore)['drizzle'];let _0x34396f=applyJoins(_0xb5870f[_0x43f8ed(0x18c)](_0x406439)[_0x43f8ed(0x1bb)](_0x4786f8),_0x4786f8,_0x2944f6);if(_0x39bfc1)_0x34396f=_0x34396f['where'](_0x39bfc1);if(_0x2bc1b7['orderBySql'][_0x43f8ed(0x1e2)])_0x34396f=_0x34396f[_0x43f8ed(0xf1)](..._0x2bc1b7[_0x43f8ed(0x16a)]);if(_0x11a7b6['mode']===_0x43f8ed(0x146))return await _0x34396f;const _0x1f392f=Math['max'](0x1,Number(_0x5a99c1[_0x43f8ed(0x23b)]??0x1)),_0x5a369e=Math[_0x43f8ed(0x153)](0x64,Math[_0x43f8ed(0x23f)](0x1,Number(_0x5a99c1[_0x43f8ed(0x1bc)]??0x14))),_0x10806e=(_0x1f392f-0x1)*_0x5a369e,_0x58890c=await _0x34396f[_0x43f8ed(0xb1)](_0x5a369e)[_0x43f8ed(0xb2)](_0x10806e);let _0x4942ec=applyJoins(_0xb5870f[_0x43f8ed(0x18c)]({'value':countExpr(_0x4786f8,_0x1b3123)})[_0x43f8ed(0x1bb)](_0x4786f8),_0x4786f8,_0x2944f6);if(_0x39bfc1)_0x4942ec=_0x4942ec[_0x43f8ed(0x1b5)](_0x39bfc1);const _0x4bf744=await _0x4942ec,_0x29efcd=Number(_0x4bf744[0x0]?.[_0x43f8ed(0x14b)]??0x0);return{'list':_0x58890c,'pagination':{'page':_0x1f392f,'size':_0x5a369e,'total':_0x29efcd}};}import{and as _0x2b15b8,count as _0x12d2b0,eq as _0x610d04,inArray as _0x3525c1,isNotNull as _0x40105c,isNull as _0x41dca0}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0xba2f95){return{'select':createSelectSchema(_0xba2f95),'insert':createInsertSchema(_0xba2f95),'update':createUpdateSchema(_0xba2f95)};}var WRITE_META_KEYS=[_0xc6df61(0x1a9),'updateTime',_0xc6df61(0x171)];function sanitizeWritePayload(_0x337a53){const _0x1cc7f6=_0xc6df61,_0x5c8952=_0x337a53&&typeof _0x337a53===_0x1cc7f6(0x23a)&&!Array[_0x1cc7f6(0x1fc)](_0x337a53)?{..._0x337a53}:{};for(const _0x2d0dd0 of WRITE_META_KEYS)delete _0x5c8952[_0x2d0dd0];for(const [_0x12bc0e,_0x3e6ab1]of Object[_0x1cc7f6(0x25b)](_0x5c8952)){if(typeof _0x3e6ab1!=='string')continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x1cc7f6(0x223)](_0x3e6ab1))continue;const _0xf6275f=new Date(_0x3e6ab1);if(!Number['isNaN'](_0xf6275f[_0x1cc7f6(0x26c)]()))_0x5c8952[_0x12bc0e]=_0xf6275f;}return _0x5c8952;}function isSqlLike(_0x1924a3){return!!_0x1924a3&&typeof _0x1924a3==='object'&&_0x1924a3['getSQL']!=null;}function db(){const _0x1fcfba=_0xc6df61;return Ioc[_0x1fcfba(0x15b)](DbStore)[_0x1fcfba(0x22c)];}function tableId(_0x4199e0){const _0x5d9c37=_0x4199e0['id'];if(!_0x5d9c37)throw new Error('[Repository]\x20\u8868\u65E0\x20id\x20\u5217\uFF0C\u8BF7\u6539\u7528\x20find(where)\x20/\x20findOne(where)');return _0x5d9c37;}function deletedAtColumn2(_0x1c845a){const _0xb2d858=_0xc6df61;return _0x1c845a[_0xb2d858(0x171)];}function mergeWhere2(_0x429123,_0x32756e){if(_0x429123&&_0x32756e)return _0x2b15b8(_0x32756e,_0x429123);return _0x429123??_0x32756e;}function trashClause2(_0x3b2efa,_0x509e99){const _0x536d05=_0xc6df61;if(!resolveSoftDelete(_0x509e99?.['softDelete']))return;const _0xc1c7f1=deletedAtColumn2(_0x3b2efa);if(_0xc1c7f1==null)return;if(_0x509e99?.['onlyTrashed'])return _0x40105c(_0xc1c7f1);if(_0x509e99?.[_0x536d05(0x271)])return;return _0x41dca0(_0xc1c7f1);}class Repository{[_0xc6df61(0xf5)];['schema'];constructor(_0x44e9f2,_0x5d95e8){const _0x5d5839=_0xc6df61;this[_0x5d5839(0xf5)]=_0x44e9f2,this['schema']=_0x5d95e8??entitySchemas(_0x44e9f2);}[_0xc6df61(0x1d8)](){const _0x29c09a=_0xc6df61;return deletedAtColumn2(this[_0x29c09a(0xf5)])!=null;}['scopedWhere'](_0x4a4cea,_0x41c1c3){const _0x12ca12=_0xc6df61;return applyRowScopes(this[_0x12ca12(0xf5)],mergeWhere2(_0x4a4cea,trashClause2(this['table'],_0x41c1c3)));}async[_0xc6df61(0x25c)](_0x39cb0c,_0x5bf511){const _0x333fc1=_0xc6df61,_0x1f353c=this[_0x333fc1(0x258)](_0x39cb0c,_0x5bf511);let _0x56e50f=db()['select']()[_0x333fc1(0x1bb)](this[_0x333fc1(0xf5)]);if(_0x1f353c)_0x56e50f=_0x56e50f[_0x333fc1(0x1b5)](_0x1f353c);if(_0x5bf511?.['orderBy']?.[_0x333fc1(0x1e2)])_0x56e50f=_0x56e50f['orderBy'](..._0x5bf511[_0x333fc1(0xf1)]);return await _0x56e50f;}async[_0xc6df61(0x12d)](_0x26fdeb,_0x9af92d){const _0x149ab7=_0xc6df61,[_0x169936]=await this[_0x149ab7(0x25c)](_0x26fdeb,_0x9af92d);return _0x169936;}async[_0xc6df61(0x20c)](_0x43a11c,_0x552091){const _0x513bd5=_0xc6df61;return this[_0x513bd5(0x12d)](_0x610d04(tableId(this[_0x513bd5(0xf5)]),_0x43a11c),_0x552091);}async[_0xc6df61(0x23d)](_0x92b6d1,_0x5de563){const _0x2d79ca=_0xc6df61,_0x1a3904=this[_0x2d79ca(0x258)](_0x92b6d1,_0x5de563),_0x4e8fae=db()[_0x2d79ca(0x18c)]({'value':_0x12d2b0()})[_0x2d79ca(0x1bb)](this[_0x2d79ca(0xf5)]),_0xa4c079=_0x1a3904?await _0x4e8fae[_0x2d79ca(0x1b5)](_0x1a3904):await _0x4e8fae;return Number(_0xa4c079[0x0]?.['value']??0x0);}async['findPage'](_0x4acc5e){const _0x21b0d6=_0xc6df61,{page:_0x136961,size:_0x22a4b3,where:_0x4d50fa,orderBy:_0x5ed1b2,withTrashed:_0x1bcd93,onlyTrashed:_0x35ca0b,softDelete:_0x36cc94}=_0x4acc5e,_0x547fab={'withTrashed':_0x1bcd93,'onlyTrashed':_0x35ca0b,'softDelete':_0x36cc94},_0x207348=this[_0x21b0d6(0x258)](_0x4d50fa,_0x547fab),_0x54d041=(_0x136961-0x1)*_0x22a4b3;let _0x23a9b9=db()['select']()[_0x21b0d6(0x1bb)](this[_0x21b0d6(0xf5)]);if(_0x207348)_0x23a9b9=_0x23a9b9[_0x21b0d6(0x1b5)](_0x207348);if(_0x5ed1b2?.[_0x21b0d6(0x1e2)])_0x23a9b9=_0x23a9b9['orderBy'](..._0x5ed1b2);const _0xde6166=await _0x23a9b9['limit'](_0x22a4b3)[_0x21b0d6(0xb2)](_0x54d041),_0x633dc0=await this[_0x21b0d6(0x23d)](_0x4d50fa,_0x547fab);return{'list':_0xde6166,'pagination':{'page':_0x136961,'size':_0x22a4b3,'total':_0x633dc0}};}[_0xc6df61(0xda)](_0x45ed5e){const _0xdbb8c8=_0xc6df61,_0x29bcf1=stampTenantId(this[_0xdbb8c8(0xf5)],sanitizeWritePayload(_0x45ed5e));return this[_0xdbb8c8(0x121)][_0xdbb8c8(0x20a)][_0xdbb8c8(0x139)](_0x29bcf1);}async['create'](_0x15c0e7){const _0x3320a4=_0xc6df61;if(Array[_0x3320a4(0x1fc)](_0x15c0e7)){if(!_0x15c0e7[_0x3320a4(0x1e2)])return[];const _0x57e28a=_0x15c0e7['map'](_0x550731=>this[_0x3320a4(0xda)](_0x550731));return await db()['insert'](this[_0x3320a4(0xf5)])[_0x3320a4(0xdb)](_0x57e28a)[_0x3320a4(0x24b)]();}const [_0x3c9802]=await db()[_0x3320a4(0x20a)](this['table'])['values'](this[_0x3320a4(0xda)](_0x15c0e7))[_0x3320a4(0x24b)]();return _0x3c9802;}async[_0xc6df61(0x19b)](_0x83e7c7){const _0x3d28a1=_0xc6df61;if(Array[_0x3d28a1(0x1fc)](_0x83e7c7)){if(!_0x83e7c7[_0x3d28a1(0x1e2)])return[];const _0x312333=_0x83e7c7,_0x5b1178=tableId(this[_0x3d28a1(0xf5)]),_0x54ce45=_0x312333[_0x3d28a1(0xd3)](_0x38f82a=>_0x38f82a?.['id']!=null&&_0x38f82a['id']!==''),_0x4f431c=_0x312333[_0x3d28a1(0xd3)](_0x4d032a=>_0x4d032a?.['id']==null||_0x4d032a['id']==='');let _0x5695e8=new Set();if(_0x54ce45[_0x3d28a1(0x1e2)]){const _0x8ad835=await this[_0x3d28a1(0x25c)](_0x3525c1(_0x5b1178,_0x54ce45[_0x3d28a1(0x1b3)](_0x4e327a=>_0x4e327a['id'])));_0x5695e8=new Set(_0x8ad835['map'](_0x6c4c3d=>_0x6c4c3d['id']));}const _0x3cbdd9=[],_0x45eca8=[..._0x4f431c];for(const _0x3ba374 of _0x54ce45){if(_0x5695e8[_0x3d28a1(0x175)](_0x3ba374['id']))_0x3cbdd9[_0x3d28a1(0xbf)](_0x3ba374);else _0x45eca8[_0x3d28a1(0xbf)](_0x3ba374);}const _0x3a9abd=_0x3cbdd9[_0x3d28a1(0x1e2)]?await this['update'](_0x3cbdd9):[],_0x2f0f24=_0x45eca8[_0x3d28a1(0x1e2)]?await this[_0x3d28a1(0x145)](_0x45eca8):[];return[...Array[_0x3d28a1(0x1fc)](_0x3a9abd)?_0x3a9abd:_0x3a9abd?[_0x3a9abd]:[],...Array['isArray'](_0x2f0f24)?_0x2f0f24:_0x2f0f24?[_0x2f0f24]:[]];}const _0x83a0f0=_0x83e7c7,_0x3995fc=_0x83a0f0?.['id'];if(_0x3995fc!=null&&_0x3995fc!==''){const _0x840719=await this[_0x3d28a1(0x20c)](_0x3995fc);if(_0x840719){const {id:_0x24eab2,..._0x2e859b}=_0x83a0f0,_0x52bff4=await this['update'](_0x610d04(tableId(this[_0x3d28a1(0xf5)]),_0x3995fc),_0x2e859b);return _0x52bff4??_0x840719;}}return await this['create'](_0x83e7c7);}async['update'](_0x535430,_0x3e2b4b){const _0x27fc71=_0xc6df61;if(Array['isArray'](_0x535430))return this[_0x27fc71(0x22f)](_0x535430);const _0x519a98=this[_0x27fc71(0x121)][_0x27fc71(0x268)][_0x27fc71(0x139)](sanitizeWritePayload(_0x3e2b4b)),_0x5155a5=applyRowScopes(this[_0x27fc71(0xf5)],_0x535430);if(!_0x5155a5)return;const [_0x93d5c1]=await db()['update'](this[_0x27fc71(0xf5)])[_0x27fc71(0x14e)](_0x519a98)[_0x27fc71(0x1b5)](_0x5155a5)[_0x27fc71(0x24b)]();return _0x93d5c1;}async[_0xc6df61(0x22f)](_0x26785b){const _0x3cce4a=_0xc6df61;if(!_0x26785b[_0x3cce4a(0x1e2)])return[];const _0x207307=tableId(this[_0x3cce4a(0xf5)]),_0x8fa842=new Map();for(const _0xfd5101 of _0x26785b){const _0x307199=_0xfd5101['id'];if(_0x307199==null||_0x307199==='')throw new Error(_0x3cce4a(0x13b));const {id:_0x1cb823,..._0x3a7448}=_0xfd5101,_0x2f8ac4=this['schema']['update']['parse'](sanitizeWritePayload(_0x3a7448)),_0xb94487=JSON[_0x3cce4a(0x19c)](_0x2f8ac4),_0x471c76=_0x8fa842[_0x3cce4a(0x15b)](_0xb94487);if(_0x471c76)_0x471c76[_0x3cce4a(0x1df)][_0x3cce4a(0xbf)](_0x307199);else _0x8fa842['set'](_0xb94487,{'ids':[_0x307199],'patch':_0x2f8ac4});}const _0x29a958=[];for(const {ids:_0xa09ab2,patch:_0x32ebc2}of _0x8fa842['values']()){const _0x2bd1aa=applyRowScopes(this[_0x3cce4a(0xf5)],_0x3525c1(_0x207307,_0xa09ab2));if(!_0x2bd1aa)continue;const _0x392909=await db()[_0x3cce4a(0x268)](this['table'])[_0x3cce4a(0x14e)](_0x32ebc2)[_0x3cce4a(0x1b5)](_0x2bd1aa)[_0x3cce4a(0x24b)]();_0x29a958[_0x3cce4a(0xbf)](..._0x392909);}return _0x29a958;}[_0xc6df61(0x128)](_0x1e5add){const _0x4f2dc6=_0xc6df61;if(isSqlLike(_0x1e5add))return applyRowScopes(this['table'],_0x1e5add);const _0x463fab=Array[_0x4f2dc6(0x1fc)](_0x1e5add)?_0x1e5add:[_0x1e5add];if(!_0x463fab[_0x4f2dc6(0x1e2)])return;return applyRowScopes(this[_0x4f2dc6(0xf5)],_0x3525c1(tableId(this['table']),_0x463fab));}async['softDelete'](_0x4c4d13){const _0x4d9b50=_0xc6df61;if(!this[_0x4d9b50(0x1d8)]())throw new Error(_0x4d9b50(0x228));const _0x93344f=this[_0x4d9b50(0x128)](_0x4c4d13);if(!_0x93344f)return;await db()[_0x4d9b50(0x268)](this[_0x4d9b50(0xf5)])[_0x4d9b50(0x14e)]({'deletedAt':new Date()})[_0x4d9b50(0x1b5)](_0x93344f);}async[_0xc6df61(0xc2)](_0x3a6a77){const _0x1fed15=_0xc6df61;if(!this[_0x1fed15(0x1d8)]())throw new Error(_0x1fed15(0xbb));const _0x14c6f8=this[_0x1fed15(0x128)](_0x3a6a77);if(!_0x14c6f8)return;await db()[_0x1fed15(0x268)](this[_0x1fed15(0xf5)])[_0x1fed15(0x14e)]({'deletedAt':null})[_0x1fed15(0x1b5)](_0x14c6f8);}async[_0xc6df61(0x194)](_0x43fdd2){const _0x716917=_0xc6df61,_0x5d416a=this['resolveIdWhere'](_0x43fdd2);if(!_0x5d416a)return;await db()['delete'](this['table'])[_0x716917(0x1b5)](_0x5d416a);}}var repoCache=new WeakMap();function getRepository(_0x4bc590){const _0x117a2d=_0xc6df61,_0x421851=repoCache[_0x117a2d(0x15b)](_0x4bc590);if(_0x421851)return _0x421851;const _0x1caa81=new Repository(_0x4bc590);return repoCache['set'](_0x4bc590,_0x1caa81),_0x1caa81;}function InjectRepository(_0xf0bc8a){return(_0x40124f,_0x60c64e)=>{const _0x1d6899=_0x3409;appendInjectMeta(_0x40124f[_0x1d6899(0x25f)],{'propertyKey':_0x60c64e,'resolve':()=>getRepository(_0xf0bc8a)});};}function isSql(_0x5f2faf){const _0x2c2e1d=_0xc6df61;return!!_0x5f2faf&&typeof _0x5f2faf===_0x2c2e1d(0x23a)&&_0x5f2faf[_0x2c2e1d(0x117)]!=null;}class BaseService{[_0xc6df61(0x276)];[_0xc6df61(0x18e)](_0x122e20){const _0x57eed7=_0xc6df61;if(!this[_0x57eed7(0x276)])this[_0x57eed7(0x276)]=_0x122e20;}[_0xc6df61(0x20f)](_0x1b76f0){const _0x5488b8=_0xc6df61;this[_0x5488b8(0x276)]=_0x1b76f0;}[_0xc6df61(0x134)](){return!!this['entity'];}[_0xc6df61(0x274)](){const _0x119756=_0xc6df61;return this[_0x119756(0x12f)]();}[_0xc6df61(0x12f)](){const _0x329e0e=_0xc6df61;if(!this[_0x329e0e(0x276)])throw new Error(_0x329e0e(0xdc));return this[_0x329e0e(0x276)];}async[_0xc6df61(0xcc)](_0x9fe8df,_0x4b2e33){}async[_0xc6df61(0x17f)](_0xced5d2,_0x58fc7e){}async['add'](_0x3acada,_0x661a19){const _0x35edaf=_0xc6df61,_0x558bd3=resolveUpsert(_0x661a19?.[_0x35edaf(0x1aa)]),_0x12ac1d=Array['isArray'](_0x3acada)?_0x3acada[_0x35edaf(0x1b3)](_0x533c8d=>_0x533c8d!=null&&typeof _0x533c8d===_0x35edaf(0x23a)?{..._0x533c8d}:_0x533c8d):_0x3acada!=null&&typeof _0x3acada===_0x35edaf(0x23a)?{..._0x3acada}:_0x3acada;await this[_0x35edaf(0xcc)](_0x12ac1d,_0x35edaf(0x270));const _0xfb1bcd=_0x558bd3===_0x35edaf(0x19b)?await this[_0x35edaf(0x12f)]()[_0x35edaf(0x19b)](_0x12ac1d):await this['requireEntity']()[_0x35edaf(0x145)](_0x12ac1d);return await this['modifyAfter'](_0xfb1bcd??_0x12ac1d,_0x35edaf(0x270)),_0xfb1bcd;}async[_0xc6df61(0x268)](_0x54ced2,_0x4c1ee9){const _0x2e3019=_0xc6df61;if(Array[_0x2e3019(0x1fc)](_0x54ced2)){const _0x2e52ac=_0x54ced2[_0x2e3019(0x1b3)](_0x2466a9=>({..._0x2466a9}));await this[_0x2e3019(0xcc)](_0x2e52ac,_0x2e3019(0x268));const _0x1ee794=await this[_0x2e3019(0x12f)]()[_0x2e3019(0x268)](_0x2e52ac);return await this[_0x2e3019(0x17f)](_0x1ee794??_0x2e52ac,_0x2e3019(0x268)),_0x1ee794;}if(isSql(_0x54ced2)){const _0x272b54=_0x4c1ee9!=null&&typeof _0x4c1ee9===_0x2e3019(0x23a)?{..._0x4c1ee9}:_0x4c1ee9;await this[_0x2e3019(0xcc)](_0x272b54,'update');const _0x1e4c36=await this[_0x2e3019(0x12f)]()[_0x2e3019(0x268)](_0x54ced2,_0x272b54);return await this['modifyAfter'](_0x1e4c36??_0x272b54,_0x2e3019(0x268)),_0x1e4c36;}const _0x2fc795={..._0x54ced2};await this[_0x2e3019(0xcc)](_0x2fc795,'update');const _0x459168=await this[_0x2e3019(0x12f)]()['update']([_0x2fc795]);return await this[_0x2e3019(0x17f)](_0x459168??_0x2fc795,_0x2e3019(0x268)),Array[_0x2e3019(0x1fc)](_0x459168)?_0x459168[0x0]:_0x459168;}async[_0xc6df61(0x118)](_0x41e430,_0x229ca1){const _0x4a0161=_0xc6df61,_0x3deeff=this['requireEntity']();await this[_0x4a0161(0xcc)](_0x41e430,_0x4a0161(0x118));const _0x11af70=resolveSoftDelete(_0x229ca1?.['softDelete']);_0x229ca1?.[_0x4a0161(0x143)]||!_0x11af70||!_0x3deeff[_0x4a0161(0x1d8)]()?await _0x3deeff[_0x4a0161(0x194)](_0x41e430):await _0x3deeff[_0x4a0161(0x11c)](_0x41e430),await this['modifyAfter'](_0x41e430,_0x4a0161(0x118));}[_0xc6df61(0xc2)](_0x3fae63){const _0x5e2b3b=_0xc6df61;return this[_0x5e2b3b(0x12f)]()[_0x5e2b3b(0xc2)](_0x3fae63);}['list'](_0x1373fe,_0x374ad9){const _0x59b9a4=_0xc6df61;return this[_0x59b9a4(0x12f)]()[_0x59b9a4(0x25c)](_0x1373fe,_0x374ad9);}['info'](_0x196251,_0x4fa463){const _0x54a309=_0xc6df61,_0xe30c21=this[_0x54a309(0x12f)]();if(typeof _0x196251===_0x54a309(0x23a))return _0xe30c21[_0x54a309(0x12d)](_0x196251,_0x4fa463);return _0xe30c21[_0x54a309(0x20c)](_0x196251,_0x4fa463);}[_0xc6df61(0x23b)](_0x82b124={}){const _0x1034af=_0xc6df61,_0x1ba940=Math[_0x1034af(0x23f)](0x1,_0x82b124['page']??0x1),_0x904397=Math[_0x1034af(0x153)](0x64,Math[_0x1034af(0x23f)](0x1,_0x82b124[_0x1034af(0x1bc)]??0x14));return this['requireEntity']()[_0x1034af(0x10c)]({'page':_0x1ba940,'size':_0x904397,'where':_0x82b124[_0x1034af(0x1b5)],'orderBy':_0x82b124[_0x1034af(0xf1)],'withTrashed':_0x82b124[_0x1034af(0x271)],'onlyTrashed':_0x82b124[_0x1034af(0x21e)],'softDelete':_0x82b124[_0x1034af(0x11c)]});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':'\u5355\u4E2A\u4FE1\u606F','list':'\u5217\u8868\u67E5\u8BE2','page':_0xc6df61(0x283),'restore':'\u6062\u590D'},CRUD_APIS=[_0xc6df61(0x270),_0xc6df61(0x118),_0xc6df61(0x268),_0xc6df61(0x161),'list',_0xc6df61(0x23b),_0xc6df61(0xc2)],BEFORE_APIS=new Set(['add',_0xc6df61(0x268),_0xc6df61(0x118),_0xc6df61(0xc2)]);function omitProps(_0x46e65f,_0x2512a4){const _0x379d59=_0xc6df61;if(!_0x46e65f||!_0x2512a4?.[_0x379d59(0x1e2)])return _0x46e65f;const _0x4656d5={..._0x46e65f};for(const _0x4b7a9a of _0x2512a4)delete _0x4656d5[_0x4b7a9a];return _0x4656d5;}function resolveIds(_0x6f8995){const _0x290e5c=_0xc6df61;if(Array[_0x290e5c(0x1fc)](_0x6f8995))return _0x6f8995[_0x290e5c(0x1b3)](_0x518d0a=>{const _0x3d497d=_0x290e5c;if(_0x518d0a!=null&&typeof _0x518d0a===_0x3d497d(0x23a)&&'id'in _0x518d0a)return _0x518d0a['id'];return _0x518d0a;});if(_0x6f8995&&typeof _0x6f8995===_0x290e5c(0x23a)){const _0xc3c281=_0x6f8995;if(Array[_0x290e5c(0x1fc)](_0xc3c281['ids']))return _0xc3c281[_0x290e5c(0x1df)];if(_0xc3c281['id']!=null)return[_0xc3c281['id']];}return[];}function resolveService(_0x3367e5){const _0x5f17b5=_0xc6df61,_0x4d6d6b=_0x3367e5['crud'],_0x348f3b=_0x4d6d6b[_0x5f17b5(0x276)];if(_0x4d6d6b['service']){const _0x5edd45=Ioc['get'](_0x4d6d6b[_0x5f17b5(0x204)]);if(_0x348f3b&&!_0x5edd45['hasEntity']())_0x5edd45[_0x5f17b5(0x20f)](getRepository(_0x348f3b));return _0x5edd45;}if(!_0x348f3b)throw new Error(_0x5f17b5(0x1c1)+_0x3367e5[_0x5f17b5(0x1ef)][_0x5f17b5(0x287)]+_0x5f17b5(0x1ce));const _0x740c9b=new class extends BaseService{}();return _0x740c9b[_0x5f17b5(0x20f)](getRepository(_0x348f3b)),_0x740c9b;}function tableOf(_0x537585,_0x2675b6){const _0x53c649=_0xc6df61,_0x40db51=_0x2675b6[_0x53c649(0xef)]?.[_0x53c649(0x276)];if(_0x40db51)return _0x40db51;return _0x537585['getRepo']()[_0x53c649(0xf5)];}var attachCrudRoutes=(_0x332169,_0x4c20f5,_0x14ff45)=>{const _0x1ee43f=_0xc6df61,_0x5126df=_0x4c20f5[_0x1ee43f(0xef)];if(!_0x5126df)return _0x332169;const _0x5047ea=(_0x5126df['api']??[])[_0x1ee43f(0xd3)](_0x423a11=>CRUD_APIS[_0x1ee43f(0x159)](_0x423a11)),_0x443842=_0x5126df[_0x1ee43f(0x135)]??[];if(!_0x5047ea[_0x1ee43f(0x1e2)]&&!_0x443842['length'])return _0x332169;const _0x4e3e44=_0x14ff45['controller']instanceof BaseController?_0x14ff45[_0x1ee43f(0x141)]:new BaseController(),_0xd7a561=_0x5047ea['length']>0x0,_0x444dd6=_0xd7a561||_0x5126df[_0x1ee43f(0x204)]?resolveService(_0x4c20f5):undefined,_0x4f8cc8=_0xd7a561&&_0x444dd6?tableOf(_0x444dd6,_0x4c20f5):undefined,_0x368a5f=_0x4f8cc8?_0x4f8cc8['id']:undefined;if(_0xd7a561&&_0x368a5f==null)throw new Error(_0x1ee43f(0x1c1)+_0x4c20f5[_0x1ee43f(0x1ef)][_0x1ee43f(0x287)]+_0x1ee43f(0x1b2));let _0x4770e4=_0x332169;const _0x1844b0=(_0x516ea4,_0x342a94,_0x572072,_0x1892be)=>{const _0x4d32ae=_0x1ee43f;_0x4770e4=_0x4770e4[_0x516ea4](_0x342a94,_0x1892be,_0x14ff45[_0x4d32ae(0xeb)]({'action':_0x572072,'summary':CRUD_SUMMARY[_0x572072]}));},_0x394f15=async(_0x427182,_0xa3fb0b,_0x5625de)=>{const _0x293f19=_0x1ee43f;if(!_0x5126df[_0x293f19(0x261)]||!BEFORE_APIS[_0x293f19(0x175)](_0x427182))return _0xa3fb0b;return await _0x5126df[_0x293f19(0x261)]({'body':_0xa3fb0b,'request':_0x5625de,'api':_0x427182}),_0xa3fb0b;};_0x5047ea[_0x1ee43f(0x159)](_0x1ee43f(0x270))&&_0x444dd6&&_0x1844b0(_0x1ee43f(0xd4),_0x1ee43f(0x1e4),_0x1ee43f(0x270),async({body:_0x4ef097,request:_0x54af41})=>{const _0x33f3da=_0x1ee43f;try{const _0x4c2422=_0x4ef097;if(Array['isArray'](_0x4c2422)){let _0x3c2de1=_0x4c2422;if(_0x5126df['before']&&BEFORE_APIS[_0x33f3da(0x175)](_0x33f3da(0x270)))for(let _0x499074=0x0;_0x499074<_0x3c2de1['length'];_0x499074++){_0x3c2de1[_0x499074]=await _0x394f15('add',{..._0x3c2de1[_0x499074]??{}},_0x54af41);}if(_0x5126df[_0x33f3da(0x233)]){const _0x300914=await _0x5126df[_0x33f3da(0x233)]({'body':_0x3c2de1[0x0]??{},'request':_0x54af41});_0x3c2de1=_0x3c2de1['map'](_0x42ba9e=>({..._0x42ba9e,..._0x300914}));}const _0x5b6027=await _0x444dd6['add'](_0x3c2de1);return _0x4e3e44['ok'](_0x5b6027);}let _0x311d01={..._0x4c2422??{}};_0x311d01=await _0x394f15(_0x33f3da(0x270),_0x311d01,_0x54af41);_0x5126df[_0x33f3da(0x233)]&&Object[_0x33f3da(0xca)](_0x311d01,await _0x5126df['insertParam']({'body':_0x311d01,'request':_0x54af41}));const _0x172ca4=await _0x444dd6[_0x33f3da(0x270)](_0x311d01);return _0x4e3e44['ok'](_0x172ca4);}catch(_0x1efd5e){return _0x4e3e44['fail'](_0x1efd5e instanceof Error?_0x1efd5e[_0x33f3da(0x195)]:_0x33f3da(0x165));}});_0x5047ea[_0x1ee43f(0x159)]('delete')&&_0x444dd6&&_0x368a5f&&_0x1844b0(_0x1ee43f(0xd4),_0x1ee43f(0xae),_0x1ee43f(0x118),async({body:_0x1baacf,request:_0x45a5b4})=>{const _0x333882=_0x1ee43f;try{const _0x45755b=_0x1baacf,_0x5f2420=Array[_0x333882(0x1fc)](_0x45755b)?_0x45755b:await _0x394f15(_0x333882(0x118),{..._0x45755b??{}},_0x45a5b4),_0x2928e0=resolveIds(_0x5f2420);if(!_0x2928e0[_0x333882(0x1e2)])return _0x4e3e44[_0x333882(0xba)](_0x333882(0x1c7));const _0x1b17b5=!Array['isArray'](_0x5f2420)&&!!_0x5f2420[_0x333882(0x143)];return await _0x444dd6[_0x333882(0x118)](_0x2928e0,{'force':_0x1b17b5}),_0x4e3e44['ok']();}catch(_0x3755b1){return _0x4e3e44[_0x333882(0xba)](_0x3755b1 instanceof Error?_0x3755b1[_0x333882(0x195)]:'delete\x20failed');}});_0x5047ea[_0x1ee43f(0x159)](_0x1ee43f(0x268))&&_0x444dd6&&_0x368a5f&&_0x1844b0(_0x1ee43f(0xd4),_0x1ee43f(0x100),_0x1ee43f(0x268),async({body:_0x40e51d,request:_0x5480fa})=>{const _0x124cb0=_0x1ee43f;try{const _0x2d4338=_0x40e51d;if(Array[_0x124cb0(0x1fc)](_0x2d4338)){let _0x5d5a27=_0x2d4338;if(_0x5126df[_0x124cb0(0x261)]&&BEFORE_APIS[_0x124cb0(0x175)]('update'))for(let _0x1cdab3=0x0;_0x1cdab3<_0x5d5a27[_0x124cb0(0x1e2)];_0x1cdab3++){_0x5d5a27[_0x1cdab3]=await _0x394f15(_0x124cb0(0x268),{..._0x5d5a27[_0x1cdab3]??{}},_0x5480fa);}const _0x408ac2=await _0x444dd6['update'](_0x5d5a27);return _0x4e3e44['ok'](_0x408ac2);}const _0x9f3e53=await _0x394f15(_0x124cb0(0x268),{..._0x2d4338??{}},_0x5480fa),_0x313ee4=_0x9f3e53['id'];if(_0x313ee4==null)return _0x4e3e44[_0x124cb0(0xba)]('id\x20required');const _0x3d45e3=await _0x444dd6[_0x124cb0(0x268)](_0x9f3e53);return _0x4e3e44['ok'](_0x3d45e3);}catch(_0x29af0c){return _0x4e3e44[_0x124cb0(0xba)](_0x29af0c instanceof Error?_0x29af0c[_0x124cb0(0x195)]:'update\x20failed');}});_0x5047ea[_0x1ee43f(0x159)]('info')&&_0x444dd6&&_0x1844b0('get',_0x1ee43f(0xea),'info',async({query:_0x44c06b})=>{const _0x592b65=_0x1ee43f;try{const _0xc3f2f9=_0x44c06b?.['id'];if(_0xc3f2f9==null||_0xc3f2f9==='')return _0x4e3e44[_0x592b65(0xba)](_0x592b65(0x187));const _0x3e0220=await _0x444dd6['info'](_0xc3f2f9);return _0x4e3e44['ok'](omitProps(_0x3e0220,_0x5126df[_0x592b65(0x275)]));}catch(_0x21f614){return _0x4e3e44['fail'](_0x21f614 instanceof Error?_0x21f614['message']:_0x592b65(0x21b));}});_0x5047ea[_0x1ee43f(0x159)](_0x1ee43f(0x146))&&_0x444dd6&&_0x4f8cc8&&_0x1844b0(_0x1ee43f(0xd4),'/list','list',async({body:_0x12955f,request:_0x2c3043})=>{const _0x40dff6=_0x1ee43f;try{const _0x316a28=_0x12955f??{},_0x3e7da7=_0x5126df[_0x40dff6(0x127)]??{},_0x4dd9de={'onlyTrashed':_0x316a28['onlyTrashed']===!![],'withTrashed':_0x316a28['withTrashed']===!![]};if(needsAdvancedQuery(_0x3e7da7)){const _0x3dc60b=await queryWithOp(_0x4f8cc8,_0x316a28,_0x3e7da7,{'request':_0x2c3043,'mode':_0x40dff6(0x146),'trash':_0x4dd9de});return _0x4e3e44['ok'](_0x3dc60b);}const {where:_0x375133,orderBySql:_0x319280}=await buildQueryOp(_0x4f8cc8,_0x316a28,_0x3e7da7,_0x2c3043),_0x758e0=await _0x444dd6[_0x40dff6(0x146)](_0x375133,{'orderBy':_0x319280,..._0x4dd9de});return _0x4e3e44['ok'](_0x758e0);}catch(_0x5d7e42){return _0x4e3e44[_0x40dff6(0xba)](_0x5d7e42 instanceof Error?_0x5d7e42[_0x40dff6(0x195)]:'list\x20failed');}});_0x5047ea[_0x1ee43f(0x159)](_0x1ee43f(0x23b))&&_0x444dd6&&_0x4f8cc8&&_0x1844b0(_0x1ee43f(0xd4),'/page',_0x1ee43f(0x23b),async({body:_0x2c37bf,request:_0x53e5db})=>{const _0x24d41c=_0x1ee43f;try{const _0x2193a5=_0x2c37bf??{},_0x507b5b=_0x5126df[_0x24d41c(0xf7)]??{},_0x5df5fd={'onlyTrashed':_0x2193a5[_0x24d41c(0x21e)]===!![],'withTrashed':_0x2193a5[_0x24d41c(0x271)]===!![]};if(needsAdvancedQuery(_0x507b5b)){const _0x4f868c=await queryWithOp(_0x4f8cc8,_0x2193a5,_0x507b5b,{'request':_0x53e5db,'mode':_0x24d41c(0x23b),'trash':_0x5df5fd});return _0x4e3e44['ok'](_0x4f868c);}const {where:_0x42bb4d,orderBySql:_0x556f29}=await buildQueryOp(_0x4f8cc8,_0x2193a5,_0x507b5b,_0x53e5db),_0x3b1c02=await _0x444dd6['page']({'page':Number(_0x2193a5[_0x24d41c(0x23b)]??0x1),'size':Number(_0x2193a5[_0x24d41c(0x1bc)]??0x14),'where':_0x42bb4d,'orderBy':_0x556f29,..._0x5df5fd});return _0x4e3e44['ok'](_0x3b1c02);}catch(_0xd9b64a){return _0x4e3e44[_0x24d41c(0xba)](_0xd9b64a instanceof Error?_0xd9b64a[_0x24d41c(0x195)]:_0x24d41c(0xac));}});_0x5047ea[_0x1ee43f(0x159)](_0x1ee43f(0xc2))&&_0x444dd6&&_0x368a5f&&_0x1844b0('post',_0x1ee43f(0x1e5),'restore',async({body:_0xb352d5,request:_0x1b06a5})=>{const _0x468584=_0x1ee43f;try{const _0x317c0e=_0xb352d5,_0x4d11ab=Array['isArray'](_0x317c0e)?_0x317c0e:await _0x394f15(_0x468584(0xc2),{..._0x317c0e??{}},_0x1b06a5),_0x5cd1f3=resolveIds(_0x4d11ab);if(!_0x5cd1f3[_0x468584(0x1e2)])return _0x4e3e44[_0x468584(0xba)](_0x468584(0x1c7));return await _0x444dd6[_0x468584(0xc2)](_0x5cd1f3),_0x4e3e44['ok']();}catch(_0x37e34b){return _0x4e3e44[_0x468584(0xba)](_0x37e34b instanceof Error?_0x37e34b[_0x468584(0x195)]:_0x468584(0x1ee));}});if(_0x443842['length']){if(!_0x5126df[_0x1ee43f(0x204)])throw new Error(_0x1ee43f(0x1c1)+_0x4c20f5[_0x1ee43f(0x1ef)][_0x1ee43f(0x287)]+_0x1ee43f(0x249));const _0x2137a4=Ioc[_0x1ee43f(0x15b)](_0x5126df['service']);for(const _0x50ace4 of _0x443842){const _0x1ee055=_0x2137a4[_0x50ace4];if(typeof _0x1ee055!==_0x1ee43f(0x16c))throw new Error(_0x1ee43f(0x1c1)+_0x5126df[_0x1ee43f(0x204)]['name']+'.'+_0x50ace4+'\x20不是有效方法');const _0x4e43c1=_0x1ee055[_0x1ee43f(0xe0)](_0x2137a4);_0x1844b0(_0x1ee43f(0xd4),'/'+_0x50ace4,_0x50ace4,async({body:_0x1de7ee})=>{const _0x18786a=_0x1ee43f;try{const _0x13e7b5=await _0x4e43c1(_0x1de7ee);return _0x4e3e44['ok'](_0x13e7b5);}catch(_0x2a1761){return _0x4e3e44['fail'](_0x2a1761 instanceof Error?_0x2a1761[_0x18786a(0x195)]:_0x50ace4+_0x18786a(0x1f6));}});}}return _0x4770e4;};import{join as _0x4df203}from'path';import{pathToFileURL as _0x3bfe3b}from'url';var SERVICE_PATTERN=_0xc6df61(0xfb),CONTROLLER_SCANS=[{'pattern':'**/modules/*/controller/admin/**/*.ts','side':_0xc6df61(0x13d)},{'pattern':_0xc6df61(0x265),'side':_0xc6df61(0x24d)}];async function importWithContext(_0x1dd837,_0x2945f0,_0xbd2274){const _0x190329=_0xc6df61;setControllerScanContext({'module':parseModuleFromPath(_0x2945f0),'side':_0xbd2274,'file':_0x2945f0});try{const _0x2d7357=_0x3bfe3b(_0x4df203(_0x1dd837,_0x2945f0))[_0x190329(0x214)];await import(_0x2d7357);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x4b99c6=_0xc6df61,_0x104d62=process[_0x4b99c6(0x17b)](),_0x3d0f8c=await scanFiles(SERVICE_PATTERN,{'cwd':_0x104d62});for(const _0x1c3e2b of _0x3d0f8c){const _0x220999=_0x3bfe3b(_0x4df203(_0x104d62,_0x1c3e2b))[_0x4b99c6(0x214)];await import(_0x220999);}let _0x5de69f=0x0;for(const {pattern:_0x3508d6,side:_0x56ce94}of CONTROLLER_SCANS){const _0x567937=await scanFiles(_0x3508d6,{'cwd':_0x104d62});_0x5de69f+=_0x567937['length'];for(const _0x4a593a of _0x567937){await importWithContext(_0x104d62,_0x4a593a,_0x56ce94);}}setCrudRegistrar(attachCrudRoutes),console['log'](_0x4b99c6(0xf2)),console['log'](_0x4b99c6(0x24f)+_0x3d0f8c[_0x4b99c6(0x1e2)]+_0x4b99c6(0x14d)+_0x5de69f+_0x4b99c6(0x152));}import{join as _0x206029}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0xdd6b76 from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0x52650b}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x237c4c=new Date()){const _0x101800=_0xc6df61,_0x441ea5=_0x237c4c['getFullYear'](),_0x26e269=String(_0x237c4c['getMonth']()+0x1)['padStart'](0x2,'0'),_0xb84b52=String(_0x237c4c[_0x101800(0x1d2)]())[_0x101800(0x22b)](0x2,'0');return _0x441ea5+'-'+_0x26e269+'-'+_0xb84b52;}function purgeOldLogs(_0x2386a5,_0x5312d2){const _0x1a0d9b=_0xc6df61,_0x15d0d2=new Date();_0x15d0d2[_0x1a0d9b(0x27b)](_0x15d0d2[_0x1a0d9b(0x1d2)]()-_0x5312d2);const _0x3c246e=formatLocalDate(_0x15d0d2);for(const _0x1a6713 of readdirSync(_0x2386a5)){const _0x161f2c=_0x1a6713[_0x1a0d9b(0x1bf)](FILE_PATTERN);if(!_0x161f2c||_0x161f2c[0x1]>=_0x3c246e)continue;unlinkSync(_0x52650b(_0x2386a5,_0x1a6713));}}function openDailyStream(_0x511f22,_0x1974ce){const _0x16fb21=_0xc6df61;return createWriteStream(_0x52650b(_0x511f22,_0x1974ce+_0x16fb21(0x1ae)),{'flags':'a'});}function createDailyLogStream(_0x21cd2f,_0x3b346d=0x1e){mkdirSync(_0x21cd2f,{'recursive':!![]}),purgeOldLogs(_0x21cd2f,_0x3b346d);let _0x3c2336=formatLocalDate(),_0x152db5=openDailyStream(_0x21cd2f,_0x3c2336);return new Writable({'write'(_0x5c09a6,_0x3c254d,_0x412cb4){const _0xaac521=_0x3409,_0x270318=formatLocalDate();_0x270318!==_0x3c2336&&(_0x152db5[_0xaac521(0x181)](),_0x3c2336=_0x270318,_0x152db5=openDailyStream(_0x21cd2f,_0x3c2336),purgeOldLogs(_0x21cd2f,_0x3b346d)),_0x152db5[_0xaac521(0x10b)](_0x5c09a6,_0x412cb4);},'final'(_0x20d6f9){const _0x2d743a=_0x3409;_0x152db5[_0x2d743a(0x181)](_0x20d6f9);}});}var pinoInstance;function buildPino(){const _0x25d79f=_0xc6df61,_0x35deff=VomeConfig['logging']??{},_0x29edd7=_0x35deff[_0x25d79f(0x254)]??'info';if(_0x35deff[_0x25d79f(0xaf)]==='file'){const _0x4d9d2a=_0x206029(process[_0x25d79f(0x17b)](),_0x35deff[_0x25d79f(0xdf)]??'logging'),_0x380166=_0x35deff[_0x25d79f(0x106)]??0x1e;return createPinoLogger({'level':_0x29edd7,'stream':createDailyLogStream(_0x4d9d2a,_0x380166)});}return createPinoLogger({'level':_0x29edd7,'stream':_0xdd6b76({'colorize':!![],'translateTime':'SYS:standard','ignore':_0x25d79f(0x150)})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{[_0xc6df61(0x161)](_0x546bda,..._0x2a6440){const _0x509885=_0xc6df61,_0x3c9207=getPinoLogger();if(_0x2a6440[_0x509885(0x1e2)])_0x3c9207['info']({'args':_0x2a6440},_0x546bda);else _0x3c9207[_0x509885(0x161)](_0x546bda);}[_0xc6df61(0xbd)](_0x28ae53,..._0x221ffe){const _0x4b3a7d=_0xc6df61,_0x55d2e7=getPinoLogger();if(_0x221ffe['length'])_0x55d2e7['warn']({'args':_0x221ffe},_0x28ae53);else _0x55d2e7[_0x4b3a7d(0xbd)](_0x28ae53);}[_0xc6df61(0x110)](_0x4167a2,..._0xb22442){const _0x48d181=_0xc6df61,_0x18e164=getPinoLogger();if(_0xb22442['length'])_0x18e164[_0x48d181(0x110)]({'args':_0xb22442},_0x4167a2);else _0x18e164[_0x48d181(0x110)](_0x4167a2);}[_0xc6df61(0x284)](_0x15955d,..._0x182207){const _0x443eed=_0xc6df61,_0x52663b=getPinoLogger();if(_0x15955d instanceof Error){_0x52663b[_0x443eed(0x284)](_0x15955d);return;}if(_0x182207[0x0]instanceof Error){_0x52663b[_0x443eed(0x284)](_0x182207[0x0],_0x15955d);return;}if(_0x182207['length'])_0x52663b['error']({'args':_0x182207},_0x15955d);else _0x52663b[_0x443eed(0x284)](_0x15955d);}}class CommException extends Error{[_0xc6df61(0x1c4)];[_0xc6df61(0x1db)];constructor(_0x26b194,_0x352f47){const _0x2a1068=_0xc6df61;super(_0x26b194),this[_0x2a1068(0x287)]=_0x2a1068(0x172),this[_0x2a1068(0x1c4)]=_0x352f47?.[_0x2a1068(0x1c4)]??0xc8,this[_0x2a1068(0x1db)]=_0x352f47?.['code']??RES_CODE[_0x2a1068(0x12c)];}}function isCommException(_0x45d227){return _0x45d227 instanceof CommException;}function bootstrapLogger(){getPinoLogger(),Ioc['set'](Logger,new Logger());}var VOME_BANNER=_0xc6df61(0x18a);function resetViewport(){const _0x2a97b0=_0xc6df61;if(!process['stdout'][_0x2a97b0(0x103)])return;process['stdout'][_0x2a97b0(0x10b)](_0x2a97b0(0x27f));}function printStartupBanner(){const _0x2f9fd6=_0xc6df61;resetViewport();const _0x2d1e86=getEnv(),_0x1cf8f0=VomeConfig[_0x2f9fd6(0x198)]?.[_0x2f9fd6(0x213)]??0xbb9,_0x104548=VomeConfig[_0x2f9fd6(0x136)]?.[_0x2f9fd6(0x16d)]??_0x2f9fd6(0x119),_0xc719f='http://localhost:'+_0x1cf8f0;console[_0x2f9fd6(0x11b)](VOME_BANNER),console[_0x2f9fd6(0x11b)](_0x2f9fd6(0x202)+_0x2d1e86),_0x2d1e86===_0x2f9fd6(0x27c)&&(console[_0x2f9fd6(0x11b)](_0x2f9fd6(0x108)+_0xc719f),console[_0x2f9fd6(0x11b)](_0x2f9fd6(0x240)+_0xc719f+(_0x104548['startsWith']('/')?_0x104548:'/'+_0x104548)));}import{access}from'fs/promises';import{join as _0x23f41a}from'path';import{pathToFileURL as _0x4c35b7}from'url';async function exists(_0x2723c1){try{return await access(_0x2723c1),!![];}catch{return![];}}async function importHostModule(_0x30a9bb){const _0x27d8cf=_0xc6df61,_0x15e3f6=_0x23f41a(process[_0x27d8cf(0x17b)](),_0x30a9bb);if(!await exists(_0x15e3f6)){console['warn'](_0x27d8cf(0x11d)+_0x30a9bb);return;}return await import(_0x4c35b7(_0x15e3f6)['href']);}async function bootstrapHostInfra(){const _0x5098cf=_0xc6df61,_0x45148d=await importHostModule(_0x5098cf(0x176));if(_0x45148d?.['Db']?.['bootstrap'])await _0x45148d['Db'][_0x5098cf(0x19e)]();const _0x9a65ff=await importHostModule(_0x5098cf(0x19d));if(_0x9a65ff?.['Cache']?.[_0x5098cf(0x19e)])await _0x9a65ff[_0x5098cf(0x22d)][_0x5098cf(0x19e)]();const _0x251b4d=await importHostModule(_0x5098cf(0x14f));if(_0x251b4d?.['Queue']?.[_0x5098cf(0x19e)])await _0x251b4d[_0x5098cf(0x1be)]['bootstrap']();const _0x55dd50=await importHostModule(_0x5098cf(0x282));if(_0x55dd50?.['Auth']?.[_0x5098cf(0x19e)])await _0x55dd50['Auth'][_0x5098cf(0x19e)]();}async function bootstrapHostTasks(){const _0x4aafb4=_0xc6df61,_0x4d4c92=await importHostModule('src/lib/task/index.ts');if(_0x4d4c92?.[_0x4aafb4(0x28c)]?.[_0x4aafb4(0x19e)])await _0x4d4c92[_0x4aafb4(0x28c)][_0x4aafb4(0x19e)]();}async function bootstrapHostPlugins(){const _0x59df51=_0xc6df61,_0x214dfd=await importHostModule('src/lib/plugin/index.ts');if(_0x214dfd?.[_0x59df51(0x1fb)]?.[_0x59df51(0x19e)])await _0x214dfd[_0x59df51(0x1fb)][_0x59df51(0x19e)]();}async function bootstrapHostModules(){const _0x2c0ea6=_0xc6df61,_0x4f40ef=await importHostModule(_0x2c0ea6(0x278));if(_0x4f40ef?.['Module']?.['bootstrap'])await _0x4f40ef['Module'][_0x2c0ea6(0x19e)]();}async function shutdownHostTasks(){const _0x28d615=_0xc6df61,_0x327591=await importHostModule(_0x28d615(0x277));if(_0x327591?.[_0x28d615(0x28c)]?.['close'])await _0x327591[_0x28d615(0x28c)]['close']();}async function shutdownHostInfra(){const _0x44873b=_0xc6df61,_0x7f4402=await importHostModule('src/lib/queue/index.ts');if(_0x7f4402?.[_0x44873b(0x1be)]?.[_0x44873b(0xd8)])await _0x7f4402['Queue'][_0x44873b(0xd8)]();const _0x5ddab6=await importHostModule(_0x44873b(0x19d));if(_0x5ddab6?.[_0x44873b(0x22d)]?.[_0x44873b(0xd8)])await _0x5ddab6[_0x44873b(0x22d)][_0x44873b(0xd8)]();const _0x301cad=await importHostModule('src/lib/db/index.ts');if(_0x301cad?.['Db']?.[_0x44873b(0xd8)])await _0x301cad['Db']['close']();}async function applyHostAuthMiddleware(_0x4be706){const _0x43cf1b=_0xc6df61,_0x14db41=await importHostModule('src/middleware/index.ts');if(!_0x14db41)return _0x4be706;let _0x39f0fc=_0x4be706;if(_0x14db41['webAuth'])_0x39f0fc=_0x39f0fc[_0x43cf1b(0x107)](_0x14db41[_0x43cf1b(0x242)]);if(_0x14db41[_0x43cf1b(0x197)])_0x39f0fc=_0x39f0fc[_0x43cf1b(0x107)](_0x14db41[_0x43cf1b(0x197)]);if(_0x14db41[_0x43cf1b(0x237)])_0x39f0fc=_0x39f0fc[_0x43cf1b(0x107)](_0x14db41[_0x43cf1b(0x237)]);if(_0x14db41[_0x43cf1b(0x1d4)])_0x39f0fc=_0x39f0fc[_0x43cf1b(0x107)](_0x14db41['microApps']);if(_0x14db41[_0x43cf1b(0xdd)])_0x39f0fc=_0x39f0fc[_0x43cf1b(0x107)](_0x14db41[_0x43cf1b(0xdd)]);return _0x39f0fc;}function applyAsyncContext(_0x565b71){const _0x32bbea=_0xc6df61,_0x2fdb8f=VomeConfig[_0x32bbea(0x1b9)]??{};if(!_0x2fdb8f[_0x32bbea(0x25a)])return _0x565b71;return _0x565b71['onRequest'](({request:_0x3c7a59})=>{enterContextWith(initContextFromRequest(_0x3c7a59));});}function applyErrorHandler(_0x4f53c6){return _0x4f53c6['onError'](({error:_0x21744e,set:_0xcd0682,code:_0x10bd4c})=>{const _0x5ea479=_0x3409,_0x39cc3f=getPinoLogger();if(isCommException(_0x21744e))return _0x39cc3f['error']({'code':_0x21744e[_0x5ea479(0x1db)]},_0x21744e[_0x5ea479(0x195)]),_0xcd0682[_0x5ea479(0x113)]=_0x21744e[_0x5ea479(0x1c4)],{'code':_0x21744e[_0x5ea479(0x1db)],'message':_0x21744e[_0x5ea479(0x195)]};if(_0x10bd4c===_0x5ea479(0x25e)){const _0xd637ef=_0x21744e instanceof Error?_0x21744e[_0x5ea479(0x195)]:_0x5ea479(0xe7);return _0x39cc3f[_0x5ea479(0x284)]({'code':_0x10bd4c},_0xd637ef),_0xcd0682[_0x5ea479(0x113)]=0x1a6,{'code':RES_CODE[_0x5ea479(0x12c)],'message':_0xd637ef};}if(_0x10bd4c===_0x5ea479(0x173))return _0xcd0682[_0x5ea479(0x113)]=0x194,{'code':RES_CODE['ERROR'],'message':_0x5ea479(0xf9)};const _0x1f5e34=_0x21744e instanceof Error?_0x21744e:new Error(String(_0x21744e));return _0x39cc3f[_0x5ea479(0x284)](_0x1f5e34),_0xcd0682['status']=0x1f4,{'code':RES_CODE[_0x5ea479(0x12c)],'message':getEnv()===_0x5ea479(0x27c)?_0x1f5e34[_0x5ea479(0x195)]:_0x5ea479(0x1c0)};});}function applyLogging(_0x493040){const _0x55900f=_0xc6df61,_0x49f3d6=getPinoLogger();return _0x493040[_0x55900f(0x107)](_0x49f3d6[_0x55900f(0x24a)]({'autoLogging':{'ignore':_0x169ba1=>Boolean(_0x169ba1[_0x55900f(0x16e)])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0x552815){const _0x55e36d=_0xc6df61,_0x4cd94d=VomeConfig[_0x55e36d(0x136)]??{'enable':![]};if(_0x4cd94d[_0x55e36d(0x25a)]===![])return _0x552815;const _0x8b62f4=_0x4cd94d[_0x55e36d(0x16d)]??_0x55e36d(0x119),{tags:_0x499950,tagGroups:_0x533681}=buildOpenApiTagDocs(),_0x3379b7=_0x4cd94d[_0x55e36d(0x26a)]??{},_0x556a24=_0x4cd94d[_0x55e36d(0x23e)]??{};return _0x552815['use'](openapi({'path':_0x8b62f4,'documentation':{..._0x3379b7,'tags':[..._0x3379b7['tags']??[],..._0x499950],'x-tagGroups':_0x533681},'scalar':{..._0x556a24,'layout':_0x556a24[_0x55e36d(0x250)]??_0x55e36d(0x267),'operationTitleSource':_0x556a24[_0x55e36d(0xc8)]??'summary'}}));}var app,started=![],signalsRegistered=![],hostScanned=![],bootstrapHooks=[],shutdownHooks=[],usePlugins=[];async function ensureHostScanned(){if(hostScanned)return;hostScanned=!![],await scanHost();}function createApp(){return applyAsyncContext(applyErrorHandler(applyLogging(new _0x511214())));}function bootstrap(_0x9e9fd1){const _0x159e0b=_0xc6df61;bootstrapHooks[_0x159e0b(0xbf)](_0x9e9fd1);}function shutdown(_0x3c0281){shutdownHooks['push'](_0x3c0281);}function use(_0x2f370c){const _0x26f5ea=_0xc6df61;usePlugins[_0x26f5ea(0xbf)](_0x2f370c);}async function start(){const _0x25d92d=_0xc6df61;if(started)throw new Error(_0x25d92d(0xe6));let _0x3f90a8=createApp();_0x3f90a8=await applyHostAuthMiddleware(_0x3f90a8);for(const _0x3cefc0 of usePlugins){_0x3f90a8=_0x3cefc0(_0x3f90a8);}await ensureHostScanned(),_0x3f90a8=applyOpenapi(_0x3f90a8),await bootstrapHostInfra();for(const _0x436417 of bootstrapHooks)await _0x436417();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x3f90a8=registerControllers(_0x3f90a8,VomeConfig);const _0x2e8cbb=VomeConfig[_0x25d92d(0x198)]?.[_0x25d92d(0x213)]??0xbb9;return _0x3f90a8['listen'](_0x2e8cbb),app=_0x3f90a8,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){const _0x5a54c4=_0xc6df61;if(!app)return;for(const _0x4c1edd of shutdownHooks)await _0x4c1edd();await shutdownHostTasks(),await shutdownHostInfra(),await app[_0x5a54c4(0xb0)](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0x5fca5b=_0xc6df61;if(signalsRegistered)return;signalsRegistered=!![];for(const _0xa38643 of[_0x5fca5b(0x28f),_0x5fca5b(0x10d)]){process[_0x5fca5b(0x256)](_0xa38643,async()=>{const _0x132d98=_0x5fca5b;await stop(),process[_0x132d98(0x112)](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x456cfe){const _0x40326b=_0xc6df61;if(_0x456cfe)await _0x456cfe({'App':App});return App[_0x40326b(0x1b8)]();}import{getTableColumns as _0x1d8fdc,getTableName as _0x6c3263}from'drizzle-orm';import{getTableColumns as _0x1c80ca,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')[_0xc6df61(0x1a0)](),'createTime':timestamp(_0xc6df61(0x1a9),{'withTimezone':!![]})[_0xc6df61(0xf8)]()[_0xc6df61(0xc9)](),'updateTime':timestamp(_0xc6df61(0xb4),{'withTimezone':!![]})[_0xc6df61(0xf8)]()[_0xc6df61(0xc9)]()[_0xc6df61(0x18f)](()=>new Date()),'deletedAt':timestamp('deletedAt',{'withTimezone':!![]}),'tenantId':integer('tenantId')},BASE_COLUMN_COMMENTS={'id':'ID','createTime':_0xc6df61(0x1b4),'updateTime':_0xc6df61(0x15d),'deletedAt':_0xc6df61(0xa4),'tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x20f205,_0x45eadb={}){const _0x31ee6b=_0xc6df61;return tables['add'](_0x20f205),registry['set'](_0x20f205,{...BASE_COLUMN_COMMENTS,...registry[_0x31ee6b(0x15b)](_0x20f205)||{},..._0x45eadb}),_0x20f205;}function getColumnComments(_0x5e8c76){const _0x2b7f74=_0xc6df61;return registry[_0x2b7f74(0x15b)](_0x5e8c76)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0xbc4c97){const _0x426238=_0xc6df61;if(!/^[A-Za-z_][A-Za-z0-9_]*$/[_0x426238(0x223)](_0xbc4c97))throw new Error(_0x426238(0x25d)+_0xbc4c97);return'\x22'+_0xbc4c97+'\x22';}function escapeLiteral(_0x406591){const _0x2f39b8=_0xc6df61;return _0x406591[_0x2f39b8(0x1f3)](/'/g,'\x27\x27');}async function syncColumnCommentsToPg(_0x508051){const _0x31a559=_0xc6df61,_0xc86613=listColumnCommentTables();if(!_0xc86613[_0x31a559(0x1e2)])return 0x0;const _0x2229c2=new Map(),_0x2b55c8=[];for(const _0x517a29 of _0xc86613){let _0x5398af;try{_0x5398af=getTableName(_0x517a29);}catch{continue;}const _0x40304d=_0x1c80ca(_0x517a29),_0xcf810f=getColumnComments(_0x517a29),_0x3bf3a0=new Map();for(const [_0x854926,_0x354837]of Object[_0x31a559(0x25b)](_0xcf810f)){if(!_0x354837||!(_0x854926 in _0x40304d))continue;_0x3bf3a0[_0x31a559(0x14e)](_0x854926,_0x354837);}if(!_0x3bf3a0[_0x31a559(0x1bc)])continue;_0x2229c2[_0x31a559(0x14e)](_0x5398af,_0x3bf3a0),_0x2b55c8[_0x31a559(0xbf)](_0x5398af);}if(!_0x2b55c8[_0x31a559(0x1e2)])return 0x0;const _0x19df79=_0x2b55c8['map'](_0x3b3a7b=>'\x27'+escapeLiteral(_0x3b3a7b)+'\x27')[_0x31a559(0x24e)](','),_0x5bad95=await _0x508051[_0x31a559(0xc4)](_0x31a559(0x245)+_0x19df79+_0x31a559(0x1a8)),_0x569df5=new Map();for(const _0x50142d of _0x5bad95||[]){if(!_0x50142d[_0x31a559(0x211)]||!_0x50142d[_0x31a559(0x248)])continue;_0x569df5['set'](_0x50142d['table_name']+'.'+_0x50142d[_0x31a559(0x248)],_0x50142d[_0x31a559(0x1d6)]??null);}let _0x5dfb88=0x0;for(const [_0x5554a7,_0x5f062b]of _0x2229c2){for(const [_0x2a91cf,_0x1324ff]of _0x5f062b){const _0x12929a=_0x5554a7+'.'+_0x2a91cf,_0x3fa131=_0x569df5['get'](_0x12929a);if(_0x3fa131===_0x1324ff)continue;await _0x508051[_0x31a559(0xc4)]('COMMENT\x20ON\x20COLUMN\x20'+quoteIdent(_0x5554a7)+'.'+quoteIdent(_0x2a91cf)+_0x31a559(0x1ed)+escapeLiteral(_0x1324ff)+'\x27'),_0x5dfb88++;}}return _0x5dfb88;}var SIDE_PREFIX2={'admin':'/admin','app':_0xc6df61(0xe5)};function getSidePrefix2(_0x166ff7){return normalizePrefix(SIDE_PREFIX2[_0x166ff7]);}function lastSegment(_0xaa5ff1){const _0x5dd726=_0xc6df61,_0x38222a=_0xaa5ff1['replace'](/^\/+|\/+$/g,'')[_0x5dd726(0x205)]('/');return _0x38222a[_0x38222a[_0x5dd726(0x1e2)]-0x1]||_0xaa5ff1||_0x5dd726(0xa9);}function toPascalEntityName(_0x2c1507){const _0x26c995=_0xc6df61;return _0x2c1507['split']('_')['filter'](Boolean)['map'](_0x2f7c9e=>_0x2f7c9e[_0x26c995(0x285)](0x0)[_0x26c995(0x226)]()+_0x2f7c9e[_0x26c995(0x185)](0x1))['join']('')+'Entity';}function withAlias(_0x3b6ad3){const _0xdd97af=_0xc6df61;if(!_0x3b6ad3?.[_0xdd97af(0x1e2)])return[];return _0x3b6ad3['map'](_0x271af7=>{const _0x76ce65=_0xdd97af;if(typeof _0x271af7!==_0x76ce65(0x137)){const _0x516d9e=_0x271af7[_0x76ce65(0x124)];return{..._0x271af7,'column':_0x516d9e[_0x76ce65(0x159)]('.')?_0x516d9e:'a.'+_0x516d9e};}return _0x271af7[_0x76ce65(0x159)]('.')?_0x271af7:'a.'+_0x271af7;});}function normalizePageQueryOp(_0x176756){const _0x50159b=_0xc6df61;return{'keyWordLikeFields':withAlias(_0x176756?.['keyWordLikeFields']),'fieldEq':withAlias(_0x176756?.[_0x50159b(0xe3)]),'fieldLike':withAlias(_0x176756?.[_0x50159b(0x133)]),'fieldArray':withAlias(_0x176756?.[_0x50159b(0x15a)]),'fieldRange':(_0x176756?.['fieldRange']??[])[_0x50159b(0x1b3)](_0x496963=>({..._0x496963,'column':_0x496963[_0x50159b(0x124)][_0x50159b(0x159)]('.')?_0x496963[_0x50159b(0x124)]:'a.'+_0x496963[_0x50159b(0x124)]}))};}function applyFieldDictToColumns(_0x24ba5e,_0x117f53){const _0x34170c=_0xc6df61;for(const _0x3f2d8f of _0x117f53){if(typeof _0x3f2d8f==='string'||!_0x3f2d8f[_0x34170c(0x14c)])continue;const _0x1a0027=_0x3f2d8f[_0x34170c(0x124)][_0x34170c(0x159)]('.')?_0x3f2d8f[_0x34170c(0x124)][_0x34170c(0x205)]('.')['pop']():_0x3f2d8f['column'],_0x2d9334=_0x24ba5e[_0x34170c(0x25c)](_0x356c3d=>_0x356c3d[_0x34170c(0x13f)]===_0x1a0027);if(_0x2d9334)_0x2d9334[_0x34170c(0x14c)]=_0x3f2d8f[_0x34170c(0x14c)];}}function columnsFromEntity(_0x2a71b6){const _0x4af580=_0xc6df61;if(!_0x2a71b6||typeof _0x2a71b6!==_0x4af580(0x23a))return[];try{const _0x445144=_0x1d8fdc(_0x2a71b6),_0x5a174d=getColumnComments(_0x2a71b6),_0x259462=[];for(const [_0x39478b,_0x4449c3]of Object[_0x4af580(0x25b)](_0x445144)){if(_0x39478b===_0x4af580(0x1a4))continue;const _0x535352=_0x4449c3;_0x259462[_0x4af580(0xbf)]({'propertyName':_0x39478b,'type':String(_0x535352[_0x4af580(0x260)]??_0x535352[_0x4af580(0xab)]??_0x4af580(0x137)),'length':_0x535352[_0x4af580(0x1e2)]!=null?String(_0x535352[_0x4af580(0x1e2)]):undefined,'nullable':_0x535352['notNull']!==!![],'source':'a.'+_0x39478b,'comment':_0x5a174d[_0x39478b]});}const _0x2e3723=new Set([_0x4af580(0x1a9),_0x4af580(0xb4),'deletedAt']),_0x8735f5=_0x259462[_0x4af580(0xd3)](_0x37f480=>!_0x2e3723[_0x4af580(0x175)](_0x37f480[_0x4af580(0x13f)])),_0x2663aa=_0x259462[_0x4af580(0xd3)](_0x5eb90d=>_0x2e3723[_0x4af580(0x175)](_0x5eb90d[_0x4af580(0x13f)]));return[..._0x8735f5,..._0x2663aa];}catch{return[];}}function entityNameOf(_0x1f7b69){const _0x4a6e85=_0xc6df61;if(!_0x1f7b69||typeof _0x1f7b69!==_0x4a6e85(0x23a))return;try{return toPascalEntityName(_0x6c3263(_0x1f7b69));}catch{return;}}function buildApis(_0x21f043,_0x57ad69){const _0x252378=_0xc6df61,_0x565ec4=[],_0xff673b=new Set(),_0x3f8857=_0x4973d3=>{const _0x7b25fc=_0x3409,_0x5b166b=_0x4973d3[_0x7b25fc(0x170)]+':'+_0x4973d3[_0x7b25fc(0x16d)];if(_0xff673b[_0x7b25fc(0x175)](_0x5b166b))return;_0xff673b[_0x7b25fc(0x270)](_0x5b166b),_0x565ec4[_0x7b25fc(0xbf)](_0x4973d3);};for(const _0x53c025 of _0x21f043[_0x252378(0x27d)]){const _0x2062bb=getRouteSubPath(_0x53c025[_0x252378(0x16d)],_0x21f043['prefix']),_0x45d815=_0x2062bb['startsWith']('/')?_0x2062bb:'/'+_0x2062bb,_0x6d9977=actionFromSubPath(_0x45d815);_0x3f8857({'method':_0x53c025['method'][_0x252378(0x19a)](),'path':_0x45d815,'summary':_0x53c025[_0x252378(0x155)]??'','dts':{},'tag':'','prefix':_0x57ad69,'ignoreToken':Boolean(_0x53c025[_0x252378(0x138)]),'ignorePerms':Boolean(_0x53c025[_0x252378(0x11e)]),'perms':effectivePerms(_0x53c025,_0x21f043,_0x6d9977)??[]});}for(const _0x4b44ba of _0x21f043[_0x252378(0xef)]?.['api']??[]){const _0x62b601='/'+_0x4b44ba;_0x3f8857({'method':_0x4b44ba===_0x252378(0x161)?_0x252378(0x15b):_0x252378(0xd4),'path':_0x62b601,'summary':CRUD_SUMMARY[_0x4b44ba]??_0x4b44ba,'dts':{},'tag':'','prefix':_0x57ad69,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x21f043,_0x4b44ba)??[]});}for(const _0x4ba9f1 of _0x21f043['crud']?.[_0x252378(0x135)]??[]){const _0x29b027='/'+_0x4ba9f1;_0x3f8857({'method':'post','path':_0x29b027,'summary':_0x4ba9f1,'dts':{},'tag':'','prefix':_0x57ad69,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x21f043,_0x4ba9f1)??[]});}return _0x565ec4;}function buildEntity(_0x1c6487){const _0x489178=_0xc6df61,_0x16e97e=joinPrefix(getSidePrefix2(_0x1c6487[_0x489178(0xe9)]),_0x1c6487[_0x489178(0x1ba)]),_0x2c2fa3=lastSegment(_0x1c6487['prefix']),_0x3ec2e6=_0x1c6487['crud']?.[_0x489178(0x276)],_0xfd6f8b=columnsFromEntity(_0x3ec2e6),_0x40b049=normalizePageQueryOp(_0x1c6487[_0x489178(0xef)]?.['pageQueryOp']);return applyFieldDictToColumns(_0xfd6f8b,_0x40b049[_0x489178(0xe3)]),{'module':_0x1c6487[_0x489178(0xb6)],'side':_0x1c6487[_0x489178(0xe9)],'prefix':_0x16e97e,'name':entityNameOf(_0x3ec2e6),'info':{'type':{'name':_0x2c2fa3,'description':_0x1c6487[_0x489178(0x28e)]??_0x2c2fa3}},'api':buildApis(_0x1c6487,_0x16e97e),'columns':_0xfd6f8b,'pageQueryOp':_0x40b049,'pageColumns':_0xfd6f8b};}function groupByModule(_0x407d88){const _0x5df167=_0xc6df61,_0x18ce6c={};for(const _0xc42669 of _0x407d88){const _0x22471b=_0x18ce6c[_0xc42669[_0x5df167(0xb6)]]??[];_0x22471b[_0x5df167(0xbf)](_0xc42669),_0x18ce6c[_0xc42669['module']]=_0x22471b;}return _0x18ce6c;}function isEpsEnabled(){const _0x54a3da=_0xc6df61;return Boolean(VomeConfig[_0x54a3da(0x192)]?.[_0x54a3da(0xee)]);}function buildEps(_0x49ce09){if(!isEpsEnabled())return{};return groupByModule(listControllers(_0x49ce09)['map'](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps(_0xc6df61(0x13d)),'app':()=>buildEps(_0xc6df61(0x24d)),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0xc6df61(0x10a);function joinRoute(_0x4c1df8,_0x59ca76){return joinPrefix(_0x4c1df8,_0x59ca76==='/'?'':_0x59ca76);}function asMiddlewareList(_0x2e607f){const _0x5e8752=_0xc6df61;if(_0x2e607f==null)return;return Array[_0x5e8752(0x1fc)](_0x2e607f)?_0x2e607f:[_0x2e607f];}function appendPendingRoute(_0x204833,_0x36db81){const _0x3c1a7b=_0xc6df61,_0x386a2b=Reflect[_0x3c1a7b(0x212)](ROUTES_PENDING_KEY,_0x204833)??[];_0x386a2b[_0x3c1a7b(0xbf)](_0x36db81),Reflect[_0x3c1a7b(0x111)](ROUTES_PENDING_KEY,_0x386a2b,_0x204833);}function createParamDecorator(_0x336718){const _0x4f0fe9=_0xc6df61,_0x207b2c=_0x336718===_0x4f0fe9(0x206)?'Param':_0x336718===_0x4f0fe9(0x28b)?_0x4f0fe9(0x1b7):'Query';return _0x250947=>(_0x35bd65,_0x4cb030,_0x5241bd)=>{const _0x2f3ab4=_0x4f0fe9;if(_0x4cb030===undefined)throw new Error(_0x2f3ab4(0xc7)+_0x207b2c+_0x2f3ab4(0x235));const _0x45eced=_0x35bd65[_0x2f3ab4(0x25f)];appendRouteParam(_0x45eced,String(_0x4cb030),{'index':_0x5241bd,'source':_0x336718,'schema':_0x250947});};}function pickCrudOptions(_0x35fdab){const {api:_0x3b9df7,entity:_0x590c6e,service:_0x111042,serviceApis:_0x3c9599,before:_0x74fa5e,pageQueryOp:_0x5a5651,listQueryOp:_0x33f559,insertParam:_0x286069,infoIgnoreProperty:_0x40dbe2}=_0x35fdab;if(_0x3b9df7==null&&_0x590c6e==null&&_0x111042==null&&_0x3c9599==null&&_0x74fa5e==null&&_0x5a5651==null&&_0x33f559==null&&_0x286069==null&&_0x40dbe2==null)return;return{'api':_0x3b9df7,'entity':_0x590c6e,'service':_0x111042,'serviceApis':_0x3c9599,'before':_0x74fa5e,'pageQueryOp':_0x5a5651,'listQueryOp':_0x33f559,'insertParam':_0x286069,'infoIgnoreProperty':_0x40dbe2};}function Controller(_0x10b5ab=''){const _0x598d22=_0xc6df61,_0x362f4a=typeof _0x10b5ab===_0x598d22(0x137),_0x287e87=_0x362f4a?{'prefix':_0x10b5ab}:_0x10b5ab;return _0x339cfe=>{const _0x1645e7=_0x598d22;registerProvider({'token':_0x339cfe,'useClass':_0x339cfe,'scope':_0x1645e7(0x280)});const _0x3395c9=getControllerScanContext(),_0x2c928e=_0x362f4a&&_0x10b5ab===''||!_0x362f4a&&(_0x287e87[_0x1645e7(0x1ba)]==null||_0x287e87[_0x1645e7(0x1ba)]===''),_0x4d5c13=normalizePrefix(_0x2c928e&&_0x3395c9?.[_0x1645e7(0x1fe)]?parseControllerAutoPrefix(_0x3395c9['file']):_0x287e87['prefix']??''),_0x13a001=Reflect['getMetadata'](ROUTES_PENDING_KEY,_0x339cfe)??[],_0x137938=pickCrudOptions(_0x287e87);registerController({'token':_0x339cfe,'prefix':_0x4d5c13,'module':_0x287e87['module']??_0x3395c9?.[_0x1645e7(0xb6)]??_0x1645e7(0x186),'side':_0x287e87[_0x1645e7(0xe9)]??_0x3395c9?.[_0x1645e7(0xe9)]??_0x1645e7(0x13d),'description':_0x287e87['description'],'file':_0x3395c9?.[_0x1645e7(0x1fe)],'middleware':asMiddlewareList(_0x287e87[_0x1645e7(0x12a)]),'crud':_0x137938,'routes':_0x13a001[_0x1645e7(0x1b3)](_0x2eb0e1=>{const _0x1f7c4d=_0x1645e7,_0x165596=getRouteParams(_0x339cfe,_0x2eb0e1[_0x1f7c4d(0x207)]),_0x2bc9b6=schemaFromParams(_0x165596),_0x1b3d4c=[..._0x2eb0e1['middleware']??[],...getRouteMiddleware(_0x339cfe,_0x2eb0e1[_0x1f7c4d(0x207)])];return{..._0x2eb0e1,'path':joinRoute(_0x4d5c13,_0x2eb0e1[_0x1f7c4d(0x16d)][_0x1f7c4d(0x188)]('/')?_0x2eb0e1['path'][_0x1f7c4d(0x185)](0x1):_0x2eb0e1[_0x1f7c4d(0x16d)]),'params':_0x165596,'body':_0x2bc9b6?.[_0x1f7c4d(0x28b)],'query':_0x2bc9b6?.[_0x1f7c4d(0x1f2)],'routeParams':_0x2bc9b6?.['params'],'public':isRoutePublic(_0x339cfe,_0x2eb0e1['handler']),'ignorePerms':isRouteIgnorePerms(_0x339cfe,_0x2eb0e1['handler']),'perms':getRoutePerms(_0x339cfe,_0x2eb0e1['handler']),'middleware':_0x1b3d4c[_0x1f7c4d(0x1e2)]?_0x1b3d4c:undefined};})}),Reflect[_0x1645e7(0x178)](ROUTES_PENDING_KEY,_0x339cfe),clearRouteParams(_0x339cfe),clearRoutePublic(_0x339cfe),clearRouteMiddleware(_0x339cfe),clearRoutePerms(_0x339cfe),clearRouteIgnorePerms(_0x339cfe);};}function Use(..._0x20d35e){return(_0xd11d06,_0x1a96a1)=>{const _0x5702fa=_0x3409,_0x56af27=_0xd11d06[_0x5702fa(0x25f)];appendRouteMiddleware(_0x56af27,String(_0x1a96a1),_0x20d35e);};}function createMethodDecorator(_0xd2d1d4){return(_0x5013c2='',_0x107192)=>(_0x4f1028,_0x16394c)=>{const _0x3c00c1=_0x3409,_0x4d28c5=_0x4f1028[_0x3c00c1(0x25f)];appendPendingRoute(_0x4d28c5,{'method':_0xd2d1d4,'path':_0x5013c2,'handler':String(_0x16394c),'summary':_0x107192?.[_0x3c00c1(0x155)]});};}function Public(){return(_0x3e74c6,_0x5992e1)=>{const _0x209fd7=_0x3409,_0x112bbb=_0x3e74c6[_0x209fd7(0x25f)];markRoutePublic(_0x112bbb,String(_0x5992e1));};}function Perms(..._0x1c228f){return(_0x5584fd,_0x1b925b)=>{const _0x5e1816=_0x5584fd['constructor'];setRoutePerms(_0x5e1816,String(_0x1b925b),_0x1c228f);};}function IgnorePerms(){return(_0x1f925e,_0x65aaea)=>{const _0x2d770c=_0x3409,_0x19cf0e=_0x1f925e[_0x2d770c(0x25f)];markRouteIgnorePerms(_0x19cf0e,String(_0x65aaea));};}var Body=createParamDecorator('body'),Query=createParamDecorator(_0xc6df61(0x1f2)),Param=createParamDecorator(_0xc6df61(0x206)),Get=createMethodDecorator('GET'),Post=createMethodDecorator(_0xc6df61(0x17e)),Put=createMethodDecorator(_0xc6df61(0x229)),Delete=createMethodDecorator(_0xc6df61(0x264)),Patch=createMethodDecorator(_0xc6df61(0x120));class BasePlugin{[_0xc6df61(0x196)];['ctx'];[_0xc6df61(0x1c9)];[_0xc6df61(0x1a1)];async[_0xc6df61(0xb9)](_0xe2e616,_0x29747c,_0x48525f,_0x46d6a7){const _0x66d749=_0xc6df61;this[_0x66d749(0x196)]=_0xe2e616,this[_0x66d749(0x151)]=_0x29747c,this[_0x66d749(0x1c9)]=_0x46d6a7?.[_0x66d749(0x1c9)],this[_0x66d749(0x1a1)]=_0x46d6a7?.['pluginService'],await this[_0x66d749(0x122)]();}async['ready'](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';function _0x4427(){const _0x198edc=['w1jLCg9ZAxrVCNLDioAjUEMhJ+ABToAwSoAVJ+ADOEMCGow4PIbPza','zgvZyW','ywrTAw4','pJ0XlJaUma','ChjVCgvYDhLoyw1L','AxntDxbLCG','y29UDhjVBgXLCG','C3vJy2vZCW','zM9Yy2u','mtqZnZi1n2Tnv21gtq','y3jLyxrL','BgLZDa','Aw1Hz2uVANbLzW','tM90iezVDw5K','ios4JEAyR+ACIEAvIcbOyw5KBgvY','lMPWzwC','DMfSDwu','zgLJDa','ihnLCNzPy2uSia','C2v0','C3jJl2XPyI9XDwv1zs9PBMrLEc50CW','CgLKlgHVC3rUyw1L','y3r4','ignVBNrYB2XSzxiGzMLSzsHZkq','BwLU','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','C3vTBwfYEq','AgvHzgvYCW','y2XPzw50','lI9KAxn0l2LUzgv4lMqUDhm','Aw5JBhvKzxm','zMLLBgrbCNjHEq','z2v0','ywn0Aw9U','5PU05PAW5PE26zE0','w0nVBNrLEhrDiow9K+wjJEAxOoIVT+AXGUs4IUs4I+AwH++8JowgMEwfPEIIQ+w/VEEvPE+8IoIVT+EHRUIUPcbHC3LUy0nVBNrLEhrnyw5Hz2vYiow3SUwqR+EuQo+8Iq','yNvUihj1BIbIDwLSzcaMjIbIDw4GCNvUig9IzNvZy2f0zq','qMfZzvbSDwDPBG','Aw5MBW','A2v5CW','l2fKBwLUl2v4Dc86A2v5lYO','yxbWBgLJyxrPB24VANnVBJSGy2HHCNnLDd11DgyToa','ywrKigzHAwXLza','lNDVzMyY','w1f1zxj5t3bDioIHQoAxOowTL+AUTtOG','xJaUoc4Z','DM9Tzs1JB3jL','B3jKzxjcEvnXBa','DhjHC2G','zNvUy3rPB24','Cgf0Aa','AxnfCNjVCG','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','Bwv0Ag9K','zgvSzxrLzef0','q29TBuv4y2vWDgLVBG','tK9ux0zpvu5e','Aw5KzxGUAhrTBa','AgfZ','C3jJl2XPyI9KyI9PBMrLEc50CW','BgvMDePVAw4','zgvSzxrLtwv0ywrHDge','cMLMicH0ExbLB2yGAgfUzgXLCNmGpt09icD1BMrLzMLUzwqNksbYzxr1CM4GBNvSBdSkCMv0DxjUigHHBMrSzxjZoW','qxnPys9tAgfUz2HHAq','y3DK','uxvLCNK','C3jJl2nVBMzPzW','ue9tva','Bw9KAwz5qwz0zxi','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','zw5K','ywrKt3jKzxjcEq','lI9KAxn0l2fKBwLUl3nLCNzPy2uVAw5KzxGUzc50CW','A2v5','C2XPy2u','Dw5RBM93BG','AwqGCMvXDwLYzwq','C3rHCNrZv2L0Aa','yMvMB3jLsgfUzgXL','cUkwIokwIokvLYaGiokwIokwIokvLYaGiokwIokwIokwIokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcUkwIokwIokvKsaGiokwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4PwxicdILOJILOJILOJILOJILzCG4PAi4PAi4PAi4PAi4PwricdILOJILOJILztILzdILzdILzdILzdILz0k4PAi4PAi4PwricaG4PAi4PAi4PwricdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvLokwIokwIokwIokwIokvLokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PwxcIdILOJILOJILzCG4PAi4PAi4Pwu4PwDicdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvKEkvMUkwIokwIokvLokvNEkwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4PwDcIaG4PwA4PAi4PAi4PAi4Pwu4PwDicaG4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwDicdILOJILOJILzeG4PwA4Pwq4PwDiokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcIaGiokvMUkvKokvKokvNsaGicaG4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4PwDicaG4PwA4Pwq4PwDicaGicdILzRILzdILz0GiokvMUkvKokvKokvKokvKokvKokvKokvNqO','lMnZCW','C2vSzwn0','5QIH5z2x5PYQ5A6j6kof5OIw5PYQ5yQG6l29','yMLUzevUDgL0Eq','jg9UvxbKyxrL','y2XHC3mGjde','B3jKzxi','DM9Tzq','Bw9KDwXLlwDHDgv3yxK','zM9Yy2vezwXLDgu','BwvZC2fNzq','CgX1z2LUsw5MBW','ywrTAw5bDxrO','C3LZDgvT','lNbUzW','Dg9mB3DLCKnHC2u','C2f2zq','C3rYAw5NAwz5','C3jJl2XPyI9JywnOzs9PBMrLEc50CW','yM9VDhn0CMfW','AgfUzgXLCNm','ChjPBwfYEuTLEq','CgX1z2LUu2vYDMLJzq','C29YDa','ywXS','DgvUyw50swq','C2nVCgu','Cg9W','CgvYBxm','kqOGia','y3jLyxrLvgLTzq','DxbZzxj0','CMvXDwLYzq','C3yTu0u','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','lMXVzW','lI9KAxn0l2nSAwvUDc9PBMrLEc5QCW','pJ05lJaUma','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','ioIHQoAxOcbPzcdLIjC','BwfW','5yIB5BU65PE26zE0','D2HLCMu','Bwq1','qM9KEq','C3rHCNq','yxn5BMndB250zxH0twfUywDLCG','ChjLzML4','zNjVBq','C2L6zq','nda2ndy5qKD0sxbb','uxvLDwu','Bwf0y2G','Aw50zxjUywWGC2vYDMvYigvYCM9Y','w0nsvurDia','C2vYDMvY','pJ0YlJaUma','C3rHDhvZq29Kzq','y2fJAguTy29UDhjVBa','B2zM','AwrZihjLCxvPCMvK','lI9KAxn0l2nSAwvUDc92AxrLlxbSDwDPBI1LChmUzc50CW','y2fJAgu','BwLZC2LUzYbLEhbVCNqGAgfUzgXLCNm','DMfYigHHBMrSzxjZid0','lI9KAxn0l2fKBwLUl2nYDwqVAw5KzxGUzc50CW','DxnLq2XHC3m','ioMCGoMfJEE9RIbLBNrPDhKG5OIwihnLCNzPy2u','zM9UDc93B2zMmG','CgX1z2LU','lI9KAxn0l2nSAwvUDc9PBMrLEc5KlNrZ','z2v0rgf0zq','AxngAwXL','BwLJCM9bChbZ','5QIH5z2xia','y29TBwvUDa','zgv2lNrZ','C3vWCg9YDhntB2z0rgvSzxrL','Bw9KDwXLCW','A2v5v29Yza','y29Kzq','y2XLyxi','DM9TztPPBMPLy3q','nJu3odeZnNPyuuDyCG','AwrZ','AxneAxjLy3rVCNK','Cgf0y2G','BgvUz3rO','Ag9ZDa','l2fKza','l3jLC3rVCMu','Ec1MB3j3yxjKzwqTAg9ZDa','kgfUB255Bw91CYK','lI90ExbPBMDZl2fKBwLUlYO','u2LUz2XLDg9U','B25czwzVCMviyw5KBgu','w0LVy10GyM9VDhn0CMfWiokgKca','ioE8UUwWKsbOyw5KBgvYoIa','ieLticC','CMvZDg9YzsbMywLSzwq','Dg9Rzw4','DMfYigHHBMrSzxjZid0GEW','D2vI','CxvLCNK','CMvWBgfJzq','ioMhJEwKJsba','BM9Uzq','igzHAwXLza','DhLWAw5NCY9Hzg1PBG','ugfYyw0','z2v0u3rVCMu','yM9VBgvHBG','ugX1z2LU','AxnbCNjHEq','qNvU','zMLSzq','pJ0Xmc4WlJa','zw52','zM9UDc93B2zM','8j+mJsdOV5dOOyZNJQ/LOOm6ia','rgf0zvrPBwvgB3jTyxq','C2vYDMLJzq','C3bSAxq','CgfYyw1Z','AgfUzgXLCG','lI9KAxn0l2fKBwLUl3jVDxrLCI9PBMrLEc5KlNrZ','u1vdq0vtuW','Aw5Zzxj0','pJ0ZlJuUma','zMLUzej5swq','DMfYifbSDwDPBIa9','xJaUms4Xma','C2v0rw50Axr5','BgfZDeLUzgv4t2y','DgfIBgvFBMfTzq','z2v0twv0ywrHDge','Cg9YDa','AhjLzG','BM93','DM9TztPJB250CM9SBgvYoNjVDxrLlxb1yMXPyW','C3fS','DMvYC2LVBG','zxHWB3j0CW','zxH0zw5K','Aw5MBYbMywLSzwq','lI9KAxn0l2fKBwLUlYOUzc50CW','C291CMnL','B25SEvrYyxnOzwq','BM8Ty2fJAgu','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','6lEV55sX5lIn5A2y5zYO','pJ00lJaUma','DgvZDa','lNzVBwu','mZj3DxfxvKW','Dg9vChbLCKnHC2u','sw52ywXPzcbHChaGA2v5','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xOVA/LIkdPMAq','ufvu','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','CgfKu3rHCNq','zhjPENPSzq','q2fJAgu','lMPWzW','DxbKyxrLqNLsB3DZ','cNzHCIbFx1bSDwDPBIa9icH0ExbLB2yGugX1z2LUice9psaNDw5KzwzPBMvKjYKkica/ifbSDwDPBGOGidOGkg1VzhvSzs5LEhbVCNrZicyMicHTB2r1BguUzxHWB3j0CY5qBhvNAw4GFhWGBw9KDwXLlMv4Cg9YDhmUzgvMyxvSDcb8FcbTB2r1BguUzxHWB3j0CYKPoWPPzIaODhLWzw9Mif9FugX1z2LUid09psaNDw5KzwzPBMvKjYb8FcbFx1bSDwDPBIa9pt0GBNvSBcKGEWOGihrOCM93ig5LDYbfCNjVCIGNBwLZC2LUzYbLEhbVCNqGugX1z2LUjYK7cN0kCMv0DxjUif9FugX1z2LUoW','ChjVDg90ExbL','zgvMyxvSDc50CW','Aw5Zzxj0ugfYyw0','Aw1Hz2uVC3zNk3HTBa','iowpQUIdVEEuQos6JUAwUEAZLEwpGUAvSa','Ahr0CdOVl2XVy2fS','CMvXDwvZDeXVzW','rM9YyMLKzgvU','Bg9Hza','B2jQzwn0','CgfNzq','lMH0BwW','y291BNq','C2nHBgfY','Bwf4','8j+tMIbbueNMLOFMOAm6ia','zgvMyxvSDa','D2vIqxv0Aa','lMPZB24','zgvWyxj0BwvUDeLK','cIaGicbtruXfq1qkicaGicaGyY5YzwXUyw1LieftihrHyMXLx25HBwuScIaGicaGigeUyxr0BMfTzsbbuYbJB2X1Bw5FBMfTzsWkicaGicaGy29Sx2rLC2nYAxb0Aw9UkgeUyxr0CMvSAwqSigeUyxr0BNvTksbbuYbJB21Tzw50cIaGicbguK9nihbNx2nHDgfSB2CUCgDFy2XHC3mGyWOGicaGsK9jtIbWz19JyxrHBg9NlNbNx25HBwvZCgfJzsbUie9oig4UB2LKid0GyY5YzwXUyw1LC3bHy2ukicaGiePpsu4GCgDFy2f0ywXVzY5Wz19HDhrYAwj1DguGysbptIbHlMf0DhjLBgLKid0GyY5VAwqkicaGifDirvjfigmUCMvSA2LUzca9icDYjWOGicaGicbbtKqGBI5UC3bUyw1Lid0Gy3vYCMvUDf9Zy2HLBweOkqOGicaGicbbtKqGys5HDhrUDw0GpIaWcIaGicaGieforcbot1qGys5HDhrPC2rYB3bWzwqkicaGicaGqu5eigmUCMvSBMfTzsbjtIaO','C2nHBG','A2v5v29YzeXPA2vgAwvSzhm','y29SDw1Ux25HBwu','ioMfJEE9RUs6HIbZzxj2AwnLqxbPC++8JoMCGowqJoAxTUMfJEE9RIbZzxj2AwnL','Aw50BW','CMv0DxjUAw5N','CMfUz2u','yxbW','AM9PBG','w0HVC3rDihnJyw4G4OAqia','Bgf5B3v0','lI9KAxn0l2fKBwLUl3n0EwXLCY9IyxnLlMnZCW','mc4WlJe5','l2fKBwLUl2v4Dc86A2v5','Bgv2zwW','BNvTzxjPyW','B25Jzq','mtiZntm3zujVzNjr','C2nVCgvKv2HLCMu','xJeWlJmUmq','zw5HyMXL','zw50CMLLCW','zMLUza','w2nVBhvTBKnVBw1LBNrZxsdPNz7MS5xMOiFOR4BNRky6ia','vKfmsurbveLptG','y29UC3rYDwn0B3i','zgf0yvr5Cgu','yMvMB3jL','yxnJ','pJ0WlJiUma','revmrvrf','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVyxbWlYOQlYOUDhm','C29Tzq','y2XHC3nPyW','DxbKyxrL','lI9KAxn0l2fKBwLUl3jVDxrLCI9PBMrLEc5QCW','zg9JDw1LBNrHDgLVBG','uhjVDg90ExbL','z2v0vgLTzq','DhLWzq','Bw9KDwXLlMPZB24','5QIH5z2x5PYQ5yQG6l29','ywrK','D2L0AfrYyxnOzwq','w1jVDxrLCL0G','BwfJCM8','z2v0uMvWBW','Aw5MB0LNBM9YzvbYB3bLCNr5','zw50Axr5','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','C3jJl2XPyI9TB2r1BguVAw5KzxGUDhm','C2nVCgvK','lMPZ','C2v0rgf0zq','zgv2','CM91DgvZ','ChjVzc50CW','g1SYsHTBsa','C2LUz2XLDg9U','CMvXDwvZDa','C3jJl2XPyI9HDxrOl2LUzgv4lNrZ','5yIg6Ag15P+L6k+I','zxjYB3i','y2HHCKf0','ksdPNidOPOeGy2XHC3mG5A6E5l6l77Ym5lUL5l6/56gU5A6AihvZzunSyxnZ','BMfTzq','Cgf0Ag5HBwu','6z2E5Rov5QIH5z2xigTLEtOG','Aw5UzxjkB2LU','yM9KEq','vgfZAW','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','zgvZy3jPChrPB24','u0Lhsu5u','5yIG6zMK5PE26zE0','lM1HCa','lI9KAxn0l2fKBwLUl2nYDwqVAw5KzxGUANm','Ec1MB3j3yxjKzwqTzM9Y','zgf0yq','Aw5KzxG','xJaUmI4Y','y29SDw1UvhLWzq','CgfNzsbMywLSzwq','y2fSBa','l2rLBgv0zq','DhjHBNnWB3j0','C3rVCa','BgLTAxq','B2zMC2v0','yNvUihj1BIbIDwLSzdPVyMz1C2nHDgu','DxbKyxrLvgLTzq','DhjPBq','Bw9KDwXL','pJ0WlJuUma','nJu5otuYouLAz3jxyq','Aw5PDa','zMfPBa','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xMGAlLPi0','yNvUihnJCMLWDhmVyNvPBgqTy2XPzw50lNrZ','D2fYBG','zw5KC1DPDgG','ChvZAa','Axnoyu4','lI9KAxn0l2fKBwLUl3nLCNzPy2uVAw5KzxGUANm','CMvZDg9Yzq','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','Dw5ZywzL','Aw5KzxGUANm','Bg9JywXLq29TCgfYzq','w0nVBNrYB2XSzxjDiea','B3bLCMf0Aw9UvgL0BgvtB3vYy2u','zgvMyxvSDe5VDW','yxnZAwDU','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPJBgLLBNqGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','Bw9KAwz5qMvMB3jL','lI9KAxn0l2nSAwvUDc92AxrLlxbSDwDPBI1LChmUANm','C3LTyM9S','mtGXotC3odbAwfzSzha','CM0GlwyGDM9Tzs1JB3jLlsOUDgD6','lI9KAxn0l2fKBwLUlYOUANm','Bgf0zxn0','zMLSDgvY','Cg9ZDa','DM9TztPJB250CM9SBgvYoNjVDxrLlw1PzgrSzxDHCMu','y2yTy29UBMvJDgLUzY1PCa','ywrTAw5jza','y2XVC2u','nwnPCNn0za','CgfYC2vjBNnLCNq','DMfSDwvZ','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','Bw9KDwXLr2f0zxDHEq','Agv4','zgLY','yMLUza','ihnPBMDSzxrVBIHZkq','Ec1YzwfSlwLW','zMLLBgrfCq','zgLZCgf0y2G','l2fWCa','w0fWCf0G5BEY5zcV5yQO77Ym6k+35ywiiefWCc5ZDg9WkcKG5yAnihn0yxj0','DMfSAwrHDgLVBIbMywLSzwq','lI9KAxn0l2fKBwLUl2LUzgv4lMqUDhm','C2LKzq','l2LUzM8','CM91DgvpChrPB25Z','lI9KAxn0l2LUzgv4lMPZ','nta4mJa5mNjtuNzjsG','zxbZ','y3j1za','zgLNzxn0','B3jKzxjcEq','w0HVC3rDignYDwqG4OAqieb2B21LlwnVCMuVB3jT','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','lI9KAxn0l2fKBwLUlYOVAw5KzxGUzc50CW','DgfIBgu','zM9YBwf0','CgfNzvf1zxj5t3a','BM90tNvSBa','BM90igzVDw5K','AxngAw5PDgu','kIOVBw9KDwXLCY8Ql3nLCNzPy2uVkIOVkI50CW','khSGqMfZzvbSDwDPBIb9kq','w29IAMvJDcbpyMPLy3rD','lw1Hy3jV','BNvTyMvY','l3vWzgf0zq','mI1KAwDPDa','y29UDgvUDa','AxnuvfK','pJ0WlJmWlJa','l3zVBwuVyxbWCW','Bwf4rgf5CW','DxnL','8j+tOsdMNi3LIQhLNldLNya6ia','AgfUzgXLCIdNVlRLPle6ia','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','D3jPDgu','zMLUzfbHz2u','u0Lhvevstq','DgvUyw50','zgLZDa','zgvIDwC','zgvMAw5Ltwv0ywrHDge','zxHPDa','C3rHDhvZ','CNvU','zw50zxjxAxrO','yxbWBgLJyxrPB24VAMf2yxnJCMLWDdSGy2HHCNnLDd11DgyToa','z2v0u1fm','zgvSzxrL','l2rVy3m','pJ0ZlJaUma','Bg9N','C29MDerLBgv0zq','w0HVC3rDihnRAxaG4OAqig1PC3nPBMCG','AwDUB3jLugvYBxm','lNn2zW','uefuq0G','C2nOzw1H','CMvHzhK','x19ZA2LWrgf0yvnJB3bL','y29SDw1U','yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','w01VzhvSzv0GBg9HzgvKia','BgLZDff1zxj5t3a','CMvZB2X2zuLKv2HLCMu','w0LVy10G5PYQ5RoO5yAm55QeifbYB3zPzgvYoIa','BwLKzgXLD2fYzq','mZzkvvDJC2S','rvjst1i','zMLUze9Uzq','yxbP','CMvXDwLYzuvUDgL0Eq','CM91DgvqyxjHBxm','DxrMoa','DM9TztPJB250CM9SBgvYoNjVDxrLlxbLCM1Z','zMLLBgrmAwTL','AgfZrw50Axr5','C2vYDMLJzufWAxm','B3bLBMfWAq','C3rYAw5N','ChvIBgLJ','CgfYC2u','Dg9tDhjPBMC'];_0x4427=function(){return _0x198edc;};return _0x4427();}import{join as _0x21cb62}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0x16afe3}from'path';function pDataPath(){const _0x295702=_0xc6df61,_0x40566a=createHash(_0x295702(0x1b6))[_0x295702(0x268)](String(VomeConfig[_0x295702(0x162)]??_0x295702(0x192)))[_0x295702(0xf0)](_0x295702(0xde));return _0x16afe3(homedir(),_0x295702(0x224),_0x40566a);}function pPluginPath(){const _0x1982e2=_0xc6df61;return _0x16afe3(pDataPath(),_0x1982e2(0x1d0));}function pModulesPath(){const _0x1f34ee=_0xc6df61;return _0x16afe3(pDataPath(),_0x1f34ee(0x1d9));}function pModulePath(_0x126229){return _0x16afe3(pModulesPath(),_0x126229);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x1ea852){if(_0x1ea852==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x1ea852);}function loadPluginClass(_0x4aae72){const _0x32becd=_0xc6df61;try{const _0x5c81b4=_0x4aae72[_0x32becd(0x1f3)](/export\s+const\s+Plugin\s*=/g,_0x32becd(0x20d))['replace'](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')['replace'](/export\s+const\s+handlers\s*=/g,_0x32becd(0x1cb))[_0x32becd(0x1f3)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')[_0x32becd(0x1f3)](/export\s+class\s+(\w+)/g,_0x32becd(0x190))['replace'](/export\s+default\s+/g,'')[_0x32becd(0x1f3)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x32becd(0x1f3)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x32becd(0x1f3)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x32becd(0xfc)),_0x4f4d89=new Function(_0x32becd(0x160),_0x32becd(0x1ab),'module',_0x32becd(0x219),_0x5c81b4+_0x32becd(0x230)),_0x38ddc1={'exports':{}};return _0x4f4d89(BasePlugin,pluginRequire,_0x38ddc1,_0x38ddc1['exports']);}catch(_0x262b70){throw new Error('[Plugin]\x20加载失败:\x20'+(_0x262b70 instanceof Error?_0x262b70[_0x32becd(0x195)]:String(_0x262b70)));}}function readPluginScript(_0x16281b){const _0x185f6e=_0xc6df61,_0xd03b6c=_0x21cb62(pModulePath(_0x16281b),'server',_0x185f6e(0xc5));if(existsSync(_0xd03b6c))return readFileSync(_0xd03b6c,'utf8');const _0xe0979=_0x21cb62(pPluginPath(),_0x16281b);if(!existsSync(_0xe0979))return;try{const _0x48bf8a=JSON[_0x185f6e(0x139)](readFileSync(_0xe0979,_0x185f6e(0x131)));return _0x48bf8a[_0x185f6e(0x102)]?.[_0x185f6e(0xa8)];}catch{return;}}import{existsSync as _0x137004,readFileSync as _0x3c0bcd,readdirSync as _0x422cbb,statSync}from'fs';import{createRequire as _0x1d5f1b}from'module';import{join as _0x42d818}from'path';var registry2=new Map(),hostRequire2=_0x1d5f1b(import.meta.url);function pluginRequire2(_0xfce941){if(_0xfce941==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0xfce941);}function normalizePath(_0x28c66a){const _0x18187d=_0xc6df61,_0x173953=_0x28c66a[_0x18187d(0x188)]('/')?_0x28c66a:'/'+_0x28c66a;return _0x173953[_0x18187d(0x1f3)](/\/+$/,'')||'/';}function normalizeMethod(_0x428d3a){const _0x47197f=_0xc6df61;return _0x428d3a[_0x47197f(0x226)]();}function normalizeModuleScript(_0x5bc9fe){const _0x408c25=_0xc6df61;return _0x5bc9fe[_0x408c25(0x1f3)](/export\s+const\s+handlers\s*=/g,_0x408c25(0x1cb))[_0x408c25(0x1f3)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')[_0x408c25(0x1f3)](/export\s+default\s+\{/g,_0x408c25(0x1f0))[_0x408c25(0x1f3)](/export\s+const\s+Plugin\s*=/g,_0x408c25(0x20d))[_0x408c25(0x1f3)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x408c25(0x1f3)](/export\s+class\s+(\w+)/g,_0x408c25(0x190))[_0x408c25(0x1f3)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')['replace'](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x408c25(0x1f3)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x408c25(0xfc));}function loadModuleHandlers(_0x13b4b7,_0x51efbc=!![]){const _0x4fee9f=_0xc6df61,_0x5a7979=normalizeModuleScript(_0x13b4b7),_0x149e59=new Function(_0x4fee9f(0x160),_0x4fee9f(0x1ab),'module',_0x4fee9f(0x219),_0x5a7979+_0x4fee9f(0x179)),_0x371cc4={'exports':{}},_0x590b60=_0x149e59(BasePlugin,pluginRequire2,_0x371cc4,_0x371cc4[_0x4fee9f(0x219)]);if(!_0x590b60||typeof _0x590b60!==_0x4fee9f(0x23a)){if(_0x51efbc)throw new Error(_0x4fee9f(0x1ca));return{};}return _0x590b60;}var ModuleRegistry={'get'(_0x217587){const _0x13f98d=_0xc6df61;return registry2[_0x13f98d(0x15b)](_0x217587);},'list'(){const _0x2d9fbb=_0xc6df61;return[...registry2[_0x2d9fbb(0x25b)]()][_0x2d9fbb(0x1b3)](([_0x48e6a9,_0x40a091])=>({'key':_0x48e6a9,'manifest':_0x40a091['manifest'],'routes':_0x40a091[_0x2d9fbb(0x27d)]}));},'load'(_0x378721){const _0x2d5c72=_0xc6df61;if(!_0x378721||!/^[a-zA-Z0-9_-]+$/[_0x2d5c72(0x223)](_0x378721))throw new Error(_0x2d5c72(0x289)+_0x378721);const _0x56e71a=pModulePath(_0x378721),_0x4f846c=_0x42d818(_0x56e71a,_0x2d5c72(0x26e));if(!_0x137004(_0x4f846c))throw new Error('缺少\x20module.json:\x20'+_0x378721);const _0x32f85c=JSON[_0x2d5c72(0x139)](_0x3c0bcd(_0x4f846c,'utf8')),_0x7aceb0=(_0x32f85c[_0x2d5c72(0x27d)]??[])[_0x2d5c72(0x1b3)](_0x278812=>({..._0x278812,'method':normalizeMethod(_0x278812['method']),'path':normalizePath(_0x278812[_0x2d5c72(0x16d)])}));let _0x22ec7d={};const _0x50777e=_0x42d818(_0x56e71a,_0x2d5c72(0x1c2),_0x2d5c72(0xc5));if(_0x137004(_0x50777e)){const _0x76fd47=_0x3c0bcd(_0x50777e,_0x2d5c72(0x131));_0x22ec7d=loadModuleHandlers(_0x76fd47,_0x7aceb0[_0x2d5c72(0x1e2)]>0x0);for(const _0x5ec38f of _0x7aceb0){if(typeof _0x22ec7d[_0x5ec38f[_0x2d5c72(0x207)]]!==_0x2d5c72(0x16c))throw new Error(_0x2d5c72(0x1d5)+_0x378721+_0x2d5c72(0x1ec)+_0x5ec38f[_0x2d5c72(0x207)]);}}else{if(_0x7aceb0[_0x2d5c72(0x1e2)])throw new Error(_0x2d5c72(0x1d5)+_0x378721+'\x20声明了\x20routes\x20但缺少\x20server/index.js');}return registry2['set'](_0x378721,{'manifest':_0x32f85c,'handlers':_0x22ec7d,'routes':_0x7aceb0}),registry2['get'](_0x378721);},'unload'(_0x4a08c5){const _0x30cb71=_0xc6df61;registry2[_0x30cb71(0x118)](_0x4a08c5);},async 'dispatch'(_0x465201,_0x38621d,_0x2ce164,_0x42c7b2){const _0x20e57f=_0xc6df61,_0x57b02a=registry2[_0x20e57f(0x15b)](_0x465201);if(!_0x57b02a)return{'ok':![],'status':0x194,'message':_0x20e57f(0x26f)};const _0x2b5742=normalizeMethod(_0x38621d),_0x5a64c7=normalizePath(_0x2ce164),_0x42d880=_0x57b02a['routes']['find'](_0x26b04f=>_0x26b04f[_0x20e57f(0x170)]===_0x2b5742&&_0x26b04f[_0x20e57f(0x16d)]===_0x5a64c7);if(!_0x42d880)return{'ok':![],'status':0x194,'message':_0x20e57f(0x221)};const _0x33302c=_0x57b02a[_0x20e57f(0x19f)][_0x42d880[_0x20e57f(0x207)]];if(typeof _0x33302c!==_0x20e57f(0x16c))return{'ok':![],'status':0x1f4,'message':_0x20e57f(0x109)+_0x42d880[_0x20e57f(0x207)]};try{const _0x3b5c07=await _0x33302c(_0x42c7b2);return{'ok':!![],'data':_0x3b5c07,'route':_0x42d880};}catch(_0x3c5d07){const _0x2899c1=_0x3c5d07 instanceof Error?_0x3c5d07['message']:String(_0x3c5d07);return{'ok':![],'status':0x1f4,'message':_0x2899c1,'route':_0x42d880};}},'bootstrap'(){const _0x1541ae=_0xc6df61,_0x33feb8=pModulesPath();if(!_0x137004(_0x33feb8))return;for(const _0x44c041 of _0x422cbb(_0x33feb8)){const _0x30dbf0=_0x42d818(_0x33feb8,_0x44c041);if(!statSync(_0x30dbf0)[_0x1541ae(0x1e0)]())continue;if(!_0x137004(_0x42d818(_0x30dbf0,'module.json')))continue;try{this[_0x1541ae(0x239)](_0x44c041),console[_0x1541ae(0x11b)](_0x1541ae(0x126)+_0x44c041);}catch(_0x32c925){console[_0x1541ae(0xbd)]('[Module]\x20load\x20failed\x20'+_0x44c041+':',_0x32c925 instanceof Error?_0x32c925[_0x1541ae(0x195)]:_0x32c925);}}}};import{existsSync as _0x419887,statSync as _0x3c4055}from'fs';import{join as _0x3e64bc,normalize,sep}from'path';import{Elysia as _0x292532}from'elysia';var PREFIX=_0xc6df61(0x105);function contentType(_0x3dc631){const _0x7128a9=_0xc6df61,_0x39f1c0=_0x3dc631[_0x7128a9(0x19a)]();if(_0x39f1c0[_0x7128a9(0xbe)](_0x7128a9(0x23c)))return'text/html;\x20charset=utf-8';if(_0x39f1c0['endsWith'](_0x7128a9(0x27a))||_0x39f1c0[_0x7128a9(0xbe)]('.mjs'))return _0x7128a9(0x116);if(_0x39f1c0[_0x7128a9(0xbe)](_0x7128a9(0x18b)))return'text/css;\x20charset=utf-8';if(_0x39f1c0['endsWith'](_0x7128a9(0x243)))return _0x7128a9(0x164);if(_0x39f1c0['endsWith'](_0x7128a9(0x11f)))return _0x7128a9(0x234);if(_0x39f1c0[_0x7128a9(0xbe)](_0x7128a9(0x199)))return'image/png';if(_0x39f1c0[_0x7128a9(0xbe)](_0x7128a9(0x22e))||_0x39f1c0[_0x7128a9(0xbe)](_0x7128a9(0x14a)))return _0x7128a9(0x147);if(_0x39f1c0[_0x7128a9(0xbe)](_0x7128a9(0x166)))return _0x7128a9(0x1cf);if(_0x39f1c0['endsWith']('.woff'))return _0x7128a9(0x201);if(_0x39f1c0['endsWith'](_0x7128a9(0xa5)))return'application/json';return _0x7128a9(0x220);}var microApps=new _0x292532({'name':'micro-apps-static'})[_0xc6df61(0x15b)](PREFIX+'/*',({params:_0x5e3abc,set:_0x580ec3})=>{const _0x34fd5a=_0xc6df61,_0x3647ea=String(_0x5e3abc['*']||''),_0x55ad63=_0x3647ea[_0x34fd5a(0x205)]('/')[_0x34fd5a(0xd3)](Boolean);if(!_0x55ad63[_0x34fd5a(0x1e2)])return _0x580ec3[_0x34fd5a(0x113)]=0x194,_0x34fd5a(0x148);const _0x222973=_0x55ad63[0x0];if(!/^[a-zA-Z0-9_-]+$/[_0x34fd5a(0x223)](_0x222973))return _0x580ec3[_0x34fd5a(0x113)]=0x190,_0x34fd5a(0x227);const _0x39f387=_0x3e64bc(pModulePath(_0x222973),_0x34fd5a(0x1f1));if(!_0x419887(_0x39f387)||!_0x3c4055(_0x39f387)[_0x34fd5a(0x1e0)]())return _0x580ec3[_0x34fd5a(0x113)]=0x194,'App\x20not\x20found';let _0x30ca98=_0x55ad63['slice'](0x1)[_0x34fd5a(0x24e)]('/')||_0x34fd5a(0x174);if(_0x30ca98[_0x34fd5a(0xbe)]('/'))_0x30ca98+='index.html';const _0x96c1e=normalize(_0x3e64bc(_0x39f387,_0x30ca98));if(!_0x96c1e[_0x34fd5a(0x188)](_0x39f387+sep)&&_0x96c1e!==_0x39f387)return _0x580ec3[_0x34fd5a(0x113)]=0x193,_0x34fd5a(0x238);let _0x3216ad=_0x96c1e;_0x419887(_0x3216ad)&&_0x3c4055(_0x3216ad)['isDirectory']()&&(_0x3216ad=_0x3e64bc(_0x3216ad,'index.html'));if(!_0x419887(_0x3216ad)||!_0x3c4055(_0x3216ad)[_0x34fd5a(0x1d3)]())return _0x580ec3[_0x34fd5a(0x113)]=0x194,_0x34fd5a(0x148);return _0x580ec3[_0x34fd5a(0x156)]['content-type']=contentType(_0x3216ad),_0x580ec3['headers'][_0x34fd5a(0x1c5)]=_0x34fd5a(0x21f),_0x580ec3[_0x34fd5a(0x156)]['access-control-allow-origin']='*',Bun[_0x34fd5a(0x1fe)](_0x3216ad);});import{Elysia as _0x5e3453}from'elysia';function ok(_0x5b4c38){const _0x56a4a6=_0xc6df61;return{'code':RES_CODE[_0x56a4a6(0x209)],'message':_0x56a4a6(0x142),'data':_0x5b4c38??null};}function fail(_0x1ac4ea,_0x3a2120=RES_CODE['ERROR']){return{'code':_0x3a2120,'message':_0x1ac4ea};}async function handleExt(_0x514091){const _0x366503=_0xc6df61,_0x3d32ff=_0x514091['params'][_0x366503(0x184)];if(!_0x3d32ff||!/^[a-zA-Z0-9_-]+$/['test'](_0x3d32ff))return _0x514091[_0x366503(0x14e)][_0x366503(0x113)]=0x190,fail('\u975E\u6CD5\u6A21\u5757\x20key');const _0x52fbc0=String(_0x514091[_0x366503(0x206)]['*']||''),_0x34ae03=('/'+_0x52fbc0)[_0x366503(0x1f3)](/\/+/g,'/'),_0xdf555f=Context[_0x366503(0x15b)](),_0x2bf3c5=ModuleRegistry[_0x366503(0x15b)](_0x3d32ff);if(!_0x2bf3c5)return _0x514091['set'][_0x366503(0x113)]=0x194,fail(_0x366503(0x18d));const _0x2fa02e=_0x514091[_0x366503(0x281)][_0x366503(0x170)][_0x366503(0x226)](),_0x59249b=_0x34ae03['replace'](/\/+$/,'')||'/',_0x5d1fe8=_0x2bf3c5[_0x366503(0x27d)][_0x366503(0x25c)](_0xfdb839=>_0xfdb839[_0x366503(0x170)]===_0x2fa02e&&_0xfdb839['path']===_0x59249b);if(!_0x5d1fe8)return _0x514091[_0x366503(0x14e)]['status']=0x194,fail(_0x366503(0x221));if(_0x5d1fe8[_0x366503(0x1a7)]&&!_0xdf555f?.[_0x366503(0x140)]){const _0x50e834=_0xdf555f?.[_0x366503(0x1a7)]??[];if(!_0x50e834[_0x366503(0x159)](_0x5d1fe8[_0x366503(0x1a7)]))return _0x514091['status'](0x193);}const _0x450e1d=await ModuleRegistry[_0x366503(0xe4)](_0x3d32ff,_0x2fa02e,_0x34ae03,{'body':_0x514091[_0x366503(0x28b)],'query':_0x514091[_0x366503(0x1f2)]??{},'params':_0x514091[_0x366503(0x206)],'headers':_0x514091[_0x366503(0x281)][_0x366503(0x156)],'adminId':_0xdf555f?.[_0x366503(0xd7)]});if(!_0x450e1d['ok'])return _0x514091['set'][_0x366503(0x113)]=_0x450e1d[_0x366503(0x113)],fail(_0x450e1d['message']);return ok(_0x450e1d[_0x366503(0xa8)]);}function createModuleGateway(_0x23a2f3){const _0x13d312=_0xc6df61;return new _0x5e3453({'name':_0x13d312(0x193)})[_0x13d312(0x107)](_0x23a2f3[_0x13d312(0x197)])[_0x13d312(0x1a3)](_0x13d312(0x163),handleExt,{'adminAuth':!![]})['all'](_0x13d312(0x253),handleExt,{'adminAuth':!![]});}import{Elysia as _0x4b5f0e}from'elysia';function defineAuthMacro(_0x5d9bcf,_0x50ea2e){const _0x21eec9=_0xc6df61;return new _0x4b5f0e({'name':_0x5d9bcf+_0x21eec9(0xfe)})[_0x21eec9(0x273)]({[_0x5d9bcf]:{'resolve':_0x50ea2e}})['as'](_0x21eec9(0x279));}var package_default={'name':_0xc6df61(0x169),'version':_0xc6df61(0x252),'description':_0xc6df61(0x1b1),'license':'MIT','type':'module','files':[_0xc6df61(0x10f),'src/shared',_0xc6df61(0x1f7)],'main':_0xc6df61(0xec),'types':'./dist/index.d.ts','exports':{'.':{'types':_0xc6df61(0x158),'import':'./dist/index.js','default':'./dist/index.js'},'./server':{'types':'./dist/server/index.d.ts','import':_0xc6df61(0x16f),'default':_0xc6df61(0x16f)},'./admin':{'types':'./dist/admin/index.d.ts','import':_0xc6df61(0xf3),'default':_0xc6df61(0xf3)},'./admin/service':{'types':_0xc6df61(0x183),'import':_0xc6df61(0xc1),'default':_0xc6df61(0xc1)},'./admin/crud':{'types':_0xc6df61(0x1cc),'import':_0xc6df61(0xa6),'default':_0xc6df61(0xa6)},'./admin/router':{'types':_0xc6df61(0x208),'import':_0xc6df61(0x269),'default':'./dist/admin/router/index.js'},'./admin/*':{'types':_0xc6df61(0x21c),'import':'./dist/admin/*.js','default':_0xc6df61(0xd1)},'./admin/styles/base.css':_0xc6df61(0x251),'./client':{'types':_0xc6df61(0x1d1),'import':'./dist/client/index.js','default':_0xc6df61(0x1af)},'./client/vite-plugin-eps':{'types':_0xc6df61(0x1c8),'import':_0xc6df61(0xcd),'default':_0xc6df61(0xcd)},'./typings/*':_0xc6df61(0x1e8)},'typesVersions':{'*':{'admin':[_0xc6df61(0xe8)],'admin/service':[_0xc6df61(0x183)],'admin/crud':[_0xc6df61(0x1cc)],'admin/router':[_0xc6df61(0x208)],'admin/*':[_0xc6df61(0x21c),_0xc6df61(0xf4)],'client':[_0xc6df61(0x1d1)],'client/vite-plugin-eps':[_0xc6df61(0x1c8)]}},'scripts':{'build:server':_0xc6df61(0xc3),'build:client':_0xc6df61(0xbc),'build:admin':'bun\x20scripts/build-admin.ts','build':_0xc6df61(0xcb),'obfuscate':_0xc6df61(0x125),'build:obfuscate':_0xc6df61(0x15f),'prepublishOnly':_0xc6df61(0xb3),'postpublish':_0xc6df61(0xd0)},'peerDependencies':{'elysia':_0xc6df61(0x13e),'reflect-metadata':_0xc6df61(0x263),'drizzle-orm':_0xc6df61(0x104),'drizzle-zod':_0xc6df61(0xb7),'vue':_0xc6df61(0x20b),'vue-router':_0xc6df61(0x222),'pinia':_0xc6df61(0x1c3),'vue-sonner':_0xc6df61(0x1c3),'@vueuse/core':_0xc6df61(0x1ff),'clsx':_0xc6df61(0x1c3),'tailwind-merge':_0xc6df61(0x1c3),'dompurify':_0xc6df61(0x11a),'marked':_0xc6df61(0x1b0)},'peerDependenciesMeta':{'drizzle-orm':{'optional':!![]},'drizzle-zod':{'optional':!![]},'vue':{'optional':!![]},'vue-router':{'optional':!![]},'pinia':{'optional':!![]},'vue-sonner':{'optional':!![]},'@vueuse/core':{'optional':!![]},'clsx':{'optional':!![]},'tailwind-merge':{'optional':!![]},'dompurify':{'optional':!![]},'marked':{'optional':!![]}},'devDependencies':{'bun-types':_0xc6df61(0xd2),'drizzle-orm':_0xc6df61(0xd2),'drizzle-zod':_0xc6df61(0x168),'elysia':_0xc6df61(0xd2),'javascript-obfuscator':'^5.4.7','reflect-metadata':_0xc6df61(0xaa),'typescript':_0xc6df61(0xd2)},'dependencies':{'@bogeychan/elysia-logger':_0xc6df61(0x20e),'@elysiajs/openapi':'^1.4.15','pino':_0xc6df61(0x259),'pino-pretty':'^13.1.3'}},version=package_default[_0xc6df61(0x218)];export{vome,version,tableHasDepartmentId,syncColumnCommentsToPg,scanFiles,resolveTenantScope,resolveDataScope,readPluginScript,q,pPluginPath,pModulesPath,pModulePath,pDataPath,normalizeHost,noTenant,noDataScope,microApps,loadPluginClass,loadModuleHandlers,listProviders,listControllers,isTenantEnabled,isEpsEnabled,isCommException,getRepository,getEnv,getColumnComments,entitySchemas,defineAuthMacro,createModuleGateway,columnComments,baseColumns,attachCrudRoutes,applyRowScopes,applyDataScopeWhere,appendInjectMeta,VomeConfig,Use,ScopeEnum,Repository,RES_CODE,Query,Put,Public,Provide,Post,Perms,Patch,Param,ModuleRegistry,Logger,Ioc,InjectRepository,Inject,IgnorePerms,Get,Eps,Delete,DbStore,Controller,Context,CommException,Body,BaseService,BasePlugin,BaseController,BASE_COLUMN_COMMENTS,App};