@restforgejs/platform 5.3.7 → 5.3.10

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 (171) 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/cli/designer.js +1 -1
  5. package/generators/cli/fast-track.js +230 -45
  6. package/generators/cli/init.js +37 -3
  7. package/generators/lib/templates/dashboard-catalog.js +1 -1
  8. package/generators/lib/templates/db-connection-env.js +1 -1
  9. package/generators/lib/templates/dbschema-catalog.js +1 -1
  10. package/generators/lib/templates/field-validation-catalog.js +1 -1
  11. package/generators/lib/templates/mysql-template.js +1 -1
  12. package/generators/lib/templates/oracle-template.js +1 -1
  13. package/generators/lib/templates/postgres-template.js +1 -1
  14. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  15. package/generators/lib/templates/sqlite-template.js +1 -1
  16. package/integrity-manifest.json +18 -18
  17. package/package.json +2 -1
  18. package/scripts/verify-integrity.js +1 -1
  19. package/server.js +1 -1
  20. package/src/components/handlers/adjust_handler.js +1 -1
  21. package/src/components/handlers/audit_handler.js +1 -1
  22. package/src/components/handlers/delete_handler.js +1 -1
  23. package/src/components/handlers/export_handler.js +1 -1
  24. package/src/components/handlers/import_handler.js +1 -1
  25. package/src/components/handlers/insert_handler.js +1 -1
  26. package/src/components/handlers/update_handler.js +1 -1
  27. package/src/components/handlers/upload_handler.js +1 -1
  28. package/src/components/handlers/workflow_handler.js +1 -1
  29. package/src/components/integrations/webhook.js +1 -1
  30. package/src/consumers/baseConsumer.js +1 -1
  31. package/src/consumers/declarativeMapper.js +1 -1
  32. package/src/consumers/handlers/apiHandler.js +1 -1
  33. package/src/consumers/handlers/consoleHandler.js +1 -1
  34. package/src/consumers/handlers/databaseHandler.js +1 -1
  35. package/src/consumers/handlers/index.js +1 -1
  36. package/src/consumers/handlers/kafkaHandler.js +1 -1
  37. package/src/consumers/index.js +1 -1
  38. package/src/consumers/messageTransformer.js +1 -1
  39. package/src/consumers/validator.js +1 -1
  40. package/src/core/db/dialect/base-dialect.js +1 -1
  41. package/src/core/db/dialect/index.js +1 -1
  42. package/src/core/db/dialect/mysql-dialect.js +1 -1
  43. package/src/core/db/dialect/oracle-dialect.js +1 -1
  44. package/src/core/db/dialect/postgres-dialect.js +1 -1
  45. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  46. package/src/core/db/flatten-helper.js +1 -1
  47. package/src/core/db/query-builder-error.js +1 -1
  48. package/src/core/db/query-builder.js +1 -1
  49. package/src/core/db/relation-helper.js +1 -1
  50. package/src/core/handlers/delete_handler.js +1 -1
  51. package/src/core/handlers/insert_handler.js +1 -1
  52. package/src/core/handlers/update_handler.js +1 -1
  53. package/src/core/models/base-model.js +1 -1
  54. package/src/core/utils/cache-manager.js +1 -1
  55. package/src/core/utils/component-engine.js +1 -1
  56. package/src/core/utils/context-builder.js +1 -1
  57. package/src/core/utils/datetime-formatter.js +1 -1
  58. package/src/core/utils/datetime-parser.js +1 -1
  59. package/src/core/utils/db.js +1 -1
  60. package/src/core/utils/logger.js +1 -1
  61. package/src/core/utils/payload-loader.js +1 -1
  62. package/src/core/utils/security-checks.js +1 -1
  63. package/src/middleware/body-options.js +1 -1
  64. package/src/middleware/cors.js +1 -1
  65. package/src/middleware/idempotency.js +1 -1
  66. package/src/middleware/rate-limiter.js +1 -1
  67. package/src/middleware/request-logger.js +1 -1
  68. package/src/middleware/security-headers.js +1 -1
  69. package/src/models/base-model-mysql.js +1 -1
  70. package/src/models/base-model-oracle.js +1 -1
  71. package/src/models/base-model-sqlite.js +1 -1
  72. package/src/models/base-model.js +1 -1
  73. package/src/pro/caching/redis-client.js +1 -1
  74. package/src/pro/caching/redis-helper.js +1 -1
  75. package/src/pro/consumers/baseConsumer.js +1 -1
  76. package/src/pro/consumers/declarativeMapper.js +1 -1
  77. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  78. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  79. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  80. package/src/pro/consumers/handlers/index.js +1 -1
  81. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  82. package/src/pro/consumers/index.js +1 -1
  83. package/src/pro/consumers/messageTransformer.js +1 -1
  84. package/src/pro/consumers/validator.js +1 -1
  85. package/src/pro/database/base-model-mysql.js +1 -1
  86. package/src/pro/database/base-model-oracle.js +1 -1
  87. package/src/pro/database/base-model-sqlite.js +1 -1
  88. package/src/pro/database/db-mysql.js +1 -1
  89. package/src/pro/database/db-oracle.js +1 -1
  90. package/src/pro/database/db-sqlite.js +1 -1
  91. package/src/pro/excel/excel-generator.js +1 -1
  92. package/src/pro/excel/excel-parser.js +1 -1
  93. package/src/pro/excel/export-service.js +1 -1
  94. package/src/pro/excel/export_handler.js +1 -1
  95. package/src/pro/excel/import-service.js +1 -1
  96. package/src/pro/excel/import-validator.js +1 -1
  97. package/src/pro/excel/import_handler.js +1 -1
  98. package/src/pro/excel/upsert-builder.js +1 -1
  99. package/src/pro/idgen/idgen-routes.js +1 -1
  100. package/src/pro/integrations/lookup-resolver.js +1 -1
  101. package/src/pro/integrations/upload-handler-v2.js +1 -1
  102. package/src/pro/integrations/upload-handler.js +1 -1
  103. package/src/pro/integrations/webhook.js +1 -1
  104. package/src/pro/locking/lock-routes.js +1 -1
  105. package/src/pro/locking/resource-lock-manager.js +1 -1
  106. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  107. package/src/pro/messaging/kafkaService.js +1 -1
  108. package/src/pro/messaging/messagehubService.js +1 -1
  109. package/src/pro/messaging/rabbitmqService.js +1 -1
  110. package/src/pro/scheduler/job-manager.js +1 -1
  111. package/src/pro/scheduler/job-routes.js +1 -1
  112. package/src/pro/scheduler/job-validator.js +1 -1
  113. package/src/pro/storage/base-storage-provider.js +1 -1
  114. package/src/pro/storage/file-metadata-helper.js +1 -1
  115. package/src/pro/storage/index.js +1 -1
  116. package/src/pro/storage/local-storage-provider.js +1 -1
  117. package/src/pro/storage/s3-storage-provider.js +1 -1
  118. package/src/pro/storage/upload-cleanup-job.js +1 -1
  119. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  120. package/src/pro/storage/upload-pending-tracker.js +1 -1
  121. package/src/pro/websocket/broadcast-helper.js +1 -1
  122. package/src/pro/websocket/index.js +1 -1
  123. package/src/pro/websocket/livesync-server.js +1 -1
  124. package/src/pro/websocket/ws-broadcaster.js +1 -1
  125. package/src/services/export-service.js +1 -1
  126. package/src/services/import-service.js +1 -1
  127. package/src/services/kafkaConsumerService.js +1 -1
  128. package/src/services/kafkaService.js +1 -1
  129. package/src/services/messagehubService.js +1 -1
  130. package/src/services/rabbitmqService.js +1 -1
  131. package/src/utils/cache-invalidation-registry.js +1 -1
  132. package/src/utils/cache-manager.js +1 -1
  133. package/src/utils/component-engine.js +1 -1
  134. package/src/utils/config-extractor.js +1 -1
  135. package/src/utils/consumerLogger.js +1 -1
  136. package/src/utils/context-builder.js +1 -1
  137. package/src/utils/dashboard-helpers.js +1 -1
  138. package/src/utils/dateHelper.js +1 -1
  139. package/src/utils/datetime-formatter.js +1 -1
  140. package/src/utils/datetime-parser.js +1 -1
  141. package/src/utils/db-bootstrap.js +1 -1
  142. package/src/utils/db-mysql.js +1 -1
  143. package/src/utils/db-oracle.js +1 -1
  144. package/src/utils/db-sqlite.js +1 -1
  145. package/src/utils/db.js +1 -1
  146. package/src/utils/demo-generator.js +1 -1
  147. package/src/utils/excel-generator.js +1 -1
  148. package/src/utils/excel-parser.js +1 -1
  149. package/src/utils/file-watcher.js +1 -1
  150. package/src/utils/id-generator.js +1 -1
  151. package/src/utils/idempotency-manager.js +1 -1
  152. package/src/utils/import-validator.js +1 -1
  153. package/src/utils/license-client.js +1 -1
  154. package/src/utils/lock-manager.js +1 -1
  155. package/src/utils/logger.js +1 -1
  156. package/src/utils/lookup-resolver.js +1 -1
  157. package/src/utils/payload-loader.js +1 -1
  158. package/src/utils/processor-response.js +1 -1
  159. package/src/utils/rabbitmq.js +1 -1
  160. package/src/utils/redis-client.js +1 -1
  161. package/src/utils/redis-helper.js +1 -1
  162. package/src/utils/request-scope.js +1 -1
  163. package/src/utils/security-checks.js +1 -1
  164. package/src/utils/service-resolver.js +1 -1
  165. package/src/utils/shutdown-coordinator.js +1 -1
  166. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  167. package/src/utils/sql-table-extractor.js +1 -1
  168. package/src/utils/trusted-keys.js +1 -1
  169. package/src/utils/upload-handler.js +1 -1
  170. package/src/utils/upsert-builder.js +1 -1
  171. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x1834cf=a0_0x1a31;(function(_0xb57c1a,_0x4bbfd1){const _0x1a3f99=a0_0x1a31,_0x6bd0d5=_0xb57c1a();while(!![]){try{const _0x30eeae=-parseInt(_0x1a3f99(0x13a))/0x1*(-parseInt(_0x1a3f99(0x165))/0x2)+parseInt(_0x1a3f99(0x18a))/0x3*(parseInt(_0x1a3f99(0x16d))/0x4)+-parseInt(_0x1a3f99(0x185))/0x5+-parseInt(_0x1a3f99(0x182))/0x6*(-parseInt(_0x1a3f99(0x16f))/0x7)+parseInt(_0x1a3f99(0x15e))/0x8*(-parseInt(_0x1a3f99(0x14d))/0x9)+-parseInt(_0x1a3f99(0x15d))/0xa+-parseInt(_0x1a3f99(0x17f))/0xb;if(_0x30eeae===_0x4bbfd1)break;else _0x6bd0d5['push'](_0x6bd0d5['shift']());}catch(_0x3a61a){_0x6bd0d5['push'](_0x6bd0d5['shift']());}}}(a0_0x33f3,0xba67f));const redisClient=require(a0_0x1834cf(0x136)),{logger}=require(a0_0x1834cf(0x13f)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x6ec259=a0_0x1834cf,_0x58fbd8={'dfFIh':'4|1|6|0|5|3|2|7'},_0x132b5f=_0x58fbd8['dfFIh']['split']('|');let _0x2d54c1=0x0;while(!![]){switch(_0x132b5f[_0x2d54c1++]){case'0':this[_0x6ec259(0x15c)]=null;continue;case'1':this['_enabled']=null;continue;case'2':this['_workerId']=null;continue;case'3':this['_strategy']=null;continue;case'4':this[_0x6ec259(0x159)]=null;continue;case'5':this['_retryDelay']=null;continue;case'6':this[_0x6ec259(0x15b)]=null;continue;case'7':this[_0x6ec259(0x167)]=![];continue;}break;}}[a0_0x1834cf(0x180)](){const _0x54452a=a0_0x1834cf,_0x142b91={'aphey':'rf:lock:','sQWWD':function(_0x418fca,_0x5082f5,_0x1c8dc5){return _0x418fca(_0x5082f5,_0x1c8dc5);},'kSddJ':function(_0x2efdad,_0x2ea569,_0x15a93d){return _0x2efdad(_0x2ea569,_0x15a93d);}};this[_0x54452a(0x159)]=_0x142b91[_0x54452a(0x18b)],this[_0x54452a(0x13c)]=process[_0x54452a(0x158)][_0x54452a(0x178)]===_0x54452a(0x161),this[_0x54452a(0x15b)]=_0x142b91['sQWWD'](parseInt,process['env'][_0x54452a(0x17d)],0xa)||0xa,this['_retryCount']=_0x142b91['kSddJ'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x54452a(0x17a)]=parseInt(process[_0x54452a(0x158)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env']['LOCK_DISTRIBUTED_STRATEGY']||'retry',this[_0x54452a(0x138)]='worker-'+process[_0x54452a(0x169)],this[_0x54452a(0x167)]=!![],logger[_0x54452a(0x183)]({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x54452a(0x15b)],'retryCount':this[_0x54452a(0x15c)],'retryDelay':this[_0x54452a(0x17a)],'workerId':this[_0x54452a(0x138)]},_0x54452a(0x18c)+this[_0x54452a(0x13c)]+_0x54452a(0x142)+this[_0x54452a(0x186)]);}['_ensureInitialized'](){!this['_initialized']&&this['_initConfig']();}get[a0_0x1834cf(0x189)](){const _0xa4ab78=a0_0x1834cf;return this[_0xa4ab78(0x151)](),this[_0xa4ab78(0x159)];}get['enabled'](){const _0x45b22b=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x45b22b(0x13c)];}get[a0_0x1834cf(0x137)](){const _0x559437=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x559437(0x15b)];}get[a0_0x1834cf(0x160)](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0x2b228f=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x2b228f(0x17a)];}get[a0_0x1834cf(0x176)](){const _0x8a8aee=a0_0x1834cf;return this[_0x8a8aee(0x151)](),this[_0x8a8aee(0x186)];}get[a0_0x1834cf(0x179)](){const _0x238cbe=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x238cbe(0x138)];}['buildLockKey'](_0x3a7900){const _0x35e824=a0_0x1834cf,{module:_0x55b3ed,endpoint:_0x4e4c82,lockType:_0x2d920c,recordId:_0x30131f}=_0x3a7900;if(_0x30131f)return''+this[_0x35e824(0x189)]+_0x55b3ed+':'+_0x4e4c82+':'+_0x30131f+':'+_0x2d920c;return''+this[_0x35e824(0x189)]+_0x55b3ed+':'+_0x4e4c82+':'+_0x2d920c;}['generateLockValue'](){const _0xb502ab=a0_0x1834cf;return this[_0xb502ab(0x179)]+':'+uuidv4()+':'+Date[_0xb502ab(0x172)]();}async[a0_0x1834cf(0x174)](_0x105d3c){const _0x142e06=a0_0x1834cf,_0x2f05b0={'xfSzF':'read_lock_acquired','JTFcF':_0x142e06(0x141),'UnhyC':_0x142e06(0x14c),'azVXd':'read_lock_timeout','TpDof':'READ\x20lock\x20acquire\x20timeout','Ndxad':'read_lock_error','RWKCE':'READ\x20lock\x20error'};if(!this[_0x142e06(0x15f)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2e96ce=this[_0x142e06(0x156)]({..._0x105d3c,'lockType':'write'}),_0x27112=this[_0x142e06(0x156)]({..._0x105d3c,'lockType':'read'}),_0x2e7fea=this[_0x142e06(0x17c)]();try{const _0x52f49c=redisClient[_0x142e06(0x177)]();for(let _0x164e23=0x0;_0x164e23<this[_0x142e06(0x160)];_0x164e23++){const _0x40dfde=await _0x52f49c[_0x142e06(0x13e)](_0x2e96ce);if(!_0x40dfde){await _0x52f49c[_0x142e06(0x168)](_0x27112),await _0x52f49c['expire'](_0x27112,this[_0x142e06(0x137)]);const _0x394191=_0x27112+':'+_0x2e7fea;return await _0x52f49c[_0x142e06(0x16c)](_0x394191,this['defaultTTL'],_0x2e7fea),logger[_0x142e06(0x187)]({'event':_0x2f05b0['xfSzF'],'key':_0x27112,'value':_0x2e7fea},_0x142e06(0x171)),{'success':!![],'lockValue':_0x2e7fea,'lockKey':_0x394191};}logger['debug']({'event':_0x2f05b0['JTFcF'],'writeKey':_0x2e96ce,'attempt':_0x164e23},_0x2f05b0[_0x142e06(0x157)]),await this[_0x142e06(0x145)](this[_0x142e06(0x14b)]*Math[_0x142e06(0x175)](0x2,_0x164e23));}return logger[_0x142e06(0x139)]({'event':_0x2f05b0['azVXd'],'key':_0x27112},_0x2f05b0['TpDof']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4d5f9f){return logger[_0x142e06(0x149)]({'event':_0x2f05b0['Ndxad'],'error':_0x4d5f9f[_0x142e06(0x184)]},_0x2f05b0['RWKCE']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x59cf39){const _0x1a31d5=a0_0x1834cf,_0x623d9c={'IlSem':'write','YwBtN':_0x1a31d5(0x16b),'tfrUS':function(_0x24b9b6,_0x18f5c5){return _0x24b9b6===_0x18f5c5;},'fBLiX':_0x1a31d5(0x162),'yokdl':_0x1a31d5(0x14f),'HVeYb':_0x1a31d5(0x147),'NghRo':function(_0xd82c79,_0x797556){return _0xd82c79===_0x797556;},'OWYGO':'retry','seoFM':_0x1a31d5(0x143),'tItpy':function(_0x3cadd7,_0x52871e){return _0x3cadd7*_0x52871e;},'OOTDF':_0x1a31d5(0x152)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3e8df4=this['buildLockKey']({..._0x59cf39,'lockType':_0x623d9c[_0x1a31d5(0x166)]}),_0x56be73=this['buildLockKey']({..._0x59cf39,'lockType':_0x623d9c['YwBtN']}),_0x40a92a=this['generateLockValue']();try{const _0x39b66a=redisClient[_0x1a31d5(0x177)]();if(this['strategy']===_0x1a31d5(0x14f)){const _0x2a8652=await _0x39b66a['set'](_0x3e8df4,_0x40a92a,'EX',this[_0x1a31d5(0x137)],'NX');if(_0x623d9c[_0x1a31d5(0x16e)](_0x2a8652,'OK'))return logger[_0x1a31d5(0x187)]({'event':_0x623d9c['fBLiX'],'key':_0x3e8df4,'value':_0x40a92a,'strategy':_0x623d9c[_0x1a31d5(0x181)]},_0x1a31d5(0x150)),{'success':!![],'lockValue':_0x40a92a,'lockKey':_0x3e8df4};return logger['debug']({'event':_0x1a31d5(0x188),'key':_0x3e8df4},_0x623d9c[_0x1a31d5(0x134)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x5949e7=0x0;_0x5949e7<this[_0x1a31d5(0x160)];_0x5949e7++){const [_0x133057,_0xf73014]=await Promise['all']([_0x39b66a[_0x1a31d5(0x13e)](_0x56be73),_0x39b66a['get'](_0x3e8df4)]);if(!_0xf73014&&(!_0x133057||_0x623d9c[_0x1a31d5(0x16e)](parseInt(_0x133057),0x0))){const _0x569d6d=await _0x39b66a['set'](_0x3e8df4,_0x40a92a,'EX',this[_0x1a31d5(0x137)],'NX');if(_0x623d9c['NghRo'](_0x569d6d,'OK'))return logger[_0x1a31d5(0x187)]({'event':_0x1a31d5(0x162),'key':_0x3e8df4,'value':_0x40a92a,'strategy':_0x623d9c['OWYGO']},_0x1a31d5(0x146)),{'success':!![],'lockValue':_0x40a92a,'lockKey':_0x3e8df4};}logger['debug']({'event':_0x1a31d5(0x173),'writeKey':_0x3e8df4,'readCount':_0x133057,'attempt':_0x5949e7},_0x623d9c['seoFM']),await this['sleep'](_0x623d9c[_0x1a31d5(0x13b)](this[_0x1a31d5(0x14b)],Math['pow'](0x2,_0x5949e7)));}return logger[_0x1a31d5(0x139)]({'event':_0x623d9c[_0x1a31d5(0x153)],'key':_0x3e8df4},_0x1a31d5(0x135)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x21ec87){return logger['error']({'event':_0x1a31d5(0x133),'error':_0x21ec87['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1834cf(0x17b)](_0xca308a,_0x1e92eb){const _0x315b67=a0_0x1834cf,_0x90b0fa={'naZOi':':read:','rqXLV':'read_lock_released','qwTZV':function(_0x33c888,_0xfe727e){return _0x33c888===_0xfe727e;},'GofVA':'WRITE\x20lock\x20released','Owmgc':_0x315b67(0x148),'KUCsb':_0x315b67(0x154),'xUTBB':_0x315b67(0x170)};if(!this['enabled']||!_0xca308a)return!![];try{const _0xf46375=redisClient['getClient']();if(_0xca308a[_0x315b67(0x17e)](_0x90b0fa[_0x315b67(0x144)])){await _0xf46375['del'](_0xca308a);const _0x327606=_0xca308a['substring'](0x0,_0xca308a['lastIndexOf'](':')),_0x14fff0=await _0xf46375['get'](_0x327606);return _0x14fff0&&parseInt(_0x14fff0)>0x0&&await _0xf46375[_0x315b67(0x15a)](_0x327606),logger[_0x315b67(0x187)]({'event':_0x90b0fa['rqXLV'],'key':_0xca308a},'READ\x20lock\x20released'),!![];}const _0xb4beb6='\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(\x22del\x22,\x20KEYS[1])\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',_0x2276d8=await _0xf46375['eval'](_0xb4beb6,0x1,_0xca308a,_0x1e92eb);if(_0x90b0fa[_0x315b67(0x14e)](_0x2276d8,0x1))return logger[_0x315b67(0x187)]({'event':'write_lock_released','key':_0xca308a},_0x90b0fa[_0x315b67(0x163)]),!![];return logger[_0x315b67(0x139)]({'event':_0x90b0fa['Owmgc'],'key':_0xca308a},_0x90b0fa['KUCsb']),![];}catch(_0x11ba28){return logger['error']({'event':'lock_release_error','key':_0xca308a,'error':_0x11ba28[_0x315b67(0x184)]},_0x90b0fa[_0x315b67(0x155)]),![];}}async['extendLock'](_0x22baa7,_0x5b3b57,_0x2db277=null){const _0x1f7ca0=a0_0x1834cf,_0x58812e={'MSKxB':function(_0x38bb45,_0x286deb){return _0x38bb45===_0x286deb;},'FvIta':'lock_extended','XGARO':_0x1f7ca0(0x13d),'qmduO':_0x1f7ca0(0x18d)};if(!this[_0x1f7ca0(0x15f)]||!_0x22baa7)return!![];try{const _0x1ffc54=redisClient['getClient'](),_0x5cf0c8=_0x1f7ca0(0x16a),_0x3997c7=await _0x1ffc54['eval'](_0x5cf0c8,0x1,_0x22baa7,_0x5b3b57,_0x2db277||this[_0x1f7ca0(0x137)]);if(_0x58812e['MSKxB'](_0x3997c7,0x1))return logger['debug']({'event':_0x58812e[_0x1f7ca0(0x132)],'key':_0x22baa7,'ttl':_0x2db277||this[_0x1f7ca0(0x137)]},_0x58812e[_0x1f7ca0(0x164)]),!![];return![];}catch(_0x1856b0){return logger['error']({'event':'lock_extend_error','key':_0x22baa7,'error':_0x1856b0[_0x1f7ca0(0x184)]},_0x58812e['qmduO']),![];}}['isEnabled'](){return this['enabled'];}['sleep'](_0x2e36d7){return new Promise(_0x50a81b=>setTimeout(_0x50a81b,_0x2e36d7));}async['getLockInfo'](_0x598581){const _0x975c2c=a0_0x1834cf,_0x13f29b={'NZpZI':function(_0x410167,_0x19987b){return _0x410167(_0x19987b);}};if(!this['enabled'])return{'enabled':![]};try{const _0x30c623=redisClient['getClient'](),_0x43973c=this['buildLockKey']({..._0x598581,'lockType':_0x975c2c(0x14a)}),_0x146a48=this['buildLockKey']({..._0x598581,'lockType':'read'}),[_0x318229,_0x165a4a]=await Promise['all']([_0x30c623[_0x975c2c(0x13e)](_0x43973c),_0x30c623[_0x975c2c(0x13e)](_0x146a48)]);return{'enabled':!![],'writeLock':_0x318229||null,'readCount':_0x13f29b[_0x975c2c(0x140)](parseInt,_0x165a4a)||0x0,'writeKey':_0x43973c,'readKey':_0x146a48};}catch(_0x388892){return{'enabled':!![],'error':_0x388892['message']};}}}function a0_0x1a31(_0x4a5ad7,_0x2f22dc){_0x4a5ad7=_0x4a5ad7-0x132;const _0x33f38a=a0_0x33f3();let _0x1a314b=_0x33f38a[_0x4a5ad7];if(a0_0x1a31['HEJgaH']===undefined){var _0x141368=function(_0xd1e4b0){const _0x14a894='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x244e65='',_0x5e7b5a='';for(let _0x27c37e=0x0,_0x42d05a,_0x122088,_0xc444=0x0;_0x122088=_0xd1e4b0['charAt'](_0xc444++);~_0x122088&&(_0x42d05a=_0x27c37e%0x4?_0x42d05a*0x40+_0x122088:_0x122088,_0x27c37e++%0x4)?_0x244e65+=String['fromCharCode'](0xff&_0x42d05a>>(-0x2*_0x27c37e&0x6)):0x0){_0x122088=_0x14a894['indexOf'](_0x122088);}for(let _0x55ed77=0x0,_0x5ce992=_0x244e65['length'];_0x55ed77<_0x5ce992;_0x55ed77++){_0x5e7b5a+='%'+('00'+_0x244e65['charCodeAt'](_0x55ed77)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e7b5a);};a0_0x1a31['oyMlvu']=_0x141368,a0_0x1a31['yPSWDS']={},a0_0x1a31['HEJgaH']=!![];}const _0x1182aa=_0x33f38a[0x0],_0x93c0cf=_0x4a5ad7+_0x1182aa,_0x5ad8bb=a0_0x1a31['yPSWDS'][_0x93c0cf];return!_0x5ad8bb?(_0x1a314b=a0_0x1a31['oyMlvu'](_0x1a314b),a0_0x1a31['yPSWDS'][_0x93c0cf]=_0x1a314b):_0x1a314b=_0x5ad8bb,_0x1a314b;}module['exports']=new LockManager();function a0_0x33f3(){const _0x246b86=['v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','mtyZmtC5CxLTwMLI','CxDuwLy','CMvQzwn0','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','x2vUC3vYzuLUAxrPywXPEMvK','D3jPDgvFBg9JA190Aw1LB3v0','t09urey','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','EfvuqKi','yNvPBgrmB2nRs2v5','vw5OEum','zw52','x3bYzwzPEa','zgvJCG','x2rLzMf1BhruveW','x3jLDhj5q291BNq','mJCWotG1mgzNwvv5sW','odbIsKvdzwG','zw5HyMXLza','CMv0CNLdB3vUDa','Dhj1zq','D3jPDgvFBg9JA19Hy3f1AxjLza','r29MvKe','weDbuK8','mtm0mZzVz2XKruS','swXtzw0','x2LUAxrPywXPEMvK','Aw5JCG','CgLK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMvHza','C2v0zxG','mJaZmJblqNncsge','DgzYvvm','mZmYnZuYzhjmueHN','tg9JAYbYzwXLyxnLigvYCM9Y','uKvbrcbSB2nRigfJCxvPCMvK','BM93','D3jPDgvFBg9JA193ywL0Aw5N','ywnXDwLYzvjLywrmB2nR','Cg93','C3rYyxrLz3K','z2v0q2XPzw50','te9ds19esvnuuKLcvvrfrf9ftKfcteve','D29YA2vYswq','x3jLDhj5rgvSyxK','CMvSzwfZzuXVy2S','z2vUzxjHDgvmB2nRvMfSDwu','te9ds19esvnuuKLcvvrfrf9uveW','Aw5JBhvKzxm','odCYnZm2n0TbDKLHzG','x2LUAxrdB25MAwC','Ew9RzgW','nJzUB3jkree','Aw5MBW','BwvZC2fNzq','mJCYndG1CMPIzhzM','x3n0CMf0zwD5','zgvIDwC','D3jPDgvFBg9JA19YzwPLy3rLza','ChjLzML4','ntm3reTxshjm','yxbOzxK','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','tg9JAYbLEhrLBMqGzxjYB3i','rNzjDge','D3jPDgvFBg9JA19LCNjVCG','sfzLwwi','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','lI9YzwrPCY1JBgLLBNq','zgvMyxvSDfruta','x3DVCMTLCKLK','D2fYBG','otrlB0jiwhy','DeL0ChK','x2vUywjSzwq','tg9JAYbuveWGzxH0zw5Kzwq','z2v0','lI9SB2DNzxi','tLPWwKK','CMvHzf9SB2nRx3DHAxrPBMC','lcbZDhjHDgvNEtOG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','BMfAt2K','C2XLzxa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','zxjYB3i','D3jPDgu','CMv0CNLezwXHEq'];a0_0x33f3=function(){return _0x246b86;};return a0_0x33f3();}
1
+ const a0_0x3910e4=a0_0x2dbd;(function(_0x1368d0,_0x5c56f0){const _0x1d80d1=a0_0x2dbd,_0x47180b=_0x1368d0();while(!![]){try{const _0x172054=parseInt(_0x1d80d1(0xb5))/0x1+-parseInt(_0x1d80d1(0x9f))/0x2+-parseInt(_0x1d80d1(0x6c))/0x3+-parseInt(_0x1d80d1(0x6a))/0x4+-parseInt(_0x1d80d1(0xa1))/0x5+parseInt(_0x1d80d1(0x89))/0x6+parseInt(_0x1d80d1(0x7b))/0x7;if(_0x172054===_0x5c56f0)break;else _0x47180b['push'](_0x47180b['shift']());}catch(_0xe6e20f){_0x47180b['push'](_0x47180b['shift']());}}}(a0_0x32a1,0xd0de0));function a0_0x32a1(){const _0x74c37=['CMv0CNK','D3jPDgvFBg9JA19YzwXLyxnLza','ndu0mZqXweDSwhP3','zxHWB3j0CW','BgfZDeLUzgv4t2y','v1jjveuGBg9JAYbYzwXLyxnLza','CMv0CNLezwXHEq','ywnXDwLYzvjLywrmB2nR','zxjYB3i','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','te9ds19esvnuuKLcvvrfrf9uveW','wKjxsM8','x3bYzwzPEa','D3jPDgvFBg9JA193ywL0Aw5N','D2fYBG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','qKzoExi','nhW2Fdj8m3W3Fdv8mxWW','Du5lB2y','ywnXDwLYzvDYAxrLtg9JAW','x3n0CMf0zwD5','vKTZuMS','CMvHzf9SB2nRx3rPBwvVDxq','Aw5JBhvKzxm','C2v0zxG','ndu0nduZnNPIDfL4zG','rLf0DKm','mtm1odGXmufdt0XWrq','x2LUAxrPywXPEMvK','C2XLzxa','C3bSAxq','x3jLDhj5q291BNq','zgvMyxvSDfruta','yNvPBgrmB2nRs2v5','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','wLD6D0G','D29YA2vYlq','x2vUywjSzwq','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMvQzwn0','D29YA2vYswq','mtG2mZyYmZnRBM9bAwi','Cg93','AxnfBMfIBgvK','ywXS','rfLcvNK','D3jPDgu','zgvIDwC','zgvJCG','BM93','wunUyKW','Aw5MBW','z2v0','CMvHza','z2v0q2XPzw50','mtyWmdKYnNjvqM5yzq','uenADey','CMvHzf9SB2nRx2fJCxvPCMvK','tfnltee','z2vUzxjHDgvmB2nRvMfSDwu','zxH0zw5Ktg9JAW','CMv0CNLdB3vUDa','C3rYyxrLz3K','Bg9JA19LEhrLBMrFzxjYB3i','BwvZC2fNzq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','x2LUAxrdB25MAwC','C2v0','x3DVCMTLCKLK','Evfhufu','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','oNjLywq6','te9ds19esvnuuKLcvvrfrf9ftKfcteve','x2rLzMf1BhruveW','zw52','te9ds19esvnuuKLcvvrfrf9srvrswq','u1vxzKW','mtG0mtuZoeTOrenlua','zxzHBa','ota2mdvwuxLgChe','AKzrAw4','zgvS','D3jPDgvFBg9JA190Aw1LB3v0','C3vIC3rYAw5N','D3jPDgvFBg9JA19Hy3f1AxjLza','Agn0ufq','lcbZDhjHDgvNEtOG','zwjUwLO','mNW2FdD8ohW1Fdb8m3WXFdq','zw5HyMXLza','BNHjDvm','Bg9JA19JB25MAwDFAw5PDa','x2vUC3vYzuLUAxrPywXPEMvK','x3jLDhj5rgvSyxK','sKjnEuu','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica'];a0_0x32a1=function(){return _0x74c37;};return a0_0x32a1();}function a0_0x2dbd(_0x22bac3,_0x390e11){_0x22bac3=_0x22bac3-0x69;const _0x32a129=a0_0x32a1();let _0x2dbd10=_0x32a129[_0x22bac3];if(a0_0x2dbd['zamCgB']===undefined){var _0x522fae=function(_0x2a3eae){const _0x37bd02='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcad92b='',_0x31dc51='';for(let _0x13370b=0x0,_0x57cb8a,_0x7ff639,_0x4b46c7=0x0;_0x7ff639=_0x2a3eae['charAt'](_0x4b46c7++);~_0x7ff639&&(_0x57cb8a=_0x13370b%0x4?_0x57cb8a*0x40+_0x7ff639:_0x7ff639,_0x13370b++%0x4)?_0xcad92b+=String['fromCharCode'](0xff&_0x57cb8a>>(-0x2*_0x13370b&0x6)):0x0){_0x7ff639=_0x37bd02['indexOf'](_0x7ff639);}for(let _0x4bf172=0x0,_0x48af0d=_0xcad92b['length'];_0x4bf172<_0x48af0d;_0x4bf172++){_0x31dc51+='%'+('00'+_0xcad92b['charCodeAt'](_0x4bf172)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31dc51);};a0_0x2dbd['OFqozt']=_0x522fae,a0_0x2dbd['ghFbHi']={},a0_0x2dbd['zamCgB']=!![];}const _0x36506d=_0x32a129[0x0],_0x1b9da2=_0x22bac3+_0x36506d,_0x5ae1b8=a0_0x2dbd['ghFbHi'][_0x1b9da2];return!_0x5ae1b8?(_0x2dbd10=a0_0x2dbd['OFqozt'](_0x2dbd10),a0_0x2dbd['ghFbHi'][_0x1b9da2]=_0x2dbd10):_0x2dbd10=_0x5ae1b8,_0x2dbd10;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x57a09e=a0_0x2dbd,_0x57b4f2=_0x57a09e(0xc5)[_0x57a09e(0x6f)]('|');let _0x1daad3=0x0;while(!![]){switch(_0x57b4f2[_0x1daad3++]){case'0':this[_0x57a09e(0x6d)]=![];continue;case'1':this[_0x57a09e(0x96)]=null;continue;case'2':this['_defaultTTL']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_prefix']=null;continue;case'5':this[_0x57a09e(0xc8)]=null;continue;case'6':this['_enabled']=null;continue;case'7':this[_0x57a09e(0xaf)]=null;continue;}break;}}['_initConfig'](){const _0x38d6b9=a0_0x2dbd,_0x4866bd={'YPLJd':_0x38d6b9(0xad),'JBMyE':function(_0x430b49,_0x2fc5ad,_0x14319d){return _0x430b49(_0x2fc5ad,_0x14319d);},'fYuDM':function(_0x2f1196,_0xa3771b){return _0x2f1196===_0xa3771b;}},_0x4343f9=_0x38d6b9(0xaa)['split']('|');let _0x3d4d7c=0x0;while(!![]){switch(_0x4343f9[_0x3d4d7c++]){case'0':this[_0x38d6b9(0xc8)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x38d6b9(0xb3);continue;case'1':this['_initialized']=!![];continue;case'2':this['_prefix']='rf:lock:';continue;case'3':this[_0x38d6b9(0x96)]=_0x38d6b9(0x75)+process['pid'];continue;case'4':logger[_0x38d6b9(0x85)]({'event':_0x4866bd['YPLJd'],'enabled':this[_0x38d6b9(0x76)],'strategy':this[_0x38d6b9(0xc8)],'ttl':this[_0x38d6b9(0x9b)],'retryCount':this[_0x38d6b9(0x70)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x38d6b9(0x73)+this[_0x38d6b9(0x76)]+_0x38d6b9(0xa8)+this[_0x38d6b9(0xc8)]);continue;case'5':this[_0x38d6b9(0xaf)]=_0x4866bd[_0x38d6b9(0xb0)](parseInt,process[_0x38d6b9(0x9c)][_0x38d6b9(0xb1)],0xa)||0x64;continue;case'6':this[_0x38d6b9(0x76)]=_0x4866bd['fYuDM'](process['env'][_0x38d6b9(0x9a)],'true');continue;case'7':this[_0x38d6b9(0x9b)]=parseInt(process[_0x38d6b9(0x9c)][_0x38d6b9(0xbd)],0xa)||0xa;continue;case'8':this['_retryCount']=parseInt(process['env'][_0x38d6b9(0x9d)],0xa)||0x3;continue;}break;}}['_ensureInitialized'](){const _0x20e678=a0_0x2dbd;!this['_initialized']&&this[_0x20e678(0x94)]();}get['prefix'](){const _0x4e89b7=a0_0x2dbd;return this['_ensureInitialized'](),this[_0x4e89b7(0xbf)];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x3910e4(0x71)](){const _0x56b559=a0_0x3910e4;return this['_ensureInitialized'](),this[_0x56b559(0x9b)];}get['retryCount'](){const _0x3affe0=a0_0x3910e4;return this[_0x3affe0(0xae)](),this['_retryCount'];}get[a0_0x3910e4(0xb9)](){const _0x1cc6e0=a0_0x3910e4;return this[_0x1cc6e0(0xae)](),this['_retryDelay'];}get[a0_0x3910e4(0x90)](){const _0x4fe41e=a0_0x3910e4;return this[_0x4fe41e(0xae)](),this['_strategy'];}get[a0_0x3910e4(0x7a)](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x2a4d7b){const {module:_0x3adc58,endpoint:_0x390adc,lockType:_0x1ea230,recordId:_0x537df4}=_0x2a4d7b;if(_0x537df4)return''+this['prefix']+_0x3adc58+':'+_0x390adc+':'+_0x537df4+':'+_0x1ea230;return''+this['prefix']+_0x3adc58+':'+_0x390adc+':'+_0x1ea230;}['generateLockValue'](){const _0x5bae09=a0_0x3910e4;return this[_0x5bae09(0x7a)]+':'+uuidv4()+':'+Date[_0x5bae09(0x83)]();}async[a0_0x3910e4(0xba)](_0xbd76ac){const _0x37d1b3=a0_0x3910e4,_0x7a2d8f={'PCZtF':'read','cXryx':_0x37d1b3(0x8b),'Youau':'READ\x20lock\x20acquired','lCTjc':'read_lock_waiting','WSLko':_0x37d1b3(0xca),'sZlTe':'READ\x20lock\x20error'};if(!this[_0x37d1b3(0xab)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x37f32e=this['buildLockKey']({..._0xbd76ac,'lockType':'write'}),_0x55ce74=this[_0x37d1b3(0x72)]({..._0xbd76ac,'lockType':_0x7a2d8f[_0x37d1b3(0x8a)]}),_0x3f7561=this[_0x37d1b3(0x8d)]();try{const _0x2c8731=redisClient[_0x37d1b3(0x88)]();for(let _0x4d8ce5=0x0;_0x4d8ce5<this['retryCount'];_0x4d8ce5++){const _0x25b1e6=await _0x2c8731['get'](_0x37f32e);if(!_0x25b1e6){await _0x2c8731['incr'](_0x55ce74),await _0x2c8731['expire'](_0x55ce74,this[_0x37d1b3(0x71)]);const _0x2e2c46=_0x55ce74+':'+_0x3f7561;return await _0x2c8731[_0x37d1b3(0x69)](_0x2e2c46,this['defaultTTL'],_0x3f7561),logger['debug']({'event':_0x7a2d8f['cXryx'],'key':_0x55ce74,'value':_0x3f7561},_0x7a2d8f['Youau']),{'success':!![],'lockValue':_0x3f7561,'lockKey':_0x2e2c46};}logger[_0x37d1b3(0x81)]({'event':_0x7a2d8f['lCTjc'],'writeKey':_0x37f32e,'attempt':_0x4d8ce5},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this[_0x37d1b3(0x6e)](this[_0x37d1b3(0xb9)]*Math[_0x37d1b3(0x7c)](0x2,_0x4d8ce5));}return logger[_0x37d1b3(0xc1)]({'event':_0x7a2d8f['WSLko'],'key':_0x55ce74},_0x37d1b3(0xc3)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4b742e){return logger[_0x37d1b3(0xbb)]({'event':'read_lock_error','error':_0x4b742e[_0x37d1b3(0x92)]},_0x7a2d8f['sZlTe']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x3910e4(0xc7)](_0x424891){const _0x554601=a0_0x3910e4,_0xd99529={'nxIuS':function(_0x132823,_0x7643ac){return _0x132823===_0x7643ac;},'ZBWJo':function(_0x277b54,_0x294869){return _0x277b54===_0x294869;},'DYBVy':'reject','YCnbL':_0x554601(0xc2),'FxrVs':_0x554601(0x77),'jFQin':function(_0x275fb9,_0x12e2d1){return _0x275fb9<_0x12e2d1;},'BFNyr':_0x554601(0xa6),'ebnZZ':'Waiting\x20for\x20locks\x20to\x20release','SUWfL':_0x554601(0xa4),'ZWzwH':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4d87c3=this[_0x554601(0x72)]({..._0x424891,'lockType':'write'}),_0x55f7a0=this['buildLockKey']({..._0x424891,'lockType':_0x554601(0x87)}),_0x54fe9f=this[_0x554601(0x8d)]();try{const _0x1cc1e9=redisClient[_0x554601(0x88)]();if(_0xd99529[_0x554601(0xac)](this[_0x554601(0x90)],_0x554601(0x79))){const _0x1a6123=await _0x1cc1e9[_0x554601(0x95)](_0x4d87c3,_0x54fe9f,'EX',this[_0x554601(0x71)],'NX');if(_0xd99529[_0x554601(0xbe)](_0x1a6123,'OK'))return logger[_0x554601(0x81)]({'event':'write_lock_acquired','key':_0x4d87c3,'value':_0x54fe9f,'strategy':_0xd99529[_0x554601(0x7f)]},_0xd99529[_0x554601(0x84)]),{'success':!![],'lockValue':_0x54fe9f,'lockKey':_0x4d87c3};return logger['debug']({'event':'write_lock_rejected','key':_0x4d87c3},_0xd99529['FxrVs']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x335e8d=0x0;_0xd99529[_0x554601(0xa2)](_0x335e8d,this[_0x554601(0x8f)]);_0x335e8d++){const [_0x29a9e6,_0x4d0d12]=await Promise[_0x554601(0x7e)]([_0x1cc1e9[_0x554601(0x86)](_0x55f7a0),_0x1cc1e9['get'](_0x4d87c3)]);if(!_0x4d0d12&&(!_0x29a9e6||_0xd99529['nxIuS'](parseInt(_0x29a9e6),0x0))){const _0x37bfcf=await _0x1cc1e9['set'](_0x4d87c3,_0x54fe9f,'EX',this[_0x554601(0x71)],'NX');if(_0xd99529['ZBWJo'](_0x37bfcf,'OK'))return logger['debug']({'event':_0xd99529[_0x554601(0xc4)],'key':_0x4d87c3,'value':_0x54fe9f,'strategy':'retry'},_0x554601(0xbc)),{'success':!![],'lockValue':_0x54fe9f,'lockKey':_0x4d87c3};}logger['debug']({'event':_0x554601(0xc0),'writeKey':_0x4d87c3,'readCount':_0x29a9e6,'attempt':_0x335e8d},_0xd99529[_0x554601(0xa9)]),await this[_0x554601(0x6e)](this[_0x554601(0xb9)]*Math[_0x554601(0x7c)](0x2,_0x335e8d));}return logger[_0x554601(0xc1)]({'event':_0xd99529[_0x554601(0x9e)],'key':_0x4d87c3},_0x554601(0x93)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1af865){return logger[_0x554601(0xbb)]({'event':_0xd99529[_0x554601(0x74)],'error':_0x1af865[_0x554601(0x92)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2d091d,_0xafdec6){const _0xceb7c4=a0_0x3910e4,_0x4a8476={'hctPT':function(_0x4de8ca,_0x152d5a){return _0x4de8ca>_0x152d5a;},'yQGPU':'read_lock_released','TFszA':_0xceb7c4(0xb4),'LSKLA':_0xceb7c4(0xb8),'iMZow':_0xceb7c4(0x98)};if(!this['enabled']||!_0x2d091d)return!![];try{const _0x19f436=redisClient['getClient']();if(_0x2d091d[_0xceb7c4(0xcb)](_0xceb7c4(0x99))){await _0x19f436[_0xceb7c4(0xa3)](_0x2d091d);const _0x252714=_0x2d091d[_0xceb7c4(0xa5)](0x0,_0x2d091d[_0xceb7c4(0xb7)](':')),_0x398953=await _0x19f436[_0xceb7c4(0x86)](_0x252714);return _0x398953&&_0x4a8476[_0xceb7c4(0xa7)](parseInt(_0x398953),0x0)&&await _0x19f436[_0xceb7c4(0x82)](_0x252714),logger['debug']({'event':_0x4a8476[_0xceb7c4(0x97)],'key':_0x2d091d},'READ\x20lock\x20released'),!![];}const _0x122a6c=_0xceb7c4(0x78),_0x5852d1=await _0x19f436[_0xceb7c4(0xa0)](_0x122a6c,0x1,_0x2d091d,_0xafdec6);if(_0x5852d1===0x1)return logger[_0xceb7c4(0x81)]({'event':_0x4a8476['TFszA'],'key':_0x2d091d},_0x4a8476[_0xceb7c4(0x8c)]),!![];return logger['warn']({'event':_0x4a8476['iMZow'],'key':_0x2d091d},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x46418e){return logger['error']({'event':'lock_release_error','key':_0x2d091d,'error':_0x46418e[_0xceb7c4(0x92)]},'Lock\x20release\x20error'),![];}}async[a0_0x3910e4(0x8e)](_0x11b074,_0x3bf95e,_0x278122=null){const _0x1103c5=a0_0x3910e4,_0x4d9ab5={'XHidi':function(_0x2dae3d,_0x1a339c){return _0x2dae3d===_0x1a339c;},'FQtvC':'Lock\x20TTL\x20extended','uNKof':_0x1103c5(0x91),'VKsRk':'Lock\x20extend\x20error'};if(!this[_0x1103c5(0xab)]||!_0x11b074)return!![];try{const _0x3f478a=redisClient[_0x1103c5(0x88)](),_0x2dfbdf=_0x1103c5(0xb2),_0x3260ed=await _0x3f478a['eval'](_0x2dfbdf,0x1,_0x11b074,_0x3bf95e,_0x278122||this['defaultTTL']);if(_0x4d9ab5['XHidi'](_0x3260ed,0x1))return logger[_0x1103c5(0x81)]({'event':'lock_extended','key':_0x11b074,'ttl':_0x278122||this[_0x1103c5(0x71)]},_0x4d9ab5[_0x1103c5(0x6b)]),!![];return![];}catch(_0xeed5b9){return logger['error']({'event':_0x4d9ab5[_0x1103c5(0xc6)],'key':_0x11b074,'error':_0xeed5b9[_0x1103c5(0x92)]},_0x4d9ab5[_0x1103c5(0xc9)]),![];}}[a0_0x3910e4(0x7d)](){const _0x4b7d75=a0_0x3910e4;return this[_0x4b7d75(0xab)];}['sleep'](_0x2fc44d){return new Promise(_0x4b1a58=>setTimeout(_0x4b1a58,_0x2fc44d));}async['getLockInfo'](_0xdc2d8){const _0xf2b8da=a0_0x3910e4,_0x3463f5={'gmalu':_0xf2b8da(0x80),'WprzP':function(_0x3af339,_0xf34abd){return _0x3af339||_0xf34abd;}};if(!this['enabled'])return{'enabled':![]};try{const _0x595fa4=redisClient['getClient'](),_0x4188d6=this[_0xf2b8da(0x72)]({..._0xdc2d8,'lockType':_0x3463f5['gmalu']}),_0x4d7e89=this[_0xf2b8da(0x72)]({..._0xdc2d8,'lockType':'read'}),[_0x38dfe8,_0x37129e]=await Promise['all']([_0x595fa4[_0xf2b8da(0x86)](_0x4188d6),_0x595fa4[_0xf2b8da(0x86)](_0x4d7e89)]);return{'enabled':!![],'writeLock':_0x3463f5['WprzP'](_0x38dfe8,null),'readCount':parseInt(_0x37129e)||0x0,'writeKey':_0x4188d6,'readKey':_0x4d7e89};}catch(_0x53b0eb){return{'enabled':!![],'error':_0x53b0eb[_0xf2b8da(0x92)]};}}}module[a0_0x3910e4(0xb6)]=new LockManager();
@@ -1 +1 @@
1
- const a0_0x2cb5eb=a0_0x343d;(function(_0x2191af,_0x1b115e){const _0x1972eb=a0_0x343d,_0x32eede=_0x2191af();while(!![]){try{const _0x43c5d6=-parseInt(_0x1972eb(0x12a))/0x1+-parseInt(_0x1972eb(0x186))/0x2+parseInt(_0x1972eb(0x18c))/0x3+-parseInt(_0x1972eb(0x13b))/0x4*(-parseInt(_0x1972eb(0x190))/0x5)+-parseInt(_0x1972eb(0xee))/0x6*(parseInt(_0x1972eb(0x184))/0x7)+-parseInt(_0x1972eb(0x15e))/0x8+parseInt(_0x1972eb(0x126))/0x9*(parseInt(_0x1972eb(0x139))/0xa);if(_0x43c5d6===_0x1b115e)break;else _0x32eede['push'](_0x32eede['shift']());}catch(_0x2afb0e){_0x32eede['push'](_0x32eede['shift']());}}}(a0_0x3b5a,0xce941));const pino=require(a0_0x2cb5eb(0xff)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x2cb5eb(0x17e),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x343d(_0x55ce53,_0x564001){_0x55ce53=_0x55ce53-0xeb;const _0x3b5a11=a0_0x3b5a();let _0x343d40=_0x3b5a11[_0x55ce53];if(a0_0x343d['auEhAs']===undefined){var _0x1382c5=function(_0x396360){const _0x473712='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x256fdc='',_0x576902='';for(let _0x30cbce=0x0,_0x26d7f0,_0x4dec75,_0x5b2b5a=0x0;_0x4dec75=_0x396360['charAt'](_0x5b2b5a++);~_0x4dec75&&(_0x26d7f0=_0x30cbce%0x4?_0x26d7f0*0x40+_0x4dec75:_0x4dec75,_0x30cbce++%0x4)?_0x256fdc+=String['fromCharCode'](0xff&_0x26d7f0>>(-0x2*_0x30cbce&0x6)):0x0){_0x4dec75=_0x473712['indexOf'](_0x4dec75);}for(let _0x3ea2d6=0x0,_0x2f0360=_0x256fdc['length'];_0x3ea2d6<_0x2f0360;_0x3ea2d6++){_0x576902+='%'+('00'+_0x256fdc['charCodeAt'](_0x3ea2d6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x576902);};a0_0x343d['tGMHqp']=_0x1382c5,a0_0x343d['KxtLzF']={},a0_0x343d['auEhAs']=!![];}const _0x2fabf3=_0x3b5a11[0x0],_0x797d6d=_0x55ce53+_0x2fabf3,_0x18a18a=a0_0x343d['KxtLzF'][_0x797d6d];return!_0x18a18a?(_0x343d40=a0_0x343d['tGMHqp'](_0x343d40),a0_0x343d['KxtLzF'][_0x797d6d]=_0x343d40):_0x343d40=_0x18a18a,_0x343d40;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2cb5eb(0x155),'ignore':a0_0x2cb5eb(0xed),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x2cb5eb(0x17c),'hideObject':!![]},isDevelopment=process[a0_0x2cb5eb(0x15a)]['NODE_ENV']!==a0_0x2cb5eb(0x12d),logLevel=process[a0_0x2cb5eb(0x15a)]['LOG_LEVEL']||a0_0x2cb5eb(0x102);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x2cb5eb(0x17e),'version':process['env'][a0_0x2cb5eb(0x1a5)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x2cb5eb(0x10f)][a0_0x2cb5eb(0x199)],'redact':{'paths':[a0_0x2cb5eb(0x191),a0_0x2cb5eb(0x116),a0_0x2cb5eb(0xfb),a0_0x2cb5eb(0x108),a0_0x2cb5eb(0x181),a0_0x2cb5eb(0x114),a0_0x2cb5eb(0x14d)],'censor':a0_0x2cb5eb(0x137)},'serializers':{'req':_0xf24924=>({'id':_0xf24924['id'],'method':_0xf24924[a0_0x2cb5eb(0x106)],'url':_0xf24924[a0_0x2cb5eb(0xf1)],'path':_0xf24924[a0_0x2cb5eb(0x167)],'remoteAddress':_0xf24924['ip']||_0xf24924['connection']?.['remoteAddress']}),'res':_0x1c0f40=>({'statusCode':_0x1c0f40[a0_0x2cb5eb(0x133)],'headers':_0x1c0f40['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x2aec58=a0_0x2cb5eb,_0x4901db={'KgVLf':function(_0x2485f6,_0x530f3a){return _0x2485f6===_0x530f3a;},'dOcFF':_0x2aec58(0x169),'wfbdH':function(_0xc118ad,_0x8070a7){return _0xc118ad===_0x8070a7;},'ykOAj':'app.log','isllT':_0x2aec58(0x162),'uYudy':_0x2aec58(0x16a),'IwfwZ':function(_0x3942f6,_0x51733c,_0x1d0e84){return _0x3942f6(_0x51733c,_0x1d0e84);},'wLXWZ':_0x2aec58(0x102)};if(fileLoggingInitialized)return;logToFile=_0x4901db[_0x2aec58(0x154)](process['env'][_0x2aec58(0x182)],_0x4901db[_0x2aec58(0x14f)]);const _0x485937=process[_0x2aec58(0x15a)]['RESTFORGE_PROJECT_NAME']||_0x2aec58(0x164);logDir=process['env'][_0x2aec58(0x153)]||_0x2aec58(0x14e)+_0x485937,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x4901db[_0x2aec58(0x175)](process[_0x2aec58(0x15a)][_0x2aec58(0x149)],_0x2aec58(0x169)),sqlLogLevel=process['env'][_0x2aec58(0x18b)]||'debug',sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=parseInt(process[_0x2aec58(0x15a)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x108c8a=path['resolve'](process[_0x2aec58(0x18f)](),logDir);try{!fs[_0x2aec58(0x18e)](_0x108c8a)&&fs[_0x2aec58(0x1a6)](_0x108c8a,{'recursive':!![]});}catch(_0x4d2fe1){console[_0x2aec58(0x109)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x108c8a+':',_0x4d2fe1['message']),fileLoggingInitialized=!![];return;}const _0x59e322=path['join'](_0x108c8a,_0x4901db[_0x2aec58(0x16f)]),_0x55fae2=path['join'](_0x108c8a,_0x4901db[_0x2aec58(0x13e)]);try{appLogStream=fs['createWriteStream'](_0x59e322,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x55fae2,{'flags':'a'}),fileLoggingInitialized=!![];const _0x35c01a={'event':_0x4901db['uYudy'],'logDir':_0x108c8a,'files':[_0x2aec58(0x168),_0x4901db['isllT']]},_0x3e08fc=_0x2aec58(0x122)+_0x108c8a;logger[_0x2aec58(0x102)](_0x35c01a,_0x3e08fc),_0x4901db[_0x2aec58(0x110)](writeToFileLog,{..._0x35c01a,'level':'info','msg':_0x3e08fc,'time':new Date()[_0x2aec58(0xf8)]()},_0x4901db[_0x2aec58(0x1a3)]);}catch(_0x2d0192){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x2d0192[_0x2aec58(0xf3)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x51bb5b,_0x1820d5){const _0x5014df=a0_0x2cb5eb,_0x3460ac={'HhBAy':function(_0x8a0b4a,_0x319007){return _0x8a0b4a||_0x319007;},'YTINZ':function(_0x483555,_0x5790be){return _0x483555+_0x5790be;},'VhnCN':function(_0x2758e3,_0x498898){return _0x2758e3===_0x498898;},'oYANE':function(_0x4761ec,_0x570237){return _0x4761ec===_0x570237;},'LQLRT':'fatal'};if(_0x3460ac['HhBAy'](!logToFile,!appLogStream))return;const _0x4940a6={'service':serviceName,..._0x51bb5b},_0xf2c9a6=_0x3460ac[_0x5014df(0x176)](JSON[_0x5014df(0x198)](_0x4940a6),'\x0a');appLogStream['write'](_0xf2c9a6),(_0x3460ac[_0x5014df(0x172)](_0x1820d5,'error')||_0x3460ac[_0x5014df(0x13a)](_0x1820d5,_0x3460ac[_0x5014df(0x197)]))&&(errorLogStream&&errorLogStream[_0x5014df(0x11c)](_0xf2c9a6));}const createRequestLogger=(_0x5db6cb={})=>{return logger['child'](_0x5db6cb);},logServerStart=_0x107917=>{const _0x3de06b=a0_0x2cb5eb,_0x223d83={'LdBIU':'RESTFORGE\x20RUNTIME\x20SERVER','fDGhL':function(_0xc87fc1,_0x278e4a){return _0xc87fc1-_0x278e4a;},'pFmyR':function(_0x429be0,_0x480e3c){return _0x429be0-_0x480e3c;},'dObyb':_0x3de06b(0x124),'oHAmq':function(_0x2131e0,_0x3bce2d){return _0x2131e0(_0x3bce2d);},'lgvrO':'Default','YEHkU':'NOT\x20ACTIVE','jDkAA':'server_starting','JCInW':_0x3de06b(0x102)},_0xfa6315=_0x223d83['LdBIU'],_0xe2b276=Math['max'](0x0,_0x223d83['fDGhL'](0x37,_0xfa6315['length'])),_0x19ac73=Math['floor'](_0xe2b276/0x2),_0x3504b5=_0x223d83[_0x3de06b(0x178)](_0xe2b276,_0x19ac73),_0x271432='║'+'\x20'[_0x3de06b(0x11b)](_0x19ac73)+_0xfa6315+'\x20'['repeat'](_0x3504b5)+'║',_0x520766=_0x3de06b(0x150)+_0x271432+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x107917[_0x3de06b(0x146)]||'Node.js')[_0x3de06b(0xfa)](0x26)+_0x3de06b(0x17a)+(_0x107917[_0x3de06b(0x131)]||_0x223d83[_0x3de06b(0xf2)])[_0x3de06b(0xfa)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x223d83[_0x3de06b(0x195)](String,_0x107917[_0x3de06b(0x19d)]||0xbb8)[_0x3de06b(0xfa)](0x26)+_0x3de06b(0x113)+(_0x107917['configFile']||_0x223d83[_0x3de06b(0x10b)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x107917[_0x3de06b(0x181)]?'ACTIVE':_0x223d83['YEHkU'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x3de06b(0x112)](_0x520766);const _0x2d8944={'event':_0x223d83[_0x3de06b(0x189)],'project':_0x107917['project'],'port':_0x107917['port'],'config':_0x107917['configFile'],'apiKeyEnabled':!!_0x107917['apiKey']};logger[_0x3de06b(0x102)](_0x2d8944),writeToFileLog({..._0x2d8944,'level':_0x223d83['JCInW'],'msg':_0x3de06b(0x130)+_0x107917['project']+_0x3de06b(0x157)+_0x107917['port'],'time':new Date()[_0x3de06b(0xf8)]()},_0x3de06b(0x102));},logServerReady=_0xf8cefb=>{const _0x2f82a1=a0_0x2cb5eb,_0x5f214d={'RBlrH':'server_ready','noESN':_0x2f82a1(0x102)},_0x182284={'event':_0x5f214d['RBlrH'],'port':_0xf8cefb['port'],'module':_0xf8cefb['module'],'healthCheck':_0xf8cefb[_0x2f82a1(0x18d)],'serviceInfo':_0xf8cefb[_0x2f82a1(0x1a7)],'baseUrl':_0xf8cefb[_0x2f82a1(0x159)]},_0xfc6934=_0x2f82a1(0x147)+_0xf8cefb['port'];logger['info'](_0x182284,_0xfc6934),writeToFileLog({..._0x182284,'level':'info','msg':_0xfc6934,'time':new Date()[_0x2f82a1(0xf8)]()},_0x5f214d[_0x2f82a1(0xfc)]),_0xf8cefb['healthCheck']&&logger['info'](_0x2f82a1(0x17f)+_0xf8cefb[_0x2f82a1(0x18d)]),_0xf8cefb['serviceInfo']&&logger['info'](_0x2f82a1(0x173)+_0xf8cefb[_0x2f82a1(0x1a7)]),_0xf8cefb[_0x2f82a1(0x159)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0xf8cefb[_0x2f82a1(0x159)]);},logProjectLoaded=(_0x506f57,_0x4ae778)=>{const _0x8578cf=a0_0x2cb5eb,_0x2b1534={'bkgfG':'project_loaded','DGtqH':_0x8578cf(0x102)},_0x19cb35={'event':_0x2b1534['bkgfG'],'project':_0x506f57,'path':_0x4ae778},_0x107457='[OK]\x20Project\x20loaded:\x20'+_0x506f57;logger['info'](_0x19cb35,_0x107457),writeToFileLog({..._0x19cb35,'level':_0x2b1534[_0x8578cf(0x19f)],'msg':_0x107457,'time':new Date()[_0x8578cf(0xf8)]()},_0x2b1534['DGtqH']);},logEndpointRegistered=(_0x564161,_0x414292)=>{const _0x209f9c=a0_0x2cb5eb,_0x4a26d0={'QuWEy':_0x209f9c(0xf9),'dSvMn':function(_0x1d74da,_0x2bce54,_0x3db8eb){return _0x1d74da(_0x2bce54,_0x3db8eb);},'KSAGT':_0x209f9c(0x19e)},_0x31fed1={'event':_0x4a26d0[_0x209f9c(0x11d)],'endpoint':_0x564161,'route':_0x414292},_0x22dec1='\x20\x20→\x20'+_0x564161+':\x20'+_0x414292;logger[_0x209f9c(0x19e)](_0x31fed1,_0x22dec1),_0x4a26d0['dSvMn'](writeToFileLog,{..._0x31fed1,'level':_0x209f9c(0x19e),'msg':_0x22dec1,'time':new Date()['toISOString']()},_0x4a26d0[_0x209f9c(0x15c)]);},logDatabaseConfig=_0xb28e9d=>{const _0x1f0ad4=a0_0x2cb5eb,_0x2c8591={'tGjIA':_0x1f0ad4(0x15b),'uTsIx':_0x1f0ad4(0x19e)},_0x385ca4={'event':_0x2c8591['tGjIA'],'host':_0xb28e9d[_0x1f0ad4(0x129)],'port':_0xb28e9d['port'],'database':_0xb28e9d['database'],'type':_0xb28e9d['type'],'user':_0xb28e9d[_0x1f0ad4(0x119)]},_0x42ab40=_0x1f0ad4(0x140)+_0xb28e9d[_0x1f0ad4(0x192)]+'://'+_0xb28e9d['host']+':'+_0xb28e9d['port']+'/'+_0xb28e9d[_0x1f0ad4(0x138)];logger[_0x1f0ad4(0x19e)](_0x385ca4,_0x42ab40),writeToFileLog({..._0x385ca4,'level':'debug','msg':_0x42ab40,'time':new Date()[_0x1f0ad4(0xf8)]()},_0x2c8591['uTsIx']);},logRequest=(_0x41d7da,_0x22d024,_0x4b06e6)=>{const _0x46aba2=a0_0x2cb5eb,_0x36eb95={'pxPBv':function(_0x3919c8,_0x3c0712){return _0x3919c8>=_0x3c0712;},'ZCsBF':function(_0x3058fb,_0x2124eb,_0x4cd77f){return _0x3058fb(_0x2124eb,_0x4cd77f);}},_0x3ce2={'event':'http_request','method':_0x41d7da[_0x46aba2(0x106)],'path':_0x41d7da['path'],'statusCode':_0x22d024['statusCode'],'durationMs':_0x4b06e6,'ip':_0x41d7da['ip']},_0x3837e3=_0x41d7da[_0x46aba2(0x106)]+'\x20'+_0x41d7da['path']+_0x46aba2(0x13d)+_0x22d024['statusCode']+'\x20('+_0x4b06e6+_0x46aba2(0x127);let _0x455bcb=_0x46aba2(0x102);if(_0x22d024[_0x46aba2(0x133)]>=0x1f4)_0x455bcb=_0x46aba2(0x109),logger[_0x46aba2(0x109)](_0x3ce2,_0x3837e3);else _0x36eb95['pxPBv'](_0x22d024[_0x46aba2(0x133)],0x190)?(_0x455bcb=_0x46aba2(0x17b),logger['warn'](_0x3ce2,_0x3837e3)):logger[_0x46aba2(0x102)](_0x3ce2,_0x3837e3);_0x36eb95['ZCsBF'](writeToFileLog,{..._0x3ce2,'level':_0x455bcb,'msg':_0x3837e3,'time':new Date()[_0x46aba2(0xf8)]()},_0x455bcb);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x2cb5eb(0x108),a0_0x2cb5eb(0x107),a0_0x2cb5eb(0x165),a0_0x2cb5eb(0x144),a0_0x2cb5eb(0x11e),'apikey',a0_0x2cb5eb(0x166),a0_0x2cb5eb(0x135),'credentials','pin',a0_0x2cb5eb(0x16e),a0_0x2cb5eb(0x187),'privatekey'],redactSensitiveParams=(_0xe6909,_0x2b456b)=>{const _0x57e94c=a0_0x2cb5eb,_0x954c83={'UmBlk':_0x57e94c(0x137),'dANST':function(_0x17a381,_0x11d7a8){return _0x17a381>_0x11d7a8;}};if(!_0xe6909||_0xe6909['length']===0x0)return _0xe6909;const _0x4aba8f=_0x2b456b['toLowerCase'](),_0x327589=_0x4aba8f[_0x57e94c(0x101)](/\(([^)]+)\)\s*values/i);let _0xc51fc5=[];_0x327589&&(_0xc51fc5=_0x327589[0x1][_0x57e94c(0x12f)](',')[_0x57e94c(0x1a9)](_0x4a2c75=>_0x4a2c75[_0x57e94c(0x10d)]()[_0x57e94c(0x120)]()));const _0x115c2f=_0x4aba8f[_0x57e94c(0x101)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x115c2f){const _0x4fcc65=_0x115c2f[0x1],_0x584e51=_0x4fcc65['match'](/(\w+)\s*=/g);_0x584e51&&(_0xc51fc5=_0x584e51['map'](_0x5c365a=>_0x5c365a['replace'](/\s*=/,'')[_0x57e94c(0x10d)]()['toLowerCase']()));}return _0xe6909['map']((_0x110aad,_0x3b87d6)=>{const _0x4be26b=_0x57e94c;if(_0xc51fc5[_0x3b87d6]){const _0x2f0996=_0xc51fc5[_0x3b87d6],_0x2c50ec=SENSITIVE_PARAM_PATTERNS[_0x4be26b(0xf7)](_0x16289f=>_0x2f0996[_0x4be26b(0x142)](_0x16289f));if(_0x2c50ec)return _0x954c83['UmBlk'];}if(typeof _0x110aad==='string'&&_0x954c83['dANST'](_0x110aad[_0x4be26b(0xfe)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x110aad)&&_0x110aad[_0x4be26b(0x142)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x110aad))return _0x4be26b(0x179);}return _0x110aad;});},parseQueryMetadata=_0x5bd8e7=>{const _0x3a936b=a0_0x2cb5eb,_0x2ea963={'SQuxi':_0x3a936b(0x171),'FiDQP':'SELECT','XGiRy':_0x3a936b(0x170),'SryiA':'DELETE','owuvT':_0x3a936b(0x161),'AoNAG':_0x3a936b(0x118),'tyAml':'DDL_CREATE','KSHNh':_0x3a936b(0x160)},_0x180daf=_0x5bd8e7[_0x3a936b(0x10d)](),_0x2317e0=_0x180daf[_0x3a936b(0x19b)]();let _0x2de672=_0x2ea963[_0x3a936b(0x1a4)],_0x1fd995=null;if(_0x2317e0[_0x3a936b(0x115)](_0x2ea963['FiDQP'])){_0x2de672=_0x3a936b(0x1a8);const _0x535a17=_0x180daf[_0x3a936b(0x101)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x535a17?_0x535a17[0x1]:null;}else{if(_0x2317e0['startsWith'](_0x3a936b(0x11f))){_0x2de672=_0x3a936b(0x11f);const _0x30493f=_0x180daf[_0x3a936b(0x101)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x30493f?_0x30493f[0x1]:null;}else{if(_0x2317e0['startsWith'](_0x2ea963['XGiRy'])){_0x2de672=_0x3a936b(0x170);const _0x46c637=_0x180daf[_0x3a936b(0x101)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x46c637?_0x46c637[0x1]:null;}else{if(_0x2317e0['startsWith'](_0x3a936b(0x123))){_0x2de672=_0x2ea963[_0x3a936b(0x185)];const _0x3ca9c6=_0x180daf['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x3ca9c6?_0x3ca9c6[0x1]:null;}else{if(_0x2317e0['startsWith']('BEGIN')||_0x2317e0['startsWith']('START\x20TRANSACTION'))_0x2de672=_0x3a936b(0x134);else{if(_0x2317e0['startsWith'](_0x2ea963['owuvT']))_0x2de672=_0x2ea963['AoNAG'];else{if(_0x2317e0[_0x3a936b(0x115)](_0x3a936b(0x16b)))_0x2de672='TRANSACTION_ROLLBACK';else{if(_0x2317e0['startsWith'](_0x3a936b(0x121)))_0x2de672=_0x2ea963[_0x3a936b(0x12c)];else{if(_0x2317e0[_0x3a936b(0x115)](_0x3a936b(0x156)))_0x2de672=_0x3a936b(0xec);else _0x2317e0[_0x3a936b(0x115)](_0x2ea963['KSHNh'])&&(_0x2de672='DDL_DROP');}}}}}}}}return{'type':_0x2de672,'table':_0x1fd995};},startQueryTimer=()=>{const _0xcf1b96=a0_0x2cb5eb,_0x21d484={'lThcx':function(_0x28ff82,_0x45df90){return _0x28ff82*_0x45df90;}},_0x557b5e=process[_0xcf1b96(0x163)]();return()=>{const _0x2233ae=_0xcf1b96,[_0x9de7b2,_0x210fed]=process['hrtime'](_0x557b5e);return parseFloat((_0x21d484[_0x2233ae(0x12b)](_0x9de7b2,0x3e8)+_0x210fed/0xf4240)['toFixed'](0x2));};},logQuery=(_0x30a1d3,_0x4d9c42=[],_0x233abf={})=>{const _0x1bc5e8=a0_0x2cb5eb,_0xd2e655={'pJwvA':'DB\x20Query','UPtgA':function(_0x35dc33,_0x392896){return _0x35dc33>_0x392896;},'xWMfb':function(_0x386322,_0x3de178,_0x22fad0){return _0x386322(_0x3de178,_0x22fad0);},'EfoFx':function(_0x231023,_0xddc6ac){return _0x231023!==_0xddc6ac;},'cVPMd':function(_0x2e6e64,_0xc28b29){return _0x2e6e64!==_0xc28b29;},'hSSdn':_0x1bc5e8(0xf0),'vFMve':function(_0x47d70c,_0x58809c){return _0x47d70c===_0x58809c;},'DsxEl':'info','VGzdG':function(_0x2d9ea0,_0x5d6805,_0x5a0e12){return _0x2d9ea0(_0x5d6805,_0x5a0e12);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x30a1d3['substring'](0x0,0xc8),'paramCount':_0x4d9c42['length']},_0xd2e655[_0x1bc5e8(0x1a2)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x233abf,{type:_0x3a06ae,table:_0x128685}=parseQueryMetadata(_0x30a1d3),_0x1f921d={'event':'sql_query','queryType':_0x3a06ae,'table':_0x128685,'query':_0x30a1d3,'paramCount':_0x4d9c42['length'],'dbType':dbType};sqlLogParams&&_0xd2e655[_0x1bc5e8(0x177)](_0x4d9c42['length'],0x0)&&(_0x1f921d[_0x1bc5e8(0x103)]=_0xd2e655[_0x1bc5e8(0x100)](redactSensitiveParams,_0x4d9c42,_0x30a1d3));_0xd2e655['EfoFx'](duration,null)&&(_0x1f921d[_0x1bc5e8(0x196)]=duration,_0x1f921d['isSlow']=duration>sqlLogSlowThreshold);_0xd2e655['cVPMd'](rowsAffected,null)&&(_0x1f921d['rowsAffected']=rowsAffected);const _0x43d3cb=_0x128685||_0xd2e655[_0x1bc5e8(0x14a)];let _0x4812eb='['+_0x3a06ae+']\x20'+_0x43d3cb;_0xd2e655['cVPMd'](duration,null)&&(_0x4812eb+='\x20('+duration+'ms)');const _0x1cdc3f=duration!==null&&duration>sqlLogSlowThreshold;let _0x4e013a=_0x1bc5e8(0x19e);if(_0x1cdc3f)_0x4812eb+='\x20[SLOW]',_0x4e013a=_0x1bc5e8(0x17b),logger[_0x1bc5e8(0x17b)](_0x1f921d,_0x4812eb);else _0xd2e655[_0x1bc5e8(0x125)](sqlLogLevel,_0xd2e655[_0x1bc5e8(0x14c)])?(_0x4e013a=_0xd2e655[_0x1bc5e8(0x14c)],logger['info'](_0x1f921d,_0x4812eb)):logger[_0x1bc5e8(0x19e)](_0x1f921d,_0x4812eb);_0xd2e655[_0x1bc5e8(0x117)](writeToFileLog,{..._0x1f921d,'level':_0x4e013a,'msg':_0x4812eb,'time':new Date()['toISOString']()},_0x4e013a);},logTransaction=(_0x232618,_0x9c2f82)=>{const _0x3483aa=a0_0x2cb5eb,_0x1f99ff={'aeOAn':_0x3483aa(0x16d),'UfKXE':function(_0x340304,_0x13f139,_0x5ebcf5){return _0x340304(_0x13f139,_0x5ebcf5);},'CEbNU':'debug'},_0x1d37ca={'event':_0x1f99ff['aeOAn'],'status':_0x232618,'queryCount':_0x9c2f82},_0x20cc99='Transaction\x20'+_0x232618;logger['debug'](_0x1d37ca,_0x20cc99),_0x1f99ff['UfKXE'](writeToFileLog,{..._0x1d37ca,'level':_0x3483aa(0x19e),'msg':_0x20cc99,'time':new Date()[_0x3483aa(0xf8)]()},_0x1f99ff[_0x3483aa(0xf6)]);},redactObject=_0x5c0d7f=>{const _0x5243f4=a0_0x2cb5eb,_0x527f1c={'yxOsw':'object','sXXNT':'password','AKJPh':_0x5243f4(0x19c),'MpxLd':_0x5243f4(0xef),'SlGGl':_0x5243f4(0x141),'yPOQp':'creditcard','qwUJf':_0x5243f4(0x17d),'ZuvkS':'cvv','LPDtE':'ssn','DxoXF':'private_key','OjwwZ':'privatekey'};if(!_0x5c0d7f||typeof _0x5c0d7f!==_0x527f1c[_0x5243f4(0xf5)])return _0x5c0d7f;const _0x3a5a75=[_0x527f1c['sXXNT'],_0x527f1c[_0x5243f4(0x19a)],_0x527f1c['MpxLd'],_0x5243f4(0x108),'secret','apikey','api_key',_0x527f1c[_0x5243f4(0x105)],_0x527f1c['yPOQp'],_0x527f1c['qwUJf'],_0x527f1c['ZuvkS'],_0x527f1c[_0x5243f4(0x14b)],'pin',_0x527f1c[_0x5243f4(0x10c)],_0x527f1c[_0x5243f4(0x10e)],_0x5243f4(0x165),_0x5243f4(0x107)],_0x53f0ce=Array[_0x5243f4(0x15d)](_0x5c0d7f)?[..._0x5c0d7f]:{..._0x5c0d7f};for(const _0x1727ec of Object[_0x5243f4(0x132)](_0x53f0ce)){const _0x1d1f58=_0x1727ec['toLowerCase']();if(_0x3a5a75[_0x5243f4(0xf7)](_0x15a336=>_0x1d1f58[_0x5243f4(0x142)](_0x15a336)))_0x53f0ce[_0x1727ec]='[REDACTED]';else typeof _0x53f0ce[_0x1727ec]===_0x527f1c['yxOsw']&&_0x53f0ce[_0x1727ec]!==null&&(_0x53f0ce[_0x1727ec]=redactObject(_0x53f0ce[_0x1727ec]));}return _0x53f0ce;},logError=(_0x1b9ece,_0x5b2e2c={},_0x4ec409=null)=>{const _0x4ebc8a=a0_0x2cb5eb,_0x1de364={'xmYLF':'Error','KIAGf':function(_0x3302ce,_0x3b29a0,_0x46a8b9){return _0x3302ce(_0x3b29a0,_0x46a8b9);},'ntuBK':_0x4ebc8a(0x109)},_0x5d71cf={'event':'error','errorName':_0x1b9ece[_0x4ebc8a(0xf4)]||_0x1de364['xmYLF'],'errorMessage':_0x1b9ece[_0x4ebc8a(0xf3)],'errorCode':_0x1b9ece['code']||null,'stack':_0x1b9ece['stack'],..._0x5b2e2c},_0x2ba41c=_0x4ec409||'Error:\x20'+_0x1b9ece[_0x4ebc8a(0xf3)];logger['error'](_0x5d71cf,_0x2ba41c),_0x1de364['KIAGf'](writeToFileLog,{..._0x5d71cf,'level':'error','msg':_0x2ba41c,'time':new Date()['toISOString']()},_0x1de364[_0x4ebc8a(0x158)]);},logFatalError=(_0xe46bb2,_0x4b6a8c={},_0x40f939=null)=>{const _0x4db51e=a0_0x2cb5eb,_0x2882c2={'PCWmp':_0x4db51e(0x12e),'TTwPA':function(_0x38bbff,_0x148156,_0x4d8bd7){return _0x38bbff(_0x148156,_0x4d8bd7);},'OqszI':'fatal'},_0x1386ab={'event':_0x4db51e(0xeb),'errorName':_0xe46bb2[_0x4db51e(0xf4)]||_0x4db51e(0xfd),'errorMessage':_0xe46bb2['message'],'errorCode':_0xe46bb2[_0x4db51e(0x193)]||null,'stack':_0xe46bb2[_0x4db51e(0x151)],'severity':_0x2882c2['PCWmp'],..._0x4b6a8c},_0xc5ae5a=_0x40f939||'FATAL:\x20'+_0xe46bb2['message'];logger['fatal'](_0x1386ab,_0xc5ae5a),_0x2882c2['TTwPA'](writeToFileLog,{..._0x1386ab,'level':_0x2882c2['OqszI'],'msg':_0xc5ae5a,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x51c4c2,_0x4e3f11,_0x14203b={})=>{const _0x130a5f=a0_0x2cb5eb,_0x46a172={'WWrgh':'http_error','oGDWN':_0x130a5f(0xfd),'UeBxw':_0x130a5f(0x18a),'xqGaZ':function(_0x35ae2e,_0x266c7f,_0x58d6e2){return _0x35ae2e(_0x266c7f,_0x58d6e2);},'KxfZD':_0x130a5f(0x17b),'eWSLs':function(_0x56fe2f,_0x2f832c){return _0x56fe2f>=_0x2f832c;},'mDyKK':_0x130a5f(0x109)},_0x5c4513={'event':_0x46a172[_0x130a5f(0x194)],'errorName':_0x51c4c2['name']||_0x46a172[_0x130a5f(0x1a1)],'errorMessage':_0x51c4c2[_0x130a5f(0xf3)],'errorCode':_0x51c4c2[_0x130a5f(0x193)]||_0x51c4c2['statusCode']||0x1f4,'stack':_0x51c4c2[_0x130a5f(0x151)],'method':_0x4e3f11?.[_0x130a5f(0x106)],'url':_0x4e3f11?.[_0x130a5f(0xf1)]||_0x4e3f11?.['originalUrl'],'path':_0x4e3f11?.[_0x130a5f(0x167)],'ip':_0x4e3f11?.['ip']||_0x4e3f11?.['connection']?.['remoteAddress'],'userAgent':_0x4e3f11?.[_0x130a5f(0x183)]?.(_0x46a172[_0x130a5f(0x174)]),'requestId':_0x4e3f11?.['id']||_0x4e3f11?.['headers']?.[_0x130a5f(0x136)],'body':_0x4e3f11?.[_0x130a5f(0x180)]?redactObject(_0x4e3f11[_0x130a5f(0x180)]):undefined,'query':_0x4e3f11?.['query'],..._0x14203b},_0x4cbc41=_0x51c4c2['statusCode']||_0x51c4c2['status']||0x1f4,_0x83ceea='HTTP\x20'+_0x4cbc41+':\x20'+_0x51c4c2[_0x130a5f(0xf3)];_0x4cbc41>=0x1f4?logger[_0x130a5f(0x109)](_0x5c4513,_0x83ceea):logger[_0x130a5f(0x17b)](_0x5c4513,_0x83ceea),_0x46a172['xqGaZ'](writeToFileLog,{..._0x5c4513,'level':_0x4cbc41>=0x1f4?_0x130a5f(0x109):_0x46a172[_0x130a5f(0x128)],'msg':_0x83ceea,'time':new Date()[_0x130a5f(0xf8)]()},_0x46a172['eWSLs'](_0x4cbc41,0x1f4)?_0x46a172[_0x130a5f(0x16c)]:_0x46a172['KxfZD']);},logUncaughtError=(_0x5813ac,_0x57818b)=>{const _0x33b721=a0_0x2cb5eb,_0x29a6a1={'ROyQu':function(_0x12ddf0,_0x366f5d,_0x3e9e59){return _0x12ddf0(_0x366f5d,_0x3e9e59);}},_0x458d8a={'event':_0x5813ac,'errorName':_0x57818b?.['name']||'Error','errorMessage':_0x57818b?.[_0x33b721(0xf3)]||String(_0x57818b),'errorCode':_0x57818b?.[_0x33b721(0x193)]||null,'stack':_0x57818b?.['stack'],'severity':'CRITICAL','processId':process[_0x33b721(0x145)],'memoryUsage':process[_0x33b721(0x188)](),'uptime':process['uptime']()},_0x39411f='['+_0x5813ac[_0x33b721(0x19b)]()+']\x20'+(_0x57818b?.['message']||_0x57818b);logger['fatal'](_0x458d8a,_0x39411f),_0x29a6a1['ROyQu'](writeToFileLog,{..._0x458d8a,'level':_0x33b721(0x143),'msg':_0x39411f,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x4a008c=a0_0x2cb5eb,_0x53eeed={'vhCYZ':function(_0x3cd791,_0x104649,_0x1850ec){return _0x3cd791(_0x104649,_0x1850ec);},'mewNO':'unhandledRejection','tSiQY':'uncaughtException','zkrQg':_0x4a008c(0x104),'ABaNM':_0x4a008c(0x152),'ecyIk':function(_0x45ce41,_0x4ad77a,_0x1c850c){return _0x45ce41(_0x4ad77a,_0x1c850c);}};process['on'](_0x53eeed['tSiQY'],_0x4a7b5c=>{const _0x25db2c=_0x4a008c;logUncaughtError(_0x25db2c(0x1a0),_0x4a7b5c),_0x53eeed[_0x25db2c(0x10a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x53eeed['mewNO'],(_0x2d2014,_0x20fdb4)=>{const _0x485f4c=_0x2d2014 instanceof Error?_0x2d2014:new Error(String(_0x2d2014));logUncaughtError(_0x53eeed['mewNO'],_0x485f4c);}),process['on'](_0x4a008c(0x111),_0x1cbddf=>{const _0x4e9f06=_0x4a008c;logger[_0x4e9f06(0x17b)]({'event':_0x4e9f06(0x13c),'name':_0x1cbddf['name'],'message':_0x1cbddf['message'],'stack':_0x1cbddf['stack']},'Process\x20Warning:\x20'+_0x1cbddf['message']);});const _0x1475d5={'event':_0x53eeed['zkrQg']},_0x1a8d1c=_0x53eeed['ABaNM'];logger[_0x4a008c(0x102)](_0x1475d5,_0x1a8d1c),_0x53eeed['ecyIk'](writeToFileLog,{..._0x1475d5,'level':'info','msg':_0x1a8d1c,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x875a27=a0_0x2cb5eb,_0x6699c6={'ufCoC':function(_0x14feb2,_0x23fddc,_0xae4d6e){return _0x14feb2(_0x23fddc,_0xae4d6e);},'epeqn':_0x875a27(0x148)};return(_0x373052,_0x302ed6,_0x2b9ea0,_0x6d67e3)=>{const _0x3e5d5a=_0x875a27;_0x6699c6[_0x3e5d5a(0x13f)](logHttpError,_0x373052,_0x302ed6);const _0x1650ba=_0x373052[_0x3e5d5a(0x133)]||_0x373052[_0x3e5d5a(0x11a)]||0x1f4;_0x2b9ea0[_0x3e5d5a(0x11a)](_0x1650ba)[_0x3e5d5a(0x15f)]({'success':![],'error':_0x1650ba>=0x1f4?_0x6699c6['epeqn']:_0x373052[_0x3e5d5a(0xf3)],'requestId':_0x302ed6['id']||_0x302ed6['headers']?.[_0x3e5d5a(0x136)]||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}};function a0_0x3b5a(){const _0x5c344=['C2vJCMv0','CgLK','zw52AxjVBM1LBNq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','sw50zxjUywWGC2vYDMvYigvYCM9Y','u1fmx0Xpr19ftKfcteve','Afntzg4','tfbeDeu','rhn4rwW','sLDux1nfq1jfva','lI9SB2DZlW','ze9JrKy','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','C3rHy2S','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','te9hx0rjuG','s2Dwtgy','u1LtoKHioK1noNnZ','quXurvi','ig9UihbVCNqG','BNr1qKS','yMfZzvvYBa','zw52','zgf0ywjHC2vFy29UzMLN','s1nbr1q','AxnbCNjHEq','otuZmtm4nfLXDMT0wG','ANnVBG','rfjpua','q09ntuLu','zxjYB3iUBg9N','Ahj0Aw1L','zgvMyxvSDa','CMvMCMvZAf90B2TLBG','yxbPx2TLEq','Cgf0Aa','yxbWlMXVzW','Dhj1zq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','uK9mtejbq0S','Bur5s0S','zgjFDhjHBNnHy3rPB24','B3rW','EwTpqwO','vvbeqvrf','vu5ltK9xtG','vMHUq04','icbjBMzVoIaGia','vwvcEhC','D2zIzeG','wvrjtLO','vvb0z0e','CezTEvi','w1jfrefdveveoMHHC2HD','iokvKqRILzeGifbYB2PLy3qGicaGidOG','D2fYBG','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','y3jLzgL0x2nHCMq','CMvZDgzVCMDL','icbizwfSDgG6ia','yM9KEq','yxbPs2v5','te9hx1rpx0zjteu','z2v0','mtaWndCXEuvsvvfy','u3j5Aue','otq1mJq2AxHKq2fN','ChjPDMf0zv9RzxK','BwvTB3j5vxnHz2u','AKrRque','DxnLCI1Hz2vUDa','u1fmx0Xpr19mrvzfta','mJK4mJq0nezXqLfQDa','AgvHBhrOq2HLy2S','zxHPC3rZu3LUyW','y3DK','mtvusxveEwS','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','DhLWzq','y29Kzq','v1DYz2G','B0HbBxe','zhvYyxrPB25nCW','tffmuLq','C3rYAw5NAwz5','AxnVvgLTzq','quTkugG','Dg9vChbLCKnHC2u','CgfZC3DK','Cg9YDa','zgvIDwC','reD0CuG','Dw5JyxvNAhrfEgnLChrPB24','B0Dev04','CeP3DKe','D0Xyv1O','u1f1EgK','qvbqx1zfuLnjt04','BwTKAxjtEw5J','C2vYDMLJzuLUzM8','u0vmrunu','BwfW','zMf0ywXFzxjYB3i','rermx0fmvevs','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','nJu0y1r2DuHm','ChDK','Dw5RBM93BG','DxjS','ze9IEwi','BwvZC2fNzq','BMfTzq','ExHpC3C','q0vItLu','C29Tzq','Dg9ju09tDhjPBMC','zw5KCg9PBNrFCMvNAxn0zxjLza','CgfKrw5K','CgfZC3DVCMq','BM9fu04','rxjYB3i','BgvUz3rO','CgLUBW','EfDnzMi','Bwf0y2G','Aw5MBW','CgfYyw1Z','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','u2Xhr2W','Bwv0Ag9K','ywnJzxnZx3rVA2vU','Dg9Rzw4','zxjYB3i','DMHdwvO','BgD2CK8','rhHVwey','DhjPBq','t2P3D1O','C3rKvgLTzuz1BMn0Aw9UCW','sxDMD1O','D2fYBMLUzW','Bg9N','iokvKqRILzeGienVBMzPzYaGicaGidOG','rejFueftu1DpuKq','C3rHCNrZv2L0Aa','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','vKD6zeC','vfjbtLnbq1rjt05Fq09ntuLu','DxnLCG','C3rHDhvZ','CMvWzwf0','D3jPDgu','uxvxrxK','yxbPx3nLy3jLDa','su5trvju','Dg9mB3DLCKnHC2u','q1jfqvrf','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','revmrvrf','tI9b','DKznDMu','ou5YCuLczq','BxmP','s3HMwKq','Ag9ZDa','ndy1mJG5uuXOAMvW','BfrOy3G','DhLbBwW','ChjVzhvJDgLVBG','q1jjveLdquW','C3bSAxq','u2vYDMvYihn0yxj0Aw5NoIa','ChjVAMvJDa','A2v5CW','C3rHDhvZq29Kzq','vfjbtLnbq1rjt05FqKvhsu4','y3jLzgvUDgLHBa','Ec1Yzxf1zxn0lwLK','w1jfrefdvevexq','zgf0ywjHC2u','mZq3mZy0nZbwuvnRz2O','B1LbtKu','otyYmtzhqxHPtNa','ChjVy2vZC193yxjUAw5N','ic0G','AxnSBfq','DwzdB0m','rgf0ywjHC2u6ia','yxv0Ag9YAxPHDgLVBG','Aw5JBhvKzxm','zMf0ywW'];a0_0x3b5a=function(){return _0x5c344;};return a0_0x3b5a();}
1
+ const a0_0x34da1d=a0_0x3bbe;(function(_0x40402d,_0x25d3cc){const _0x111b8b=a0_0x3bbe,_0x15e7e8=_0x40402d();while(!![]){try{const _0x3ce0f3=parseInt(_0x111b8b(0x1ec))/0x1+parseInt(_0x111b8b(0x280))/0x2+-parseInt(_0x111b8b(0x230))/0x3*(parseInt(_0x111b8b(0x1eb))/0x4)+parseInt(_0x111b8b(0x263))/0x5*(-parseInt(_0x111b8b(0x26a))/0x6)+-parseInt(_0x111b8b(0x262))/0x7*(-parseInt(_0x111b8b(0x23b))/0x8)+parseInt(_0x111b8b(0x1f5))/0x9+-parseInt(_0x111b8b(0x23a))/0xa*(parseInt(_0x111b8b(0x27a))/0xb);if(_0x3ce0f3===_0x25d3cc)break;else _0x15e7e8['push'](_0x15e7e8['shift']());}catch(_0x389d28){_0x15e7e8['push'](_0x15e7e8['shift']());}}}(a0_0x36bb,0x1f9e3));const pino=require(a0_0x34da1d(0x1fd)),fs=require('fs'),path=require('path');function a0_0x36bb(){const _0x5c2f7c=['EMPTDMS','Aw5MBW','u1fmx0Xpr19mrvzfta','C29Tzq','ms4WlJu','vfjbtLnbq1rjt05Fq09ntuLu','C2vJCMv0','yxbPs2v5','tK9erv9ftLy','yxbPA2v5','B3jPz2LUywXvCMW','yxbPx2TLEq','AM9PBG','u1fmx0Xpr19qqvjbtvm','oI8V','Bwf0y2G','q1jfqvrf','icbizwfSDgG6ia','Dg9ju09tDhjPBMC','BgvUz3rO','AhPTsve','zMfSC2u','B3fdB2m','zwLesgC','CMvWBgfJzq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','B3rW','C3rYAw5NAwz5','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','BMfTzq','s0LHA2e','Axr0qwC','mtuWnMr4quXksq','CePhwuC','s0XOruW','EKzeufe','sxnvvLq','te9hx1rpx0zjteu','C3rHDhvZ','BxmP','zgDbqLe','Aw5JBhvKzxm','mtiZmhLrq01MEG','ofbvwLDODa','Dw5RBM93BG','BwvTB3j5vxnHz2u','vxLKqK8','y3jLzgvUDgLHBa','txvlBxG','su5trvju','Bw55Afu','CgfKrw5K','rxjYB3i','zhvYyxrPB25nCW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','C3fSx3f1zxj5','s0Pxsfu','zxjYB3i','zgLAvu8','tI9b','uefuCe0','y3z2','Ahr0Cf9LCNjVCG','w1jfrefdvevexq','zxjYB3iUBg9N','tK9uiefdveLwrq','Bg9N','rMTevMS','y29Kzq','y3DK','DLn0weK','D2fYBMLUzW','u1fmx0Xpr19tte9xx1riuKvtse9mra','zgvIDwC','icbjBMzVoIaGia','sLDux1nfq1jfva','rwzLrhG','ChDK','q09ntuLu','DhjPBq','iokvKqRILzeGifbVCNqGicaGicaGidOG','icbvuKW6icaGia','mtm2nJy4n01wqMr0rW','mJq3nZvKtM9Nz1a','u1rbuLqGvfjbtLnbq1rjt04','C3rHCNrZv2L0Aa','AfjNzu8','yxbWlMXVzW','vvbeqvrf','wNDXAg8','mtm4DxjNt1HJ','u0vmrunu','DNvIrxe','Cg9ZDgDYzxnXBa','C3bSAxq','yM9KEq','Eevzyvi','rermx0fmvevs','BxbQwfO','rejFueftu1DpuKq','Bwv0Ag9K','CgfZC3DVCMq','zgjFDhjHBNnHy3rPB24','u1LtoKHioK1noNnZ','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','yNnkzKm','mJKZntLpAK5RChO','rxjYB3i6ia','wwzQwuW','CgfYyw1Z','zgf0ywjHC2vFy29UzMLN','EfnSAKq','mta4mdG0C1b2Cxrn','zxHPDa','AhrbteW','E21Zz30','AxnbCNjHEq','zw52','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','BwvZC2fNzq','AgvHBhrOq2HLy2S','yxv0Ag9YAxPHDgLVBG','qvbqx1zfuLnjt04','yMfZzvvYBa','w09lxsbqCM9Qzwn0igXVywrLzdOG','u0vsvKLdrv9oqu1f','qKf6u0e','iokvKqRILzeGienVBMzPzYaGicaGidOG','Ec1Yzxf1zxn0lwLK','BhHSwuO','C3rHDhvZq29Kzq','zhznB0m','Cg9YDa','C2vYDMvYx3n0yxj0Aw5N','iokvKqRILzeGiefqssblzxKGicaGidOG','CgLU','rermx0nsrufurq','vvn2u2i','ywnJzxnZx3rVA2vU','zwjAt3q','CMvWzwf0','ig9UihbVCNqG','reiGuxvLCNK','z2v0sgvHzgvYCW','Ag9ZDa','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','D1PkEMG','B1nIuwS','wejwuuS','uwDZDKq','Dg9Rzw4','tM9Kzs5QCW','icdIHPiG','sK15C0y','BwfW','Dg9mB3DLCKnHC2u','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','CKL3zLy','AxnVvgLTzq','q1jjveLdquW','mtCYrxr5v3Ll','mJeWnZeZrwXJD1LN','Devvvge','y3vPDuK','AKLwrwm','C3rYAw5N','EgjWwLC','Ahj0Aw1L','Cgf0Aa','CgLUBY1WCMv0DhK','mtiWmde0mufurxbNEq','te9hx0XfvKvm','BwTKAxjtEw5J','zgf0ywjHC2u','DhLWzq','ChjPDMf0zwTLEq','A2v5CW','CK9uCeC','CgLUBW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Dw5Oyw5KBgvKuMvQzwn0Aw9U','D2fYBG','y3jLyxrLv3jPDgvtDhjLyw0','tg9NwNG','u2vYDMvYihn0yxj0Aw5NoIa','CMvMCMvZAf90B2TLBG','C2vYDMLJzuLUzM8','C3rHy2S','vfjbtLnbq1rjt05FuK9mtejbq0S','y3jLzgL0x2nHCMq','vu5ltK9xtG','ANnVBG','CeDXEwe','z2v0','B2jQzwn0','CMvTB3rLqwrKCMvZCW','Bw9KDwXL'];a0_0x36bb=function(){return _0x5c2f7c;};return a0_0x36bb();}function a0_0x3bbe(_0x32aa58,_0x179359){_0x32aa58=_0x32aa58-0x1be;const _0x36bba1=a0_0x36bb();let _0x3bbe84=_0x36bba1[_0x32aa58];if(a0_0x3bbe['IRMlkQ']===undefined){var _0x374455=function(_0x428c68){const _0x1719dc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa31584='',_0xcddbe3='';for(let _0x312232=0x0,_0x458886,_0x1d4a8d,_0x2f1abd=0x0;_0x1d4a8d=_0x428c68['charAt'](_0x2f1abd++);~_0x1d4a8d&&(_0x458886=_0x312232%0x4?_0x458886*0x40+_0x1d4a8d:_0x1d4a8d,_0x312232++%0x4)?_0xa31584+=String['fromCharCode'](0xff&_0x458886>>(-0x2*_0x312232&0x6)):0x0){_0x1d4a8d=_0x1719dc['indexOf'](_0x1d4a8d);}for(let _0x4f716d=0x0,_0xa4d1e7=_0xa31584['length'];_0x4f716d<_0xa4d1e7;_0x4f716d++){_0xcddbe3+='%'+('00'+_0xa31584['charCodeAt'](_0x4f716d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcddbe3);};a0_0x3bbe['qgTAMQ']=_0x374455,a0_0x3bbe['UhUMUl']={},a0_0x3bbe['IRMlkQ']=!![];}const _0x327182=_0x36bba1[0x0],_0x2f86fc=_0x32aa58+_0x327182,_0x17dc57=a0_0x3bbe['UhUMUl'][_0x2f86fc];return!_0x17dc57?(_0x3bbe84=a0_0x3bbe['qgTAMQ'](_0x3bbe84),a0_0x3bbe['UhUMUl'][_0x2f86fc]=_0x3bbe84):_0x3bbe84=_0x17dc57,_0x3bbe84;}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x34da1d(0x259),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x34da1d(0x277),'ignore':a0_0x34da1d(0x22c),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x34da1d(0x283),'customColors':a0_0x34da1d(0x278),'hideObject':!![]},isDevelopment=process[a0_0x34da1d(0x1bf)]['NODE_ENV']!=='production',logLevel=process['env'][a0_0x34da1d(0x1f6)]||a0_0x34da1d(0x211);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x34da1d(0x1f4),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x34da1d(0x1bf)][a0_0x34da1d(0x1c4)]||a0_0x34da1d(0x214),'env':process[a0_0x34da1d(0x1bf)][a0_0x34da1d(0x218)]||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x34da1d(0x1e9)],'redact':{'paths':[a0_0x34da1d(0x246),'req.headers[\x22x-api-key\x22]',a0_0x34da1d(0x275),'token',a0_0x34da1d(0x217),a0_0x34da1d(0x273),a0_0x34da1d(0x25b)],'censor':a0_0x34da1d(0x24f)},'serializers':{'req':_0x2eaa09=>({'id':_0x2eaa09['id'],'method':_0x2eaa09[a0_0x34da1d(0x274)],'url':_0x2eaa09['url'],'path':_0x2eaa09[a0_0x34da1d(0x1f3)],'remoteAddress':_0x2eaa09['ip']||_0x2eaa09['connection']?.[a0_0x34da1d(0x20e)]}),'res':_0x743c52=>({'statusCode':_0x743c52['statusCode'],'headers':_0x743c52[a0_0x34da1d(0x1d9)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4bddee=a0_0x34da1d,_0x4bb7b2={'Zwqho':function(_0x48d2b0,_0x292fdd){return _0x48d2b0===_0x292fdd;},'jIVEc':'true','dlOEn':function(_0x4e0daf,_0x198bed){return _0x4e0daf!==_0x198bed;},'fGhGX':_0x4bddee(0x225),'GgyHb':function(_0x3c28b9,_0x4fd6b8){return _0x3c28b9(_0x4fd6b8);},'YfjYL':_0x4bddee(0x267),'KJWHU':function(_0x52348c,_0x2e6727,_0x2980d7){return _0x52348c(_0x2e6727,_0x2980d7);},'eiDHg':_0x4bddee(0x211)};if(fileLoggingInitialized)return;logToFile=_0x4bb7b2[_0x4bddee(0x269)](process['env'][_0x4bddee(0x235)],_0x4bb7b2[_0x4bddee(0x1ef)]);const _0x5db37c=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env']['LOG_DIR']||'./logs/'+_0x5db37c,serviceName=process[_0x4bddee(0x1bf)][_0x4bddee(0x1c7)]||'restforge',sqlLogEnabled=_0x4bb7b2[_0x4bddee(0x269)](process[_0x4bddee(0x1bf)]['SQL_LOG_ENABLED'],_0x4bb7b2['jIVEc']),sqlLogLevel=process[_0x4bddee(0x1bf)][_0x4bddee(0x212)]||_0x4bddee(0x259),sqlLogParams=_0x4bb7b2['dlOEn'](process[_0x4bddee(0x1bf)][_0x4bddee(0x21d)],_0x4bb7b2['fGhGX']),sqlLogSlowThreshold=_0x4bb7b2['GgyHb'](parseInt,process[_0x4bddee(0x1bf)][_0x4bddee(0x258)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x3a4d7f=path['resolve'](process[_0x4bddee(0x255)](),logDir);try{!fs['existsSync'](_0x3a4d7f)&&fs[_0x4bddee(0x1f7)](_0x3a4d7f,{'recursive':!![]});}catch(_0x4c5328){console[_0x4bddee(0x249)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x3a4d7f+':',_0x4c5328['message']),fileLoggingInitialized=!![];return;}const _0x14a5e2=path['join'](_0x3a4d7f,'app.log'),_0x4d6ea2=path[_0x4bddee(0x21c)](_0x3a4d7f,_0x4bddee(0x250));try{appLogStream=fs[_0x4bddee(0x201)](_0x14a5e2,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x4d6ea2,{'flags':'a'}),fileLoggingInitialized=!![];const _0xa9cc1f={'event':'file_logging_enabled','logDir':_0x3a4d7f,'files':[_0x4bb7b2[_0x4bddee(0x27c)],'error.log']},_0x10fe55='File\x20logging\x20enabled:\x20'+_0x3a4d7f;logger['info'](_0xa9cc1f,_0x10fe55),_0x4bb7b2[_0x4bddee(0x248)](writeToFileLog,{..._0xa9cc1f,'level':_0x4bb7b2[_0x4bddee(0x227)],'msg':_0x10fe55,'time':new Date()['toISOString']()},_0x4bb7b2['eiDHg']);}catch(_0x2f6347){console['error'](_0x4bddee(0x1c0),_0x2f6347[_0x4bddee(0x1c1)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3f8bad,_0x4de0e9){const _0x2a9419=a0_0x34da1d,_0x1be793={'hRgeO':function(_0x3e8bfc,_0x5c6dd4){return _0x3e8bfc||_0x5c6dd4;},'XEfqk':function(_0x2a7215,_0x5e1c71){return _0x2a7215===_0x5e1c71;}};if(_0x1be793[_0x2a9419(0x266)](!logToFile,!appLogStream))return;const _0x286b56={'service':serviceName,..._0x3f8bad},_0x218119=JSON[_0x2a9419(0x22b)](_0x286b56)+'\x0a';appLogStream['write'](_0x218119),(_0x1be793['XEfqk'](_0x4de0e9,'error')||_0x4de0e9==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x218119));}const createRequestLogger=(_0x4d6653={})=>{return logger['child'](_0x4d6653);},logServerStart=_0x17ac36=>{const _0x564a9c=a0_0x34da1d,_0x4cab65={'xEYaR':_0x564a9c(0x1db),'WGCFI':function(_0x2fceaa,_0x1a663b){return _0x2fceaa/_0x1a663b;},'dojeR':_0x564a9c(0x1e1),'XAAzl':function(_0x415733,_0x1194cb){return _0x415733(_0x1194cb);},'YqmvW':_0x564a9c(0x251),'WaRIa':function(_0x2b7601,_0x44b042,_0x15d3f3){return _0x2b7601(_0x44b042,_0x15d3f3);},'UydBO':'info'},_0x572ba0=_0x4cab65[_0x564a9c(0x270)],_0x245c10=Math['max'](0x0,0x37-_0x572ba0['length']),_0x1d7349=Math['floor'](_0x4cab65['WGCFI'](_0x245c10,0x2)),_0x3d6657=_0x245c10-_0x1d7349,_0x3c6257='║'+'\x20'[_0x564a9c(0x1d6)](_0x1d7349)+_0x572ba0+'\x20'[_0x564a9c(0x1d6)](_0x3d6657)+'║',_0x59bfb1='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3c6257+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x17ac36['environment']||_0x4cab65['dojeR'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x17ac36['project']||_0x564a9c(0x24b))[_0x564a9c(0x243)](0x26)+_0x564a9c(0x260)+_0x4cab65['XAAzl'](String,_0x17ac36['port']||0xbb8)['padEnd'](0x26)+_0x564a9c(0x1c9)+(_0x17ac36['configFile']||'Default')[_0x564a9c(0x243)](0x26)+_0x564a9c(0x1d0)+(_0x17ac36['apiKey']?'ACTIVE':_0x4cab65['YqmvW'])[_0x564a9c(0x243)](0x26)+_0x564a9c(0x229);console[_0x564a9c(0x252)](_0x59bfb1);const _0x449f1f={'event':_0x564a9c(0x1cf),'project':_0x17ac36['project'],'port':_0x17ac36['port'],'config':_0x17ac36['configFile'],'apiKeyEnabled':!!_0x17ac36['apiKey']};logger['info'](_0x449f1f),_0x4cab65['WaRIa'](writeToFileLog,{..._0x449f1f,'level':_0x4cab65['UydBO'],'msg':_0x564a9c(0x203)+_0x17ac36['project']+_0x564a9c(0x1d7)+_0x17ac36['port'],'time':new Date()[_0x564a9c(0x222)]()},_0x4cab65[_0x564a9c(0x23e)]);},logServerReady=_0x2b7a66=>{const _0x11e099=a0_0x34da1d,_0x1773ca={'OjYCI':function(_0x533be6,_0x216ad0,_0x2308e4){return _0x533be6(_0x216ad0,_0x2308e4);},'mnyhU':_0x11e099(0x211)},_0x112cdb={'event':'server_ready','port':_0x2b7a66[_0x11e099(0x1ce)],'module':_0x2b7a66[_0x11e099(0x20f)],'healthCheck':_0x2b7a66['healthCheck'],'serviceInfo':_0x2b7a66['serviceInfo'],'baseUrl':_0x2b7a66['baseUrl']},_0x506fe3='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2b7a66['port'];logger['info'](_0x112cdb,_0x506fe3),_0x1773ca['OjYCI'](writeToFileLog,{..._0x112cdb,'level':_0x1773ca[_0x11e099(0x242)],'msg':_0x506fe3,'time':new Date()[_0x11e099(0x222)]()},_0x1773ca['mnyhU']),_0x2b7a66[_0x11e099(0x1c2)]&&logger[_0x11e099(0x211)](_0x11e099(0x221)+_0x2b7a66['healthCheck']),_0x2b7a66[_0x11e099(0x205)]&&logger['info'](_0x11e099(0x25a)+_0x2b7a66['serviceInfo']),_0x2b7a66[_0x11e099(0x1c5)]&&logger[_0x11e099(0x211)](_0x11e099(0x261)+_0x2b7a66[_0x11e099(0x1c5)]);},logProjectLoaded=(_0x3e210e,_0x16e468)=>{const _0x495c3a=a0_0x34da1d,_0xb313f8={'ittAg':function(_0x47274e,_0x445a9f,_0x131f27){return _0x47274e(_0x445a9f,_0x131f27);},'zjmvk':_0x495c3a(0x211)},_0x128009={'event':'project_loaded','project':_0x3e210e,'path':_0x16e468},_0x354fa2=_0x495c3a(0x1c6)+_0x3e210e;logger[_0x495c3a(0x211)](_0x128009,_0x354fa2),_0xb313f8[_0x495c3a(0x22f)](writeToFileLog,{..._0x128009,'level':_0xb313f8[_0x495c3a(0x210)],'msg':_0x354fa2,'time':new Date()['toISOString']()},_0x495c3a(0x211));},logEndpointRegistered=(_0x65ec73,_0x2341a6)=>{const _0x6ff7bb=a0_0x34da1d,_0xadfa20={'KOGGD':function(_0x3b9b6b,_0x40a0a8,_0x224131){return _0x3b9b6b(_0x40a0a8,_0x224131);},'oZNmj':_0x6ff7bb(0x259)},_0x1138f2={'event':'endpoint_registered','endpoint':_0x65ec73,'route':_0x2341a6},_0x46f5fd=_0x6ff7bb(0x1e2)+_0x65ec73+':\x20'+_0x2341a6;logger['debug'](_0x1138f2,_0x46f5fd),_0xadfa20['KOGGD'](writeToFileLog,{..._0x1138f2,'level':_0xadfa20['oZNmj'],'msg':_0x46f5fd,'time':new Date()[_0x6ff7bb(0x222)]()},'debug');},logDatabaseConfig=_0x54adcc=>{const _0x248735=a0_0x34da1d,_0x33cf12={'dgABQ':'debug'},_0x51283b={'event':_0x248735(0x27e),'host':_0x54adcc[_0x248735(0x1da)],'port':_0x54adcc['port'],'database':_0x54adcc['database'],'type':_0x54adcc[_0x248735(0x1f9)],'user':_0x54adcc['user']},_0x27334b='Database:\x20'+_0x54adcc['type']+_0x248735(0x21e)+_0x54adcc['host']+':'+_0x54adcc['port']+'/'+_0x54adcc[_0x248735(0x1f8)];logger['debug'](_0x51283b,_0x27334b),writeToFileLog({..._0x51283b,'level':'debug','msg':_0x27334b,'time':new Date()['toISOString']()},_0x33cf12[_0x248735(0x238)]);},logRequest=(_0x1552e1,_0x12fd2a,_0x5bcbd0)=>{const _0x246292=a0_0x34da1d,_0x46b3c6={'JMysF':'http_request','hzmIQ':'info','BAzSA':function(_0x54f81d,_0xe0b881){return _0x54f81d>=_0xe0b881;}},_0x5e0d13={'event':_0x46b3c6[_0x246292(0x1e3)],'method':_0x1552e1[_0x246292(0x274)],'path':_0x1552e1[_0x246292(0x1f3)],'statusCode':_0x12fd2a[_0x246292(0x1cc)],'durationMs':_0x5bcbd0,'ip':_0x1552e1['ip']},_0x3d9f6a=_0x1552e1[_0x246292(0x274)]+'\x20'+_0x1552e1['path']+'\x20-\x20'+_0x12fd2a[_0x246292(0x1cc)]+'\x20('+_0x5bcbd0+_0x246292(0x237);let _0x460356=_0x46b3c6[_0x246292(0x224)];if(_0x12fd2a['statusCode']>=0x1f4)_0x460356=_0x246292(0x249),logger['error'](_0x5e0d13,_0x3d9f6a);else _0x46b3c6[_0x246292(0x1c8)](_0x12fd2a['statusCode'],0x190)?(_0x460356='warn',logger[_0x246292(0x200)](_0x5e0d13,_0x3d9f6a)):logger[_0x246292(0x211)](_0x5e0d13,_0x3d9f6a);writeToFileLog({..._0x5e0d13,'level':_0x460356,'msg':_0x3d9f6a,'time':new Date()[_0x246292(0x222)]()},_0x460356);},SENSITIVE_PARAM_PATTERNS=[a0_0x34da1d(0x275),'passwd',a0_0x34da1d(0x25d),a0_0x34da1d(0x1e0),'access_token',a0_0x34da1d(0x204),a0_0x34da1d(0x216),'api_secret',a0_0x34da1d(0x219),a0_0x34da1d(0x21b),a0_0x34da1d(0x23f),a0_0x34da1d(0x1e6),a0_0x34da1d(0x1d1),a0_0x34da1d(0x22a),a0_0x34da1d(0x1e7),a0_0x34da1d(0x1fa)],redactSensitiveParams=(_0x201fbd,_0x316bfc)=>{const _0x4adf8a=a0_0x34da1d,_0x381b0a={'vStXI':function(_0x310472,_0x34ed39){return _0x310472===_0x34ed39;},'QgsvD':_0x4adf8a(0x1f0),'hXNUp':function(_0x41aa04,_0x485521){return _0x41aa04>_0x485521;},'cuiuI':'[REDACTED:token]','zFDPQ':'[REDACTED:hash]'};if(!_0x201fbd||_0x381b0a['vStXI'](_0x201fbd['length'],0x0))return _0x201fbd;const _0x4558d8=_0x316bfc[_0x4adf8a(0x1e5)](),_0x4f8726=_0x4558d8[_0x4adf8a(0x21f)](/\(([^)]+)\)\s*values/i);let _0x46e61c=[];_0x4f8726&&(_0x46e61c=_0x4f8726[0x1][_0x4adf8a(0x26e)](',')[_0x4adf8a(0x1e4)](_0x1bc210=>_0x1bc210[_0x4adf8a(0x25f)]()[_0x4adf8a(0x1e5)]()));const _0x2ef717=_0x4558d8['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2ef717){const _0x529c43=_0x2ef717[0x1],_0x244690=_0x529c43['match'](/(\w+)\s*=/g);_0x244690&&(_0x46e61c=_0x244690['map'](_0x411a5e=>_0x411a5e[_0x4adf8a(0x228)](/\s*=/,'')['trim']()[_0x4adf8a(0x1e5)]()));}return _0x201fbd[_0x4adf8a(0x1e4)]((_0xf31066,_0x247f68)=>{const _0x601b39=_0x4adf8a;if(_0x46e61c[_0x247f68]){const _0x3fb472=_0x46e61c[_0x247f68],_0x2bbb9e=SENSITIVE_PARAM_PATTERNS['some'](_0x1e6ce9=>_0x3fb472['includes'](_0x1e6ce9));if(_0x2bbb9e)return _0x601b39(0x24f);}if(_0x381b0a[_0x601b39(0x256)](typeof _0xf31066,_0x381b0a[_0x601b39(0x1df)])&&_0x381b0a['hXNUp'](_0xf31066[_0x601b39(0x223)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xf31066)&&_0xf31066['includes']('.'))return _0x381b0a[_0x601b39(0x1ee)];if(/^[a-fA-F0-9]{32,}$/['test'](_0xf31066))return _0x381b0a[_0x601b39(0x233)];}return _0xf31066;});},parseQueryMetadata=_0xbcbf69=>{const _0x3407d7=a0_0x34da1d,_0x59352f={'uZgRN':_0x3407d7(0x26b),'rIwfV':_0x3407d7(0x241),'USvSb':_0x3407d7(0x268),'qzpKn':_0x3407d7(0x264),'sqiDL':_0x3407d7(0x215),'dvMoC':'ROLLBACK','lxlYJ':_0x3407d7(0x1d2),'KLhEL':_0x3407d7(0x271),'JiprA':'DDL_DROP'},_0x5273ba=_0xbcbf69['trim'](),_0x3f6f67=_0x5273ba['toUpperCase']();let _0x253d25=_0x3407d7(0x209),_0x4584ce=null;if(_0x3f6f67['startsWith'](_0x59352f['uZgRN'])){_0x253d25=_0x59352f['uZgRN'];const _0x5d95d7=_0x5273ba['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x5d95d7?_0x5d95d7[0x1]:null;}else{if(_0x3f6f67['startsWith'](_0x59352f[_0x3407d7(0x1e8)])){_0x253d25=_0x3407d7(0x241);const _0x3ff7d5=_0x5273ba[_0x3407d7(0x21f)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x3ff7d5?_0x3ff7d5[0x1]:null;}else{if(_0x3f6f67[_0x3407d7(0x265)](_0x59352f[_0x3407d7(0x1d3)])){_0x253d25='UPDATE';const _0x47a1c0=_0x5273ba[_0x3407d7(0x21f)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x47a1c0?_0x47a1c0[0x1]:null;}else{if(_0x3f6f67[_0x3407d7(0x265)]('DELETE')){_0x253d25='DELETE';const _0x19288d=_0x5273ba['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x19288d?_0x19288d[0x1]:null;}else{if(_0x3f6f67['startsWith']('BEGIN')||_0x3f6f67['startsWith'](_0x59352f['qzpKn']))_0x253d25='TRANSACTION_BEGIN';else{if(_0x3f6f67[_0x3407d7(0x265)](_0x3407d7(0x25e)))_0x253d25=_0x59352f['sqiDL'];else{if(_0x3f6f67['startsWith'](_0x59352f[_0x3407d7(0x1cd)]))_0x253d25=_0x3407d7(0x207);else{if(_0x3f6f67[_0x3407d7(0x265)](_0x3407d7(0x220)))_0x253d25=_0x59352f[_0x3407d7(0x1cb)];else{if(_0x3f6f67[_0x3407d7(0x265)]('ALTER'))_0x253d25=_0x59352f[_0x3407d7(0x232)];else _0x3f6f67['startsWith']('DROP')&&(_0x253d25=_0x59352f['JiprA']);}}}}}}}}return{'type':_0x253d25,'table':_0x4584ce};},startQueryTimer=()=>{const _0x69c77e=a0_0x34da1d,_0x1a2d52={'RUQVk':function(_0x432a3c,_0xc447be){return _0x432a3c(_0xc447be);},'xbpZW':function(_0x486ab9,_0xe5bc80){return _0x486ab9*_0xe5bc80;}},_0x353bf0=process[_0x69c77e(0x1f2)]();return()=>{const _0x203200=_0x69c77e,[_0x3b9db2,_0x3fcde3]=process['hrtime'](_0x353bf0);return _0x1a2d52['RUQVk'](parseFloat,(_0x1a2d52[_0x203200(0x1f1)](_0x3b9db2,0x3e8)+_0x3fcde3/0xf4240)['toFixed'](0x2));};},logQuery=(_0x39f6f2,_0x46c9f1=[],_0x349a8c={})=>{const _0x25203f=a0_0x34da1d,_0x1bc54c={'tZtvH':_0x25203f(0x1d8),'lKafO':_0x25203f(0x26d),'hZmct':function(_0xee15c2,_0x5d9583){return _0xee15c2>_0x5d9583;},'IsUVT':function(_0x2e9151,_0x567e16){return _0x2e9151!==_0x567e16;},'oqCoc':'debug','EfeDx':'\x20[SLOW]','lsIQN':function(_0x347296,_0x5e7279){return _0x347296===_0x5e7279;}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x39f6f2['substring'](0x0,0xc8),'paramCount':_0x46c9f1['length']},_0x1bc54c['tZtvH']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1bc54c['lKafO']}=_0x349a8c,{type:_0x25878e,table:_0x426bef}=parseQueryMetadata(_0x39f6f2),_0x2d702c={'event':_0x25203f(0x247),'queryType':_0x25878e,'table':_0x426bef,'query':_0x39f6f2,'paramCount':_0x46c9f1[_0x25203f(0x223)],'dbType':dbType};sqlLogParams&&_0x46c9f1[_0x25203f(0x223)]>0x0&&(_0x2d702c[_0x25203f(0x27d)]=redactSensitiveParams(_0x46c9f1,_0x39f6f2));duration!==null&&(_0x2d702c[_0x25203f(0x245)]=duration,_0x2d702c['isSlow']=_0x1bc54c['hZmct'](duration,sqlLogSlowThreshold));_0x1bc54c[_0x25203f(0x234)](rowsAffected,null)&&(_0x2d702c['rowsAffected']=rowsAffected);const _0x32299a=_0x426bef||_0x25203f(0x23c);let _0x28d1fc='['+_0x25878e+']\x20'+_0x32299a;duration!==null&&(_0x28d1fc+='\x20('+duration+_0x25203f(0x237));const _0x3edad8=_0x1bc54c[_0x25203f(0x234)](duration,null)&&duration>sqlLogSlowThreshold;let _0x578a79=_0x1bc54c[_0x25203f(0x226)];if(_0x3edad8)_0x28d1fc+=_0x1bc54c[_0x25203f(0x25c)],_0x578a79=_0x25203f(0x200),logger['warn'](_0x2d702c,_0x28d1fc);else _0x1bc54c['lsIQN'](sqlLogLevel,'info')?(_0x578a79=_0x25203f(0x211),logger[_0x25203f(0x211)](_0x2d702c,_0x28d1fc)):logger[_0x25203f(0x259)](_0x2d702c,_0x28d1fc);writeToFileLog({..._0x2d702c,'level':_0x578a79,'msg':_0x28d1fc,'time':new Date()['toISOString']()},_0x578a79);},logTransaction=(_0x498f0d,_0xb24227)=>{const _0x380c25=a0_0x34da1d,_0x1a2c61={'WHeND':'debug'},_0x1890e5={'event':_0x380c25(0x276),'status':_0x498f0d,'queryCount':_0xb24227},_0x2048df='Transaction\x20'+_0x498f0d;logger['debug'](_0x1890e5,_0x2048df),writeToFileLog({..._0x1890e5,'level':_0x1a2c61['WHeND'],'msg':_0x2048df,'time':new Date()['toISOString']()},'debug');},redactObject=_0x1aa31f=>{const _0x3dfc2c=a0_0x34da1d,_0x2836b8={'bsJfC':function(_0x2cb0af,_0x21b68f){return _0x2cb0af!==_0x21b68f;},'diZUO':_0x3dfc2c(0x20d),'ebZOt':'password','tEUTa':'passwd','htALL':_0x3dfc2c(0x25d),'fPIle':_0x3dfc2c(0x1e0),'LogZx':_0x3dfc2c(0x21b),'ppSUo':_0x3dfc2c(0x24d),'qErwz':'ssn','DcwdY':'pin','NNiTi':'privatekey','rDKBH':'refresh_token'};if(!_0x1aa31f||_0x2836b8[_0x3dfc2c(0x279)](typeof _0x1aa31f,_0x2836b8[_0x3dfc2c(0x24a)]))return _0x1aa31f;const _0x2bb1ea=[_0x2836b8[_0x3dfc2c(0x1d5)],_0x2836b8[_0x3dfc2c(0x1ed)],_0x2836b8[_0x3dfc2c(0x282)],_0x2836b8['fPIle'],_0x3dfc2c(0x216),_0x3dfc2c(0x219),_0x2836b8[_0x3dfc2c(0x202)],_0x3dfc2c(0x1c3),'creditcard',_0x3dfc2c(0x208),_0x2836b8['ppSUo'],_0x2836b8['qErwz'],_0x2836b8['DcwdY'],_0x3dfc2c(0x1e7),_0x2836b8['NNiTi'],_0x2836b8['rDKBH'],_0x3dfc2c(0x1d4)],_0x1d6ef0=Array[_0x3dfc2c(0x1be)](_0x1aa31f)?[..._0x1aa31f]:{..._0x1aa31f};for(const _0x3baaa5 of Object[_0x3dfc2c(0x1fb)](_0x1d6ef0)){const _0x2f9358=_0x3baaa5['toLowerCase']();if(_0x2bb1ea[_0x3dfc2c(0x213)](_0x1ba869=>_0x2f9358[_0x3dfc2c(0x239)](_0x1ba869)))_0x1d6ef0[_0x3baaa5]=_0x3dfc2c(0x24f);else typeof _0x1d6ef0[_0x3baaa5]==='object'&&_0x2836b8['bsJfC'](_0x1d6ef0[_0x3baaa5],null)&&(_0x1d6ef0[_0x3baaa5]=redactObject(_0x1d6ef0[_0x3baaa5]));}return _0x1d6ef0;},logError=(_0xf434c3,_0x9ac847={},_0x1aad26=null)=>{const _0x356ad5=a0_0x34da1d,_0x5d9b69={'pJGYG':_0x356ad5(0x249)},_0x3586d6={'event':_0x356ad5(0x249),'errorName':_0xf434c3[_0x356ad5(0x22d)]||'Error','errorMessage':_0xf434c3['message'],'errorCode':_0xf434c3['code']||null,'stack':_0xf434c3[_0x356ad5(0x206)],..._0x9ac847},_0x2db409=_0x1aad26||_0x356ad5(0x27b)+_0xf434c3['message'];logger[_0x356ad5(0x249)](_0x3586d6,_0x2db409),writeToFileLog({..._0x3586d6,'level':_0x356ad5(0x249),'msg':_0x2db409,'time':new Date()['toISOString']()},_0x5d9b69[_0x356ad5(0x231)]);},logFatalError=(_0x1e1aa9,_0x4cad8e={},_0x2ab8a6=null)=>{const _0x4e8060=a0_0x34da1d,_0x4fffe4={'vubEq':'fatal_error','fDXwH':_0x4e8060(0x244),'sRjDW':_0x4e8060(0x1ea),'rOTpG':function(_0x2952da,_0x4d4d9f,_0x187e03){return _0x2952da(_0x4d4d9f,_0x187e03);},'KIaka':'fatal','mpjXZ':'error'},_0xadaa17={'event':_0x4fffe4[_0x4e8060(0x26c)],'errorName':_0x1e1aa9['name']||_0x4fffe4['fDXwH'],'errorMessage':_0x1e1aa9[_0x4e8060(0x1c1)],'errorCode':_0x1e1aa9[_0x4e8060(0x254)]||null,'stack':_0x1e1aa9['stack'],'severity':_0x4fffe4['sRjDW'],..._0x4cad8e},_0xbf79fd=_0x2ab8a6||'FATAL:\x20'+_0x1e1aa9['message'];logger['fatal'](_0xadaa17,_0xbf79fd),_0x4fffe4[_0x4e8060(0x1fc)](writeToFileLog,{..._0xadaa17,'level':_0x4fffe4[_0x4e8060(0x22e)],'msg':_0xbf79fd,'time':new Date()['toISOString']()},_0x4fffe4[_0x4e8060(0x272)]);},logHttpError=(_0x434374,_0x4e403f,_0x30699a={})=>{const _0x42abc9=a0_0x34da1d,_0xdaa942={'CYHNh':_0x42abc9(0x24e),'PATpM':'error','pGqya':'warn'},_0x441ca3={'event':_0xdaa942['CYHNh'],'errorName':_0x434374[_0x42abc9(0x22d)]||'Error','errorMessage':_0x434374['message'],'errorCode':_0x434374['code']||_0x434374[_0x42abc9(0x1cc)]||0x1f4,'stack':_0x434374[_0x42abc9(0x206)],'method':_0x4e403f?.['method'],'url':_0x4e403f?.['url']||_0x4e403f?.[_0x42abc9(0x21a)],'path':_0x4e403f?.['path'],'ip':_0x4e403f?.['ip']||_0x4e403f?.['connection']?.[_0x42abc9(0x20e)],'userAgent':_0x4e403f?.[_0x42abc9(0x20c)]?.('user-agent'),'requestId':_0x4e403f?.['id']||_0x4e403f?.['headers']?.[_0x42abc9(0x1ca)],'body':_0x4e403f?.['body']?redactObject(_0x4e403f[_0x42abc9(0x26f)]):undefined,'query':_0x4e403f?.['query'],..._0x30699a},_0x446fa9=_0x434374['statusCode']||_0x434374[_0x42abc9(0x236)]||0x1f4,_0x17bb9a='HTTP\x20'+_0x446fa9+':\x20'+_0x434374['message'];_0x446fa9>=0x1f4?logger['error'](_0x441ca3,_0x17bb9a):logger['warn'](_0x441ca3,_0x17bb9a),writeToFileLog({..._0x441ca3,'level':_0x446fa9>=0x1f4?_0xdaa942[_0x42abc9(0x24c)]:_0x42abc9(0x200),'msg':_0x17bb9a,'time':new Date()['toISOString']()},_0x446fa9>=0x1f4?_0xdaa942['PATpM']:_0xdaa942[_0x42abc9(0x20b)]);},logUncaughtError=(_0x29d910,_0x108280)=>{const _0x3b6fe9=a0_0x34da1d,_0x967905={'MuKmx':function(_0x576a95,_0x1dd2ed){return _0x576a95(_0x1dd2ed);},'YpVEn':'CRITICAL','oSbQk':function(_0x4ec9a8,_0x3b6818,_0x4f303f){return _0x4ec9a8(_0x3b6818,_0x4f303f);},'FkDVk':'fatal','VbzUm':_0x3b6fe9(0x249)},_0x566091={'event':_0x29d910,'errorName':_0x108280?.['name']||_0x3b6fe9(0x244),'errorMessage':_0x108280?.['message']||_0x967905[_0x3b6fe9(0x240)](String,_0x108280),'errorCode':_0x108280?.['code']||null,'stack':_0x108280?.['stack'],'severity':_0x967905['YpVEn'],'processId':process['pid'],'memoryUsage':process[_0x3b6fe9(0x23d)](),'uptime':process['uptime']()},_0x1c8a87='['+_0x29d910['toUpperCase']()+']\x20'+(_0x108280?.[_0x3b6fe9(0x1c1)]||_0x108280);logger['fatal'](_0x566091,_0x1c8a87),_0x967905[_0x3b6fe9(0x1dd)](writeToFileLog,{..._0x566091,'level':_0x967905[_0x3b6fe9(0x253)],'msg':_0x1c8a87,'time':new Date()[_0x3b6fe9(0x222)]()},_0x967905['VbzUm']);},setupGlobalErrorHandlers=()=>{const _0x3e0d49=a0_0x34da1d,_0x203ad8={'LNWVE':function(_0x208d58,_0x1290c9,_0x21c3ce){return _0x208d58(_0x1290c9,_0x21c3ce);},'NSoKT':'uncaughtException','VnzUb':function(_0x46869c,_0x88fbdc,_0x4b51d7){return _0x46869c(_0x88fbdc,_0x4b51d7);},'xSljD':function(_0x377454,_0x5276ac,_0x7aa1c6){return _0x377454(_0x5276ac,_0x7aa1c6);},'wZJzh':_0x3e0d49(0x1ff)};process['on'](_0x203ad8['NSoKT'],_0x4d570a=>{_0x203ad8['LNWVE'](logUncaughtError,_0x203ad8['NSoKT'],_0x4d570a),_0x203ad8['VnzUb'](setTimeout,()=>{const _0x4e6105=a0_0x3bbe;process[_0x4e6105(0x281)](0x1);},0x3e8);}),process['on'](_0x203ad8['wZJzh'],(_0x34217c,_0x448d11)=>{const _0x1a725e=_0x3e0d49,_0x2dfc7e=_0x34217c instanceof Error?_0x34217c:new Error(String(_0x34217c));_0x203ad8[_0x1a725e(0x27f)](logUncaughtError,_0x203ad8[_0x1a725e(0x1dc)],_0x2dfc7e);}),process['on'](_0x3e0d49(0x257),_0xefd543=>{const _0x20f32f=_0x3e0d49;logger[_0x20f32f(0x200)]({'event':'process_warning','name':_0xefd543[_0x20f32f(0x22d)],'message':_0xefd543[_0x20f32f(0x1c1)],'stack':_0xefd543[_0x20f32f(0x206)]},'Process\x20Warning:\x20'+_0xefd543[_0x20f32f(0x1c1)]);});const _0x438768={'event':'global_error_handlers_setup'},_0x38540f=_0x3e0d49(0x1fe);logger['info'](_0x438768,_0x38540f),writeToFileLog({..._0x438768,'level':_0x3e0d49(0x211),'msg':_0x38540f,'time':new Date()[_0x3e0d49(0x222)]()},_0x3e0d49(0x211));},createErrorHandlerMiddleware=()=>{const _0x2210ad=a0_0x34da1d,_0x15d6e1={'LYcgs':function(_0x5f1fcf,_0x4cb138){return _0x5f1fcf>=_0x4cb138;},'XBVQK':'Internal\x20server\x20error','dcyIM':_0x2210ad(0x1ca)};return(_0x3503b8,_0x3d1570,_0x1bc491,_0x26930b)=>{const _0x106bc8=_0x2210ad;logHttpError(_0x3503b8,_0x3d1570);const _0x4bb468=_0x3503b8['statusCode']||_0x3503b8['status']||0x1f4;_0x1bc491['status'](_0x4bb468)[_0x106bc8(0x20a)]({'success':![],'error':_0x15d6e1['LYcgs'](_0x4bb468,0x1f4)?_0x15d6e1[_0x106bc8(0x1de)]:_0x3503b8['message'],'requestId':_0x3d1570['id']||_0x3d1570['headers']?.[_0x15d6e1['dcyIM']]||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_0x26ea7b=a0_0xaa3a;(function(_0x30aca2,_0x404543){const _0x598d68=a0_0xaa3a,_0x312091=_0x30aca2();while(!![]){try{const _0x2eaba3=parseInt(_0x598d68(0x155))/0x1+parseInt(_0x598d68(0x12a))/0x2*(parseInt(_0x598d68(0x14b))/0x3)+parseInt(_0x598d68(0x142))/0x4*(-parseInt(_0x598d68(0x123))/0x5)+-parseInt(_0x598d68(0x135))/0x6+-parseInt(_0x598d68(0x14e))/0x7+-parseInt(_0x598d68(0x138))/0x8*(parseInt(_0x598d68(0x140))/0x9)+parseInt(_0x598d68(0x11b))/0xa;if(_0x2eaba3===_0x404543)break;else _0x312091['push'](_0x312091['shift']());}catch(_0x11307a){_0x312091['push'](_0x312091['shift']());}}}(a0_0x2df7,0xb387c));const dbType=(process['env'][a0_0x26ea7b(0x12b)]||a0_0x26ea7b(0x147))['toLowerCase']();function a0_0xaa3a(_0xc9d9b3,_0x247eaa){_0xc9d9b3=_0xc9d9b3-0x11b;const _0x2df7a7=a0_0x2df7();let _0xaa3ac1=_0x2df7a7[_0xc9d9b3];if(a0_0xaa3a['AnZBbs']===undefined){var _0x68daa1=function(_0x3c9ad0){const _0x4238d7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16684b='',_0x9307f6='';for(let _0x55da4b=0x0,_0x373841,_0x1017ad,_0x161c36=0x0;_0x1017ad=_0x3c9ad0['charAt'](_0x161c36++);~_0x1017ad&&(_0x373841=_0x55da4b%0x4?_0x373841*0x40+_0x1017ad:_0x1017ad,_0x55da4b++%0x4)?_0x16684b+=String['fromCharCode'](0xff&_0x373841>>(-0x2*_0x55da4b&0x6)):0x0){_0x1017ad=_0x4238d7['indexOf'](_0x1017ad);}for(let _0x1f7132=0x0,_0x55f1f2=_0x16684b['length'];_0x1f7132<_0x55f1f2;_0x1f7132++){_0x9307f6+='%'+('00'+_0x16684b['charCodeAt'](_0x1f7132)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9307f6);};a0_0xaa3a['vqzuQw']=_0x68daa1,a0_0xaa3a['EIGZnK']={},a0_0xaa3a['AnZBbs']=!![];}const _0x176aba=_0x2df7a7[0x0],_0x5d2f4e=_0xc9d9b3+_0x176aba,_0x1b01fc=a0_0xaa3a['EIGZnK'][_0x5d2f4e];return!_0x1b01fc?(_0xaa3ac1=a0_0xaa3a['vqzuQw'](_0xaa3ac1),a0_0xaa3a['EIGZnK'][_0x5d2f4e]=_0xaa3ac1):_0xaa3ac1=_0x1b01fc,_0xaa3ac1;}let executeQuery;if(dbType===a0_0x26ea7b(0x146)){const oracleDb=require(a0_0x26ea7b(0x137));executeQuery=(_0x3b5dc6,_0x3a3718)=>oracleDb[a0_0x26ea7b(0x13f)](_0x3b5dc6,_0x3a3718);}else{if(dbType===a0_0x26ea7b(0x122)){const mysqlDb=require(a0_0x26ea7b(0x145));executeQuery=(_0x38b0ee,_0x4c439f)=>mysqlDb[a0_0x26ea7b(0x13f)](_0x38b0ee,_0x4c439f);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require(a0_0x26ea7b(0x13e));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x26ea7b(0x126)](){const _0x508a26=a0_0x26ea7b,_0xecf275={'GPCjQ':_0x508a26(0x133)};this[_0x508a26(0x150)][_0x508a26(0x121)](),logger['debug']({'event':_0xecf275[_0x508a26(0x149)]},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x293ff4,_0x57732f,_0xe41b4c){const _0x194d82=a0_0x26ea7b,_0x9fc9e8={'TckeD':function(_0x5266a3,_0xeccf49){return _0x5266a3!==_0xeccf49;},'NjHea':function(_0x5e26a4,_0x2de2e8){return _0x5e26a4(_0x2de2e8);},'ylrhy':function(_0x428c3e,_0x7e0a83){return _0x428c3e(_0x7e0a83);},'cUbdH':_0x194d82(0x14d)},_0x7f94a3=_0x293ff4+':'+_0x57732f+':'+_0xe41b4c;if(this[_0x194d82(0x150)][_0x194d82(0x132)](_0x7f94a3))return this['lookupCache']['get'](_0x7f94a3);try{const _0x374c38=_0x194d82(0x13b)+_0xe41b4c+',\x20'+_0x57732f+_0x194d82(0x14c)+_0x293ff4,_0x367f71=await _0x9fc9e8[_0x194d82(0x143)](executeQuery,_0x374c38),_0x227bbd=new Map();return _0x367f71['forEach'](_0x1fa768=>{const _0x4a2bf7=_0x194d82,_0x2fc17c=_0x1fa768[_0x57732f]!==undefined?_0x1fa768[_0x57732f]:_0x1fa768[_0x57732f[_0x4a2bf7(0x136)]()],_0x34f5d8=_0x1fa768[_0xe41b4c]!==undefined?_0x1fa768[_0xe41b4c]:_0x1fa768[_0xe41b4c['toUpperCase']()];_0x2fc17c!==null&&_0x9fc9e8['TckeD'](_0x2fc17c,undefined)&&(_0x227bbd['set'](_0x9fc9e8[_0x4a2bf7(0x151)](String,_0x2fc17c)[_0x4a2bf7(0x13a)]()[_0x4a2bf7(0x125)](),_0x34f5d8),_0x227bbd[_0x4a2bf7(0x131)](String(_0x2fc17c)[_0x4a2bf7(0x125)](),_0x34f5d8));}),this[_0x194d82(0x150)][_0x194d82(0x131)](_0x7f94a3,_0x227bbd),logger['info']({'event':_0x9fc9e8['cUbdH'],'table':_0x293ff4,'column':_0x57732f,'count':_0x367f71[_0x194d82(0x12e)]},_0x194d82(0x12c)+_0x293ff4),_0x227bbd;}catch(_0x3a49e6){logger[_0x194d82(0x11d)]({'event':'lookup_table_load_error','table':_0x293ff4,'error':_0x3a49e6['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x293ff4);throw _0x3a49e6;}}['resolveLookupValue'](_0x2b4deb,_0x3978c8){const _0x334a85=a0_0x26ea7b;if(_0x2b4deb===null||_0x2b4deb===undefined||_0x2b4deb==='')return null;const _0x4465d3=String(_0x2b4deb)[_0x334a85(0x125)]();if(_0x3978c8[_0x334a85(0x132)](_0x4465d3))return _0x3978c8[_0x334a85(0x120)](_0x4465d3);const _0x3b7384=_0x4465d3[_0x334a85(0x13a)]();if(_0x3978c8['has'](_0x3b7384))return _0x3978c8[_0x334a85(0x120)](_0x3b7384);return null;}async[a0_0x26ea7b(0x134)](_0x24c6ba,_0x583ce2){const _0x5b2834=a0_0x26ea7b,_0x59666c={'tkNmj':function(_0xc4c7f2,_0x5539d4){return _0xc4c7f2===_0x5539d4;},'YmYaX':'lookup_fields_processed'};if(!_0x583ce2||_0x59666c[_0x5b2834(0x152)](Object[_0x5b2834(0x128)](_0x583ce2)['length'],0x0))return{'processedRows':_0x24c6ba,'errors':[]};const _0x529889=[],_0x5aca76=new Map();for(const [_0x233394,_0x3900b3]of Object[_0x5b2834(0x14a)](_0x583ce2)){const {lookupTable:_0x3cb777,lookupColumn:_0x480376,lookupIdColumn:_0x4a4881}=_0x3900b3,_0x162df=_0x3cb777+':'+_0x480376+':'+_0x4a4881;if(!_0x5aca76[_0x5b2834(0x132)](_0x162df)){const _0x1b6a09=await this['loadLookupTable'](_0x3cb777,_0x480376,_0x4a4881);_0x5aca76['set'](_0x162df,_0x1b6a09);}}const _0x2d9aed=_0x24c6ba[_0x5b2834(0x124)]((_0x574392,_0x4f4c80)=>{const _0x1e89e4=_0x5b2834,_0x4267db={..._0x574392};for(const [_0x593348,_0x26bda4]of Object['entries'](_0x583ce2)){const {lookupTable:_0x394205,lookupColumn:_0x55ac6d,lookupIdColumn:_0x1dd597,targetField:_0x4e8525,required:_0xbb882e}=_0x26bda4,_0x4de583=_0x394205+':'+_0x55ac6d+':'+_0x1dd597,_0x5e5265=_0x5aca76[_0x1e89e4(0x120)](_0x4de583),_0x3a61f1=_0x574392[_0x593348];if((_0x59666c['tkNmj'](_0x3a61f1,null)||_0x59666c[_0x1e89e4(0x152)](_0x3a61f1,undefined)||_0x3a61f1==='')&&!_0xbb882e){_0x4267db[_0x4e8525]=null;continue;}const _0x4618a5=this['resolveLookupValue'](_0x3a61f1,_0x5e5265);_0x4618a5!==null?_0x4267db[_0x4e8525]=_0x4618a5:(_0xbb882e&&_0x529889[_0x1e89e4(0x148)]({'rowIndex':_0x4f4c80,'field':_0x593348,'value':_0x3a61f1,'targetField':_0x4e8525,'lookupTable':_0x394205,'message':_0x1e89e4(0x130)+_0x3a61f1+_0x1e89e4(0x11f)+_0x394205}),_0x4267db[_0x4e8525]=null);}return _0x4267db;});return logger['info']({'event':_0x59666c[_0x5b2834(0x141)],'totalRows':_0x24c6ba['length'],'errorCount':_0x529889['length'],'lookupFieldCount':Object[_0x5b2834(0x128)](_0x583ce2)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x2d9aed,'errors':_0x529889};}['getDistinctValues'](_0x10c205,_0x37aac8){const _0x545f80=a0_0x26ea7b,_0x2e3657={'blTQC':function(_0x4d2a53,_0x189d9c){return _0x4d2a53!==_0x189d9c;},'WjALM':function(_0x2a2629,_0x585075){return _0x2a2629!==_0x585075;},'AcYie':function(_0x5bdec5,_0x4eb6a8){return _0x5bdec5(_0x4eb6a8);}},_0x117e01=new Set();return _0x10c205[_0x545f80(0x153)](_0x5e7905=>{const _0x5f0ca2=_0x545f80,_0x4b4bc3=_0x5e7905[_0x37aac8];_0x2e3657[_0x5f0ca2(0x13d)](_0x4b4bc3,null)&&_0x4b4bc3!==undefined&&_0x2e3657[_0x5f0ca2(0x14f)](_0x4b4bc3,'')&&_0x117e01['add'](_0x2e3657[_0x5f0ca2(0x144)](String,_0x4b4bc3)[_0x5f0ca2(0x125)]());}),Array[_0x545f80(0x11e)](_0x117e01);}async[a0_0x26ea7b(0x11c)](_0x133def,_0x58c9fc){const _0x649a28=a0_0x26ea7b,_0x852958={'dyexl':function(_0x9397f9,_0xeaded5){return _0x9397f9!==_0xeaded5;},'uvEkG':function(_0x51c9b6,_0x4c5cbd){return _0x51c9b6===_0x4c5cbd;},'cvouz':function(_0x2a5645,_0x4e8cad){return _0x2a5645===_0x4e8cad;}};if(!_0x58c9fc||_0x852958['cvouz'](Object['keys'](_0x58c9fc)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x26d351=[],_0x1144e6={};for(const [_0x3946ab,_0x4ea9b6]of Object[_0x649a28(0x14a)](_0x58c9fc)){const {lookupTable:_0x4fd238,lookupColumn:_0x5711cf,lookupIdColumn:_0x3a3f98,required:_0x3240bd}=_0x4ea9b6,_0x6bb4a0=this[_0x649a28(0x127)](_0x133def,_0x3946ab),_0x4ef1a1=await this[_0x649a28(0x154)](_0x4fd238,_0x5711cf,_0x3a3f98),_0x32cde4=[],_0x5790a8=[];_0x6bb4a0['forEach'](_0x3aca50=>{const _0x1b2e1d=_0x649a28,_0x18efba=this[_0x1b2e1d(0x139)](_0x3aca50,_0x4ef1a1);_0x852958[_0x1b2e1d(0x12f)](_0x18efba,null)?_0x5790a8[_0x1b2e1d(0x148)](_0x3aca50):_0x32cde4['push'](_0x3aca50);});if(_0x32cde4['length']>0x0&&_0x3240bd){_0x26d351[_0x649a28(0x148)]({'field':_0x3946ab,'lookupTable':_0x4fd238,'invalidValues':_0x32cde4,'message':_0x32cde4['length']+_0x649a28(0x129)+_0x4fd238});const _0xe0a4a5=[];_0x4ef1a1['forEach']((_0x291624,_0x2f7643)=>{const _0x25b684=_0x649a28;if(_0x852958[_0x25b684(0x13c)](_0x2f7643,_0x2f7643['toLowerCase']()))return;_0xe0a4a5[_0x25b684(0x148)](_0x2f7643);}),_0x1144e6[_0x3946ab]={'invalidValues':_0x32cde4,'availableValues':_0xe0a4a5[_0x649a28(0x12d)](0x0,0x32)};}}return{'valid':_0x26d351['length']===0x0,'errors':_0x26d351,'suggestions':_0x1144e6};}}module['exports']=new LookupResolver();function a0_0x2df7(){const _0x5e3e5e=['DhjPBq','y2XLyxjdywnOzq','z2v0rgLZDgLUy3rwywX1zxm','A2v5CW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mNLSywDZzG','rejFvfLqrq','tg9VA3vWihrHyMXLigXVywrLzdOG','C2XPy2u','BgvUz3rO','zhLLEgW','vMfSDwuGiG','C2v0','AgfZ','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','ChjVy2vZC0XVB2T1CezPzwXKCW','odiWodi2nfPfA2HHzW','Dg9vChbLCKnHC2u','lI9KyI1VCMfJBgu','ndHOwNzICgq','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9mB3DLCKnHC2u','u0vmrunuia','DxzfA0C','yMXuuum','lI9SB2DNzxi','zxHLy3v0zvf1zxj5','mtqXnJm1n1fXtM5TvW','ww1zyvG','ogLctwPTsW','EwXYAhK','qwnzAwu','lI9KyI1TExnXBa','B3jHy2XL','Cg9ZDgDYzxnXBa','ChvZAa','r1bdALe','zw50CMLLCW','nda5mJGXowLpqM5Jva','iezst00G','Bg9VA3vWx3rHyMXLx2XVywrLza','mJiZmZKXmfzZA2L3sW','v2Pbte0','Bg9VA3vWq2fJAgu','tMPizwe','DgToBwO','zM9YrwfJAa','Bg9HzeXVB2T1CfrHyMXL','mtmWnJu2m2fju2fUuW','mte3nZKYnJbkBvj1sNO','DMfSAwrHDgvmB29RDxbwywX1zxm','zxjYB3i','zNjVBq','iIbUB3qGzM91BMqGAw4G','z2v0','y2XLyxi','BxLZCwW','mtiWndK4nu1bDLPtCW','BwfW'];a0_0x2df7=function(){return _0x5e3e5e;};return a0_0x2df7();}
1
+ const a0_0x99821b=a0_0x39f1;(function(_0x3aae49,_0xa11e56){const _0x4af3ac=a0_0x39f1,_0xf39509=_0x3aae49();while(!![]){try{const _0x454e37=-parseInt(_0x4af3ac(0x141))/0x1*(-parseInt(_0x4af3ac(0x14f))/0x2)+parseInt(_0x4af3ac(0x14b))/0x3+parseInt(_0x4af3ac(0x150))/0x4+-parseInt(_0x4af3ac(0x135))/0x5+parseInt(_0x4af3ac(0x15e))/0x6*(-parseInt(_0x4af3ac(0x13b))/0x7)+parseInt(_0x4af3ac(0x137))/0x8+-parseInt(_0x4af3ac(0x146))/0x9;if(_0x454e37===_0xa11e56)break;else _0xf39509['push'](_0xf39509['shift']());}catch(_0x2dd1a4){_0xf39509['push'](_0xf39509['shift']());}}}(a0_0x51d5,0x7b93e));const dbType=(process[a0_0x99821b(0x139)][a0_0x99821b(0x15f)]||'postgresql')['toLowerCase']();function a0_0x39f1(_0x3c0954,_0x385688){_0x3c0954=_0x3c0954-0x130;const _0x51d5c6=a0_0x51d5();let _0x39f112=_0x51d5c6[_0x3c0954];if(a0_0x39f1['cVobnP']===undefined){var _0x56153d=function(_0x11d370){const _0x131cf3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa320ea='',_0x1f6015='';for(let _0x3bb354=0x0,_0x22a4fb,_0x20200a,_0x2772e9=0x0;_0x20200a=_0x11d370['charAt'](_0x2772e9++);~_0x20200a&&(_0x22a4fb=_0x3bb354%0x4?_0x22a4fb*0x40+_0x20200a:_0x20200a,_0x3bb354++%0x4)?_0xa320ea+=String['fromCharCode'](0xff&_0x22a4fb>>(-0x2*_0x3bb354&0x6)):0x0){_0x20200a=_0x131cf3['indexOf'](_0x20200a);}for(let _0x20fd1e=0x0,_0x467344=_0xa320ea['length'];_0x20fd1e<_0x467344;_0x20fd1e++){_0x1f6015+='%'+('00'+_0xa320ea['charCodeAt'](_0x20fd1e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f6015);};a0_0x39f1['uQbQZC']=_0x56153d,a0_0x39f1['BujfDh']={},a0_0x39f1['cVobnP']=!![];}const _0x3e3ce3=_0x51d5c6[0x0],_0x24864a=_0x3c0954+_0x3e3ce3,_0x24c8af=a0_0x39f1['BujfDh'][_0x24864a];return!_0x24c8af?(_0x39f112=a0_0x39f1['uQbQZC'](_0x39f112),a0_0x39f1['BujfDh'][_0x24864a]=_0x39f112):_0x39f112=_0x24c8af,_0x39f112;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x99821b(0x13e));executeQuery=(_0x250f3b,_0x4840ee)=>oracleDb[a0_0x99821b(0x15d)](_0x250f3b,_0x4840ee);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x99821b(0x152));executeQuery=(_0x836a55,_0x3566e7)=>mysqlDb['executeQuery'](_0x836a55,_0x3566e7);}else executeQuery=require('./db')['executeQuery'];}function a0_0x51d5(){const _0x34e26f=['ndq5mJi2ouXAA0jIwa','CMvZB2X2zuXVB2T1CfzHBhvL','y2XLyxjdywnOzq','vMfSDwuGiG','C2XPy2u','mZu4nZuYEhrxugHK','ywrK','Dg9vChbLCKnHC2u','vNDnDeG','mtuYodrjC2HRA2S','mtK5nJaZmMjADu9HuW','BgvUz3rO','lI9KyI1TExnXBa','C2v0','ChjVy2vZC0XVB2T1CezPzwXKCW','tKfxy1u','zM9YrwfJAa','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','AgfZ','u0vmrunuia','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zNjVBq','zxHLy3v0zvf1zxj5','mZi5nZe5ohH4v3DHEG','rejFvfLqrq','Bg9HzeXVB2T1CfrHyMXL','BLHUBfu','tMvPu2e','lI9SB2DNzxi','DhjPBq','z2v0rgLZDgLUy3rwywX1zxm','yKPiCKC','BwvZC2fNzq','Bg9VA3vWq2fJAgu','nZC4ntyWzg9jC1vn','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','mZKWnJaWmfzIzfjmuW','A2v5CW','zw52','ChvZAa','n3nMywncvq','y2XLyxi','Aw5MBW','lI9KyI1VCMfJBgu','z2v0','z2XYr24','nZLMsuLJyMW','vKjWvxq','zgvIDwC','A0j0wMK','sMXxy3G'];a0_0x51d5=function(){return _0x34e26f;};return a0_0x51d5();}const {logger}=require(a0_0x99821b(0x163));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x99821b(0x148)](){const _0x19b6db=a0_0x99821b,_0x418eb6={'NeiSa':'lookup_cache_cleared'};this[_0x19b6db(0x134)][_0x19b6db(0x13c)](),logger[_0x19b6db(0x143)]({'event':_0x418eb6[_0x19b6db(0x162)]},_0x19b6db(0x15a));}async[a0_0x99821b(0x160)](_0x184bcc,_0x228e44,_0x199c7b){const _0x2478a8=a0_0x99821b,_0x63619f={'glrGn':function(_0x38af38,_0x8607e8){return _0x38af38!==_0x8607e8;},'JlWcx':function(_0x271513,_0x2bf422){return _0x271513(_0x2bf422);}},_0x49c31c=_0x184bcc+':'+_0x228e44+':'+_0x199c7b;if(this[_0x2478a8(0x134)]['has'](_0x49c31c))return this[_0x2478a8(0x134)][_0x2478a8(0x13f)](_0x49c31c);try{const _0x27ec18=_0x2478a8(0x159)+_0x199c7b+',\x20'+_0x228e44+'\x20FROM\x20'+_0x184bcc,_0x2269df=await executeQuery(_0x27ec18),_0x27089e=new Map();return _0x2269df[_0x2478a8(0x156)](_0x4c414b=>{const _0x665669=_0x2478a8,_0x3c7e28=_0x4c414b[_0x228e44]!==undefined?_0x4c414b[_0x228e44]:_0x4c414b[_0x228e44[_0x665669(0x14d)]()],_0x63140f=_0x63619f['glrGn'](_0x4c414b[_0x199c7b],undefined)?_0x4c414b[_0x199c7b]:_0x4c414b[_0x199c7b[_0x665669(0x14d)]()];_0x63619f['glrGn'](_0x3c7e28,null)&&_0x63619f[_0x665669(0x140)](_0x3c7e28,undefined)&&(_0x27089e[_0x665669(0x153)](_0x63619f[_0x665669(0x145)](String,_0x3c7e28)['toLowerCase']()[_0x665669(0x130)](),_0x63140f),_0x27089e['set'](String(_0x3c7e28)[_0x665669(0x130)](),_0x63140f));}),this['lookupCache'][_0x2478a8(0x153)](_0x49c31c,_0x27089e),logger[_0x2478a8(0x13d)]({'event':'lookup_table_loaded','table':_0x184bcc,'column':_0x228e44,'count':_0x2269df['length']},'Lookup\x20table\x20loaded:\x20'+_0x184bcc),_0x27089e;}catch(_0xaf7af8){logger['error']({'event':_0x2478a8(0x136),'table':_0x184bcc,'error':_0xaf7af8[_0x2478a8(0x133)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x184bcc);throw _0xaf7af8;}}['resolveLookupValue'](_0x28612c,_0x54b270){const _0x318373=a0_0x99821b;if(_0x28612c===null||_0x28612c===undefined||_0x28612c==='')return null;const _0x1847e8=String(_0x28612c)[_0x318373(0x130)]();if(_0x54b270[_0x318373(0x158)](_0x1847e8))return _0x54b270[_0x318373(0x13f)](_0x1847e8);const _0x2ce691=_0x1847e8['toLowerCase']();if(_0x54b270['has'](_0x2ce691))return _0x54b270['get'](_0x2ce691);return null;}async[a0_0x99821b(0x154)](_0x116b77,_0x2ffae7){const _0x1d1626=a0_0x99821b,_0x3ec064={'NAWcU':function(_0x2cdcfc,_0x14c995){return _0x2cdcfc===_0x14c995;},'LBBmZ':function(_0x30f692,_0x354d94){return _0x30f692===_0x354d94;},'BuzZj':function(_0x2fd77a,_0x5ae4ce){return _0x2fd77a!==_0x5ae4ce;},'VwMtH':_0x1d1626(0x157)};if(!_0x2ffae7||Object['keys'](_0x2ffae7)[_0x1d1626(0x151)]===0x0)return{'processedRows':_0x116b77,'errors':[]};const _0x2bc941=[],_0x4ea937=new Map();for(const [_0x5300d7,_0x350c1a]of Object['entries'](_0x2ffae7)){const {lookupTable:_0x106bee,lookupColumn:_0x29cda5,lookupIdColumn:_0x5f1919}=_0x350c1a,_0x23b201=_0x106bee+':'+_0x29cda5+':'+_0x5f1919;if(!_0x4ea937['has'](_0x23b201)){const _0x24999c=await this['loadLookupTable'](_0x106bee,_0x29cda5,_0x5f1919);_0x4ea937[_0x1d1626(0x153)](_0x23b201,_0x24999c);}}const _0x3b3d85=_0x116b77['map']((_0x368da3,_0x29f954)=>{const _0x16e38c=_0x1d1626,_0x588bc1={..._0x368da3};for(const [_0x44823b,_0x144b2a]of Object['entries'](_0x2ffae7)){const {lookupTable:_0x349497,lookupColumn:_0x57ec30,lookupIdColumn:_0x116348,targetField:_0x5af259,required:_0x1f5254}=_0x144b2a,_0x200456=_0x349497+':'+_0x57ec30+':'+_0x116348,_0x124d22=_0x4ea937['get'](_0x200456),_0x3596f0=_0x368da3[_0x44823b];if((_0x3ec064[_0x16e38c(0x155)](_0x3596f0,null)||_0x3ec064['LBBmZ'](_0x3596f0,undefined)||_0x3ec064['NAWcU'](_0x3596f0,''))&&!_0x1f5254){_0x588bc1[_0x5af259]=null;continue;}const _0x501165=this[_0x16e38c(0x147)](_0x3596f0,_0x124d22);_0x3ec064['BuzZj'](_0x501165,null)?_0x588bc1[_0x5af259]=_0x501165:(_0x1f5254&&_0x2bc941['push']({'rowIndex':_0x29f954,'field':_0x44823b,'value':_0x3596f0,'targetField':_0x5af259,'lookupTable':_0x349497,'message':_0x16e38c(0x149)+_0x3596f0+'\x22\x20not\x20found\x20in\x20'+_0x349497}),_0x588bc1[_0x5af259]=null);}return _0x588bc1;});return logger['info']({'event':_0x1d1626(0x15b),'totalRows':_0x116b77['length'],'errorCount':_0x2bc941[_0x1d1626(0x151)],'lookupFieldCount':Object['keys'](_0x2ffae7)[_0x1d1626(0x151)]},_0x3ec064[_0x1d1626(0x14e)]),{'processedRows':_0x3b3d85,'errors':_0x2bc941};}[a0_0x99821b(0x131)](_0x4e9819,_0x317af7){const _0x9f1971=a0_0x99821b,_0x2174bf={'bJHrG':function(_0xca08a3,_0x8cd8e){return _0xca08a3!==_0x8cd8e;},'VBpUt':function(_0x45ade2,_0x9ccde){return _0x45ade2!==_0x9ccde;},'PGCZO':function(_0x5eb937,_0x38a6eb){return _0x5eb937(_0x38a6eb);}},_0x3cddad=new Set();return _0x4e9819[_0x9f1971(0x156)](_0x459a6b=>{const _0xcb6b00=_0x9f1971,_0x6ef3ba=_0x459a6b[_0x317af7];_0x6ef3ba!==null&&_0x2174bf[_0xcb6b00(0x132)](_0x6ef3ba,undefined)&&_0x2174bf[_0xcb6b00(0x142)](_0x6ef3ba,'')&&_0x3cddad[_0xcb6b00(0x14c)](_0x2174bf['PGCZO'](String,_0x6ef3ba)[_0xcb6b00(0x130)]());}),Array[_0x9f1971(0x15c)](_0x3cddad);}async['validateLookupValues'](_0x3d7eb9,_0x31919f){const _0xba47cb=a0_0x99821b,_0xf7f55b={'nXnlU':function(_0x2d453c,_0x51a753){return _0x2d453c===_0x51a753;},'kBtZi':function(_0x579711,_0x51682a){return _0x579711>_0x51682a;}};if(!_0x31919f||_0xf7f55b['nXnlU'](Object[_0xba47cb(0x138)](_0x31919f)[_0xba47cb(0x151)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x29b9a0=[],_0x318f2c={};for(const [_0x101c39,_0x36169a]of Object['entries'](_0x31919f)){const {lookupTable:_0x29eb95,lookupColumn:_0x1c50c1,lookupIdColumn:_0x18e42e,required:_0x4b32cf}=_0x36169a,_0x57f0b6=this['getDistinctValues'](_0x3d7eb9,_0x101c39),_0x5936d9=await this['loadLookupTable'](_0x29eb95,_0x1c50c1,_0x18e42e),_0x564935=[],_0x63e55e=[];_0x57f0b6[_0xba47cb(0x156)](_0x115c79=>{const _0x446eb5=_0xba47cb,_0x30b05b=this['resolveLookupValue'](_0x115c79,_0x5936d9);_0x30b05b!==null?_0x63e55e['push'](_0x115c79):_0x564935[_0x446eb5(0x13a)](_0x115c79);});if(_0xf7f55b[_0xba47cb(0x144)](_0x564935[_0xba47cb(0x151)],0x0)&&_0x4b32cf){_0x29b9a0[_0xba47cb(0x13a)]({'field':_0x101c39,'lookupTable':_0x29eb95,'invalidValues':_0x564935,'message':_0x564935[_0xba47cb(0x151)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x29eb95});const _0x376e9e=[];_0x5936d9['forEach']((_0x4be1fc,_0xcbe9bd)=>{const _0x5b36cd=_0xba47cb;if(_0xcbe9bd===_0xcbe9bd['toLowerCase']())return;_0x376e9e[_0x5b36cd(0x13a)](_0xcbe9bd);}),_0x318f2c[_0x101c39]={'invalidValues':_0x564935,'availableValues':_0x376e9e[_0xba47cb(0x14a)](0x0,0x32)};}}return{'valid':_0xf7f55b[_0xba47cb(0x161)](_0x29b9a0['length'],0x0),'errors':_0x29b9a0,'suggestions':_0x318f2c};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0xcdb3(){const _0x56c900=['nZaYndiZnKnYvwnXBG','lwv4Cg9YDa','ndC2vu11wNzf','zgf0yxrHyMXLC1f1zxj5','y2XLyxjdywnOzq','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mZn0r3fuEvO','lI9SB2DNzxi','mZCWngnZrLbcvG','z2v0','C2v0','mJyYnJi0nwTxDwDoBq','ugf5Bg9HzcbUB3qGzM91BMq6ia','lMPZB24','Axnby3rPB25fBMfIBgvK','mZaXmZG5m1L1D3PvBG','ohjWAKDQta','nJq5mdK1DfnYt0DX','CMvHzezPBgu','AM9PBG','DgfIBgvoyw1L','Aw5MBW','lI4VlI4VCgf5Bg9Hza','nJe0mZrtu3noEwW','AgfZ','y2fJAgu','DxrMoa','uxr6Bfa','y29SDw1UrM9YBwf0CW','mtbZDMv4ExO','t1HgBM0','Bg9HzfbHEwXVywq','Cgf5Bg9HzerPCG','zxHWB3j0CW','ywn0Aw9U','nJK4ndi1nMfcEKfrwG','rhnfrg4','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','wMf4C1e','mZaYENHpDLfq'];a0_0xcdb3=function(){return _0x56c900;};return a0_0xcdb3();}const a0_0x3c4953=a0_0x489f;(function(_0x28a5fa,_0x474329){const _0x44326b=a0_0x489f,_0xf52e1c=_0x28a5fa();while(!![]){try{const _0x2ec70a=-parseInt(_0x44326b(0x106))/0x1*(parseInt(_0x44326b(0x125))/0x2)+parseInt(_0x44326b(0x109))/0x3+parseInt(_0x44326b(0x10e))/0x4*(-parseInt(_0x44326b(0x10f))/0x5)+-parseInt(_0x44326b(0x115))/0x6*(parseInt(_0x44326b(0x128))/0x7)+-parseInt(_0x44326b(0x121))/0x8+-parseInt(_0x44326b(0x10d))/0x9*(-parseInt(_0x44326b(0x11b))/0xa)+parseInt(_0x44326b(0x104))/0xb*(parseInt(_0x44326b(0x126))/0xc);if(_0x2ec70a===_0x474329)break;else _0xf52e1c['push'](_0xf52e1c['shift']());}catch(_0xe979cb){_0xf52e1c['push'](_0xf52e1c['shift']());}}}(a0_0xcdb3,0x8d24d));const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x3c4953(0x105));class PayloadLoader{constructor(){const _0x5d79b0=a0_0x3c4953;this[_0x5d79b0(0x11e)]=path[_0x5d79b0(0x111)](__dirname,_0x5d79b0(0x114)),this[_0x5d79b0(0x117)]=new Map();}async[a0_0x3c4953(0x11d)](_0x579739,_0x270dd7){const _0x872583=a0_0x3c4953,_0x3ae4a9={'ZaxsQ':'payload_loaded','OXFnm':'Payload\x20loaded\x20successfully','DsEDn':'payload_load_error'},_0xa87255=_0x579739+':'+_0x270dd7;if(this['cache']['has'](_0xa87255))return this['cache'][_0x872583(0x107)](_0xa87255);const _0x375714=path['join'](this['payloadDir'],_0x579739+'_'+_0x270dd7+_0x872583(0x10b));try{const _0x2cd47=await fs['readFile'](_0x375714,'utf8'),_0x3929b8=JSON['parse'](_0x2cd47);return this['cache'][_0x872583(0x108)](_0xa87255,_0x3929b8),logger['debug']({'event':_0x3ae4a9[_0x872583(0x124)],'project':_0x579739,'resource':_0x270dd7},_0x3ae4a9[_0x872583(0x11c)]),_0x3929b8;}catch(_0x13c7d6){logger['error']({'event':_0x3ae4a9[_0x872583(0x122)],'project':_0x579739,'resource':_0x270dd7,'error':_0x13c7d6['message']},_0x872583(0x103));throw new Error(_0x872583(0x10a)+_0x579739+'_'+_0x270dd7);}}async['loadPayloadByName'](_0x398722){const _0x2897e=a0_0x3c4953,_0x4c962d={'QtzlP':_0x2897e(0x118),'GPZjQ':'Payload\x20loaded\x20successfully\x20by\x20name','YbHCR':_0x2897e(0x123)},_0x43d399='payload:'+_0x398722;if(this['cache'][_0x2897e(0x116)](_0x43d399))return this['cache']['get'](_0x43d399);const _0x14dd7b=path[_0x2897e(0x111)](this[_0x2897e(0x11e)],_0x398722+_0x2897e(0x10b));try{const _0x1dd85d=await fs[_0x2897e(0x110)](_0x14dd7b,_0x4c962d[_0x2897e(0x119)]),_0x127c33=JSON['parse'](_0x1dd85d);return this['cache']['set'](_0x43d399,_0x127c33),logger['debug']({'event':'payload_loaded','payloadName':_0x398722},_0x4c962d['GPZjQ']),_0x127c33;}catch(_0x3e835f){logger['error']({'event':'payload_load_error','payloadName':_0x398722,'error':_0x3e835f['message']},_0x4c962d['YbHCR']);throw new Error(_0x2897e(0x10a)+_0x398722);}}[a0_0x3c4953(0x10c)](_0x3c09e5,_0x522950){const _0xb46230=a0_0x3c4953;return _0x3c09e5['action']&&_0x3c09e5[_0xb46230(0x120)][_0x522950]===!![];}['getExportConfig'](_0xda4829){const _0x4c37d0=a0_0x3c4953;return{'columns':_0xda4829['fieldName']||[],'filename':_0xda4829[_0x4c37d0(0x112)]['replace']('.','-')+_0x4c37d0(0x127),'datatablesQuery':_0xda4829[_0x4c37d0(0x129)]||null,'columnFormats':_0xda4829[_0x4c37d0(0x11a)]||null,'fieldLabels':_0xda4829['fieldLabels']||null};}[a0_0x3c4953(0x102)](){const _0x5f54f7=a0_0x3c4953;this['cache']['clear'](),logger[_0x5f54f7(0x113)]({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}function a0_0x489f(_0x420e8f,_0x9aac62){_0x420e8f=_0x420e8f-0x102;const _0xcdb3aa=a0_0xcdb3();let _0x489fd4=_0xcdb3aa[_0x420e8f];if(a0_0x489f['fvnxNn']===undefined){var _0x3d3128=function(_0x53d53f){const _0x21395a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2339d1='',_0x582520='';for(let _0x3ba316=0x0,_0x5aa98f,_0x9763bd,_0x236f00=0x0;_0x9763bd=_0x53d53f['charAt'](_0x236f00++);~_0x9763bd&&(_0x5aa98f=_0x3ba316%0x4?_0x5aa98f*0x40+_0x9763bd:_0x9763bd,_0x3ba316++%0x4)?_0x2339d1+=String['fromCharCode'](0xff&_0x5aa98f>>(-0x2*_0x3ba316&0x6)):0x0){_0x9763bd=_0x21395a['indexOf'](_0x9763bd);}for(let _0x4d4636=0x0,_0x5a4c13=_0x2339d1['length'];_0x4d4636<_0x5a4c13;_0x4d4636++){_0x582520+='%'+('00'+_0x2339d1['charCodeAt'](_0x4d4636)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x582520);};a0_0x489f['ShILfJ']=_0x3d3128,a0_0x489f['KRzXIC']={},a0_0x489f['fvnxNn']=!![];}const _0x29e7c7=_0xcdb3aa[0x0],_0xb7fed0=_0x420e8f+_0x29e7c7,_0x353a6b=a0_0x489f['KRzXIC'][_0xb7fed0];return!_0x353a6b?(_0x489fd4=a0_0x489f['ShILfJ'](_0x489fd4),a0_0x489f['KRzXIC'][_0xb7fed0]=_0x489fd4):_0x489fd4=_0x353a6b,_0x489fd4;}module[a0_0x3c4953(0x11f)]=new PayloadLoader();
1
+ const a0_0x9b9e39=a0_0x1616;function a0_0x1616(_0x5a2127,_0x32693b){_0x5a2127=_0x5a2127-0x13f;const _0x3dc95d=a0_0x3dc9();let _0x1616eb=_0x3dc95d[_0x5a2127];if(a0_0x1616['vbhECx']===undefined){var _0x28ebe7=function(_0x122cde){const _0x5b4dfe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e05a9='',_0x91c72a='';for(let _0xbbbc74=0x0,_0x42d3a9,_0x557a6d,_0x852ee4=0x0;_0x557a6d=_0x122cde['charAt'](_0x852ee4++);~_0x557a6d&&(_0x42d3a9=_0xbbbc74%0x4?_0x42d3a9*0x40+_0x557a6d:_0x557a6d,_0xbbbc74++%0x4)?_0x2e05a9+=String['fromCharCode'](0xff&_0x42d3a9>>(-0x2*_0xbbbc74&0x6)):0x0){_0x557a6d=_0x5b4dfe['indexOf'](_0x557a6d);}for(let _0x332d1c=0x0,_0x3e6def=_0x2e05a9['length'];_0x332d1c<_0x3e6def;_0x332d1c++){_0x91c72a+='%'+('00'+_0x2e05a9['charCodeAt'](_0x332d1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x91c72a);};a0_0x1616['rzoshu']=_0x28ebe7,a0_0x1616['QDwRsI']={},a0_0x1616['vbhECx']=!![];}const _0x3192d3=_0x3dc95d[0x0],_0x48e1cd=_0x5a2127+_0x3192d3,_0x3b849a=a0_0x1616['QDwRsI'][_0x48e1cd];return!_0x3b849a?(_0x1616eb=a0_0x1616['rzoshu'](_0x1616eb),a0_0x1616['QDwRsI'][_0x48e1cd]=_0x1616eb):_0x1616eb=_0x3b849a,_0x1616eb;}function a0_0x3dc9(){const _0x5d8a2a=['y2XLyxjdywnOzq','mtCXotHzzLjWzgK','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ndqWmgzSAezYEa','CMvHzezPBgu','zMLLBgroyw1L','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','odD0AwD5z2C','y29SDw1UrM9YBwf0CW','lMPZB24','zMLLBgrmywjLBhm','mtGZntq0DLrLCg9Y','DgfIBgvoyw1L','sMfmA2S','CMPdwMK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','AgfZ','nZi0odC0nhP5tK5NuG','CgfYC2u','BwvZC2fNzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mJmWodC4mMvsEK1UAq','y2fJAgu','Axnby3rPB25fBMfIBgvK','Cgf0Aa','Bufjuw8','zgvIDwC','DxrMoa','lI4VlI4VCgf5Bg9Hza','ugf5Bg9HzcbUB3qGzM91BMq6ia','zxHWB3j0CW','AM9PBG','lwv4Cg9YDa','DgvAsMy','mtm3odvvvxzqBLe','mZa5mgvhDhPWCG','zgf0yxrHyMXLC1f1zxj5','Cgf5Bg9Hzf9SB2fKzwq','mtG2otuYzg9OBvHX','ywn0Aw9U','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK'];a0_0x3dc9=function(){return _0x5d8a2a;};return a0_0x3dc9();}(function(_0x86dcdc,_0x2398d7){const _0x5b91bd=a0_0x1616,_0x739762=_0x86dcdc();while(!![]){try{const _0x4ef64f=-parseInt(_0x5b91bd(0x143))/0x1+-parseInt(_0x5b91bd(0x14b))/0x2*(-parseInt(_0x5b91bd(0x151))/0x3)+parseInt(_0x5b91bd(0x155))/0x4+-parseInt(_0x5b91bd(0x14d))/0x5*(parseInt(_0x5b91bd(0x144))/0x6)+-parseInt(_0x5b91bd(0x15f))/0x7+-parseInt(_0x5b91bd(0x147))/0x8+parseInt(_0x5b91bd(0x15b))/0x9;if(_0x4ef64f===_0x2398d7)break;else _0x739762['push'](_0x739762['shift']());}catch(_0x26c8e5){_0x739762['push'](_0x739762['shift']());}}}(a0_0x3dc9,0x447ad));const fs=require('fs')['promises'],path=require(a0_0x9b9e39(0x162)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x5a7bd3=a0_0x9b9e39;this['payloadDir']=path[_0x5a7bd3(0x140)](__dirname,_0x5a7bd3(0x166)),this['cache']=new Map();}async['loadPayload'](_0x57e956,_0x30f40b){const _0x580ee6=a0_0x9b9e39,_0x5c398e={'JaLkk':_0x580ee6(0x165),'dAnOC':_0x580ee6(0x14c),'rjCZi':'Failed\x20to\x20load\x20payload'},_0x21cfa5=_0x57e956+':'+_0x30f40b;if(this['cache']['has'](_0x21cfa5))return this['cache']['get'](_0x21cfa5);const _0x3b3fea=path['join'](this['payloadDir'],_0x57e956+'_'+_0x30f40b+_0x580ee6(0x153));try{const _0x97a3a6=await fs['readFile'](_0x3b3fea,_0x5c398e[_0x580ee6(0x157)]),_0x37e647=JSON[_0x580ee6(0x15c)](_0x97a3a6);return this[_0x580ee6(0x160)]['set'](_0x21cfa5,_0x37e647),logger[_0x580ee6(0x164)]({'event':_0x580ee6(0x146),'project':_0x57e956,'resource':_0x30f40b},_0x580ee6(0x159)),_0x37e647;}catch(_0x47054a){logger['error']({'event':_0x5c398e['dAnOC'],'project':_0x57e956,'resource':_0x30f40b,'error':_0x47054a[_0x580ee6(0x15d)]},_0x5c398e[_0x580ee6(0x158)]);throw new Error('Payload\x20not\x20found:\x20'+_0x57e956+'_'+_0x30f40b);}}async['loadPayloadByName'](_0x1e1c64){const _0x35b4d3=a0_0x9b9e39,_0x167980={'rjdqk':_0x35b4d3(0x146),'teZJf':'payload_load_error','mAIQo':_0x35b4d3(0x150)},_0x326ef6='payload:'+_0x1e1c64;if(this['cache'][_0x35b4d3(0x15a)](_0x326ef6))return this['cache']['get'](_0x326ef6);const _0x584d2c=path['join'](this['payloadDir'],_0x1e1c64+_0x35b4d3(0x153));try{const _0x5daf9a=await fs[_0x35b4d3(0x14e)](_0x584d2c,'utf8'),_0x27b4f7=JSON['parse'](_0x5daf9a);return this['cache']['set'](_0x326ef6,_0x27b4f7),logger['debug']({'event':_0x167980['rjdqk'],'payloadName':_0x1e1c64},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x27b4f7;}catch(_0x2b8f99){logger['error']({'event':_0x167980[_0x35b4d3(0x142)],'payloadName':_0x1e1c64,'error':_0x2b8f99['message']},_0x167980[_0x35b4d3(0x163)]);throw new Error(_0x35b4d3(0x167)+_0x1e1c64);}}[a0_0x9b9e39(0x161)](_0x2503ea,_0x440a8d){const _0x33e682=a0_0x9b9e39,_0x2af634={'PwMzv':function(_0x4651c3,_0x45653b){return _0x4651c3===_0x45653b;}};return _0x2503ea['action']&&_0x2af634['PwMzv'](_0x2503ea[_0x33e682(0x148)][_0x440a8d],!![]);}['getExportConfig'](_0xbe538b){const _0x718bf6=a0_0x9b9e39;return{'columns':_0xbe538b[_0x718bf6(0x14f)]||[],'filename':_0xbe538b[_0x718bf6(0x156)]['replace']('.','-')+_0x718bf6(0x141),'datatablesQuery':_0xbe538b[_0x718bf6(0x145)]||null,'columnFormats':_0xbe538b[_0x718bf6(0x152)]||null,'fieldLabels':_0xbe538b[_0x718bf6(0x154)]||null};}[a0_0x9b9e39(0x14a)](){const _0x315ead=a0_0x9b9e39;this[_0x315ead(0x160)]['clear'](),logger['info']({'event':_0x315ead(0x149)},_0x315ead(0x15e));}}module[a0_0x9b9e39(0x13f)]=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x4560a6,_0x46aaa4){var _0x2682ae=a0_0xa2ee,_0x42d3d8=_0x4560a6();while(!![]){try{var _0x4d1a20=-parseInt(_0x2682ae(0xda))/0x1*(-parseInt(_0x2682ae(0xde))/0x2)+parseInt(_0x2682ae(0xdc))/0x3+-parseInt(_0x2682ae(0xd9))/0x4+-parseInt(_0x2682ae(0xdd))/0x5*(parseInt(_0x2682ae(0xe0))/0x6)+-parseInt(_0x2682ae(0xdf))/0x7+-parseInt(_0x2682ae(0xdb))/0x8*(parseInt(_0x2682ae(0xd7))/0x9)+parseInt(_0x2682ae(0xd6))/0xa;if(_0x4d1a20===_0x46aaa4)break;else _0x42d3d8['push'](_0x42d3d8['shift']());}catch(_0xdba793){_0x42d3d8['push'](_0x42d3d8['shift']());}}}(a0_0x2370,0xeb036));function createResponse(_0x3d1165,_0x2f8806,_0x3470a1=null){var _0x5a7db5=a0_0xa2ee;return{'success':!![],'statusCode':_0x3d1165,'message':_0x2f8806,'data':_0x3470a1,'timestamp':new Date()[_0x5a7db5(0xd8)]()};}function a0_0x2370(){var _0x238296=['odKWota0mhzor3btBa','mta5nZiXmJHnuurmBKC','mJKZmdy5mdbSAMDeB2m','mZiZmZDIs3n3z1K','Dg9ju09tDhjPBMC','nte3mJa1mK5prev4ta','mtm0m09Zs2ToAG','mtaZmMjus1ztBG','ndaZmJe0n25LwgreAW','nw5er09isq','mJmWmNzxu1PYyW'];a0_0x2370=function(){return _0x238296;};return a0_0x2370();}function createError(_0x444bf5,_0x17b8a9,_0x5d1103=null){return{'success':![],'statusCode':_0x444bf5,'message':_0x17b8a9,'data':_0x5d1103,'timestamp':new Date()['toISOString']()};}function a0_0xa2ee(_0x17ce40,_0x11e156){_0x17ce40=_0x17ce40-0xd6;var _0x2370a2=a0_0x2370();var _0xa2ee73=_0x2370a2[_0x17ce40];if(a0_0xa2ee['BLnmjM']===undefined){var _0x31bc7d=function(_0x2cac84){var _0xc5a148='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3aeabf='',_0x427cba='';for(var _0x529db3=0x0,_0x264a9f,_0x254648,_0x274e93=0x0;_0x254648=_0x2cac84['charAt'](_0x274e93++);~_0x254648&&(_0x264a9f=_0x529db3%0x4?_0x264a9f*0x40+_0x254648:_0x254648,_0x529db3++%0x4)?_0x3aeabf+=String['fromCharCode'](0xff&_0x264a9f>>(-0x2*_0x529db3&0x6)):0x0){_0x254648=_0xc5a148['indexOf'](_0x254648);}for(var _0x45074c=0x0,_0x5e3732=_0x3aeabf['length'];_0x45074c<_0x5e3732;_0x45074c++){_0x427cba+='%'+('00'+_0x3aeabf['charCodeAt'](_0x45074c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x427cba);};a0_0xa2ee['CGmIhM']=_0x31bc7d,a0_0xa2ee['scgddJ']={},a0_0xa2ee['BLnmjM']=!![];}var _0x46645=_0x2370a2[0x0],_0x322c0a=_0x17ce40+_0x46645,_0x12c356=a0_0xa2ee['scgddJ'][_0x322c0a];return!_0x12c356?(_0xa2ee73=a0_0xa2ee['CGmIhM'](_0xa2ee73),a0_0xa2ee['scgddJ'][_0x322c0a]=_0xa2ee73):_0xa2ee73=_0x12c356,_0xa2ee73;}function createValidationError(_0x1db966,_0x2251f0){var _0x2f7d86=a0_0xa2ee;return{'success':![],'statusCode':0x190,'message':_0x1db966,'data':{'errors':_0x2251f0},'timestamp':new Date()[_0x2f7d86(0xd8)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';function a0_0x2036(_0x5907aa,_0x5d4b6b){_0x5907aa=_0x5907aa-0x74;var _0x578d6f=a0_0x578d();var _0x203616=_0x578d6f[_0x5907aa];if(a0_0x2036['lDlrFP']===undefined){var _0x2a01f8=function(_0xc6ada0){var _0x119cea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x28fd57='',_0x2d550c='';for(var _0x38269f=0x0,_0xd70e5c,_0x359e61,_0x3893b3=0x0;_0x359e61=_0xc6ada0['charAt'](_0x3893b3++);~_0x359e61&&(_0xd70e5c=_0x38269f%0x4?_0xd70e5c*0x40+_0x359e61:_0x359e61,_0x38269f++%0x4)?_0x28fd57+=String['fromCharCode'](0xff&_0xd70e5c>>(-0x2*_0x38269f&0x6)):0x0){_0x359e61=_0x119cea['indexOf'](_0x359e61);}for(var _0x55e590=0x0,_0x11dd30=_0x28fd57['length'];_0x55e590<_0x11dd30;_0x55e590++){_0x2d550c+='%'+('00'+_0x28fd57['charCodeAt'](_0x55e590)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d550c);};a0_0x2036['bUMgmb']=_0x2a01f8,a0_0x2036['fjqmuM']={},a0_0x2036['lDlrFP']=!![];}var _0xb48745=_0x578d6f[0x0],_0x2a0e0e=_0x5907aa+_0xb48745,_0x567139=a0_0x2036['fjqmuM'][_0x2a0e0e];return!_0x567139?(_0x203616=a0_0x2036['bUMgmb'](_0x203616),a0_0x2036['fjqmuM'][_0x2a0e0e]=_0x203616):_0x203616=_0x567139,_0x203616;}function a0_0x578d(){var _0x2f3a98=['Dg9ju09tDhjPBMC','mtm0mhfbDfv5sW','ndG1otqXohnuDMHhtG','ndC2odbhB1vWr00','mtaZnde5mdzNsMTrq3C','mJe5nZG2ohn5ALvpra','mJa3mLDOs3jurG','mtq5mda0A3Lgr3jV','nwjXv0H6Da','mZu2nte1neztu3fHtG','nZe3ndm1terWtMz1'];a0_0x578d=function(){return _0x2f3a98;};return a0_0x578d();}(function(_0x4a359b,_0x167b0b){var _0x2d29a4=a0_0x2036,_0x5b06a3=_0x4a359b();while(!![]){try{var _0x517005=-parseInt(_0x2d29a4(0x7c))/0x1+-parseInt(_0x2d29a4(0x7b))/0x2+parseInt(_0x2d29a4(0x74))/0x3+parseInt(_0x2d29a4(0x77))/0x4+-parseInt(_0x2d29a4(0x7a))/0x5*(-parseInt(_0x2d29a4(0x76))/0x6)+parseInt(_0x2d29a4(0x78))/0x7*(parseInt(_0x2d29a4(0x75))/0x8)+-parseInt(_0x2d29a4(0x79))/0x9*(parseInt(_0x2d29a4(0x7e))/0xa);if(_0x517005===_0x167b0b)break;else _0x5b06a3['push'](_0x5b06a3['shift']());}catch(_0x10a4fd){_0x5b06a3['push'](_0x5b06a3['shift']());}}}(a0_0x578d,0xe5248));function createResponse(_0x5668a2,_0x52da95,_0x5192e8=null){var _0x44c0e9=a0_0x2036;return{'success':!![],'statusCode':_0x5668a2,'message':_0x52da95,'data':_0x5192e8,'timestamp':new Date()[_0x44c0e9(0x7d)]()};}function createError(_0x15dae4,_0x28205d,_0x328022=null){return{'success':![],'statusCode':_0x15dae4,'message':_0x28205d,'data':_0x328022,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x46fdb8,_0x39648e){var _0x5c47f2=a0_0x2036;return{'success':![],'statusCode':0x190,'message':_0x46fdb8,'data':{'errors':_0x39648e},'timestamp':new Date()[_0x5c47f2(0x7d)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x2599b5=a0_0x11f2;(function(_0x36ebe6,_0xd98a6){const _0x2b6450=a0_0x11f2,_0x19b983=_0x36ebe6();while(!![]){try{const _0x9a21aa=parseInt(_0x2b6450(0xdc))/0x1+parseInt(_0x2b6450(0xf9))/0x2*(-parseInt(_0x2b6450(0xe7))/0x3)+parseInt(_0x2b6450(0xee))/0x4+parseInt(_0x2b6450(0xdf))/0x5+parseInt(_0x2b6450(0xe9))/0x6+-parseInt(_0x2b6450(0xcf))/0x7*(parseInt(_0x2b6450(0xf4))/0x8)+-parseInt(_0x2b6450(0xda))/0x9;if(_0x9a21aa===_0xd98a6)break;else _0x19b983['push'](_0x19b983['shift']());}catch(_0xbae7b9){_0x19b983['push'](_0x19b983['shift']());}}}(a0_0x1ca2,0xbd37c),require(a0_0x2599b5(0xe2))['config']());const amqp=require(a0_0x2599b5(0xf3)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x2599b5(0xf6)][a0_0x2599b5(0xd0)],EXCHANGE=process[a0_0x2599b5(0xf6)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env'][a0_0x2599b5(0xeb)],QUEUE=process['env'][a0_0x2599b5(0xf7)];async function createConnection(){const _0x2d735c=a0_0x2599b5,_0x3290eb={'wCaLd':function(_0x47b533,_0x341849){return _0x47b533(_0x341849);},'HoaUW':function(_0x4a4085,_0x24b81a){return _0x4a4085(_0x24b81a);}};try{const _0x66be40=await amqp[_0x2d735c(0xec)](RABBITMQ_URL);return console[_0x2d735c(0xe5)]('['+_0x3290eb[_0x2d735c(0xe4)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x66be40;}catch(_0x4c57c7){console[_0x2d735c(0xd8)]('['+_0x3290eb[_0x2d735c(0xce)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4c57c7['message']);throw _0x4c57c7;}}function a0_0x1ca2(){const _0x257f6e=['sg9HvvC','n3bcC0Hhsq','uKfcqKLutvfFvvjm','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','rKT0twy','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','yMLUzff1zxvL','ug9cwxu','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','zxjYB3i','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','ntC0mdG4nfvhA2Dyzq','BfPrruu','nJmWnJuYChLtvxjN','xsbfEgnOyw5Nzsa','zgLYzwn0','ndm4odKZnvj1AMPzCq','yxnZzxj0rxHJAgfUz2u','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','zg90zw52','vwfgqKy','D0nHtgq','Bg9N','zM91BMq','nti3nJCZD2HJq2T4','yxnZzxj0uxvLDwu','mZy5ody4ogngqxHnyW','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','uKfcqKLutvfFuK9vveLor19lrvK','y29UBMvJDa','twzeExG','mZa3nJm4nejsv2fuvq','BwvZC2fNzq','uxvLDwuG','xsbcAw5KAw5Nia','ENnquK4','yw1XCgXPyG','ntKXntq0r2P5BwLS','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zw52','uKfcqKLutvfFuvvfvuu','CxvLDwu','mtzJzKXqvfu','y3jLyxrLq2HHBM5LBa'];a0_0x1ca2=function(){return _0x257f6e;};return a0_0x1ca2();}function a0_0x11f2(_0x595218,_0x83fd53){_0x595218=_0x595218-0xcd;const _0x1ca239=a0_0x1ca2();let _0x11f247=_0x1ca239[_0x595218];if(a0_0x11f2['cgVPel']===undefined){var _0x125042=function(_0x562b5b){const _0x33cc28='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1544f1='',_0x287916='';for(let _0x26e346=0x0,_0x4812c1,_0xc5c3b7,_0x43f3f0=0x0;_0xc5c3b7=_0x562b5b['charAt'](_0x43f3f0++);~_0xc5c3b7&&(_0x4812c1=_0x26e346%0x4?_0x4812c1*0x40+_0xc5c3b7:_0xc5c3b7,_0x26e346++%0x4)?_0x1544f1+=String['fromCharCode'](0xff&_0x4812c1>>(-0x2*_0x26e346&0x6)):0x0){_0xc5c3b7=_0x33cc28['indexOf'](_0xc5c3b7);}for(let _0x2882fc=0x0,_0x588ab5=_0x1544f1['length'];_0x2882fc<_0x588ab5;_0x2882fc++){_0x287916+='%'+('00'+_0x1544f1['charCodeAt'](_0x2882fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x287916);};a0_0x11f2['LDYnlP']=_0x125042,a0_0x11f2['iEQfmV']={},a0_0x11f2['cgVPel']=!![];}const _0x20be3c=_0x1ca239[0x0],_0x137018=_0x595218+_0x20be3c,_0x4e2f3a=a0_0x11f2['iEQfmV'][_0x137018];return!_0x4e2f3a?(_0x11f247=a0_0x11f2['LDYnlP'](_0x11f247),a0_0x11f2['iEQfmV'][_0x137018]=_0x11f247):_0x11f247=_0x4e2f3a,_0x11f247;}async function createChannel(_0x47066a){const _0x122263=a0_0x2599b5;try{const _0x5d967a=await _0x47066a[_0x122263(0xcd)]();return console[_0x122263(0xe5)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5d967a;}catch(_0xff60cf){console[_0x122263(0xd8)]('['+formatDate(new Date())+_0x122263(0xd7)+_0xff60cf['message']);throw _0xff60cf;}}async function setupInfrastructure(_0x24c0c3){const _0x3de3b1=a0_0x2599b5,_0x2ccee5={'FKtMf':'retry-exchange','dgEAB':_0x3de3b1(0xde),'OQjEE':function(_0x1bf8e2,_0x4d3dc6){return _0x1bf8e2(_0x4d3dc6);},'foxlD':function(_0x3be3a0,_0x3c80af){return _0x3be3a0(_0x3c80af);},'MfDyx':function(_0x100d53,_0x4fbfb7){return _0x100d53===_0x4fbfb7;},'PoBYu':'created/ready','zsPRN':'inequivalent\x20arg','UaFBF':'x-dead-letter-routing-key'};try{await _0x24c0c3['assertExchange'](_0x2ccee5[_0x3de3b1(0xd3)],_0x2ccee5['dgEAB'],{'durable':!![],'autoDelete':![]}),console[_0x3de3b1(0xe5)]('['+_0x2ccee5['OQjEE'](formatDate,new Date())+_0x3de3b1(0xd1));}catch(_0x49732f){console[_0x3de3b1(0xd8)]('['+formatDate(new Date())+_0x3de3b1(0xd4),_0x49732f['message']);throw _0x49732f;}try{await _0x24c0c3[_0x3de3b1(0xe0)](EXCHANGE,_0x2ccee5['dgEAB'],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x3de3b1(0xdd)+EXCHANGE+'\x20created/ready');}catch(_0x4233da){console[_0x3de3b1(0xd8)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x4233da[_0x3de3b1(0xef)]);throw _0x4233da;}const _0x2fd34d=ROUTING_KEY+'_retry';try{const _0x325848={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x24c0c3[_0x3de3b1(0xe8)](_0x2fd34d,_0x325848),console[_0x3de3b1(0xe5)]('['+_0x2ccee5['foxlD'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x2fd34d+'\x20created/ready'),await _0x24c0c3[_0x3de3b1(0xd5)](_0x2fd34d,_0x2ccee5['FKtMf'],ROUTING_KEY),console[_0x3de3b1(0xe5)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x25a2e1){console[_0x3de3b1(0xd8)]('['+_0x2ccee5['OQjEE'](formatDate,new Date())+_0x3de3b1(0xea),_0x25a2e1[_0x3de3b1(0xef)]);throw _0x25a2e1;}try{const _0x28d6ac={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2ccee5['FKtMf'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x373bc6=await _0x24c0c3['assertQueue'](QUEUE,_0x28d6ac);console[_0x3de3b1(0xe5)]('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2ccee5[_0x3de3b1(0xed)](_0x373bc6[_0x3de3b1(0xf8)],QUEUE)?_0x2ccee5[_0x3de3b1(0xd6)]:_0x3de3b1(0xe6))+'\x20with\x20DLX'),await _0x24c0c3['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x3de3b1(0xf1)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x384861){if(_0x384861[_0x3de3b1(0xef)]['includes'](_0x2ccee5['zsPRN'])&&_0x384861[_0x3de3b1(0xef)]['includes'](_0x2ccee5[_0x3de3b1(0xe3)]))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x3de3b1(0xf0)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x3de3b1(0xd8)](_0x3de3b1(0xd2)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x384861[_0x3de3b1(0xef)]);throw _0x384861;}}}catch(_0x389338){if(!_0x389338[_0x3de3b1(0xef)]['includes'](_0x2ccee5[_0x3de3b1(0xf2)])){console['error']('['+formatDate(new Date())+_0x3de3b1(0xd9),_0x389338['message']);throw _0x389338;}process['exit'](0x1);}}async function closeConnection(_0x4e65be){const _0x27762f=a0_0x2599b5,_0x410a38={'lZQEE':function(_0xf3efcf,_0x5cbdaf){return _0xf3efcf(_0x5cbdaf);}};if(_0x4e65be)try{await _0x4e65be['close'](),console[_0x27762f(0xe5)]('['+_0x410a38[_0x27762f(0xdb)](formatDate,new Date())+_0x27762f(0xe1));}catch(_0x8b76f3){console['error']('['+formatDate(new Date())+_0x27762f(0xf5)+_0x8b76f3[_0x27762f(0xef)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ function a0_0x5b3a(_0x112027,_0x495922){_0x112027=_0x112027-0x66;const _0x518913=a0_0x5189();let _0x5b3a40=_0x518913[_0x112027];if(a0_0x5b3a['fLZHQK']===undefined){var _0x185d28=function(_0xa0484e){const _0x585f71='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ca09e='',_0x324c3a='';for(let _0x30e7ae=0x0,_0x5f3577,_0x27f9c0,_0x47d465=0x0;_0x27f9c0=_0xa0484e['charAt'](_0x47d465++);~_0x27f9c0&&(_0x5f3577=_0x30e7ae%0x4?_0x5f3577*0x40+_0x27f9c0:_0x27f9c0,_0x30e7ae++%0x4)?_0x3ca09e+=String['fromCharCode'](0xff&_0x5f3577>>(-0x2*_0x30e7ae&0x6)):0x0){_0x27f9c0=_0x585f71['indexOf'](_0x27f9c0);}for(let _0xeaf969=0x0,_0x27c6f3=_0x3ca09e['length'];_0xeaf969<_0x27c6f3;_0xeaf969++){_0x324c3a+='%'+('00'+_0x3ca09e['charCodeAt'](_0xeaf969)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x324c3a);};a0_0x5b3a['hwUsRl']=_0x185d28,a0_0x5b3a['mbljJM']={},a0_0x5b3a['fLZHQK']=!![];}const _0x3c6774=_0x518913[0x0],_0x10dae4=_0x112027+_0x3c6774,_0x153021=a0_0x5b3a['mbljJM'][_0x10dae4];return!_0x153021?(_0x5b3a40=a0_0x5b3a['hwUsRl'](_0x5b3a40),a0_0x5b3a['mbljJM'][_0x10dae4]=_0x5b3a40):_0x5b3a40=_0x153021,_0x5b3a40;}const a0_0x19cb35=a0_0x5b3a;(function(_0x29a00f,_0x36c50e){const _0x4ef8d0=a0_0x5b3a,_0x271bb1=_0x29a00f();while(!![]){try{const _0x444041=-parseInt(_0x4ef8d0(0x83))/0x1+-parseInt(_0x4ef8d0(0x8a))/0x2+parseInt(_0x4ef8d0(0x6e))/0x3*(parseInt(_0x4ef8d0(0x6c))/0x4)+parseInt(_0x4ef8d0(0x70))/0x5+-parseInt(_0x4ef8d0(0x7b))/0x6+-parseInt(_0x4ef8d0(0x79))/0x7*(-parseInt(_0x4ef8d0(0x7f))/0x8)+parseInt(_0x4ef8d0(0x7d))/0x9;if(_0x444041===_0x36c50e)break;else _0x271bb1['push'](_0x271bb1['shift']());}catch(_0x336369){_0x271bb1['push'](_0x271bb1['shift']());}}}(a0_0x5189,0x9895b),require(a0_0x19cb35(0x7c))['config']());const amqp=require(a0_0x19cb35(0x8c)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x19cb35(0x8d)],EXCHANGE=process['env'][a0_0x19cb35(0x71)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x19cb35(0x84)];async function createConnection(){const _0x36896b=a0_0x19cb35,_0x2483a8={'npbsD':function(_0x39c424,_0x5cdb38){return _0x39c424(_0x5cdb38);}};try{const _0x5d21f1=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x2483a8[_0x36896b(0x89)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5d21f1;}catch(_0x5b08fc){console[_0x36896b(0x8b)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5b08fc[_0x36896b(0x73)]);throw _0x5b08fc;}}function a0_0x5189(){const _0x376eff=['uKfcqKLutvfFrvHdsefor0u','uLvoA2C','BwvZC2fNzq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','y3jLyxrLzc9YzwfKEq','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','txnQAMe','mZiYn05fuKvyuq','ignYzwf0zwq','ntq5ntyZngTvB2zxuW','zg90zw52','otyXmZK3mwz3Bw50zG','tMLYBMy','mtCZndrMref2Ce8','wg5nvMC','Aw5LCxvPDMfSzw50igfYzW','ignYzwf0zwqVCMvHzhK','otC4nJrwz3jvweu','uKfcqKLutvfFuvvfvuu','Bg9N','xsbfuLjpuJOGuxvLDwuG','CMv0CNKTzxHJAgfUz2u','D1juqu8','BNbIC0q','mJmWmdaZnMXXBvDutq','zxjYB3i','yw1XCgXPyG','uKfcqKLutvfFvvjm','u1znqLC','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','zgLYzwn0','yxnZzxj0uxvLDwu','xsbrDwv1zsa','x3jLDhj5','vNPYBg8','y3jLyxrLq2HHBM5LBa','mJeXotz1DgTnB3y','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','mJGYDMTTv3fA','uxvLDwuG','mteXnte3nvHhthP5qG'];a0_0x5189=function(){return _0x376eff;};return a0_0x5189();}async function createChannel(_0x16dbda){const _0x2350de=a0_0x19cb35,_0x51e6eb={'npyya':function(_0x56686a,_0x301469){return _0x56686a(_0x301469);},'cbVQq':function(_0x36be53,_0x58ab95){return _0x36be53(_0x58ab95);}};try{const _0x2e4096=await _0x16dbda[_0x2350de(0x6b)]();return console['log']('['+_0x51e6eb['npyya'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x2e4096;}catch(_0x194e6e){console['error']('['+_0x51e6eb['cbVQq'](formatDate,new Date())+_0x2350de(0x75)+_0x194e6e[_0x2350de(0x73)]);throw _0x194e6e;}}async function setupInfrastructure(_0xe8229e){const _0x3937f1=a0_0x19cb35,_0x26cb4b={'Vzrlo':'retry-exchange','uxpzm':_0x3937f1(0x66),'RUNkg':function(_0x42c774,_0x208949){return _0x42c774(_0x208949);},'Msjja':function(_0x1d22b5,_0xe3b922){return _0x1d22b5(_0xe3b922);},'XnMVg':_0x3937f1(0x76),'Nirnf':function(_0x4faaf6,_0x410fd2){return _0x4faaf6(_0x410fd2);},'JVhuy':_0x3937f1(0x77),'wRTAO':'inequivalent\x20arg','SVMBW':function(_0x222ba7,_0x2f22e6){return _0x222ba7(_0x2f22e6);}};try{await _0xe8229e['assertExchange'](_0x26cb4b[_0x3937f1(0x6a)],_0x26cb4b['uxpzm'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x26cb4b['RUNkg'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x425fe1){console['error']('['+_0x26cb4b[_0x3937f1(0x78)](formatDate,new Date())+_0x3937f1(0x74),_0x425fe1['message']);throw _0x425fe1;}try{await _0xe8229e['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x3937f1(0x82));}catch(_0x925c08){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x925c08[_0x3937f1(0x73)]);throw _0x925c08;}const _0x48c26c=ROUTING_KEY+_0x3937f1(0x69);try{const _0x210dd6={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0xe8229e['assertQueue'](_0x48c26c,_0x210dd6),console[_0x3937f1(0x85)]('['+_0x26cb4b[_0x3937f1(0x72)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x48c26c+_0x3937f1(0x82)),await _0xe8229e['bindQueue'](_0x48c26c,_0x3937f1(0x87),ROUTING_KEY),console[_0x3937f1(0x85)]('['+_0x26cb4b['Msjja'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x3937f1(0x7a));}catch(_0x429f1c){console[_0x3937f1(0x8b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x429f1c[_0x3937f1(0x73)]);throw _0x429f1c;}try{const _0x597aaf={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x26cb4b[_0x3937f1(0x6a)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x349bbc=await _0xe8229e[_0x3937f1(0x67)](QUEUE,_0x597aaf);console['log']('['+_0x26cb4b['Msjja'](formatDate,new Date())+_0x3937f1(0x68)+QUEUE+'\x20'+(_0x349bbc['queue']===QUEUE?_0x26cb4b[_0x3937f1(0x80)]:'found')+'\x20with\x20DLX'),await _0xe8229e['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x26cb4b[_0x3937f1(0x7e)](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xc35f9){if(_0xc35f9['message']['includes'](_0x3937f1(0x81))&&_0xc35f9['message']['includes'](_0x26cb4b['JVhuy']))console[_0x3937f1(0x8b)]('\x0a['+formatDate(new Date())+_0x3937f1(0x86)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x3937f1(0x6f)+QUEUE+_0x3937f1(0x6d)),console['error'](_0x3937f1(0x8f)),process['exit'](0x1);else{console[_0x3937f1(0x8b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0xc35f9['message']);throw _0xc35f9;}}}catch(_0x3ae25d){if(!_0x3ae25d['message']['includes'](_0x26cb4b[_0x3937f1(0x88)])){console[_0x3937f1(0x8b)]('['+_0x26cb4b[_0x3937f1(0x8e)](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3ae25d[_0x3937f1(0x73)]);throw _0x3ae25d;}process['exit'](0x1);}}async function closeConnection(_0x1f0a83){const _0x1df7ff=a0_0x19cb35;if(_0x1f0a83)try{await _0x1f0a83['close'](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x4f40b8){console[_0x1df7ff(0x8b)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x4f40b8['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_0x3f8368=a0_0xa1f5;(function(_0x484ee2,_0x3a9b0a){const _0x989a68=a0_0xa1f5,_0x194392=_0x484ee2();while(!![]){try{const _0x36765e=parseInt(_0x989a68(0x13a))/0x1+parseInt(_0x989a68(0x149))/0x2*(parseInt(_0x989a68(0x136))/0x3)+parseInt(_0x989a68(0x13e))/0x4+-parseInt(_0x989a68(0x14b))/0x5+parseInt(_0x989a68(0x13d))/0x6*(-parseInt(_0x989a68(0x157))/0x7)+parseInt(_0x989a68(0x13c))/0x8+-parseInt(_0x989a68(0x154))/0x9;if(_0x36765e===_0x3a9b0a)break;else _0x194392['push'](_0x194392['shift']());}catch(_0x19f9ff){_0x194392['push'](_0x194392['shift']());}}}(a0_0x2c0c,0x9a111));function a0_0x2c0c(){const _0x8da09d=['y29UBMvJDa','mtiZnJa2yxr6u3PQ','z2v0q2XPzw50','BwvZC2fNzq','mtjsr0nJrfa','uKvesvnFrei','CMvKAxnFAw5PDf9LCNjVCG','Aw5MBW','mZCYnJiXufLkvu5o','lI9SB2DNzxi','ndK1mJe2ogTer1vJAG','mJG4veroEKD4','ndi2nZe5mNjzz0zvCG','D2fYBG','A2H4wgy','uKvesvnFueftu1DpuKq','CMvKAxnFy29UBMvJDgvK','z29vueu','BwLU','zw52','y2XPzw50','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nJy4nJHWEwHnr1e','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mti4nta5nuHnsKXywa','y2XVC2u','ue9orW','ENb3DgK','CgLUzW','EufmEva','AxndB25Uzwn0zwq','CMvKAxnFzgLZy29UBMvJDgvK','zgLZy29UBMvJDa','ndeWody0nfncruT4yG','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm'];a0_0x2c0c=function(){return _0x8da09d;};return a0_0x2c0c();}function a0_0xa1f5(_0x51e8db,_0x48d0bd){_0x51e8db=_0x51e8db-0x135;const _0x2c0c8a=a0_0x2c0c();let _0xa1f586=_0x2c0c8a[_0x51e8db];if(a0_0xa1f5['xGaRQJ']===undefined){var _0x442ce9=function(_0x326e3c){const _0x288f1a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x336c5='',_0x6fa88e='';for(let _0x224d7f=0x0,_0x58fe07,_0x469cab,_0xc180e9=0x0;_0x469cab=_0x326e3c['charAt'](_0xc180e9++);~_0x469cab&&(_0x58fe07=_0x224d7f%0x4?_0x58fe07*0x40+_0x469cab:_0x469cab,_0x224d7f++%0x4)?_0x336c5+=String['fromCharCode'](0xff&_0x58fe07>>(-0x2*_0x224d7f&0x6)):0x0){_0x469cab=_0x288f1a['indexOf'](_0x469cab);}for(let _0x33b6f8=0x0,_0x13ab2a=_0x336c5['length'];_0x33b6f8<_0x13ab2a;_0x33b6f8++){_0x6fa88e+='%'+('00'+_0x336c5['charCodeAt'](_0x33b6f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6fa88e);};a0_0xa1f5['jaYzLK']=_0x442ce9,a0_0xa1f5['MMHUNn']={},a0_0xa1f5['xGaRQJ']=!![];}const _0x775e09=_0x2c0c8a[0x0],_0x50412e=_0x51e8db+_0x775e09,_0x31b942=a0_0xa1f5['MMHUNn'][_0x50412e];return!_0x31b942?(_0xa1f586=a0_0xa1f5['jaYzLK'](_0xa1f586),a0_0xa1f5['MMHUNn'][_0x50412e]=_0xa1f586):_0xa1f586=_0x31b942,_0xa1f586;}const Redis=require('ioredis'),{logger}=require(a0_0x3f8368(0x13b));class RedisClient{constructor(){const _0x302902=a0_0x3f8368;this['client']=null,this[_0x302902(0x151)]=![];}['connect'](){const _0x2ffb7f=a0_0x3f8368,_0x3a2806={'SfQKZ':_0x2ffb7f(0x142),'zpwti':_0x2ffb7f(0x14a),'DyUzm':function(_0x26eb73,_0xa1f7ef,_0x1b2969){return _0x26eb73(_0xa1f7ef,_0x1b2969);},'goUPE':function(_0x1765ec,_0x1102f0,_0x35f242){return _0x1765ec(_0x1102f0,_0x35f242);},'khxXf':'error','yALyP':_0x2ffb7f(0x138),'MiJaa':_0x2ffb7f(0x155)};if(this[_0x2ffb7f(0x146)])return this['client'];try{return this[_0x2ffb7f(0x146)]=new Redis({'host':process[_0x2ffb7f(0x145)]['REDIS_HOST']||'localhost','port':_0x3a2806['DyUzm'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x2ffb7f(0x145)][_0x2ffb7f(0x141)]||undefined,'db':_0x3a2806[_0x2ffb7f(0x143)](parseInt,process['env'][_0x2ffb7f(0x137)],0xa)||0x0,'retryStrategy'(_0x1d2d01){const _0x3c0fb6=_0x2ffb7f,_0x4d723b=Math[_0x3c0fb6(0x144)](_0x1d2d01*0x32,0x7d0);return _0x4d723b;}}),this[_0x2ffb7f(0x146)]['on'](_0x2ffb7f(0x156),()=>{const _0x5e6425=_0x2ffb7f;this[_0x5e6425(0x151)]=!![],logger[_0x5e6425(0x139)]({'event':_0x3a2806['SfQKZ']},_0x3a2806[_0x5e6425(0x14e)]);}),this['client']['on'](_0x3a2806[_0x2ffb7f(0x140)],_0x5aea56=>{const _0x1e567c=_0x2ffb7f;this[_0x1e567c(0x151)]=![],logger['error']({'event':'redis_error','error':_0x5aea56[_0x1e567c(0x135)]},_0x1e567c(0x148)+_0x5aea56['message']);}),this[_0x2ffb7f(0x146)]['on'](_0x2ffb7f(0x14c),()=>{const _0x1ca307=_0x2ffb7f;this[_0x1ca307(0x151)]=![],logger[_0x1ca307(0x13f)]({'event':_0x1ca307(0x152)},'Redis\x20connection\x20closed');}),this['client'];}catch(_0x87cff3){logger['error']({'event':_0x3a2806[_0x2ffb7f(0x150)],'error':_0x87cff3[_0x2ffb7f(0x135)]},_0x3a2806['MiJaa']);throw _0x87cff3;}}[a0_0x3f8368(0x158)](){const _0x38921c=a0_0x3f8368;return!this[_0x38921c(0x146)]&&this['connect'](),this['client'];}async['ping'](_0x33c67d=0x1388){const _0x25e432=a0_0x3f8368;try{const _0x1643a1=this[_0x25e432(0x158)](),_0x58ea3e=await Promise['race']([_0x1643a1[_0x25e432(0x14f)](),new Promise((_0x256c1a,_0x14971f)=>setTimeout(()=>_0x14971f(new Error('Redis\x20PING\x20timeout')),_0x33c67d))]);return _0x58ea3e===_0x25e432(0x14d);}catch(_0x30a784){return![];}}async[a0_0x3f8368(0x153)](){const _0x483527=a0_0x3f8368;this['client']&&(await this[_0x483527(0x146)]['quit'](),this[_0x483527(0x146)]=null,this[_0x483527(0x151)]=![]);}[a0_0x3f8368(0x147)](){const _0x5040d1=a0_0x3f8368;this['client']&&(this[_0x5040d1(0x146)]['disconnect'](),this['client']=null,this['isConnected']=![]);}}module['exports']=new RedisClient();
1
+ function a0_0x3ecc(_0x1328b4,_0x2690a2){_0x1328b4=_0x1328b4-0xb1;const _0x56386e=a0_0x5638();let _0x3ecca1=_0x56386e[_0x1328b4];if(a0_0x3ecc['JeQgMX']===undefined){var _0x4b6dbb=function(_0x2f465a){const _0x2a916a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf120bc='',_0x54b5f9='';for(let _0x93890e=0x0,_0x1779dc,_0x239f0f,_0x3f759e=0x0;_0x239f0f=_0x2f465a['charAt'](_0x3f759e++);~_0x239f0f&&(_0x1779dc=_0x93890e%0x4?_0x1779dc*0x40+_0x239f0f:_0x239f0f,_0x93890e++%0x4)?_0xf120bc+=String['fromCharCode'](0xff&_0x1779dc>>(-0x2*_0x93890e&0x6)):0x0){_0x239f0f=_0x2a916a['indexOf'](_0x239f0f);}for(let _0x25b2ba=0x0,_0x1f4bcc=_0xf120bc['length'];_0x25b2ba<_0x1f4bcc;_0x25b2ba++){_0x54b5f9+='%'+('00'+_0xf120bc['charCodeAt'](_0x25b2ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54b5f9);};a0_0x3ecc['raeGdE']=_0x4b6dbb,a0_0x3ecc['lDKDxV']={},a0_0x3ecc['JeQgMX']=!![];}const _0x1afe86=_0x56386e[0x0],_0x47d5c0=_0x1328b4+_0x1afe86,_0x20ad7c=a0_0x3ecc['lDKDxV'][_0x47d5c0];return!_0x20ad7c?(_0x3ecca1=a0_0x3ecc['raeGdE'](_0x3ecca1),a0_0x3ecc['lDKDxV'][_0x47d5c0]=_0x3ecca1):_0x3ecca1=_0x20ad7c,_0x3ecca1;}const a0_0x58ce42=a0_0x3ecc;(function(_0xdf0b24,_0x148d86){const _0x5b3539=a0_0x3ecc,_0x217075=_0xdf0b24();while(!![]){try{const _0x49aee8=parseInt(_0x5b3539(0xcc))/0x1*(-parseInt(_0x5b3539(0xba))/0x2)+parseInt(_0x5b3539(0xbf))/0x3+parseInt(_0x5b3539(0xbd))/0x4*(parseInt(_0x5b3539(0xcd))/0x5)+-parseInt(_0x5b3539(0xb7))/0x6*(parseInt(_0x5b3539(0xc8))/0x7)+parseInt(_0x5b3539(0xc2))/0x8*(-parseInt(_0x5b3539(0xb3))/0x9)+-parseInt(_0x5b3539(0xc9))/0xa+-parseInt(_0x5b3539(0xbc))/0xb*(-parseInt(_0x5b3539(0xbe))/0xc);if(_0x49aee8===_0x148d86)break;else _0x217075['push'](_0x217075['shift']());}catch(_0x1fb07b){_0x217075['push'](_0x217075['shift']());}}}(a0_0x5638,0xb24dc));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x5638(){const _0x2c1633=['BwLU','nJy3mdG4qMXqs0HL','nta1otmWqM55CK1I','y2XVC2u','CMfJzq','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','BwvZC2fNzq','zgLZy29UBMvJDa','nJmWovv4vvjZyq','CMvKAxnFzxjYB3i','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uKvesvnFse9tva','nJqXnfrfsuLxtq','zw52','y2XPzw50','ngjUAKnUwa','y29UBMvJDa','mZmYmdeWogvlyLPSAG','mJbeAKTWB1K','mty4vgjgvM9K','mtC5nZKWmfPxD0HpCW','uMvKAxmGueLorYb0Aw1LB3v0','uKvesvnFue9sva','nZyYnevYq1zbtW','DfbhA2S','zxjYB3i','A1HMDxe','z2v0q2XPzw50','AxndB25Uzwn0zwq','odqWn1rbDunJDa','mtmXndm5mJbcv2f4z00','zxHWB3j0CW'];a0_0x5638=function(){return _0x2c1633;};return a0_0x5638();}class RedisClient{constructor(){const _0x308334=a0_0x3ecc;this['client']=null,this[_0x308334(0xc7)]=![];}[a0_0x58ce42(0xbb)](){const _0x2605d0=a0_0x58ce42,_0x4a026b={'dzHOj':'redis_connected','QQsSq':'Redis\x20connected\x20successfully','oakZn':_0x2605d0(0xb4),'BjKpY':_0x2605d0(0xd1),'kXfuq':'localhost','UsTlY':_0x2605d0(0xbb),'tPGkk':_0x2605d0(0xce),'lsykg':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this[_0x2605d0(0xb9)];try{return this['client']=new Redis({'host':process['env'][_0x2605d0(0xb6)]||_0x4a026b[_0x2605d0(0xc5)],'port':parseInt(process[_0x2605d0(0xb8)][_0x2605d0(0xc1)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x40781f){const _0xae781b=_0x2605d0,_0xedbb28=Math[_0xae781b(0xcb)](_0x40781f*0x32,0x7d0);return _0xedbb28;}}),this[_0x2605d0(0xb9)]['on'](_0x4a026b['UsTlY'],()=>{this['isConnected']=!![],logger['info']({'event':_0x4a026b['dzHOj']},_0x4a026b['QQsSq']);}),this[_0x2605d0(0xb9)]['on']('error',_0x87eab7=>{const _0x247067=_0x2605d0;this['isConnected']=![],logger['error']({'event':_0x4a026b['oakZn'],'error':_0x87eab7['message']},_0x247067(0xb5)+_0x87eab7[_0x247067(0xb1)]);}),this[_0x2605d0(0xb9)]['on'](_0x4a026b[_0x2605d0(0xc3)],()=>{const _0xfc073f=_0x2605d0;this[_0xfc073f(0xc7)]=![],logger['warn']({'event':'redis_disconnected'},_0x4a026b['BjKpY']);}),this[_0x2605d0(0xb9)];}catch(_0x328973){logger[_0x2605d0(0xc4)]({'event':'redis_init_error','error':_0x328973['message']},_0x4a026b['lsykg']);throw _0x328973;}}[a0_0x58ce42(0xc6)](){const _0x4a882a=a0_0x58ce42;return!this['client']&&this['connect'](),this[_0x4a882a(0xb9)];}async['ping'](_0x57064f=0x1388){const _0x5152d8=a0_0x58ce42,_0x4047f9={'TEbUE':'PONG'};try{const _0x1f41d2=this[_0x5152d8(0xc6)](),_0x53af8a=await Promise[_0x5152d8(0xcf)]([_0x1f41d2['ping'](),new Promise((_0x494dbd,_0x38c158)=>setTimeout(()=>_0x38c158(new Error(_0x5152d8(0xc0))),_0x57064f))]);return _0x53af8a===_0x4047f9['TEbUE'];}catch(_0x3ca7a4){return![];}}async[a0_0x58ce42(0xb2)](){const _0x2b3513=a0_0x58ce42;this[_0x2b3513(0xb9)]&&(await this[_0x2b3513(0xb9)]['quit'](),this['client']=null,this[_0x2b3513(0xc7)]=![]);}[a0_0x58ce42(0xd0)](){const _0x3ccc44=a0_0x58ce42;this['client']&&(this['client'][_0x3ccc44(0xb2)](),this[_0x3ccc44(0xb9)]=null,this[_0x3ccc44(0xc7)]=![]);}}module[a0_0x58ce42(0xca)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x279715=a0_0x3331;(function(_0x4080da,_0x21cffc){const _0x5451d0=a0_0x3331,_0x59bcac=_0x4080da();while(!![]){try{const _0x239373=parseInt(_0x5451d0(0x189))/0x1+-parseInt(_0x5451d0(0x185))/0x2*(-parseInt(_0x5451d0(0x180))/0x3)+parseInt(_0x5451d0(0x186))/0x4+parseInt(_0x5451d0(0x18a))/0x5+parseInt(_0x5451d0(0x18c))/0x6+parseInt(_0x5451d0(0x190))/0x7+-parseInt(_0x5451d0(0x17f))/0x8*(parseInt(_0x5451d0(0x17b))/0x9);if(_0x239373===_0x21cffc)break;else _0x59bcac['push'](_0x59bcac['shift']());}catch(_0x5480c0){_0x59bcac['push'](_0x59bcac['shift']());}}}(a0_0x456d,0x6825a));function a0_0x456d(){const _0x10b736=['DxbKyxrLsM9I','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','ntq0nJCZr0LYvhro','mZy3mdu3nvvgCNzRwq','CgfYC2u','mteWnZm5mff1AxnMvW','C2v0sM9I','ChvZAa','z2v0qwXSsM9ICW','mJaWmZuZm3Lksg5fqG','z2v0','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','BwvZC2fNzq','DhrS','zw52','zxHWB3j0CW','uvrms0i','zxjYB3i','x3bYzwzPEa','CMvKAxnFz2v0x2vYCM9Y','mtC3nZvvqxHztMS','CMvKAxnFz2v0ywXSx2vYCM9Y','A2v5CW','z2v0q2XPzw50','mtaWndbxDuTrrNu','nda0n3DjqMXowG','C3rYAw5NAwz5','CMvKAxnFzgvSzxrLx2vYCM9Y','ChjLzML4','zgvSzxrLsM9I','mteWmMXKqM5MAW','mty0otm2mfrXqKjUyG'];a0_0x456d=function(){return _0x10b736;};return a0_0x456d();}const redisClient=require('./redis-client'),{logger}=require('./logger');function a0_0x3331(_0x2f8af4,_0x592513){_0x2f8af4=_0x2f8af4-0x17a;const _0x456dff=a0_0x456d();let _0x333194=_0x456dff[_0x2f8af4];if(a0_0x3331['XNFylE']===undefined){var _0x251a58=function(_0x49ded2){const _0x31e776='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x452951='',_0x3bf16c='';for(let _0x569fae=0x0,_0xd7f185,_0x2b23d6,_0x24a89a=0x0;_0x2b23d6=_0x49ded2['charAt'](_0x24a89a++);~_0x2b23d6&&(_0xd7f185=_0x569fae%0x4?_0xd7f185*0x40+_0x2b23d6:_0x2b23d6,_0x569fae++%0x4)?_0x452951+=String['fromCharCode'](0xff&_0xd7f185>>(-0x2*_0x569fae&0x6)):0x0){_0x2b23d6=_0x31e776['indexOf'](_0x2b23d6);}for(let _0x2d7102=0x0,_0x29a1ab=_0x452951['length'];_0x2d7102<_0x29a1ab;_0x2d7102++){_0x3bf16c+='%'+('00'+_0x452951['charCodeAt'](_0x2d7102)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bf16c);};a0_0x3331['bwgDxb']=_0x251a58,a0_0x3331['tjwWxq']={},a0_0x3331['XNFylE']=!![];}const _0x27b618=_0x456dff[0x0],_0x5e8aac=_0x2f8af4+_0x27b618,_0x25524f=a0_0x3331['tjwWxq'][_0x5e8aac];return!_0x25524f?(_0x333194=a0_0x3331['bwgDxb'](_0x333194),a0_0x3331['tjwWxq'][_0x5e8aac]=_0x333194):_0x333194=_0x25524f,_0x333194;}class RedisHelper{constructor(){const _0x1fc212=a0_0x3331;this[_0x1fc212(0x199)]=null,this[_0x1fc212(0x194)]=parseInt(process[_0x1fc212(0x195)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x371ead=a0_0x3331;if(!this[_0x371ead(0x199)]){const _0xf3ddb2=process[_0x371ead(0x195)]['RESTFORGE_PROJECT_NAME']||'default';this['_prefix']='restforge:'+_0xf3ddb2+':export:';}return this['_prefix'];}async[a0_0x279715(0x18d)](_0x37d6aa,_0x2c2434){const _0x1c01aa=a0_0x279715,_0x2c7c00={'dLhBE':'redis_set_error','QTLKB':_0x1c01aa(0x192)};try{const _0x5ce3a2=redisClient[_0x1c01aa(0x17e)](),_0x256cdf=''+this[_0x1c01aa(0x183)]+_0x37d6aa;return await _0x5ce3a2['setex'](_0x256cdf,this[_0x1c01aa(0x194)],JSON[_0x1c01aa(0x181)](_0x2c2434)),!![];}catch(_0xcd1506){return logger[_0x1c01aa(0x198)]({'event':_0x2c7c00['dLhBE'],'jobId':_0x37d6aa,'error':_0xcd1506[_0x1c01aa(0x193)]},_0x2c7c00[_0x1c01aa(0x197)]),![];}}async['getJob'](_0xfe2515){const _0x195183=a0_0x279715;try{const _0x31ca95=redisClient[_0x195183(0x17e)](),_0x5ad638=''+this[_0x195183(0x183)]+_0xfe2515,_0x523bf1=await _0x31ca95[_0x195183(0x191)](_0x5ad638);return _0x523bf1?JSON[_0x195183(0x18b)](_0x523bf1):null;}catch(_0x16b389){return logger['error']({'event':_0x195183(0x17a),'jobId':_0xfe2515,'error':_0x16b389[_0x195183(0x193)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x279715(0x187)](_0x4c1888,_0x3ea154){const _0x55d553=a0_0x279715,_0x4e02eb=await this['getJob'](_0x4c1888);if(!_0x4e02eb)return![];const _0x5cc8b4={..._0x4e02eb,..._0x3ea154};return await this[_0x55d553(0x18d)](_0x4c1888,_0x5cc8b4);}async[a0_0x279715(0x184)](_0x5f19e5){const _0x4dba63=a0_0x279715,_0x81429a={'fInwx':_0x4dba63(0x182)};try{const _0x15ecf6=redisClient['getClient'](),_0x33fa03=''+this[_0x4dba63(0x183)]+_0x5f19e5;return await _0x15ecf6['del'](_0x33fa03),!![];}catch(_0x73bdaa){return logger['error']({'event':_0x81429a['fInwx'],'jobId':_0x5f19e5,'error':_0x73bdaa['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x279715(0x18f)](){const _0x1e27c9=a0_0x279715,_0x39f2e2={'zsbka':_0x1e27c9(0x17c)};try{const _0x2751f7=redisClient['getClient'](),_0xc7d184=await _0x2751f7[_0x1e27c9(0x17d)](this[_0x1e27c9(0x183)]+'*'),_0x3538bc=[];for(const _0x5b8d8c of _0xc7d184){const _0x451ef2=await _0x2751f7['get'](_0x5b8d8c);_0x451ef2&&_0x3538bc[_0x1e27c9(0x18e)](JSON[_0x1e27c9(0x18b)](_0x451ef2));}return _0x3538bc;}catch(_0x7a7d12){return logger[_0x1e27c9(0x198)]({'event':_0x39f2e2['zsbka'],'error':_0x7a7d12[_0x1e27c9(0x193)]},_0x1e27c9(0x188)),[];}}}module[a0_0x279715(0x196)]=new RedisHelper();
1
+ const a0_0x2b3248=a0_0x5c11;(function(_0x4dfb5c,_0xb7ec59){const _0x5060b4=a0_0x5c11,_0x32e185=_0x4dfb5c();while(!![]){try{const _0x444ac5=-parseInt(_0x5060b4(0x105))/0x1*(parseInt(_0x5060b4(0x112))/0x2)+-parseInt(_0x5060b4(0x103))/0x3+parseInt(_0x5060b4(0x11a))/0x4*(parseInt(_0x5060b4(0x100))/0x5)+parseInt(_0x5060b4(0x107))/0x6+-parseInt(_0x5060b4(0x10d))/0x7*(parseInt(_0x5060b4(0x113))/0x8)+parseInt(_0x5060b4(0xf9))/0x9+-parseInt(_0x5060b4(0x10c))/0xa*(parseInt(_0x5060b4(0x10f))/0xb);if(_0x444ac5===_0xb7ec59)break;else _0x32e185['push'](_0x32e185['shift']());}catch(_0x4a9fa0){_0x32e185['push'](_0x32e185['shift']());}}}(a0_0x2d44,0x61d14));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x1f8e3e={'CcxGX':function(_0x1f1156,_0x4bfe1b,_0x5acd1f){return _0x1f1156(_0x4bfe1b,_0x5acd1f);}};this['_prefix']=null,this['ttl']=_0x1f8e3e['CcxGX'](parseInt,process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x289cff=a0_0x5c11,_0xf9b97f={'tmDSZ':_0x289cff(0x115)};if(!this[_0x289cff(0x106)]){const _0x25ff10=process['env'][_0x289cff(0x119)]||_0xf9b97f[_0x289cff(0x108)];this[_0x289cff(0x106)]=_0x289cff(0xfb)+_0x25ff10+_0x289cff(0x111);}return this[_0x289cff(0x106)];}async[a0_0x2b3248(0x116)](_0x5e571b,_0x4205cb){const _0x5254dd=a0_0x2b3248,_0x2b854b={'QxYFc':_0x5254dd(0xfc)};try{const _0x5cc51d=redisClient[_0x5254dd(0x114)](),_0x49a858=''+this[_0x5254dd(0xfd)]+_0x5e571b;return await _0x5cc51d['setex'](_0x49a858,this[_0x5254dd(0x118)],JSON['stringify'](_0x4205cb)),!![];}catch(_0x38ff62){return logger[_0x5254dd(0x10e)]({'event':_0x2b854b['QxYFc'],'jobId':_0x5e571b,'error':_0x38ff62[_0x5254dd(0x109)]},_0x5254dd(0x10b)),![];}}async[a0_0x2b3248(0x117)](_0x567b5e){const _0x1dc48e=a0_0x2b3248;try{const _0x4cbb96=redisClient['getClient'](),_0x54df76=''+this['prefix']+_0x567b5e,_0x31168f=await _0x4cbb96['get'](_0x54df76);return _0x31168f?JSON[_0x1dc48e(0xfa)](_0x31168f):null;}catch(_0x2ab399){return logger[_0x1dc48e(0x10e)]({'event':'redis_get_error','jobId':_0x567b5e,'error':_0x2ab399[_0x1dc48e(0x109)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x149b7c,_0x28cf8d){const _0x4ca701=a0_0x2b3248,_0x495d22=await this[_0x4ca701(0x117)](_0x149b7c);if(!_0x495d22)return![];const _0xfc613f={..._0x495d22,..._0x28cf8d};return await this['setJob'](_0x149b7c,_0xfc613f);}async[a0_0x2b3248(0x110)](_0x3b7595){const _0x1aaf5a=a0_0x2b3248,_0x257e9c={'MHzxX':'redis_delete_error'};try{const _0x5c2382=redisClient['getClient'](),_0x4b11b2=''+this[_0x1aaf5a(0xfd)]+_0x3b7595;return await _0x5c2382[_0x1aaf5a(0x104)](_0x4b11b2),!![];}catch(_0x367e4d){return logger['error']({'event':_0x257e9c['MHzxX'],'jobId':_0x3b7595,'error':_0x367e4d['message']},_0x1aaf5a(0xff)),![];}}async[a0_0x2b3248(0xfe)](){const _0x25ee0d=a0_0x2b3248,_0x5655cf={'vdUOL':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x46b890=redisClient['getClient'](),_0x9bd89d=await _0x46b890['keys'](this['prefix']+'*'),_0x41a6cc=[];for(const _0x9bb1 of _0x9bd89d){const _0x43cce7=await _0x46b890['get'](_0x9bb1);_0x43cce7&&_0x41a6cc['push'](JSON['parse'](_0x43cce7));}return _0x41a6cc;}catch(_0x2cbf56){return logger[_0x25ee0d(0x10e)]({'event':_0x25ee0d(0x10a),'error':_0x2cbf56[_0x25ee0d(0x109)]},_0x5655cf[_0x25ee0d(0x101)]),[];}}}function a0_0x5c11(_0x16f133,_0x3f6ed2){_0x16f133=_0x16f133-0xf9;const _0x2d441c=a0_0x2d44();let _0x5c116e=_0x2d441c[_0x16f133];if(a0_0x5c11['KBXmlN']===undefined){var _0x2efde0=function(_0x13ab35){const _0x25692b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x208b95='',_0x1da790='';for(let _0x1b0440=0x0,_0x30ba20,_0x5915b9,_0x3df8d8=0x0;_0x5915b9=_0x13ab35['charAt'](_0x3df8d8++);~_0x5915b9&&(_0x30ba20=_0x1b0440%0x4?_0x30ba20*0x40+_0x5915b9:_0x5915b9,_0x1b0440++%0x4)?_0x208b95+=String['fromCharCode'](0xff&_0x30ba20>>(-0x2*_0x1b0440&0x6)):0x0){_0x5915b9=_0x25692b['indexOf'](_0x5915b9);}for(let _0x37cdf5=0x0,_0xc31780=_0x208b95['length'];_0x37cdf5<_0xc31780;_0x37cdf5++){_0x1da790+='%'+('00'+_0x208b95['charCodeAt'](_0x37cdf5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1da790);};a0_0x5c11['sLvPho']=_0x2efde0,a0_0x5c11['pXGSoa']={},a0_0x5c11['KBXmlN']=!![];}const _0x41c452=_0x2d441c[0x0],_0x243fed=_0x16f133+_0x41c452,_0x280899=a0_0x5c11['pXGSoa'][_0x243fed];return!_0x280899?(_0x5c116e=a0_0x5c11['sLvPho'](_0x5c116e),a0_0x5c11['pXGSoa'][_0x243fed]=_0x5c116e):_0x5c116e=_0x280899,_0x5c116e;}module[a0_0x2b3248(0x102)]=new RedisHelper();function a0_0x2d44(){const _0x464d4d=['mJC1sKDLy0nX','zgvSzxrLsM9I','oMv4Cg9YDdO','nJa4nJb1BKvsuKu','mte1mZmXmNHMqvjyyG','z2v0q2XPzw50','zgvMyxvSDa','C2v0sM9I','z2v0sM9I','DhrS','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','otaZodGWqwDxEMzR','mteZntqZmuD3BxbZCG','CgfYC2u','CMvZDgzVCMDLoG','CMvKAxnFC2v0x2vYCM9Y','ChjLzML4','z2v0qwXSsM9ICW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mtvLBvL5AMO','DMrvt0W','zxHWB3j0CW','mZy4nZu0vhrts3rM','zgvS','mtbmwvjLCMO','x3bYzwzPEa','ndy3mte3ngHYCfvXzG','Dg1eu1O','BwvZC2fNzq','CMvKAxnFz2v0ywXSx2vYCM9Y','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','mtm1nJbYt0vmBM4','mZvzuK5LB2i','zxjYB3i'];a0_0x2d44=function(){return _0x464d4d;};return a0_0x2d44();}