@restforgejs/platform 5.0.8 → 5.1.0

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.
Files changed (172) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +963 -0
  5. package/generators/cli/payload/sync.js +18 -2
  6. package/generators/lib/dbschema-kit/connection.js +17 -2
  7. package/generators/lib/migrate/field-type-resolver.js +18 -5
  8. package/generators/lib/payload/payload-runner.js +724 -39
  9. package/generators/lib/templates/dashboard-catalog.js +1 -1
  10. package/generators/lib/templates/db-connection-env.js +1 -1
  11. package/generators/lib/templates/dbschema-catalog.js +1 -1
  12. package/generators/lib/templates/field-validation-catalog.js +1 -1
  13. package/generators/lib/templates/mysql-template.js +1 -1
  14. package/generators/lib/templates/oracle-template.js +1 -1
  15. package/generators/lib/templates/postgres-template.js +1 -1
  16. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  17. package/generators/lib/templates/sqlite-template.js +1 -1
  18. package/generators/lib/utils/database-introspector.js +4 -1
  19. package/integrity-manifest.json +18 -18
  20. package/package.json +1 -1
  21. package/scripts/verify-integrity.js +1 -1
  22. package/server.js +1 -1
  23. package/src/components/handlers/adjust_handler.js +1 -1
  24. package/src/components/handlers/audit_handler.js +1 -1
  25. package/src/components/handlers/delete_handler.js +1 -1
  26. package/src/components/handlers/export_handler.js +1 -1
  27. package/src/components/handlers/import_handler.js +1 -1
  28. package/src/components/handlers/insert_handler.js +1 -1
  29. package/src/components/handlers/update_handler.js +1 -1
  30. package/src/components/handlers/upload_handler.js +1 -1
  31. package/src/components/handlers/workflow_handler.js +1 -1
  32. package/src/components/integrations/webhook.js +1 -1
  33. package/src/consumers/baseConsumer.js +1 -1
  34. package/src/consumers/declarativeMapper.js +1 -1
  35. package/src/consumers/handlers/apiHandler.js +1 -1
  36. package/src/consumers/handlers/consoleHandler.js +1 -1
  37. package/src/consumers/handlers/databaseHandler.js +1 -1
  38. package/src/consumers/handlers/index.js +1 -1
  39. package/src/consumers/handlers/kafkaHandler.js +1 -1
  40. package/src/consumers/index.js +1 -1
  41. package/src/consumers/messageTransformer.js +1 -1
  42. package/src/consumers/validator.js +1 -1
  43. package/src/core/db/dialect/base-dialect.js +1 -1
  44. package/src/core/db/dialect/index.js +1 -1
  45. package/src/core/db/dialect/mysql-dialect.js +1 -1
  46. package/src/core/db/dialect/oracle-dialect.js +1 -1
  47. package/src/core/db/dialect/postgres-dialect.js +1 -1
  48. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  49. package/src/core/db/flatten-helper.js +1 -1
  50. package/src/core/db/query-builder-error.js +1 -1
  51. package/src/core/db/query-builder.js +1 -1
  52. package/src/core/db/relation-helper.js +1 -1
  53. package/src/core/handlers/delete_handler.js +1 -1
  54. package/src/core/handlers/insert_handler.js +1 -1
  55. package/src/core/handlers/update_handler.js +1 -1
  56. package/src/core/models/base-model.js +1 -1
  57. package/src/core/utils/cache-manager.js +1 -1
  58. package/src/core/utils/component-engine.js +1 -1
  59. package/src/core/utils/context-builder.js +1 -1
  60. package/src/core/utils/datetime-formatter.js +1 -1
  61. package/src/core/utils/datetime-parser.js +1 -1
  62. package/src/core/utils/db.js +1 -1
  63. package/src/core/utils/logger.js +1 -1
  64. package/src/core/utils/payload-loader.js +1 -1
  65. package/src/core/utils/security-checks.js +1 -1
  66. package/src/middleware/body-options.js +1 -1
  67. package/src/middleware/cors.js +1 -1
  68. package/src/middleware/idempotency.js +1 -1
  69. package/src/middleware/rate-limiter.js +1 -1
  70. package/src/middleware/request-logger.js +1 -1
  71. package/src/middleware/security-headers.js +1 -1
  72. package/src/models/base-model-mysql.js +1 -1
  73. package/src/models/base-model-oracle.js +1 -1
  74. package/src/models/base-model-sqlite.js +1 -1
  75. package/src/models/base-model.js +1 -1
  76. package/src/pro/caching/redis-client.js +1 -1
  77. package/src/pro/caching/redis-helper.js +1 -1
  78. package/src/pro/consumers/baseConsumer.js +1 -1
  79. package/src/pro/consumers/declarativeMapper.js +1 -1
  80. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  81. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  82. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  83. package/src/pro/consumers/handlers/index.js +1 -1
  84. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  85. package/src/pro/consumers/index.js +1 -1
  86. package/src/pro/consumers/messageTransformer.js +1 -1
  87. package/src/pro/consumers/validator.js +1 -1
  88. package/src/pro/database/base-model-mysql.js +1 -1
  89. package/src/pro/database/base-model-oracle.js +1 -1
  90. package/src/pro/database/base-model-sqlite.js +1 -1
  91. package/src/pro/database/db-mysql.js +1 -1
  92. package/src/pro/database/db-oracle.js +1 -1
  93. package/src/pro/database/db-sqlite.js +1 -1
  94. package/src/pro/excel/excel-generator.js +1 -1
  95. package/src/pro/excel/excel-parser.js +1 -1
  96. package/src/pro/excel/export-service.js +1 -1
  97. package/src/pro/excel/export_handler.js +1 -1
  98. package/src/pro/excel/import-service.js +1 -1
  99. package/src/pro/excel/import-validator.js +1 -1
  100. package/src/pro/excel/import_handler.js +1 -1
  101. package/src/pro/excel/upsert-builder.js +1 -1
  102. package/src/pro/idgen/idgen-routes.js +1 -1
  103. package/src/pro/integrations/lookup-resolver.js +1 -1
  104. package/src/pro/integrations/upload-handler-v2.js +1 -1
  105. package/src/pro/integrations/upload-handler.js +1 -1
  106. package/src/pro/integrations/webhook.js +1 -1
  107. package/src/pro/locking/lock-routes.js +1 -1
  108. package/src/pro/locking/resource-lock-manager.js +1 -1
  109. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  110. package/src/pro/messaging/kafkaService.js +1 -1
  111. package/src/pro/messaging/messagehubService.js +1 -1
  112. package/src/pro/messaging/rabbitmqService.js +1 -1
  113. package/src/pro/scheduler/job-manager.js +1 -1
  114. package/src/pro/scheduler/job-routes.js +1 -1
  115. package/src/pro/scheduler/job-validator.js +1 -1
  116. package/src/pro/storage/base-storage-provider.js +1 -1
  117. package/src/pro/storage/file-metadata-helper.js +1 -1
  118. package/src/pro/storage/index.js +1 -1
  119. package/src/pro/storage/local-storage-provider.js +1 -1
  120. package/src/pro/storage/s3-storage-provider.js +1 -1
  121. package/src/pro/storage/upload-cleanup-job.js +1 -1
  122. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  123. package/src/pro/storage/upload-pending-tracker.js +1 -1
  124. package/src/pro/websocket/broadcast-helper.js +1 -1
  125. package/src/pro/websocket/index.js +1 -1
  126. package/src/pro/websocket/livesync-server.js +1 -1
  127. package/src/pro/websocket/ws-broadcaster.js +1 -1
  128. package/src/services/export-service.js +1 -1
  129. package/src/services/import-service.js +1 -1
  130. package/src/services/kafkaConsumerService.js +1 -1
  131. package/src/services/kafkaService.js +1 -1
  132. package/src/services/messagehubService.js +1 -1
  133. package/src/services/rabbitmqService.js +1 -1
  134. package/src/utils/cache-invalidation-registry.js +1 -1
  135. package/src/utils/cache-manager.js +1 -1
  136. package/src/utils/component-engine.js +1 -1
  137. package/src/utils/config-extractor.js +1 -1
  138. package/src/utils/consumerLogger.js +1 -1
  139. package/src/utils/context-builder.js +1 -1
  140. package/src/utils/dashboard-helpers.js +1 -1
  141. package/src/utils/dateHelper.js +1 -1
  142. package/src/utils/datetime-formatter.js +1 -1
  143. package/src/utils/datetime-parser.js +1 -1
  144. package/src/utils/db-bootstrap.js +1 -1
  145. package/src/utils/db-mysql.js +1 -1
  146. package/src/utils/db-oracle.js +1 -1
  147. package/src/utils/db-sqlite.js +1 -1
  148. package/src/utils/db.js +1 -1
  149. package/src/utils/demo-generator.js +1 -1
  150. package/src/utils/excel-generator.js +1 -1
  151. package/src/utils/excel-parser.js +1 -1
  152. package/src/utils/file-watcher.js +1 -1
  153. package/src/utils/id-generator.js +1 -1
  154. package/src/utils/idempotency-manager.js +1 -1
  155. package/src/utils/import-validator.js +1 -1
  156. package/src/utils/license-client.js +1 -1
  157. package/src/utils/lock-manager.js +1 -1
  158. package/src/utils/logger.js +1 -1
  159. package/src/utils/lookup-resolver.js +1 -1
  160. package/src/utils/payload-loader.js +1 -1
  161. package/src/utils/processor-response.js +1 -1
  162. package/src/utils/rabbitmq.js +1 -1
  163. package/src/utils/redis-client.js +1 -1
  164. package/src/utils/redis-helper.js +1 -1
  165. package/src/utils/request-scope.js +1 -1
  166. package/src/utils/security-checks.js +1 -1
  167. package/src/utils/service-resolver.js +1 -1
  168. package/src/utils/shutdown-coordinator.js +1 -1
  169. package/src/utils/trusted-keys.js +1 -1
  170. package/src/utils/upload-handler.js +1 -1
  171. package/src/utils/upsert-builder.js +1 -1
  172. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0xe44b(){const _0x3056c0=['CMvQzwn0','te9ds19esvnuuKLcvvrfrf9srvrswq','mtu0mtyWwuviwxjd','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','zw52','tg9JAYbYzwXLyxnLigvYCM9Y','D3jPDgvFBg9JA193ywL0Aw5N','x3DVCMTLCKLK','v1jjveuGBg9JAYbYzwXLyxnLza','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','vgLnEw8','odu0nePjAfDszW','CMvSzwfZzuXVy2S','tg9JAYbLEhrLBMqGzxjYB3i','te9ds19esvnuuKLcvvrfrf9uveW','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','x3n0CMf0zwD5','x2rLzMf1BhruveW','Dhj1zq','ne5Rq2ztuW','AxnfBMfIBgvK','x3jLDhj5rgvSyxK','wgD4ywu','mZG5nJa1nw90z2THBa','zxzHBa','q25Rqvy','D3jPDgu','D2fYBG','z2v0','D3jPDgvFBg9JA19Hy3f1AxjLza','CMv0CNLezwXHEq','Bez0y2i','C2v0zxG','CMv0CNK','tg9JAYbuveWGzxH0zw5Kzwq','Bg9JA19YzwXLyxnLx2vYCM9Y','CMy6Bg9JAZO','C0DTwu4','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','uKvbrcbSB2nRigfJCxvPCMvK','DevqC3O','rxrwvwy','zgvIDwC','yNvPBgrmB2nRs2v5','zxHWAxjL','rNrwqM4','C2XLzxa','mZi2nJK1wuXiD1jy','C3rYyxrLz3K','z2v0q2XPzw50','mZaYmevpzwHlAW','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','ywXS','C3brzey','zNbNCMm','zgvMyxvSDfruta','D29YA2vYswq','ywnXDwLYzvjLywrmB2nR','mta4mdG3mdzoDK9guhq','ndGXmdnJy3L2tK0','x2vUC3vYzuLUAxrPywXPEMvK','D3jPDgvFBg9JA19LCNjVCG','werPzvO','mZu4nZaXovnxswHZqq','CMvHza','C2rcu2O','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','vwLtD2S','x3bYzwzPEa','zxjYB3i','BwvZC2fNzq','CMv0CNLdB3vUDa','z2vUzxjHDgvmB2nRvMfSDwu','nZzdu1zpDhK','x2LUAxrPywXPEMvK','uMLvBvm','zw5HyMXLza','s3Ltqvu','uKvbrcbSB2nRigvYCM9Y','tfnWrMq','x3jLDhj5q291BNq','x2vUywjSzwq','D3jPDgvFBg9JA19YzwXLyxnLza','lcbZDhjHDgvNEtOG','rgfTtLG','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','nJe4mwj6sKjOzq','ChjLzML4','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx3jLBgvHC2vK','uKvbrcbSB2nRihjLBgvHC2vK'];a0_0xe44b=function(){return _0x3056c0;};return a0_0xe44b();}const a0_0x5b31f6=a0_0x2341;(function(_0x1870ee,_0x328079){const _0x22ef86=a0_0x2341,_0x45ebb4=_0x1870ee();while(!![]){try{const _0x559088=parseInt(_0x22ef86(0xfc))/0x1*(-parseInt(_0x22ef86(0xe0))/0x2)+parseInt(_0x22ef86(0x10c))/0x3+parseInt(_0x22ef86(0x116))/0x4*(-parseInt(_0x22ef86(0x12a))/0x5)+parseInt(_0x22ef86(0x107))/0x6+-parseInt(_0x22ef86(0x123))/0x7*(-parseInt(_0x22ef86(0x133))/0x8)+-parseInt(_0x22ef86(0xe4))/0x9+parseInt(_0x22ef86(0xff))/0xa*(-parseInt(_0x22ef86(0x108))/0xb);if(_0x559088===_0x328079)break;else _0x45ebb4['push'](_0x45ebb4['shift']());}catch(_0x4ae348){_0x45ebb4['push'](_0x45ebb4['shift']());}}}(a0_0xe44b,0xe74e5));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x131d36=a0_0x2341;this[_0x131d36(0x111)]=null,this[_0x131d36(0x11e)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x131d36(0xe2)]=null,this['_strategy']=null,this[_0x131d36(0x12f)]=null,this['_initialized']=![];}['_initConfig'](){const _0x271504=a0_0x2341,_0x468762={'spQdF':_0x271504(0xf1),'IYMtH':function(_0x5d3ff7,_0x4e87ed){return _0x5d3ff7===_0x4e87ed;},'EtVUf':function(_0x190e15,_0x2cccb0,_0x19857b){return _0x190e15(_0x2cccb0,_0x19857b);}};this[_0x271504(0x111)]=_0x468762[_0x271504(0x102)],this['_enabled']=_0x468762['IYMtH'](process[_0x271504(0x12c)]['LOCK_DISTRIBUTED_ENABLED'],_0x271504(0xdf)),this[_0x271504(0xde)]=_0x468762['EtVUf'](parseInt,process[_0x271504(0x12c)][_0x271504(0xdb)],0xa)||0xa,this[_0x271504(0x11d)]=_0x468762['EtVUf'](parseInt,process['env'][_0x271504(0x129)],0xa)||0x3,this[_0x271504(0xe2)]=_0x468762[_0x271504(0xf6)](parseInt,process['env'][_0x271504(0x100)],0xa)||0x64,this['_strategy']=process['env'][_0x271504(0xf3)]||_0x271504(0xee),this[_0x271504(0x12f)]='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':'lock_config_init','enabled':this[_0x271504(0x11e)],'strategy':this[_0x271504(0xdd)],'ttl':this[_0x271504(0xde)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x271504(0x12f)]},_0x271504(0x131)+this['_enabled']+_0x271504(0x120)+this[_0x271504(0xdd)]);}['_ensureInitialized'](){const _0x41f137=a0_0x2341;!this[_0x41f137(0x117)]&&this['_initConfig']();}get[a0_0x5b31f6(0x124)](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x50b8cd=a0_0x5b31f6;return this[_0x50b8cd(0x109)](),this[_0x50b8cd(0x11e)];}get['defaultTTL'](){const _0x436c5b=a0_0x5b31f6;return this[_0x436c5b(0x109)](),this['_defaultTTL'];}get[a0_0x5b31f6(0x114)](){const _0x5793d1=a0_0x5b31f6;return this[_0x5793d1(0x109)](),this['_retryCount'];}get['retryDelay'](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x5b31f6(0x105)](){const _0x16ac4a=a0_0x5b31f6;return this[_0x16ac4a(0x109)](),this[_0x16ac4a(0x12f)];}['buildLockKey'](_0x221f36){const _0x13fcc0=a0_0x5b31f6,{module:_0x15d80f,endpoint:_0x412f27,lockType:_0x37e4db,recordId:_0x14b982}=_0x221f36;if(_0x14b982)return''+this[_0x13fcc0(0x124)]+_0x15d80f+':'+_0x412f27+':'+_0x14b982+':'+_0x37e4db;return''+this['prefix']+_0x15d80f+':'+_0x412f27+':'+_0x37e4db;}['generateLockValue'](){const _0x599e6c=a0_0x5b31f6,_0x8325a0={'TiMyo':function(_0x3aa16d){return _0x3aa16d();}};return this['workerId']+':'+_0x8325a0[_0x599e6c(0x132)](uuidv4)+':'+Date['now']();}async[a0_0x5b31f6(0x106)](_0x3232c1){const _0x204cbf=a0_0x5b31f6,_0x26f984={'qisOP':_0x204cbf(0xe7),'HKHyj':'read','sGmYN':function(_0x325b25,_0x3726b2){return _0x325b25<_0x3726b2;},'fpgrc':'read_lock_acquired','Uvscq':'read_lock_waiting','Xgxae':'read_lock_timeout','LSpFd':'read_lock_error','lFtcb':_0x204cbf(0x11b)};if(!this[_0x204cbf(0x119)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x20dcdc=this[_0x204cbf(0xf8)]({..._0x3232c1,'lockType':_0x26f984['qisOP']}),_0x1b5848=this[_0x204cbf(0xf8)]({..._0x3232c1,'lockType':_0x26f984['HKHyj']}),_0x1883a4=this[_0x204cbf(0x115)]();try{const _0x468f18=redisClient['getClient']();for(let _0x39f827=0x0;_0x26f984[_0x204cbf(0xf2)](_0x39f827,this['retryCount']);_0x39f827++){const _0x5a50d8=await _0x468f18[_0x204cbf(0xe9)](_0x20dcdc);if(!_0x5a50d8){await _0x468f18['incr'](_0x1b5848),await _0x468f18[_0x204cbf(0xf9)](_0x1b5848,this['defaultTTL']);const _0x46fa49=_0x1b5848+':'+_0x1883a4;return await _0x468f18[_0x204cbf(0xed)](_0x46fa49,this[_0x204cbf(0x104)],_0x1883a4),logger[_0x204cbf(0xf7)]({'event':_0x26f984[_0x204cbf(0x103)],'key':_0x1b5848,'value':_0x1883a4},_0x204cbf(0xf4)),{'success':!![],'lockValue':_0x1883a4,'lockKey':_0x46fa49};}logger[_0x204cbf(0xf7)]({'event':_0x26f984['Uvscq'],'writeKey':_0x20dcdc,'attempt':_0x39f827},_0x204cbf(0x12b)),await this[_0x204cbf(0xfb)](this['retryDelay']*Math['pow'](0x2,_0x39f827));}return logger['warn']({'event':_0x26f984[_0x204cbf(0xe3)],'key':_0x1b5848},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x386aea){return logger[_0x204cbf(0x112)]({'event':_0x26f984[_0x204cbf(0x11c)],'error':_0x386aea[_0x204cbf(0x113)]},_0x26f984[_0x204cbf(0xec)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x5b31f6(0x125)](_0x34760f){const _0x381d9c=a0_0x5b31f6,_0x33892d={'BymQw':'write_lock_acquired','FtVBn':_0x381d9c(0xdc),'DamNX':function(_0x22f4b9,_0x20c792){return _0x22f4b9<_0x20c792;},'DxJsD':function(_0x520f85,_0x20f6e2){return _0x520f85===_0x20f6e2;},'HDEDk':function(_0x56f535,_0x51a849){return _0x56f535(_0x51a849);},'NYNNu':function(_0x1203c7,_0xa4a7ab){return _0x1203c7===_0xa4a7ab;},'RiUmS':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','LtSfT':_0x381d9c(0x12e),'lqfVv':'WRITE\x20lock\x20acquire\x20timeout','XDieZ':'WRITE\x20lock\x20error'};if(!this[_0x381d9c(0x119)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5d5453=this[_0x381d9c(0xf8)]({..._0x34760f,'lockType':'write'}),_0x866fc9=this[_0x381d9c(0xf8)]({..._0x34760f,'lockType':_0x381d9c(0x10d)}),_0xf140cd=this[_0x381d9c(0x115)]();try{const _0x18a392=redisClient['getClient']();if(this[_0x381d9c(0xfd)]===_0x381d9c(0x128)){const _0x68dc34=await _0x18a392['set'](_0x5d5453,_0xf140cd,'EX',this[_0x381d9c(0x104)],'NX');if(_0x68dc34==='OK')return logger[_0x381d9c(0xf7)]({'event':_0x33892d['BymQw'],'key':_0x5d5453,'value':_0xf140cd,'strategy':_0x381d9c(0x128)},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0xf140cd,'lockKey':_0x5d5453};return logger['debug']({'event':'write_lock_rejected','key':_0x5d5453},_0x33892d[_0x381d9c(0xfa)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x31d167=0x0;_0x33892d[_0x381d9c(0x121)](_0x31d167,this['retryCount']);_0x31d167++){const [_0x3925ea,_0x20ac61]=await Promise[_0x381d9c(0x101)]([_0x18a392[_0x381d9c(0xe9)](_0x866fc9),_0x18a392[_0x381d9c(0xe9)](_0x5d5453)]);if(!_0x20ac61&&(!_0x3925ea||_0x33892d['DxJsD'](_0x33892d['HDEDk'](parseInt,_0x3925ea),0x0))){const _0x395f45=await _0x18a392['set'](_0x5d5453,_0xf140cd,'EX',this['defaultTTL'],'NX');if(_0x33892d['NYNNu'](_0x395f45,'OK'))return logger[_0x381d9c(0xf7)]({'event':_0x381d9c(0xea),'key':_0x5d5453,'value':_0xf140cd,'strategy':'retry'},_0x33892d[_0x381d9c(0x118)]),{'success':!![],'lockValue':_0xf140cd,'lockKey':_0x5d5453};}logger['debug']({'event':_0x33892d['LtSfT'],'writeKey':_0x5d5453,'readCount':_0x3925ea,'attempt':_0x31d167},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x381d9c(0xfb)](this[_0x381d9c(0xeb)]*Math['pow'](0x2,_0x31d167));}return logger[_0x381d9c(0xe8)]({'event':'write_lock_timeout','key':_0x5d5453},_0x33892d['lqfVv']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3767eb){return logger['error']({'event':_0x381d9c(0x10a),'error':_0x3767eb[_0x381d9c(0x113)]},_0x33892d[_0x381d9c(0x10b)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x5b31f6(0x134)](_0x18eee7,_0x212bbc){const _0x414f96=a0_0x5b31f6,_0x2802a8={'sdBSj':':read:','YWiGE':function(_0x45ce88,_0x3b23f7){return _0x45ce88>_0x3b23f7;},'pevWP':function(_0x29b019,_0x564d54){return _0x29b019(_0x564d54);},'CnkAV':_0x414f96(0x127),'gXccz':_0x414f96(0x11f),'KySAU':_0x414f96(0x130)};if(!this[_0x414f96(0x119)]||!_0x18eee7)return!![];try{const _0x53c5a4=redisClient['getClient']();if(_0x18eee7['includes'](_0x2802a8[_0x414f96(0x10e)])){await _0x53c5a4['del'](_0x18eee7);const _0x3ce40d=_0x18eee7['substring'](0x0,_0x18eee7['lastIndexOf'](':')),_0x4783fa=await _0x53c5a4[_0x414f96(0xe9)](_0x3ce40d);return _0x4783fa&&_0x2802a8['YWiGE'](_0x2802a8['pevWP'](parseInt,_0x4783fa),0x0)&&await _0x53c5a4['decr'](_0x3ce40d),logger[_0x414f96(0xf7)]({'event':_0x414f96(0x126),'key':_0x18eee7},_0x2802a8[_0x414f96(0xe6)]),!![];}const _0x3f124a=_0x414f96(0x10f),_0xe03713=await _0x53c5a4[_0x414f96(0xe5)](_0x3f124a,0x1,_0x18eee7,_0x212bbc);if(_0xe03713===0x1)return logger[_0x414f96(0xf7)]({'event':_0x2802a8['gXccz'],'key':_0x18eee7},_0x2802a8[_0x414f96(0x11a)]),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x18eee7},_0x414f96(0x122)),![];}catch(_0x46df32){return logger[_0x414f96(0x112)]({'event':_0x414f96(0xf0),'key':_0x18eee7,'error':_0x46df32['message']},_0x414f96(0x12d)),![];}}async['extendLock'](_0x2c8bef,_0x1ec7db,_0x54569e=null){const _0x5c2b5b=a0_0x5b31f6,_0x53bfb4={'tEPsz':function(_0x387c20,_0x3d8fc4){return _0x387c20===_0x3d8fc4;},'cTjgH':_0x5c2b5b(0xef),'seSuW':_0x5c2b5b(0xda)};if(!this[_0x5c2b5b(0x119)]||!_0x2c8bef)return!![];try{const _0x43e79b=redisClient[_0x5c2b5b(0xfe)](),_0x2119fa='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x8e04cb=await _0x43e79b['eval'](_0x2119fa,0x1,_0x2c8bef,_0x1ec7db,_0x54569e||this['defaultTTL']);if(_0x53bfb4[_0x5c2b5b(0xf5)](_0x8e04cb,0x1))return logger['debug']({'event':'lock_extended','key':_0x2c8bef,'ttl':_0x54569e||this['defaultTTL']},_0x53bfb4['cTjgH']),!![];return![];}catch(_0x3f798f){return logger['error']({'event':'lock_extend_error','key':_0x2c8bef,'error':_0x3f798f[_0x5c2b5b(0x113)]},_0x53bfb4['seSuW']),![];}}[a0_0x5b31f6(0xe1)](){return this['enabled'];}['sleep'](_0xe294db){return new Promise(_0x6f2180=>setTimeout(_0x6f2180,_0xe294db));}async['getLockInfo'](_0x309e4d){const _0x38cf04=a0_0x5b31f6,_0x2fb31f={'OIsZU':'read','yyYjT':function(_0x50e1a5,_0x1872ab){return _0x50e1a5||_0x1872ab;},'UiSwk':function(_0x4f6848,_0x53ce54){return _0x4f6848(_0x53ce54);}};if(!this[_0x38cf04(0x119)])return{'enabled':![]};try{const _0x3a8ba0=redisClient['getClient'](),_0x4d693f=this[_0x38cf04(0xf8)]({..._0x309e4d,'lockType':_0x38cf04(0xe7)}),_0x427508=this['buildLockKey']({..._0x309e4d,'lockType':_0x2fb31f['OIsZU']}),[_0x5847cc,_0x12cb49]=await Promise['all']([_0x3a8ba0['get'](_0x4d693f),_0x3a8ba0['get'](_0x427508)]);return{'enabled':!![],'writeLock':_0x2fb31f['yyYjT'](_0x5847cc,null),'readCount':_0x2fb31f[_0x38cf04(0x110)](parseInt,_0x12cb49)||0x0,'writeKey':_0x4d693f,'readKey':_0x427508};}catch(_0x4aaed6){return{'enabled':!![],'error':_0x4aaed6[_0x38cf04(0x113)]};}}}function a0_0x2341(_0x272823,_0x1d792c){_0x272823=_0x272823-0xda;const _0xe44b9f=a0_0xe44b();let _0x234165=_0xe44b9f[_0x272823];if(a0_0x2341['nXsOZP']===undefined){var _0x51a4c0=function(_0x1a6fce){const _0x2069af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x333176='',_0x5875e1='';for(let _0x246dbb=0x0,_0x177aff,_0xd7d1e9,_0x10e9b0=0x0;_0xd7d1e9=_0x1a6fce['charAt'](_0x10e9b0++);~_0xd7d1e9&&(_0x177aff=_0x246dbb%0x4?_0x177aff*0x40+_0xd7d1e9:_0xd7d1e9,_0x246dbb++%0x4)?_0x333176+=String['fromCharCode'](0xff&_0x177aff>>(-0x2*_0x246dbb&0x6)):0x0){_0xd7d1e9=_0x2069af['indexOf'](_0xd7d1e9);}for(let _0x28daab=0x0,_0x53707f=_0x333176['length'];_0x28daab<_0x53707f;_0x28daab++){_0x5875e1+='%'+('00'+_0x333176['charCodeAt'](_0x28daab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5875e1);};a0_0x2341['MboTHC']=_0x51a4c0,a0_0x2341['DfvnoW']={},a0_0x2341['nXsOZP']=!![];}const _0xe4b395=_0xe44b9f[0x0],_0xee45f7=_0x272823+_0xe4b395,_0x23e82e=a0_0x2341['DfvnoW'][_0xee45f7];return!_0x23e82e?(_0x234165=a0_0x2341['MboTHC'](_0x234165),a0_0x2341['DfvnoW'][_0xee45f7]=_0x234165):_0x234165=_0x23e82e,_0x234165;}module['exports']=new LockManager();
1
+ function a0_0x5541(){const _0x1d6fea=['D3jPDgvFBg9JA19YzwPLy3rLza','ywnXDwLYzvjLywrmB2nR','x2vUC3vYzuLUAxrPywXPEMvK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','shnjy08','vNLowvC','zw52','Aw5JCG','mZeZmtm0wuL0y3bg','z2v0tg9JA0LUzM8','x3bYzwzPEa','zxjYB3i','mJqXntzxuffNCNu','x3jLDhj5q291BNq','mtyWohnRDfncwq','C3bSAxq','ChjLzML4','x2vUywjSzwq','odyWmJiZzvD0B2Ps','D3jPDgvFBg9JA19Hy3f1AxjLza','rw9XwNG','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','x2LUAxrPywXPEMvK','x3DVCMTLCKLK','zgvMyxvSDfruta','Bg9JA19YzwXLyxnLx2vYCM9Y','tfziwfq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','zw5HyMXLza','z2vUzxjHDgvmB2nRvMfSDwu','x2rLzMf1BhruveW','zxzHBa','uKvbrcbSB2nRigfJCxvPCMvK','otbPBNHTsLu','D2fYBG','CMv0CNK','mJrPuwjyEhy','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','q1DdENq','C2v0','yNvPBgrmB2nRs2v5','quzYrNe','zxH0zw5Ktg9JAW','CMvHza','CMvHzf9SB2nRx3DHAxrPBMC','CMy6Bg9JAZO','D3jPDgu','mJK4mZi3meXbyuLAAW','C2v0zxG','zgvIDwC','nK1TvfzyAa','x3n0CMf0zwD5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','x3jLDhj5rgvSyxK','BKfftgi','u3PQDxG','mtKXndiXwwriEhPi','zerWBNG','uKvbrcbSB2nRihjLBgvHC2vK','z2v0','v1jjveuGBg9JAYbLCNjVCG','mxHzCuPlDG','C2XLzxa','te9ds19esvnuuKLcvvrfrf9srvrswq','D3jPDgvFBg9JA19YzwXLyxnLza','AhvjA3q','mJm3mMjtz2vvwa','x2LUAxrdB25MAwC','BwvZC2fNzq','EKHXDuq','whblvg0','y3HVtvG','ywXS','mtCXm3zQD2Xyvq','CMv0CNLezwXHEq','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','D29YA2vYlq','CgLK','mtGYnZq3nNP3D2z6BW','mZKYBNzKANLV','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','v1jjveuGBg9JAYbYzwXLyxnLza','BM93','DxvPza','CMvHzf9SB2nRx3rPBwvVDxq','A0DVvu4','Aw5MBW','lI9YzwrPCY1JBgLLBNq','D3jPDgvFBg9JA19LCNjVCG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','yuPKALy','zxHWB3j0CW','CMv0CNLdB3vUDa','t2LbwNq','AxnfBMfIBgvK','t09cAgi'];a0_0x5541=function(){return _0x1d6fea;};return a0_0x5541();}const a0_0x521273=a0_0xee61;(function(_0x190b45,_0x447fe7){const _0x56466b=a0_0xee61,_0x13f317=_0x190b45();while(!![]){try{const _0xdaba87=-parseInt(_0x56466b(0x101))/0x1*(-parseInt(_0x56466b(0x12c))/0x2)+-parseInt(_0x56466b(0x10d))/0x3*(parseInt(_0x56466b(0x106))/0x4)+-parseInt(_0x56466b(0xf3))/0x5*(parseInt(_0x56466b(0xf6))/0x6)+parseInt(_0x56466b(0x112))/0x7*(-parseInt(_0x56466b(0xe8))/0x8)+-parseInt(_0x56466b(0xfc))/0x9*(parseInt(_0x56466b(0xe5))/0xa)+parseInt(_0x56466b(0xd0))/0xb*(parseInt(_0x56466b(0xd2))/0xc)+parseInt(_0x56466b(0xd6))/0xd*(parseInt(_0x56466b(0x113))/0xe);if(_0xdaba87===_0x447fe7)break;else _0x13f317['push'](_0x13f317['shift']());}catch(_0x590e4d){_0x13f317['push'](_0x13f317['shift']());}}}(a0_0x5541,0x60209));const redisClient=require(a0_0x521273(0x11b)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x521273(0x117));class LockManager{constructor(){const _0x32123e=a0_0x521273;this[_0x32123e(0xce)]=null,this[_0x32123e(0xd5)]=null,this[_0x32123e(0xe2)]=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x32123e(0xf7)]=null,this[_0x32123e(0xdb)]=null,this[_0x32123e(0xda)]=![];}['_initConfig'](){const _0x20334e=a0_0x521273,_0x4bb528={'CLUdJ':'7|1|0|8|2|5|6|4|3','zHquD':function(_0x2d61e7,_0x2c165d,_0x1443aa){return _0x2d61e7(_0x2c165d,_0x1443aa);},'OiAZt':function(_0x492179,_0x1c895f){return _0x492179===_0x1c895f;},'AFrFq':'true','VyNYW':function(_0x362c8a,_0xa25bad,_0x4491d0){return _0x362c8a(_0xa25bad,_0x4491d0);},'XEEoI':'lock_config_init'},_0x4b5688=_0x4bb528['CLUdJ'][_0x20334e(0xd3)]('|');let _0x1f929d=0x0;while(!![]){switch(_0x4b5688[_0x1f929d++]){case'0':this['_defaultTTL']=_0x4bb528[_0x20334e(0x109)](parseInt,process[_0x20334e(0x12a)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'1':this['_enabled']=_0x4bb528[_0x20334e(0x121)](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x4bb528[_0x20334e(0xed)]);continue;case'2':this[_0x20334e(0xf9)]=_0x4bb528[_0x20334e(0x129)](parseInt,process['env'][_0x20334e(0x114)],0xa)||0x64;continue;case'3':logger[_0x20334e(0x11a)]({'event':_0x4bb528['XEEoI'],'enabled':this[_0x20334e(0xd5)],'strategy':this[_0x20334e(0xf7)],'ttl':this[_0x20334e(0xe2)],'retryCount':this[_0x20334e(0xd1)],'retryDelay':this[_0x20334e(0xf9)],'workerId':this['_workerId']},_0x20334e(0xd9)+this[_0x20334e(0xd5)]+',\x20strategy:\x20'+this['_strategy']);continue;case'4':this['_initialized']=!![];continue;case'5':this['_strategy']=process['env'][_0x20334e(0xdf)]||_0x20334e(0xe7);continue;case'6':this[_0x20334e(0xdb)]=_0x20334e(0x110)+process[_0x20334e(0x111)];continue;case'7':this[_0x20334e(0xce)]=_0x20334e(0xf1);continue;case'8':this['_retryCount']=parseInt(process[_0x20334e(0x12a)][_0x20334e(0x103)],0xa)||0x3;continue;}break;}}[a0_0x521273(0x126)](){const _0x5bc72e=a0_0x521273;!this['_initialized']&&this[_0x5bc72e(0x107)]();}get[a0_0x521273(0xd4)](){const _0x46de40=a0_0x521273;return this['_ensureInitialized'](),this[_0x46de40(0xce)];}get['enabled'](){const _0x4d529f=a0_0x521273;return this[_0x4d529f(0x126)](),this['_enabled'];}get['defaultTTL'](){const _0x5f3c2e=a0_0x521273;return this['_ensureInitialized'](),this[_0x5f3c2e(0xe2)];}get['retryCount'](){const _0x90a07c=a0_0x521273;return this[_0x90a07c(0x126)](),this[_0x90a07c(0xd1)];}get[a0_0x521273(0x10e)](){const _0x2a19b2=a0_0x521273;return this[_0x2a19b2(0x126)](),this[_0x2a19b2(0xf9)];}get['strategy'](){const _0x426107=a0_0x521273;return this[_0x426107(0x126)](),this[_0x426107(0xf7)];}get['workerId'](){const _0x1fe864=a0_0x521273;return this['_ensureInitialized'](),this[_0x1fe864(0xdb)];}[a0_0x521273(0xec)](_0xafbc33){const _0x32acbd=a0_0x521273,{module:_0x31b827,endpoint:_0xc8c314,lockType:_0x49b708,recordId:_0x12a0fd}=_0xafbc33;if(_0x12a0fd)return''+this['prefix']+_0x31b827+':'+_0xc8c314+':'+_0x12a0fd+':'+_0x49b708;return''+this[_0x32acbd(0xd4)]+_0x31b827+':'+_0xc8c314+':'+_0x49b708;}[a0_0x521273(0xe1)](){const _0x3ad632=a0_0x521273;return this['workerId']+':'+uuidv4()+':'+Date[_0x3ad632(0x116)]();}async[a0_0x521273(0x125)](_0x281f24){const _0x21283e=a0_0x521273,_0x24622e={'OOBhb':'write','dDpnx':function(_0x146449,_0x3d3339){return _0x146449<_0x3d3339;},'iXVOn':_0x21283e(0xe4),'cxoMX':_0x21283e(0xf0),'HMeuK':function(_0x3da3be,_0x4c1702){return _0x3da3be*_0x4c1702;}};if(!this[_0x21283e(0xe0)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x571aa0=this['buildLockKey']({..._0x281f24,'lockType':_0x24622e[_0x21283e(0x123)]}),_0x41181e=this['buildLockKey']({..._0x281f24,'lockType':'read'}),_0x144d2e=this[_0x21283e(0xe1)]();try{const _0x3ef78e=redisClient['getClient']();for(let _0xdedcf9=0x0;_0x24622e[_0x21283e(0xfd)](_0xdedcf9,this[_0x21283e(0x120)]);_0xdedcf9++){const _0x3b766b=await _0x3ef78e['get'](_0x571aa0);if(!_0x3b766b){await _0x3ef78e[_0x21283e(0x12b)](_0x41181e),await _0x3ef78e['expire'](_0x41181e,this['defaultTTL']);const _0x3f195e=_0x41181e+':'+_0x144d2e;return await _0x3ef78e[_0x21283e(0xf4)](_0x3f195e,this['defaultTTL'],_0x144d2e),logger['debug']({'event':'read_lock_acquired','key':_0x41181e,'value':_0x144d2e},_0x24622e['iXVOn']),{'success':!![],'lockValue':_0x144d2e,'lockKey':_0x3f195e};}logger[_0x21283e(0xf5)]({'event':_0x24622e[_0x21283e(0x10b)],'writeKey':_0x571aa0,'attempt':_0xdedcf9},_0x21283e(0x10f)),await this[_0x21283e(0x102)](_0x24622e['HMeuK'](this['retryDelay'],Math['pow'](0x2,_0xdedcf9)));}return logger[_0x21283e(0xe6)]({'event':_0x21283e(0x118),'key':_0x41181e},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x15558f){return logger['error']({'event':'read_lock_error','error':_0x15558f[_0x21283e(0x108)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x521beb){const _0x3f4fe4=a0_0x521273,_0x2eb811={'CWCzt':function(_0x4fe4fe,_0x1d663a){return _0x4fe4fe===_0x1d663a;},'XpKTm':'reject','aJdjV':'write_lock_acquired','dKavY':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','lbnEG':function(_0x5e74a8,_0x39b528){return _0x5e74a8<_0x39b528;},'NAGFA':function(_0x38c132,_0x58279c){return _0x38c132===_0x58279c;},'JUoGA':'write_lock_waiting','kGoUN':_0x3f4fe4(0xe9),'fLxmh':_0x3f4fe4(0x11c),'eeHmX':_0x3f4fe4(0x100)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x447fd0=this[_0x3f4fe4(0xec)]({..._0x521beb,'lockType':_0x3f4fe4(0xf2)}),_0x1433ac=this[_0x3f4fe4(0xec)]({..._0x521beb,'lockType':'read'}),_0x475b36=this[_0x3f4fe4(0xe1)]();try{const _0xde0054=redisClient['getClient']();if(_0x2eb811[_0x3f4fe4(0xea)](this['strategy'],_0x2eb811['XpKTm'])){const _0x1b884c=await _0xde0054[_0x3f4fe4(0xeb)](_0x447fd0,_0x475b36,'EX',this[_0x3f4fe4(0xdc)],'NX');if(_0x2eb811[_0x3f4fe4(0xea)](_0x1b884c,'OK'))return logger['debug']({'event':_0x2eb811[_0x3f4fe4(0x11e)],'key':_0x447fd0,'value':_0x475b36,'strategy':_0x2eb811[_0x3f4fe4(0x10a)]},_0x2eb811['dKavY']),{'success':!![],'lockValue':_0x475b36,'lockKey':_0x447fd0};return logger[_0x3f4fe4(0xf5)]({'event':_0x3f4fe4(0x124),'key':_0x447fd0},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x833c70=0x0;_0x2eb811['lbnEG'](_0x833c70,this['retryCount']);_0x833c70++){const [_0x9728e,_0x32e4e7]=await Promise['all']([_0xde0054[_0x3f4fe4(0xff)](_0x1433ac),_0xde0054['get'](_0x447fd0)]);if(!_0x32e4e7&&(!_0x9728e||_0x2eb811['NAGFA'](parseInt(_0x9728e),0x0))){const _0x198d18=await _0xde0054[_0x3f4fe4(0xeb)](_0x447fd0,_0x475b36,'EX',this[_0x3f4fe4(0xdc)],'NX');if(_0x198d18==='OK')return logger['debug']({'event':_0x3f4fe4(0xd7),'key':_0x447fd0,'value':_0x475b36,'strategy':_0x3f4fe4(0xe7)},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0x475b36,'lockKey':_0x447fd0};}logger['debug']({'event':_0x2eb811['JUoGA'],'writeKey':_0x447fd0,'readCount':_0x9728e,'attempt':_0x833c70},_0x3f4fe4(0x11d)),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x833c70));}return logger['warn']({'event':'write_lock_timeout','key':_0x447fd0},_0x2eb811[_0x3f4fe4(0x119)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2049ec){return logger['error']({'event':_0x2eb811['fLxmh'],'error':_0x2049ec[_0x3f4fe4(0x108)]},_0x2eb811['eeHmX']),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x1d7b35,_0x4b5c63){const _0x535817=a0_0x521273,_0x1c1efb={'EoqZx':function(_0x584fbf,_0x4ebbcb){return _0x584fbf>_0x4ebbcb;},'KLOFQ':'read_lock_released','nAELb':_0x535817(0xfe),'LVHXT':_0x535817(0x104),'HsIcO':_0x535817(0x115),'OgpQN':_0x535817(0xf8),'huIkt':_0x535817(0xdd)};if(!this[_0x535817(0xe0)]||!_0x1d7b35)return!![];try{const _0x500820=redisClient['getClient']();if(_0x1d7b35['includes'](':read:')){await _0x500820['del'](_0x1d7b35);const _0x310c46=_0x1d7b35['substring'](0x0,_0x1d7b35['lastIndexOf'](':')),_0x5f2601=await _0x500820[_0x535817(0xff)](_0x310c46);return _0x5f2601&&_0x1c1efb[_0x535817(0xd8)](parseInt(_0x5f2601),0x0)&&await _0x500820['decr'](_0x310c46),logger[_0x535817(0xf5)]({'event':_0x1c1efb['KLOFQ'],'key':_0x1d7b35},_0x1c1efb[_0x535817(0xfa)]),!![];}const _0x5e9954=_0x535817(0x127),_0x40e78c=await _0x500820[_0x535817(0xe3)](_0x5e9954,0x1,_0x1d7b35,_0x4b5c63);if(_0x40e78c===0x1)return logger['debug']({'event':_0x1c1efb[_0x535817(0xde)],'key':_0x1d7b35},_0x1c1efb[_0x535817(0x128)]),!![];return logger['warn']({'event':_0x1c1efb['OgpQN'],'key':_0x1d7b35},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xab586c){return logger[_0x535817(0xcf)]({'event':_0x1c1efb[_0x535817(0x105)],'key':_0x1d7b35,'error':_0xab586c[_0x535817(0x108)]},'Lock\x20release\x20error'),![];}}async[a0_0x521273(0xee)](_0xb3e73a,_0x34c58a,_0x3d122b=null){const _0x2a3a85=a0_0x521273,_0x24969f={'Bybnh':function(_0x21c0d0,_0x5785f4){return _0x21c0d0===_0x5785f4;},'Szjux':'lock_extended','yrIYI':'Lock\x20TTL\x20extended','QSGhQ':'Lock\x20extend\x20error'};if(!this[_0x2a3a85(0xe0)]||!_0xb3e73a)return!![];try{const _0x1876be=redisClient['getClient'](),_0x3a08e7='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x297bf5=await _0x1876be['eval'](_0x3a08e7,0x1,_0xb3e73a,_0x34c58a,_0x3d122b||this['defaultTTL']);if(_0x24969f['Bybnh'](_0x297bf5,0x1))return logger[_0x2a3a85(0xf5)]({'event':_0x24969f[_0x2a3a85(0xfb)],'key':_0xb3e73a,'ttl':_0x3d122b||this['defaultTTL']},_0x24969f['yrIYI']),!![];return![];}catch(_0xc43220){return logger[_0x2a3a85(0xcf)]({'event':'lock_extend_error','key':_0xb3e73a,'error':_0xc43220['message']},_0x24969f['QSGhQ']),![];}}[a0_0x521273(0x122)](){return this['enabled'];}['sleep'](_0x42294c){return new Promise(_0x10f369=>setTimeout(_0x10f369,_0x42294c));}async[a0_0x521273(0xcd)](_0x9a6c7f){const _0x37033b=a0_0x521273,_0x2fdf18={'ykkIm':function(_0x5856d3,_0x55589b){return _0x5856d3(_0x55589b);}};if(!this[_0x37033b(0xe0)])return{'enabled':![]};try{const _0x4ab77d=redisClient['getClient'](),_0x33449d=this['buildLockKey']({..._0x9a6c7f,'lockType':'write'}),_0x74b2e5=this[_0x37033b(0xec)]({..._0x9a6c7f,'lockType':_0x37033b(0xef)}),[_0x2eda06,_0x5d56d6]=await Promise[_0x37033b(0x10c)]([_0x4ab77d['get'](_0x33449d),_0x4ab77d[_0x37033b(0xff)](_0x74b2e5)]);return{'enabled':!![],'writeLock':_0x2eda06||null,'readCount':_0x2fdf18['ykkIm'](parseInt,_0x5d56d6)||0x0,'writeKey':_0x33449d,'readKey':_0x74b2e5};}catch(_0xffe2a4){return{'enabled':!![],'error':_0xffe2a4['message']};}}}function a0_0xee61(_0x4758ad,_0x3115c9){_0x4758ad=_0x4758ad-0xcd;const _0x55417e=a0_0x5541();let _0xee61a8=_0x55417e[_0x4758ad];if(a0_0xee61['zBORdX']===undefined){var _0x506bd3=function(_0x2d1aa7){const _0x531304='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c0cf2='',_0x3fae45='';for(let _0x1367be=0x0,_0x1567b6,_0x2c6324,_0x50321c=0x0;_0x2c6324=_0x2d1aa7['charAt'](_0x50321c++);~_0x2c6324&&(_0x1567b6=_0x1367be%0x4?_0x1567b6*0x40+_0x2c6324:_0x2c6324,_0x1367be++%0x4)?_0x3c0cf2+=String['fromCharCode'](0xff&_0x1567b6>>(-0x2*_0x1367be&0x6)):0x0){_0x2c6324=_0x531304['indexOf'](_0x2c6324);}for(let _0x1b8931=0x0,_0x4549fa=_0x3c0cf2['length'];_0x1b8931<_0x4549fa;_0x1b8931++){_0x3fae45+='%'+('00'+_0x3c0cf2['charCodeAt'](_0x1b8931)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fae45);};a0_0xee61['BdgwzD']=_0x506bd3,a0_0xee61['IqDADQ']={},a0_0xee61['zBORdX']=!![];}const _0x7be05b=_0x55417e[0x0],_0x5678db=_0x4758ad+_0x7be05b,_0x3055=a0_0xee61['IqDADQ'][_0x5678db];return!_0x3055?(_0xee61a8=a0_0xee61['BdgwzD'](_0xee61a8),a0_0xee61['IqDADQ'][_0x5678db]=_0xee61a8):_0xee61a8=_0x3055,_0xee61a8;}module[a0_0x521273(0x11f)]=new LockManager();
@@ -1 +1 @@
1
- const a0_0x2fb9cc=a0_0x23ee;(function(_0x2f2f76,_0x413609){const _0x21d579=a0_0x23ee,_0x4ea338=_0x2f2f76();while(!![]){try{const _0x10378e=parseInt(_0x21d579(0x11d))/0x1*(-parseInt(_0x21d579(0xdd))/0x2)+parseInt(_0x21d579(0xc7))/0x3*(parseInt(_0x21d579(0xe7))/0x4)+parseInt(_0x21d579(0xf8))/0x5+-parseInt(_0x21d579(0x143))/0x6*(-parseInt(_0x21d579(0xf4))/0x7)+-parseInt(_0x21d579(0x175))/0x8+parseInt(_0x21d579(0x124))/0x9*(-parseInt(_0x21d579(0xdf))/0xa)+parseInt(_0x21d579(0x173))/0xb;if(_0x10378e===_0x413609)break;else _0x4ea338['push'](_0x4ea338['shift']());}catch(_0x197410){_0x4ea338['push'](_0x4ea338['shift']());}}}(a0_0x2e48,0x3c11c));const pino=require(a0_0x2fb9cc(0xfd)),fs=require('fs'),path=require(a0_0x2fb9cc(0xee));function a0_0x23ee(_0x2ed2f2,_0x2b1350){_0x2ed2f2=_0x2ed2f2-0xc4;const _0x2e4824=a0_0x2e48();let _0x23ee5e=_0x2e4824[_0x2ed2f2];if(a0_0x23ee['NhhkHA']===undefined){var _0x2c4b4a=function(_0x588202){const _0x529415='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fc7c7='',_0x5613fe='';for(let _0x1e16c3=0x0,_0x3b9b9d,_0x82dcd,_0x370947=0x0;_0x82dcd=_0x588202['charAt'](_0x370947++);~_0x82dcd&&(_0x3b9b9d=_0x1e16c3%0x4?_0x3b9b9d*0x40+_0x82dcd:_0x82dcd,_0x1e16c3++%0x4)?_0x3fc7c7+=String['fromCharCode'](0xff&_0x3b9b9d>>(-0x2*_0x1e16c3&0x6)):0x0){_0x82dcd=_0x529415['indexOf'](_0x82dcd);}for(let _0x164b8e=0x0,_0x163a59=_0x3fc7c7['length'];_0x164b8e<_0x163a59;_0x164b8e++){_0x5613fe+='%'+('00'+_0x3fc7c7['charCodeAt'](_0x164b8e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5613fe);};a0_0x23ee['NVsJsf']=_0x2c4b4a,a0_0x23ee['ZQqWZX']={},a0_0x23ee['NhhkHA']=!![];}const _0xa13bc3=_0x2e4824[0x0],_0x429708=_0x2ed2f2+_0xa13bc3,_0x90b8c4=a0_0x23ee['ZQqWZX'][_0x429708];return!_0x90b8c4?(_0x23ee5e=a0_0x23ee['NVsJsf'](_0x23ee5e),a0_0x23ee['ZQqWZX'][_0x429708]=_0x23ee5e):_0x23ee5e=_0x90b8c4,_0x23ee5e;}function a0_0x2e48(){const _0x398a00=['C3rHDhvZq29Kzq','iokvKqRILzeGiefqssblzxKGicaGidOG','vffOELi','zw52','y29Kzq','DxHVrwm','sLDux1nfq1jfva','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3jLzgvUDgLHBa','CMvZB2X2zq','y3z2','v251zhi','C3vIC3rYAw5N','te9hx1rpx0zjteu','yNDqBKq','u1fmx0Xpr19mrvzfta','reiGuxvLCNK','te9hx0XfvKvm','CgLU','ugDuv3q','qunusvzf','zLD3B0K','zgjFCxvLCNK','icbizwfSDgG6ia','y29UzMLNrMLSzq','EKrKD1G','u0vmrunu','B3jPz2LUywXvCMW','nLfXz2HYAG','AxnVvgLTzq','yxv0Ag9YAxPHDgLVBG','q1jjveLdquW','y0TKBNi','yMfZzvvYBa','yLjTuKW','AxnbCNjHEq','rwfxqLm','sg5VvLO','u0vsvKLdrv9oqu1f','wwz0CvC','CM93C0fMzMvJDgvK','vfjbtLnbq1rjt05Fq09ntuLu','iokvKqRILzeGienVBMzPzYaGicaGidOG','BwvZC2fNzq','y29UBMvJDgLVBG','BK5JBhy','wxf2wKG','Dg9mB3DLCKnHC2u','zw52AxjVBM1LBNq','C29Tzq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','wNHtq1e','u1rbuLqGvfjbtLnbq1rjt04','DvP0wfy','B3rW','yxbPx2TLEq','v2jjy1e','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zxjY','CxnsChO','zxjYB3i','CMvZDgzVCMDL','tuLny28','qKvhsu4','BwfW','zMfSC2u','zxjYB3iUBg9N','zgf0ywjHC2u','w1jfrefdvevexq','Dg9ju09tDhjPBMC','Ec1Yzxf1zxn0lwLK','BhrivMK','rermx0rst1a','ChjPDMf0zv9RzxK','CMvMCMvZAf90B2TLBG','DLniAxG','ntKYmZq2n05svgDfwq','u1LtoKHioK1noNnZ','mZa2mJu2AgjZyvf1','qvf4zgm','Aw5JBhvKzxm','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','wgrAD1u','DhLWzq','zMf0ywW','icdIHPiG','vNvZAwK','C3rHCNrZv2L0Aa','C3rHy2S','Cg9YDa','vKvsq0O','odfiB1v1svu','Bwf0y2G','uuPLDMG','C3fSx3f1zxj5','sMLJyKG','ms4WlJu','tKDitw4','Dffozem','z3v5D3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tK9uiefdveLwrq','DhjPBq','Bhbkv2y','zxHWB3j0CW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','y3DK','ig9UihbVCNqG','Aw5MBW','w1jfrefdveveoMHHC2HD','r2r3qLm','AxntBg93','ugzyz1K','mM9NwNHzAa','wKjfu3K','mZbkB1jkqvG','C2vYDMvYx3jLywr5','r2z6y2C','C2vJCMv0','yMnmsLa','DgvZDa','Ahj0Aw1L','te9hx0rjuG','ndKXodHgBuvJqLO','z2v0sgvHzgvYCW','BwTKAxjtEw5J','rgvMyxvSDa','C2vYDMLJzuLUzM8','Dxb0Aw1L','vunUqxO','Cgf0Aa','Dg9vChbLCKnHC2u','vfjbtLnbq1rjt05FuK9mtejbq0S','AM9PBG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','mta3nJm5t3rUuxrq','ChjPDMf0zwTLEq','rxjYB3i','uK9mtejbq0S','mJa3odu1txfSt2vu','Bwv0Ag9K','CgfZC3DVCMq','AhHTr0e','AgvHBhrOq2HLy2S','CgLUBW','CgfKrw5K','zhzoyKq','u1reruW','Ag9ZDa','v1DmCxK','uhjVy2vZCYbxyxjUAw5NoIa','yxbPs2v5','BfjUz0O','ywnJzxnZx3rVA2vU','quXurvi','DxnLCI1Hz2vUDa','ic0G','u1fJyM0','z21cu2y','zgvIDwC','revmrvrf','CMvWzwf0','ChjVy2vZC193yxjUAw5N','zgjFDhjHBNnHy3rPB24','BMfTzq','yxbWlMXVzW','C2vYDMvYx3n0yxj0Aw5N','yM9KEq','CMvWBgfJzq','tI9b','icbjBMzVoIaGia','u2vYDMvYihn0yxj0Aw5NoIa','D3jPDgu','B2jQzwn0','r3bAq20','swn6qu8','mZK1ndyXzM5vqurz','z3bAyw8','y3jLyxrLv3jPDgvtDhjLyw0','y2HPBgq','D2fYBG','zw5KCg9PBNrFCMvNAxn0zxjLza','zLbvse8','nZqZmdmXs2PQAujY','yxbPA2v5','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia'];a0_0x2e48=function(){return _0x398a00;};return a0_0x2e48();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2fb9cc(0x174),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x2fb9cc(0xd5),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process['env'][a0_0x2fb9cc(0x138)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x2fb9cc(0x164),'version':process['env']['APP_VERSION']||a0_0x2fb9cc(0xcc),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x2fb9cc(0x144)],'redact':{'paths':[a0_0x2fb9cc(0x159),a0_0x2fb9cc(0x178),a0_0x2fb9cc(0xfa),'token',a0_0x2fb9cc(0x104),'DB_PASSWORD',a0_0x2fb9cc(0x12d)],'censor':a0_0x2fb9cc(0x16b)},'serializers':{'req':_0x338611=>({'id':_0x338611['id'],'method':_0x338611['method'],'url':_0x338611['url'],'path':_0x338611[a0_0x2fb9cc(0xee)],'remoteAddress':_0x338611['ip']||_0x338611[a0_0x2fb9cc(0x153)]?.['remoteAddress']}),'res':_0x545b63=>({'statusCode':_0x545b63[a0_0x2fb9cc(0x127)],'headers':_0x545b63[a0_0x2fb9cc(0xe8)]?.()}),'err':pino['stdSerializers'][a0_0x2fb9cc(0x161)]}});function initFileLogging(){const _0x2a81fb=a0_0x2fb9cc,_0x513d42={'ixCNz':'true','zDdwX':'default','mhFDf':_0x2a81fb(0x10c),'PgTWt':_0x2a81fb(0x168),'fKrun':_0x2a81fb(0x112),'GpZCm':_0x2a81fb(0x169),'IczAO':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x2a81fb(0x12a)][_0x2a81fb(0x134)]===_0x513d42['ixCNz'];const _0x2ccd52=process['env'][_0x2a81fb(0xd0)]||_0x513d42[_0x2a81fb(0x140)];logDir=process[_0x2a81fb(0x12a)][_0x2a81fb(0xe6)]||'./logs/'+_0x2ccd52,serviceName=process[_0x2a81fb(0x12a)][_0x2a81fb(0x14d)]||'restforge',sqlLogEnabled=process[_0x2a81fb(0x12a)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process[_0x2a81fb(0x12a)][_0x2a81fb(0x136)]||_0x513d42['mhFDf'],sqlLogParams=process[_0x2a81fb(0x12a)]['SQL_LOG_PARAMS']!==_0x513d42[_0x2a81fb(0x13a)],sqlLogSlowThreshold=parseInt(process[_0x2a81fb(0x12a)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x17e3e0=path[_0x2a81fb(0x130)](process[_0x2a81fb(0xd6)](),logDir);try{!fs['existsSync'](_0x17e3e0)&&fs[_0x2a81fb(0xe9)](_0x17e3e0,{'recursive':!![]});}catch(_0x40ffd2){console[_0x2a81fb(0x163)](_0x2a81fb(0x126)+_0x17e3e0+':',_0x40ffd2[_0x2a81fb(0x152)]),fileLoggingInitialized=!![];return;}const _0x1a1735=path[_0x2a81fb(0xf1)](_0x17e3e0,_0x513d42['fKrun']),_0x2b2557=path['join'](_0x17e3e0,_0x513d42[_0x2a81fb(0x11b)]);try{appLogStream=fs[_0x2a81fb(0x11f)](_0x1a1735,{'flags':'a'}),errorLogStream=fs[_0x2a81fb(0x11f)](_0x2b2557,{'flags':'a'}),fileLoggingInitialized=!![];const _0x50a186={'event':'file_logging_enabled','logDir':_0x17e3e0,'files':['app.log','error.log']},_0x2b536d=_0x2a81fb(0xf3)+_0x17e3e0;logger['info'](_0x50a186,_0x2b536d),writeToFileLog({..._0x50a186,'level':_0x513d42[_0x2a81fb(0x11c)],'msg':_0x2b536d,'time':new Date()[_0x2a81fb(0x16c)]()},'info');}catch(_0x1f216a){console[_0x2a81fb(0x163)]('Failed\x20to\x20create\x20log\x20streams:',_0x1f216a[_0x2a81fb(0x152)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x36edf1,_0x405e37){const _0x2f9bbc=a0_0x2fb9cc,_0x354be6={'oVTAH':function(_0x3089fe,_0x4eb241){return _0x3089fe===_0x4eb241;}};if(!logToFile||!appLogStream)return;const _0x16005f={'service':serviceName,..._0x36edf1},_0x58c5ba=JSON['stringify'](_0x16005f)+'\x0a';appLogStream[_0x2f9bbc(0x119)](_0x58c5ba),(_0x354be6['oVTAH'](_0x405e37,_0x2f9bbc(0x163))||_0x354be6['oVTAH'](_0x405e37,'fatal'))&&(errorLogStream&&errorLogStream['write'](_0x58c5ba));}const createRequestLogger=(_0x1627d1={})=>{const _0x2c06f7=a0_0x2fb9cc;return logger[_0x2c06f7(0x120)](_0x1627d1);},logServerStart=_0x533613=>{const _0x4da7c0=a0_0x2fb9cc,_0x4c94c1={'SEMbx':_0x4da7c0(0x160),'ZBESy':function(_0x29290e,_0x11c226){return _0x29290e-_0x11c226;},'zPcZh':'Node.js','GBsju':_0x4da7c0(0x116),'NLZwU':function(_0x101d39,_0x11dbfc){return _0x101d39(_0x11dbfc);},'VERCJ':_0x4da7c0(0xea),'KTPZr':_0x4da7c0(0x113),'BXMNq':function(_0x3819e9,_0x490659,_0x4f47f5){return _0x3819e9(_0x490659,_0x4f47f5);},'hgEJz':'info'},_0x20fe3c=_0x4c94c1['SEMbx'],_0x57ad0a=Math['max'](0x0,0x37-_0x20fe3c['length']),_0x47fe69=Math['floor'](_0x57ad0a/0x2),_0x16dfcd=_0x4c94c1[_0x4da7c0(0xde)](_0x57ad0a,_0x47fe69),_0x221183='║'+'\x20'[_0x4da7c0(0x10e)](_0x47fe69)+_0x20fe3c+'\x20'[_0x4da7c0(0x10e)](_0x16dfcd)+'║',_0x579f86='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x221183+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x533613[_0x4da7c0(0x157)]||_0x4c94c1['zPcZh'])['padEnd'](0x26)+_0x4da7c0(0xf2)+(_0x533613['project']||_0x4c94c1['GBsju'])[_0x4da7c0(0xfe)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4c94c1['NLZwU'](String,_0x533613[_0x4da7c0(0xc5)]||0xbb8)['padEnd'](0x26)+_0x4da7c0(0x151)+(_0x533613['configFile']||_0x4c94c1[_0x4da7c0(0xc6)])['padEnd'](0x26)+_0x4da7c0(0x128)+(_0x533613[_0x4da7c0(0x104)]?_0x4da7c0(0x13b):_0x4da7c0(0xd1))[_0x4da7c0(0xfe)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x579f86);const _0x597c28={'event':_0x4c94c1['KTPZr'],'project':_0x533613['project'],'port':_0x533613['port'],'config':_0x533613[_0x4da7c0(0x13f)],'apiKeyEnabled':!!_0x533613[_0x4da7c0(0x104)]};logger['info'](_0x597c28),_0x4c94c1['BXMNq'](writeToFileLog,{..._0x597c28,'level':_0x4c94c1['hgEJz'],'msg':_0x4da7c0(0x118)+_0x533613['project']+_0x4da7c0(0xd7)+_0x533613[_0x4da7c0(0xc5)],'time':new Date()[_0x4da7c0(0x16c)]()},_0x4da7c0(0xd8));},logServerReady=_0x2a706c=>{const _0x53b7a1=a0_0x2fb9cc,_0x31426d={'hxmGA':_0x53b7a1(0xe0),'guywr':'info'},_0x44f1d2={'event':_0x31426d[_0x53b7a1(0xfb)],'port':_0x2a706c['port'],'module':_0x2a706c['module'],'healthCheck':_0x2a706c[_0x53b7a1(0xfc)],'serviceInfo':_0x2a706c[_0x53b7a1(0xeb)],'baseUrl':_0x2a706c[_0x53b7a1(0x148)]},_0x2cb9b8='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2a706c[_0x53b7a1(0xc5)];logger['info'](_0x44f1d2,_0x2cb9b8),writeToFileLog({..._0x44f1d2,'level':_0x31426d['guywr'],'msg':_0x2cb9b8,'time':new Date()['toISOString']()},_0x31426d[_0x53b7a1(0xcf)]),_0x2a706c['healthCheck']&&logger['info'](_0x53b7a1(0x13e)+_0x2a706c[_0x53b7a1(0xfc)]),_0x2a706c['serviceInfo']&&logger[_0x53b7a1(0xd8)](_0x53b7a1(0x117)+_0x2a706c[_0x53b7a1(0xeb)]),_0x2a706c[_0x53b7a1(0x148)]&&logger[_0x53b7a1(0xd8)]('\x20\x20URL:\x20\x20\x20\x20'+_0x2a706c[_0x53b7a1(0x148)]);},logProjectLoaded=(_0x53f753,_0x86c697)=>{const _0x1ec7cb=a0_0x2fb9cc,_0x584c2d={'YqvZH':'project_loaded'},_0x2f47eb={'event':_0x584c2d[_0x1ec7cb(0x155)],'project':_0x53f753,'path':_0x86c697},_0xfe7487='[OK]\x20Project\x20loaded:\x20'+_0x53f753;logger[_0x1ec7cb(0xd8)](_0x2f47eb,_0xfe7487),writeToFileLog({..._0x2f47eb,'level':_0x1ec7cb(0xd8),'msg':_0xfe7487,'time':new Date()[_0x1ec7cb(0x16c)]()},'info');},logEndpointRegistered=(_0x45bca7,_0x12358b)=>{const _0x59ab79=a0_0x2fb9cc,_0x281a26={'gpZao':'debug'},_0x14e484={'event':_0x59ab79(0x122),'endpoint':_0x45bca7,'route':_0x12358b},_0x446446=_0x59ab79(0x17c)+_0x45bca7+':\x20'+_0x12358b;logger[_0x59ab79(0x10c)](_0x14e484,_0x446446),writeToFileLog({..._0x14e484,'level':_0x281a26[_0x59ab79(0x11e)],'msg':_0x446446,'time':new Date()[_0x59ab79(0x16c)]()},_0x281a26[_0x59ab79(0x11e)]);},logDatabaseConfig=_0x1b59d0=>{const _0x328c84=a0_0x2fb9cc,_0x3f84fa={'AQxdc':'database_config','bKaCm':function(_0x17d614,_0x5c5ca0,_0x4fe229){return _0x17d614(_0x5c5ca0,_0x4fe229);},'bwPnD':_0x328c84(0x10c)},_0x1aaa67={'event':_0x3f84fa[_0x328c84(0x176)],'host':_0x1b59d0[_0x328c84(0x101)],'port':_0x1b59d0['port'],'database':_0x1b59d0[_0x328c84(0x16a)],'type':_0x1b59d0[_0x328c84(0x17a)],'user':_0x1b59d0['user']},_0x1c307e='Database:\x20'+_0x1b59d0['type']+'://'+_0x1b59d0[_0x328c84(0x101)]+':'+_0x1b59d0['port']+'/'+_0x1b59d0[_0x328c84(0x16a)];logger[_0x328c84(0x10c)](_0x1aaa67,_0x1c307e),_0x3f84fa['bKaCm'](writeToFileLog,{..._0x1aaa67,'level':_0x3f84fa[_0x328c84(0x135)],'msg':_0x1c307e,'time':new Date()['toISOString']()},_0x328c84(0x10c));},logRequest=(_0x103d9d,_0x292ec2,_0x526803)=>{const _0x105006=a0_0x2fb9cc,_0x3bb029={'uxoEc':_0x105006(0xd8),'HnoVZ':function(_0x538e1c,_0x5769d8){return _0x538e1c>=_0x5769d8;},'rLIBW':_0x105006(0x121)},_0xa8780f={'event':'http_request','method':_0x103d9d[_0x105006(0xf9)],'path':_0x103d9d[_0x105006(0xee)],'statusCode':_0x292ec2['statusCode'],'durationMs':_0x526803,'ip':_0x103d9d['ip']},_0x13c971=_0x103d9d['method']+'\x20'+_0x103d9d[_0x105006(0xee)]+_0x105006(0x109)+_0x292ec2['statusCode']+'\x20('+_0x526803+'ms)';let _0xe2022b=_0x3bb029[_0x105006(0x12c)];if(_0x3bb029[_0x105006(0x14c)](_0x292ec2['statusCode'],0x1f4))_0xe2022b='error',logger[_0x105006(0x163)](_0xa8780f,_0x13c971);else _0x3bb029[_0x105006(0x14c)](_0x292ec2[_0x105006(0x127)],0x190)?(_0xe2022b=_0x3bb029['rLIBW'],logger[_0x105006(0x121)](_0xa8780f,_0x13c971)):logger['info'](_0xa8780f,_0x13c971);writeToFileLog({..._0xa8780f,'level':_0xe2022b,'msg':_0x13c971,'time':new Date()['toISOString']()},_0xe2022b);},SENSITIVE_PARAM_PATTERNS=[a0_0x2fb9cc(0xfa),'passwd','pwd','token','access_token',a0_0x2fb9cc(0x171),'secret','api_secret','apikey','api_key',a0_0x2fb9cc(0x12f),'credentials',a0_0x2fb9cc(0x139),a0_0x2fb9cc(0x15d),a0_0x2fb9cc(0x170),a0_0x2fb9cc(0xf5)],redactSensitiveParams=(_0x903ae9,_0x46626b)=>{const _0x23a8d2=a0_0x2fb9cc,_0x580341={'AzgKR':function(_0x3bd9da,_0x48fe36){return _0x3bd9da===_0x48fe36;},'bcLJP':'string','vSHix':'[REDACTED:token]','JicbH':_0x23a8d2(0xd9)};if(!_0x903ae9||_0x903ae9['length']===0x0)return _0x903ae9;const _0xab6fe=_0x46626b['toLowerCase'](),_0x576048=_0xab6fe['match'](/\(([^)]+)\)\s*values/i);let _0x4f1f53=[];_0x576048&&(_0x4f1f53=_0x576048[0x1]['split'](',')[_0x23a8d2(0x167)](_0x44c89c=>_0x44c89c[_0x23a8d2(0xd2)]()['toLowerCase']()));const _0x59ef39=_0xab6fe[_0x23a8d2(0xc8)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x59ef39){const _0x50c826=_0x59ef39[0x1],_0x1cd422=_0x50c826['match'](/(\w+)\s*=/g);_0x1cd422&&(_0x4f1f53=_0x1cd422['map'](_0x280d5e=>_0x280d5e[_0x23a8d2(0x115)](/\s*=/,'')['trim']()[_0x23a8d2(0x156)]()));}return _0x903ae9[_0x23a8d2(0x167)]((_0x38e10e,_0x32188c)=>{const _0x392ca8=_0x23a8d2;if(_0x4f1f53[_0x32188c]){const _0x2bbdf0=_0x4f1f53[_0x32188c],_0x28edf8=SENSITIVE_PARAM_PATTERNS['some'](_0x1eb807=>_0x2bbdf0['includes'](_0x1eb807));if(_0x28edf8)return'[REDACTED]';}if(_0x580341['AzgKR'](typeof _0x38e10e,_0x580341[_0x392ca8(0xe3)])&&_0x38e10e['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x392ca8(0xe4)](_0x38e10e)&&_0x38e10e['includes']('.'))return _0x580341[_0x392ca8(0x172)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x38e10e))return _0x580341[_0x392ca8(0xcb)];}return _0x38e10e;});},parseQueryMetadata=_0x146d30=>{const _0x4c191b=a0_0x2fb9cc,_0x2bc510={'fPUHO':'INSERT','LgXEj':'UPDATE','GQKRu':_0x4c191b(0x10d),'tQNdC':_0x4c191b(0x166),'WbIcQ':_0x4c191b(0x15b),'cKdnr':'COMMIT','bRmRL':'CREATE','zRWzG':'DDL_CREATE','uZtXV':'DDL_ALTER'},_0x3a37a2=_0x146d30['trim'](),_0x466501=_0x3a37a2[_0x4c191b(0xef)]();let _0x57371c='UNKNOWN',_0x5186f6=null;if(_0x466501[_0x4c191b(0x17e)]('SELECT')){_0x57371c=_0x4c191b(0x141);const _0x1e72a2=_0x3a37a2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x1e72a2?_0x1e72a2[0x1]:null;}else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x123)])){_0x57371c=_0x2bc510[_0x4c191b(0x123)];const _0x43e398=_0x3a37a2['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x43e398?_0x43e398[0x1]:null;}else{if(_0x466501[_0x4c191b(0x17e)]('UPDATE')){_0x57371c=_0x2bc510['LgXEj'];const _0x3c9fbc=_0x3a37a2[_0x4c191b(0xc8)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x3c9fbc?_0x3c9fbc[0x1]:null;}else{if(_0x466501['startsWith']('DELETE')){_0x57371c=_0x2bc510['GQKRu'];const _0x8b04ad=_0x3a37a2[_0x4c191b(0xc8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x8b04ad?_0x8b04ad[0x1]:null;}else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0xce)])||_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x15f)]))_0x57371c='TRANSACTION_BEGIN';else{if(_0x466501[_0x4c191b(0x17e)](_0x2bc510[_0x4c191b(0x147)]))_0x57371c=_0x4c191b(0x150);else{if(_0x466501[_0x4c191b(0x17e)](_0x4c191b(0xf7)))_0x57371c=_0x4c191b(0xf0);else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x149)]))_0x57371c=_0x2bc510['zRWzG'];else{if(_0x466501[_0x4c191b(0x17e)](_0x4c191b(0x107)))_0x57371c=_0x2bc510[_0x4c191b(0x15c)];else _0x466501[_0x4c191b(0x17e)]('DROP')&&(_0x57371c=_0x4c191b(0x16f));}}}}}}}}return{'type':_0x57371c,'table':_0x5186f6};},startQueryTimer=()=>{const _0x19eb43={'SQcbm':function(_0x581865,_0x1033c3){return _0x581865/_0x1033c3;}},_0x2c4ba6=process['hrtime']();return()=>{const _0x56ebd3=a0_0x23ee,[_0xff9e43,_0x5f423f]=process[_0x56ebd3(0xe5)](_0x2c4ba6);return parseFloat((_0xff9e43*0x3e8+_0x19eb43[_0x56ebd3(0x10a)](_0x5f423f,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1793d5,_0x294c7d=[],_0x3f5b5d={})=>{const _0x5aa893=a0_0x2fb9cc,_0x200488={'Neewq':_0x5aa893(0x13d),'MIMco':_0x5aa893(0x137),'phcWg':function(_0x5a95b4,_0x1d7684){return _0x5a95b4!==_0x1d7684;},'TQhzR':function(_0x6229ed,_0x5a0fdb){return _0x6229ed>_0x5a0fdb;}};if(!sqlLogEnabled){logger[_0x5aa893(0x10c)]({'event':_0x200488['Neewq'],'query':_0x1793d5[_0x5aa893(0x133)](0x0,0xc8),'paramCount':_0x294c7d['length']},_0x200488[_0x5aa893(0x165)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x3f5b5d,{type:_0xeb796a,table:_0x312091}=parseQueryMetadata(_0x1793d5),_0x27fa12={'event':_0x5aa893(0xca),'queryType':_0xeb796a,'table':_0x312091,'query':_0x1793d5,'paramCount':_0x294c7d['length'],'dbType':dbType};sqlLogParams&&_0x294c7d['length']>0x0&&(_0x27fa12['params']=redactSensitiveParams(_0x294c7d,_0x1793d5));_0x200488['phcWg'](duration,null)&&(_0x27fa12['durationMs']=duration,_0x27fa12[_0x5aa893(0xdb)]=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x27fa12[_0x5aa893(0x14f)]=rowsAffected);const _0x9da3ce=_0x312091||'unknown';let _0x2e5769='['+_0xeb796a+']\x20'+_0x9da3ce;duration!==null&&(_0x2e5769+='\x20('+duration+'ms)');const _0x2ee78d=duration!==null&&_0x200488[_0x5aa893(0x129)](duration,sqlLogSlowThreshold);let _0x249222='debug';if(_0x2ee78d)_0x2e5769+='\x20[SLOW]',_0x249222=_0x5aa893(0x121),logger[_0x5aa893(0x121)](_0x27fa12,_0x2e5769);else sqlLogLevel==='info'?(_0x249222='info',logger[_0x5aa893(0xd8)](_0x27fa12,_0x2e5769)):logger[_0x5aa893(0x10c)](_0x27fa12,_0x2e5769);writeToFileLog({..._0x27fa12,'level':_0x249222,'msg':_0x2e5769,'time':new Date()['toISOString']()},_0x249222);},logTransaction=(_0x3fea3a,_0x5c8139)=>{const _0x168c83=a0_0x2fb9cc,_0x28a5f8={'GdwBS':function(_0x6111e5,_0x16e6c9,_0x3c1469){return _0x6111e5(_0x16e6c9,_0x3c1469);},'tuyfJ':'debug'},_0xce02e6={'event':_0x168c83(0x110),'status':_0x3fea3a,'queryCount':_0x5c8139},_0x2ba185='Transaction\x20'+_0x3fea3a;logger['debug'](_0xce02e6,_0x2ba185),_0x28a5f8[_0x168c83(0xda)](writeToFileLog,{..._0xce02e6,'level':_0x28a5f8['tuyfJ'],'msg':_0x2ba185,'time':new Date()['toISOString']()},_0x168c83(0x10c));},redactObject=_0x47dacd=>{const _0xbc9756=a0_0x2fb9cc,_0xc5d98d={'LJMZu':function(_0x43c677,_0x40a40c){return _0x43c677!==_0x40a40c;},'iROvy':_0xbc9756(0xfa),'obite':'token','ZwnOb':_0xbc9756(0xe2),'shRxv':_0xbc9756(0x125),'QJevh':_0xbc9756(0x15e),'CdjWk':'creditcard','WWLqy':'credit_card','CaDrY':'ssn','EaWBS':'pin','NGHMn':'privatekey','nNclv':'object'};if(!_0x47dacd||_0xc5d98d['LJMZu'](typeof _0x47dacd,_0xbc9756(0x11a)))return _0x47dacd;const _0x2b1787=[_0xc5d98d['iROvy'],'passwd','pwd',_0xc5d98d['obite'],_0xc5d98d['ZwnOb'],_0xc5d98d['shRxv'],_0xc5d98d[_0xbc9756(0xc9)],_0xbc9756(0x145),_0xc5d98d['CdjWk'],_0xc5d98d[_0xbc9756(0x102)],_0xbc9756(0x131),_0xc5d98d['CaDrY'],_0xc5d98d[_0xbc9756(0x14b)],'private_key',_0xc5d98d[_0xbc9756(0xcd)],'refresh_token',_0xbc9756(0x106)],_0x254090=Array[_0xbc9756(0x14a)](_0x47dacd)?[..._0x47dacd]:{..._0x47dacd};for(const _0x464818 of Object['keys'](_0x254090)){const _0x59daf8=_0x464818[_0xbc9756(0x156)]();if(_0x2b1787[_0xbc9756(0x158)](_0x4ad569=>_0x59daf8[_0xbc9756(0x177)](_0x4ad569)))_0x254090[_0x464818]='[REDACTED]';else typeof _0x254090[_0x464818]===_0xc5d98d[_0xbc9756(0x154)]&&_0x254090[_0x464818]!==null&&(_0x254090[_0x464818]=redactObject(_0x254090[_0x464818]));}return _0x254090;},logError=(_0x3050c7,_0x14308f={},_0x4de61b=null)=>{const _0x2178b3=a0_0x2fb9cc,_0x4fc3f0={'SjlzE':_0x2178b3(0x163),'LujVb':function(_0x5c96c0,_0x420901,_0x2f7153){return _0x5c96c0(_0x420901,_0x2f7153);}},_0x269404={'event':_0x4fc3f0['SjlzE'],'errorName':_0x3050c7[_0x2178b3(0x111)]||_0x2178b3(0xf6),'errorMessage':_0x3050c7[_0x2178b3(0x152)],'errorCode':_0x3050c7[_0x2178b3(0x12b)]||null,'stack':_0x3050c7[_0x2178b3(0xc4)],..._0x14308f},_0x1f79a7=_0x4de61b||'Error:\x20'+_0x3050c7[_0x2178b3(0x152)];logger['error'](_0x269404,_0x1f79a7),_0x4fc3f0['LujVb'](writeToFileLog,{..._0x269404,'level':_0x2178b3(0x163),'msg':_0x1f79a7,'time':new Date()['toISOString']()},_0x2178b3(0x163));},logFatalError=(_0x153a23,_0x2736ee={},_0x4bcba8=null)=>{const _0x146807=a0_0x2fb9cc,_0x1b137b={'dkvcz':'fatal_error','UCnAz':_0x146807(0x146),'bHrTi':'error'},_0x2e49da={'event':_0x1b137b['dkvcz'],'errorName':_0x153a23['name']||_0x146807(0xf6),'errorMessage':_0x153a23[_0x146807(0x152)],'errorCode':_0x153a23[_0x146807(0x12b)]||null,'stack':_0x153a23[_0x146807(0xc4)],'severity':_0x1b137b[_0x146807(0xed)],..._0x2736ee},_0x51f094=_0x4bcba8||'FATAL:\x20'+_0x153a23['message'];logger[_0x146807(0x17b)](_0x2e49da,_0x51f094),writeToFileLog({..._0x2e49da,'level':_0x146807(0x17b),'msg':_0x51f094,'time':new Date()[_0x146807(0x16c)]()},_0x1b137b['bHrTi']);},logHttpError=(_0x515365,_0x4de774,_0x4c8540={})=>{const _0x39be1a=a0_0x2fb9cc,_0x20cd22={'ZxSCQ':_0x39be1a(0xf6),'lRngJ':function(_0x25ba69,_0xdcce08){return _0x25ba69(_0xdcce08);},'Vusii':function(_0x31caf6,_0x4e13d3){return _0x31caf6>=_0x4e13d3;},'fWwoI':function(_0x2b82d9,_0x54b607){return _0x2b82d9>=_0x54b607;},'PfXgY':_0x39be1a(0x121),'ltHVi':'error'},_0xa292ae={'event':'http_error','errorName':_0x515365['name']||_0x20cd22[_0x39be1a(0x15a)],'errorMessage':_0x515365[_0x39be1a(0x152)],'errorCode':_0x515365[_0x39be1a(0x12b)]||_0x515365['statusCode']||0x1f4,'stack':_0x515365[_0x39be1a(0xc4)],'method':_0x4de774?.['method'],'url':_0x4de774?.['url']||_0x4de774?.[_0x39be1a(0x142)],'path':_0x4de774?.['path'],'ip':_0x4de774?.['ip']||_0x4de774?.[_0x39be1a(0x153)]?.['remoteAddress'],'userAgent':_0x4de774?.['get']?.(_0x39be1a(0x108)),'requestId':_0x4de774?.['id']||_0x4de774?.['headers']?.['x-request-id'],'body':_0x4de774?.['body']?_0x20cd22[_0x39be1a(0x105)](redactObject,_0x4de774[_0x39be1a(0x114)]):undefined,'query':_0x4de774?.['query'],..._0x4c8540},_0x1bddc2=_0x515365[_0x39be1a(0x127)]||_0x515365['status']||0x1f4,_0x1fea1='HTTP\x20'+_0x1bddc2+':\x20'+_0x515365[_0x39be1a(0x152)];_0x20cd22[_0x39be1a(0x17d)](_0x1bddc2,0x1f4)?logger['error'](_0xa292ae,_0x1fea1):logger['warn'](_0xa292ae,_0x1fea1),writeToFileLog({..._0xa292ae,'level':_0x20cd22['fWwoI'](_0x1bddc2,0x1f4)?'error':_0x20cd22['PfXgY'],'msg':_0x1fea1,'time':new Date()['toISOString']()},_0x20cd22[_0x39be1a(0x13c)](_0x1bddc2,0x1f4)?_0x20cd22[_0x39be1a(0x16e)]:_0x20cd22[_0x39be1a(0xdc)]);},logUncaughtError=(_0x128a57,_0x3d58d1)=>{const _0xb89ec=a0_0x2fb9cc,_0x37eb6e={'Wnudr':_0xb89ec(0xf6),'unFJO':_0xb89ec(0x146),'qsRpz':function(_0xf69f08,_0x12d0ce,_0x114da1){return _0xf69f08(_0x12d0ce,_0x114da1);}},_0x3005d0={'event':_0x128a57,'errorName':_0x3d58d1?.[_0xb89ec(0x111)]||_0x37eb6e[_0xb89ec(0x132)],'errorMessage':_0x3d58d1?.[_0xb89ec(0x152)]||String(_0x3d58d1),'errorCode':_0x3d58d1?.['code']||null,'stack':_0x3d58d1?.[_0xb89ec(0xc4)],'severity':_0x37eb6e['unFJO'],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xb89ec(0xec)]()},_0x4b250b='['+_0x128a57[_0xb89ec(0xef)]()+']\x20'+(_0x3d58d1?.['message']||_0x3d58d1);logger[_0xb89ec(0x17b)](_0x3005d0,_0x4b250b),_0x37eb6e[_0xb89ec(0x162)](writeToFileLog,{..._0x3005d0,'level':_0xb89ec(0x17b),'msg':_0x4b250b,'time':new Date()[_0xb89ec(0x16c)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x91def=a0_0x2fb9cc,_0x406e5d={'YftqW':'uncaughtException','sqMwT':function(_0xf9be72,_0x3d7166,_0x3f0fb5){return _0xf9be72(_0x3d7166,_0x3f0fb5);},'STDEL':function(_0x22b408,_0x5c621e,_0x3b1da7){return _0x22b408(_0x5c621e,_0x3b1da7);},'Gfzcg':'unhandledRejection','TruHz':_0x91def(0x10f),'gmBSf':'warning','uNrwx':'global_error_handlers_setup','lpJWf':'info'};process['on']('uncaughtException',_0x132dbc=>{const _0x528cbf=_0x91def;logUncaughtError(_0x406e5d[_0x528cbf(0x14e)],_0x132dbc),_0x406e5d['sqMwT'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x406e5d['Gfzcg'],(_0x502622,_0x393f37)=>{const _0x149b7c=_0x91def,_0x24cdc7=_0x502622 instanceof Error?_0x502622:new Error(String(_0x502622));_0x406e5d[_0x149b7c(0x100)](logUncaughtError,_0x406e5d[_0x149b7c(0xe1)],_0x24cdc7);}),process['on'](_0x406e5d[_0x91def(0x10b)],_0x57e2e7=>{const _0x281d0e=_0x91def;logger[_0x281d0e(0x121)]({'event':_0x406e5d['TruHz'],'name':_0x57e2e7[_0x281d0e(0x111)],'message':_0x57e2e7['message'],'stack':_0x57e2e7['stack']},_0x281d0e(0x103)+_0x57e2e7[_0x281d0e(0x152)]);});const _0x557e07={'event':_0x406e5d['uNrwx']},_0x3244a9='Global\x20error\x20handlers\x20initialized';logger[_0x91def(0xd8)](_0x557e07,_0x3244a9),writeToFileLog({..._0x557e07,'level':_0x406e5d['lpJWf'],'msg':_0x3244a9,'time':new Date()[_0x91def(0x16c)]()},_0x406e5d[_0x91def(0xd3)]);},createErrorHandlerMiddleware=()=>{const _0x22f59f=a0_0x2fb9cc,_0x9a071f={'dvNbD':function(_0x5556b3,_0x43ef36){return _0x5556b3>=_0x43ef36;},'XdZwU':_0x22f59f(0x12e)};return(_0x2a5b47,_0x49718c,_0x1ac253,_0x532485)=>{const _0x335f6e=_0x22f59f;logHttpError(_0x2a5b47,_0x49718c);const _0x426e67=_0x2a5b47['statusCode']||_0x2a5b47['status']||0x1f4;_0x1ac253['status'](_0x426e67)['json']({'success':![],'error':_0x9a071f[_0x335f6e(0xff)](_0x426e67,0x1f4)?_0x9a071f[_0x335f6e(0x179)]:_0x2a5b47[_0x335f6e(0x152)],'requestId':_0x49718c['id']||_0x49718c['headers']?.[_0x335f6e(0x16d)]||null});};};module[a0_0x2fb9cc(0xd4)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x9354c3=a0_0x2be2;function a0_0x152c(){const _0xc252a9=['q09ntuLu','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C3rHCNrZv2L0Aa','zMLSzv9SB2DNAw5Nx2vUywjSzwq','rgvMyxvSDa','ChjVAMvJDa','EM1RwMq','Dw5JyxvNAhrfEgnLChrPB24','vvz4shu','w1jfrefdveveoNrVA2vUxq','C3rHDhvZ','BgvUz3rO','BwfW','BxmP','s3Deru4','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','y29UBMvJDgLVBG','AxntBg93','mJG1mdmYngDPDe1HDG','vfjbtLnbq1rjt05FqKvhsu4','r256uMK','AM9PBG','oI8V','DxnLCI1Hz2vUDa','tK9uiefdveLwrq','CgfKrw5K','tNz3DM0','y29Kzq','C3vIC3rYAw5N','ChDK','yMfZzvvYBa','y3jLzgL0x2nHCMq','BwvZC2fNzq','vNbPrKe','iokvKqRILzeGienVBMzPzYaGicaGidOG','D3jPDgu','ig9UihbVCNqG','C3rHy2S','yxbPx2TLEq','t3juA2W','uK9mtejbq0S','rxH2AfK','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Dg9ju09tDhjPBMC','u1rbuLqGvfjbtLnbq1rjt04','ywnJzxnZx3rVA2vU','reiGuxvLCNK','z21NyLG','DhjPBq','Aw5MBW','nZu5ndK0nfDSs2rqyW','zxHPDa','te9hx0XfvKvm','Dg9vChbLCKnHC2u','te9hx1rpx0zjteu','AfnOCNK','sw50zxjUywWGC2vYDMvYigvYCM9Y','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','qKLRzNy','AxbPvwe','y3DK','tK9erv9ftLy','te9hx0rjuG','vxLNrfy','Ahj0Aw1L','Bwv0Ag9K','B3jPz2LUywXvCMW','zMXVB3i','DhLWzq','mtfqrhrfsgK','rermx0fmvevs','vfjbtLnbq1rjt05Fq09ntuLu','C29Tzq','zw5KCg9PBNrFCMvNAxn0zxjLza','txzZzg0','CMvZDgzVCMDL','ChjPDMf0zwTLEq','D2fYBG','zgvIDwC','C2vYDMLJzuLUzM8','u1LtoKHioK1noNnZ','CMHZtwK','icbvuKW6icaGia','rNz2CKi','CM93C0fMzMvJDgvK','EujIANG','w1jfrefdvevexq','nJe2odu1mgznvvjHyq','v05OuKO','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Cg9ZDgDYzxnXBa','u1fmx0Xpr19qqvjbtvm','Ec1Yzxf1zxn0lwLK','Cgf0Aa','C3rKvgLTzuz1BMn0Aw9UCW','y1n2tKm','u1fmx0Xpr19ftKfcteve','r25YEum','swDXsxq','CgfZC3DK','yxbPs2v5','tKDHAvu','revmrvrf','Cg9YDa','quXurvi','y3jLzgvUDgLHBa','Eg5RELa','zgnmvNG','y3z2','CMvMCMvZAf90B2TLBG','zw52AxjVBM1LBNq','rfjpua','u1fmx0Xpr19tte9xx1riuKvtse9mra','zNjQuha','CMvTB3rLqwrKCMvZCW','zxjYB3iUBg9N','u2vYDMvYihn0yxj0Aw5NoIa','Bwf4','DxjS','B2jQzwn0','zgf0ywjHC2u','DxnLCG','y2HPBgq','su5trvju','vfzuseK','Dev3ru0','Ag9ZDa','CgLU','AxnbCNjHEq','vvbeqvrf','qNjWs1q','vfjbtLnbq1rjt05FuK9mtejbq0S','CMvWBgfJzq','rermx0nsrufurq','CgfZC3DVCMq','AgvHBhrOq2HLy2S','rxjYB3i','CMvWzwf0','wNP1y3m','DgvZDa','rKfuquW6ia','yxbWlMXVzW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','icbjBMzVoIaGia','DM1IseG','y3jLyxrLv3jPDgvtDhjLyw0','zgf0ywjHC2vFy29UzMLN','w09lxsbqCM9Qzwn0igXVywrLzdOG','vMHJD2W','mti3odi4AuzPr1z2','qvbqx1zfuLnjt04','y2Lntuq','CMvZB2X2zq','D09RAvK','C2Poqxm','rermx0rst1a','zefQC3u','C3rHDhvZq29Kzq','Dw5RBM93BG','y29UzMLNrMLSzq','A2vJyLO','zxHPC3rZu3LUyW','tKjHrey','CgLK','ChjPDMf0zv9RzxK','zw52','A2v5CW','Ahr0Cf9LCNjVCG','u0vmrunu','tM9Kzs5QCW','zMf0ywW','BMfTzq','zgjFDhjHBNnHy3rPB24','ve9dCwi','iokvKqRILzeGifbYB2PLy3qGicaGidOG','wufhsMG','zxjYB3i','Aw5JBhvKzxm','v1r1rhi','Bwf0y2G','mZuWnZmYndbzzeHAqxK','yM9KEq','Dhj1zq','mJK3otuWoezbyKLWra','mJGWodG2nhjjELbkBa','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','lI9SB2DZlW','Exjlq3e','rMf1CfK','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','zMf0ywXFzxjYB3i','Dg9mB3DLCKnHC2u','B3rW','sKrwELa','sgHZDMO','D2fYBMLUzW','yxbPA2v5','A2TIBeC'];a0_0x152c=function(){return _0xc252a9;};return a0_0x152c();}(function(_0x35cae3,_0x4fc0b3){const _0x8b4a25=a0_0x2be2,_0x373e69=_0x35cae3();while(!![]){try{const _0x8ada53=parseInt(_0x8b4a25(0x1a2))/0x1*(parseInt(_0x8b4a25(0x1f2))/0x2)+parseInt(_0x8b4a25(0x14f))/0x3+parseInt(_0x8b4a25(0x16f))/0x4+parseInt(_0x8b4a25(0x1b4))/0x5+parseInt(_0x8b4a25(0x18f))/0x6+parseInt(_0x8b4a25(0x14e))/0x7+-parseInt(_0x8b4a25(0x14b))/0x8;if(_0x8ada53===_0x4fc0b3)break;else _0x373e69['push'](_0x373e69['shift']());}catch(_0x5853f7){_0x373e69['push'](_0x373e69['shift']());}}}(a0_0x152c,0xda012));const pino=require('pino'),fs=require('fs'),path=require(a0_0x9354c3(0x1ba));let logToFile=![],logDir='./logs',serviceName=a0_0x9354c3(0x1a8),sqlLogEnabled=![],sqlLogLevel=a0_0x9354c3(0x1ab),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x2be2(_0x1b496e,_0x42a6f6){_0x1b496e=_0x1b496e-0x140;const _0x152c81=a0_0x152c();let _0x2be290=_0x152c81[_0x1b496e];if(a0_0x2be2['nUYdlr']===undefined){var _0x3f762a=function(_0xbb89a9){const _0x1e4087='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1dc44d='',_0x1973d6='';for(let _0x2a9185=0x0,_0x29dacc,_0x229f80,_0x90a2b7=0x0;_0x229f80=_0xbb89a9['charAt'](_0x90a2b7++);~_0x229f80&&(_0x29dacc=_0x2a9185%0x4?_0x29dacc*0x40+_0x229f80:_0x229f80,_0x2a9185++%0x4)?_0x1dc44d+=String['fromCharCode'](0xff&_0x29dacc>>(-0x2*_0x2a9185&0x6)):0x0){_0x229f80=_0x1e4087['indexOf'](_0x229f80);}for(let _0x3f151d=0x0,_0x3122d3=_0x1dc44d['length'];_0x3f151d<_0x3122d3;_0x3f151d++){_0x1973d6+='%'+('00'+_0x1dc44d['charCodeAt'](_0x3f151d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1973d6);};a0_0x2be2['qCUZjt']=_0x3f762a,a0_0x2be2['UDkdMb']={},a0_0x2be2['nUYdlr']=!![];}const _0x2905a9=_0x152c81[0x0],_0x53275f=_0x1b496e+_0x2905a9,_0x3ee529=a0_0x2be2['UDkdMb'][_0x53275f];return!_0x3ee529?(_0x2be290=a0_0x2be2['qCUZjt'](_0x2be290),a0_0x2be2['UDkdMb'][_0x53275f]=_0x2be290):_0x2be290=_0x3ee529,_0x2be290;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x9354c3(0x1ad),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x9354c3(0x187),'hideObject':!![]},isDevelopment=process['env'][a0_0x9354c3(0x19a)]!=='production',logLevel=process['env'][a0_0x9354c3(0x191)]||a0_0x9354c3(0x18e);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x9354c3(0x1a8),'version':process[a0_0x9354c3(0x202)][a0_0x9354c3(0x1f3)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x9354c3(0x1bb)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x9354c3(0x196),'password','token','apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x4a516e=>({'id':_0x4a516e['id'],'method':_0x4a516e[a0_0x9354c3(0x19e)],'url':_0x4a516e[a0_0x9354c3(0x1d3)],'path':_0x4a516e['path'],'remoteAddress':_0x4a516e['ip']||_0x4a516e['connection']?.['remoteAddress']}),'res':_0x47d105=>({'statusCode':_0x47d105[a0_0x9354c3(0x1fa)],'headers':_0x47d105['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x51ccc4=a0_0x9354c3,_0x58e228={'WTuDr':_0x51ccc4(0x14d),'xyOqb':'false','Mvsdm':function(_0x250423,_0x3dc646){return _0x250423(_0x3dc646);},'yERqa':'app.log','ciMMD':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x51ccc4(0x202)][_0x51ccc4(0x193)]===_0x58e228[_0x51ccc4(0x149)];const _0x54ce37=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x51ccc4(0x202)][_0x51ccc4(0x19b)]||_0x51ccc4(0x151)+_0x54ce37,serviceName=process[_0x51ccc4(0x202)]['SERVICE_NAME']||'restforge',sqlLogEnabled=process['env'][_0x51ccc4(0x1bd)]===_0x51ccc4(0x14d),sqlLogLevel=process[_0x51ccc4(0x202)]['SQL_LOG_LEVEL']||_0x51ccc4(0x1ab),sqlLogParams=process[_0x51ccc4(0x202)][_0x51ccc4(0x1b8)]!==_0x58e228['xyOqb'],sqlLogSlowThreshold=_0x58e228[_0x51ccc4(0x1a7)](parseInt,process[_0x51ccc4(0x202)][_0x51ccc4(0x1cd)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x4ffe7d=path[_0x51ccc4(0x1f5)](process[_0x51ccc4(0x199)](),logDir);try{!fs[_0x51ccc4(0x1fe)](_0x4ffe7d)&&fs['mkdirSync'](_0x4ffe7d,{'recursive':!![]});}catch(_0x352f8b){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x4ffe7d+':',_0x352f8b[_0x51ccc4(0x17d)]),fileLoggingInitialized=!![];return;}const _0x5b132d=path['join'](_0x4ffe7d,_0x51ccc4(0x1ea)),_0x19da3c=path[_0x51ccc4(0x172)](_0x4ffe7d,_0x51ccc4(0x1d0));try{appLogStream=fs['createWriteStream'](_0x5b132d,{'flags':'a'}),errorLogStream=fs[_0x51ccc4(0x1ee)](_0x19da3c,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2ef217={'event':_0x51ccc4(0x160),'logDir':_0x4ffe7d,'files':[_0x58e228['yERqa'],_0x51ccc4(0x1d0)]},_0x56b1e9='File\x20logging\x20enabled:\x20'+_0x4ffe7d;logger['info'](_0x2ef217,_0x56b1e9),writeToFileLog({..._0x2ef217,'level':_0x58e228[_0x51ccc4(0x1f4)],'msg':_0x56b1e9,'time':new Date()['toISOString']()},_0x58e228[_0x51ccc4(0x1f4)]);}catch(_0x475e0e){console['error'](_0x51ccc4(0x1b6),_0x475e0e[_0x51ccc4(0x17d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1cc832,_0x233750){const _0x49c273=a0_0x9354c3,_0x45e70f={'WNhRJ':function(_0x422306,_0x270f90){return _0x422306||_0x270f90;},'kkblG':function(_0x50bd3e,_0x560133){return _0x50bd3e===_0x560133;},'uAdfk':'error','ExvhY':function(_0x4f57e4,_0xced6a7){return _0x4f57e4===_0xced6a7;}};if(_0x45e70f[_0x49c273(0x1b5)](!logToFile,!appLogStream))return;const _0x4ee4be={'service':serviceName,..._0x1cc832},_0x260cc5=JSON['stringify'](_0x4ee4be)+'\x0a';appLogStream['write'](_0x260cc5),(_0x45e70f[_0x49c273(0x15c)](_0x233750,_0x45e70f['uAdfk'])||_0x45e70f[_0x49c273(0x186)](_0x233750,'fatal'))&&(errorLogStream&&errorLogStream[_0x49c273(0x180)](_0x260cc5));}const createRequestLogger=(_0x104e24={})=>{const _0x4a6382=a0_0x9354c3;return logger[_0x4a6382(0x1d7)](_0x104e24);},logServerStart=_0x12e93f=>{const _0x355ff0=a0_0x9354c3,_0x49dd85={'Nvwvm':_0x355ff0(0x140),'qvrdD':'N/A','hShry':function(_0x2f074d,_0x3b8c6e){return _0x2f074d(_0x3b8c6e);},'tuoNl':_0x355ff0(0x161),'IgqIt':'server_starting','rhsMi':_0x355ff0(0x18e)},_0x12cca0='RESTFORGE\x20RUNTIME\x20SERVER',_0x4dfd1c=Math[_0x355ff0(0x1d2)](0x0,0x37-_0x12cca0[_0x355ff0(0x168)]),_0x51525b=Math[_0x355ff0(0x1a0)](_0x4dfd1c/0x2),_0x322492=_0x4dfd1c-_0x51525b,_0x421b2f='║'+'\x20'[_0x355ff0(0x1e6)](_0x51525b)+_0x12cca0+'\x20'['repeat'](_0x322492)+'║',_0xf44279=_0x355ff0(0x16c)+_0x421b2f+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x12e93f[_0x355ff0(0x1cb)]||_0x49dd85[_0x355ff0(0x177)])[_0x355ff0(0x176)](0x26)+_0x355ff0(0x145)+(_0x12e93f['project']||_0x49dd85['qvrdD'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x49dd85[_0x355ff0(0x194)](String,_0x12e93f[_0x355ff0(0x1c4)]||0xbb8)[_0x355ff0(0x176)](0x26)+_0x355ff0(0x17f)+(_0x12e93f[_0x355ff0(0x1fc)]||_0x49dd85['tuoNl'])[_0x355ff0(0x176)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x12e93f[_0x355ff0(0x1c1)]?'ACTIVE':_0x355ff0(0x175))['padEnd'](0x26)+_0x355ff0(0x150);console['log'](_0xf44279);const _0x47566b={'event':_0x49dd85[_0x355ff0(0x1bf)],'project':_0x12e93f['project'],'port':_0x12e93f[_0x355ff0(0x1c4)],'config':_0x12e93f[_0x355ff0(0x1fc)],'apiKeyEnabled':!!_0x12e93f[_0x355ff0(0x1c1)]};logger[_0x355ff0(0x18e)](_0x47566b),writeToFileLog({..._0x47566b,'level':_0x49dd85[_0x355ff0(0x1ae)],'msg':_0x355ff0(0x1d1)+_0x12e93f[_0x355ff0(0x162)]+_0x355ff0(0x181)+_0x12e93f['port'],'time':new Date()[_0x355ff0(0x188)]()},_0x355ff0(0x18e));},logServerReady=_0x5b7da9=>{const _0xec7f94=a0_0x9354c3,_0x3a70c1={'PpWQQ':'server_ready','Zzucs':_0xec7f94(0x18e)},_0x1518cf={'event':_0x3a70c1['PpWQQ'],'port':_0x5b7da9['port'],'module':_0x5b7da9['module'],'healthCheck':_0x5b7da9['healthCheck'],'serviceInfo':_0x5b7da9[_0xec7f94(0x1ac)],'baseUrl':_0x5b7da9[_0xec7f94(0x17b)]},_0x232eeb='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x5b7da9['port'];logger['info'](_0x1518cf,_0x232eeb),writeToFileLog({..._0x1518cf,'level':_0x3a70c1[_0xec7f94(0x1e7)],'msg':_0x232eeb,'time':new Date()[_0xec7f94(0x188)]()},_0x3a70c1['Zzucs']),_0x5b7da9[_0xec7f94(0x1e4)]&&logger['info']('\x20\x20Health:\x20'+_0x5b7da9['healthCheck']),_0x5b7da9[_0xec7f94(0x1ac)]&&logger['info'](_0xec7f94(0x1ec)+_0x5b7da9['serviceInfo']),_0x5b7da9[_0xec7f94(0x17b)]&&logger[_0xec7f94(0x18e)](_0xec7f94(0x1af)+_0x5b7da9[_0xec7f94(0x17b)]);},logProjectLoaded=(_0xca9aa6,_0x2295b5)=>{const _0xbaceb7=a0_0x9354c3,_0x3ceb5a={'EirSE':function(_0xf6650f,_0x2b111d,_0x2fd1b8){return _0xf6650f(_0x2b111d,_0x2fd1b8);},'JDVzP':_0xbaceb7(0x18e)},_0x553215={'event':'project_loaded','project':_0xca9aa6,'path':_0x2295b5},_0x825c2f=_0xbaceb7(0x1f0)+_0xca9aa6;logger['info'](_0x553215,_0x825c2f),_0x3ceb5a['EirSE'](writeToFileLog,{..._0x553215,'level':_0x3ceb5a[_0xbaceb7(0x158)],'msg':_0x825c2f,'time':new Date()[_0xbaceb7(0x188)]()},_0xbaceb7(0x18e));},logEndpointRegistered=(_0x17af01,_0x207afe)=>{const _0x24c226=a0_0x9354c3,_0x53850d={'gmgbX':_0x24c226(0x1ab)},_0x2735c8={'event':_0x24c226(0x1a6),'endpoint':_0x17af01,'route':_0x207afe},_0x56f705='\x20\x20→\x20'+_0x17af01+':\x20'+_0x207afe;logger['debug'](_0x2735c8,_0x56f705),writeToFileLog({..._0x2735c8,'level':_0x53850d[_0x24c226(0x18c)],'msg':_0x56f705,'time':new Date()[_0x24c226(0x188)]()},'debug');},logDatabaseConfig=_0x345f35=>{const _0x26a37d=a0_0x9354c3,_0x5162eb={'XipTd':_0x26a37d(0x1ef),'dAjsu':function(_0x6c95b9,_0x49e6c2,_0x45219c){return _0x6c95b9(_0x49e6c2,_0x45219c);},'TodAc':_0x26a37d(0x1ab)},_0x390935={'event':_0x5162eb['XipTd'],'host':_0x345f35[_0x26a37d(0x1db)],'port':_0x345f35['port'],'database':_0x345f35[_0x26a37d(0x1d5)],'type':_0x345f35[_0x26a37d(0x1a1)],'user':_0x345f35[_0x26a37d(0x1d6)]},_0x23b380='Database:\x20'+_0x345f35['type']+_0x26a37d(0x173)+_0x345f35[_0x26a37d(0x1db)]+':'+_0x345f35[_0x26a37d(0x1c4)]+'/'+_0x345f35['database'];logger[_0x26a37d(0x1ab)](_0x390935,_0x23b380),_0x5162eb[_0x26a37d(0x1f9)](writeToFileLog,{..._0x390935,'level':_0x5162eb['TodAc'],'msg':_0x23b380,'time':new Date()['toISOString']()},_0x5162eb['TodAc']);},logRequest=(_0x3c6286,_0x1ac407,_0x4ad5ab)=>{const _0x32d6d4=a0_0x9354c3,_0x2b708b={'BrpKT':'http_request','YBCGf':_0x32d6d4(0x18e),'lgQyi':function(_0x4475a4,_0x328f36){return _0x4475a4>=_0x328f36;},'ipiUa':_0x32d6d4(0x1aa),'OrTkl':function(_0x1c02e9,_0x1bcf42,_0x296bdb){return _0x1c02e9(_0x1bcf42,_0x296bdb);}},_0x52e2d8={'event':_0x2b708b[_0x32d6d4(0x1df)],'method':_0x3c6286['method'],'path':_0x3c6286[_0x32d6d4(0x1ba)],'statusCode':_0x1ac407[_0x32d6d4(0x1fa)],'durationMs':_0x4ad5ab,'ip':_0x3c6286['ip']},_0x1e8f44=_0x3c6286[_0x32d6d4(0x19e)]+'\x20'+_0x3c6286['path']+'\x20-\x20'+_0x1ac407[_0x32d6d4(0x1fa)]+'\x20('+_0x4ad5ab+'ms)';let _0x5b74c7=_0x2b708b['YBCGf'];if(_0x2b708b['lgQyi'](_0x1ac407['statusCode'],0x1f4))_0x5b74c7=_0x32d6d4(0x147),logger[_0x32d6d4(0x147)](_0x52e2d8,_0x1e8f44);else _0x1ac407['statusCode']>=0x190?(_0x5b74c7=_0x2b708b[_0x32d6d4(0x198)],logger['warn'](_0x52e2d8,_0x1e8f44)):logger['info'](_0x52e2d8,_0x1e8f44);_0x2b708b[_0x32d6d4(0x184)](writeToFileLog,{..._0x52e2d8,'level':_0x5b74c7,'msg':_0x1e8f44,'time':new Date()[_0x32d6d4(0x188)]()},_0x5b74c7);},SENSITIVE_PARAM_PATTERNS=[a0_0x9354c3(0x1e3),'passwd',a0_0x9354c3(0x17a),'token',a0_0x9354c3(0x18a),'refresh_token','secret','api_secret','apikey',a0_0x9354c3(0x183),a0_0x9354c3(0x1c6),'credentials',a0_0x9354c3(0x1dc),a0_0x9354c3(0x157),'private_key',a0_0x9354c3(0x1a9)],redactSensitiveParams=(_0x426a82,_0x48a89f)=>{const _0x428554=a0_0x9354c3,_0x36e3b9={'Vhcwl':_0x428554(0x1b3),'wOkiY':function(_0x1ea7e3,_0x3a27e2){return _0x1ea7e3===_0x3a27e2;},'jLnYM':'string'};if(!_0x426a82||_0x426a82['length']===0x0)return _0x426a82;const _0x5b7377=_0x48a89f['toLowerCase'](),_0x1e2c38=_0x5b7377['match'](/\(([^)]+)\)\s*values/i);let _0x293733=[];_0x1e2c38&&(_0x293733=_0x1e2c38[0x1]['split'](',')['map'](_0x54fd7d=>_0x54fd7d[_0x428554(0x18d)]()[_0x428554(0x156)]()));const _0x31a71=_0x5b7377['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x31a71){const _0x1b896d=_0x31a71[0x1],_0x5d959e=_0x1b896d['match'](/(\w+)\s*=/g);_0x5d959e&&(_0x293733=_0x5d959e[_0x428554(0x169)](_0x58a38b=>_0x58a38b[_0x428554(0x1e1)](/\s*=/,'')['trim']()[_0x428554(0x156)]()));}return _0x426a82[_0x428554(0x169)]((_0x1ec515,_0x1f8eee)=>{const _0x4d2840=_0x428554;if(_0x293733[_0x1f8eee]){const _0x533a7b=_0x293733[_0x1f8eee],_0x332d62=SENSITIVE_PARAM_PATTERNS['some'](_0x2568ce=>_0x533a7b[_0x4d2840(0x148)](_0x2568ce));if(_0x332d62)return _0x36e3b9[_0x4d2840(0x1f1)];}if(_0x36e3b9[_0x4d2840(0x1f6)](typeof _0x1ec515,_0x36e3b9['jLnYM'])&&_0x1ec515['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x1ec515)&&_0x1ec515['includes']('.'))return _0x4d2840(0x166);if(/^[a-fA-F0-9]{32,}$/[_0x4d2840(0x1e8)](_0x1ec515))return'[REDACTED:hash]';}return _0x1ec515;});},parseQueryMetadata=_0x1af3e8=>{const _0x5cf77c=a0_0x9354c3,_0x184af6={'KwDEN':_0x5cf77c(0x205),'fCVlT':_0x5cf77c(0x1c3),'GnzRi':_0x5cf77c(0x15d),'bAFsK':_0x5cf77c(0x185),'CRrIB':_0x5cf77c(0x1a3),'tEwEM':_0x5cf77c(0x1f8)},_0x440b20=_0x1af3e8['trim'](),_0x360a03=_0x440b20['toUpperCase']();let _0x4c8490='UNKNOWN',_0x4c3fb6=null;if(_0x360a03[_0x5cf77c(0x15f)](_0x184af6['KwDEN'])){_0x4c8490=_0x184af6[_0x5cf77c(0x16b)];const _0x5dda75=_0x440b20[_0x5cf77c(0x14a)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x5dda75?_0x5dda75[0x1]:null;}else{if(_0x360a03[_0x5cf77c(0x15f)](_0x5cf77c(0x1d8))){_0x4c8490='INSERT';const _0x23695f=_0x440b20[_0x5cf77c(0x14a)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x23695f?_0x23695f[0x1]:null;}else{if(_0x360a03[_0x5cf77c(0x15f)]('UPDATE')){_0x4c8490=_0x5cf77c(0x1de);const _0x18545e=_0x440b20['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x18545e?_0x18545e[0x1]:null;}else{if(_0x360a03['startsWith'](_0x5cf77c(0x1c3))){_0x4c8490=_0x184af6['fCVlT'];const _0x537d8f=_0x440b20['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x537d8f?_0x537d8f[0x1]:null;}else{if(_0x360a03['startsWith']('BEGIN')||_0x360a03[_0x5cf77c(0x15f)](_0x5cf77c(0x189)))_0x4c8490=_0x5cf77c(0x170);else{if(_0x360a03[_0x5cf77c(0x15f)](_0x184af6[_0x5cf77c(0x171)]))_0x4c8490=_0x5cf77c(0x1a4);else{if(_0x360a03['startsWith'](_0x184af6['bAFsK']))_0x4c8490=_0x5cf77c(0x1e0);else{if(_0x360a03['startsWith']('CREATE'))_0x4c8490=_0x5cf77c(0x1e2);else{if(_0x360a03[_0x5cf77c(0x15f)](_0x5cf77c(0x1c5)))_0x4c8490=_0x184af6['CRrIB'];else _0x360a03['startsWith'](_0x5cf77c(0x1cc))&&(_0x4c8490=_0x184af6[_0x5cf77c(0x1da)]);}}}}}}}}return{'type':_0x4c8490,'table':_0x4c3fb6};},startQueryTimer=()=>{const _0x4fbfe0={'UXStF':function(_0x15028c,_0x3200b3){return _0x15028c(_0x3200b3);},'mxwNK':function(_0x162d5f,_0x4f09a7){return _0x162d5f+_0x4f09a7;},'TbUxU':function(_0x4aceb5,_0x1eac92){return _0x4aceb5*_0x1eac92;}},_0xb2ba63=process['hrtime']();return()=>{const _0x475f7d=a0_0x2be2,[_0x34d696,_0x213cb5]=process[_0x475f7d(0x19d)](_0xb2ba63);return _0x4fbfe0['UXStF'](parseFloat,_0x4fbfe0['mxwNK'](_0x4fbfe0['TbUxU'](_0x34d696,0x3e8),_0x213cb5/0xf4240)['toFixed'](0x2));};},logQuery=(_0x25efea,_0x2e772e=[],_0x4f296f={})=>{const _0x5d2f77=a0_0x9354c3,_0x226ac8={'FvvrB':'db_query','kecbZ':_0x5d2f77(0x18b),'DWGrN':function(_0x31c110,_0x393b4a){return _0x31c110>_0x393b4a;},'zmkZd':function(_0xb115e1,_0xed9e4d){return _0xb115e1!==_0xed9e4d;},'dkMkd':function(_0x2cc57e,_0x10193b){return _0x2cc57e||_0x10193b;},'nAiNC':_0x5d2f77(0x1fb),'iXGkz':function(_0xc4cf90,_0x1f1597){return _0xc4cf90!==_0x1f1597;},'UVxHu':'\x20[SLOW]','fmCuM':'warn','VpiFA':_0x5d2f77(0x18e)};if(!sqlLogEnabled){logger[_0x5d2f77(0x1ab)]({'event':_0x226ac8[_0x5d2f77(0x1b0)],'query':_0x25efea[_0x5d2f77(0x179)](0x0,0xc8),'paramCount':_0x2e772e[_0x5d2f77(0x168)]},_0x226ac8[_0x5d2f77(0x1fd)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5d2f77(0x1b7)}=_0x4f296f,{type:_0x57e84b,table:_0x32f8fb}=parseQueryMetadata(_0x25efea),_0x2650ea={'event':'sql_query','queryType':_0x57e84b,'table':_0x32f8fb,'query':_0x25efea,'paramCount':_0x2e772e['length'],'dbType':dbType};sqlLogParams&&_0x226ac8['DWGrN'](_0x2e772e[_0x5d2f77(0x168)],0x0)&&(_0x2650ea['params']=redactSensitiveParams(_0x2e772e,_0x25efea));_0x226ac8[_0x5d2f77(0x163)](duration,null)&&(_0x2650ea['durationMs']=duration,_0x2650ea[_0x5d2f77(0x16e)]=_0x226ac8['DWGrN'](duration,sqlLogSlowThreshold));_0x226ac8[_0x5d2f77(0x163)](rowsAffected,null)&&(_0x2650ea[_0x5d2f77(0x1b1)]=rowsAffected);const _0x8dee8c=_0x226ac8['dkMkd'](_0x32f8fb,_0x226ac8['nAiNC']);let _0x383880='['+_0x57e84b+']\x20'+_0x8dee8c;duration!==null&&(_0x383880+='\x20('+duration+_0x5d2f77(0x16a));const _0x3420dc=_0x226ac8['iXGkz'](duration,null)&&duration>sqlLogSlowThreshold;let _0x287b0f='debug';if(_0x3420dc)_0x383880+=_0x226ac8[_0x5d2f77(0x165)],_0x287b0f=_0x226ac8['fmCuM'],logger['warn'](_0x2650ea,_0x383880);else sqlLogLevel===_0x226ac8['VpiFA']?(_0x287b0f=_0x226ac8[_0x5d2f77(0x17e)],logger[_0x5d2f77(0x18e)](_0x2650ea,_0x383880)):logger[_0x5d2f77(0x1ab)](_0x2650ea,_0x383880);writeToFileLog({..._0x2650ea,'level':_0x287b0f,'msg':_0x383880,'time':new Date()['toISOString']()},_0x287b0f);},logTransaction=(_0x4f326f,_0x89d63d)=>{const _0xaf6270=a0_0x9354c3,_0x161694={'TVTHI':function(_0x7e42f1,_0x450e3b,_0x509d99){return _0x7e42f1(_0x450e3b,_0x509d99);},'LAXaq':_0xaf6270(0x1ab)},_0x970380={'event':_0xaf6270(0x143),'status':_0x4f326f,'queryCount':_0x89d63d},_0x2a96a7='Transaction\x20'+_0x4f326f;logger['debug'](_0x970380,_0x2a96a7),_0x161694[_0xaf6270(0x1d9)](writeToFileLog,{..._0x970380,'level':'debug','msg':_0x2a96a7,'time':new Date()[_0xaf6270(0x188)]()},_0x161694['LAXaq']);},redactObject=_0x1d0180=>{const _0x1bb9f5=a0_0x9354c3,_0x9e9fdb={'GnryC':function(_0x3864ca,_0x15f5d2){return _0x3864ca!==_0x15f5d2;},'yBbjx':_0x1bb9f5(0x1d4),'TOCqb':_0x1bb9f5(0x1e3),'JGLqP':_0x1bb9f5(0x1c0),'Tmvqn':'secret','SPFaK':_0x1bb9f5(0x183),'iwChp':'authorization','ZqWPb':'creditcard','sCSHa':_0x1bb9f5(0x17c),'Hhsvj':'pin','HnzgG':'privatekey','BIkfv':'access_token','Rljcl':function(_0x585f38,_0x1fef35){return _0x585f38===_0x1fef35;}};if(!_0x1d0180||_0x9e9fdb['GnryC'](typeof _0x1d0180,_0x9e9fdb[_0x1bb9f5(0x1b2)]))return _0x1d0180;const _0x4b101a=[_0x9e9fdb[_0x1bb9f5(0x144)],_0x9e9fdb['JGLqP'],'pwd','token',_0x9e9fdb['Tmvqn'],_0x1bb9f5(0x15b),_0x9e9fdb['SPFaK'],_0x9e9fdb['iwChp'],_0x9e9fdb['ZqWPb'],_0x9e9fdb['sCSHa'],_0x1bb9f5(0x1c9),'ssn',_0x9e9fdb[_0x1bb9f5(0x159)],_0x1bb9f5(0x201),_0x9e9fdb['HnzgG'],_0x1bb9f5(0x1ca),_0x9e9fdb[_0x1bb9f5(0x197)]],_0x315b5c=Array[_0x1bb9f5(0x1dd)](_0x1d0180)?[..._0x1d0180]:{..._0x1d0180};for(const _0x17e347 of Object[_0x1bb9f5(0x203)](_0x315b5c)){const _0x5d6deb=_0x17e347['toLowerCase']();if(_0x4b101a[_0x1bb9f5(0x1a5)](_0x3ef360=>_0x5d6deb['includes'](_0x3ef360)))_0x315b5c[_0x17e347]='[REDACTED]';else _0x9e9fdb['Rljcl'](typeof _0x315b5c[_0x17e347],'object')&&_0x9e9fdb[_0x1bb9f5(0x1be)](_0x315b5c[_0x17e347],null)&&(_0x315b5c[_0x17e347]=redactObject(_0x315b5c[_0x17e347]));}return _0x315b5c;},logError=(_0x1ae71e,_0x4c0c1b={},_0x580c10=null)=>{const _0x1959d2=a0_0x9354c3,_0x3486a6={'UygDV':'Error','RhaVG':_0x1959d2(0x147)},_0x37e04e={'event':_0x1959d2(0x147),'errorName':_0x1ae71e[_0x1959d2(0x142)]||_0x3486a6[_0x1959d2(0x19c)],'errorMessage':_0x1ae71e['message'],'errorCode':_0x1ae71e['code']||null,'stack':_0x1ae71e[_0x1959d2(0x182)],..._0x4c0c1b},_0xc4142e=_0x580c10||'Error:\x20'+_0x1ae71e['message'];logger[_0x1959d2(0x147)](_0x37e04e,_0xc4142e),writeToFileLog({..._0x37e04e,'level':_0x3486a6['RhaVG'],'msg':_0xc4142e,'time':new Date()['toISOString']()},_0x1959d2(0x147));},logFatalError=(_0x333be7,_0x448ab8={},_0xcb6169=null)=>{const _0x5363c4=a0_0x9354c3,_0x184d02={'tzfNi':'Error','Vmuzs':'CRITICAL','RPFFB':_0x5363c4(0x141)},_0x561b8a={'event':_0x5363c4(0x155),'errorName':_0x333be7['name']||_0x184d02['tzfNi'],'errorMessage':_0x333be7[_0x5363c4(0x17d)],'errorCode':_0x333be7[_0x5363c4(0x178)]||null,'stack':_0x333be7[_0x5363c4(0x182)],'severity':_0x184d02['Vmuzs'],..._0x448ab8},_0x14570a=_0xcb6169||_0x5363c4(0x1e9)+_0x333be7['message'];logger[_0x5363c4(0x141)](_0x561b8a,_0x14570a),writeToFileLog({..._0x561b8a,'level':_0x184d02['RPFFB'],'msg':_0x14570a,'time':new Date()['toISOString']()},_0x5363c4(0x147));},logHttpError=(_0x55cb0e,_0x3b4167,_0x27fd72={})=>{const _0x359fb6=a0_0x9354c3,_0x3d0ecd={'FaupY':_0x359fb6(0x204),'zAnOn':_0x359fb6(0x1e5),'ytPUk':_0x359fb6(0x174),'beLNq':function(_0x4c820e,_0x54d452){return _0x4c820e(_0x54d452);},'pVkCS':function(_0x58b051,_0x510b03,_0x3e5fb3){return _0x58b051(_0x510b03,_0x3e5fb3);},'cSvNC':_0x359fb6(0x147),'xnkzP':_0x359fb6(0x1aa),'sjNAs':function(_0x1944df,_0x47097c){return _0x1944df>=_0x47097c;}},_0x3ebef3={'event':_0x3d0ecd[_0x359fb6(0x153)],'errorName':_0x55cb0e['name']||_0x3d0ecd['zAnOn'],'errorMessage':_0x55cb0e['message'],'errorCode':_0x55cb0e[_0x359fb6(0x178)]||_0x55cb0e[_0x359fb6(0x1fa)]||0x1f4,'stack':_0x55cb0e['stack'],'method':_0x3b4167?.[_0x359fb6(0x19e)],'url':_0x3b4167?.['url']||_0x3b4167?.[_0x359fb6(0x19f)],'path':_0x3b4167?.[_0x359fb6(0x1ba)],'ip':_0x3b4167?.['ip']||_0x3b4167?.[_0x359fb6(0x16d)]?.[_0x359fb6(0x1cf)],'userAgent':_0x3b4167?.['get']?.(_0x3d0ecd['ytPUk']),'requestId':_0x3b4167?.['id']||_0x3b4167?.['headers']?.[_0x359fb6(0x1b9)],'body':_0x3b4167?.[_0x359fb6(0x14c)]?_0x3d0ecd['beLNq'](redactObject,_0x3b4167['body']):undefined,'query':_0x3b4167?.['query'],..._0x27fd72},_0x11707f=_0x55cb0e['statusCode']||_0x55cb0e['status']||0x1f4,_0x22e3ab='HTTP\x20'+_0x11707f+':\x20'+_0x55cb0e[_0x359fb6(0x17d)];_0x11707f>=0x1f4?logger[_0x359fb6(0x147)](_0x3ebef3,_0x22e3ab):logger['warn'](_0x3ebef3,_0x22e3ab),_0x3d0ecd['pVkCS'](writeToFileLog,{..._0x3ebef3,'level':_0x11707f>=0x1f4?_0x3d0ecd[_0x359fb6(0x1bc)]:_0x3d0ecd[_0x359fb6(0x1c7)],'msg':_0x22e3ab,'time':new Date()[_0x359fb6(0x188)]()},_0x3d0ecd[_0x359fb6(0x1f7)](_0x11707f,0x1f4)?_0x359fb6(0x147):'warn');},logUncaughtError=(_0x2d8a6d,_0x77306f)=>{const _0xed55c2=a0_0x9354c3,_0x192240={'dcLVx':function(_0x55cdbd,_0x31f89e){return _0x55cdbd(_0x31f89e);},'vmbHH':_0xed55c2(0x141)},_0x42e7ab={'event':_0x2d8a6d,'errorName':_0x77306f?.[_0xed55c2(0x142)]||_0xed55c2(0x1e5),'errorMessage':_0x77306f?.['message']||_0x192240[_0xed55c2(0x1c8)](String,_0x77306f),'errorCode':_0x77306f?.[_0xed55c2(0x178)]||null,'stack':_0x77306f?.['stack'],'severity':'CRITICAL','processId':process[_0xed55c2(0x200)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x5a52c4='['+_0x2d8a6d[_0xed55c2(0x192)]()+']\x20'+(_0x77306f?.[_0xed55c2(0x17d)]||_0x77306f);logger['fatal'](_0x42e7ab,_0x5a52c4),writeToFileLog({..._0x42e7ab,'level':_0x192240[_0xed55c2(0x1ed)],'msg':_0x5a52c4,'time':new Date()[_0xed55c2(0x188)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x7743c8=a0_0x9354c3,_0x5631eb={'NBaDF':function(_0xc600b9,_0xad1611,_0x13bfdd){return _0xc600b9(_0xad1611,_0x13bfdd);},'YAGJh':_0x7743c8(0x164),'CGYSs':function(_0x5c0abb,_0x4be17c){return _0x5c0abb instanceof _0x4be17c;},'ULvsQ':function(_0x53d33d,_0x775a26){return _0x53d33d(_0x775a26);},'frjPp':'process_warning','jawgl':_0x7743c8(0x15a),'yrKCq':_0x7743c8(0x1eb),'NGaiU':_0x7743c8(0x18e)};process['on'](_0x5631eb['YAGJh'],_0x29afdc=>{const _0x2fd698=_0x7743c8;_0x5631eb[_0x2fd698(0x1ff)](logUncaughtError,_0x5631eb[_0x2fd698(0x146)],_0x29afdc),setTimeout(()=>{const _0x3c83f8=_0x2fd698;process[_0x3c83f8(0x190)](0x1);},0x3e8);}),process['on'](_0x7743c8(0x15e),(_0x1e3480,_0x36de42)=>{const _0x2aad92=_0x7743c8,_0x47e703=_0x5631eb['CGYSs'](_0x1e3480,Error)?_0x1e3480:new Error(_0x5631eb['ULvsQ'](String,_0x1e3480));logUncaughtError(_0x2aad92(0x15e),_0x47e703);}),process['on'](_0x5631eb['jawgl'],_0x40f523=>{const _0xb76396=_0x7743c8;logger['warn']({'event':_0x5631eb[_0xb76396(0x1ce)],'name':_0x40f523['name'],'message':_0x40f523[_0xb76396(0x17d)],'stack':_0x40f523[_0xb76396(0x182)]},'Process\x20Warning:\x20'+_0x40f523['message']);});const _0x419767={'event':_0x7743c8(0x154)},_0x5aab8d=_0x5631eb[_0x7743c8(0x152)];logger['info'](_0x419767,_0x5aab8d),_0x5631eb[_0x7743c8(0x1ff)](writeToFileLog,{..._0x419767,'level':_0x5631eb[_0x7743c8(0x1c2)],'msg':_0x5aab8d,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x8e0c97=a0_0x9354c3,_0x390434={'KcfDh':_0x8e0c97(0x195),'JukHl':'x-request-id'};return(_0x2cfdd1,_0x2eb923,_0x3115de,_0x497ef0)=>{const _0x39e16e=_0x8e0c97;logHttpError(_0x2cfdd1,_0x2eb923);const _0x34df42=_0x2cfdd1['statusCode']||_0x2cfdd1['status']||0x1f4;_0x3115de[_0x39e16e(0x167)](_0x34df42)['json']({'success':![],'error':_0x34df42>=0x1f4?_0x390434['KcfDh']:_0x2cfdd1[_0x39e16e(0x17d)],'requestId':_0x2eb923['id']||_0x2eb923['headers']?.[_0x390434['JukHl']]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x4feb94=a0_0x5102;function a0_0x5102(_0x14ec89,_0xa0b340){_0x14ec89=_0x14ec89-0x190;const _0x316f87=a0_0x316f();let _0x510267=_0x316f87[_0x14ec89];if(a0_0x5102['PnHgZY']===undefined){var _0x1dc066=function(_0x5a76cd){const _0x423b85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5283f2='',_0x5ce559='';for(let _0x2d566c=0x0,_0x457e12,_0x5aa734,_0x3d2833=0x0;_0x5aa734=_0x5a76cd['charAt'](_0x3d2833++);~_0x5aa734&&(_0x457e12=_0x2d566c%0x4?_0x457e12*0x40+_0x5aa734:_0x5aa734,_0x2d566c++%0x4)?_0x5283f2+=String['fromCharCode'](0xff&_0x457e12>>(-0x2*_0x2d566c&0x6)):0x0){_0x5aa734=_0x423b85['indexOf'](_0x5aa734);}for(let _0x594c3c=0x0,_0x1ddc61=_0x5283f2['length'];_0x594c3c<_0x1ddc61;_0x594c3c++){_0x5ce559+='%'+('00'+_0x5283f2['charCodeAt'](_0x594c3c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ce559);};a0_0x5102['bfktQx']=_0x1dc066,a0_0x5102['YdgoAJ']={},a0_0x5102['PnHgZY']=!![];}const _0x592ee3=_0x316f87[0x0],_0x1f6d64=_0x14ec89+_0x592ee3,_0x160ee5=a0_0x5102['YdgoAJ'][_0x1f6d64];return!_0x160ee5?(_0x510267=a0_0x5102['bfktQx'](_0x510267),a0_0x5102['YdgoAJ'][_0x1f6d64]=_0x510267):_0x510267=_0x160ee5,_0x510267;}(function(_0x47f9bb,_0x4bf619){const _0x50f4f6=a0_0x5102,_0x454f0b=_0x47f9bb();while(!![]){try{const _0x4409fd=parseInt(_0x50f4f6(0x1a2))/0x1+-parseInt(_0x50f4f6(0x1af))/0x2+parseInt(_0x50f4f6(0x1ba))/0x3*(-parseInt(_0x50f4f6(0x1b5))/0x4)+-parseInt(_0x50f4f6(0x1ac))/0x5*(parseInt(_0x50f4f6(0x192))/0x6)+-parseInt(_0x50f4f6(0x1b8))/0x7*(parseInt(_0x50f4f6(0x1bc))/0x8)+-parseInt(_0x50f4f6(0x1a6))/0x9+parseInt(_0x50f4f6(0x190))/0xa;if(_0x4409fd===_0x4bf619)break;else _0x454f0b['push'](_0x454f0b['shift']());}catch(_0x11ece3){_0x454f0b['push'](_0x454f0b['shift']());}}}(a0_0x316f,0xdf189));const dbType=(process['env'][a0_0x4feb94(0x199)]||a0_0x4feb94(0x1a0))['toLowerCase']();let executeQuery;function a0_0x316f(){const _0x54d871=['z1LiyMq','nZq3mdy0EffjAfbr','DhjPBq','BxLZCwW','Dg9mB3DLCKnHC2u','mta2nJm0nZbAuKP0z04','z2v0','Bg9VA3vWq2fJAgu','B3jHy2XL','ChvZAa','EvPwuxC','nJeYoduXnvDPy1nsEa','Evbzwxu','lI9SB2DNzxi','mJuYmZq3nfrpChDbsG','Avjdv1O','Ce1WzKO','C2XPy2u','zxHLy3v0zvf1zxj5','Bg9VA3vWx3rHyMXLx2XVywrLza','nty5mtiZnNPAC25QqG','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','tg9VA3vWignHy2HLignSzwfYzwq','ndy5nJnnugTUA3i','BwvZC2fNzq','m3vRBvPjCa','y2XLyxi','mZm2BK1hy05K','zM9YrwfJAa','ntu0mZu5ndbLzKDyALq','z2v0rgLZDgLUy3rwywX1zxm','nMnivwPvBq','BgvUz3rO','A2v5CW','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','u0vmrunuia','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','rejFvfLqrq','rxzkBNC','r25As1y','s3P2ueu','rvLmzgO','ywrK','lI9KyG','Cg9ZDgDYzxnXBa'];a0_0x316f=function(){return _0x54d871;};return a0_0x316f();}if(dbType===a0_0x4feb94(0x1a9)){const oracleDb=require('./db-oracle');executeQuery=(_0x4de536,_0x2f95ef)=>oracleDb[a0_0x4feb94(0x1b3)](_0x4de536,_0x2f95ef);}else{if(dbType===a0_0x4feb94(0x1a4)){const mysqlDb=require('./db-mysql');executeQuery=(_0x5d8fb1,_0x2ba8d3)=>mysqlDb['executeQuery'](_0x5d8fb1,_0x2ba8d3);}else executeQuery=require(a0_0x4feb94(0x19f))['executeQuery'];}const {logger}=require(a0_0x4feb94(0x1ae));class LookupResolver{constructor(){const _0x52ef54=a0_0x4feb94;this[_0x52ef54(0x1a8)]=new Map();}['clearCache'](){const _0x7cb553=a0_0x4feb94;this[_0x7cb553(0x1a8)][_0x7cb553(0x1bb)](),logger['debug']({'event':_0x7cb553(0x195)},_0x7cb553(0x1b7));}async['loadLookupTable'](_0x18ad7a,_0x51d270,_0x4c1535){const _0xd67b55=a0_0x4feb94,_0x3ea717={'gYHbd':function(_0x450e24,_0x12f4e6){return _0x450e24!==_0x12f4e6;},'lHqXw':function(_0x189309,_0x55d754){return _0x189309!==_0x55d754;},'GnZKV':function(_0x38bd56,_0x15511d){return _0x38bd56(_0x15511d);}},_0x11c92f=_0x18ad7a+':'+_0x51d270+':'+_0x4c1535;if(this['lookupCache'][_0xd67b55(0x198)](_0x11c92f))return this[_0xd67b55(0x1a8)]['get'](_0x11c92f);try{const _0x794950=_0xd67b55(0x196)+_0x4c1535+',\x20'+_0x51d270+'\x20FROM\x20'+_0x18ad7a,_0x448732=await executeQuery(_0x794950),_0x2c15ec=new Map();return _0x448732[_0xd67b55(0x1bd)](_0x598394=>{const _0x18c07f=_0xd67b55,_0x4fe363=_0x3ea717['gYHbd'](_0x598394[_0x51d270],undefined)?_0x598394[_0x51d270]:_0x598394[_0x51d270['toUpperCase']()],_0xd915e=_0x598394[_0x4c1535]!==undefined?_0x598394[_0x4c1535]:_0x598394[_0x4c1535['toUpperCase']()];_0x3ea717[_0x18c07f(0x1a1)](_0x4fe363,null)&&_0x3ea717['lHqXw'](_0x4fe363,undefined)&&(_0x2c15ec['set'](String(_0x4fe363)[_0x18c07f(0x1a5)]()[_0x18c07f(0x1a3)](),_0xd915e),_0x2c15ec['set'](_0x3ea717[_0x18c07f(0x19b)](String,_0x4fe363)['trim'](),_0xd915e));}),this[_0xd67b55(0x1a8)]['set'](_0x11c92f,_0x2c15ec),logger['info']({'event':_0xd67b55(0x1b4),'table':_0x18ad7a,'column':_0x51d270,'count':_0x448732['length']},'Lookup\x20table\x20loaded:\x20'+_0x18ad7a),_0x2c15ec;}catch(_0x768619){logger['error']({'event':'lookup_table_load_error','table':_0x18ad7a,'error':_0x768619[_0xd67b55(0x1b9)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x18ad7a);throw _0x768619;}}[a0_0x4feb94(0x197)](_0x172af8,_0x523199){const _0x1c8893=a0_0x4feb94,_0x5f5a77={'iRCWZ':function(_0x188234,_0x30a3df){return _0x188234===_0x30a3df;},'EYLdj':function(_0xedfda3,_0x5f167c){return _0xedfda3(_0x5f167c);}};if(_0x5f5a77['iRCWZ'](_0x172af8,null)||_0x5f5a77['iRCWZ'](_0x172af8,undefined)||_0x5f5a77[_0x1c8893(0x1b0)](_0x172af8,''))return null;const _0x59a931=_0x5f5a77[_0x1c8893(0x19d)](String,_0x172af8)[_0x1c8893(0x1a3)]();if(_0x523199[_0x1c8893(0x198)](_0x59a931))return _0x523199[_0x1c8893(0x1a7)](_0x59a931);const _0x46fa2d=_0x59a931['toLowerCase']();if(_0x523199['has'](_0x46fa2d))return _0x523199['get'](_0x46fa2d);return null;}async['processLookupFields'](_0x40f7c1,_0x73df33){const _0x374337=a0_0x4feb94,_0x4d01b1={'yZVQw':function(_0x48bd8c,_0x1ca2c){return _0x48bd8c===_0x1ca2c;},'kWqvQ':function(_0xb5b6f4,_0x247ff2){return _0xb5b6f4!==_0x247ff2;},'KzvPE':function(_0xcecf9b,_0x58f81f){return _0xcecf9b===_0x58f81f;},'EvJnw':'Lookup\x20fields\x20processed'};if(!_0x73df33||_0x4d01b1[_0x374337(0x19c)](Object[_0x374337(0x194)](_0x73df33)['length'],0x0))return{'processedRows':_0x40f7c1,'errors':[]};const _0x5636b7=[],_0xa7ef41=new Map();for(const [_0x3b326e,_0x31ef38]of Object['entries'](_0x73df33)){const {lookupTable:_0x531ad8,lookupColumn:_0x347867,lookupIdColumn:_0xfb767b}=_0x31ef38,_0x38df6d=_0x531ad8+':'+_0x347867+':'+_0xfb767b;if(!_0xa7ef41['has'](_0x38df6d)){const _0x1e9b5b=await this['loadLookupTable'](_0x531ad8,_0x347867,_0xfb767b);_0xa7ef41['set'](_0x38df6d,_0x1e9b5b);}}const _0x2bbd88=_0x40f7c1['map']((_0x240138,_0x2b1948)=>{const _0x2cfdc6=_0x374337,_0x6d2880={..._0x240138};for(const [_0xb66b47,_0x362948]of Object['entries'](_0x73df33)){const {lookupTable:_0x4508b7,lookupColumn:_0x4ccf9a,lookupIdColumn:_0x1afbcb,targetField:_0x594b20,required:_0x3ce1ec}=_0x362948,_0x526c3d=_0x4508b7+':'+_0x4ccf9a+':'+_0x1afbcb,_0x5ac014=_0xa7ef41[_0x2cfdc6(0x1a7)](_0x526c3d),_0x1b1db2=_0x240138[_0xb66b47];if((_0x1b1db2===null||_0x4d01b1['yZVQw'](_0x1b1db2,undefined)||_0x4d01b1[_0x2cfdc6(0x1ab)](_0x1b1db2,''))&&!_0x3ce1ec){_0x6d2880[_0x594b20]=null;continue;}const _0x18bedd=this[_0x2cfdc6(0x197)](_0x1b1db2,_0x5ac014);_0x4d01b1['kWqvQ'](_0x18bedd,null)?_0x6d2880[_0x594b20]=_0x18bedd:(_0x3ce1ec&&_0x5636b7[_0x2cfdc6(0x1aa)]({'rowIndex':_0x2b1948,'field':_0xb66b47,'value':_0x1b1db2,'targetField':_0x594b20,'lookupTable':_0x4508b7,'message':'Value\x20\x22'+_0x1b1db2+'\x22\x20not\x20found\x20in\x20'+_0x4508b7}),_0x6d2880[_0x594b20]=null);}return _0x6d2880;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x40f7c1['length'],'errorCount':_0x5636b7[_0x374337(0x193)],'lookupFieldCount':Object[_0x374337(0x194)](_0x73df33)[_0x374337(0x193)]},_0x4d01b1[_0x374337(0x19a)]),{'processedRows':_0x2bbd88,'errors':_0x5636b7};}['getDistinctValues'](_0x5b71f0,_0x41a133){const _0x2529ae=a0_0x4feb94,_0x532b81={'pMpfJ':function(_0x48483b,_0x27e794){return _0x48483b!==_0x27e794;},'HjzTS':function(_0x4476f2,_0x32e4fb){return _0x4476f2!==_0x32e4fb;}},_0x8961cf=new Set();return _0x5b71f0[_0x2529ae(0x1bd)](_0x5bb0fa=>{const _0x49aa4d=_0x2529ae,_0x931a2e=_0x5bb0fa[_0x41a133];_0x532b81[_0x49aa4d(0x1b1)](_0x931a2e,null)&&_0x532b81['HjzTS'](_0x931a2e,undefined)&&_0x931a2e!==''&&_0x8961cf[_0x49aa4d(0x19e)](String(_0x931a2e)['trim']());}),Array['from'](_0x8961cf);}async['validateLookupValues'](_0x182329,_0x495de7){const _0x2fa894=a0_0x4feb94,_0x49b54d={'AHaVR':function(_0x16f566,_0x2436bc){return _0x16f566!==_0x2436bc;},'ARuDG':function(_0x3af36a,_0x33ed88){return _0x3af36a===_0x33ed88;},'yPYYu':function(_0x1ccfd7,_0x2015bd){return _0x1ccfd7===_0x2015bd;}};if(!_0x495de7||_0x49b54d['ARuDG'](Object['keys'](_0x495de7)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x57562a=[],_0x2111cb={};for(const [_0x256153,_0x4c3150]of Object['entries'](_0x495de7)){const {lookupTable:_0x56a61c,lookupColumn:_0x433053,lookupIdColumn:_0x589b27,required:_0x5776d8}=_0x4c3150,_0x310f13=this[_0x2fa894(0x191)](_0x182329,_0x256153),_0x427129=await this['loadLookupTable'](_0x56a61c,_0x433053,_0x589b27),_0x3f0fa2=[],_0xe2d851=[];_0x310f13['forEach'](_0x580dcc=>{const _0x970c45=_0x2fa894,_0x189b49=this[_0x970c45(0x197)](_0x580dcc,_0x427129);_0x49b54d['AHaVR'](_0x189b49,null)?_0xe2d851[_0x970c45(0x1aa)](_0x580dcc):_0x3f0fa2[_0x970c45(0x1aa)](_0x580dcc);});if(_0x3f0fa2['length']>0x0&&_0x5776d8){_0x57562a[_0x2fa894(0x1aa)]({'field':_0x256153,'lookupTable':_0x56a61c,'invalidValues':_0x3f0fa2,'message':_0x3f0fa2['length']+_0x2fa894(0x1b6)+_0x56a61c});const _0x131f3a=[];_0x427129[_0x2fa894(0x1bd)]((_0x3e333d,_0x2e90ed)=>{if(_0x2e90ed===_0x2e90ed['toLowerCase']())return;_0x131f3a['push'](_0x2e90ed);}),_0x2111cb[_0x256153]={'invalidValues':_0x3f0fa2,'availableValues':_0x131f3a[_0x2fa894(0x1b2)](0x0,0x32)};}}return{'valid':_0x49b54d[_0x2fa894(0x1ad)](_0x57562a['length'],0x0),'errors':_0x57562a,'suggestions':_0x2111cb};}}module['exports']=new LookupResolver();
1
+ const a0_0x1f8e5b=a0_0x48cc;function a0_0x3b5b(){const _0x55f0dc=['Dg9mB3DLCKnHC2u','mKPqwNvLzW','u0vmrunuia','Cg9ZDgDYzxnXBa','ChvZAa','mti1ndqXnLHbD1vTuW','zM9YrwfJAa','runvEvu','lI9KyG','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','mtfKug5PyKK','z2v0rgLZDgLUy3rwywX1zxm','nJnQs1nhEe4','C2v0','CMvZB2X2zuXVB2T1CfzHBhvL','Bg9VA3vWx3rHyMXLx2XVywrLza','Dg9vChbLCKnHC2u','odiYotq2mgHbqvD2vG','BxLZCwW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','uNnithO','zgvIDwC','BwfW','BgvUz3rO','y2XLyxi','nda5otq2nfjstfj3CW','nND1yNjtBa','sM5SuwW','zM1JD2W','yMXqAMi','EwXIA20','rMfJB3q','lI9KyI1VCMfJBgu','A2v5CW','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','zw50CMLLCW','zxHLy3v0zvf1zxj5','q25hwhG','BwvZC2fNzq','Bg9HzeXVB2T1CfrHyMXL','nJC2mte2tKfhsKjW','mZqZmZeXmJb5DvbrsgC','ndu4nty5DfbUtu1n','Bg9VA3vWq2fJAgu','vMfSDwuGiG','Aw5MBW','tg9VA3vWignHy2HLignSzwfYzwq','wwnWAKK','mZGZmZG1muHvquDdEG','ywrK','DhjPBq'];a0_0x3b5b=function(){return _0x55f0dc;};return a0_0x3b5b();}(function(_0x36ef64,_0x1f46c1){const _0x45f2fb=a0_0x48cc,_0x10be95=_0x36ef64();while(!![]){try{const _0x4e2e1f=parseInt(_0x45f2fb(0x194))/0x1*(parseInt(_0x45f2fb(0x16b))/0x2)+parseInt(_0x45f2fb(0x192))/0x3+-parseInt(_0x45f2fb(0x183))/0x4+-parseInt(_0x45f2fb(0x17b))/0x5+-parseInt(_0x45f2fb(0x184))/0x6*(-parseInt(_0x45f2fb(0x167))/0x7)+-parseInt(_0x45f2fb(0x16f))/0x8*(parseInt(_0x45f2fb(0x176))/0x9)+parseInt(_0x45f2fb(0x193))/0xa*(parseInt(_0x45f2fb(0x174))/0xb);if(_0x4e2e1f===_0x1f46c1)break;else _0x10be95['push'](_0x10be95['shift']());}catch(_0x4fbe13){_0x10be95['push'](_0x10be95['shift']());}}}(a0_0x3b5b,0xdad76));function a0_0x48cc(_0x2b17b7,_0x3385be){_0x2b17b7=_0x2b17b7-0x165;const _0x3b5bf0=a0_0x3b5b();let _0x48ccf1=_0x3b5bf0[_0x2b17b7];if(a0_0x48cc['jkurQB']===undefined){var _0x3156b4=function(_0x4815b8){const _0x45dc87='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d8d27='',_0x45d8a9='';for(let _0x312d9=0x0,_0x519ebe,_0x18e9ca,_0x389016=0x0;_0x18e9ca=_0x4815b8['charAt'](_0x389016++);~_0x18e9ca&&(_0x519ebe=_0x312d9%0x4?_0x519ebe*0x40+_0x18e9ca:_0x18e9ca,_0x312d9++%0x4)?_0x1d8d27+=String['fromCharCode'](0xff&_0x519ebe>>(-0x2*_0x312d9&0x6)):0x0){_0x18e9ca=_0x45dc87['indexOf'](_0x18e9ca);}for(let _0x326c7a=0x0,_0x93b1b4=_0x1d8d27['length'];_0x326c7a<_0x93b1b4;_0x326c7a++){_0x45d8a9+='%'+('00'+_0x1d8d27['charCodeAt'](_0x326c7a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45d8a9);};a0_0x48cc['HrrSKS']=_0x3156b4,a0_0x48cc['EIKlfZ']={},a0_0x48cc['jkurQB']=!![];}const _0x512b48=_0x3b5bf0[0x0],_0x1fc8a9=_0x2b17b7+_0x512b48,_0x2dae38=a0_0x48cc['EIKlfZ'][_0x1fc8a9];return!_0x2dae38?(_0x48ccf1=a0_0x48cc['HrrSKS'](_0x48ccf1),a0_0x48cc['EIKlfZ'][_0x1fc8a9]=_0x48ccf1):_0x48ccf1=_0x2dae38,_0x48ccf1;}const dbType=(process['env']['DB_TYPE']||a0_0x1f8e5b(0x16d))[a0_0x1f8e5b(0x16a)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x1f8e5b(0x18a));executeQuery=(_0x3407b6,_0x5ccfd7)=>oracleDb[a0_0x1f8e5b(0x18e)](_0x3407b6,_0x5ccfd7);}else{if(dbType===a0_0x1f8e5b(0x17c)){const mysqlDb=require('./db-mysql');executeQuery=(_0x32b45f,_0x5b293e)=>mysqlDb[a0_0x1f8e5b(0x18e)](_0x32b45f,_0x5b293e);}else executeQuery=require(a0_0x1f8e5b(0x172))['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x7985d6=a0_0x1f8e5b;this['lookupCache'][_0x7985d6(0x182)](),logger[_0x7985d6(0x17f)]({'event':_0x7985d6(0x18c)},_0x7985d6(0x165));}async['loadLookupTable'](_0x545ed9,_0x4e41aa,_0x2f839f){const _0x578d4b=a0_0x1f8e5b,_0x3684e0={'RsHLz':function(_0x3b8043,_0x176947){return _0x3b8043!==_0x176947;},'ECUyU':function(_0x2d655c,_0xa0a496){return _0x2d655c!==_0xa0a496;},'CnGXx':function(_0x58183d,_0x246d2d){return _0x58183d!==_0x246d2d;},'zAhae':_0x578d4b(0x179),'YETJE':'lookup_table_load_error'},_0x4d8b13=_0x545ed9+':'+_0x4e41aa+':'+_0x2f839f;if(this[_0x578d4b(0x195)]['has'](_0x4d8b13))return this['lookupCache']['get'](_0x4d8b13);try{const _0x18862d=_0x578d4b(0x16c)+_0x2f839f+',\x20'+_0x4e41aa+'\x20FROM\x20'+_0x545ed9,_0x51a00e=await executeQuery(_0x18862d),_0x325cf7=new Map();return _0x51a00e[_0x578d4b(0x170)](_0x112ef6=>{const _0x2dc723=_0x578d4b,_0x281d3d=_0x3684e0['RsHLz'](_0x112ef6[_0x4e41aa],undefined)?_0x112ef6[_0x4e41aa]:_0x112ef6[_0x4e41aa[_0x2dc723(0x17a)]()],_0xc7c846=_0x3684e0[_0x2dc723(0x171)](_0x112ef6[_0x2f839f],undefined)?_0x112ef6[_0x2f839f]:_0x112ef6[_0x2f839f[_0x2dc723(0x17a)]()];_0x3684e0[_0x2dc723(0x18f)](_0x281d3d,null)&&_0x3684e0[_0x2dc723(0x17e)](_0x281d3d,undefined)&&(_0x325cf7[_0x2dc723(0x177)](String(_0x281d3d)[_0x2dc723(0x16a)]()[_0x2dc723(0x169)](),_0xc7c846),_0x325cf7[_0x2dc723(0x177)](String(_0x281d3d)['trim'](),_0xc7c846));}),this[_0x578d4b(0x195)][_0x578d4b(0x177)](_0x4d8b13,_0x325cf7),logger['info']({'event':_0x3684e0['zAhae'],'table':_0x545ed9,'column':_0x4e41aa,'count':_0x51a00e[_0x578d4b(0x181)]},'Lookup\x20table\x20loaded:\x20'+_0x545ed9),_0x325cf7;}catch(_0x5a5f34){logger['error']({'event':_0x3684e0['YETJE'],'table':_0x545ed9,'error':_0x5a5f34[_0x578d4b(0x190)]},_0x578d4b(0x173)+_0x545ed9);throw _0x5a5f34;}}[a0_0x1f8e5b(0x178)](_0x5ec409,_0x4990a2){const _0x3ec9dc=a0_0x1f8e5b,_0x5c2eb8={'Facot':function(_0x2816d3,_0x444ef1){return _0x2816d3===_0x444ef1;},'RbFKe':function(_0x45f31b,_0x14e755){return _0x45f31b===_0x14e755;},'OfXfU':function(_0x17de01,_0x30c129){return _0x17de01===_0x30c129;},'YcpjI':function(_0x22fd79,_0xdd04a8){return _0x22fd79(_0xdd04a8);}};if(_0x5c2eb8[_0x3ec9dc(0x189)](_0x5ec409,null)||_0x5c2eb8['RbFKe'](_0x5ec409,undefined)||_0x5c2eb8['OfXfU'](_0x5ec409,''))return null;const _0x4b3f89=_0x5c2eb8[_0x3ec9dc(0x166)](String,_0x5ec409)[_0x3ec9dc(0x169)]();if(_0x4990a2['has'](_0x4b3f89))return _0x4990a2['get'](_0x4b3f89);const _0x2f7ed0=_0x4b3f89['toLowerCase']();if(_0x4990a2['has'](_0x2f7ed0))return _0x4990a2['get'](_0x2f7ed0);return null;}async['processLookupFields'](_0x4b279a,_0x195e9f){const _0x3a7ba9=a0_0x1f8e5b,_0x48c1dc={'blPjb':function(_0x17cd73,_0x8b9155){return _0x17cd73===_0x8b9155;},'HpoRi':'lookup_fields_processed'};if(!_0x195e9f||Object['keys'](_0x195e9f)['length']===0x0)return{'processedRows':_0x4b279a,'errors':[]};const _0x47157a=[],_0x403432=new Map();for(const [_0x37e9cc,_0x535b54]of Object['entries'](_0x195e9f)){const {lookupTable:_0x546536,lookupColumn:_0x2abcf9,lookupIdColumn:_0x304150}=_0x535b54,_0x240982=_0x546536+':'+_0x2abcf9+':'+_0x304150;if(!_0x403432['has'](_0x240982)){const _0x3518f5=await this[_0x3a7ba9(0x191)](_0x546536,_0x2abcf9,_0x304150);_0x403432[_0x3a7ba9(0x177)](_0x240982,_0x3518f5);}}const _0x54139b=_0x4b279a[_0x3a7ba9(0x180)]((_0x51f621,_0x58bb6a)=>{const _0x5d9320=_0x3a7ba9,_0x7a70f8={..._0x51f621};for(const [_0x36365c,_0x4feab0]of Object['entries'](_0x195e9f)){const {lookupTable:_0x343a66,lookupColumn:_0x49c659,lookupIdColumn:_0x3c3cc0,targetField:_0xecd121,required:_0x267687}=_0x4feab0,_0x10824a=_0x343a66+':'+_0x49c659+':'+_0x3c3cc0,_0x4d029e=_0x403432['get'](_0x10824a),_0x2568fe=_0x51f621[_0x36365c];if((_0x48c1dc['blPjb'](_0x2568fe,null)||_0x2568fe===undefined||_0x48c1dc[_0x5d9320(0x187)](_0x2568fe,''))&&!_0x267687){_0x7a70f8[_0xecd121]=null;continue;}const _0x3b218a=this[_0x5d9320(0x178)](_0x2568fe,_0x4d029e);_0x3b218a!==null?_0x7a70f8[_0xecd121]=_0x3b218a:(_0x267687&&_0x47157a[_0x5d9320(0x16e)]({'rowIndex':_0x58bb6a,'field':_0x36365c,'value':_0x2568fe,'targetField':_0xecd121,'lookupTable':_0x343a66,'message':_0x5d9320(0x196)+_0x2568fe+'\x22\x20not\x20found\x20in\x20'+_0x343a66}),_0x7a70f8[_0xecd121]=null);}return _0x7a70f8;});return logger[_0x3a7ba9(0x197)]({'event':_0x48c1dc['HpoRi'],'totalRows':_0x4b279a['length'],'errorCount':_0x47157a['length'],'lookupFieldCount':Object[_0x3a7ba9(0x18b)](_0x195e9f)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x54139b,'errors':_0x47157a};}[a0_0x1f8e5b(0x175)](_0x30c33a,_0x1e68d3){const _0x3b30b8={'GOjjy':function(_0x4bd2fd,_0x43d3cd){return _0x4bd2fd!==_0x43d3cd;},'ylbkm':function(_0x57eded,_0xdeef95){return _0x57eded!==_0xdeef95;},'rrFsS':function(_0x223e2c,_0x315f69){return _0x223e2c(_0x315f69);}},_0x49ff4d=new Set();return _0x30c33a['forEach'](_0x554a8c=>{const _0x3cf40a=a0_0x48cc,_0x4d4805=_0x554a8c[_0x1e68d3];_0x4d4805!==null&&_0x3b30b8['GOjjy'](_0x4d4805,undefined)&&_0x3b30b8[_0x3cf40a(0x188)](_0x4d4805,'')&&_0x49ff4d[_0x3cf40a(0x168)](_0x3b30b8['rrFsS'](String,_0x4d4805)[_0x3cf40a(0x169)]());}),Array['from'](_0x49ff4d);}async['validateLookupValues'](_0xf71a13,_0x1a330e){const _0x56a7f0=a0_0x1f8e5b,_0x4c0d02={'NBmve':function(_0x132b40,_0x41eb28){return _0x132b40!==_0x41eb28;},'JnlQl':function(_0x56c5d7,_0x2fc0cc){return _0x56c5d7===_0x2fc0cc;},'fmcwl':function(_0x2ef399,_0x3180ca){return _0x2ef399===_0x3180ca;}};if(!_0x1a330e||Object['keys'](_0x1a330e)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x1643e8=[],_0x3be6c1={};for(const [_0x4ad1f1,_0x241ae2]of Object[_0x56a7f0(0x18d)](_0x1a330e)){const {lookupTable:_0x68a381,lookupColumn:_0xfad1ad,lookupIdColumn:_0x38758a,required:_0x4eeecb}=_0x241ae2,_0x4ee490=this[_0x56a7f0(0x175)](_0xf71a13,_0x4ad1f1),_0x28feff=await this[_0x56a7f0(0x191)](_0x68a381,_0xfad1ad,_0x38758a),_0x40ce07=[],_0x45dd6e=[];_0x4ee490[_0x56a7f0(0x170)](_0x368f4a=>{const _0x4c76f1=_0x56a7f0,_0x56e187=this['resolveLookupValue'](_0x368f4a,_0x28feff);_0x4c0d02['NBmve'](_0x56e187,null)?_0x45dd6e[_0x4c76f1(0x16e)](_0x368f4a):_0x40ce07[_0x4c76f1(0x16e)](_0x368f4a);});if(_0x40ce07[_0x56a7f0(0x181)]>0x0&&_0x4eeecb){_0x1643e8['push']({'field':_0x4ad1f1,'lookupTable':_0x68a381,'invalidValues':_0x40ce07,'message':_0x40ce07[_0x56a7f0(0x181)]+_0x56a7f0(0x17d)+_0x68a381});const _0x3acc3c=[];_0x28feff[_0x56a7f0(0x170)]((_0x391ff5,_0x2ea16a)=>{const _0x37c486=_0x56a7f0;if(_0x4c0d02[_0x37c486(0x185)](_0x2ea16a,_0x2ea16a[_0x37c486(0x16a)]()))return;_0x3acc3c['push'](_0x2ea16a);}),_0x3be6c1[_0x4ad1f1]={'invalidValues':_0x40ce07,'availableValues':_0x3acc3c['slice'](0x0,0x32)};}}return{'valid':_0x4c0d02[_0x56a7f0(0x186)](_0x1643e8['length'],0x0),'errors':_0x1643e8,'suggestions':_0x3be6c1};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x19f2de=a0_0x117e;(function(_0x49a70a,_0x16cbd0){const _0x721db4=a0_0x117e,_0x1a291f=_0x49a70a();while(!![]){try{const _0x411e17=parseInt(_0x721db4(0x17f))/0x1+-parseInt(_0x721db4(0x18a))/0x2*(-parseInt(_0x721db4(0x18e))/0x3)+-parseInt(_0x721db4(0x179))/0x4+-parseInt(_0x721db4(0x193))/0x5+-parseInt(_0x721db4(0x188))/0x6*(parseInt(_0x721db4(0x17e))/0x7)+parseInt(_0x721db4(0x191))/0x8+parseInt(_0x721db4(0x189))/0x9;if(_0x411e17===_0x16cbd0)break;else _0x1a291f['push'](_0x1a291f['shift']());}catch(_0x6fa82d){_0x1a291f['push'](_0x1a291f['shift']());}}}(a0_0xbbb5,0x31d28));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x22c38e=a0_0x117e,_0x4c81d6={'VQouj':_0x22c38e(0x196)};this['payloadDir']=path[_0x22c38e(0x18d)](__dirname,_0x4c81d6[_0x22c38e(0x198)]),this[_0x22c38e(0x17a)]=new Map();}async[a0_0x19f2de(0x197)](_0x5892eb,_0x4d7b3b){const _0x2af56a=a0_0x19f2de,_0x50c4c4={'myZGc':'payload_loaded','AJRbX':_0x2af56a(0x178)},_0x412789=_0x5892eb+':'+_0x4d7b3b;if(this[_0x2af56a(0x17a)][_0x2af56a(0x199)](_0x412789))return this[_0x2af56a(0x17a)][_0x2af56a(0x18c)](_0x412789);const _0x206750=path['join'](this['payloadDir'],_0x5892eb+'_'+_0x4d7b3b+_0x2af56a(0x177));try{const _0x542fac=await fs[_0x2af56a(0x187)](_0x206750,'utf8'),_0x51a255=JSON[_0x2af56a(0x17b)](_0x542fac);return this['cache']['set'](_0x412789,_0x51a255),logger[_0x2af56a(0x175)]({'event':_0x50c4c4['myZGc'],'project':_0x5892eb,'resource':_0x4d7b3b},'Payload\x20loaded\x20successfully'),_0x51a255;}catch(_0x2633f3){logger['error']({'event':'payload_load_error','project':_0x5892eb,'resource':_0x4d7b3b,'error':_0x2633f3['message']},_0x50c4c4['AJRbX']);throw new Error('Payload\x20not\x20found:\x20'+_0x5892eb+'_'+_0x4d7b3b);}}async[a0_0x19f2de(0x176)](_0x4cce27){const _0x5c0933=a0_0x19f2de,_0x343bbf={'hBxPg':_0x5c0933(0x18f),'PuWGO':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x1ca896=_0x5c0933(0x184)+_0x4cce27;if(this['cache']['has'](_0x1ca896))return this['cache'][_0x5c0933(0x18c)](_0x1ca896);const _0x37516=path[_0x5c0933(0x18d)](this['payloadDir'],_0x4cce27+_0x5c0933(0x177));try{const _0x1d0696=await fs[_0x5c0933(0x187)](_0x37516,_0x343bbf[_0x5c0933(0x17d)]),_0x1a7b56=JSON[_0x5c0933(0x17b)](_0x1d0696);return this[_0x5c0933(0x17a)]['set'](_0x1ca896,_0x1a7b56),logger[_0x5c0933(0x175)]({'event':_0x5c0933(0x192),'payloadName':_0x4cce27},_0x343bbf['PuWGO']),_0x1a7b56;}catch(_0x38c3ce){logger[_0x5c0933(0x17c)]({'event':_0x5c0933(0x182),'payloadName':_0x4cce27,'error':_0x38c3ce[_0x5c0933(0x18b)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x5c0933(0x185)+_0x4cce27);}}[a0_0x19f2de(0x195)](_0x2ab1c0,_0x425036){const _0xba3e8b=a0_0x19f2de,_0x4107b5={'OUeIB':function(_0x166a92,_0x959f71){return _0x166a92===_0x959f71;}};return _0x2ab1c0[_0xba3e8b(0x186)]&&_0x4107b5[_0xba3e8b(0x194)](_0x2ab1c0[_0xba3e8b(0x186)][_0x425036],!![]);}[a0_0x19f2de(0x174)](_0x3e5293){const _0x59f708=a0_0x19f2de;return{'columns':_0x3e5293['fieldName']||[],'filename':_0x3e5293[_0x59f708(0x180)]['replace']('.','-')+'-export','datatablesQuery':_0x3e5293[_0x59f708(0x190)]||null,'columnFormats':_0x3e5293['columnFormats']||null,'fieldLabels':_0x3e5293['fieldLabels']||null};}['clearCache'](){const _0x3c9483=a0_0x19f2de,_0x4e2ab9={'gZBlq':'payload_cache_cleared','Qyfsl':'Payload\x20cache\x20cleared'};this[_0x3c9483(0x17a)][_0x3c9483(0x19a)](),logger[_0x3c9483(0x183)]({'event':_0x4e2ab9[_0x3c9483(0x181)]},_0x4e2ab9['Qyfsl']);}}function a0_0xbbb5(){const _0x4c5fd7=['AM9PBG','m1zYrur3DW','DxrMoa','zgf0yxrHyMXLC1f1zxj5','mteWmZyYnhLwvezuAa','Cgf5Bg9Hzf9SB2fKzwq','mtC2nZuYmgnUAxbLEa','t1vLsui','Axnby3rPB25fBMfIBgvK','lI4VlI4VCgf5Bg9Hza','Bg9HzfbHEwXVywq','vLfVDwO','AgfZ','y2XLyxi','z2v0rxHWB3j0q29UzMLN','zgvIDwC','Bg9HzfbHEwXVywrcEu5HBwu','lMPZB24','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtmWmZi1mMfZrez5Dq','y2fJAgu','CgfYC2u','zxjYB3i','Aej4ugC','ndyXm3fWA3DIyq','mtu4oty1vfDzsM93','DgfIBgvoyw1L','z1PcBhe','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Aw5MBW','Cgf5Bg9HzdO','ugf5Bg9HzcbUB3qGzM91BMq6ia','ywn0Aw9U','CMvHzezPBgu','mJiZmND3tNzbsW','ndi2mdy1ngnov2Lssa','nZe2ndi2yLHMEwDI','BwvZC2fNzq','z2v0'];a0_0xbbb5=function(){return _0x4c5fd7;};return a0_0xbbb5();}function a0_0x117e(_0x99bfcc,_0x4b5ba6){_0x99bfcc=_0x99bfcc-0x174;const _0xbbb5be=a0_0xbbb5();let _0x117ecb=_0xbbb5be[_0x99bfcc];if(a0_0x117e['aeUKHT']===undefined){var _0x507e5b=function(_0x132971){const _0xa926ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2053bb='',_0x1fb7b0='';for(let _0x482c67=0x0,_0xc6d68,_0x5f3ded,_0x55c0c4=0x0;_0x5f3ded=_0x132971['charAt'](_0x55c0c4++);~_0x5f3ded&&(_0xc6d68=_0x482c67%0x4?_0xc6d68*0x40+_0x5f3ded:_0x5f3ded,_0x482c67++%0x4)?_0x2053bb+=String['fromCharCode'](0xff&_0xc6d68>>(-0x2*_0x482c67&0x6)):0x0){_0x5f3ded=_0xa926ba['indexOf'](_0x5f3ded);}for(let _0x45d763=0x0,_0x2676f4=_0x2053bb['length'];_0x45d763<_0x2676f4;_0x45d763++){_0x1fb7b0+='%'+('00'+_0x2053bb['charCodeAt'](_0x45d763)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fb7b0);};a0_0x117e['eyuOER']=_0x507e5b,a0_0x117e['fJFSqU']={},a0_0x117e['aeUKHT']=!![];}const _0x12d549=_0xbbb5be[0x0],_0x2dc39e=_0x99bfcc+_0x12d549,_0x128554=a0_0x117e['fJFSqU'][_0x2dc39e];return!_0x128554?(_0x117ecb=a0_0x117e['eyuOER'](_0x117ecb),a0_0x117e['fJFSqU'][_0x2dc39e]=_0x117ecb):_0x117ecb=_0x128554,_0x117ecb;}module['exports']=new PayloadLoader();
1
+ function a0_0x3514(_0x301813,_0x555ec1){_0x301813=_0x301813-0xf0;const _0x35ca98=a0_0x35ca();let _0x3514cd=_0x35ca98[_0x301813];if(a0_0x3514['hNXNSX']===undefined){var _0x27c7e7=function(_0x544db6){const _0x52bb70='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50da85='',_0x25fcd2='';for(let _0x4432bc=0x0,_0x2a276a,_0x43d6ab,_0x430a1a=0x0;_0x43d6ab=_0x544db6['charAt'](_0x430a1a++);~_0x43d6ab&&(_0x2a276a=_0x4432bc%0x4?_0x2a276a*0x40+_0x43d6ab:_0x43d6ab,_0x4432bc++%0x4)?_0x50da85+=String['fromCharCode'](0xff&_0x2a276a>>(-0x2*_0x4432bc&0x6)):0x0){_0x43d6ab=_0x52bb70['indexOf'](_0x43d6ab);}for(let _0x52374b=0x0,_0x34c632=_0x50da85['length'];_0x52374b<_0x34c632;_0x52374b++){_0x25fcd2+='%'+('00'+_0x50da85['charCodeAt'](_0x52374b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25fcd2);};a0_0x3514['bslTlP']=_0x27c7e7,a0_0x3514['RvMfWi']={},a0_0x3514['hNXNSX']=!![];}const _0x50f20d=_0x35ca98[0x0],_0x5e2a21=_0x301813+_0x50f20d,_0xfdf853=a0_0x3514['RvMfWi'][_0x5e2a21];return!_0xfdf853?(_0x3514cd=a0_0x3514['bslTlP'](_0x3514cd),a0_0x3514['RvMfWi'][_0x5e2a21]=_0x3514cd):_0x3514cd=_0xfdf853,_0x3514cd;}const a0_0x43faf4=a0_0x3514;(function(_0x4ac048,_0x1aba1b){const _0x22becd=a0_0x3514,_0x5d75a0=_0x4ac048();while(!![]){try{const _0x35e8d7=-parseInt(_0x22becd(0x100))/0x1*(-parseInt(_0x22becd(0x103))/0x2)+parseInt(_0x22becd(0x11b))/0x3*(parseInt(_0x22becd(0x114))/0x4)+parseInt(_0x22becd(0x109))/0x5*(parseInt(_0x22becd(0xf6))/0x6)+parseInt(_0x22becd(0xf7))/0x7*(-parseInt(_0x22becd(0x11c))/0x8)+parseInt(_0x22becd(0x119))/0x9*(-parseInt(_0x22becd(0x10b))/0xa)+-parseInt(_0x22becd(0x10a))/0xb*(parseInt(_0x22becd(0xf9))/0xc)+parseInt(_0x22becd(0xfd))/0xd;if(_0x35e8d7===_0x1aba1b)break;else _0x5d75a0['push'](_0x5d75a0['shift']());}catch(_0x41b09f){_0x5d75a0['push'](_0x5d75a0['shift']());}}}(a0_0x35ca,0xcb052));const fs=require('fs')[a0_0x43faf4(0x10f)],path=require('path'),{logger}=require(a0_0x43faf4(0xf4));function a0_0x35ca(){const _0x4a36d9=['Aw5MBW','CMvWBgfJzq','mtKWndC4nJbOAujjBgS','Axnby3rPB25fBMfIBgvK','y2fJAgu','mND6rLf1zq','zxHWB3j0CW','BKPmAMC','mJi4mdG2BNfzBwjN','ywn0Aw9U','Bg9HzfbHEwXVywq','ugf5Bg9HzcbUB3qGzM91BMq6ia','Cgf5Bg9Hzf9SB2fKzwq','AgfZ','nJvmqMvot2y','mte4mJmYntfIvwP4wLG','odbXCMj2Dwy','Bg9HzfbHEwXVywrcEu5HBwu','Cgf5Bg9HzdO','BwvZC2fNzq','ChjVBwLZzxm','CgfYC2u','y29SDw1UrM9YBwf0CW','lMPZB24','CMvHzezPBgu','otm3ndq0ruvKwKrS','DxrMoa','Cgf5Bg9HzerPCG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','z2v0','nJy0mdGZv3DkDMrk','C2v0','nKLpBuP2vG','ndaWvM5hD2T3','AM9PBG','wfDKCem','zgvIDwC','lI4VlI4VCgf5Bg9Hza','BujAuhq','lI9SB2DNzxi','DgfIBgvoyw1L','ntyXndK4D2Lssg1h','mtiZndy2A2D3whjW','yuPNswm','mtjPC09ozKG','zgf0yxrHyMXLC1f1zxj5'];a0_0x35ca=function(){return _0x4a36d9;};return a0_0x35ca();}class PayloadLoader{constructor(){const _0x5bbb9d=a0_0x43faf4;this[_0x5bbb9d(0x116)]=path[_0x5bbb9d(0x11d)](__dirname,_0x5bbb9d(0xf2)),this[_0x5bbb9d(0xff)]=new Map();}async[a0_0x43faf4(0x105)](_0x23aa7f,_0x227ec7){const _0x3f4f30=a0_0x43faf4,_0x320781={'mBZPt':_0x3f4f30(0x107),'XWdpC':'Payload\x20loaded\x20successfully','uzVfx':_0x3f4f30(0x117),'gLIRX':'Failed\x20to\x20load\x20payload'},_0x216866=_0x23aa7f+':'+_0x227ec7;if(this[_0x3f4f30(0xff)][_0x3f4f30(0x108)](_0x216866))return this[_0x3f4f30(0xff)]['get'](_0x216866);const _0x413e21=path['join'](this['payloadDir'],_0x23aa7f+'_'+_0x227ec7+_0x3f4f30(0x112));try{const _0x4b7841=await fs[_0x3f4f30(0x113)](_0x413e21,'utf8'),_0x2cc813=JSON[_0x3f4f30(0x110)](_0x4b7841);return this['cache'][_0x3f4f30(0x11a)](_0x216866,_0x2cc813),logger[_0x3f4f30(0xf1)]({'event':_0x320781[_0x3f4f30(0xf3)],'project':_0x23aa7f,'resource':_0x227ec7},_0x320781[_0x3f4f30(0xf0)]),_0x2cc813;}catch(_0x122dea){logger['error']({'event':_0x320781['uzVfx'],'project':_0x23aa7f,'resource':_0x227ec7,'error':_0x122dea['message']},_0x320781['gLIRX']);throw new Error(_0x3f4f30(0x106)+_0x23aa7f+'_'+_0x227ec7);}}async[a0_0x43faf4(0x10c)](_0x146db8){const _0x181736=a0_0x43faf4,_0x2cb7a7={'aJgIc':_0x181736(0x115)},_0x419d09=_0x181736(0x10d)+_0x146db8;if(this['cache'][_0x181736(0x108)](_0x419d09))return this['cache'][_0x181736(0x118)](_0x419d09);const _0x5384cc=path['join'](this[_0x181736(0x116)],_0x146db8+'.json');try{const _0x2443cc=await fs[_0x181736(0x113)](_0x5384cc,_0x2cb7a7[_0x181736(0xf8)]),_0x193ab6=JSON[_0x181736(0x110)](_0x2443cc);return this['cache'][_0x181736(0x11a)](_0x419d09,_0x193ab6),logger[_0x181736(0xf1)]({'event':'payload_loaded','payloadName':_0x146db8},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x193ab6;}catch(_0x1e0728){logger['error']({'event':'payload_load_error','payloadName':_0x146db8,'error':_0x1e0728[_0x181736(0x10e)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x181736(0x106)+_0x146db8);}}[a0_0x43faf4(0xfe)](_0x1b80b0,_0x1a2ecd){const _0x476f27=a0_0x43faf4,_0x248a36={'femrZ':function(_0x102126,_0x3a09c3){return _0x102126===_0x3a09c3;}};return _0x1b80b0[_0x476f27(0x104)]&&_0x248a36['femrZ'](_0x1b80b0['action'][_0x1a2ecd],!![]);}['getExportConfig'](_0x4863ee){const _0x47302b=a0_0x43faf4;return{'columns':_0x4863ee['fieldName']||[],'filename':_0x4863ee[_0x47302b(0xf5)][_0x47302b(0xfc)]('.','-')+'-export','datatablesQuery':_0x4863ee[_0x47302b(0xfa)]||null,'columnFormats':_0x4863ee[_0x47302b(0x111)]||null,'fieldLabels':_0x4863ee['fieldLabels']||null};}['clearCache'](){const _0x2fcb72=a0_0x43faf4,_0x511b48={'mAHQu':'payload_cache_cleared','nJLjg':'Payload\x20cache\x20cleared'};this[_0x2fcb72(0xff)]['clear'](),logger[_0x2fcb72(0xfb)]({'event':_0x511b48['mAHQu']},_0x511b48[_0x2fcb72(0x102)]);}}module[a0_0x43faf4(0x101)]=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x249d25,_0x38be1b){var _0xd5b4fa=a0_0x550b,_0x1ac3c7=_0x249d25();while(!![]){try{var _0x1e7be7=-parseInt(_0xd5b4fa(0xfe))/0x1*(parseInt(_0xd5b4fa(0xf8))/0x2)+-parseInt(_0xd5b4fa(0xfc))/0x3*(-parseInt(_0xd5b4fa(0x100))/0x4)+parseInt(_0xd5b4fa(0xff))/0x5+parseInt(_0xd5b4fa(0xfb))/0x6+parseInt(_0xd5b4fa(0xf9))/0x7+parseInt(_0xd5b4fa(0xfd))/0x8+-parseInt(_0xd5b4fa(0xfa))/0x9;if(_0x1e7be7===_0x38be1b)break;else _0x1ac3c7['push'](_0x1ac3c7['shift']());}catch(_0x5f15ad){_0x1ac3c7['push'](_0x1ac3c7['shift']());}}}(a0_0x1b49,0x98723));function a0_0x1b49(){var _0x22802e=['mJa0mZmZmZLJDfvJzuO','nJu2mJCWnhjlwM9dDq','m05Nq3jLBG','nJiXodqXnKfjvKjuDW','mvrctvDdrG','mZm3mJK1zhfbBuf0','nda4mJC2ogHLu3zpEq','Dg9ju09tDhjPBMC','mtC5odq3me10DgDmza','ntG0mZuXnKzOvM1PzG'];a0_0x1b49=function(){return _0x22802e;};return a0_0x1b49();}function createResponse(_0x5c8f29,_0x368f95,_0x23eadd=null){return{'success':!![],'statusCode':_0x5c8f29,'message':_0x368f95,'data':_0x23eadd,'timestamp':new Date()['toISOString']()};}function createError(_0x54658f,_0x406472,_0x4317cb=null){var _0x517ff0=a0_0x550b;return{'success':![],'statusCode':_0x54658f,'message':_0x406472,'data':_0x4317cb,'timestamp':new Date()[_0x517ff0(0x101)]()};}function a0_0x550b(_0x1b8230,_0x410c71){_0x1b8230=_0x1b8230-0xf8;var _0x1b49ff=a0_0x1b49();var _0x550bd0=_0x1b49ff[_0x1b8230];if(a0_0x550b['kIVyzS']===undefined){var _0x101b36=function(_0x1f8f6b){var _0x4c8a55='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x270324='',_0x504e1e='';for(var _0x446c43=0x0,_0x460dd5,_0x3153b9,_0x26d85d=0x0;_0x3153b9=_0x1f8f6b['charAt'](_0x26d85d++);~_0x3153b9&&(_0x460dd5=_0x446c43%0x4?_0x460dd5*0x40+_0x3153b9:_0x3153b9,_0x446c43++%0x4)?_0x270324+=String['fromCharCode'](0xff&_0x460dd5>>(-0x2*_0x446c43&0x6)):0x0){_0x3153b9=_0x4c8a55['indexOf'](_0x3153b9);}for(var _0x24a8ee=0x0,_0x1491d7=_0x270324['length'];_0x24a8ee<_0x1491d7;_0x24a8ee++){_0x504e1e+='%'+('00'+_0x270324['charCodeAt'](_0x24a8ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x504e1e);};a0_0x550b['OWEyER']=_0x101b36,a0_0x550b['sqsLUV']={},a0_0x550b['kIVyzS']=!![];}var _0x56e61e=_0x1b49ff[0x0],_0x9e62af=_0x1b8230+_0x56e61e,_0x1ade31=a0_0x550b['sqsLUV'][_0x9e62af];return!_0x1ade31?(_0x550bd0=a0_0x550b['OWEyER'](_0x550bd0),a0_0x550b['sqsLUV'][_0x9e62af]=_0x550bd0):_0x550bd0=_0x1ade31,_0x550bd0;}function createValidationError(_0x10d053,_0x2913f3){return{'success':![],'statusCode':0x190,'message':_0x10d053,'data':{'errors':_0x2913f3},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';function a0_0x5941(_0x560f97,_0x593df0){_0x560f97=_0x560f97-0x97;var _0x163054=a0_0x1630();var _0x5941bf=_0x163054[_0x560f97];if(a0_0x5941['UfGyZF']===undefined){var _0x381225=function(_0x29dc26){var _0x4afc69='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x52dd9a='',_0xe7e898='';for(var _0x4c6b5b=0x0,_0x146eaf,_0x3c5244,_0x1efa11=0x0;_0x3c5244=_0x29dc26['charAt'](_0x1efa11++);~_0x3c5244&&(_0x146eaf=_0x4c6b5b%0x4?_0x146eaf*0x40+_0x3c5244:_0x3c5244,_0x4c6b5b++%0x4)?_0x52dd9a+=String['fromCharCode'](0xff&_0x146eaf>>(-0x2*_0x4c6b5b&0x6)):0x0){_0x3c5244=_0x4afc69['indexOf'](_0x3c5244);}for(var _0x35de40=0x0,_0x2a3b0e=_0x52dd9a['length'];_0x35de40<_0x2a3b0e;_0x35de40++){_0xe7e898+='%'+('00'+_0x52dd9a['charCodeAt'](_0x35de40)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe7e898);};a0_0x5941['ZdQpHx']=_0x381225,a0_0x5941['eDtDJG']={},a0_0x5941['UfGyZF']=!![];}var _0x5e89b7=_0x163054[0x0],_0x4ddc87=_0x560f97+_0x5e89b7,_0xa6c314=a0_0x5941['eDtDJG'][_0x4ddc87];return!_0xa6c314?(_0x5941bf=a0_0x5941['ZdQpHx'](_0x5941bf),a0_0x5941['eDtDJG'][_0x4ddc87]=_0x5941bf):_0x5941bf=_0xa6c314,_0x5941bf;}function a0_0x1630(){var _0xa0ad90=['ndHSA2XpuMe','n0rmvhzoCW','nZeYuu5Mr2HJ','ntiXnJmYmJbeyw5fr1y','mLbXrKvbzW','nZa1nJy4vxHzDhbJ','ndm1otG0nNPrrffRva','Dg9ju09tDhjPBMC','nJq3nJm3q1nytKXo','nZCYntzWDwL2yw8','zxHWB3j0CW','ndeZotbqCKDQqKG','ndeZotbsquvsC1C','mZCXoezOB1fkva'];a0_0x1630=function(){return _0xa0ad90;};return a0_0x1630();}var a0_0x135881=a0_0x5941;(function(_0x555d38,_0x5f03ff){var _0x16a953=a0_0x5941,_0x11b926=_0x555d38();while(!![]){try{var _0x3bb84c=parseInt(_0x16a953(0xa2))/0x1*(-parseInt(_0x16a953(0xa1))/0x2)+parseInt(_0x16a953(0x97))/0x3+-parseInt(_0x16a953(0x9d))/0x4*(parseInt(_0x16a953(0x9a))/0x5)+-parseInt(_0x16a953(0xa3))/0x6*(parseInt(_0x16a953(0x9e))/0x7)+-parseInt(_0x16a953(0x9f))/0x8*(parseInt(_0x16a953(0x98))/0x9)+parseInt(_0x16a953(0x9b))/0xa*(-parseInt(_0x16a953(0x9c))/0xb)+parseInt(_0x16a953(0xa0))/0xc;if(_0x3bb84c===_0x5f03ff)break;else _0x11b926['push'](_0x11b926['shift']());}catch(_0x45be48){_0x11b926['push'](_0x11b926['shift']());}}}(a0_0x1630,0xd3f73));function createResponse(_0x121990,_0xf0d8c0,_0x283072=null){var _0x16a940=a0_0x5941;return{'success':!![],'statusCode':_0x121990,'message':_0xf0d8c0,'data':_0x283072,'timestamp':new Date()[_0x16a940(0xa4)]()};}function createError(_0x4d11a5,_0x57b5cc,_0x32b623=null){return{'success':![],'statusCode':_0x4d11a5,'message':_0x57b5cc,'data':_0x32b623,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x4da09c,_0x346c2e){var _0x1daa91=a0_0x5941;return{'success':![],'statusCode':0x190,'message':_0x4da09c,'data':{'errors':_0x346c2e},'timestamp':new Date()[_0x1daa91(0xa4)]()};}module[a0_0x135881(0x99)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x30a316=a0_0x1935;function a0_0x1935(_0x1d6f9c,_0x3d613c){_0x1d6f9c=_0x1d6f9c-0x136;const _0xc10a3c=a0_0xc10a();let _0x1935b0=_0xc10a3c[_0x1d6f9c];if(a0_0x1935['ZvcjtB']===undefined){var _0x1882b4=function(_0x44b1a3){const _0x17b38e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x457280='',_0x1f9576='';for(let _0x53c939=0x0,_0x52b3ca,_0x166007,_0x457ca0=0x0;_0x166007=_0x44b1a3['charAt'](_0x457ca0++);~_0x166007&&(_0x52b3ca=_0x53c939%0x4?_0x52b3ca*0x40+_0x166007:_0x166007,_0x53c939++%0x4)?_0x457280+=String['fromCharCode'](0xff&_0x52b3ca>>(-0x2*_0x53c939&0x6)):0x0){_0x166007=_0x17b38e['indexOf'](_0x166007);}for(let _0x1f2bff=0x0,_0x18062b=_0x457280['length'];_0x1f2bff<_0x18062b;_0x1f2bff++){_0x1f9576+='%'+('00'+_0x457280['charCodeAt'](_0x1f2bff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f9576);};a0_0x1935['bnpwBS']=_0x1882b4,a0_0x1935['oMIqVR']={},a0_0x1935['ZvcjtB']=!![];}const _0x4d92c7=_0xc10a3c[0x0],_0x3f3780=_0x1d6f9c+_0x4d92c7,_0x4d04d8=a0_0x1935['oMIqVR'][_0x3f3780];return!_0x4d04d8?(_0x1935b0=a0_0x1935['bnpwBS'](_0x1935b0),a0_0x1935['oMIqVR'][_0x3f3780]=_0x1935b0):_0x1935b0=_0x4d04d8,_0x1935b0;}(function(_0x509e3d,_0x174d5e){const _0x5101d3=a0_0x1935,_0x56512=_0x509e3d();while(!![]){try{const _0x237270=parseInt(_0x5101d3(0x140))/0x1+-parseInt(_0x5101d3(0x13d))/0x2*(parseInt(_0x5101d3(0x138))/0x3)+parseInt(_0x5101d3(0x15d))/0x4*(-parseInt(_0x5101d3(0x159))/0x5)+parseInt(_0x5101d3(0x141))/0x6*(parseInt(_0x5101d3(0x15f))/0x7)+-parseInt(_0x5101d3(0x155))/0x8+-parseInt(_0x5101d3(0x148))/0x9*(-parseInt(_0x5101d3(0x150))/0xa)+-parseInt(_0x5101d3(0x14a))/0xb;if(_0x237270===_0x174d5e)break;else _0x56512['push'](_0x56512['shift']());}catch(_0x340a78){_0x56512['push'](_0x56512['shift']());}}}(a0_0xc10a,0x5e691),require('dotenv')[a0_0x30a316(0x136)]());function a0_0xc10a(){const _0x553fdb=['otLNtfjyr0i','tMzHEvy','mJm4odmYD3v3qwry','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','uKfcqKLutvfFuvvfvuu','CxvLDwu','yxnZzxj0uxvLDwu','BwvZC2fNzq','mJu0nJmWyxvkEent','Bg9N','xsbszxrYEsbXDwv1zsa','ignYzwf0zwqVCMvHzhK','xsbszxrYEsbIAw5KAw5NigzVCIa','ndK3ndaWyvvKuw5K','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','uKfcqKLutvfFrvHdsefor0u','B0fTB3y','ndu2ndG1zKLeAw5r','z3nvCNu','yNnlCKS','Aw5JBhvKzxm','nhvMDxr3wq','xsbfuLjpuJOGuxvLDwuG','mJG5nZnHyND0A1K','zM91BMq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','D2vHqvi','y29UzMLN','y29UBMvJDa','mtaXmdK5mw1OCMLoDa','yxnZzxj0rxHJAgfUz2u','AeH4y3O','zw52','yMLUzff1zxvL','mKvLteLwtq','CMv0CNKTzxHJAgfUz2u','zxHWB3j0CW','mJKXodeYAwXvq0Ti','ndC0DMDmuen6','zNnPC1i','DMfXsfK','xsbcAw5KAw5Nia','zxjYB3i','y2XVC2u','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa'];a0_0xc10a=function(){return _0x553fdb;};return a0_0xc10a();}const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x30a316(0x13b)]['RABBITMQ_URL'],EXCHANGE=process[a0_0x30a316(0x13b)][a0_0x30a316(0x157)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x30a316(0x13b)][a0_0x30a316(0x14c)];async function createConnection(){const _0x37c533=a0_0x30a316,_0xf2c620={'NKpVi':function(_0x855dd8,_0x4b4724){return _0x855dd8(_0x4b4724);}};try{const _0x58b399=await amqp[_0x37c533(0x137)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x58b399;}catch(_0x274203){console[_0x37c533(0x145)]('['+_0xf2c620['NKpVi'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x274203['message']);throw _0x274203;}}async function createChannel(_0x4e68ee){const _0x5955a7=a0_0x30a316,_0x492ce8={'fsisR':function(_0x4b7f8a,_0x5a2f20){return _0x4b7f8a(_0x5a2f20);}};try{const _0x25504f=await _0x4e68ee['createChannel']();return console['log']('['+_0x492ce8[_0x5955a7(0x142)](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x25504f;}catch(_0x50982c){console[_0x5955a7(0x145)]('['+formatDate(new Date())+_0x5955a7(0x162)+_0x50982c[_0x5955a7(0x14f)]);throw _0x50982c;}}async function setupInfrastructure(_0x56620e){const _0x3e1a31=a0_0x30a316,_0x2a883c={'gsUru':'direct','NfayV':function(_0xa8f629,_0x116da6){return _0xa8f629(_0x116da6);},'hHxcz':function(_0x21b2d5,_0x1aa69a){return _0x21b2d5===_0x1aa69a;},'bsKrK':_0x3e1a31(0x160),'vaqHY':function(_0x517edf,_0x1e8170){return _0x517edf(_0x1e8170);},'oAmov':'inequivalent\x20arg','bWNAX':'x-dead-letter-routing-key'};try{await _0x56620e[_0x3e1a31(0x139)](_0x3e1a31(0x13e),_0x2a883c[_0x3e1a31(0x15a)],{'durable':!![],'autoDelete':![]}),console[_0x3e1a31(0x151)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x12cba9){console[_0x3e1a31(0x145)]('['+_0x2a883c[_0x3e1a31(0x149)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x12cba9[_0x3e1a31(0x14f)]);throw _0x12cba9;}try{await _0x56620e['assertExchange'](EXCHANGE,_0x2a883c['gsUru'],{'durable':!![],'autoDelete':![]}),console[_0x3e1a31(0x151)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x3e1a31(0x153));}catch(_0x47e0a9){console['error']('['+formatDate(new Date())+_0x3e1a31(0x147)+EXCHANGE+':',_0x47e0a9[_0x3e1a31(0x14f)]);throw _0x47e0a9;}const _0x579e27=ROUTING_KEY+'_retry';try{const _0x308931={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x56620e[_0x3e1a31(0x14e)](_0x579e27,_0x308931),console[_0x3e1a31(0x151)]('['+_0x2a883c['NfayV'](formatDate,new Date())+_0x3e1a31(0x152)+_0x579e27+_0x3e1a31(0x153)),await _0x56620e['bindQueue'](_0x579e27,_0x3e1a31(0x13e),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x3e1a31(0x154)+ROUTING_KEY+'\x20created');}catch(_0x5910c0){console['error']('['+formatDate(new Date())+_0x3e1a31(0x161),_0x5910c0[_0x3e1a31(0x14f)]);throw _0x5910c0;}try{const _0x29394a={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x2f9363=await _0x56620e['assertQueue'](QUEUE,_0x29394a);console['log']('['+_0x2a883c['NfayV'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2a883c[_0x3e1a31(0x13a)](_0x2f9363[_0x3e1a31(0x14d)],QUEUE)?'created/ready':_0x2a883c[_0x3e1a31(0x15b)])+'\x20with\x20DLX'),await _0x56620e[_0x3e1a31(0x13c)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3e1a31(0x151)]('['+_0x2a883c[_0x3e1a31(0x143)](formatDate,new Date())+_0x3e1a31(0x144)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x5acc5b){if(_0x5acc5b['message'][_0x3e1a31(0x15c)](_0x2a883c[_0x3e1a31(0x158)])&&_0x5acc5b[_0x3e1a31(0x14f)]['includes'](_0x2a883c['bWNAX']))console[_0x3e1a31(0x145)]('\x0a['+formatDate(new Date())+_0x3e1a31(0x15e)+QUEUE+_0x3e1a31(0x156)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x5acc5b[_0x3e1a31(0x14f)]);throw _0x5acc5b;}}}catch(_0xf1a2ea){if(!_0xf1a2ea[_0x3e1a31(0x14f)]['includes'](_0x2a883c[_0x3e1a31(0x158)])){console['error']('['+_0x2a883c['vaqHY'](formatDate,new Date())+_0x3e1a31(0x14b),_0xf1a2ea['message']);throw _0xf1a2ea;}process['exit'](0x1);}}async function closeConnection(_0x317e7d){const _0x651405=a0_0x30a316,_0x188315={'weaAR':function(_0x47419a,_0x430e14){return _0x47419a(_0x430e14);}};if(_0x317e7d)try{await _0x317e7d[_0x651405(0x146)](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x159a46){console[_0x651405(0x145)]('['+_0x188315[_0x651405(0x163)](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x159a46['message']);}}module[a0_0x30a316(0x13f)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x1000ac=a0_0x2eb6;(function(_0x23d1e3,_0x259111){const _0x535a58=a0_0x2eb6,_0x1204c7=_0x23d1e3();while(!![]){try{const _0xf0fce2=-parseInt(_0x535a58(0x1b6))/0x1+parseInt(_0x535a58(0x1cd))/0x2*(-parseInt(_0x535a58(0x1cc))/0x3)+-parseInt(_0x535a58(0x1b5))/0x4*(parseInt(_0x535a58(0x1a3))/0x5)+-parseInt(_0x535a58(0x1be))/0x6+-parseInt(_0x535a58(0x1a8))/0x7*(parseInt(_0x535a58(0x1c9))/0x8)+-parseInt(_0x535a58(0x1b0))/0x9+parseInt(_0x535a58(0x1bb))/0xa*(parseInt(_0x535a58(0x1ae))/0xb);if(_0xf0fce2===_0x259111)break;else _0x1204c7['push'](_0x1204c7['shift']());}catch(_0x333000){_0x1204c7['push'](_0x1204c7['shift']());}}}(a0_0x463a,0xd9f76),require('dotenv')['config']());const amqp=require(a0_0x1000ac(0x1c2)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x1000ac(0x1c7)],EXCHANGE=process['env'][a0_0x1000ac(0x1a9)],ROUTING_KEY=process[a0_0x1000ac(0x1ca)]['RABBITMQ_ROUTING_KEY'],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x93ae66=a0_0x1000ac,_0x38e511={'LFVMx':function(_0x59e4ca,_0x42eaae){return _0x59e4ca(_0x42eaae);}};try{const _0x9f0403=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x38e511[_0x93ae66(0x1bf)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x9f0403;}catch(_0x39a0ea){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x39a0ea[_0x93ae66(0x1a2)]);throw _0x39a0ea;}}async function createChannel(_0x18be19){const _0x426c62=a0_0x1000ac;try{const _0x478147=await _0x18be19[_0x426c62(0x1ad)]();return console['log']('['+formatDate(new Date())+_0x426c62(0x1c4)),_0x478147;}catch(_0xd492f7){console[_0x426c62(0x1c8)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xd492f7['message']);throw _0xd492f7;}}function a0_0x2eb6(_0xda239e,_0x5f4e60){_0xda239e=_0xda239e-0x19f;const _0x463a25=a0_0x463a();let _0x2eb65f=_0x463a25[_0xda239e];if(a0_0x2eb6['aebaGu']===undefined){var _0x512e84=function(_0x1e9998){const _0x3020bf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf7c9c0='',_0x2cc0c0='';for(let _0xc85604=0x0,_0x2f1f89,_0x200646,_0x1baf02=0x0;_0x200646=_0x1e9998['charAt'](_0x1baf02++);~_0x200646&&(_0x2f1f89=_0xc85604%0x4?_0x2f1f89*0x40+_0x200646:_0x200646,_0xc85604++%0x4)?_0xf7c9c0+=String['fromCharCode'](0xff&_0x2f1f89>>(-0x2*_0xc85604&0x6)):0x0){_0x200646=_0x3020bf['indexOf'](_0x200646);}for(let _0x592eed=0x0,_0x414b50=_0xf7c9c0['length'];_0x592eed<_0x414b50;_0x592eed++){_0x2cc0c0+='%'+('00'+_0xf7c9c0['charCodeAt'](_0x592eed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2cc0c0);};a0_0x2eb6['EMYFRy']=_0x512e84,a0_0x2eb6['txZsFk']={},a0_0x2eb6['aebaGu']=!![];}const _0x46ed3a=_0x463a25[0x0],_0x4d5dfe=_0xda239e+_0x46ed3a,_0x274d5e=a0_0x2eb6['txZsFk'][_0x4d5dfe];return!_0x274d5e?(_0x2eb65f=a0_0x2eb6['EMYFRy'](_0x2eb65f),a0_0x2eb6['txZsFk'][_0x4d5dfe]=_0x2eb65f):_0x2eb65f=_0x274d5e,_0x2eb65f;}async function setupInfrastructure(_0x42f3ba){const _0x1ad1a9=a0_0x1000ac,_0x9af6b6={'emWKO':_0x1ad1a9(0x1bd),'FjnPD':function(_0x3a4dc2,_0x5bee0e){return _0x3a4dc2(_0x5bee0e);},'LEbBf':function(_0x387ccc,_0x3703e9){return _0x387ccc(_0x3703e9);},'yYGml':function(_0x5b8398,_0x25e930){return _0x5b8398===_0x25e930;},'CyzkT':'created/ready','RiUdQ':function(_0x4795b2,_0x577ae1){return _0x4795b2(_0x577ae1);},'PZtOu':_0x1ad1a9(0x1c3),'nFTHy':_0x1ad1a9(0x1ba)};try{await _0x42f3ba['assertExchange'](_0x9af6b6['emWKO'],'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x9af6b6['FjnPD'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x43b26c){console['error']('['+formatDate(new Date())+_0x1ad1a9(0x1bc),_0x43b26c['message']);throw _0x43b26c;}try{await _0x42f3ba[_0x1ad1a9(0x1b1)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x1ad1a9(0x1c0));}catch(_0x2b9e11){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x2b9e11[_0x1ad1a9(0x1a2)]);throw _0x2b9e11;}const _0x580b23=ROUTING_KEY+'_retry';try{const _0x131c63={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x42f3ba['assertQueue'](_0x580b23,_0x131c63),console['log']('['+formatDate(new Date())+_0x1ad1a9(0x1b3)+_0x580b23+_0x1ad1a9(0x1c0)),await _0x42f3ba[_0x1ad1a9(0x19f)](_0x580b23,_0x9af6b6['emWKO'],ROUTING_KEY),console[_0x1ad1a9(0x1a6)]('['+_0x9af6b6[_0x1ad1a9(0x1a4)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x1ad1a9(0x1af));}catch(_0x55ee2d){console['error']('['+_0x9af6b6['LEbBf'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x55ee2d['message']);throw _0x55ee2d;}try{const _0x6a712b={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x349be3=await _0x42f3ba['assertQueue'](QUEUE,_0x6a712b);console[_0x1ad1a9(0x1a6)]('['+_0x9af6b6[_0x1ad1a9(0x1a4)](formatDate,new Date())+_0x1ad1a9(0x1b2)+QUEUE+'\x20'+(_0x9af6b6[_0x1ad1a9(0x1a1)](_0x349be3['queue'],QUEUE)?_0x9af6b6[_0x1ad1a9(0x1ab)]:'found')+_0x1ad1a9(0x1aa)),await _0x42f3ba[_0x1ad1a9(0x19f)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x1ad1a9(0x1a6)]('['+_0x9af6b6[_0x1ad1a9(0x1b7)](formatDate,new Date())+_0x1ad1a9(0x1ac)+EXCHANGE+_0x1ad1a9(0x1cb)+QUEUE+'\x20('+ROUTING_KEY+_0x1ad1a9(0x1b9));}catch(_0xb5f857){if(_0xb5f857[_0x1ad1a9(0x1a2)]['includes'](_0x9af6b6['PZtOu'])&&_0xb5f857['message'][_0x1ad1a9(0x1b4)](_0x9af6b6[_0x1ad1a9(0x1a5)]))console['error']('\x0a['+formatDate(new Date())+_0x1ad1a9(0x1c6)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x1ad1a9(0x1b8)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error'](_0x1ad1a9(0x1a0)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0xb5f857[_0x1ad1a9(0x1a2)]);throw _0xb5f857;}}}catch(_0x3569a6){if(!_0x3569a6['message']['includes'](_0x9af6b6[_0x1ad1a9(0x1a7)])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3569a6[_0x1ad1a9(0x1a2)]);throw _0x3569a6;}process[_0x1ad1a9(0x1c1)](0x1);}}function a0_0x463a(){const _0x2d8712=['ignYzwf0zwq','mZm4mJq2mvfgt0nWAa','yxnZzxj0rxHJAgfUz2u','xsbrDwv1zsa','xsbszxrYEsbXDwv1zsa','Aw5JBhvKzxm','mtG5nteYBvbpv21Y','otm2nJe0DwzcrxPv','uMLvzfe','uxvLDwuG','ksbJCMvHDgvK','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','mtKWu0TJDe14','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','CMv0CNKTzxHJAgfUz2u','otC2nJi2Au9LqwPr','tezwtxG','ignYzwf0zwqVCMvHzhK','zxHPDa','yw1XCgXPyG','Aw5LCxvPDMfSzw50igfYzW','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','Awj5DKG','xsbfuLjpuJOGuxvLDwuG','uKfcqKLutvfFvvjm','zxjYB3i','nJa0oduYogXoz25HqG','zw52','ic0+ia','owXhCxnIrq','oda0ode0CMn4uhzo','yMLUzff1zxvL','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','EvLhBwW','BwvZC2fNzq','mJbXCxrvywe','tevIqMy','BKzushK','Bg9N','ufP0t3u','n0DAuuLAsW','uKfcqKLutvfFrvHdsefor0u','ihDPDgGGreXy','q3L6A1q','xsbcAw5KAw5Nia','y3jLyxrLq2HHBM5LBa','mJyXnZmWn1voBujdua'];a0_0x463a=function(){return _0x2d8712;};return a0_0x463a();}async function closeConnection(_0x3300a6){const _0x485937=a0_0x1000ac,_0x599723={'ibyvH':function(_0x2bb664,_0x5a9253){return _0x2bb664(_0x5a9253);}};if(_0x3300a6)try{await _0x3300a6['close'](),console['log']('['+_0x599723[_0x485937(0x1c5)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x5f24ee){console[_0x485937(0x1c8)]('['+_0x599723['ibyvH'](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x5f24ee['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x25bf1c=a0_0xf73b;function a0_0x91b1(){const _0x36ef26=['mJHzq3jprwq','z0r2BMS','zgLZy29UBMvJDa','DgrftwK','rwLWA2C','zxjYB3i','y29UBMvJDa','nJu1mJiWv3Pxyw1T','zxHWB3j0CW','otK1ntuZmerxqLP1sq','Aw9YzwrPCW','mJK3mdm2ohDlvgjuAG','mtmWotqYogD6qMXSEa','y2XPzw50','z2v0q2XPzw50','D2fYBG','mZbYD3fTsMW','y2XVC2u','ue9orW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','CMvKAxnFy29UBMvJDgvK','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uMvKAxmGueLorYb0Aw1LB3v0','BwLU','BwvZC2fNzq','mJKYmteWmereDvjUtW','zw52','uKvesvnFse9tva','mZeXotK0owzOBvrxsq','ndq1mJa3vhbcr0Lb','AxndB25Uzwn0zwq'];a0_0x91b1=function(){return _0x36ef26;};return a0_0x91b1();}(function(_0x3537ae,_0x49d799){const _0x107d9a=a0_0xf73b,_0x4f8023=_0x3537ae();while(!![]){try{const _0x2b5311=parseInt(_0x107d9a(0x1ed))/0x1+-parseInt(_0x107d9a(0x1fb))/0x2+-parseInt(_0x107d9a(0x1fe))/0x3+-parseInt(_0x107d9a(0x201))/0x4*(-parseInt(_0x107d9a(0x208))/0x5)+parseInt(_0x107d9a(0x1f1))/0x6*(parseInt(_0x107d9a(0x1ff))/0x7)+-parseInt(_0x107d9a(0x1ec))/0x8+parseInt(_0x107d9a(0x20a))/0x9;if(_0x2b5311===_0x49d799)break;else _0x4f8023['push'](_0x4f8023['shift']());}catch(_0x9a38ed){_0x4f8023['push'](_0x4f8023['shift']());}}}(a0_0x91b1,0xbe34a));function a0_0xf73b(_0x4c5a1d,_0x576890){_0x4c5a1d=_0x4c5a1d-0x1ec;const _0x91b119=a0_0x91b1();let _0xf73b78=_0x91b119[_0x4c5a1d];if(a0_0xf73b['EIkiOw']===undefined){var _0x3ecc95=function(_0x42372a){const _0x3b39aa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e491e='',_0x47b124='';for(let _0x23e575=0x0,_0x305b16,_0x52fee6,_0x4695d9=0x0;_0x52fee6=_0x42372a['charAt'](_0x4695d9++);~_0x52fee6&&(_0x305b16=_0x23e575%0x4?_0x305b16*0x40+_0x52fee6:_0x52fee6,_0x23e575++%0x4)?_0x3e491e+=String['fromCharCode'](0xff&_0x305b16>>(-0x2*_0x23e575&0x6)):0x0){_0x52fee6=_0x3b39aa['indexOf'](_0x52fee6);}for(let _0x1c636b=0x0,_0x440921=_0x3e491e['length'];_0x1c636b<_0x440921;_0x1c636b++){_0x47b124+='%'+('00'+_0x3e491e['charCodeAt'](_0x1c636b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47b124);};a0_0xf73b['HJAXbZ']=_0x3ecc95,a0_0xf73b['jvbhpe']={},a0_0xf73b['EIkiOw']=!![];}const _0x1a53c1=_0x91b119[0x0],_0x41d4ec=_0x4c5a1d+_0x1a53c1,_0x21603a=a0_0xf73b['jvbhpe'][_0x41d4ec];return!_0x21603a?(_0xf73b78=a0_0xf73b['HJAXbZ'](_0xf73b78),a0_0xf73b['jvbhpe'][_0x41d4ec]=_0xf73b78):_0xf73b78=_0x21603a,_0xf73b78;}const Redis=require(a0_0x25bf1c(0x20b)),{logger}=require('./logger');class RedisClient{constructor(){const _0x27eed6=a0_0x25bf1c;this['client']=null,this[_0x27eed6(0x200)]=![];}['connect'](){const _0x338721=a0_0x25bf1c,_0x269363={'tdEMi':function(_0x53aed3,_0x168274){return _0x53aed3*_0x168274;},'UlJke':_0x338721(0x1f5),'vqlni':'Redis\x20connected\x20successfully','gDvnk':'Redis\x20connection\x20closed','imOqZ':'localhost','Eipkg':function(_0x2e423d,_0x180c33,_0xc21792){return _0x2e423d(_0x180c33,_0xc21792);},'fJfOW':'connect','bnFqA':_0x338721(0x1f2)};if(this['client'])return this[_0x338721(0x1ee)];try{return this['client']=new Redis({'host':process[_0x338721(0x1fc)][_0x338721(0x1fd)]||_0x269363['imOqZ'],'port':_0x269363[_0x338721(0x205)](parseInt,process[_0x338721(0x1fc)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x338721(0x1fc)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x31d4ba){const _0x414c04=_0x338721,_0x121e75=Math[_0x414c04(0x1f9)](_0x269363[_0x414c04(0x204)](_0x31d4ba,0x32),0x7d0);return _0x121e75;}}),this[_0x338721(0x1ee)]['on'](_0x269363['fJfOW'],()=>{const _0x386b6e=_0x338721;this[_0x386b6e(0x200)]=!![],logger['info']({'event':_0x269363['UlJke']},_0x269363['vqlni']);}),this['client']['on'](_0x338721(0x206),_0x86db15=>{const _0x1719c4=_0x338721;this[_0x1719c4(0x200)]=![],logger[_0x1719c4(0x206)]({'event':'redis_error','error':_0x86db15[_0x1719c4(0x1fa)]},_0x1719c4(0x1f7)+_0x86db15['message']);}),this['client']['on'](_0x269363['bnFqA'],()=>{const _0x4e6118=_0x338721;this[_0x4e6118(0x200)]=![],logger[_0x4e6118(0x1f0)]({'event':'redis_disconnected'},_0x269363[_0x4e6118(0x202)]);}),this[_0x338721(0x1ee)];}catch(_0x34e33f){logger['error']({'event':'redis_init_error','error':_0x34e33f[_0x338721(0x1fa)]},_0x338721(0x1f4));throw _0x34e33f;}}[a0_0x25bf1c(0x1ef)](){const _0x297475=a0_0x25bf1c;return!this['client']&&this[_0x297475(0x207)](),this['client'];}async['ping'](_0x14a4cc=0x1388){const _0x33b865=a0_0x25bf1c;try{const _0x5f0357=this['getClient'](),_0x53d089=await Promise['race']([_0x5f0357['ping'](),new Promise((_0x2ce7c7,_0x17c127)=>setTimeout(()=>_0x17c127(new Error(_0x33b865(0x1f8))),_0x14a4cc))]);return _0x53d089===_0x33b865(0x1f3);}catch(_0x48456e){return![];}}async['disconnect'](){const _0x3e0584=a0_0x25bf1c;this['client']&&(await this['client']['quit'](),this[_0x3e0584(0x1ee)]=null,this[_0x3e0584(0x200)]=![]);}[a0_0x25bf1c(0x1f6)](){const _0x12aa70=a0_0x25bf1c;this[_0x12aa70(0x1ee)]&&(this[_0x12aa70(0x1ee)][_0x12aa70(0x203)](),this[_0x12aa70(0x1ee)]=null,this[_0x12aa70(0x200)]=![]);}}module[a0_0x25bf1c(0x209)]=new RedisClient();
1
+ function a0_0x1f9b(){const _0x3ccf98=['mtm3mtbIBvjcvKe','mJq1ota4nKLcuxfmua','z2v0q2XPzw50','y29UBMvJDa','mty5odK2Dwf5vMj0','CKnxyNC','zw52','zM9Yy2veAxnJB25Uzwn0','mtGWmZG2mgffyuLOqW','Aw9YzwrPCW','zxHWB3j0CW','mJqZweT0DKDR','uKvesvnFueftu1DpuKq','AxndB25Uzwn0zwq','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','y2XPzw50','qwnxuMC','AKPJqKi','mtK1nJiYogjzwKnXza','uKvesvnFue9sva','BwvZC2fNzq','rhnbqw4','y2XVC2u','uKvesvnFse9tva','zgLZy29UBMvJDa','mZmZnta1C2fdtNnw','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','mJK0ntyXrhnPt2Ti','uKvesvnFrei','CxvPDa','CMvKAxnFy29UBMvJDgvK','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','ntbtteXWuLC'];a0_0x1f9b=function(){return _0x3ccf98;};return a0_0x1f9b();}const a0_0x3b8213=a0_0x413b;(function(_0x4b8a60,_0x5817cf){const _0x1458f9=a0_0x413b,_0x3b5e06=_0x4b8a60();while(!![]){try{const _0x15e1c4=parseInt(_0x1458f9(0x1a9))/0x1+parseInt(_0x1458f9(0x1ae))/0x2*(-parseInt(_0x1458f9(0x1af))/0x3)+-parseInt(_0x1458f9(0x1b7))/0x4+parseInt(_0x1458f9(0x1c8))/0x5+parseInt(_0x1458f9(0x1c1))/0x6+-parseInt(_0x1458f9(0x1b0))/0x7+parseInt(_0x1458f9(0x1b3))/0x8*(parseInt(_0x1458f9(0x1ba))/0x9);if(_0x15e1c4===_0x5817cf)break;else _0x3b5e06['push'](_0x3b5e06['shift']());}catch(_0x78255e){_0x3b5e06['push'](_0x3b5e06['shift']());}}}(a0_0x1f9b,0x5407a));const Redis=require(a0_0x3b8213(0x1b8)),{logger}=require('./logger');class RedisClient{constructor(){const _0x5664c8=a0_0x3b8213;this[_0x5664c8(0x1be)]=null,this[_0x5664c8(0x1bc)]=![];}['connect'](){const _0x437109=a0_0x3b8213,_0x22e498={'jBdOX':_0x437109(0x1ac),'BnPVO':'redis_error','wxTDb':'redis_disconnected','jJcBB':_0x437109(0x1ad),'YMXUJ':'localhost','DsAAn':function(_0x4faccb,_0x8906a,_0x1e3826){return _0x4faccb(_0x8906a,_0x1e3826);},'rCWbw':'redis_init_error','FqLcz':_0x437109(0x1c9)};if(this[_0x437109(0x1be)])return this[_0x437109(0x1be)];try{return this['client']=new Redis({'host':process['env'][_0x437109(0x1c6)]||_0x22e498['YMXUJ'],'port':_0x22e498[_0x437109(0x1c4)](parseInt,process[_0x437109(0x1b5)][_0x437109(0x1c2)],0xa)||0x18ec,'password':process[_0x437109(0x1b5)][_0x437109(0x1bb)]||undefined,'db':parseInt(process[_0x437109(0x1b5)][_0x437109(0x1aa)],0xa)||0x0,'retryStrategy'(_0x59851a){const _0x479f76=Math['min'](_0x59851a*0x32,0x7d0);return _0x479f76;}}),this[_0x437109(0x1be)]['on'](_0x437109(0x1b2),()=>{const _0x3ea929=_0x437109;this[_0x3ea929(0x1bc)]=!![],logger['info']({'event':_0x22e498['jBdOX']},_0x3ea929(0x1bd));}),this['client']['on']('error',_0x2b5fb4=>{const _0xd1cbdd=_0x437109;this[_0xd1cbdd(0x1bc)]=![],logger['error']({'event':_0x22e498['BnPVO'],'error':_0x2b5fb4[_0xd1cbdd(0x1c3)]},'Redis\x20connection\x20error:\x20'+_0x2b5fb4[_0xd1cbdd(0x1c3)]);}),this[_0x437109(0x1be)]['on'](_0x437109(0x1c5),()=>{const _0x5bfc14=_0x437109;this[_0x5bfc14(0x1bc)]=![],logger['warn']({'event':_0x22e498['wxTDb']},_0x22e498[_0x5bfc14(0x1c0)]);}),this[_0x437109(0x1be)];}catch(_0x130539){logger['error']({'event':_0x22e498[_0x437109(0x1b4)],'error':_0x130539['message']},_0x22e498['FqLcz']);throw _0x130539;}}['getClient'](){const _0x535ac4=a0_0x3b8213;return!this[_0x535ac4(0x1be)]&&this[_0x535ac4(0x1b2)](),this['client'];}async['ping'](_0x3c9f23=0x1388){const _0x54abf2=a0_0x3b8213,_0x4420f1={'AcWRg':'PONG'};try{const _0x4e955f=this[_0x54abf2(0x1b1)](),_0x36fd02=await Promise['race']([_0x4e955f['ping'](),new Promise((_0x16af4f,_0x5da08a)=>setTimeout(()=>_0x5da08a(new Error('Redis\x20PING\x20timeout')),_0x3c9f23))]);return _0x36fd02===_0x4420f1[_0x54abf2(0x1bf)];}catch(_0x5875d0){return![];}}async['disconnect'](){const _0xb79e51=a0_0x3b8213;this['client']&&(await this['client'][_0xb79e51(0x1ab)](),this['client']=null,this['isConnected']=![]);}[a0_0x3b8213(0x1b6)](){const _0x4fc977=a0_0x3b8213;this[_0x4fc977(0x1be)]&&(this['client'][_0x4fc977(0x1c7)](),this['client']=null,this[_0x4fc977(0x1bc)]=![]);}}function a0_0x413b(_0x382789,_0x451f5f){_0x382789=_0x382789-0x1a9;const _0x1f9b3e=a0_0x1f9b();let _0x413bbf=_0x1f9b3e[_0x382789];if(a0_0x413b['PThkoF']===undefined){var _0x5dacee=function(_0x536c0c){const _0x2e25da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b1bf9='',_0x256804='';for(let _0x25406e=0x0,_0x3db1a2,_0x424245,_0x2e96ba=0x0;_0x424245=_0x536c0c['charAt'](_0x2e96ba++);~_0x424245&&(_0x3db1a2=_0x25406e%0x4?_0x3db1a2*0x40+_0x424245:_0x424245,_0x25406e++%0x4)?_0x3b1bf9+=String['fromCharCode'](0xff&_0x3db1a2>>(-0x2*_0x25406e&0x6)):0x0){_0x424245=_0x2e25da['indexOf'](_0x424245);}for(let _0x4a45bd=0x0,_0x179115=_0x3b1bf9['length'];_0x4a45bd<_0x179115;_0x4a45bd++){_0x256804+='%'+('00'+_0x3b1bf9['charCodeAt'](_0x4a45bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x256804);};a0_0x413b['uvAOVX']=_0x5dacee,a0_0x413b['vZHMtY']={},a0_0x413b['PThkoF']=!![];}const _0x4a079f=_0x1f9b3e[0x0],_0x299c00=_0x382789+_0x4a079f,_0x32bc92=a0_0x413b['vZHMtY'][_0x299c00];return!_0x32bc92?(_0x413bbf=a0_0x413b['uvAOVX'](_0x413bbf),a0_0x413b['vZHMtY'][_0x299c00]=_0x413bbf):_0x413bbf=_0x32bc92,_0x413bbf;}module[a0_0x3b8213(0x1b9)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x2eb562=a0_0x93f2;(function(_0x1f914a,_0x3d3de9){const _0x35c7f9=a0_0x93f2,_0x120c2e=_0x1f914a();while(!![]){try{const _0x26902b=-parseInt(_0x35c7f9(0x13d))/0x1*(parseInt(_0x35c7f9(0x143))/0x2)+parseInt(_0x35c7f9(0x13e))/0x3*(-parseInt(_0x35c7f9(0x151))/0x4)+parseInt(_0x35c7f9(0x138))/0x5+-parseInt(_0x35c7f9(0x13c))/0x6+-parseInt(_0x35c7f9(0x146))/0x7*(parseInt(_0x35c7f9(0x13b))/0x8)+-parseInt(_0x35c7f9(0x152))/0x9+parseInt(_0x35c7f9(0x153))/0xa;if(_0x26902b===_0x3d3de9)break;else _0x120c2e['push'](_0x120c2e['shift']());}catch(_0x416890){_0x120c2e['push'](_0x120c2e['shift']());}}}(a0_0x227b,0x4fd15));const redisClient=require(a0_0x2eb562(0x144)),{logger}=require(a0_0x2eb562(0x130));function a0_0x93f2(_0x549e08,_0x176dc2){_0x549e08=_0x549e08-0x12f;const _0x227b11=a0_0x227b();let _0x93f27a=_0x227b11[_0x549e08];if(a0_0x93f2['znnXCF']===undefined){var _0x2e4468=function(_0x36f079){const _0x20e19b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe3f5d7='',_0x2ee215='';for(let _0x525442=0x0,_0x3cef91,_0x35a479,_0x5c7eef=0x0;_0x35a479=_0x36f079['charAt'](_0x5c7eef++);~_0x35a479&&(_0x3cef91=_0x525442%0x4?_0x3cef91*0x40+_0x35a479:_0x35a479,_0x525442++%0x4)?_0xe3f5d7+=String['fromCharCode'](0xff&_0x3cef91>>(-0x2*_0x525442&0x6)):0x0){_0x35a479=_0x20e19b['indexOf'](_0x35a479);}for(let _0x328954=0x0,_0x57c5d7=_0xe3f5d7['length'];_0x328954<_0x57c5d7;_0x328954++){_0x2ee215+='%'+('00'+_0xe3f5d7['charCodeAt'](_0x328954)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ee215);};a0_0x93f2['shIzGE']=_0x2e4468,a0_0x93f2['oyQxsa']={},a0_0x93f2['znnXCF']=!![];}const _0x534259=_0x227b11[0x0],_0x45fda4=_0x549e08+_0x534259,_0x560075=a0_0x93f2['oyQxsa'][_0x45fda4];return!_0x560075?(_0x93f27a=a0_0x93f2['shIzGE'](_0x93f27a),a0_0x93f2['oyQxsa'][_0x45fda4]=_0x93f27a):_0x93f27a=_0x560075,_0x93f27a;}class RedisHelper{constructor(){const _0x413b70=a0_0x2eb562,_0x37fd20={'HQYpJ':function(_0x2cfa14,_0x256d40,_0x4735fa){return _0x2cfa14(_0x256d40,_0x4735fa);}};this[_0x413b70(0x14d)]=null,this[_0x413b70(0x135)]=_0x37fd20[_0x413b70(0x12f)](parseInt,process[_0x413b70(0x134)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x3fb7a4=a0_0x2eb562;if(!this[_0x3fb7a4(0x14d)]){const _0xad2b8f=process[_0x3fb7a4(0x134)]['RESTFORGE_PROJECT_NAME']||_0x3fb7a4(0x141);this['_prefix']=_0x3fb7a4(0x136)+_0xad2b8f+_0x3fb7a4(0x154);}return this['_prefix'];}async[a0_0x2eb562(0x150)](_0x408cb6,_0x424e94){const _0x336ed9=a0_0x2eb562,_0x41a6c6={'fDTVN':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x2d036c=redisClient['getClient'](),_0x38c28e=''+this[_0x336ed9(0x131)]+_0x408cb6;return await _0x2d036c[_0x336ed9(0x155)](_0x38c28e,this['ttl'],JSON['stringify'](_0x424e94)),!![];}catch(_0xd6ddd1){return logger[_0x336ed9(0x14a)]({'event':_0x336ed9(0x14e),'jobId':_0x408cb6,'error':_0xd6ddd1[_0x336ed9(0x14c)]},_0x41a6c6[_0x336ed9(0x148)]),![];}}async[a0_0x2eb562(0x139)](_0x165605){const _0x437e4c=a0_0x2eb562,_0x55d343={'nfIot':_0x437e4c(0x156),'eisKl':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x41811d=redisClient['getClient'](),_0xe5f05b=''+this[_0x437e4c(0x131)]+_0x165605,_0x5aeaae=await _0x41811d['get'](_0xe5f05b);return _0x5aeaae?JSON['parse'](_0x5aeaae):null;}catch(_0x4de38a){return logger['error']({'event':_0x55d343[_0x437e4c(0x142)],'jobId':_0x165605,'error':_0x4de38a[_0x437e4c(0x14c)]},_0x55d343[_0x437e4c(0x145)]),null;}}async[a0_0x2eb562(0x13f)](_0x226b6b,_0x21d0e5){const _0x3f3a89=await this['getJob'](_0x226b6b);if(!_0x3f3a89)return![];const _0x340ab4={..._0x3f3a89,..._0x21d0e5};return await this['setJob'](_0x226b6b,_0x340ab4);}async['deleteJob'](_0x14ee6d){const _0x3000e6=a0_0x2eb562;try{const _0x4bdee9=redisClient['getClient'](),_0x2f1b45=''+this[_0x3000e6(0x131)]+_0x14ee6d;return await _0x4bdee9[_0x3000e6(0x133)](_0x2f1b45),!![];}catch(_0xa9c71e){return logger[_0x3000e6(0x14a)]({'event':_0x3000e6(0x13a),'jobId':_0x14ee6d,'error':_0xa9c71e['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x2eb562(0x149)](){const _0x26738d=a0_0x2eb562,_0x91fd62={'MSDqa':_0x26738d(0x147)};try{const _0x45f1b9=redisClient['getClient'](),_0x2dc684=await _0x45f1b9['keys'](this[_0x26738d(0x131)]+'*'),_0x51cb5b=[];for(const _0x1f08e3 of _0x2dc684){const _0x234b0d=await _0x45f1b9[_0x26738d(0x14f)](_0x1f08e3);_0x234b0d&&_0x51cb5b[_0x26738d(0x14b)](JSON[_0x26738d(0x132)](_0x234b0d));}return _0x51cb5b;}catch(_0x470b5a){return logger['error']({'event':'redis_getall_error','error':_0x470b5a['message']},_0x91fd62[_0x26738d(0x137)]),[];}}}module[a0_0x2eb562(0x140)]=new RedisHelper();function a0_0x227b(){const _0x31bf25=['oMv4Cg9YDdO','C2v0zxG','CMvKAxnFz2v0x2vYCM9Y','sffzCeO','lI9SB2DNzxi','ChjLzML4','CgfYC2u','zgvS','zw52','DhrS','CMvZDgzVCMDLoG','tvneCwe','mtC5nZKWChDYqxzl','z2v0sM9I','CMvKAxnFzgvSzxrLx2vYCM9Y','offNwMvMDa','mJi1ndCXmfPZB1HcBa','mvvzDfn0Bq','mtC0nduZCuvHwLHe','DxbKyxrLsM9I','zxHWB3j0CW','zgvMyxvSDa','BMzjB3q','odeYmJm0ue5Zr1bk','lI9YzwrPCY1JBgLLBNq','zwLZs2W','mJqXmtq3oxLNCwn6Ea','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','zKruvK4','z2v0qwXSsM9ICW','zxjYB3i','ChvZAa','BwvZC2fNzq','x3bYzwzPEa','CMvKAxnFC2v0x2vYCM9Y','z2v0','C2v0sM9I','mJruA2r4tgW','mZmZodKZn3zVzfLPwG','mJeZnZi3mZb3BfHiDfu'];a0_0x227b=function(){return _0x31bf25;};return a0_0x227b();}
1
+ const a0_0x1a7df6=a0_0x1a95;(function(_0x99af83,_0xb603a2){const _0x295e3a=a0_0x1a95,_0x21c7fd=_0x99af83();while(!![]){try{const _0x5e359a=-parseInt(_0x295e3a(0x16f))/0x1*(parseInt(_0x295e3a(0x186))/0x2)+parseInt(_0x295e3a(0x172))/0x3*(-parseInt(_0x295e3a(0x179))/0x4)+parseInt(_0x295e3a(0x187))/0x5+parseInt(_0x295e3a(0x17b))/0x6+parseInt(_0x295e3a(0x18b))/0x7+-parseInt(_0x295e3a(0x178))/0x8+parseInt(_0x295e3a(0x16e))/0x9*(parseInt(_0x295e3a(0x191))/0xa);if(_0x5e359a===_0xb603a2)break;else _0x21c7fd['push'](_0x21c7fd['shift']());}catch(_0x50afb2){_0x21c7fd['push'](_0x21c7fd['shift']());}}}(a0_0x43a7,0x2b165));const redisClient=require(a0_0x1a7df6(0x170)),{logger}=require(a0_0x1a7df6(0x171));function a0_0x43a7(){const _0x100a6b=['CMvKAxnFz2v0x2vYCM9Y','z2v0sM9I','CMvZDgzVCMDLoG','z2v0qwXSsM9ICW','zw52','mMXWtuDdwa','mtq2mZqYnwLKq2zyEq','CMvKAxnFC2v0x2vYCM9Y','DxbKyxrLsM9I','DhrS','mJeZmJm4mNfqEMHYsa','uKvAzge','u2XtA2K','BwvZC2fNzq','A2v5CW','DwvTq1y','nZa5mZbXqw9MtMW','mtCXtMv3DLHW','mJCXmZi1tg1MzhjR','lI9YzwrPCY1JBgLLBNq','lI9SB2DNzxi','ndHRD0vNvgK','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','rvHqt1jux0zjtevFrvHqsvjz','CgfYC2u','reHhswC','ChjLzML4','mJu3odqZmMzYrwDsra','mZi5mKnKr0j6Eq','zxHWB3j0CW','mZa3mJi0t1Dgug5r','z2v0q2XPzw50','zgvS','x3bYzwzPEa','zxjYB3i','C2v0sM9I'];a0_0x43a7=function(){return _0x100a6b;};return a0_0x43a7();}class RedisHelper{constructor(){const _0x4fc1d6=a0_0x1a7df6,_0x7beb57={'hkpla':function(_0xe5b9a0,_0x3bd76c,_0x2e08dc){return _0xe5b9a0(_0x3bd76c,_0x2e08dc);}};this['_prefix']=null,this[_0x4fc1d6(0x18a)]=_0x7beb57['hkpla'](parseInt,process[_0x4fc1d6(0x185)][_0x4fc1d6(0x174)],0xa)||0xe10;}get['prefix'](){const _0x50c43f=a0_0x1a7df6,_0x4b4790={'FtaVd':'default'};if(!this[_0x50c43f(0x17e)]){const _0x25af59=process[_0x50c43f(0x185)]['RESTFORGE_PROJECT_NAME']||_0x4b4790['FtaVd'];this[_0x50c43f(0x17e)]=_0x50c43f(0x183)+_0x25af59+':export:';}return this[_0x50c43f(0x17e)];}async['setJob'](_0x5354f5,_0x5d62ed){const _0x37aa1f=a0_0x1a7df6,_0x567306={'liMqz':_0x37aa1f(0x188),'dxaAB':_0x37aa1f(0x173)};try{const _0x671a0c=redisClient[_0x37aa1f(0x17c)](),_0x466796=''+this['prefix']+_0x5354f5;return await _0x671a0c['setex'](_0x466796,this['ttl'],JSON['stringify'](_0x5d62ed)),!![];}catch(_0x2d81e6){return logger['error']({'event':_0x567306['liMqz'],'jobId':_0x5354f5,'error':_0x2d81e6[_0x37aa1f(0x18e)]},_0x567306['dxaAB']),![];}}async[a0_0x1a7df6(0x182)](_0x4790ba){const _0x4339b0=a0_0x1a7df6,_0x31815d={'REZda':_0x4339b0(0x181),'SlSki':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x546a15=redisClient[_0x4339b0(0x17c)](),_0x5e4d13=''+this['prefix']+_0x4790ba,_0x55acf2=await _0x546a15['get'](_0x5e4d13);return _0x55acf2?JSON['parse'](_0x55acf2):null;}catch(_0x2346fa){return logger['error']({'event':_0x31815d[_0x4339b0(0x18c)],'jobId':_0x4790ba,'error':_0x2346fa[_0x4339b0(0x18e)]},_0x31815d[_0x4339b0(0x18d)]),null;}}async[a0_0x1a7df6(0x189)](_0x1cfe9e,_0x8fe72c){const _0x4bc6f8=a0_0x1a7df6,_0x2ef703=await this[_0x4bc6f8(0x182)](_0x1cfe9e);if(!_0x2ef703)return![];const _0x417507={..._0x2ef703,..._0x8fe72c};return await this[_0x4bc6f8(0x180)](_0x1cfe9e,_0x417507);}async['deleteJob'](_0x321f39){const _0x47b205=a0_0x1a7df6,_0x515857={'DHGIg':'redis_delete_error','fpdaD':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x8c5e8d=redisClient['getClient'](),_0x1da0ab=''+this[_0x47b205(0x177)]+_0x321f39;return await _0x8c5e8d[_0x47b205(0x17d)](_0x1da0ab),!![];}catch(_0x268fb9){return logger[_0x47b205(0x17f)]({'event':_0x515857[_0x47b205(0x176)],'jobId':_0x321f39,'error':_0x268fb9['message']},_0x515857['fpdaD']),![];}}async[a0_0x1a7df6(0x184)](){const _0xae610f=a0_0x1a7df6,_0x173c38={'uemCV':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x2ebb67=redisClient['getClient'](),_0x4b2a84=await _0x2ebb67[_0xae610f(0x18f)](this[_0xae610f(0x177)]+'*'),_0x206b4c=[];for(const _0x27e903 of _0x4b2a84){const _0x470852=await _0x2ebb67['get'](_0x27e903);_0x470852&&_0x206b4c['push'](JSON[_0xae610f(0x175)](_0x470852));}return _0x206b4c;}catch(_0x10a2eb){return logger['error']({'event':'redis_getall_error','error':_0x10a2eb['message']},_0x173c38[_0xae610f(0x190)]),[];}}}function a0_0x1a95(_0x5e6233,_0x23c656){_0x5e6233=_0x5e6233-0x16e;const _0x43a7ef=a0_0x43a7();let _0x1a9579=_0x43a7ef[_0x5e6233];if(a0_0x1a95['HtYCFk']===undefined){var _0xa81259=function(_0x4edb24){const _0x54ee38='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d9b7c='',_0x8c6ca6='';for(let _0x2d4d38=0x0,_0x5813d0,_0x5a0e03,_0x4bfa1b=0x0;_0x5a0e03=_0x4edb24['charAt'](_0x4bfa1b++);~_0x5a0e03&&(_0x5813d0=_0x2d4d38%0x4?_0x5813d0*0x40+_0x5a0e03:_0x5a0e03,_0x2d4d38++%0x4)?_0x3d9b7c+=String['fromCharCode'](0xff&_0x5813d0>>(-0x2*_0x2d4d38&0x6)):0x0){_0x5a0e03=_0x54ee38['indexOf'](_0x5a0e03);}for(let _0x5979a8=0x0,_0x79fb6c=_0x3d9b7c['length'];_0x5979a8<_0x79fb6c;_0x5979a8++){_0x8c6ca6+='%'+('00'+_0x3d9b7c['charCodeAt'](_0x5979a8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8c6ca6);};a0_0x1a95['EyDruK']=_0xa81259,a0_0x1a95['sSDvPN']={},a0_0x1a95['HtYCFk']=!![];}const _0x4ce7e8=_0x43a7ef[0x0],_0x36a7bb=_0x5e6233+_0x4ce7e8,_0x39ddfb=a0_0x1a95['sSDvPN'][_0x36a7bb];return!_0x39ddfb?(_0x1a9579=a0_0x1a95['EyDruK'](_0x1a9579),a0_0x1a95['sSDvPN'][_0x36a7bb]=_0x1a9579):_0x1a9579=_0x39ddfb,_0x1a9579;}module[a0_0x1a7df6(0x17a)]=new RedisHelper();