@restforgejs/platform 5.0.3 → 5.0.9

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 (182) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +1 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/cli/processor/create.js +1 -1
  7. package/generators/lib/dbschema-kit/apply-executor.js +15 -1
  8. package/generators/lib/dbschema-kit/connection.js +17 -2
  9. package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
  10. package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
  11. package/generators/lib/dbschema-kit/dialect/postgres.js +3 -0
  12. package/generators/lib/dbschema-kit/dialect/sqlite.js +2 -0
  13. package/generators/lib/dbschema-kit/emitters/alter-table.js +7 -0
  14. package/generators/lib/dbschema-kit/emitters/create-table.js +31 -3
  15. package/generators/lib/dbschema-kit/statement-modifier.js +12 -2
  16. package/generators/lib/payload/payload-runner.js +44 -2
  17. package/generators/lib/payload/schema-diff.js +31 -1
  18. package/generators/lib/templates/dashboard-catalog.js +1 -1
  19. package/generators/lib/templates/db-connection-env.js +1 -1
  20. package/generators/lib/templates/dbschema-catalog.js +1 -1
  21. package/generators/lib/templates/field-validation-catalog.js +1 -1
  22. package/generators/lib/templates/mysql-template.js +1 -1
  23. package/generators/lib/templates/oracle-template.js +1 -1
  24. package/generators/lib/templates/postgres-template.js +1 -1
  25. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  26. package/generators/lib/templates/sqlite-template.js +1 -1
  27. package/generators/lib/utils/database-introspector.js +421 -7
  28. package/generators/lib/validators/argument-validator.js +2 -2
  29. package/integrity-manifest.json +18 -18
  30. package/package.json +4 -2
  31. package/scripts/verify-integrity.js +1 -1
  32. package/server.js +1 -1
  33. package/src/components/handlers/adjust_handler.js +1 -1
  34. package/src/components/handlers/audit_handler.js +1 -1
  35. package/src/components/handlers/delete_handler.js +1 -1
  36. package/src/components/handlers/export_handler.js +1 -1
  37. package/src/components/handlers/import_handler.js +1 -1
  38. package/src/components/handlers/insert_handler.js +1 -1
  39. package/src/components/handlers/update_handler.js +1 -1
  40. package/src/components/handlers/upload_handler.js +1 -1
  41. package/src/components/handlers/workflow_handler.js +1 -1
  42. package/src/components/integrations/webhook.js +1 -1
  43. package/src/consumers/baseConsumer.js +1 -1
  44. package/src/consumers/declarativeMapper.js +1 -1
  45. package/src/consumers/handlers/apiHandler.js +1 -1
  46. package/src/consumers/handlers/consoleHandler.js +1 -1
  47. package/src/consumers/handlers/databaseHandler.js +1 -1
  48. package/src/consumers/handlers/index.js +1 -1
  49. package/src/consumers/handlers/kafkaHandler.js +1 -1
  50. package/src/consumers/index.js +1 -1
  51. package/src/consumers/messageTransformer.js +1 -1
  52. package/src/consumers/validator.js +1 -1
  53. package/src/core/db/dialect/base-dialect.js +1 -1
  54. package/src/core/db/dialect/index.js +1 -1
  55. package/src/core/db/dialect/mysql-dialect.js +1 -1
  56. package/src/core/db/dialect/oracle-dialect.js +1 -1
  57. package/src/core/db/dialect/postgres-dialect.js +1 -1
  58. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  59. package/src/core/db/flatten-helper.js +1 -1
  60. package/src/core/db/query-builder-error.js +1 -1
  61. package/src/core/db/query-builder.js +1 -1
  62. package/src/core/db/relation-helper.js +1 -1
  63. package/src/core/handlers/delete_handler.js +1 -1
  64. package/src/core/handlers/insert_handler.js +1 -1
  65. package/src/core/handlers/update_handler.js +1 -1
  66. package/src/core/models/base-model.js +1 -1
  67. package/src/core/utils/cache-manager.js +1 -1
  68. package/src/core/utils/component-engine.js +1 -1
  69. package/src/core/utils/context-builder.js +1 -1
  70. package/src/core/utils/datetime-formatter.js +1 -1
  71. package/src/core/utils/datetime-parser.js +1 -1
  72. package/src/core/utils/db.js +1 -1
  73. package/src/core/utils/logger.js +1 -1
  74. package/src/core/utils/payload-loader.js +1 -1
  75. package/src/core/utils/security-checks.js +1 -1
  76. package/src/middleware/body-options.js +1 -1
  77. package/src/middleware/cors.js +1 -1
  78. package/src/middleware/idempotency.js +1 -1
  79. package/src/middleware/rate-limiter.js +1 -1
  80. package/src/middleware/request-logger.js +1 -1
  81. package/src/middleware/security-headers.js +1 -1
  82. package/src/models/base-model-mysql.js +1 -1
  83. package/src/models/base-model-oracle.js +1 -1
  84. package/src/models/base-model-sqlite.js +1 -1
  85. package/src/models/base-model.js +1 -1
  86. package/src/pro/caching/redis-client.js +1 -1
  87. package/src/pro/caching/redis-helper.js +1 -1
  88. package/src/pro/consumers/baseConsumer.js +1 -1
  89. package/src/pro/consumers/declarativeMapper.js +1 -1
  90. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  91. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  92. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  93. package/src/pro/consumers/handlers/index.js +1 -1
  94. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  95. package/src/pro/consumers/index.js +1 -1
  96. package/src/pro/consumers/messageTransformer.js +1 -1
  97. package/src/pro/consumers/validator.js +1 -1
  98. package/src/pro/database/base-model-mysql.js +1 -1
  99. package/src/pro/database/base-model-oracle.js +1 -1
  100. package/src/pro/database/base-model-sqlite.js +1 -1
  101. package/src/pro/database/db-mysql.js +1 -1
  102. package/src/pro/database/db-oracle.js +1 -1
  103. package/src/pro/database/db-sqlite.js +1 -1
  104. package/src/pro/excel/excel-generator.js +1 -1
  105. package/src/pro/excel/excel-parser.js +1 -1
  106. package/src/pro/excel/export-service.js +1 -1
  107. package/src/pro/excel/export_handler.js +1 -1
  108. package/src/pro/excel/import-service.js +1 -1
  109. package/src/pro/excel/import-validator.js +1 -1
  110. package/src/pro/excel/import_handler.js +1 -1
  111. package/src/pro/excel/upsert-builder.js +1 -1
  112. package/src/pro/idgen/idgen-routes.js +1 -1
  113. package/src/pro/integrations/lookup-resolver.js +1 -1
  114. package/src/pro/integrations/upload-handler-v2.js +1 -1
  115. package/src/pro/integrations/upload-handler.js +1 -1
  116. package/src/pro/integrations/webhook.js +1 -1
  117. package/src/pro/locking/lock-routes.js +1 -1
  118. package/src/pro/locking/resource-lock-manager.js +1 -1
  119. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  120. package/src/pro/messaging/kafkaService.js +1 -1
  121. package/src/pro/messaging/messagehubService.js +1 -1
  122. package/src/pro/messaging/rabbitmqService.js +1 -1
  123. package/src/pro/scheduler/job-manager.js +1 -1
  124. package/src/pro/scheduler/job-routes.js +1 -1
  125. package/src/pro/scheduler/job-validator.js +1 -1
  126. package/src/pro/storage/base-storage-provider.js +1 -1
  127. package/src/pro/storage/file-metadata-helper.js +1 -1
  128. package/src/pro/storage/index.js +1 -1
  129. package/src/pro/storage/local-storage-provider.js +1 -1
  130. package/src/pro/storage/s3-storage-provider.js +1 -1
  131. package/src/pro/storage/upload-cleanup-job.js +1 -1
  132. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  133. package/src/pro/storage/upload-pending-tracker.js +1 -1
  134. package/src/pro/websocket/broadcast-helper.js +1 -1
  135. package/src/pro/websocket/index.js +1 -1
  136. package/src/pro/websocket/livesync-server.js +1 -1
  137. package/src/pro/websocket/ws-broadcaster.js +1 -1
  138. package/src/services/export-service.js +1 -1
  139. package/src/services/import-service.js +1 -1
  140. package/src/services/kafkaConsumerService.js +1 -1
  141. package/src/services/kafkaService.js +1 -1
  142. package/src/services/messagehubService.js +1 -1
  143. package/src/services/rabbitmqService.js +1 -1
  144. package/src/utils/cache-invalidation-registry.js +1 -1
  145. package/src/utils/cache-manager.js +1 -1
  146. package/src/utils/component-engine.js +1 -1
  147. package/src/utils/config-extractor.js +1 -1
  148. package/src/utils/consumerLogger.js +1 -1
  149. package/src/utils/context-builder.js +1 -1
  150. package/src/utils/dashboard-helpers.js +1 -1
  151. package/src/utils/dateHelper.js +1 -1
  152. package/src/utils/datetime-formatter.js +1 -1
  153. package/src/utils/datetime-parser.js +1 -1
  154. package/src/utils/db-bootstrap.js +1 -1
  155. package/src/utils/db-mysql.js +1 -1
  156. package/src/utils/db-oracle.js +1 -1
  157. package/src/utils/db-sqlite.js +1 -1
  158. package/src/utils/db.js +1 -1
  159. package/src/utils/demo-generator.js +1 -1
  160. package/src/utils/excel-generator.js +1 -1
  161. package/src/utils/excel-parser.js +1 -1
  162. package/src/utils/file-watcher.js +1 -1
  163. package/src/utils/id-generator.js +1 -1
  164. package/src/utils/idempotency-manager.js +1 -1
  165. package/src/utils/import-validator.js +1 -1
  166. package/src/utils/license-client.js +1 -1
  167. package/src/utils/lock-manager.js +1 -1
  168. package/src/utils/logger.js +1 -1
  169. package/src/utils/lookup-resolver.js +1 -1
  170. package/src/utils/payload-loader.js +1 -1
  171. package/src/utils/processor-response.js +1 -1
  172. package/src/utils/rabbitmq.js +1 -1
  173. package/src/utils/redis-client.js +1 -1
  174. package/src/utils/redis-helper.js +1 -1
  175. package/src/utils/request-scope.js +1 -1
  176. package/src/utils/security-checks.js +1 -1
  177. package/src/utils/service-resolver.js +1 -1
  178. package/src/utils/shutdown-coordinator.js +1 -1
  179. package/src/utils/trusted-keys.js +1 -1
  180. package/src/utils/upload-handler.js +1 -1
  181. package/src/utils/upsert-builder.js +1 -1
  182. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x33dda7=a0_0x1fe1;(function(_0x41e424,_0x40ae2d){const _0x10d295=a0_0x1fe1,_0x57d5d0=_0x41e424();while(!![]){try{const _0x505745=parseInt(_0x10d295(0x134))/0x1*(parseInt(_0x10d295(0x127))/0x2)+parseInt(_0x10d295(0x14e))/0x3*(-parseInt(_0x10d295(0x15f))/0x4)+-parseInt(_0x10d295(0x153))/0x5*(-parseInt(_0x10d295(0x16a))/0x6)+parseInt(_0x10d295(0x15d))/0x7+parseInt(_0x10d295(0x122))/0x8*(-parseInt(_0x10d295(0x168))/0x9)+-parseInt(_0x10d295(0x116))/0xa+-parseInt(_0x10d295(0x163))/0xb;if(_0x505745===_0x40ae2d)break;else _0x57d5d0['push'](_0x57d5d0['shift']());}catch(_0x19b352){_0x57d5d0['push'](_0x57d5d0['shift']());}}}(a0_0x5127,0x2f5c5));const redisClient=require(a0_0x33dda7(0x148)),{logger}=require(a0_0x33dda7(0x160)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0xd79f29=a0_0x33dda7;this['_prefix']=null,this['_enabled']=null,this[_0xd79f29(0x117)]=null,this[_0xd79f29(0x166)]=null,this[_0xd79f29(0x14c)]=null,this['_strategy']=null,this[_0xd79f29(0x13e)]=null,this[_0xd79f29(0x123)]=![];}[a0_0x33dda7(0x15a)](){const _0x285a4a=a0_0x33dda7,_0x16ad21={'MOzbc':_0x285a4a(0x13b),'JFaHY':'true','OtFCg':function(_0xd5209a,_0x332750,_0x16df5d){return _0xd5209a(_0x332750,_0x16df5d);},'fLgit':_0x285a4a(0x16b)};this['_prefix']=_0x16ad21['MOzbc'],this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x16ad21['JFaHY'],this[_0x285a4a(0x117)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=parseInt(process['env'][_0x285a4a(0x12b)],0xa)||0x3,this['_retryDelay']=_0x16ad21['OtFCg'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x285a4a(0x141)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x285a4a(0x12d),this[_0x285a4a(0x13e)]=_0x285a4a(0x144)+process['pid'],this['_initialized']=!![],logger[_0x285a4a(0x15b)]({'event':_0x16ad21['fLgit'],'enabled':this[_0x285a4a(0x157)],'strategy':this['_strategy'],'ttl':this[_0x285a4a(0x117)],'retryCount':this[_0x285a4a(0x166)],'retryDelay':this[_0x285a4a(0x14c)],'workerId':this[_0x285a4a(0x13e)]},_0x285a4a(0x155)+this['_enabled']+_0x285a4a(0x14a)+this[_0x285a4a(0x141)]);}[a0_0x33dda7(0x14f)](){const _0x2a4da4=a0_0x33dda7;!this['_initialized']&&this[_0x2a4da4(0x15a)]();}get['prefix'](){const _0x3fa677=a0_0x33dda7;return this['_ensureInitialized'](),this[_0x3fa677(0x120)];}get['enabled'](){const _0x232a6b=a0_0x33dda7;return this[_0x232a6b(0x14f)](),this[_0x232a6b(0x157)];}get[a0_0x33dda7(0x11c)](){const _0x165cbc=a0_0x33dda7;return this[_0x165cbc(0x14f)](),this['_defaultTTL'];}get[a0_0x33dda7(0x140)](){const _0x374ad0=a0_0x33dda7;return this[_0x374ad0(0x14f)](),this['_retryCount'];}get['retryDelay'](){const _0x5167c7=a0_0x33dda7;return this[_0x5167c7(0x14f)](),this['_retryDelay'];}get['strategy'](){const _0x28a276=a0_0x33dda7;return this['_ensureInitialized'](),this[_0x28a276(0x141)];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x2170d4){const _0x34046b=a0_0x33dda7,{module:_0x12a1be,endpoint:_0x49187b,lockType:_0x5b6360,recordId:_0x612ab}=_0x2170d4;if(_0x612ab)return''+this['prefix']+_0x12a1be+':'+_0x49187b+':'+_0x612ab+':'+_0x5b6360;return''+this[_0x34046b(0x12e)]+_0x12a1be+':'+_0x49187b+':'+_0x5b6360;}['generateLockValue'](){const _0x66b239=a0_0x33dda7;return this[_0x66b239(0x124)]+':'+uuidv4()+':'+Date['now']();}async[a0_0x33dda7(0x152)](_0x22f3b3){const _0x35936d=a0_0x33dda7,_0x3e2446={'KXmVP':_0x35936d(0x12a),'lPVsK':function(_0x1fb3fb,_0x1d11fe){return _0x1fb3fb<_0x1d11fe;},'uASee':_0x35936d(0x132),'iWPga':'read_lock_waiting','aRJam':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','KDVCR':_0x35936d(0x115),'fXnZx':_0x35936d(0x150)};if(!this[_0x35936d(0x138)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x200cb2=this['buildLockKey']({..._0x22f3b3,'lockType':_0x3e2446[_0x35936d(0x154)]}),_0x6fcf70=this[_0x35936d(0x121)]({..._0x22f3b3,'lockType':'read'}),_0x1ee7d1=this[_0x35936d(0x159)]();try{const _0x49d096=redisClient['getClient']();for(let _0x4bc8a8=0x0;_0x3e2446[_0x35936d(0x143)](_0x4bc8a8,this['retryCount']);_0x4bc8a8++){const _0x3f1d2c=await _0x49d096['get'](_0x200cb2);if(!_0x3f1d2c){await _0x49d096['incr'](_0x6fcf70),await _0x49d096['expire'](_0x6fcf70,this[_0x35936d(0x11c)]);const _0x4d359c=_0x6fcf70+':'+_0x1ee7d1;return await _0x49d096[_0x35936d(0x13a)](_0x4d359c,this['defaultTTL'],_0x1ee7d1),logger[_0x35936d(0x15e)]({'event':_0x35936d(0x11b),'key':_0x6fcf70,'value':_0x1ee7d1},_0x3e2446['uASee']),{'success':!![],'lockValue':_0x1ee7d1,'lockKey':_0x4d359c};}logger['debug']({'event':_0x3e2446['iWPga'],'writeKey':_0x200cb2,'attempt':_0x4bc8a8},_0x3e2446[_0x35936d(0x145)]),await this[_0x35936d(0x11e)](this['retryDelay']*Math[_0x35936d(0x133)](0x2,_0x4bc8a8));}return logger['warn']({'event':_0x3e2446[_0x35936d(0x135)],'key':_0x6fcf70},_0x3e2446[_0x35936d(0x14d)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40f037){return logger['error']({'event':'read_lock_error','error':_0x40f037['message']},_0x35936d(0x137)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x33dda7(0x11a)](_0x878322){const _0x17c5e9=a0_0x33dda7,_0x1bb7a9={'RxbZx':function(_0x25a8ae,_0x65aea3){return _0x25a8ae===_0x65aea3;},'acfYW':function(_0x1b7f3d,_0x2f6b8d){return _0x1b7f3d===_0x2f6b8d;},'GjKEq':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','dEEVo':function(_0x43b720,_0x247f77){return _0x43b720(_0x247f77);},'fVVtf':function(_0x30f57e,_0x169d97){return _0x30f57e===_0x169d97;},'gvXiX':_0x17c5e9(0x136)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x18c770=this['buildLockKey']({..._0x878322,'lockType':'write'}),_0x2009d4=this[_0x17c5e9(0x121)]({..._0x878322,'lockType':_0x17c5e9(0x167)}),_0x3f1c3a=this['generateLockValue']();try{const _0x554842=redisClient['getClient']();if(_0x1bb7a9[_0x17c5e9(0x12f)](this['strategy'],_0x17c5e9(0x118))){const _0x918e49=await _0x554842[_0x17c5e9(0x14b)](_0x18c770,_0x3f1c3a,'EX',this['defaultTTL'],'NX');if(_0x1bb7a9['acfYW'](_0x918e49,'OK'))return logger[_0x17c5e9(0x15e)]({'event':_0x17c5e9(0x15c),'key':_0x18c770,'value':_0x3f1c3a,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x3f1c3a,'lockKey':_0x18c770};return logger['debug']({'event':_0x17c5e9(0x12c),'key':_0x18c770},_0x1bb7a9['GjKEq']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x429605=0x0;_0x429605<this['retryCount'];_0x429605++){const [_0x497d93,_0x552a09]=await Promise['all']([_0x554842[_0x17c5e9(0x149)](_0x2009d4),_0x554842['get'](_0x18c770)]);if(!_0x552a09&&(!_0x497d93||_0x1bb7a9[_0x17c5e9(0x142)](_0x1bb7a9['dEEVo'](parseInt,_0x497d93),0x0))){const _0x617c5=await _0x554842['set'](_0x18c770,_0x3f1c3a,'EX',this[_0x17c5e9(0x11c)],'NX');if(_0x1bb7a9[_0x17c5e9(0x130)](_0x617c5,'OK'))return logger['debug']({'event':_0x17c5e9(0x15c),'key':_0x18c770,'value':_0x3f1c3a,'strategy':'retry'},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0x3f1c3a,'lockKey':_0x18c770};}logger[_0x17c5e9(0x15e)]({'event':_0x17c5e9(0x169),'writeKey':_0x18c770,'readCount':_0x497d93,'attempt':_0x429605},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this[_0x17c5e9(0x158)]*Math['pow'](0x2,_0x429605));}return logger[_0x17c5e9(0x147)]({'event':'write_lock_timeout','key':_0x18c770},_0x17c5e9(0x162)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x198cab){return logger['error']({'event':_0x1bb7a9[_0x17c5e9(0x11d)],'error':_0x198cab[_0x17c5e9(0x125)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x33dda7(0x151)](_0x476788,_0x354af7){const _0x36f677=a0_0x33dda7,_0x2928e6={'afPuD':_0x36f677(0x165),'XLoMn':_0x36f677(0x13c),'prwzY':'write_lock_released','vqIih':_0x36f677(0x114),'gYufi':'Cannot\x20release\x20lock\x20-\x20not\x20owner','IhZXU':'Lock\x20release\x20error'};if(!this['enabled']||!_0x476788)return!![];try{const _0x3c134c=redisClient['getClient']();if(_0x476788['includes'](_0x2928e6['afPuD'])){await _0x3c134c['del'](_0x476788);const _0x980f5a=_0x476788[_0x36f677(0x156)](0x0,_0x476788['lastIndexOf'](':')),_0x2674e3=await _0x3c134c['get'](_0x980f5a);return _0x2674e3&&parseInt(_0x2674e3)>0x0&&await _0x3c134c[_0x36f677(0x13d)](_0x980f5a),logger[_0x36f677(0x15e)]({'event':_0x2928e6[_0x36f677(0x11f)],'key':_0x476788},_0x36f677(0x131)),!![];}const _0x29070b='\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',_0x2548e9=await _0x3c134c[_0x36f677(0x13f)](_0x29070b,0x1,_0x476788,_0x354af7);if(_0x2548e9===0x1)return logger['debug']({'event':_0x2928e6['prwzY'],'key':_0x476788},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x2928e6['vqIih'],'key':_0x476788},_0x2928e6[_0x36f677(0x126)]),![];}catch(_0x501f50){return logger[_0x36f677(0x139)]({'event':'lock_release_error','key':_0x476788,'error':_0x501f50['message']},_0x2928e6['IhZXU']),![];}}async['extendLock'](_0x309b59,_0x1a52d6,_0x10c437=null){const _0x35860a=a0_0x33dda7,_0x44976d={'tqIlM':function(_0x5921ba,_0x50233f){return _0x5921ba===_0x50233f;},'pxrml':_0x35860a(0x161),'RoJyO':'Lock\x20TTL\x20extended','nqQkD':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x309b59)return!![];try{const _0x1ff237=redisClient[_0x35860a(0x119)](),_0x53d7e9='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x4f4fdc=await _0x1ff237['eval'](_0x53d7e9,0x1,_0x309b59,_0x1a52d6,_0x10c437||this['defaultTTL']);if(_0x44976d['tqIlM'](_0x4f4fdc,0x1))return logger[_0x35860a(0x15e)]({'event':_0x44976d[_0x35860a(0x164)],'key':_0x309b59,'ttl':_0x10c437||this['defaultTTL']},_0x44976d['RoJyO']),!![];return![];}catch(_0x23caa3){return logger[_0x35860a(0x139)]({'event':'lock_extend_error','key':_0x309b59,'error':_0x23caa3[_0x35860a(0x125)]},_0x44976d['nqQkD']),![];}}[a0_0x33dda7(0x129)](){return this['enabled'];}['sleep'](_0x17e445){return new Promise(_0x4d175b=>setTimeout(_0x4d175b,_0x17e445));}async[a0_0x33dda7(0x128)](_0x7fe435){const _0x598ed6=a0_0x33dda7,_0x25b089={'lxxbK':function(_0x4ec4a7,_0x231175){return _0x4ec4a7(_0x231175);}};if(!this['enabled'])return{'enabled':![]};try{const _0x56067b=redisClient['getClient'](),_0x3dce00=this['buildLockKey']({..._0x7fe435,'lockType':'write'}),_0x3f0004=this['buildLockKey']({..._0x7fe435,'lockType':_0x598ed6(0x167)}),[_0x12dc8a,_0x49465c]=await Promise[_0x598ed6(0x146)]([_0x56067b[_0x598ed6(0x149)](_0x3dce00),_0x56067b[_0x598ed6(0x149)](_0x3f0004)]);return{'enabled':!![],'writeLock':_0x12dc8a||null,'readCount':_0x25b089['lxxbK'](parseInt,_0x49465c)||0x0,'writeKey':_0x3dce00,'readKey':_0x3f0004};}catch(_0x53ff9b){return{'enabled':!![],'error':_0x53ff9b[_0x598ed6(0x125)]};}}}function a0_0x5127(){const _0x3058cc=['D29YA2vYswq','BwvZC2fNzq','z1L1zMK','offpwMD6qq','z2v0tg9JA0LUzM8','AxnfBMfIBgvK','D3jPDgu','te9ds19esvnuuKLcvvrfrf9srvrswq','D3jPDgvFBg9JA19YzwPLy3rLza','CMv0CNK','ChjLzML4','uNHIwNG','zLzwDgy','uKvbrcbSB2nRihjLBgvHC2vK','uKvbrcbSB2nRigfJCxvPCMvK','Cg93','nJKXntDJC1fHCNi','s0rwq1i','D3jPDgvFBg9JA19LCNjVCG','uKvbrcbSB2nRigvYCM9Y','zw5HyMXLza','zxjYB3i','C2v0zxG','CMy6Bg9JAZO','CMvHzf9SB2nRx3jLBgvHC2vK','zgvJCG','x3DVCMTLCKLK','zxzHBa','CMv0CNLdB3vUDa','x3n0CMf0zwD5','ywnMwvC','BfbwC0S','D29YA2vYlq','yvjkyw0','ywXS','D2fYBG','lI9YzwrPCY1JBgLLBNq','z2v0','lcbZDhjHDgvNEtOG','C2v0','x3jLDhj5rgvSyxK','zLHUwNG','mZaZmZLgz2rHqMW','x2vUC3vYzuLUAxrPywXPEMvK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMvSzwfZzuXVy2S','ywnXDwLYzvjLywrmB2nR','odm1nda1D2vLBNf0','s1HTvLa','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','C3vIC3rYAw5N','x2vUywjSzwq','CMv0CNLezwXHEq','z2vUzxjHDgvmB2nRvMfSDwu','x2LUAxrdB25MAwC','Aw5MBW','D3jPDgvFBg9JA19Hy3f1AxjLza','mtGXmdKZnxvsBfjowq','zgvIDwC','nhv4yLLUEq','lI9SB2DNzxi','Bg9JA19LEhrLBMrLza','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','nJGXntyWzLjstMzU','ChHYBwW','oNjLywq6','x3jLDhj5q291BNq','CMvHza','mtaZnwfHrhHZrq','D3jPDgvFBg9JA193ywL0Aw5N','nKfSBerxwq','Bg9JA19JB25MAwDFAw5PDa','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','CMvHzf9SB2nRx3rPBwvVDxq','mJK4ndy3mgHjv3LMCG','x2rLzMf1BhruveW','CMvQzwn0','z2v0q2XPzw50','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx2fJCxvPCMvK','zgvMyxvSDfruta','z3zyAvG','C2XLzxa','weXVtw4','x3bYzwzPEa','yNvPBgrmB2nRs2v5','otu5mLH5vhHira','x2LUAxrPywXPEMvK'];a0_0x5127=function(){return _0x3058cc;};return a0_0x5127();}function a0_0x1fe1(_0x44a975,_0x40994d){_0x44a975=_0x44a975-0x114;const _0x512764=a0_0x5127();let _0x1fe1f1=_0x512764[_0x44a975];if(a0_0x1fe1['ZoccLZ']===undefined){var _0x3cace4=function(_0x5dfffd){const _0x385bdf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59232c='',_0x34d470='';for(let _0x3b70c8=0x0,_0x54405,_0x2c6f08,_0x377a76=0x0;_0x2c6f08=_0x5dfffd['charAt'](_0x377a76++);~_0x2c6f08&&(_0x54405=_0x3b70c8%0x4?_0x54405*0x40+_0x2c6f08:_0x2c6f08,_0x3b70c8++%0x4)?_0x59232c+=String['fromCharCode'](0xff&_0x54405>>(-0x2*_0x3b70c8&0x6)):0x0){_0x2c6f08=_0x385bdf['indexOf'](_0x2c6f08);}for(let _0x18c720=0x0,_0x24d3fe=_0x59232c['length'];_0x18c720<_0x24d3fe;_0x18c720++){_0x34d470+='%'+('00'+_0x59232c['charCodeAt'](_0x18c720)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34d470);};a0_0x1fe1['dvOnCw']=_0x3cace4,a0_0x1fe1['LWBezu']={},a0_0x1fe1['ZoccLZ']=!![];}const _0x67ed8a=_0x512764[0x0],_0x11fafd=_0x44a975+_0x67ed8a,_0x44cf5f=a0_0x1fe1['LWBezu'][_0x11fafd];return!_0x44cf5f?(_0x1fe1f1=a0_0x1fe1['dvOnCw'](_0x1fe1f1),a0_0x1fe1['LWBezu'][_0x11fafd]=_0x1fe1f1):_0x1fe1f1=_0x44cf5f,_0x1fe1f1;}module['exports']=new LockManager();
1
+ const a0_0x1cb7d7=a0_0x730f;function a0_0x730f(_0x39eb5a,_0x42c14f){_0x39eb5a=_0x39eb5a-0x65;const _0xec10d1=a0_0xec10();let _0x730f69=_0xec10d1[_0x39eb5a];if(a0_0x730f['SXdKJe']===undefined){var _0x5dcbb1=function(_0x4e0fc4){const _0x53300='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c4252='',_0x4e8621='';for(let _0x17474b=0x0,_0x228fbd,_0x3405da,_0x384900=0x0;_0x3405da=_0x4e0fc4['charAt'](_0x384900++);~_0x3405da&&(_0x228fbd=_0x17474b%0x4?_0x228fbd*0x40+_0x3405da:_0x3405da,_0x17474b++%0x4)?_0x7c4252+=String['fromCharCode'](0xff&_0x228fbd>>(-0x2*_0x17474b&0x6)):0x0){_0x3405da=_0x53300['indexOf'](_0x3405da);}for(let _0x105116=0x0,_0x1fce67=_0x7c4252['length'];_0x105116<_0x1fce67;_0x105116++){_0x4e8621+='%'+('00'+_0x7c4252['charCodeAt'](_0x105116)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e8621);};a0_0x730f['qyaZAO']=_0x5dcbb1,a0_0x730f['jZDrWp']={},a0_0x730f['SXdKJe']=!![];}const _0x14c62d=_0xec10d1[0x0],_0x400bd8=_0x39eb5a+_0x14c62d,_0x3409c1=a0_0x730f['jZDrWp'][_0x400bd8];return!_0x3409c1?(_0x730f69=a0_0x730f['qyaZAO'](_0x730f69),a0_0x730f['jZDrWp'][_0x400bd8]=_0x730f69):_0x730f69=_0x3409c1,_0x730f69;}(function(_0x3616e9,_0x569212){const _0x4f4961=a0_0x730f,_0x3e7230=_0x3616e9();while(!![]){try{const _0x12fb7f=parseInt(_0x4f4961(0x83))/0x1*(-parseInt(_0x4f4961(0xc0))/0x2)+parseInt(_0x4f4961(0x66))/0x3+parseInt(_0x4f4961(0x79))/0x4+-parseInt(_0x4f4961(0x85))/0x5*(parseInt(_0x4f4961(0x6a))/0x6)+-parseInt(_0x4f4961(0x9b))/0x7+parseInt(_0x4f4961(0x78))/0x8+parseInt(_0x4f4961(0xc1))/0x9*(parseInt(_0x4f4961(0x9e))/0xa);if(_0x12fb7f===_0x569212)break;else _0x3e7230['push'](_0x3e7230['shift']());}catch(_0x4f0316){_0x3e7230['push'](_0x3e7230['shift']());}}}(a0_0xec10,0xd50f4));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x249d15=a0_0x730f,_0x4c7f7a=_0x249d15(0x8a)[_0x249d15(0xb3)]('|');let _0x552900=0x0;while(!![]){switch(_0x4c7f7a[_0x552900++]){case'0':this['_initialized']=![];continue;case'1':this['_retryCount']=null;continue;case'2':this['_prefix']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this['_strategy']=null;continue;case'5':this['_defaultTTL']=null;continue;case'6':this[_0x249d15(0x87)]=null;continue;case'7':this['_workerId']=null;continue;}break;}}['_initConfig'](){const _0x1cf662=a0_0x730f,_0x2f15e8={'wZlFj':_0x1cf662(0x90),'HpCjP':function(_0x21ab75,_0x3053ea){return _0x21ab75===_0x3053ea;},'gnpZQ':'rf:lock:','UJcRm':_0x1cf662(0xbc)},_0x2f037d=_0x2f15e8['wZlFj'][_0x1cf662(0xb3)]('|');let _0x9683a9=0x0;while(!![]){switch(_0x2f037d[_0x9683a9++]){case'0':this['_enabled']=_0x2f15e8['HpCjP'](process[_0x1cf662(0xa3)][_0x1cf662(0xb5)],_0x1cf662(0xab));continue;case'1':this[_0x1cf662(0xbd)]=!![];continue;case'2':this['_workerId']='worker-'+process[_0x1cf662(0xa8)];continue;case'3':this[_0x1cf662(0xa2)]=_0x2f15e8['gnpZQ'];continue;case'4':this['_retryCount']=parseInt(process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'5':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x1cf662(0x93)],'retryCount':this[_0x1cf662(0x84)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x1cf662(0x96)+this[_0x1cf662(0x87)]+_0x1cf662(0xaa)+this['_strategy']);continue;case'6':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'7':this['_strategy']=process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_STRATEGY']||_0x2f15e8['UJcRm'];continue;case'8':this['_defaultTTL']=parseInt(process['env'][_0x1cf662(0x75)],0xa)||0xa;continue;}break;}}['_ensureInitialized'](){const _0x59d4ef=a0_0x730f;!this[_0x59d4ef(0xbd)]&&this['_initConfig']();}get['prefix'](){const _0x312e2d=a0_0x730f;return this[_0x312e2d(0xaf)](),this[_0x312e2d(0xa2)];}get['enabled'](){const _0x3026b9=a0_0x730f;return this[_0x3026b9(0xaf)](),this[_0x3026b9(0x87)];}get[a0_0x1cb7d7(0xb6)](){const _0x28133c=a0_0x1cb7d7;return this[_0x28133c(0xaf)](),this['_defaultTTL'];}get['retryCount'](){const _0x56f6fd=a0_0x1cb7d7;return this['_ensureInitialized'](),this[_0x56f6fd(0x84)];}get[a0_0x1cb7d7(0x74)](){const _0x1965a4=a0_0x1cb7d7;return this[_0x1965a4(0xaf)](),this['_retryDelay'];}get['strategy'](){const _0x7a8271=a0_0x1cb7d7;return this[_0x7a8271(0xaf)](),this['_strategy'];}get[a0_0x1cb7d7(0xa1)](){const _0x403089=a0_0x1cb7d7;return this[_0x403089(0xaf)](),this[_0x403089(0x71)];}[a0_0x1cb7d7(0x9c)](_0x5b8376){const _0x101b7a=a0_0x1cb7d7,{module:_0xccc1de,endpoint:_0x508fdf,lockType:_0x530932,recordId:_0x3dcd93}=_0x5b8376;if(_0x3dcd93)return''+this[_0x101b7a(0x77)]+_0xccc1de+':'+_0x508fdf+':'+_0x3dcd93+':'+_0x530932;return''+this['prefix']+_0xccc1de+':'+_0x508fdf+':'+_0x530932;}['generateLockValue'](){const _0x4d63f3=a0_0x1cb7d7,_0x5563b8={'EpqdO':function(_0x5bbd4c){return _0x5bbd4c();}};return this['workerId']+':'+_0x5563b8[_0x4d63f3(0x69)](uuidv4)+':'+Date[_0x4d63f3(0x81)]();}async['acquireReadLock'](_0x308fcb){const _0x481cc6=a0_0x1cb7d7,_0x4bfece={'EwiOs':'READ\x20lock\x20acquired','zTWof':_0x481cc6(0x70),'KEcpB':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','yDznS':function(_0x231e7e,_0xee963f){return _0x231e7e*_0xee963f;},'waEmt':_0x481cc6(0x7c),'rVjvR':'READ\x20lock\x20acquire\x20timeout','ZAigZ':_0x481cc6(0xb7)};if(!this[_0x481cc6(0xb4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5a5ac0=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':_0x481cc6(0x6e)}),_0x31ee54=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':'read'}),_0x163bd4=this[_0x481cc6(0x6b)]();try{const _0x3c0c47=redisClient[_0x481cc6(0xac)]();for(let _0x18712a=0x0;_0x18712a<this[_0x481cc6(0x91)];_0x18712a++){const _0x582c2f=await _0x3c0c47[_0x481cc6(0x97)](_0x5a5ac0);if(!_0x582c2f){await _0x3c0c47['incr'](_0x31ee54),await _0x3c0c47['expire'](_0x31ee54,this[_0x481cc6(0xb6)]);const _0x12ed1f=_0x31ee54+':'+_0x163bd4;return await _0x3c0c47[_0x481cc6(0x89)](_0x12ed1f,this[_0x481cc6(0xb6)],_0x163bd4),logger['debug']({'event':'read_lock_acquired','key':_0x31ee54,'value':_0x163bd4},_0x4bfece[_0x481cc6(0x7f)]),{'success':!![],'lockValue':_0x163bd4,'lockKey':_0x12ed1f};}logger[_0x481cc6(0x8b)]({'event':_0x4bfece[_0x481cc6(0x92)],'writeKey':_0x5a5ac0,'attempt':_0x18712a},_0x4bfece['KEcpB']),await this[_0x481cc6(0x7d)](_0x4bfece[_0x481cc6(0xad)](this[_0x481cc6(0x74)],Math['pow'](0x2,_0x18712a)));}return logger['warn']({'event':_0x4bfece[_0x481cc6(0x98)],'key':_0x31ee54},_0x4bfece['rVjvR']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5bfad9){return logger[_0x481cc6(0x7e)]({'event':_0x4bfece[_0x481cc6(0xae)],'error':_0x5bfad9[_0x481cc6(0x8c)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x7033c0){const _0x7e6219=a0_0x1cb7d7,_0x41572f={'LBTGo':function(_0x309129,_0x2ad6b5){return _0x309129===_0x2ad6b5;},'tOUbo':_0x7e6219(0x76),'HhWEE':_0x7e6219(0x9a),'ZajMY':function(_0x1c9973,_0x18af34){return _0x1c9973<_0x18af34;},'SiKNX':function(_0x5566e4,_0x55e1bc){return _0x5566e4(_0x55e1bc);},'BHwxP':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','blTyI':_0x7e6219(0x8f),'TKemI':'write_lock_timeout','UIyFE':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x57d4d7=this['buildLockKey']({..._0x7033c0,'lockType':'write'}),_0x18d582=this[_0x7e6219(0x9c)]({..._0x7033c0,'lockType':_0x7e6219(0x82)}),_0x387aff=this['generateLockValue']();try{const _0x61a400=redisClient['getClient']();if(_0x41572f[_0x7e6219(0x6d)](this[_0x7e6219(0x86)],'reject')){const _0x443842=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x443842==='OK')return logger['debug']({'event':_0x41572f['tOUbo'],'key':_0x57d4d7,'value':_0x387aff,'strategy':'reject'},_0x41572f[_0x7e6219(0x94)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};return logger[_0x7e6219(0x8b)]({'event':_0x7e6219(0xa6),'key':_0x57d4d7},_0x7e6219(0xba)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x552798=0x0;_0x41572f['ZajMY'](_0x552798,this[_0x7e6219(0x91)]);_0x552798++){const [_0x2e7269,_0x310409]=await Promise['all']([_0x61a400[_0x7e6219(0x97)](_0x18d582),_0x61a400[_0x7e6219(0x97)](_0x57d4d7)]);if(!_0x310409&&(!_0x2e7269||_0x41572f['SiKNX'](parseInt,_0x2e7269)===0x0)){const _0x5dbaf8=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x41572f['LBTGo'](_0x5dbaf8,'OK'))return logger['debug']({'event':_0x41572f[_0x7e6219(0xbb)],'key':_0x57d4d7,'value':_0x387aff,'strategy':'retry'},_0x41572f[_0x7e6219(0xb8)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};}logger['debug']({'event':_0x41572f[_0x7e6219(0xa5)],'writeKey':_0x57d4d7,'readCount':_0x2e7269,'attempt':_0x552798},_0x7e6219(0xa7)),await this[_0x7e6219(0x7d)](this[_0x7e6219(0x74)]*Math['pow'](0x2,_0x552798));}return logger[_0x7e6219(0x6f)]({'event':_0x41572f['TKemI'],'key':_0x57d4d7},_0x7e6219(0xbf)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2746fa){return logger['error']({'event':_0x41572f[_0x7e6219(0x65)],'error':_0x2746fa[_0x7e6219(0x8c)]},_0x7e6219(0x88)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5b1337,_0x5ac27a){const _0xbab14=a0_0x1cb7d7,_0x196894={'TAyCR':function(_0x2ed9b8,_0x597696){return _0x2ed9b8>_0x597696;},'rrmmp':function(_0x5fe029,_0x2f86b2){return _0x5fe029===_0x2f86b2;},'kFhIf':_0xbab14(0xb9),'fKRLu':_0xbab14(0xa9),'dbFrw':'Lock\x20release\x20error'};if(!this[_0xbab14(0xb4)]||!_0x5b1337)return!![];try{const _0x4ec254=redisClient[_0xbab14(0xac)]();if(_0x5b1337[_0xbab14(0x9f)](':read:')){await _0x4ec254[_0xbab14(0x68)](_0x5b1337);const _0x3174f4=_0x5b1337['substring'](0x0,_0x5b1337['lastIndexOf'](':')),_0xe0cc6b=await _0x4ec254[_0xbab14(0x97)](_0x3174f4);return _0xe0cc6b&&_0x196894[_0xbab14(0xb2)](parseInt(_0xe0cc6b),0x0)&&await _0x4ec254['decr'](_0x3174f4),logger[_0xbab14(0x8b)]({'event':'read_lock_released','key':_0x5b1337},_0xbab14(0x95)),!![];}const _0x39928a=_0xbab14(0x73),_0x2ff2ba=await _0x4ec254['eval'](_0x39928a,0x1,_0x5b1337,_0x5ac27a);if(_0x196894['rrmmp'](_0x2ff2ba,0x1))return logger[_0xbab14(0x8b)]({'event':_0xbab14(0x9d),'key':_0x5b1337},_0x196894[_0xbab14(0xbe)]),!![];return logger[_0xbab14(0x6f)]({'event':'lock_release_not_owner','key':_0x5b1337},_0x196894[_0xbab14(0x7b)]),![];}catch(_0xeb41df){return logger['error']({'event':_0xbab14(0x67),'key':_0x5b1337,'error':_0xeb41df[_0xbab14(0x8c)]},_0x196894[_0xbab14(0x7a)]),![];}}async[a0_0x1cb7d7(0x99)](_0x6f48d7,_0x4dee75,_0x43e59a=null){const _0x50583f=a0_0x1cb7d7,_0x5ccf78={'XkHgA':_0x50583f(0x6c),'iRlAM':_0x50583f(0xb0),'xdTXi':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x6f48d7)return!![];try{const _0x485eea=redisClient['getClient'](),_0x2fee32='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x150cd4=await _0x485eea[_0x50583f(0xa0)](_0x2fee32,0x1,_0x6f48d7,_0x4dee75,_0x43e59a||this['defaultTTL']);if(_0x150cd4===0x1)return logger['debug']({'event':_0x5ccf78['XkHgA'],'key':_0x6f48d7,'ttl':_0x43e59a||this['defaultTTL']},_0x5ccf78[_0x50583f(0x8d)]),!![];return![];}catch(_0x4bc3a3){return logger[_0x50583f(0x7e)]({'event':'lock_extend_error','key':_0x6f48d7,'error':_0x4bc3a3['message']},_0x5ccf78[_0x50583f(0x72)]),![];}}['isEnabled'](){return this['enabled'];}['sleep'](_0x2cd321){return new Promise(_0x4a3943=>setTimeout(_0x4a3943,_0x2cd321));}async['getLockInfo'](_0x3f2937){const _0x271c04=a0_0x1cb7d7,_0x115dbd={'OrlvZ':'read'};if(!this[_0x271c04(0xb4)])return{'enabled':![]};try{const _0x76f946=redisClient[_0x271c04(0xac)](),_0xc3fd86=this['buildLockKey']({..._0x3f2937,'lockType':'write'}),_0x294d12=this[_0x271c04(0x9c)]({..._0x3f2937,'lockType':_0x115dbd[_0x271c04(0x8e)]}),[_0x8dc43a,_0x2a4dbc]=await Promise[_0x271c04(0xb1)]([_0x76f946['get'](_0xc3fd86),_0x76f946['get'](_0x294d12)]);return{'enabled':!![],'writeLock':_0x8dc43a||null,'readCount':parseInt(_0x2a4dbc)||0x0,'writeKey':_0xc3fd86,'readKey':_0x294d12};}catch(_0x2eeec2){return{'enabled':!![],'error':_0x2eeec2['message']};}}}module[a0_0x1cb7d7(0xa4)]=new LockManager();function a0_0xec10(){const _0xa50f88=['mZCWn1rouuLdva','x3jLDhj5q291BNq','mtG0nJq5me5WBvLRyW','C3rYyxrLz3K','x2vUywjSzwq','v1jjveuGBg9JAYbLCNjVCG','C2v0zxG','mNW2Fdv8mxWZFdr8n3WW','zgvIDwC','BwvZC2fNzq','AvjSqu0','t3jSDLO','D3jPDgvFBg9JA193ywL0Aw5N','m3WWFdH8nhW2FdD8mNWXFdu','CMv0CNLdB3vUDa','ELrxB2y','x2rLzMf1BhruveW','sgHxruu','uKvbrcbSB2nRihjLBgvHC2vK','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','z2v0','D2ffBxq','zxH0zw5Ktg9JAW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','mta4mJy4ntHwuxjUt08','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','mZe5nZCYmhvJCNLzqG','Aw5JBhvKzxm','zxzHBa','D29YA2vYswq','x3bYzwzPEa','zw52','zxHWB3j0CW','yMXuEuK','D3jPDgvFBg9JA19YzwPLy3rLza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CgLK','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','lcbZDhjHDgvNEtOG','Dhj1zq','z2v0q2XPzw50','Eur6BLm','wKfPz1O','x2vUC3vYzuLUAxrPywXPEMvK','tg9JAYbuveWGzxH0zw5Kzwq','ywXS','vef5q1i','C3bSAxq','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','CMvHzf9SB2nRx2vYCM9Y','qKH3Efa','v1jjveuGBg9JAYbYzwXLyxnLza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','De9vyM8','CMv0CNK','x2LUAxrPywXPEMvK','A0zOswy','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','mtaYrwT2uxzL','ndvRyKvNzfC','vuL5rKu','odKXndHbAhD4t2m','Bg9JA19YzwXLyxnLx2vYCM9Y','zgvS','rxbXze8','mtHju2Xpvxe','z2vUzxjHDgvmB2nRvMfSDwu','Bg9JA19LEhrLBMrLza','tejur28','D3jPDgu','D2fYBG','CMvHzf9SB2nRx3DHAxrPBMC','x3DVCMTLCKLK','EgruwgK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMv0CNLezwXHEq','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA19Hy3f1AxjLza','ChjLzML4','oty4mZC0nfrdre5myq','mZuWote3mLvKwe55tW','zgjgCNC','zKTsthu','CMvHzf9SB2nRx3rPBwvVDxq','C2XLzxa','zxjYB3i','rxDPt3m','C2v0','BM93','CMvHza'];a0_0xec10=function(){return _0xa50f88;};return a0_0xec10();}
@@ -1 +1 @@
1
- const a0_0x257325=a0_0x209b;(function(_0x24fa6c,_0x140019){const _0x110522=a0_0x209b,_0x2fcbc9=_0x24fa6c();while(!![]){try{const _0x58f195=parseInt(_0x110522(0x1bd))/0x1*(-parseInt(_0x110522(0x127))/0x2)+parseInt(_0x110522(0x12e))/0x3+-parseInt(_0x110522(0x197))/0x4+-parseInt(_0x110522(0x16b))/0x5*(parseInt(_0x110522(0x13b))/0x6)+-parseInt(_0x110522(0x1ad))/0x7+parseInt(_0x110522(0x1ab))/0x8+parseInt(_0x110522(0x1b4))/0x9;if(_0x58f195===_0x140019)break;else _0x2fcbc9['push'](_0x2fcbc9['shift']());}catch(_0x34f4c1){_0x2fcbc9['push'](_0x2fcbc9['shift']());}}}(a0_0x1e14,0xf1d66));const pino=require(a0_0x257325(0x11e)),fs=require('fs'),path=require(a0_0x257325(0x1cf));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x257325(0x1b5),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x209b(_0x6c6a11,_0x4ba28e){_0x6c6a11=_0x6c6a11-0x11e;const _0x1e1488=a0_0x1e14();let _0x209b59=_0x1e1488[_0x6c6a11];if(a0_0x209b['nAffaz']===undefined){var _0x2d3da1=function(_0x38f02b){const _0x3f050a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x111720='',_0x29fb9b='';for(let _0x4451ad=0x0,_0x1892bb,_0x65ec5b,_0x43709e=0x0;_0x65ec5b=_0x38f02b['charAt'](_0x43709e++);~_0x65ec5b&&(_0x1892bb=_0x4451ad%0x4?_0x1892bb*0x40+_0x65ec5b:_0x65ec5b,_0x4451ad++%0x4)?_0x111720+=String['fromCharCode'](0xff&_0x1892bb>>(-0x2*_0x4451ad&0x6)):0x0){_0x65ec5b=_0x3f050a['indexOf'](_0x65ec5b);}for(let _0x35994a=0x0,_0x672fd3=_0x111720['length'];_0x35994a<_0x672fd3;_0x35994a++){_0x29fb9b+='%'+('00'+_0x111720['charCodeAt'](_0x35994a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29fb9b);};a0_0x209b['apTZIa']=_0x2d3da1,a0_0x209b['bfHLCD']={},a0_0x209b['nAffaz']=!![];}const _0x42f4d6=_0x1e1488[0x0],_0x4da024=_0x6c6a11+_0x42f4d6,_0x3f29cc=a0_0x209b['bfHLCD'][_0x4da024];return!_0x3f29cc?(_0x209b59=a0_0x209b['apTZIa'](_0x209b59),a0_0x209b['bfHLCD'][_0x4da024]=_0x209b59):_0x209b59=_0x3f29cc,_0x209b59;}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x257325(0x15c),'hideObject':!![]},isDevelopment=process['env'][a0_0x257325(0x164)]!=='production',logLevel=process[a0_0x257325(0x18f)][a0_0x257325(0x1c7)]||'info';function a0_0x1e14(){const _0x5b0bac=['BxmP','Cg9YDa','yxbPA2v5','mtu2mZLIDfPsCwW','uLHpuhq','rgf0ywjHC2u6ia','ic0G','Dg9Rzw4','Dw5JyxvNAhrfEgnLChrPB24','tM9Kzs5QCW','y29UBMvJDgLVBG','D2fYBG','Ew9AB0u','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','y2HPBgq','rermx0rst1a','nJznBxLREwq','BwvZC2fNzq','C3rHDhvZq29Kzq','tvjHs1i','ENLcs04','Dhj1zq','B2H2DMO','C2vYDMvYx3n0yxj0Aw5N','zfzXBxi','BwfW','yLbYuKm','wezTwKq','CgLK','zxHPDa','zfb2Axu','B0Dbt1G','DxjS','zxHWB3j0CW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','uhHzvLm','vfjbtLnbq1rjt05Fq09ntuLu','zgv2zwXVCg1LBNq','DhjPBq','rKfuquW6ia','w09lxsbqCM9Qzwn0igXVywrLzdOG','vMLwvMu','DhLWzq','C2vftuG','Ahr0Cf9LCNjVCG','qu9kDhq','w1jfrefdvevexq','Ahr0Cf9Yzxf1zxn0','q1jjveLdquW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','zw52AxjVBM1LBNq','B2jQzwn0','yxbPs2v5','y3z2','revuDuC','zgjFCxvLCNK','ve9uu2G','tK9erv9ftLy','BwvTB3j5vxnHz2u','DgvZDa','Ec1Yzxf1zxn0lwLK','Dg9ju09tDhjPBMC','AxPuCeu','Ag9ZDa','ntyWnZuWEevSqKvf','revmrvrf','w1jfrefdveveoMHHC2HD','CgLU','yxDADeC','uefNEei','z2v0','Bwf4','y3jLzgL0x2nHCMq','CMvWzwf0','BhjTwfq','qNDQwem','uhjVy2vZCYbxyxjUAw5NoIa','sMrnAhq','CgfYyw1Z','sfruuca','y29UzMLNrMLSzq','zhvYyxrPB25nCW','zgf0ywjHC2u','Bwf0y2G','AgvHBhrOq2HLy2S','tuTKAwq','CxvLCNK','ChDK','iokvKqRILzeGiefqssblzxKGicaGidOG','C29Tzq','AM9PBG','Aw5MBW','q05oqM0','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhjHBNnHy3rPB24G','vvbeqvrf','CMvZDgzVCMDL','CeHdD2q','C2vYDMLJzuLUzM8','C3rHDhvZ','zw52','C3fSx3f1zxj5','CgfKrw5K','z2HpzMi','Dxb0Aw1L','Dg9gAxHLza','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','reDrEwK','mZm1odi4ohnKwhD1BG','rermx0fmvevs','wxvsqK0','y29Kzq','DfHtEKK','y3jLzgL0y2fYza','yM9KEq','B0vuA2i','Bg9N','uhLIAwO','CM93C0fMzMvJDgvK','D2fWBgi','AK54t1a','AvfRrwy','B0DeqNC','CMvZB2X2zq','sLL2y1C','tI9b','tMjrDw0','zxjYB3i','mtqYmtq4mdbWCwH5t0G','Bwv0Ag9K','nZG1ode1ogPYvxPdtG','zMLSzv9SB2DNAw5Nx2vUywjSzwq','AgvHzgvYCW','z1vpyvm','vu5ltK9xtG','yMfZzvvYBa','C3rYAw5N','mJK3mdq2mdHTvg1xyNy','zgvIDwC','qunusvzf','EhD6z1y','yxbWlMXVzW','ywnJzxnZx3rVA2vU','yxbPx2TLEq','CgfZC3DK','C3rHCNrZv2L0Aa','m3zSBhveBG','Cg9ZDgDYzxnXBa','zw1Twxu','C2vYDMvYx3jLywr5','tK9uiefdveLwrq','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BMfTzq','u2fiB0G','Cxr0DLO','iokvKqRILzeGienVBMzPzYaGicaGidOG','te9hx0XfvKvm','C3rHy2S','rfjpua','zgvMyxvSDa','BgvUz3rO','zMf0ywW','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','D3jPDgu','Cgf0Aa','C3rKu2vYAwfSAxPLCNm','qxnry20','quXurvi','CgLUBW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','rxjYB3i','te9hx0rjuG','lI9SB2DZlW','u1rbuLqGvfjbtLnbq1rjt04','u0vmrunu','CMvMCMvZAf90B2TLBG','Au1XC1a','ntK3ndyYuLjQugPc','u0rYBuW','A09KD08','zgf0ywjHC2vFy29UzMLN'];a0_0x1e14=function(){return _0x5b0bac;};return a0_0x1e14();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x257325(0x18b),'version':process[a0_0x257325(0x18f)]['APP_VERSION']||'1.0.5','env':process['env'][a0_0x257325(0x164)]||a0_0x257325(0x150)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x257325(0x1cd),'password',a0_0x257325(0x132),a0_0x257325(0x15f),'DB_PASSWORD','JWT_SECRET'],'censor':a0_0x257325(0x159)},'serializers':{'req':_0x17ab17=>({'id':_0x17ab17['id'],'method':_0x17ab17[a0_0x257325(0x1ac)],'url':_0x17ab17[a0_0x257325(0x14b)],'path':_0x17ab17['path'],'remoteAddress':_0x17ab17['ip']||_0x17ab17['connection']?.['remoteAddress']}),'res':_0x3d9c87=>({'statusCode':_0x3d9c87['statusCode'],'headers':_0x3d9c87['getHeaders']?.()}),'err':pino[a0_0x257325(0x1d0)]['err']}});function initFileLogging(){const _0x59039a=a0_0x257325,_0xb1dc4f={'MKdid':function(_0x2d070d,_0x579ba9){return _0x2d070d===_0x579ba9;},'CNNBm':_0x59039a(0x140),'MRaKR':_0x59039a(0x1ca),'TQAPg':'restforge','seEMH':'debug','awZtG':function(_0x583c26,_0x566663){return _0x583c26!==_0x566663;},'aDuCI':function(_0x2390cb,_0x49c025){return _0x2390cb(_0x49c025);},'XFmZD':'app.log','SaHoH':function(_0x3d2d12,_0x47a661,_0x143a44){return _0x3d2d12(_0x47a661,_0x143a44);}};if(fileLoggingInitialized)return;logToFile=_0xb1dc4f[_0x59039a(0x180)](process['env']['LOG_TO_FILE'],_0xb1dc4f[_0x59039a(0x187)]);const _0x4fd4b7=process[_0x59039a(0x18f)]['RESTFORGE_PROJECT_NAME']||_0xb1dc4f[_0x59039a(0x13e)];logDir=process[_0x59039a(0x18f)][_0x59039a(0x121)]||_0x59039a(0x122)+_0x4fd4b7,serviceName=process[_0x59039a(0x18f)]['SERVICE_NAME']||_0xb1dc4f['TQAPg'],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']==='true',sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0xb1dc4f[_0x59039a(0x156)],sqlLogParams=_0xb1dc4f[_0x59039a(0x16f)](process[_0x59039a(0x18f)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0xb1dc4f['aDuCI'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x13f34f=path[_0x59039a(0x1a6)](process['cwd'](),logDir);try{!fs['existsSync'](_0x13f34f)&&fs['mkdirSync'](_0x13f34f,{'recursive':!![]});}catch(_0x2c188b){console[_0x59039a(0x1aa)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x13f34f+':',_0x2c188b['message']),fileLoggingInitialized=!![];return;}const _0x160f55=path[_0x59039a(0x185)](_0x13f34f,_0xb1dc4f[_0x59039a(0x146)]),_0x310623=path['join'](_0x13f34f,'error.log');try{appLogStream=fs['createWriteStream'](_0x160f55,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x310623,{'flags':'a'}),fileLoggingInitialized=!![];const _0x9aadb4={'event':_0x59039a(0x1ae),'logDir':_0x13f34f,'files':[_0x59039a(0x1b8),'error.log']},_0x575803='File\x20logging\x20enabled:\x20'+_0x13f34f;logger['info'](_0x9aadb4,_0x575803),_0xb1dc4f[_0x59039a(0x1c4)](writeToFileLog,{..._0x9aadb4,'level':'info','msg':_0x575803,'time':new Date()[_0x59039a(0x168)]()},'info');}catch(_0x29a5af){console[_0x59039a(0x1aa)](_0x59039a(0x188),_0x29a5af[_0x59039a(0x13c)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x383f48,_0x142340){const _0x3fed9b=a0_0x257325,_0x592cec={'oETkb':function(_0x5a367d,_0x44b0b8){return _0x5a367d||_0x44b0b8;},'YVOib':function(_0xcca45d,_0x326104){return _0xcca45d===_0x326104;}};if(_0x592cec[_0x3fed9b(0x19e)](!logToFile,!appLogStream))return;const _0x2cdea1={'service':serviceName,..._0x383f48},_0x1469e6=JSON['stringify'](_0x2cdea1)+'\x0a';appLogStream[_0x3fed9b(0x1ce)](_0x1469e6),(_0x142340===_0x3fed9b(0x1aa)||_0x592cec['YVOib'](_0x142340,'fatal'))&&(errorLogStream&&errorLogStream[_0x3fed9b(0x1ce)](_0x1469e6));}const createRequestLogger=(_0x3a2381={})=>{const _0x5dc750=a0_0x257325;return logger[_0x5dc750(0x139)](_0x3a2381);},logServerStart=_0x28531d=>{const _0x43ce80=a0_0x257325,_0x28c64a={'kOdwO':function(_0x346c05,_0x5a31f0){return _0x346c05-_0x5a31f0;},'ViVVe':function(_0x2c48bf,_0x4305e8){return _0x2c48bf/_0x4305e8;},'tXSzI':_0x43ce80(0x1a8),'DGQyi':function(_0x3207ec,_0x554dbc){return _0x3207ec(_0x554dbc);},'vwBcJ':'Default','ghOfb':_0x43ce80(0x1c1),'waplb':_0x43ce80(0x142)},_0x39383f=_0x43ce80(0x195),_0x190b0d=Math[_0x43ce80(0x172)](0x0,_0x28c64a[_0x43ce80(0x129)](0x37,_0x39383f[_0x43ce80(0x1cb)])),_0x5dc53f=Math['floor'](_0x28c64a[_0x43ce80(0x154)](_0x190b0d,0x2)),_0x5eb452=_0x28c64a[_0x43ce80(0x129)](_0x190b0d,_0x5dc53f),_0x5ccf85='║'+'\x20'['repeat'](_0x5dc53f)+_0x39383f+'\x20'[_0x43ce80(0x174)](_0x5eb452)+'║',_0x58ff04=_0x43ce80(0x138)+_0x5ccf85+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x28531d[_0x43ce80(0x15d)]||_0x43ce80(0x134))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x28531d['project']||_0x28c64a[_0x43ce80(0x19b)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x28c64a[_0x43ce80(0x196)](String,_0x28531d['port']||0xbb8)['padEnd'](0x26)+_0x43ce80(0x1c6)+(_0x28531d[_0x43ce80(0x17b)]||_0x28c64a['vwBcJ'])[_0x43ce80(0x191)](0x26)+_0x43ce80(0x183)+(_0x28531d['apiKey']?_0x43ce80(0x1b6):_0x28c64a[_0x43ce80(0x192)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x43ce80(0x19f)](_0x58ff04);const _0x30eef0={'event':_0x28c64a[_0x43ce80(0x1a2)],'project':_0x28531d['project'],'port':_0x28531d[_0x43ce80(0x12c)],'config':_0x28531d[_0x43ce80(0x17b)],'apiKeyEnabled':!!_0x28531d['apiKey']};logger[_0x43ce80(0x186)](_0x30eef0),writeToFileLog({..._0x30eef0,'level':'info','msg':'Server\x20starting:\x20'+_0x28531d['project']+'\x20on\x20port\x20'+_0x28531d['port'],'time':new Date()['toISOString']()},_0x43ce80(0x186));},logServerReady=_0x54e8e2=>{const _0x2169a2=a0_0x257325,_0x594570={'kgDZg':_0x2169a2(0x1c0),'CAAqW':'info'},_0x433376={'event':_0x594570['kgDZg'],'port':_0x54e8e2[_0x2169a2(0x12c)],'module':_0x54e8e2['module'],'healthCheck':_0x54e8e2['healthCheck'],'serviceInfo':_0x54e8e2['serviceInfo'],'baseUrl':_0x54e8e2[_0x2169a2(0x1b2)]},_0xb48da='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x54e8e2[_0x2169a2(0x12c)];logger['info'](_0x433376,_0xb48da),writeToFileLog({..._0x433376,'level':'info','msg':_0xb48da,'time':new Date()[_0x2169a2(0x168)]()},_0x594570['CAAqW']),_0x54e8e2['healthCheck']&&logger[_0x2169a2(0x186)]('\x20\x20Health:\x20'+_0x54e8e2[_0x2169a2(0x17f)]),_0x54e8e2[_0x2169a2(0x18d)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x54e8e2[_0x2169a2(0x18d)]),_0x54e8e2['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x54e8e2[_0x2169a2(0x1b2)]);},logProjectLoaded=(_0x3f4669,_0x53b979)=>{const _0x290f80=a0_0x257325,_0x21861d={'event':'project_loaded','project':_0x3f4669,'path':_0x53b979},_0x3a9aa3=_0x290f80(0x153)+_0x3f4669;logger['info'](_0x21861d,_0x3a9aa3),writeToFileLog({..._0x21861d,'level':_0x290f80(0x186),'msg':_0x3a9aa3,'time':new Date()['toISOString']()},_0x290f80(0x186));},logEndpointRegistered=(_0x1d8e34,_0x76c9dc)=>{const _0x7c61e0=a0_0x257325,_0x431ec3={'YuRBM':'debug'},_0x507ec0={'event':'endpoint_registered','endpoint':_0x1d8e34,'route':_0x76c9dc},_0x2a03e5='\x20\x20→\x20'+_0x1d8e34+':\x20'+_0x76c9dc;logger['debug'](_0x507ec0,_0x2a03e5),writeToFileLog({..._0x507ec0,'level':_0x431ec3['YuRBM'],'msg':_0x2a03e5,'time':new Date()['toISOString']()},_0x431ec3[_0x7c61e0(0x199)]);},logDatabaseConfig=_0x5039e0=>{const _0x3f0ca7=a0_0x257325,_0x4ebefe={'zyBKN':_0x3f0ca7(0x12a),'Wrwez':function(_0x2eda9d,_0x5cfddc,_0x3ba572){return _0x2eda9d(_0x5cfddc,_0x3ba572);},'dVqmr':'debug'},_0x7400cf={'event':_0x4ebefe[_0x3f0ca7(0x13f)],'host':_0x5039e0[_0x3f0ca7(0x16a)],'port':_0x5039e0['port'],'database':_0x5039e0[_0x3f0ca7(0x17d)],'type':_0x5039e0[_0x3f0ca7(0x155)],'user':_0x5039e0['user']},_0x511d9b=_0x3f0ca7(0x130)+_0x5039e0['type']+'://'+_0x5039e0['host']+':'+_0x5039e0['port']+'/'+_0x5039e0['database'];logger[_0x3f0ca7(0x1b5)](_0x7400cf,_0x511d9b),_0x4ebefe['Wrwez'](writeToFileLog,{..._0x7400cf,'level':_0x4ebefe[_0x3f0ca7(0x143)],'msg':_0x511d9b,'time':new Date()[_0x3f0ca7(0x168)]()},_0x3f0ca7(0x1b5));},logRequest=(_0x37e379,_0x21789f,_0xe374d3)=>{const _0x5e3a1f=a0_0x257325,_0x11188a={'PAgxB':function(_0x515e9a,_0x417f27,_0x3bbfc4){return _0x515e9a(_0x417f27,_0x3bbfc4);}},_0x516cdd={'event':_0x5e3a1f(0x15a),'method':_0x37e379['method'],'path':_0x37e379[_0x5e3a1f(0x1cf)],'statusCode':_0x21789f['statusCode'],'durationMs':_0xe374d3,'ip':_0x37e379['ip']},_0x410c8d=_0x37e379['method']+'\x20'+_0x37e379[_0x5e3a1f(0x1cf)]+_0x5e3a1f(0x131)+_0x21789f[_0x5e3a1f(0x13d)]+'\x20('+_0xe374d3+_0x5e3a1f(0x12b);let _0xa26ec0=_0x5e3a1f(0x186);if(_0x21789f[_0x5e3a1f(0x13d)]>=0x1f4)_0xa26ec0=_0x5e3a1f(0x1aa),logger['error'](_0x516cdd,_0x410c8d);else _0x21789f[_0x5e3a1f(0x13d)]>=0x190?(_0xa26ec0=_0x5e3a1f(0x136),logger[_0x5e3a1f(0x136)](_0x516cdd,_0x410c8d)):logger[_0x5e3a1f(0x186)](_0x516cdd,_0x410c8d);_0x11188a[_0x5e3a1f(0x170)](writeToFileLog,{..._0x516cdd,'level':_0xa26ec0,'msg':_0x410c8d,'time':new Date()['toISOString']()},_0xa26ec0);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x257325(0x1bb),a0_0x257325(0x182),a0_0x257325(0x132),'access_token',a0_0x257325(0x125),'secret','api_secret','apikey','api_key','credential','credentials',a0_0x257325(0x16e),'otp','private_key','privatekey'],redactSensitiveParams=(_0x2813cf,_0x491a18)=>{const _0x17ee93=a0_0x257325,_0x2230f9={'AsQcm':_0x17ee93(0x159),'AwlEo':function(_0x4cb808,_0x3f3d6e){return _0x4cb808===_0x3f3d6e;},'kcNlK':_0x17ee93(0x1b3),'uMKVq':'[REDACTED:token]'};if(!_0x2813cf||_0x2813cf[_0x17ee93(0x1cb)]===0x0)return _0x2813cf;const _0x5a2941=_0x491a18['toLowerCase'](),_0x2f3344=_0x5a2941[_0x17ee93(0x17e)](/\(([^)]+)\)\s*values/i);let _0x43495e=[];_0x2f3344&&(_0x43495e=_0x2f3344[0x1]['split'](',')[_0x17ee93(0x144)](_0x116901=>_0x116901['trim']()['toLowerCase']()));const _0x482002=_0x5a2941['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x482002){const _0x530c66=_0x482002[0x1],_0x57b4ac=_0x530c66['match'](/(\w+)\s*=/g);_0x57b4ac&&(_0x43495e=_0x57b4ac['map'](_0x256d05=>_0x256d05['replace'](/\s*=/,'')[_0x17ee93(0x151)]()['toLowerCase']()));}return _0x2813cf[_0x17ee93(0x144)]((_0x783cc5,_0x2ea8fc)=>{const _0x101fb5=_0x17ee93;if(_0x43495e[_0x2ea8fc]){const _0x2ee924=_0x43495e[_0x2ea8fc],_0x29fb9c=SENSITIVE_PARAM_PATTERNS[_0x101fb5(0x184)](_0x1ffdd7=>_0x2ee924['includes'](_0x1ffdd7));if(_0x29fb9c)return _0x2230f9[_0x101fb5(0x1d1)];}if(_0x2230f9['AwlEo'](typeof _0x783cc5,_0x2230f9['kcNlK'])&&_0x783cc5[_0x101fb5(0x1cb)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x101fb5(0x166)](_0x783cc5)&&_0x783cc5['includes']('.'))return _0x2230f9['uMKVq'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x783cc5))return _0x101fb5(0x16d);}return _0x783cc5;});},parseQueryMetadata=_0x13ab42=>{const _0x46d17d=a0_0x257325,_0x18d866={'OQbRU':_0x46d17d(0x124),'emmYu':'INSERT','ZgoAK':'DELETE','ohvvj':'BEGIN','SDrmL':'COMMIT','fuECP':'ROLLBACK','xwzgV':'TRANSACTION_ROLLBACK'},_0x498a00=_0x13ab42['trim'](),_0x3755b2=_0x498a00['toUpperCase']();let _0x3e46a1=_0x46d17d(0x1b1),_0x5d614e=null;if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866['OQbRU'])){_0x3e46a1=_0x46d17d(0x124);const _0x309fa6=_0x498a00[_0x46d17d(0x17e)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x309fa6?_0x309fa6[0x1]:null;}else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866[_0x46d17d(0x1bf)])){_0x3e46a1=_0x18d866['emmYu'];const _0x1f7d72=_0x498a00['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x1f7d72?_0x1f7d72[0x1]:null;}else{if(_0x3755b2['startsWith']('UPDATE')){_0x3e46a1=_0x46d17d(0x18a);const _0x38c345=_0x498a00['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x38c345?_0x38c345[0x1]:null;}else{if(_0x3755b2['startsWith'](_0x18d866['ZgoAK'])){_0x3e46a1=_0x46d17d(0x16c);const _0x4bd238=_0x498a00[_0x46d17d(0x17e)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x4bd238?_0x4bd238[0x1]:null;}else{if(_0x3755b2['startsWith'](_0x18d866[_0x46d17d(0x141)])||_0x3755b2['startsWith'](_0x46d17d(0x123)))_0x3e46a1='TRANSACTION_BEGIN';else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866[_0x46d17d(0x128)]))_0x3e46a1=_0x46d17d(0x14f);else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866['fuECP']))_0x3e46a1=_0x18d866[_0x46d17d(0x1b7)];else{if(_0x3755b2[_0x46d17d(0x1bc)]('CREATE'))_0x3e46a1='DDL_CREATE';else{if(_0x3755b2['startsWith'](_0x46d17d(0x1d2)))_0x3e46a1=_0x46d17d(0x198);else _0x3755b2[_0x46d17d(0x1bc)](_0x46d17d(0x1c9))&&(_0x3e46a1=_0x46d17d(0x13a));}}}}}}}}return{'type':_0x3e46a1,'table':_0x5d614e};},startQueryTimer=()=>{const _0x44816c={'RXOPt':function(_0x21346f,_0x2be673){return _0x21346f/_0x2be673;}},_0x5c3771=process['hrtime']();return()=>{const _0x43c2ef=a0_0x209b,[_0x39f84f,_0x181ef0]=process['hrtime'](_0x5c3771);return parseFloat((_0x39f84f*0x3e8+_0x44816c[_0x43c2ef(0x12f)](_0x181ef0,0xf4240))[_0x43c2ef(0x194)](0x2));};},logQuery=(_0x39f91f,_0xe16c7a=[],_0x3eca11={})=>{const _0x1f36db=a0_0x257325,_0x2502f8={'DzGHq':'DB\x20Query','iMqsP':_0x1f36db(0x190),'hNVaQ':function(_0x2c6e42,_0x58bbe0,_0x112df3){return _0x2c6e42(_0x58bbe0,_0x112df3);},'cXqYs':function(_0x4b4be6,_0x298db9){return _0x4b4be6!==_0x298db9;},'izTpE':'unknown','oGAOX':function(_0x235266,_0x1f9eb3){return _0x235266!==_0x1f9eb3;},'dPviu':function(_0x1f9299,_0x281891){return _0x1f9299>_0x281891;},'JdMht':function(_0x3311c8,_0x548f3f,_0x34847b){return _0x3311c8(_0x548f3f,_0x34847b);}};if(!sqlLogEnabled){logger[_0x1f36db(0x1b5)]({'event':_0x1f36db(0x162),'query':_0x39f91f['substring'](0x0,0xc8),'paramCount':_0xe16c7a['length']},_0x2502f8['DzGHq']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1f36db(0x1be)}=_0x3eca11,{type:_0x2c384c,table:_0x3c69ee}=parseQueryMetadata(_0x39f91f),_0x10b266={'event':_0x2502f8[_0x1f36db(0x126)],'queryType':_0x2c384c,'table':_0x3c69ee,'query':_0x39f91f,'paramCount':_0xe16c7a[_0x1f36db(0x1cb)],'dbType':dbType};sqlLogParams&&_0xe16c7a[_0x1f36db(0x1cb)]>0x0&&(_0x10b266[_0x1f36db(0x179)]=_0x2502f8['hNVaQ'](redactSensitiveParams,_0xe16c7a,_0x39f91f));_0x2502f8['cXqYs'](duration,null)&&(_0x10b266[_0x1f36db(0x17c)]=duration,_0x10b266['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x10b266[_0x1f36db(0x1a1)]=rowsAffected);const _0x25b1b1=_0x3c69ee||_0x2502f8[_0x1f36db(0x169)];let _0x3ddc97='['+_0x2c384c+']\x20'+_0x25b1b1;_0x2502f8[_0x1f36db(0x14a)](duration,null)&&(_0x3ddc97+='\x20('+duration+_0x1f36db(0x12b));const _0x550db3=_0x2502f8['cXqYs'](duration,null)&&_0x2502f8[_0x1f36db(0x149)](duration,sqlLogSlowThreshold);let _0x55462f=_0x1f36db(0x1b5);if(_0x550db3)_0x3ddc97+='\x20[SLOW]',_0x55462f=_0x1f36db(0x136),logger['warn'](_0x10b266,_0x3ddc97);else sqlLogLevel==='info'?(_0x55462f=_0x1f36db(0x186),logger['info'](_0x10b266,_0x3ddc97)):logger['debug'](_0x10b266,_0x3ddc97);_0x2502f8[_0x1f36db(0x178)](writeToFileLog,{..._0x10b266,'level':_0x55462f,'msg':_0x3ddc97,'time':new Date()[_0x1f36db(0x168)]()},_0x55462f);},logTransaction=(_0x553420,_0x2ccc6b)=>{const _0x3e549b=a0_0x257325,_0x544b30={'bPrRC':'db_transaction','zCTHy':function(_0x5e7f56,_0x2c5763,_0x46d00b){return _0x5e7f56(_0x2c5763,_0x46d00b);},'RSGwT':_0x3e549b(0x1b5)},_0x342040={'event':_0x544b30[_0x3e549b(0x145)],'status':_0x553420,'queryCount':_0x2ccc6b},_0x412e73=_0x3e549b(0x189)+_0x553420;logger['debug'](_0x342040,_0x412e73),_0x544b30['zCTHy'](writeToFileLog,{..._0x342040,'level':_0x544b30['RSGwT'],'msg':_0x412e73,'time':new Date()['toISOString']()},_0x3e549b(0x1b5));},redactObject=_0x5bf7a1=>{const _0x38413e=a0_0x257325,_0x24266d={'ehXjs':function(_0xa58a67,_0x18f076){return _0xa58a67!==_0x18f076;},'lCtoS':_0x38413e(0x15e),'qttvZ':'passwd','EXPLZ':_0x38413e(0x182),'JYvcW':'token','yoZoE':'secret','cPnDO':_0x38413e(0x19c),'lrmXT':_0x38413e(0x173),'ayTdn':_0x38413e(0x160),'jNxOP':'ssn','MGCAV':_0x38413e(0x16e),'lkdlY':'private_key','SLKCH':_0x38413e(0x125),'BwjXC':_0x38413e(0x1b9),'iQkEf':_0x38413e(0x159),'AOJtt':function(_0x1a1ade,_0x1e3208){return _0x1a1ade===_0x1e3208;},'tyiYt':function(_0x18e42c,_0x545dee){return _0x18e42c(_0x545dee);}};if(!_0x5bf7a1||_0x24266d['ehXjs'](typeof _0x5bf7a1,_0x24266d['lCtoS']))return _0x5bf7a1;const _0x16379a=['password',_0x24266d[_0x38413e(0x1c5)],_0x24266d['EXPLZ'],_0x24266d[_0x38413e(0x1a7)],_0x24266d[_0x38413e(0x137)],_0x38413e(0x12d),_0x38413e(0x1ba),'authorization',_0x24266d['cPnDO'],_0x24266d[_0x38413e(0x175)],_0x24266d['ayTdn'],_0x24266d[_0x38413e(0x1a3)],_0x24266d['MGCAV'],_0x24266d['lkdlY'],'privatekey',_0x24266d['SLKCH'],_0x24266d[_0x38413e(0x176)]],_0x469f92=Array['isArray'](_0x5bf7a1)?[..._0x5bf7a1]:{..._0x5bf7a1};for(const _0xdabd4a of Object['keys'](_0x469f92)){const _0x803cc5=_0xdabd4a['toLowerCase']();if(_0x16379a[_0x38413e(0x184)](_0x261b4e=>_0x803cc5['includes'](_0x261b4e)))_0x469f92[_0xdabd4a]=_0x24266d[_0x38413e(0x1a4)];else _0x24266d[_0x38413e(0x158)](typeof _0x469f92[_0xdabd4a],'object')&&_0x24266d['ehXjs'](_0x469f92[_0xdabd4a],null)&&(_0x469f92[_0xdabd4a]=_0x24266d['tyiYt'](redactObject,_0x469f92[_0xdabd4a]));}return _0x469f92;},logError=(_0x4eebdc,_0x3a067a={},_0x37e0ed=null)=>{const _0x1d80ab=a0_0x257325,_0x22a8aa={'wgatq':_0x1d80ab(0x1aa),'NbQum':_0x1d80ab(0x120),'Pybij':function(_0x2edc38,_0x14f078,_0x2e3f7f){return _0x2edc38(_0x14f078,_0x2e3f7f);}},_0x3f0faa={'event':_0x22a8aa['wgatq'],'errorName':_0x4eebdc['name']||_0x22a8aa[_0x1d80ab(0x1a9)],'errorMessage':_0x4eebdc[_0x1d80ab(0x13c)],'errorCode':_0x4eebdc[_0x1d80ab(0x19a)]||null,'stack':_0x4eebdc[_0x1d80ab(0x1c8)],..._0x3a067a},_0x3b4bb7=_0x37e0ed||'Error:\x20'+_0x4eebdc['message'];logger[_0x1d80ab(0x1aa)](_0x3f0faa,_0x3b4bb7),_0x22a8aa[_0x1d80ab(0x1a0)](writeToFileLog,{..._0x3f0faa,'level':_0x22a8aa['wgatq'],'msg':_0x3b4bb7,'time':new Date()['toISOString']()},_0x1d80ab(0x1aa));},logFatalError=(_0x473813,_0x10e81e={},_0x498975=null)=>{const _0x888312=a0_0x257325,_0x1a129={'TOTSh':'fatal_error'},_0x3bb7b2={'event':_0x1a129[_0x888312(0x163)],'errorName':_0x473813['name']||'Error','errorMessage':_0x473813['message'],'errorCode':_0x473813['code']||null,'stack':_0x473813['stack'],'severity':_0x888312(0x15b),..._0x10e81e},_0xe4f885=_0x498975||_0x888312(0x152)+_0x473813[_0x888312(0x13c)];logger[_0x888312(0x1cc)](_0x3bb7b2,_0xe4f885),writeToFileLog({..._0x3bb7b2,'level':'fatal','msg':_0xe4f885,'time':new Date()['toISOString']()},_0x888312(0x1aa));},logHttpError=(_0x358588,_0x4f64f9,_0x1eb2b3={})=>{const _0x4a9437=a0_0x257325,_0x11b24f={'oGDBw':_0x4a9437(0x157),'cWGHE':_0x4a9437(0x120),'JUXvW':'user-agent','wAYJU':function(_0x17542a,_0x162649){return _0x17542a>=_0x162649;},'QaJXi':'warn','pHCwd':function(_0x269909,_0x5daf91){return _0x269909>=_0x5daf91;}},_0x398cb4={'event':_0x11b24f[_0x4a9437(0x1a5)],'errorName':_0x358588['name']||_0x11b24f['cWGHE'],'errorMessage':_0x358588[_0x4a9437(0x13c)],'errorCode':_0x358588[_0x4a9437(0x19a)]||_0x358588['statusCode']||0x1f4,'stack':_0x358588['stack'],'method':_0x4f64f9?.['method'],'url':_0x4f64f9?.[_0x4a9437(0x14b)]||_0x4f64f9?.['originalUrl'],'path':_0x4f64f9?.['path'],'ip':_0x4f64f9?.['ip']||_0x4f64f9?.[_0x4a9437(0x135)]?.['remoteAddress'],'userAgent':_0x4f64f9?.[_0x4a9437(0x171)]?.(_0x11b24f['JUXvW']),'requestId':_0x4f64f9?.['id']||_0x4f64f9?.['headers']?.[_0x4a9437(0x167)],'body':_0x4f64f9?.['body']?redactObject(_0x4f64f9[_0x4a9437(0x19d)]):undefined,'query':_0x4f64f9?.[_0x4a9437(0x181)],..._0x1eb2b3},_0x4af8e9=_0x358588['statusCode']||_0x358588['status']||0x1f4,_0x4c0c8e=_0x4a9437(0x17a)+_0x4af8e9+':\x20'+_0x358588[_0x4a9437(0x13c)];_0x11b24f['wAYJU'](_0x4af8e9,0x1f4)?logger[_0x4a9437(0x1aa)](_0x398cb4,_0x4c0c8e):logger[_0x4a9437(0x136)](_0x398cb4,_0x4c0c8e),writeToFileLog({..._0x398cb4,'level':_0x4af8e9>=0x1f4?'error':_0x11b24f['QaJXi'],'msg':_0x4c0c8e,'time':new Date()[_0x4a9437(0x168)]()},_0x11b24f[_0x4a9437(0x18c)](_0x4af8e9,0x1f4)?_0x4a9437(0x1aa):'warn');},logUncaughtError=(_0x29de3a,_0x2ca0c9)=>{const _0x7bb848=a0_0x257325,_0x15707f={'SpRwE':'Error','uVtgD':_0x7bb848(0x15b),'gUOaS':_0x7bb848(0x1cc)},_0x3f6a29={'event':_0x29de3a,'errorName':_0x2ca0c9?.['name']||_0x15707f['SpRwE'],'errorMessage':_0x2ca0c9?.[_0x7bb848(0x13c)]||String(_0x2ca0c9),'errorCode':_0x2ca0c9?.[_0x7bb848(0x19a)]||null,'stack':_0x2ca0c9?.['stack'],'severity':_0x15707f['uVtgD'],'processId':process[_0x7bb848(0x147)],'memoryUsage':process[_0x7bb848(0x165)](),'uptime':process[_0x7bb848(0x193)]()},_0x2277cf='['+_0x29de3a['toUpperCase']()+']\x20'+(_0x2ca0c9?.['message']||_0x2ca0c9);logger['fatal'](_0x3f6a29,_0x2277cf),writeToFileLog({..._0x3f6a29,'level':_0x15707f[_0x7bb848(0x1b0)],'msg':_0x2277cf,'time':new Date()[_0x7bb848(0x168)]()},_0x7bb848(0x1aa));},setupGlobalErrorHandlers=()=>{const _0x2763f9=a0_0x257325,_0x5f1154={'QzeXE':function(_0x1eff71,_0xf75d89,_0x52cb36){return _0x1eff71(_0xf75d89,_0x52cb36);},'YRKfU':'uncaughtException','DETuG':function(_0x1a2ce9,_0xc523ec,_0x2d64df){return _0x1a2ce9(_0xc523ec,_0x2d64df);},'PxYVS':function(_0xa9ea1a,_0x1e7e2f){return _0xa9ea1a(_0x1e7e2f);},'HUJZe':'unhandledRejection','lQqZb':'warning','mtZJn':'info'};process['on'](_0x2763f9(0x133),_0x275ca0=>{const _0x154418=_0x2763f9;_0x5f1154['QzeXE'](logUncaughtError,_0x5f1154['YRKfU'],_0x275ca0),_0x5f1154[_0x154418(0x161)](setTimeout,()=>{const _0x16b3ae=_0x154418;process[_0x16b3ae(0x148)](0x1);},0x3e8);}),process['on'](_0x2763f9(0x1c2),(_0x5020f6,_0x3b3a0e)=>{const _0x2ed322=_0x2763f9,_0x7b3422=_0x5020f6 instanceof Error?_0x5020f6:new Error(_0x5f1154[_0x2ed322(0x14e)](String,_0x5020f6));logUncaughtError(_0x5f1154['HUJZe'],_0x7b3422);}),process['on'](_0x5f1154['lQqZb'],_0x8dc67a=>{const _0x15523d=_0x2763f9;logger['warn']({'event':'process_warning','name':_0x8dc67a[_0x15523d(0x1c3)],'message':_0x8dc67a[_0x15523d(0x13c)],'stack':_0x8dc67a['stack']},_0x15523d(0x177)+_0x8dc67a[_0x15523d(0x13c)]);});const _0x56a22c={'event':_0x2763f9(0x11f)},_0x521df7=_0x2763f9(0x14d);logger['info'](_0x56a22c,_0x521df7),_0x5f1154['QzeXE'](writeToFileLog,{..._0x56a22c,'level':_0x2763f9(0x186),'msg':_0x521df7,'time':new Date()[_0x2763f9(0x168)]()},_0x5f1154['mtZJn']);},createErrorHandlerMiddleware=()=>{const _0x11b389={'JPmjA':function(_0x220f95,_0xf5b73){return _0x220f95>=_0xf5b73;}};return(_0x335a5b,_0xacd83b,_0x1dba1e,_0x2c93d8)=>{const _0x327e38=a0_0x209b;logHttpError(_0x335a5b,_0xacd83b);const _0x5a3173=_0x335a5b['statusCode']||_0x335a5b[_0x327e38(0x18e)]||0x1f4;_0x1dba1e['status'](_0x5a3173)['json']({'success':![],'error':_0x11b389['JPmjA'](_0x5a3173,0x1f4)?'Internal\x20server\x20error':_0x335a5b['message'],'requestId':_0xacd83b['id']||_0xacd83b[_0x327e38(0x1af)]?.[_0x327e38(0x167)]||null});};};module[a0_0x257325(0x14c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x3d5fbd=a0_0xfd83;(function(_0x18104b,_0xf0a785){const _0x1ef72f=a0_0xfd83,_0x1ba5dd=_0x18104b();while(!![]){try{const _0xb6d152=parseInt(_0x1ef72f(0x233))/0x1+-parseInt(_0x1ef72f(0x1cb))/0x2+parseInt(_0x1ef72f(0x1f2))/0x3+-parseInt(_0x1ef72f(0x267))/0x4+-parseInt(_0x1ef72f(0x1cf))/0x5+-parseInt(_0x1ef72f(0x238))/0x6*(-parseInt(_0x1ef72f(0x1f4))/0x7)+-parseInt(_0x1ef72f(0x25a))/0x8*(-parseInt(_0x1ef72f(0x251))/0x9);if(_0xb6d152===_0xf0a785)break;else _0x1ba5dd['push'](_0x1ba5dd['shift']());}catch(_0x472244){_0x1ba5dd['push'](_0x1ba5dd['shift']());}}}(a0_0x2507,0x6be33));const pino=require(a0_0x3d5fbd(0x231)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x3d5fbd(0x205),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x2507(){const _0x1f291b=['DxnLCI1Hz2vUDa','ChjVAMvJDa','Ec1Yzxf1zxn0lwLK','icbizwfSDgG6ia','zKv0DLa','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhrhDva','lI9SB2DZlW','Ahj0Aw1L','uhjVy2vZCYbxyxjUAw5NoIa','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','Dg9mB3DLCKnHC2u','C3rHy2S','rxjYB3i','D2fYBG','zgvIDwC','CgLU','B3jPz2LUywXvCMW','zgjFCxvLCNK','Bwf4','uwDjzMy','te9hx0rjuG','ChDK','C3rYAw5NAwz5','CgLUBW','vunzBgK','mte5mZC0wfvIC1n1','rff0tMG','BwfW','v0jODNy','CgfKrw5K','nZm4ndyYvxLeC2vh','Dg9Rzw4','teLSr0m','zxjYB3iUBg9N','Bg9N','vfjbtLnbq1rjt05Fq09ntuLu','icdIHPiG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2HPBgq','DMDJELO','sfjcCMy','C3rYAw5N','DuznDwO','zxHPDa','yKr2z08','AxntBg93','qvbqx1zfuLnjt04','iokvKqRILzeGifbYB2PLy3qGicaGidOG','A2v5CW','yxbPs2v5','iokvKqRILzeGifbVCNqGicaGicaGidOG','BwTKAxjtEw5J','y3jLyxrLv3jPDgvtDhjLyw0','rgvMyxvSDa','D3rtBhm','ouLny0TKvq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','u2vYDMvYihn0yxj0Aw5NoIa','CMvWzwf0','E21Zz30','AM9PBG','rKfyuNm','BwvTB3j5vxnHz2u','Aw5MBW','mJm2odq3mLfVqvnXyG','Bw9KDwXL','CxzMCe0','C2vJCMv0','CMvTB3rLqwrKCMvZCW','ChjPDMf0zwTLEq','CgfZC3DK','zw5KCg9PBNrFCMvNAxn0zxjLza','yMfZzvvYBa','zw52AxjVBM1LBNq','vhjHBNnHy3rPB24G','DhjPBq','Dxb0Aw1L','mtaXodmYne1Uue9Xta','ywnJzxnZx3rVA2vU','C29Tzq','C3rHDhvZq29Kzq','DxnLCG','C3rHCNrZv2L0Aa','AgvHBhrOq2HLy2S','zeLlueq','yxPsBMq','DxjS','u0vmrunu','u1rbuLqGvfjbtLnbq1rjt04','revmrvrf','qMPxEw4','w09lxsbqCM9Qzwn0igXVywrLzdOG','CgfZC3DVCMq','w1jfrefdveveoNrVA2vUxq','sLDux1nfq1jfva','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','y29Kzq','zxHWB3j0CW','CgLUBY1WCMv0DhK','tI9b','tufYyxG','iokvKqRILzeGiefqssblzxKGicaGidOG','qunusvzf','nZe3mZa2thv3qNrL','zMXVB3i','rKfuquW6ia','BwvZC2fNzq','mZe1mtG5me1TC2reDG','C2vYDMvYx3n0yxj0Aw5N','Bwv0Ag9K','BMfTzq','Cg9YDa','Cgf0Aa','y29UBMvJDgLVBG','zhvYyxrPB25nCW','zMf0ywXFzxjYB3i','zxjYB3i','Ag9ZDa','zgjFDhjHBNnHy3rPB24','BwXXD1G','zxjY','yxbPx2TLEq','y1L6tNu','AgvHzgvYCW','yxzequW','z1fQAxa','BgvUz3rO','yxbPx3nLy3jLDa','Dg9vChbLCKnHC2u','C3fSx3f1zxj5','y0XIAfq','wLz4yuW','CM93C0fMzMvJDgvK','vu5ltK9xtG','BxmP','ChjVy2vZC193yxjUAw5N','zunMr3G','Cg9ZDgDYzxnXBa','ugHlvNu','yxbPA2v5','vKfjBuW','zgf0ywjHC2u','mtiYnty0mvnXvNjrEG','z3LzsMK','ndLnAgfpvxq','t0PevLm','rwvpAMq','ANnVBG','tK9uiefdveLwrq','zxHPC3rZu3LUyW','CMvWBgfJzq','C2vYDMLJzuLUzM8','tM9Kzs5QCW','iokvKqRILzeGienVBMzPzYaGicaGidOG','reiGuxvLCNK','zMf0ywW','C0Dzs3G','Aw5JBhvKzxm','C3rKvgLTzuz1BMn0Aw9UCW','wxPTBxO','Dw5JyxvNAhrfEgnLChrPB24','CMvZDgzVCMDL','Bwf0y2G','sfruuca','EwTSywm','D3jPDgu','Dg9ju09tDhjPBMC','C3bSAxq','DhLWzq','uxfjExy','shbfuuC','CfvIrfK','DgvZDa','y3jLzgvUDgLHBa','ms4WlJu','Dg9gAxHLza','C3rHDhvZ','rhL5r2q','zw52','rejFueftu1DpuKq'];a0_0x2507=function(){return _0x1f291b;};return a0_0x2507();}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x3d5fbd(0x255),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x3d5fbd(0x216)]['LOG_LEVEL']||a0_0x3d5fbd(0x259);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3d5fbd(0x1c6),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3d5fbd(0x205),'version':process[a0_0x3d5fbd(0x216)][a0_0x3d5fbd(0x248)]||a0_0x3d5fbd(0x212),'env':process[a0_0x3d5fbd(0x216)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x3d5fbd(0x202)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3d5fbd(0x252),a0_0x3d5fbd(0x276),'token','apiKey',a0_0x3d5fbd(0x217),a0_0x3d5fbd(0x278)],'censor':'[REDACTED]'},'serializers':{'req':_0x414e6e=>({'id':_0x414e6e['id'],'method':_0x414e6e['method'],'url':_0x414e6e[a0_0x3d5fbd(0x270)],'path':_0x414e6e[a0_0x3d5fbd(0x1d4)],'remoteAddress':_0x414e6e['ip']||_0x414e6e['connection']?.['remoteAddress']}),'res':_0x228ae8=>({'statusCode':_0x228ae8['statusCode'],'headers':_0x228ae8['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x3d5fbd(0x1dc)]}});function initFileLogging(){const _0x476f60=a0_0x3d5fbd,_0x41dffb={'HRBrf':function(_0x205cb9,_0xba4cd9){return _0x205cb9===_0xba4cd9;},'SGctT':'default','eCfGx':function(_0x573dae,_0x5d21c5){return _0x573dae===_0x5d21c5;},'OSsxm':function(_0x515702,_0xc9a277){return _0x515702(_0xc9a277);},'aLkFS':'app.log','XCjRX':function(_0x52344c,_0x454aca,_0x2ef5ee){return _0x52344c(_0x454aca,_0x2ef5ee);}};if(fileLoggingInitialized)return;logToFile=_0x41dffb[_0x476f60(0x242)](process[_0x476f60(0x216)]['LOG_TO_FILE'],'true');const _0x35a3f3=process[_0x476f60(0x216)][_0x476f60(0x23f)]||_0x41dffb['SGctT'];logDir=process['env'][_0x476f60(0x22e)]||_0x476f60(0x21f)+_0x35a3f3,serviceName=process[_0x476f60(0x216)]['SERVICE_NAME']||_0x476f60(0x205),sqlLogEnabled=_0x41dffb[_0x476f60(0x1ec)](process[_0x476f60(0x216)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x41dffb['OSsxm'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x55260d=path['resolve'](process['cwd'](),logDir);try{!fs[_0x476f60(0x1f9)](_0x55260d)&&fs[_0x476f60(0x24d)](_0x55260d,{'recursive':!![]});}catch(_0x1b5346){console[_0x476f60(0x1d8)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x55260d+':',_0x1b5346[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];return;}const _0x21fedd=path[_0x476f60(0x256)](_0x55260d,_0x41dffb['aLkFS']),_0x26af89=path['join'](_0x55260d,_0x476f60(0x23b));try{appLogStream=fs[_0x476f60(0x24e)](_0x21fedd,{'flags':'a'}),errorLogStream=fs[_0x476f60(0x24e)](_0x26af89,{'flags':'a'}),fileLoggingInitialized=!![];const _0x39ba4d={'event':'file_logging_enabled','logDir':_0x55260d,'files':['app.log',_0x476f60(0x23b)]},_0x13ad06='File\x20logging\x20enabled:\x20'+_0x55260d;logger[_0x476f60(0x259)](_0x39ba4d,_0x13ad06),_0x41dffb['XCjRX'](writeToFileLog,{..._0x39ba4d,'level':_0x476f60(0x259),'msg':_0x13ad06,'time':new Date()['toISOString']()},_0x476f60(0x259));}catch(_0xbdc72a){console['error'](_0x476f60(0x21d),_0xbdc72a[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5ed4cf,_0x3e12d6){const _0x23ea92=a0_0x3d5fbd,_0x2d7e83={'Yzmmz':function(_0xe5f8d8,_0x3ce2ef){return _0xe5f8d8||_0x3ce2ef;}};if(_0x2d7e83[_0x23ea92(0x203)](!logToFile,!appLogStream))return;const _0xcd2e2d={'service':serviceName,..._0x5ed4cf},_0x260a41=JSON[_0x23ea92(0x230)](_0xcd2e2d)+'\x0a';appLogStream[_0x23ea92(0x209)](_0x260a41),(_0x3e12d6===_0x23ea92(0x1d8)||_0x3e12d6===_0x23ea92(0x1ff))&&(errorLogStream&&errorLogStream[_0x23ea92(0x209)](_0x260a41));}const createRequestLogger=(_0x7e0630={})=>{const _0x1e8b71=a0_0x3d5fbd;return logger[_0x1e8b71(0x240)](_0x7e0630);},logServerStart=_0x4a5a0b=>{const _0x5e7e75=a0_0x3d5fbd,_0x2b911f={'FAXRs':function(_0x2b9e21,_0x1d5b94){return _0x2b9e21-_0x1d5b94;},'bZqGe':function(_0x14efdb,_0x2ee4b5){return _0x14efdb/_0x2ee4b5;},'dIKPD':function(_0x375341,_0x3798c5){return _0x375341-_0x3798c5;},'RPPPV':_0x5e7e75(0x1c7),'fltYi':_0x5e7e75(0x24f),'MArax':_0x5e7e75(0x1ca),'BjWyn':_0x5e7e75(0x1f8),'kfYYm':_0x5e7e75(0x1d0),'ktaKH':'info'},_0x5c0c95='RESTFORGE\x20RUNTIME\x20SERVER',_0x59ba0d=Math[_0x5e7e75(0x22c)](0x0,_0x2b911f[_0x5e7e75(0x257)](0x37,_0x5c0c95['length'])),_0x276d22=Math[_0x5e7e75(0x1cc)](_0x2b911f['bZqGe'](_0x59ba0d,0x2)),_0x5143b1=_0x2b911f[_0x5e7e75(0x26e)](_0x59ba0d,_0x276d22),_0x1fb9be='║'+'\x20'[_0x5e7e75(0x254)](_0x276d22)+_0x5c0c95+'\x20'[_0x5e7e75(0x254)](_0x5143b1)+'║',_0x49224a='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x1fb9be+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x4a5a0b[_0x5e7e75(0x263)]||_0x5e7e75(0x1fc))[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x249)+(_0x4a5a0b['project']||_0x2b911f['RPPPV'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x24c)+String(_0x4a5a0b[_0x5e7e75(0x1d3)]||0xbb8)[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1fd)+(_0x4a5a0b['configFile']||_0x2b911f['fltYi'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1c9)+(_0x4a5a0b[_0x5e7e75(0x24b)]?_0x2b911f[_0x5e7e75(0x1c8)]:_0x2b911f[_0x5e7e75(0x274)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x5e7e75(0x23c)](_0x49224a);const _0x540439={'event':_0x2b911f['kfYYm'],'project':_0x4a5a0b[_0x5e7e75(0x219)],'port':_0x4a5a0b[_0x5e7e75(0x1d3)],'config':_0x4a5a0b['configFile'],'apiKeyEnabled':!!_0x4a5a0b[_0x5e7e75(0x24b)]};logger['info'](_0x540439),writeToFileLog({..._0x540439,'level':'info','msg':_0x5e7e75(0x253)+_0x4a5a0b[_0x5e7e75(0x219)]+'\x20on\x20port\x20'+_0x4a5a0b[_0x5e7e75(0x1d3)],'time':new Date()['toISOString']()},_0x2b911f['ktaKH']);},logServerReady=_0x25ba5e=>{const _0x4b9a89=a0_0x3d5fbd,_0x3f945e={'DyyGd':function(_0x2f51fb,_0x529d59,_0x36276e){return _0x2f51fb(_0x529d59,_0x36276e);},'nqKMg':'info'},_0x487102={'event':'server_ready','port':_0x25ba5e[_0x4b9a89(0x1d3)],'module':_0x25ba5e[_0x4b9a89(0x25b)],'healthCheck':_0x25ba5e[_0x4b9a89(0x26d)],'serviceInfo':_0x25ba5e[_0x4b9a89(0x1fb)],'baseUrl':_0x25ba5e[_0x4b9a89(0x262)]},_0x236801='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x25ba5e[_0x4b9a89(0x1d3)];logger[_0x4b9a89(0x259)](_0x487102,_0x236801),_0x3f945e[_0x4b9a89(0x215)](writeToFileLog,{..._0x487102,'level':_0x4b9a89(0x259),'msg':_0x236801,'time':new Date()[_0x4b9a89(0x20a)]()},_0x3f945e['nqKMg']),_0x25ba5e['healthCheck']&&logger['info'](_0x4b9a89(0x21b)+_0x25ba5e[_0x4b9a89(0x26d)]),_0x25ba5e['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x25ba5e['serviceInfo']),_0x25ba5e[_0x4b9a89(0x262)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x25ba5e['baseUrl']);},logProjectLoaded=(_0x1edea5,_0x187e98)=>{const _0x5caf44=a0_0x3d5fbd,_0x1a62c5={'event':_0x5caf44(0x223),'project':_0x1edea5,'path':_0x187e98},_0x488df5=_0x5caf44(0x275)+_0x1edea5;logger['info'](_0x1a62c5,_0x488df5),writeToFileLog({..._0x1a62c5,'level':'info','msg':_0x488df5,'time':new Date()[_0x5caf44(0x20a)]()},'info');},logEndpointRegistered=(_0x53f547,_0x196737)=>{const _0x4c258d=a0_0x3d5fbd,_0x597b38={'QgIff':function(_0x133226,_0x3584e2,_0x118987){return _0x133226(_0x3584e2,_0x118987);},'blDnQ':'debug'},_0x301149={'event':_0x4c258d(0x261),'endpoint':_0x53f547,'route':_0x196737},_0x138242=_0x4c258d(0x23e)+_0x53f547+':\x20'+_0x196737;logger[_0x4c258d(0x228)](_0x301149,_0x138242),_0x597b38[_0x4c258d(0x22d)](writeToFileLog,{..._0x301149,'level':_0x597b38['blDnQ'],'msg':_0x138242,'time':new Date()[_0x4c258d(0x20a)]()},_0x4c258d(0x228));},logDatabaseConfig=_0x5c657a=>{const _0x3a1446=a0_0x3d5fbd,_0x3e4443={'myFJf':'database_config','HpEQG':'debug'},_0xd36590={'event':_0x3e4443['myFJf'],'host':_0x5c657a['host'],'port':_0x5c657a['port'],'database':_0x5c657a['database'],'type':_0x5c657a[_0x3a1446(0x20c)],'user':_0x5c657a[_0x3a1446(0x26b)]},_0x6af57d='Database:\x20'+_0x5c657a['type']+'://'+_0x5c657a[_0x3a1446(0x1d9)]+':'+_0x5c657a['port']+'/'+_0x5c657a[_0x3a1446(0x1f1)];logger['debug'](_0xd36590,_0x6af57d),writeToFileLog({..._0xd36590,'level':'debug','msg':_0x6af57d,'time':new Date()[_0x3a1446(0x20a)]()},_0x3e4443[_0x3a1446(0x20e)]);},logRequest=(_0x127455,_0x5eb303,_0x146dea)=>{const _0x4b1606=a0_0x3d5fbd,_0x597c5={'VAImL':function(_0x175709,_0x2d3198){return _0x175709>=_0x2d3198;}},_0x3984cd={'event':'http_request','method':_0x127455[_0x4b1606(0x1d1)],'path':_0x127455[_0x4b1606(0x1d4)],'statusCode':_0x5eb303[_0x4b1606(0x26a)],'durationMs':_0x146dea,'ip':_0x127455['ip']},_0x55d316=_0x127455['method']+'\x20'+_0x127455['path']+'\x20-\x20'+_0x5eb303[_0x4b1606(0x26a)]+'\x20('+_0x146dea+_0x4b1606(0x1ea);let _0x5ac40c='info';if(_0x5eb303['statusCode']>=0x1f4)_0x5ac40c='error',logger[_0x4b1606(0x1d8)](_0x3984cd,_0x55d316);else _0x597c5[_0x4b1606(0x1f0)](_0x5eb303[_0x4b1606(0x26a)],0x190)?(_0x5ac40c='warn',logger['warn'](_0x3984cd,_0x55d316)):logger['info'](_0x3984cd,_0x55d316);writeToFileLog({..._0x3984cd,'level':_0x5ac40c,'msg':_0x55d316,'time':new Date()['toISOString']()},_0x5ac40c);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x3d5fbd(0x260),a0_0x3d5fbd(0x22f),'token',a0_0x3d5fbd(0x268),'refresh_token','secret',a0_0x3d5fbd(0x1e3),a0_0x3d5fbd(0x1ef),a0_0x3d5fbd(0x1dd),a0_0x3d5fbd(0x211),a0_0x3d5fbd(0x27a),a0_0x3d5fbd(0x229),'otp',a0_0x3d5fbd(0x27b),a0_0x3d5fbd(0x25f)],redactSensitiveParams=(_0x17a950,_0x31b8ce)=>{const _0x111d62=a0_0x3d5fbd,_0x33e827={'ZVxaL':function(_0x2e5fa1,_0x249676){return _0x2e5fa1>_0x249676;}};if(!_0x17a950||_0x17a950[_0x111d62(0x1e2)]===0x0)return _0x17a950;const _0x1f393b=_0x31b8ce[_0x111d62(0x224)](),_0x1292cb=_0x1f393b['match'](/\(([^)]+)\)\s*values/i);let _0x50a850=[];_0x1292cb&&(_0x50a850=_0x1292cb[0x1][_0x111d62(0x20b)](',')[_0x111d62(0x235)](_0x29e9c1=>_0x29e9c1[_0x111d62(0x265)]()['toLowerCase']()));const _0x125411=_0x1f393b[_0x111d62(0x206)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x125411){const _0x1c1277=_0x125411[0x1],_0x3a64d1=_0x1c1277['match'](/(\w+)\s*=/g);_0x3a64d1&&(_0x50a850=_0x3a64d1[_0x111d62(0x235)](_0x344ab6=>_0x344ab6[_0x111d62(0x1fa)](/\s*=/,'')['trim']()[_0x111d62(0x224)]()));}return _0x17a950['map']((_0xc8e685,_0x242ace)=>{const _0x1d5e75=_0x111d62;if(_0x50a850[_0x242ace]){const _0x4862a1=_0x50a850[_0x242ace],_0x3fe324=SENSITIVE_PARAM_PATTERNS['some'](_0xe43267=>_0x4862a1[_0x1d5e75(0x201)](_0xe43267));if(_0x3fe324)return'[REDACTED]';}if(typeof _0xc8e685===_0x1d5e75(0x243)&&_0x33e827[_0x1d5e75(0x1e7)](_0xc8e685['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xc8e685)&&_0xc8e685[_0x1d5e75(0x201)]('.'))return _0x1d5e75(0x277);if(/^[a-fA-F0-9]{32,}$/[_0x1d5e75(0x210)](_0xc8e685))return'[REDACTED:hash]';}return _0xc8e685;});},parseQueryMetadata=_0x1731bf=>{const _0x43d65e=a0_0x3d5fbd,_0x16c4ff={'fEtvP':'INSERT','EeOjd':'UPDATE','OJDVS':_0x43d65e(0x273),'wrTMK':'BEGIN','QqIyv':_0x43d65e(0x272),'svtPZ':'TRANSACTION_BEGIN','WrmoY':'COMMIT','NapIX':'ROLLBACK','HfOVy':'TRANSACTION_ROLLBACK','PhKVu':'CREATE','yklac':'ALTER','FphLy':'DDL_ALTER','eIPAH':'DDL_DROP'},_0x46eb78=_0x1731bf['trim'](),_0x3e1e2c=_0x46eb78['toUpperCase']();let _0x255038=_0x43d65e(0x1e9),_0x50b69f=null;if(_0x3e1e2c[_0x43d65e(0x26c)](_0x43d65e(0x271))){_0x255038=_0x43d65e(0x271);const _0x34e244=_0x46eb78['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x34e244?_0x34e244[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)]('INSERT')){_0x255038=_0x16c4ff[_0x43d65e(0x21c)];const _0x976bcd=_0x46eb78['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x976bcd?_0x976bcd[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1f6)])){_0x255038=_0x16c4ff['EeOjd'];const _0x45c264=_0x46eb78[_0x43d65e(0x206)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x45c264?_0x45c264[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x1f5)])){_0x255038=_0x43d65e(0x273);const _0x141e1e=_0x46eb78[_0x43d65e(0x206)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x141e1e?_0x141e1e[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff['wrTMK'])||_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x20d)]))_0x255038=_0x16c4ff['svtPZ'];else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff['WrmoY']))_0x255038=_0x43d65e(0x23d);else{if(_0x3e1e2c['startsWith'](_0x16c4ff['NapIX']))_0x255038=_0x16c4ff['HfOVy'];else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1ee)]))_0x255038='DDL_CREATE';else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x208)]))_0x255038=_0x16c4ff['FphLy'];else _0x3e1e2c['startsWith']('DROP')&&(_0x255038=_0x16c4ff['eIPAH']);}}}}}}}}return{'type':_0x255038,'table':_0x50b69f};},startQueryTimer=()=>{const _0x5c5980=a0_0x3d5fbd,_0x596bff={'ciHpt':function(_0x3f6433,_0x51b111){return _0x3f6433*_0x51b111;},'JKnNt':function(_0x3cb352,_0x52396f){return _0x3cb352/_0x52396f;}},_0x1079fa=process[_0x5c5980(0x220)]();return()=>{const _0xa87c9b=_0x5c5980,[_0x20d390,_0x483881]=process['hrtime'](_0x1079fa);return parseFloat((_0x596bff['ciHpt'](_0x20d390,0x3e8)+_0x596bff['JKnNt'](_0x483881,0xf4240))[_0xa87c9b(0x213)](0x2));};},logQuery=(_0x2bda20,_0x29c5e9=[],_0x11dc12={})=>{const _0x5a4554=a0_0x3d5fbd,_0x375659={'BzlJm':_0x5a4554(0x22b),'sGYKx':_0x5a4554(0x1fe),'vgczZ':function(_0x507d35,_0x364b68){return _0x507d35(_0x364b68);},'TtGuP':_0x5a4554(0x1e5),'WBhvv':function(_0x157a38,_0x1751f6){return _0x157a38>_0x1751f6;},'dXROk':function(_0x4bc5ff,_0x22252e){return _0x4bc5ff!==_0x22252e;},'wlkgJ':function(_0x5a7fe6,_0x4df087){return _0x5a7fe6>_0x4df087;},'LIlGC':function(_0xe8973a,_0x1e681d){return _0xe8973a>_0x1e681d;},'qvfpM':_0x5a4554(0x227),'uFEiK':'info','SFHxp':function(_0x5b7120,_0x487e4a,_0x1ecddc){return _0x5b7120(_0x487e4a,_0x1ecddc);}};if(!sqlLogEnabled){logger['debug']({'event':_0x375659['BzlJm'],'query':_0x2bda20['substring'](0x0,0xc8),'paramCount':_0x29c5e9['length']},_0x375659[_0x5a4554(0x200)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a4554(0x1ed)}=_0x11dc12,{type:_0x3f7af5,table:_0x139b33}=_0x375659[_0x5a4554(0x241)](parseQueryMetadata,_0x2bda20),_0x52834b={'event':_0x375659[_0x5a4554(0x21e)],'queryType':_0x3f7af5,'table':_0x139b33,'query':_0x2bda20,'paramCount':_0x29c5e9['length'],'dbType':dbType};sqlLogParams&&_0x375659[_0x5a4554(0x236)](_0x29c5e9['length'],0x0)&&(_0x52834b['params']=redactSensitiveParams(_0x29c5e9,_0x2bda20));_0x375659['dXROk'](duration,null)&&(_0x52834b[_0x5a4554(0x1d6)]=duration,_0x52834b[_0x5a4554(0x247)]=_0x375659['wlkgJ'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x52834b[_0x5a4554(0x1e8)]=rowsAffected);const _0x3c6271=_0x139b33||'unknown';let _0x3826fe='['+_0x3f7af5+']\x20'+_0x3c6271;duration!==null&&(_0x3826fe+='\x20('+duration+'ms)');const _0xf334e1=duration!==null&&_0x375659[_0x5a4554(0x23a)](duration,sqlLogSlowThreshold);let _0x55e000='debug';if(_0xf334e1)_0x3826fe+='\x20[SLOW]',_0x55e000=_0x375659[_0x5a4554(0x25c)],logger[_0x5a4554(0x227)](_0x52834b,_0x3826fe);else sqlLogLevel===_0x375659['uFEiK']?(_0x55e000=_0x5a4554(0x259),logger['info'](_0x52834b,_0x3826fe)):logger[_0x5a4554(0x228)](_0x52834b,_0x3826fe);_0x375659['SFHxp'](writeToFileLog,{..._0x52834b,'level':_0x55e000,'msg':_0x3826fe,'time':new Date()[_0x5a4554(0x20a)]()},_0x55e000);},logTransaction=(_0x1ba8c1,_0x4f85a1)=>{const _0x4fc209=a0_0x3d5fbd,_0x1e5acd={'event':_0x4fc209(0x1da),'status':_0x1ba8c1,'queryCount':_0x4f85a1},_0x441243=_0x4fc209(0x264)+_0x1ba8c1;logger[_0x4fc209(0x228)](_0x1e5acd,_0x441243),writeToFileLog({..._0x1e5acd,'level':_0x4fc209(0x228),'msg':_0x441243,'time':new Date()[_0x4fc209(0x20a)]()},_0x4fc209(0x228));},redactObject=_0x191bd7=>{const _0x4a9632=a0_0x3d5fbd,_0x388f5d={'azRnd':function(_0x16329d,_0x11a796){return _0x16329d!==_0x11a796;},'UvumQ':_0x4a9632(0x260),'kqXQh':_0x4a9632(0x239),'YqopO':_0x4a9632(0x25d),'psksD':'authorization','cLbhT':'creditcard','uFMuj':'credit_card','mSEzP':'ssn','DQtNh':_0x4a9632(0x229),'pUbDY':_0x4a9632(0x25f),'NeFBG':'[REDACTED]','zGlsf':function(_0x5bfcc1,_0x4f276a){return _0x5bfcc1===_0x4f276a;},'oPZOk':function(_0x1fe2f7,_0x4922e5){return _0x1fe2f7!==_0x4922e5;}};if(!_0x191bd7||_0x388f5d[_0x4a9632(0x26f)](typeof _0x191bd7,'object'))return _0x191bd7;const _0x1d2fe7=[_0x4a9632(0x276),_0x388f5d['UvumQ'],_0x4a9632(0x22f),_0x388f5d['kqXQh'],_0x388f5d['YqopO'],'apikey',_0x4a9632(0x1dd),_0x388f5d['psksD'],_0x388f5d[_0x4a9632(0x1e6)],_0x388f5d[_0x4a9632(0x244)],'cvv',_0x388f5d['mSEzP'],_0x388f5d[_0x4a9632(0x234)],'private_key',_0x388f5d[_0x4a9632(0x20f)],_0x4a9632(0x222),'access_token'],_0x2f99f1=Array['isArray'](_0x191bd7)?[..._0x191bd7]:{..._0x191bd7};for(const _0x7dd48 of Object[_0x4a9632(0x24a)](_0x2f99f1)){const _0x211abb=_0x7dd48[_0x4a9632(0x224)]();if(_0x1d2fe7[_0x4a9632(0x269)](_0x547258=>_0x211abb['includes'](_0x547258)))_0x2f99f1[_0x7dd48]=_0x388f5d['NeFBG'];else _0x388f5d['zGlsf'](typeof _0x2f99f1[_0x7dd48],'object')&&_0x388f5d['oPZOk'](_0x2f99f1[_0x7dd48],null)&&(_0x2f99f1[_0x7dd48]=redactObject(_0x2f99f1[_0x7dd48]));}return _0x2f99f1;},logError=(_0x3ed443,_0x1a0391={},_0x5df7c0=null)=>{const _0x46b5b0=a0_0x3d5fbd,_0x1e0d47={'QiMjh':function(_0x725904,_0x48dcbf,_0xeb71e4){return _0x725904(_0x48dcbf,_0xeb71e4);},'MBYdG':'error'},_0x57c3c3={'event':'error','errorName':_0x3ed443[_0x46b5b0(0x1d2)]||_0x46b5b0(0x226),'errorMessage':_0x3ed443[_0x46b5b0(0x1ce)],'errorCode':_0x3ed443[_0x46b5b0(0x27c)]||null,'stack':_0x3ed443[_0x46b5b0(0x225)],..._0x1a0391},_0x114085=_0x5df7c0||'Error:\x20'+_0x3ed443['message'];logger['error'](_0x57c3c3,_0x114085),_0x1e0d47['QiMjh'](writeToFileLog,{..._0x57c3c3,'level':_0x1e0d47['MBYdG'],'msg':_0x114085,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x26f51d,_0x100371={},_0x51bf7e=null)=>{const _0x4497d6=a0_0x3d5fbd,_0x5e57da={'YVmyM':_0x4497d6(0x1d7),'avDAL':'CRITICAL','BXkPR':_0x4497d6(0x1d8)},_0x4fd1b5={'event':_0x5e57da['YVmyM'],'errorName':_0x26f51d[_0x4497d6(0x1d2)]||_0x4497d6(0x226),'errorMessage':_0x26f51d['message'],'errorCode':_0x26f51d['code']||null,'stack':_0x26f51d['stack'],'severity':_0x5e57da[_0x4497d6(0x1e0)],..._0x100371},_0x437677=_0x51bf7e||_0x4497d6(0x1cd)+_0x26f51d[_0x4497d6(0x1ce)];logger['fatal'](_0x4fd1b5,_0x437677),writeToFileLog({..._0x4fd1b5,'level':'fatal','msg':_0x437677,'time':new Date()[_0x4497d6(0x20a)]()},_0x5e57da['BXkPR']);},logHttpError=(_0x553f30,_0x4c690c,_0x1e413d={})=>{const _0x59c40d=a0_0x3d5fbd,_0x3f97db={'UCYli':_0x59c40d(0x218),'OZPXE':'x-request-id','iruxK':function(_0x6f28b8,_0xe53b9){return _0x6f28b8>=_0xe53b9;},'izepv':'error'},_0x341556={'event':'http_error','errorName':_0x553f30['name']||'Error','errorMessage':_0x553f30['message'],'errorCode':_0x553f30[_0x59c40d(0x27c)]||_0x553f30['statusCode']||0x1f4,'stack':_0x553f30['stack'],'method':_0x4c690c?.[_0x59c40d(0x1d1)],'url':_0x4c690c?.[_0x59c40d(0x270)]||_0x4c690c?.[_0x59c40d(0x22a)],'path':_0x4c690c?.['path'],'ip':_0x4c690c?.['ip']||_0x4c690c?.[_0x59c40d(0x1d5)]?.[_0x59c40d(0x25e)],'userAgent':_0x4c690c?.['get']?.(_0x3f97db[_0x59c40d(0x232)]),'requestId':_0x4c690c?.['id']||_0x4c690c?.[_0x59c40d(0x1df)]?.[_0x3f97db['OZPXE']],'body':_0x4c690c?.['body']?redactObject(_0x4c690c['body']):undefined,'query':_0x4c690c?.['query'],..._0x1e413d},_0x44a4fa=_0x553f30[_0x59c40d(0x26a)]||_0x553f30[_0x59c40d(0x214)]||0x1f4,_0x36e2bd=_0x59c40d(0x207)+_0x44a4fa+':\x20'+_0x553f30['message'];_0x44a4fa>=0x1f4?logger[_0x59c40d(0x1d8)](_0x341556,_0x36e2bd):logger[_0x59c40d(0x227)](_0x341556,_0x36e2bd),writeToFileLog({..._0x341556,'level':_0x3f97db['iruxK'](_0x44a4fa,0x1f4)?_0x3f97db['izepv']:'warn','msg':_0x36e2bd,'time':new Date()['toISOString']()},_0x44a4fa>=0x1f4?_0x3f97db['izepv']:'warn');},logUncaughtError=(_0xa38b23,_0x2c820c)=>{const _0x2ca8e5=a0_0x3d5fbd,_0x3daf47={'iVATj':function(_0x326de4,_0x378951){return _0x326de4(_0x378951);},'TILLu':'CRITICAL','gTiCQ':'fatal'},_0x4fd997={'event':_0xa38b23,'errorName':_0x2c820c?.['name']||_0x2ca8e5(0x226),'errorMessage':_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x3daf47['iVATj'](String,_0x2c820c),'errorCode':_0x2c820c?.[_0x2ca8e5(0x27c)]||null,'stack':_0x2c820c?.['stack'],'severity':_0x3daf47['TILLu'],'processId':process['pid'],'memoryUsage':process[_0x2ca8e5(0x258)](),'uptime':process[_0x2ca8e5(0x266)]()},_0x2159a0='['+_0xa38b23[_0x2ca8e5(0x1e4)]()+']\x20'+(_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x2c820c);logger[_0x2ca8e5(0x1ff)](_0x4fd997,_0x2159a0),writeToFileLog({..._0x4fd997,'level':_0x3daf47['gTiCQ'],'msg':_0x2159a0,'time':new Date()[_0x2ca8e5(0x20a)]()},_0x2ca8e5(0x1d8));},setupGlobalErrorHandlers=()=>{const _0x314001=a0_0x3d5fbd,_0x4012ef={'YAbDu':function(_0x26f192,_0x449093){return _0x26f192 instanceof _0x449093;},'gQjip':_0x314001(0x279),'hlqjf':_0x314001(0x204),'iWdlh':'warning','cYzNu':'global_error_handlers_setup','mlqwX':function(_0x550330,_0x349e78,_0x520559){return _0x550330(_0x349e78,_0x520559);}};process['on'](_0x4012ef['hlqjf'],_0x3c791c=>{const _0x22a9d0=_0x314001;logUncaughtError(_0x22a9d0(0x204),_0x3c791c),setTimeout(()=>{const _0x551d85=_0x22a9d0;process[_0x551d85(0x245)](0x1);},0x3e8);}),process['on'](_0x4012ef[_0x314001(0x1e1)],(_0x597066,_0x1ed9cc)=>{const _0x390c40=_0x314001,_0x2889fa=_0x4012ef['YAbDu'](_0x597066,Error)?_0x597066:new Error(String(_0x597066));logUncaughtError(_0x4012ef[_0x390c40(0x1e1)],_0x2889fa);}),process['on'](_0x4012ef['iWdlh'],_0x2c6c2d=>{const _0x3c7e9b=_0x314001;logger[_0x3c7e9b(0x227)]({'event':_0x3c7e9b(0x1eb),'name':_0x2c6c2d[_0x3c7e9b(0x1d2)],'message':_0x2c6c2d[_0x3c7e9b(0x1ce)],'stack':_0x2c6c2d[_0x3c7e9b(0x225)]},_0x3c7e9b(0x221)+_0x2c6c2d['message']);});const _0x55ef46={'event':_0x4012ef[_0x314001(0x1de)]},_0xbb8ad2='Global\x20error\x20handlers\x20initialized';logger['info'](_0x55ef46,_0xbb8ad2),_0x4012ef[_0x314001(0x1db)](writeToFileLog,{..._0x55ef46,'level':_0x314001(0x259),'msg':_0xbb8ad2,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x3bab9b=a0_0x3d5fbd,_0x2e2f4d={'bDvgO':function(_0x9f788e,_0x35a3e3,_0x4bce6e){return _0x9f788e(_0x35a3e3,_0x4bce6e);},'gyYJi':function(_0x5ee7c1,_0x5042ca){return _0x5ee7c1>=_0x5042ca;},'wtSls':'Internal\x20server\x20error','vlwNs':_0x3bab9b(0x21a)};return(_0x6c0f4f,_0x381479,_0x24f7f9,_0x7dec5d)=>{const _0x3bc63c=_0x3bab9b;_0x2e2f4d[_0x3bc63c(0x246)](logHttpError,_0x6c0f4f,_0x381479);const _0x1075ca=_0x6c0f4f[_0x3bc63c(0x26a)]||_0x6c0f4f[_0x3bc63c(0x214)]||0x1f4;_0x24f7f9['status'](_0x1075ca)[_0x3bc63c(0x1f7)]({'success':![],'error':_0x2e2f4d[_0x3bc63c(0x1f3)](_0x1075ca,0x1f4)?_0x2e2f4d[_0x3bc63c(0x250)]:_0x6c0f4f['message'],'requestId':_0x381479['id']||_0x381479[_0x3bc63c(0x1df)]?.[_0x2e2f4d['vlwNs']]||null});};};function a0_0xfd83(_0x155321,_0x1fa88b){_0x155321=_0x155321-0x1c5;const _0x250774=a0_0x2507();let _0xfd8329=_0x250774[_0x155321];if(a0_0xfd83['kGvXNq']===undefined){var _0x43bea8=function(_0x43bd3){const _0x2c70c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ca100='',_0x52288b='';for(let _0x114bd2=0x0,_0x22ae94,_0x4813b1,_0x319d7d=0x0;_0x4813b1=_0x43bd3['charAt'](_0x319d7d++);~_0x4813b1&&(_0x22ae94=_0x114bd2%0x4?_0x22ae94*0x40+_0x4813b1:_0x4813b1,_0x114bd2++%0x4)?_0x5ca100+=String['fromCharCode'](0xff&_0x22ae94>>(-0x2*_0x114bd2&0x6)):0x0){_0x4813b1=_0x2c70c9['indexOf'](_0x4813b1);}for(let _0x868210=0x0,_0x301ff7=_0x5ca100['length'];_0x868210<_0x301ff7;_0x868210++){_0x52288b+='%'+('00'+_0x5ca100['charCodeAt'](_0x868210)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52288b);};a0_0xfd83['JaXmrX']=_0x43bea8,a0_0xfd83['YaOwPg']={},a0_0xfd83['kGvXNq']=!![];}const _0x1b3729=_0x250774[0x0],_0x1ce2bd=_0x155321+_0x1b3729,_0x879258=a0_0xfd83['YaOwPg'][_0x1ce2bd];return!_0x879258?(_0xfd8329=a0_0xfd83['JaXmrX'](_0xfd8329),a0_0xfd83['YaOwPg'][_0x1ce2bd]=_0xfd8329):_0xfd8329=_0x879258,_0xfd8329;}module[a0_0x3d5fbd(0x1c5)]={'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_0x762cd=a0_0x592a;(function(_0x5b0a88,_0x1e3557){const _0x3bb73a=a0_0x592a,_0x1627d7=_0x5b0a88();while(!![]){try{const _0x9c1c6c=-parseInt(_0x3bb73a(0x1c9))/0x1*(-parseInt(_0x3bb73a(0x1cf))/0x2)+parseInt(_0x3bb73a(0x1d3))/0x3*(-parseInt(_0x3bb73a(0x1fc))/0x4)+parseInt(_0x3bb73a(0x1e3))/0x5*(parseInt(_0x3bb73a(0x1e8))/0x6)+-parseInt(_0x3bb73a(0x1e5))/0x7+-parseInt(_0x3bb73a(0x1f6))/0x8*(parseInt(_0x3bb73a(0x1ca))/0x9)+-parseInt(_0x3bb73a(0x1d2))/0xa*(parseInt(_0x3bb73a(0x1ec))/0xb)+-parseInt(_0x3bb73a(0x1c8))/0xc*(-parseInt(_0x3bb73a(0x1e6))/0xd);if(_0x9c1c6c===_0x1e3557)break;else _0x1627d7['push'](_0x1627d7['shift']());}catch(_0x5f45e9){_0x1627d7['push'](_0x1627d7['shift']());}}}(a0_0x33e6,0x333c5));function a0_0x33e6(){const _0x2d0f3f=['BgvUz3rO','z2v0rgLZDgLUy3rwywX1zxm','iezst00G','zw52','ne1dsNLpyq','C2v0','zxHLy3v0zvf1zxj5','mtiWruTztLHS','ndK3CMTWvgvn','ovrNDxHzvq','tg9VA3vWignHy2HLignSzwfYzwq','D1LZyve','Aw5MBW','BxLZCwW','nJqYuurOr2Lv','Dg9vChbLCKnHC2u','ChvZAa','mZbUt3fLrfu','mtiZntC5nLDztKL1Aq','Bg9VA3vWq2fJAgu','ywXWA1G','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','Dg9mB3DLCKnHC2u','Bg9HzeXVB2T1CfrHyMXL','twjmr08','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','zNjVBq','B3jHy2XL','BwfW','vMfSDwuGiG','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','s3LAyM4','y2XLyxi','lI9KyG','ndCWntG1Eu9HChfY','zgvIDwC','mJuZmdeYmKzHCvnmBG','mti1mdG5owzjvxrrra','AgfZ','mtjqyNbfzwu','iIbUB3qGzM91BMqGAw4G','lI9KyI1VCMfJBgu','v0LjrNe','nZuWnJCZCer3Benr','u0vmrunuia','zM9YrwfJAa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','z2v0','CMvZB2X2zuXVB2T1CfzHBhvL','zw50CMLLCW','A2v5CW','BwvZC2fNzq','zuLmt0W','otC2mJy0wwTgEMzY','Bg9VA3vWx3rHyMXLx2XVywrLza'];a0_0x33e6=function(){return _0x2d0f3f;};return a0_0x33e6();}const dbType=(process[a0_0x762cd(0x1fb)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType===a0_0x762cd(0x1dc)){const oracleDb=require(a0_0x762cd(0x1ea));executeQuery=(_0x455c2a,_0x512729)=>oracleDb['executeQuery'](_0x455c2a,_0x512729);}else{if(dbType===a0_0x762cd(0x1ce)){const mysqlDb=require('./db-mysql');executeQuery=(_0x264c4b,_0x394961)=>mysqlDb[a0_0x762cd(0x1c7)](_0x264c4b,_0x394961);}else executeQuery=require(a0_0x762cd(0x1e2))['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x4f3da8=a0_0x762cd;this[_0x4f3da8(0x1d4)]=new Map();}['clearCache'](){const _0x5d0682=a0_0x762cd,_0x51afa8={'alpkX':'lookup_cache_cleared'};this['lookupCache'][_0x5d0682(0x1e1)](),logger[_0x5d0682(0x1e4)]({'event':_0x51afa8[_0x5d0682(0x1d5)]},_0x5d0682(0x1cb));}async['loadLookupTable'](_0x115850,_0x55fbe5,_0x271abc){const _0x48b882=a0_0x762cd,_0x511716={'KyZbn':function(_0x951cec,_0xcfe476){return _0x951cec!==_0xcfe476;},'MbLGO':function(_0xda5e41,_0x451260){return _0xda5e41(_0x451260);},'sXfMu':function(_0x547c9a,_0x297261){return _0x547c9a(_0x297261);},'XRecK':_0x48b882(0x1da)},_0x4064d4=_0x115850+':'+_0x55fbe5+':'+_0x271abc;if(this[_0x48b882(0x1d4)][_0x48b882(0x1e7)](_0x4064d4))return this['lookupCache']['get'](_0x4064d4);try{const _0x1c3ae6=_0x48b882(0x1ed)+_0x271abc+',\x20'+_0x55fbe5+_0x48b882(0x1fa)+_0x115850,_0x399f5c=await _0x511716['sXfMu'](executeQuery,_0x1c3ae6),_0x3c5a43=new Map();return _0x399f5c[_0x48b882(0x1ee)](_0x21c86d=>{const _0x40af2b=_0x48b882,_0x4fcdf9=_0x21c86d[_0x55fbe5]!==undefined?_0x21c86d[_0x55fbe5]:_0x21c86d[_0x55fbe5[_0x40af2b(0x1d0)]()],_0xce24d7=_0x511716[_0x40af2b(0x1e0)](_0x21c86d[_0x271abc],undefined)?_0x21c86d[_0x271abc]:_0x21c86d[_0x271abc['toUpperCase']()];_0x511716['KyZbn'](_0x4fcdf9,null)&&_0x4fcdf9!==undefined&&(_0x3c5a43['set'](String(_0x4fcdf9)[_0x40af2b(0x1d7)]()['trim'](),_0xce24d7),_0x3c5a43['set'](_0x511716[_0x40af2b(0x1d9)](String,_0x4fcdf9)['trim'](),_0xce24d7));}),this['lookupCache'][_0x48b882(0x1c6)](_0x4064d4,_0x3c5a43),logger['info']({'event':_0x48b882(0x1f7),'table':_0x115850,'column':_0x55fbe5,'count':_0x399f5c[_0x48b882(0x1f8)]},'Lookup\x20table\x20loaded:\x20'+_0x115850),_0x3c5a43;}catch(_0x11ebb3){logger['error']({'event':_0x511716['XRecK'],'table':_0x115850,'error':_0x11ebb3[_0x48b882(0x1f4)]},_0x48b882(0x1ef)+_0x115850);throw _0x11ebb3;}}[a0_0x762cd(0x1f1)](_0x3ee2b5,_0x27fd8b){const _0x2b67d0=a0_0x762cd,_0x1b8043={'ZFCcK':function(_0x240feb,_0x5d0b3a){return _0x240feb===_0x5d0b3a;}};if(_0x1b8043['ZFCcK'](_0x3ee2b5,null)||_0x3ee2b5===undefined||_0x3ee2b5==='')return null;const _0x342c56=String(_0x3ee2b5)['trim']();if(_0x27fd8b['has'](_0x342c56))return _0x27fd8b[_0x2b67d0(0x1f0)](_0x342c56);const _0x1ad337=_0x342c56[_0x2b67d0(0x1d7)]();if(_0x27fd8b[_0x2b67d0(0x1e7)](_0x1ad337))return _0x27fd8b[_0x2b67d0(0x1f0)](_0x1ad337);return null;}async['processLookupFields'](_0x2db56e,_0x1dc24f){const _0x1afd42=a0_0x762cd,_0x136d80={'WIIFq':function(_0x483b29,_0x2bb258){return _0x483b29===_0x2bb258;},'xYuBJ':function(_0x122984,_0x1900ed){return _0x122984===_0x1900ed;},'wYsaQ':_0x1afd42(0x1d6)};if(!_0x1dc24f||Object[_0x1afd42(0x1f3)](_0x1dc24f)[_0x1afd42(0x1f8)]===0x0)return{'processedRows':_0x2db56e,'errors':[]};const _0x4c8278=[],_0x49b72b=new Map();for(const [_0x56746f,_0x19db1a]of Object[_0x1afd42(0x1f2)](_0x1dc24f)){const {lookupTable:_0x2d4814,lookupColumn:_0x3219dd,lookupIdColumn:_0x2856d9}=_0x19db1a,_0x52c2db=_0x2d4814+':'+_0x3219dd+':'+_0x2856d9;if(!_0x49b72b[_0x1afd42(0x1e7)](_0x52c2db)){const _0x2f3f18=await this['loadLookupTable'](_0x2d4814,_0x3219dd,_0x2856d9);_0x49b72b['set'](_0x52c2db,_0x2f3f18);}}const _0x1f85a0=_0x2db56e[_0x1afd42(0x1dd)]((_0x1c5e65,_0x1ccfd5)=>{const _0x2d46e6=_0x1afd42,_0x46e433={..._0x1c5e65};for(const [_0x78206b,_0x3b9e89]of Object[_0x2d46e6(0x1f2)](_0x1dc24f)){const {lookupTable:_0x467d4c,lookupColumn:_0x26a5f4,lookupIdColumn:_0x4c59cb,targetField:_0x3a62b7,required:_0x307e3a}=_0x3b9e89,_0x2a0ad6=_0x467d4c+':'+_0x26a5f4+':'+_0x4c59cb,_0x47aea8=_0x49b72b['get'](_0x2a0ad6),_0x18e837=_0x1c5e65[_0x78206b];if((_0x136d80[_0x2d46e6(0x1eb)](_0x18e837,null)||_0x18e837===undefined||_0x136d80['xYuBJ'](_0x18e837,''))&&!_0x307e3a){_0x46e433[_0x3a62b7]=null;continue;}const _0x13a787=this[_0x2d46e6(0x1f1)](_0x18e837,_0x47aea8);_0x13a787!==null?_0x46e433[_0x3a62b7]=_0x13a787:(_0x307e3a&&_0x4c8278['push']({'rowIndex':_0x1ccfd5,'field':_0x78206b,'value':_0x18e837,'targetField':_0x3a62b7,'lookupTable':_0x467d4c,'message':_0x2d46e6(0x1de)+_0x18e837+_0x2d46e6(0x1e9)+_0x467d4c}),_0x46e433[_0x3a62b7]=null);}return _0x46e433;});return logger[_0x1afd42(0x1cd)]({'event':_0x136d80[_0x1afd42(0x1cc)],'totalRows':_0x2db56e['length'],'errorCount':_0x4c8278['length'],'lookupFieldCount':Object[_0x1afd42(0x1f3)](_0x1dc24f)['length']},_0x1afd42(0x1df)),{'processedRows':_0x1f85a0,'errors':_0x4c8278};}[a0_0x762cd(0x1f9)](_0x5624d1,_0x4ea7c9){const _0x59acff=a0_0x762cd,_0x59642c={'njJyR':function(_0x12ff90,_0x425894){return _0x12ff90!==_0x425894;}},_0x11f60c=new Set();return _0x5624d1[_0x59acff(0x1ee)](_0x58b340=>{const _0x2b7651=_0x58b340[_0x4ea7c9];_0x2b7651!==null&&_0x59642c['njJyR'](_0x2b7651,undefined)&&_0x59642c['njJyR'](_0x2b7651,'')&&_0x11f60c['add'](String(_0x2b7651)['trim']());}),Array[_0x59acff(0x1db)](_0x11f60c);}async['validateLookupValues'](_0x480147,_0x3001f9){const _0x148375=a0_0x762cd,_0x25aaf2={'cJyjM':function(_0x3e957a,_0x23cca3){return _0x3e957a!==_0x23cca3;},'CCmCe':function(_0x17e304,_0x10b3f7){return _0x17e304===_0x10b3f7;},'eILOL':function(_0x4a4be8,_0x207abf){return _0x4a4be8>_0x207abf;}};if(!_0x3001f9||_0x25aaf2['CCmCe'](Object[_0x148375(0x1f3)](_0x3001f9)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x2a133a=[],_0x1a626d={};for(const [_0x53691d,_0x363e3f]of Object['entries'](_0x3001f9)){const {lookupTable:_0x2483b1,lookupColumn:_0x515233,lookupIdColumn:_0x3169bf,required:_0x91d5f4}=_0x363e3f,_0x2b0502=this['getDistinctValues'](_0x480147,_0x53691d),_0x1ac2bc=await this[_0x148375(0x1d8)](_0x2483b1,_0x515233,_0x3169bf),_0x139158=[],_0x2e6ba2=[];_0x2b0502[_0x148375(0x1ee)](_0xe1b8bf=>{const _0x41400c=this['resolveLookupValue'](_0xe1b8bf,_0x1ac2bc);_0x25aaf2['cJyjM'](_0x41400c,null)?_0x2e6ba2['push'](_0xe1b8bf):_0x139158['push'](_0xe1b8bf);});if(_0x25aaf2[_0x148375(0x1f5)](_0x139158['length'],0x0)&&_0x91d5f4){_0x2a133a['push']({'field':_0x53691d,'lookupTable':_0x2483b1,'invalidValues':_0x139158,'message':_0x139158[_0x148375(0x1f8)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x2483b1});const _0x40e19a=[];_0x1ac2bc['forEach']((_0x257b81,_0x56b26f)=>{const _0x1559a3=_0x148375;if(_0x56b26f===_0x56b26f[_0x1559a3(0x1d7)]())return;_0x40e19a[_0x1559a3(0x1d1)](_0x56b26f);}),_0x1a626d[_0x53691d]={'invalidValues':_0x139158,'availableValues':_0x40e19a['slice'](0x0,0x32)};}}return{'valid':_0x2a133a[_0x148375(0x1f8)]===0x0,'errors':_0x2a133a,'suggestions':_0x1a626d};}}function a0_0x592a(_0x3a6662,_0x3c5787){_0x3a6662=_0x3a6662-0x1c6;const _0x33e62d=a0_0x33e6();let _0x592ac9=_0x33e62d[_0x3a6662];if(a0_0x592a['VWDfnL']===undefined){var _0x5d3b26=function(_0x36abc9){const _0x536505='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fbdca='',_0x16a8c5='';for(let _0x55cb43=0x0,_0x4dbbfd,_0x48d3e1,_0x44c745=0x0;_0x48d3e1=_0x36abc9['charAt'](_0x44c745++);~_0x48d3e1&&(_0x4dbbfd=_0x55cb43%0x4?_0x4dbbfd*0x40+_0x48d3e1:_0x48d3e1,_0x55cb43++%0x4)?_0x1fbdca+=String['fromCharCode'](0xff&_0x4dbbfd>>(-0x2*_0x55cb43&0x6)):0x0){_0x48d3e1=_0x536505['indexOf'](_0x48d3e1);}for(let _0xf34ba8=0x0,_0x258eb1=_0x1fbdca['length'];_0xf34ba8<_0x258eb1;_0xf34ba8++){_0x16a8c5+='%'+('00'+_0x1fbdca['charCodeAt'](_0xf34ba8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16a8c5);};a0_0x592a['WSrRjp']=_0x5d3b26,a0_0x592a['xBIfdZ']={},a0_0x592a['VWDfnL']=!![];}const _0x5a2481=_0x33e62d[0x0],_0x4a8a9c=_0x3a6662+_0x5a2481,_0x4ff63f=a0_0x592a['xBIfdZ'][_0x4a8a9c];return!_0x4ff63f?(_0x592ac9=a0_0x592a['WSrRjp'](_0x592ac9),a0_0x592a['xBIfdZ'][_0x4a8a9c]=_0x592ac9):_0x592ac9=_0x4ff63f,_0x592ac9;}module['exports']=new LookupResolver();
1
+ const a0_0x393e84=a0_0x18df;function a0_0x18df(_0x23b4f8,_0x3b8452){_0x23b4f8=_0x23b4f8-0xfb;const _0x7616f=a0_0x7616();let _0x18df47=_0x7616f[_0x23b4f8];if(a0_0x18df['WcwdEx']===undefined){var _0x14d7e8=function(_0x251d05){const _0x146efa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x909283='',_0x45369f='';for(let _0xf4e506=0x0,_0x53c0cd,_0x4ba89b,_0x2c8801=0x0;_0x4ba89b=_0x251d05['charAt'](_0x2c8801++);~_0x4ba89b&&(_0x53c0cd=_0xf4e506%0x4?_0x53c0cd*0x40+_0x4ba89b:_0x4ba89b,_0xf4e506++%0x4)?_0x909283+=String['fromCharCode'](0xff&_0x53c0cd>>(-0x2*_0xf4e506&0x6)):0x0){_0x4ba89b=_0x146efa['indexOf'](_0x4ba89b);}for(let _0x2876e3=0x0,_0x286569=_0x909283['length'];_0x2876e3<_0x286569;_0x2876e3++){_0x45369f+='%'+('00'+_0x909283['charCodeAt'](_0x2876e3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45369f);};a0_0x18df['QjOttL']=_0x14d7e8,a0_0x18df['XocNCb']={},a0_0x18df['WcwdEx']=!![];}const _0x49d8a4=_0x7616f[0x0],_0x597bec=_0x23b4f8+_0x49d8a4,_0x589256=a0_0x18df['XocNCb'][_0x597bec];return!_0x589256?(_0x18df47=a0_0x18df['QjOttL'](_0x18df47),a0_0x18df['XocNCb'][_0x597bec]=_0x18df47):_0x18df47=_0x589256,_0x18df47;}function a0_0x7616(){const _0x1dbd73=['wKXUvxe','ywrK','BgvUz3rO','zg9LqKi','BxLZCwW','y2XLyxi','lI9KyI1VCMfJBgu','DhjPBq','zgvIDwC','AgfZ','A2v5CW','mJf5CLjnBNG','Cg9ZDgDYzxnXBa','otLhtvjAuxq','mtyXnta4Bxnyz0Tc','mtmYnZi1vK1wzMfY','Bg9VA3vWq2fJAgu','ChvZAa','AM1Ht0i','rffYEvC','mZy5nda4nNPqEe5zAa','mJH3twziswO','u0vmrunuia','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','Bg9HzeXVB2T1CfrHyMXL','DMfSAwrHDgvmB29RDxbwywX1zxm','iezst00G','Dg9mB3DLCKnHC2u','v0DHwe4','Dg9vChbLCKnHC2u','zw52','CMvZB2X2zuXVB2T1CfzHBhvL','B3jHy2XL','C2v0','tg9VA3vWignHy2HLignSzwfYzwq','z2v0','zxHWB3j0CW','nteXnJuZy0nNwu9z','nK9VD0fUvG','C2XPy2u','zw50CMLLCW','mJiWnZq0ofPVAMD2CG','zxHLy3v0zvf1zxj5','z2v0rgLZDgLUy3rwywX1zxm','mteYmZyWzffqDNbl','mZK1mdz4y3HZrgi'];a0_0x7616=function(){return _0x1dbd73;};return a0_0x7616();}(function(_0x4499fe,_0xdb9bf1){const _0x179806=a0_0x18df,_0x229410=_0x4499fe();while(!![]){try{const _0x4345ae=-parseInt(_0x179806(0x110))/0x1*(-parseInt(_0x179806(0x109))/0x2)+parseInt(_0x179806(0x108))/0x3+parseInt(_0x179806(0x126))/0x4*(-parseInt(_0x179806(0x120))/0x5)+parseInt(_0x179806(0x11f))/0x6*(-parseInt(_0x179806(0x11c))/0x7)+-parseInt(_0x179806(0x10c))/0x8+parseInt(_0x179806(0x125))/0x9+parseInt(_0x179806(0x10f))/0xa*(parseInt(_0x179806(0x11e))/0xb);if(_0x4345ae===_0xdb9bf1)break;else _0x229410['push'](_0x229410['shift']());}catch(_0x14ee3f){_0x229410['push'](_0x229410['shift']());}}}(a0_0x7616,0x3f063));const dbType=(process[a0_0x393e84(0x101)]['DB_TYPE']||a0_0x393e84(0x11d))['toLowerCase']();let executeQuery;if(dbType===a0_0x393e84(0x103)){const oracleDb=require(a0_0x393e84(0x117));executeQuery=(_0x3159b9,_0x243d12)=>oracleDb['executeQuery'](_0x3159b9,_0x243d12);}else{if(dbType===a0_0x393e84(0x115)){const mysqlDb=require('./db-mysql');executeQuery=(_0x3bd9f2,_0x59885b)=>mysqlDb[a0_0x393e84(0x10d)](_0x3bd9f2,_0x59885b);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x5834d8=a0_0x393e84;this[_0x5834d8(0x121)][_0x5834d8(0x116)](),logger[_0x5834d8(0x119)]({'event':_0x5834d8(0x128)},_0x5834d8(0x105));}async[a0_0x393e84(0xfb)](_0x5c8a46,_0x297f01,_0x3e2169){const _0x574077=a0_0x393e84,_0x320101={'ZZHET':function(_0x41cca4,_0x3ce08b){return _0x41cca4!==_0x3ce08b;},'DQryW':function(_0x1c8ca4,_0x49d2d7){return _0x1c8ca4(_0x49d2d7);}},_0x421e0f=_0x5c8a46+':'+_0x297f01+':'+_0x3e2169;if(this[_0x574077(0x121)]['has'](_0x421e0f))return this[_0x574077(0x121)][_0x574077(0x106)](_0x421e0f);try{const _0xb49a29=_0x574077(0x127)+_0x3e2169+',\x20'+_0x297f01+_0x574077(0xfd)+_0x5c8a46,_0x430cf2=await _0x320101[_0x574077(0x124)](executeQuery,_0xb49a29),_0x255dfb=new Map();return _0x430cf2['forEach'](_0x5d4bc5=>{const _0x253089=_0x574077,_0x3d3315=_0x5d4bc5[_0x297f01]!==undefined?_0x5d4bc5[_0x297f01]:_0x5d4bc5[_0x297f01[_0x253089(0x100)]()],_0x4b182f=_0x5d4bc5[_0x3e2169]!==undefined?_0x5d4bc5[_0x3e2169]:_0x5d4bc5[_0x3e2169['toUpperCase']()];_0x320101['ZZHET'](_0x3d3315,null)&&_0x3d3315!==undefined&&(_0x255dfb[_0x253089(0x104)](_0x320101['DQryW'](String,_0x3d3315)[_0x253089(0xfe)]()['trim'](),_0x4b182f),_0x255dfb[_0x253089(0x104)](String(_0x3d3315)[_0x253089(0x118)](),_0x4b182f));}),this['lookupCache'][_0x574077(0x104)](_0x421e0f,_0x255dfb),logger['info']({'event':'lookup_table_loaded','table':_0x5c8a46,'column':_0x297f01,'count':_0x430cf2[_0x574077(0x113)]},'Lookup\x20table\x20loaded:\x20'+_0x5c8a46),_0x255dfb;}catch(_0x312db5){logger['error']({'event':'lookup_table_load_error','table':_0x5c8a46,'error':_0x312db5['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x5c8a46);throw _0x312db5;}}[a0_0x393e84(0x102)](_0x441a01,_0x2b7923){const _0x1861c4=a0_0x393e84,_0x2089ae={'Qtgve':function(_0x13c39c,_0x5b85df){return _0x13c39c===_0x5b85df;}};if(_0x441a01===null||_0x441a01===undefined||_0x2089ae['Qtgve'](_0x441a01,''))return null;const _0xb02d6=String(_0x441a01)['trim']();if(_0x2b7923[_0x1861c4(0x11a)](_0xb02d6))return _0x2b7923['get'](_0xb02d6);const _0x366917=_0xb02d6['toLowerCase']();if(_0x2b7923['has'](_0x366917))return _0x2b7923[_0x1861c4(0x106)](_0x366917);return null;}async['processLookupFields'](_0x39bb1b,_0x58868a){const _0x3a657a=a0_0x393e84,_0xba181b={'ZLnUq':function(_0xd5a828,_0x1fdb26){return _0xd5a828===_0x1fdb26;},'jmaOB':function(_0x1c6889,_0x5ab34a){return _0x1c6889!==_0x5ab34a;},'zHAjI':'Lookup\x20fields\x20processed'};if(!_0x58868a||Object['keys'](_0x58868a)['length']===0x0)return{'processedRows':_0x39bb1b,'errors':[]};const _0xfa604c=[],_0x5427df=new Map();for(const [_0x30d7b4,_0xbe24e7]of Object['entries'](_0x58868a)){const {lookupTable:_0x1d50ae,lookupColumn:_0x3a3ad2,lookupIdColumn:_0x38bab8}=_0xbe24e7,_0xa27bbd=_0x1d50ae+':'+_0x3a3ad2+':'+_0x38bab8;if(!_0x5427df[_0x3a657a(0x11a)](_0xa27bbd)){const _0x598bb4=await this['loadLookupTable'](_0x1d50ae,_0x3a3ad2,_0x38bab8);_0x5427df[_0x3a657a(0x104)](_0xa27bbd,_0x598bb4);}}const _0x5e6f76=_0x39bb1b['map']((_0x5b3ca6,_0x3241d9)=>{const _0x3a3825=_0x3a657a,_0x266826={..._0x5b3ca6};for(const [_0x22d6d6,_0x17656c]of Object[_0x3a3825(0x10b)](_0x58868a)){const {lookupTable:_0x198bb7,lookupColumn:_0x14db4b,lookupIdColumn:_0x4ea3d8,targetField:_0x1df2f8,required:_0xf0e7f8}=_0x17656c,_0x581da9=_0x198bb7+':'+_0x14db4b+':'+_0x4ea3d8,_0x2f8ce4=_0x5427df[_0x3a3825(0x106)](_0x581da9),_0x5f11da=_0x5b3ca6[_0x22d6d6];if((_0x5f11da===null||_0x5f11da===undefined||_0xba181b[_0x3a3825(0x111)](_0x5f11da,''))&&!_0xf0e7f8){_0x266826[_0x1df2f8]=null;continue;}const _0x2b5ded=this['resolveLookupValue'](_0x5f11da,_0x2f8ce4);_0xba181b[_0x3a3825(0x123)](_0x2b5ded,null)?_0x266826[_0x1df2f8]=_0x2b5ded:(_0xf0e7f8&&_0xfa604c[_0x3a3825(0x122)]({'rowIndex':_0x3241d9,'field':_0x22d6d6,'value':_0x5f11da,'targetField':_0x1df2f8,'lookupTable':_0x198bb7,'message':'Value\x20\x22'+_0x5f11da+'\x22\x20not\x20found\x20in\x20'+_0x198bb7}),_0x266826[_0x1df2f8]=null);}return _0x266826;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x39bb1b[_0x3a657a(0x113)],'errorCount':_0xfa604c[_0x3a657a(0x113)],'lookupFieldCount':Object['keys'](_0x58868a)['length']},_0xba181b['zHAjI']),{'processedRows':_0x5e6f76,'errors':_0xfa604c};}[a0_0x393e84(0x10e)](_0x2fbc2c,_0x34ae8a){const _0xd0df20={'WGaXN':function(_0x1097cd,_0x2c657a){return _0x1097cd!==_0x2c657a;}},_0x46a7d0=new Set();return _0x2fbc2c['forEach'](_0x22964d=>{const _0x21e3f8=a0_0x18df,_0x44cdf4=_0x22964d[_0x34ae8a];_0xd0df20['WGaXN'](_0x44cdf4,null)&&_0xd0df20['WGaXN'](_0x44cdf4,undefined)&&_0xd0df20[_0x21e3f8(0xff)](_0x44cdf4,'')&&_0x46a7d0[_0x21e3f8(0x112)](String(_0x44cdf4)[_0x21e3f8(0x118)]());}),Array['from'](_0x46a7d0);}async[a0_0x393e84(0xfc)](_0x12e508,_0x1b47f9){const _0x13e5a8=a0_0x393e84,_0x3a4f13={'doeBB':function(_0x51eec7,_0x106751){return _0x51eec7===_0x106751;}};if(!_0x1b47f9||Object[_0x13e5a8(0x11b)](_0x1b47f9)[_0x13e5a8(0x113)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x54093b=[],_0x4f4b85={};for(const [_0x54a2fd,_0x1c9a94]of Object['entries'](_0x1b47f9)){const {lookupTable:_0x4d28db,lookupColumn:_0x51e00f,lookupIdColumn:_0x40507a,required:_0x2e3fa1}=_0x1c9a94,_0x50793c=this['getDistinctValues'](_0x12e508,_0x54a2fd),_0x41157d=await this['loadLookupTable'](_0x4d28db,_0x51e00f,_0x40507a),_0x3d2a5c=[],_0x116be3=[];_0x50793c['forEach'](_0x34e7b3=>{const _0x314957=_0x13e5a8,_0x1acbdb=this[_0x314957(0x102)](_0x34e7b3,_0x41157d);_0x1acbdb!==null?_0x116be3[_0x314957(0x122)](_0x34e7b3):_0x3d2a5c[_0x314957(0x122)](_0x34e7b3);});if(_0x3d2a5c['length']>0x0&&_0x2e3fa1){_0x54093b[_0x13e5a8(0x122)]({'field':_0x54a2fd,'lookupTable':_0x4d28db,'invalidValues':_0x3d2a5c,'message':_0x3d2a5c[_0x13e5a8(0x113)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x4d28db});const _0x19b82a=[];_0x41157d['forEach']((_0x281f3e,_0xd8d901)=>{const _0x2f4618=_0x13e5a8;if(_0x3a4f13[_0x2f4618(0x114)](_0xd8d901,_0xd8d901['toLowerCase']()))return;_0x19b82a[_0x2f4618(0x122)](_0xd8d901);}),_0x4f4b85[_0x54a2fd]={'invalidValues':_0x3d2a5c,'availableValues':_0x19b82a[_0x13e5a8(0x10a)](0x0,0x32)};}}return{'valid':_0x54093b['length']===0x0,'errors':_0x54093b,'suggestions':_0x4f4b85};}}module[a0_0x393e84(0x107)]=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x132cf1=a0_0x4cfc;(function(_0x134852,_0x44edd8){const _0x48e9a6=a0_0x4cfc,_0x127427=_0x134852();while(!![]){try{const _0xe22e3e=-parseInt(_0x48e9a6(0x1f4))/0x1*(parseInt(_0x48e9a6(0x1ee))/0x2)+parseInt(_0x48e9a6(0x1ed))/0x3*(-parseInt(_0x48e9a6(0x1d4))/0x4)+-parseInt(_0x48e9a6(0x1d9))/0x5+parseInt(_0x48e9a6(0x1ef))/0x6*(parseInt(_0x48e9a6(0x1df))/0x7)+parseInt(_0x48e9a6(0x1ff))/0x8*(-parseInt(_0x48e9a6(0x1e7))/0x9)+parseInt(_0x48e9a6(0x1f8))/0xa+parseInt(_0x48e9a6(0x1e2))/0xb*(parseInt(_0x48e9a6(0x203))/0xc);if(_0xe22e3e===_0x44edd8)break;else _0x127427['push'](_0x127427['shift']());}catch(_0x2d097f){_0x127427['push'](_0x127427['shift']());}}}(a0_0x28b9,0xca524));const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x132cf1(0x1e0));function a0_0x28b9(){const _0x1c58fa=['y2XLyxi','mZq2nZq1u2rqzefn','lI9SB2DNzxi','ugf5Bg9HzcbUB3qGzM91BMq6ia','mtfOqwDeufe','y2fJAgu','ywn0Aw9U','BwvZC2fNzq','BLflwxm','oxjbzu5Xyq','lwv4Cg9YDa','DgfIBgvoyw1L','Bg9HzfbHEwXVywq','Cgf5Bg9HzdO','lI4VlI4VCgf5Bg9Hza','mZi2muznAufmua','mKXXB05rtW','mtiWqxDMz2rM','whzUCgW','wejhvxC','y29SDw1UrM9YBwf0CW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mti0nZGXmxfdr09Rva','zgvIDwC','C2v0','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','mJyZmJe3mfziqvjPwq','y2XLyxjdywnOzq','AgfZ','CgfYC2u','CMvHzezPBgu','DxrMoa','Axnby3rPB25fBMfIBgvK','oti4mJa4ogXJy3jhrq','z2f6C2y','zxjYB3i','zMLLBgroyw1L','ntqWmJmZmdrysuvjEfC','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mZm1nK5QveD2uW','z2v0rxHWB3j0q29UzMLN','AM9PBG','Cgf5Bg9HzerPCG','z2v0','odaZntqZmgnIrgD5BW','wgrREfe','zxHWB3j0CW','lMPZB24','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5'];a0_0x28b9=function(){return _0x1c58fa;};return a0_0x28b9();}function a0_0x4cfc(_0x20caa3,_0x1dbc52){_0x20caa3=_0x20caa3-0x1d4;const _0x28b9c6=a0_0x28b9();let _0x4cfce9=_0x28b9c6[_0x20caa3];if(a0_0x4cfc['oXSQyi']===undefined){var _0x2da1ce=function(_0x4044f4){const _0xc4d162='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x447b29='',_0x43a36d='';for(let _0x170110=0x0,_0x16767d,_0x45fdd8,_0x11d141=0x0;_0x45fdd8=_0x4044f4['charAt'](_0x11d141++);~_0x45fdd8&&(_0x16767d=_0x170110%0x4?_0x16767d*0x40+_0x45fdd8:_0x45fdd8,_0x170110++%0x4)?_0x447b29+=String['fromCharCode'](0xff&_0x16767d>>(-0x2*_0x170110&0x6)):0x0){_0x45fdd8=_0xc4d162['indexOf'](_0x45fdd8);}for(let _0x14b2c6=0x0,_0x57ed05=_0x447b29['length'];_0x14b2c6<_0x57ed05;_0x14b2c6++){_0x43a36d+='%'+('00'+_0x447b29['charCodeAt'](_0x14b2c6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43a36d);};a0_0x4cfc['qVEvCo']=_0x2da1ce,a0_0x4cfc['DQBPJJ']={},a0_0x4cfc['oXSQyi']=!![];}const _0x5a5f49=_0x28b9c6[0x0],_0x5efdbd=_0x20caa3+_0x5a5f49,_0x2f7872=a0_0x4cfc['DQBPJJ'][_0x5efdbd];return!_0x2f7872?(_0x4cfce9=a0_0x4cfc['qVEvCo'](_0x4cfce9),a0_0x4cfc['DQBPJJ'][_0x5efdbd]=_0x4cfce9):_0x4cfce9=_0x2f7872,_0x4cfce9;}class PayloadLoader{constructor(){const _0x2d17ae=a0_0x132cf1;this['payloadDir']=path[_0x2d17ae(0x1d6)](__dirname,_0x2d17ae(0x1ec)),this[_0x2d17ae(0x1e3)]=new Map();}async[a0_0x132cf1(0x1ea)](_0x342a96,_0x450a62){const _0x5497e9=a0_0x132cf1,_0x532bb8={'ocMDq':_0x5497e9(0x1fd),'Xvnpl':_0x5497e9(0x1dd),'gazsf':_0x5497e9(0x1f3)},_0x3e567a=_0x342a96+':'+_0x450a62;if(this['cache'][_0x5497e9(0x1fa)](_0x3e567a))return this[_0x5497e9(0x1e3)]['get'](_0x3e567a);const _0x3009e7=path[_0x5497e9(0x1d6)](this[_0x5497e9(0x1d7)],_0x342a96+'_'+_0x450a62+'.json');try{const _0x4ab1a1=await fs[_0x5497e9(0x1fc)](_0x3009e7,_0x532bb8['ocMDq']),_0x352845=JSON[_0x5497e9(0x1fb)](_0x4ab1a1);return this['cache'][_0x5497e9(0x1f6)](_0x3e567a,_0x352845),logger['debug']({'event':'payload_loaded','project':_0x342a96,'resource':_0x450a62},_0x532bb8[_0x5497e9(0x1f0)]),_0x352845;}catch(_0x4fe476){logger['error']({'event':_0x5497e9(0x204),'project':_0x342a96,'resource':_0x450a62,'error':_0x4fe476[_0x5497e9(0x1e5)]},_0x532bb8[_0x5497e9(0x200)]);throw new Error(_0x5497e9(0x1e1)+_0x342a96+'_'+_0x450a62);}}async['loadPayloadByName'](_0x1d1459){const _0x2d082c=a0_0x132cf1,_0x32f6e5={'XdkxQ':_0x2d082c(0x1fd),'XBGUw':'payload_loaded','nQKYs':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x5b90fe=_0x2d082c(0x1eb)+_0x1d1459;if(this['cache'][_0x2d082c(0x1fa)](_0x5b90fe))return this[_0x2d082c(0x1e3)][_0x2d082c(0x1d8)](_0x5b90fe);const _0x40a3e5=path['join'](this[_0x2d082c(0x1d7)],_0x1d1459+_0x2d082c(0x1dc));try{const _0x293d09=await fs[_0x2d082c(0x1fc)](_0x40a3e5,_0x32f6e5[_0x2d082c(0x1da)]),_0x44d956=JSON['parse'](_0x293d09);return this['cache']['set'](_0x5b90fe,_0x44d956),logger[_0x2d082c(0x1f5)]({'event':_0x32f6e5[_0x2d082c(0x1f1)],'payloadName':_0x1d1459},_0x32f6e5[_0x2d082c(0x1e6)]),_0x44d956;}catch(_0x62c819){logger[_0x2d082c(0x201)]({'event':'payload_load_error','payloadName':_0x1d1459,'error':_0x62c819[_0x2d082c(0x1e5)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x1d1459);}}[a0_0x132cf1(0x1fe)](_0x18c8ca,_0x3eef02){const _0x26bb2d=a0_0x132cf1;return _0x18c8ca['action']&&_0x18c8ca[_0x26bb2d(0x1e4)][_0x3eef02]===!![];}[a0_0x132cf1(0x1d5)](_0x330141){const _0x23bdc2=a0_0x132cf1;return{'columns':_0x330141[_0x23bdc2(0x202)]||[],'filename':_0x330141[_0x23bdc2(0x1e9)]['replace']('.','-')+_0x23bdc2(0x1e8),'datatablesQuery':_0x330141['datatablesQuery']||null,'columnFormats':_0x330141[_0x23bdc2(0x1f2)]||null,'fieldLabels':_0x330141['fieldLabels']||null};}[a0_0x132cf1(0x1f9)](){const _0x34028f=a0_0x132cf1;this[_0x34028f(0x1e3)][_0x34028f(0x1de)](),logger['info']({'event':_0x34028f(0x1f7)},'Payload\x20cache\x20cleared');}}module[a0_0x132cf1(0x1db)]=new PayloadLoader();
1
+ const a0_0x5d7744=a0_0x24a9;(function(_0x337153,_0xa9e645){const _0x451b78=a0_0x24a9,_0x3c0c51=_0x337153();while(!![]){try{const _0x5eacd6=-parseInt(_0x451b78(0x17f))/0x1+-parseInt(_0x451b78(0x18a))/0x2+-parseInt(_0x451b78(0x16b))/0x3+-parseInt(_0x451b78(0x174))/0x4+-parseInt(_0x451b78(0x167))/0x5*(parseInt(_0x451b78(0x178))/0x6)+-parseInt(_0x451b78(0x18e))/0x7+-parseInt(_0x451b78(0x172))/0x8*(-parseInt(_0x451b78(0x175))/0x9);if(_0x5eacd6===_0xa9e645)break;else _0x3c0c51['push'](_0x3c0c51['shift']());}catch(_0x7d1ef2){_0x3c0c51['push'](_0x3c0c51['shift']());}}}(a0_0x7775,0x3f8ce));const fs=require('fs')['promises'],path=require(a0_0x5d7744(0x185)),{logger}=require(a0_0x5d7744(0x189));class PayloadLoader{constructor(){const _0x3b2c43=a0_0x5d7744;this[_0x3b2c43(0x181)]=path[_0x3b2c43(0x184)](__dirname,'../../payload'),this[_0x3b2c43(0x16d)]=new Map();}async[a0_0x5d7744(0x183)](_0x490033,_0x64a773){const _0x27e7a6=a0_0x5d7744,_0x341697={'YSItL':'utf8','QrBfH':_0x27e7a6(0x169)},_0x19365d=_0x490033+':'+_0x64a773;if(this['cache'][_0x27e7a6(0x173)](_0x19365d))return this['cache']['get'](_0x19365d);const _0x5c10f6=path['join'](this[_0x27e7a6(0x181)],_0x490033+'_'+_0x64a773+'.json');try{const _0xc92eae=await fs['readFile'](_0x5c10f6,_0x341697['YSItL']),_0x7e30d7=JSON['parse'](_0xc92eae);return this[_0x27e7a6(0x16d)]['set'](_0x19365d,_0x7e30d7),logger['debug']({'event':_0x27e7a6(0x18d),'project':_0x490033,'resource':_0x64a773},'Payload\x20loaded\x20successfully'),_0x7e30d7;}catch(_0x25ed95){logger[_0x27e7a6(0x17e)]({'event':_0x341697[_0x27e7a6(0x18b)],'project':_0x490033,'resource':_0x64a773,'error':_0x25ed95['message']},_0x27e7a6(0x179));throw new Error(_0x27e7a6(0x17c)+_0x490033+'_'+_0x64a773);}}async[a0_0x5d7744(0x18c)](_0x2fbfa8){const _0x40c719=a0_0x5d7744,_0x343415={'khVWo':_0x40c719(0x17d)},_0x395c84=_0x40c719(0x180)+_0x2fbfa8;if(this['cache'][_0x40c719(0x173)](_0x395c84))return this[_0x40c719(0x16d)]['get'](_0x395c84);const _0x5ce545=path[_0x40c719(0x184)](this[_0x40c719(0x181)],_0x2fbfa8+_0x40c719(0x170));try{const _0x373cea=await fs['readFile'](_0x5ce545,'utf8'),_0x52d981=JSON[_0x40c719(0x171)](_0x373cea);return this['cache'][_0x40c719(0x168)](_0x395c84,_0x52d981),logger['debug']({'event':_0x40c719(0x18d),'payloadName':_0x2fbfa8},_0x343415[_0x40c719(0x16f)]),_0x52d981;}catch(_0x679a65){logger[_0x40c719(0x17e)]({'event':_0x40c719(0x169),'payloadName':_0x2fbfa8,'error':_0x679a65['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x40c719(0x17c)+_0x2fbfa8);}}['isActionEnabled'](_0x414d35,_0x4e90a3){const _0x221fe5=a0_0x5d7744,_0x38d529={'MAUhm':function(_0x5b10bd,_0x3adfab){return _0x5b10bd===_0x3adfab;}};return _0x414d35['action']&&_0x38d529[_0x221fe5(0x188)](_0x414d35['action'][_0x4e90a3],!![]);}[a0_0x5d7744(0x186)](_0x2ed5e0){const _0xe7c6ab=a0_0x5d7744;return{'columns':_0x2ed5e0[_0xe7c6ab(0x16e)]||[],'filename':_0x2ed5e0['tableName'][_0xe7c6ab(0x176)]('.','-')+'-export','datatablesQuery':_0x2ed5e0[_0xe7c6ab(0x16c)]||null,'columnFormats':_0x2ed5e0[_0xe7c6ab(0x187)]||null,'fieldLabels':_0x2ed5e0['fieldLabels']||null};}[a0_0x5d7744(0x17b)](){const _0x6a2f11=a0_0x5d7744,_0x5afa8b={'exDHN':_0x6a2f11(0x17a)};this['cache']['clear'](),logger['info']({'event':_0x5afa8b[_0x6a2f11(0x16a)]},_0x6a2f11(0x177));}}function a0_0x24a9(_0x1a9c23,_0xb53871){_0x1a9c23=_0x1a9c23-0x167;const _0x7775fb=a0_0x7775();let _0x24a957=_0x7775fb[_0x1a9c23];if(a0_0x24a9['yZACgY']===undefined){var _0x4aa39f=function(_0x2e2559){const _0x26e461='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3219a9='',_0x43ceb6='';for(let _0x14d2fd=0x0,_0x1ebfaf,_0x5d8efe,_0x19f763=0x0;_0x5d8efe=_0x2e2559['charAt'](_0x19f763++);~_0x5d8efe&&(_0x1ebfaf=_0x14d2fd%0x4?_0x1ebfaf*0x40+_0x5d8efe:_0x5d8efe,_0x14d2fd++%0x4)?_0x3219a9+=String['fromCharCode'](0xff&_0x1ebfaf>>(-0x2*_0x14d2fd&0x6)):0x0){_0x5d8efe=_0x26e461['indexOf'](_0x5d8efe);}for(let _0x2af2f7=0x0,_0x4f2035=_0x3219a9['length'];_0x2af2f7<_0x4f2035;_0x2af2f7++){_0x43ceb6+='%'+('00'+_0x3219a9['charCodeAt'](_0x2af2f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43ceb6);};a0_0x24a9['IIAoGN']=_0x4aa39f,a0_0x24a9['QgECbh']={},a0_0x24a9['yZACgY']=!![];}const _0x1139e4=_0x7775fb[0x0],_0xa6cfff=_0x1a9c23+_0x1139e4,_0x109137=a0_0x24a9['QgECbh'][_0xa6cfff];return!_0x109137?(_0x24a957=a0_0x24a9['IIAoGN'](_0x24a957),a0_0x24a9['QgECbh'][_0xa6cfff]=_0x24a957):_0x24a957=_0x109137,_0x24a957;}module[a0_0x5d7744(0x182)]=new PayloadLoader();function a0_0x7775(){const _0x3016da=['tufvAg0','lI9SB2DNzxi','mtK1nJGWBKjft3Hw','uxjczKG','Bg9HzfbHEwXVywrcEu5HBwu','Cgf5Bg9Hzf9SB2fKzwq','mtqYmJC2nhfSwhjmsG','nwTgs1LMzG','C2v0','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zxHese4','mti5mZeYnM9LBwrkva','zgf0yxrHyMXLC1f1zxj5','y2fJAgu','zMLLBgroyw1L','A2Hwv28','lMPZB24','CgfYC2u','mJK2EgnLuMHR','AgfZ','mtaZmdyYnhznzhHVuq','ndq5odaYBLPZz0zS','CMvWBgfJzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtu1otyYmMPKCenzBG','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','y2XLyxjdywnOzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','mZm5mtu3u2vvAxne','Cgf5Bg9HzdO','Cgf5Bg9HzerPCG','zxHWB3j0CW','Bg9HzfbHEwXVywq','AM9PBG','Cgf0Aa','z2v0rxHWB3j0q29UzMLN','y29SDw1UrM9YBwf0CW'];a0_0x7775=function(){return _0x3016da;};return a0_0x7775();}
@@ -1 +1 @@
1
- 'use strict';(function(_0x2468e9,_0x364f17){var _0x580f22=a0_0x1095,_0x20428d=_0x2468e9();while(!![]){try{var _0x274382=-parseInt(_0x580f22(0x15e))/0x1+-parseInt(_0x580f22(0x163))/0x2+-parseInt(_0x580f22(0x164))/0x3+-parseInt(_0x580f22(0x161))/0x4*(-parseInt(_0x580f22(0x167))/0x5)+parseInt(_0x580f22(0x160))/0x6+-parseInt(_0x580f22(0x162))/0x7*(parseInt(_0x580f22(0x165))/0x8)+parseInt(_0x580f22(0x166))/0x9*(parseInt(_0x580f22(0x15f))/0xa);if(_0x274382===_0x364f17)break;else _0x20428d['push'](_0x20428d['shift']());}catch(_0x37f81a){_0x20428d['push'](_0x20428d['shift']());}}}(a0_0x4960,0x9b960));function a0_0x4960(){var _0x4b76fb=['nZeYu0LtDuLS','mJK4mtiWnZDNrxDrtMK','mJbltu1iExy','Dg9ju09tDhjPBMC','mtaZmteYnuz5vwfPra','mtbwsMXgruG','mZa4mta0oe52zer3ua','ndi0mZCYsvrmEMvy','ote0nJLJExnbzeC','mJa3mZKXmKjhu05iBG','mte0nJaYn2jzquLQBG'];a0_0x4960=function(){return _0x4b76fb;};return a0_0x4960();}function createResponse(_0x1a98b5,_0x16bdde,_0x46529c=null){var _0x5e4689=a0_0x1095;return{'success':!![],'statusCode':_0x1a98b5,'message':_0x16bdde,'data':_0x46529c,'timestamp':new Date()[_0x5e4689(0x168)]()};}function createError(_0x465b17,_0xdedb74,_0x4eb0e3=null){return{'success':![],'statusCode':_0x465b17,'message':_0xdedb74,'data':_0x4eb0e3,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x10c461,_0x688af7){return{'success':![],'statusCode':0x190,'message':_0x10c461,'data':{'errors':_0x688af7},'timestamp':new Date()['toISOString']()};}function a0_0x1095(_0x4033e7,_0x4d8b57){_0x4033e7=_0x4033e7-0x15e;var _0x4960a4=a0_0x4960();var _0x1095f6=_0x4960a4[_0x4033e7];if(a0_0x1095['tNbsyf']===undefined){var _0x2d7100=function(_0x2d549a){var _0x364c11='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5ecf34='',_0x17e169='';for(var _0x2e16bc=0x0,_0x40ef6b,_0x44e25a,_0x25de95=0x0;_0x44e25a=_0x2d549a['charAt'](_0x25de95++);~_0x44e25a&&(_0x40ef6b=_0x2e16bc%0x4?_0x40ef6b*0x40+_0x44e25a:_0x44e25a,_0x2e16bc++%0x4)?_0x5ecf34+=String['fromCharCode'](0xff&_0x40ef6b>>(-0x2*_0x2e16bc&0x6)):0x0){_0x44e25a=_0x364c11['indexOf'](_0x44e25a);}for(var _0xfcdc5d=0x0,_0x5903d1=_0x5ecf34['length'];_0xfcdc5d<_0x5903d1;_0xfcdc5d++){_0x17e169+='%'+('00'+_0x5ecf34['charCodeAt'](_0xfcdc5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17e169);};a0_0x1095['QiadrM']=_0x2d7100,a0_0x1095['YDtxrB']={},a0_0x1095['tNbsyf']=!![];}var _0x1e734a=_0x4960a4[0x0],_0x4fa9a6=_0x4033e7+_0x1e734a,_0x1a9f1c=a0_0x1095['YDtxrB'][_0x4fa9a6];return!_0x1a9f1c?(_0x1095f6=a0_0x1095['QiadrM'](_0x1095f6),a0_0x1095['YDtxrB'][_0x4fa9a6]=_0x1095f6):_0x1095f6=_0x1a9f1c,_0x1095f6;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';(function(_0x7c4045,_0x24e812){var _0x4afb79=a0_0x4b9d,_0x1a4d5c=_0x7c4045();while(!![]){try{var _0x4a3f93=-parseInt(_0x4afb79(0x88))/0x1+parseInt(_0x4afb79(0x83))/0x2*(parseInt(_0x4afb79(0x8a))/0x3)+parseInt(_0x4afb79(0x82))/0x4*(parseInt(_0x4afb79(0x84))/0x5)+-parseInt(_0x4afb79(0x89))/0x6*(-parseInt(_0x4afb79(0x86))/0x7)+parseInt(_0x4afb79(0x80))/0x8+-parseInt(_0x4afb79(0x85))/0x9+-parseInt(_0x4afb79(0x81))/0xa*(-parseInt(_0x4afb79(0x8b))/0xb);if(_0x4a3f93===_0x24e812)break;else _0x1a4d5c['push'](_0x1a4d5c['shift']());}catch(_0x1ea403){_0x1a4d5c['push'](_0x1a4d5c['shift']());}}}(a0_0xdb34,0x3872e));function a0_0x4b9d(_0x3ec2f3,_0x1d9778){_0x3ec2f3=_0x3ec2f3-0x80;var _0xdb3456=a0_0xdb34();var _0x4b9dbe=_0xdb3456[_0x3ec2f3];if(a0_0x4b9d['BdDBsj']===undefined){var _0x313145=function(_0x41ca39){var _0x3331f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xff786f='',_0x39f958='';for(var _0x52f249=0x0,_0x592149,_0x512f0b,_0x23a8dc=0x0;_0x512f0b=_0x41ca39['charAt'](_0x23a8dc++);~_0x512f0b&&(_0x592149=_0x52f249%0x4?_0x592149*0x40+_0x512f0b:_0x512f0b,_0x52f249++%0x4)?_0xff786f+=String['fromCharCode'](0xff&_0x592149>>(-0x2*_0x52f249&0x6)):0x0){_0x512f0b=_0x3331f5['indexOf'](_0x512f0b);}for(var _0x304297=0x0,_0x3d63b4=_0xff786f['length'];_0x304297<_0x3d63b4;_0x304297++){_0x39f958+='%'+('00'+_0xff786f['charCodeAt'](_0x304297)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39f958);};a0_0x4b9d['kTQIxC']=_0x313145,a0_0x4b9d['YEJorR']={},a0_0x4b9d['BdDBsj']=!![];}var _0x2e24b=_0xdb3456[0x0],_0x58a022=_0x3ec2f3+_0x2e24b,_0x1d88aa=a0_0x4b9d['YEJorR'][_0x58a022];return!_0x1d88aa?(_0x4b9dbe=a0_0x4b9d['kTQIxC'](_0x4b9dbe),a0_0x4b9d['YEJorR'][_0x58a022]=_0x4b9dbe):_0x4b9dbe=_0x1d88aa,_0x4b9dbe;}function createResponse(_0x19f2b7,_0x297dc2,_0x314b7b=null){var _0x15edee=a0_0x4b9d;return{'success':!![],'statusCode':_0x19f2b7,'message':_0x297dc2,'data':_0x314b7b,'timestamp':new Date()[_0x15edee(0x87)]()};}function createError(_0x66232c,_0x7eab1e,_0x362fd9=null){var _0x4da401=a0_0x4b9d;return{'success':![],'statusCode':_0x66232c,'message':_0x7eab1e,'data':_0x362fd9,'timestamp':new Date()[_0x4da401(0x87)]()};}function createValidationError(_0x57ebad,_0x163c00){var _0x397169=a0_0x4b9d;return{'success':![],'statusCode':0x190,'message':_0x57ebad,'data':{'errors':_0x163c00},'timestamp':new Date()[_0x397169(0x87)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};function a0_0xdb34(){var _0x390aa9=['mtaYmdK4nhfjDKvTBG','mZa4mZmWANzSDNf2','mtmXmJC2A1Lvr1zp','mty1nJe0BMH4zuXN','mtvVBeHzBvy','mtmXodu0nujHt3rqvG','n2LUs3bIzG','Dg9ju09tDhjPBMC','nZy5nZrpugDfAgK','nJG5odm4EK9pq0jx','m0rJwxLkvq','mtf4ufzAzNm'];a0_0xdb34=function(){return _0x390aa9;};return a0_0xdb34();}
@@ -1 +1 @@
1
- const a0_0x140442=a0_0x1bd1;(function(_0x40da5d,_0x3277e0){const _0x44e587=a0_0x1bd1,_0x3485e7=_0x40da5d();while(!![]){try{const _0x18d76e=parseInt(_0x44e587(0x178))/0x1+parseInt(_0x44e587(0x176))/0x2*(parseInt(_0x44e587(0x166))/0x3)+parseInt(_0x44e587(0x17f))/0x4*(-parseInt(_0x44e587(0x17b))/0x5)+-parseInt(_0x44e587(0x165))/0x6*(parseInt(_0x44e587(0x179))/0x7)+parseInt(_0x44e587(0x182))/0x8+parseInt(_0x44e587(0x168))/0x9*(parseInt(_0x44e587(0x16c))/0xa)+-parseInt(_0x44e587(0x188))/0xb;if(_0x18d76e===_0x3277e0)break;else _0x3485e7['push'](_0x3485e7['shift']());}catch(_0x3532f3){_0x3485e7['push'](_0x3485e7['shift']());}}}(a0_0x3504,0x3cf26),require(a0_0x140442(0x162))['config']());const amqp=require(a0_0x140442(0x184)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x140442(0x16a)],EXCHANGE=process['env'][a0_0x140442(0x18e)],ROUTING_KEY=process['env'][a0_0x140442(0x18b)],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x27669f=a0_0x140442,_0x531b33={'JhAUk':function(_0x3037be,_0x1c20c2){return _0x3037be(_0x1c20c2);},'UaLLu':function(_0x39ee66,_0x4a6d30){return _0x39ee66(_0x4a6d30);}};try{const _0x261e2b=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x531b33['JhAUk'](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x261e2b;}catch(_0x30f162){console['error']('['+_0x531b33[_0x27669f(0x164)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x30f162['message']);throw _0x30f162;}}async function createChannel(_0x1aa980){const _0x30e0a4=a0_0x140442,_0x347fe4={'RGFDs':function(_0x13dad5,_0x21c282){return _0x13dad5(_0x21c282);}};try{const _0x57d2ee=await _0x1aa980[_0x30e0a4(0x186)]();return console['log']('['+formatDate(new Date())+_0x30e0a4(0x171)),_0x57d2ee;}catch(_0x5b3686){console['error']('['+_0x347fe4['RGFDs'](formatDate,new Date())+_0x30e0a4(0x174)+_0x5b3686['message']);throw _0x5b3686;}}function a0_0x1bd1(_0x5340a9,_0x1aa508){_0x5340a9=_0x5340a9-0x162;const _0x350456=a0_0x3504();let _0x1bd10b=_0x350456[_0x5340a9];if(a0_0x1bd1['xgXMjE']===undefined){var _0x4d1baf=function(_0x4afcad){const _0x2e226c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cfd03='',_0x52a798='';for(let _0x382d31=0x0,_0x141785,_0x487124,_0x2cb00d=0x0;_0x487124=_0x4afcad['charAt'](_0x2cb00d++);~_0x487124&&(_0x141785=_0x382d31%0x4?_0x141785*0x40+_0x487124:_0x487124,_0x382d31++%0x4)?_0x5cfd03+=String['fromCharCode'](0xff&_0x141785>>(-0x2*_0x382d31&0x6)):0x0){_0x487124=_0x2e226c['indexOf'](_0x487124);}for(let _0x353dae=0x0,_0x35ed96=_0x5cfd03['length'];_0x353dae<_0x35ed96;_0x353dae++){_0x52a798+='%'+('00'+_0x5cfd03['charCodeAt'](_0x353dae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52a798);};a0_0x1bd1['YJaigl']=_0x4d1baf,a0_0x1bd1['AOXzAR']={},a0_0x1bd1['xgXMjE']=!![];}const _0x449108=_0x350456[0x0],_0x48ee55=_0x5340a9+_0x449108,_0x3ed65c=a0_0x1bd1['AOXzAR'][_0x48ee55];return!_0x3ed65c?(_0x1bd10b=a0_0x1bd1['YJaigl'](_0x1bd10b),a0_0x1bd1['AOXzAR'][_0x48ee55]=_0x1bd10b):_0x1bd10b=_0x3ed65c,_0x1bd10b;}async function setupInfrastructure(_0x3a007e){const _0x535571=a0_0x140442,_0x5ce578={'mzYhF':_0x535571(0x190),'fNdXL':function(_0xf2799e,_0x12e572){return _0xf2799e(_0x12e572);},'kpYtL':function(_0x6804d5,_0x25e53b){return _0x6804d5(_0x25e53b);},'cdLdJ':function(_0x1f3486,_0x3b603d){return _0x1f3486(_0x3b603d);},'zLSRy':'created/ready','irYjt':_0x535571(0x163)};try{await _0x3a007e[_0x535571(0x170)](_0x535571(0x177),_0x5ce578[_0x535571(0x175)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5ce578['fNdXL'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x5da7cf){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x5da7cf['message']);throw _0x5da7cf;}try{await _0x3a007e[_0x535571(0x170)](EXCHANGE,_0x5ce578['mzYhF'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5ce578[_0x535571(0x187)](formatDate,new Date())+_0x535571(0x16d)+EXCHANGE+'\x20created/ready');}catch(_0x1496a3){console[_0x535571(0x172)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1496a3[_0x535571(0x191)]);throw _0x1496a3;}const _0x25829d=ROUTING_KEY+_0x535571(0x16e);try{const _0x30782c={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x3a007e[_0x535571(0x16f)](_0x25829d,_0x30782c),console[_0x535571(0x16b)]('['+_0x5ce578[_0x535571(0x187)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x25829d+'\x20created/ready'),await _0x3a007e['bindQueue'](_0x25829d,_0x535571(0x177),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x535571(0x18f)+ROUTING_KEY+_0x535571(0x17c));}catch(_0x42b6ea){console[_0x535571(0x172)]('['+_0x5ce578['cdLdJ'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x42b6ea['message']);throw _0x42b6ea;}try{const _0x204e61={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x535571(0x177),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x1259f0=await _0x3a007e[_0x535571(0x16f)](QUEUE,_0x204e61);console['log']('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x1259f0[_0x535571(0x173)]===QUEUE?_0x5ce578['zLSRy']:'found')+_0x535571(0x17d)),await _0x3a007e[_0x535571(0x18d)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+_0x535571(0x183)+QUEUE+'\x20('+ROUTING_KEY+_0x535571(0x17e));}catch(_0x3a4ecd){if(_0x3a4ecd['message'][_0x535571(0x18a)](_0x535571(0x163))&&_0x3a4ecd[_0x535571(0x191)]['includes'](_0x535571(0x185)))console['error']('\x0a['+formatDate(new Date())+_0x535571(0x181)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x535571(0x172)](_0x535571(0x17a)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x535571(0x189)+QUEUE+':',_0x3a4ecd['message']);throw _0x3a4ecd;}}}catch(_0x36b512){if(!_0x36b512[_0x535571(0x191)]['includes'](_0x5ce578['irYjt'])){console['error']('['+formatDate(new Date())+_0x535571(0x169),_0x36b512[_0x535571(0x191)]);throw _0x36b512;}process['exit'](0x1);}}async function closeConnection(_0x20c829){const _0x5abe1a=a0_0x140442,_0x4e8d6c={'xFvpE':function(_0x27ce91,_0x29f91e){return _0x27ce91(_0x29f91e);},'Tekye':function(_0xbe0604,_0xfbb607){return _0xbe0604(_0xfbb607);}};if(_0x20c829)try{await _0x20c829['close'](),console['log']('['+_0x4e8d6c['xFvpE'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x16cde3){console[_0x5abe1a(0x172)]('['+_0x4e8d6c[_0x5abe1a(0x180)](formatDate,new Date())+_0x5abe1a(0x167)+_0x16cde3['message']);}}function a0_0x3504(){const _0x32414c=['BxPzAey','mLrNCxvzCq','CMv0CNKTzxHJAgfUz2u','mZeXnJKXEMTrBM1Z','n0nXzw1xDG','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','mJi4odGWAgTlEhvg','ignYzwf0zwq','ihDPDgGGreXy','ksbJCMvHDgvK','mJbtq1brEge','vgvREwu','xsbfuLjpuJOGuxvLDwuG','mJeXmdG5nMLZB0HZsq','ic0+ia','yw1XCgXPyG','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','y3jLyxrLq2HHBM5LBa','A3bzDeW','nJq1mJGYsfzTBxfk','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','Aw5JBhvKzxm','uKfcqKLutvfFuK9vveLor19lrvK','zxHWB3j0CW','yMLUzff1zxvL','uKfcqKLutvfFrvHdsefor0u','xsbszxrYEsbIAw5KAw5NigzVCIa','zgLYzwn0','BwvZC2fNzq','zg90zw52','Aw5LCxvPDMfSzw50igfYzW','vwfmthu','mZG4nJG2BKDnDhHl','nJaYmtnKDvboDui','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','ntCWmZnkwNbMDwO','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','uKfcqKLutvfFvvjm','Bg9N','mtbIwuDIB1m','xsbfEgnOyw5Nzsa','x3jLDhj5','yxnZzxj0uxvLDwu','yxnZzxj0rxHJAgfUz2u','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','zxjYB3i','CxvLDwu','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia'];a0_0x3504=function(){return _0x32414c;};return a0_0x3504();}module[a0_0x140442(0x18c)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x4afae5=a0_0xb6d0;(function(_0x1f95ca,_0x4207d8){const _0x1d9bca=a0_0xb6d0,_0x1e60f4=_0x1f95ca();while(!![]){try{const _0x53e8ee=parseInt(_0x1d9bca(0x80))/0x1*(-parseInt(_0x1d9bca(0x74))/0x2)+parseInt(_0x1d9bca(0x79))/0x3*(parseInt(_0x1d9bca(0x87))/0x4)+-parseInt(_0x1d9bca(0xa2))/0x5+parseInt(_0x1d9bca(0x76))/0x6+parseInt(_0x1d9bca(0x9a))/0x7*(parseInt(_0x1d9bca(0x72))/0x8)+-parseInt(_0x1d9bca(0x99))/0x9*(parseInt(_0x1d9bca(0x9d))/0xa)+parseInt(_0x1d9bca(0x8a))/0xb;if(_0x53e8ee===_0x4207d8)break;else _0x1e60f4['push'](_0x1e60f4['shift']());}catch(_0x37f11a){_0x1e60f4['push'](_0x1e60f4['shift']());}}}(a0_0xcaa0,0xa3023),require('dotenv')['config']());const amqp=require(a0_0x4afae5(0x88)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x4afae5(0x7b)],EXCHANGE=process[a0_0x4afae5(0x95)][a0_0x4afae5(0x9f)],ROUTING_KEY=process['env'][a0_0x4afae5(0x89)],QUEUE=process[a0_0x4afae5(0x95)]['RABBITMQ_QUEUE'];function a0_0xcaa0(){const _0x3f816b=['yuDqtgC','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mZy1nenJqLjyEa','otK4oxzzv0X0wG','y29UBMvJDa','zxHPDa','mty0odbuy2flq20','uxvLDwuG','uKfcqKLutvfFrvHdsefor0u','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','zxjYB3i','nJu5nZe1vfjpEuHw','CxvLDwu','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','zxHWB3j0CW','mJG3mLnOuwDksW','xsbfuLjpuJOGuxvLDwuG','nMzSse5xzG','y2XVC2u','nZq5ndyWruL0ChHi','Aw5JBhvKzxm','Aw5LCxvPDMfSzw50igfYzW','mtGYndKZq0f0q3Lw','z3LHCMu','uKfcqKLutvfFvvjm','CMv0CNKTzxHJAgfUz2u','xsbszxrYEsbXDwv1zsa','yMLUzff1zxvL','tLnfrfO','mJiXnJu3AMD3qKni','zM91BMq','Bg9N','xsbfEgnOyw5Nzsa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','mtjWwMPOy2m','yw1XCgXPyG','uKfcqKLutvfFuK9vveLor19lrvK','mtq0ntm4nZLus09XsuS','y3jLyxrLq2HHBM5LBa','ignYzwf0zwq','ihDPDgGGreXy','zgLYzwn0','uwzxtwy','BwvZC2fNzq','yxnZzxj0uxvLDwu','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zLLoCeW','y09zCK0','zw52','B1LprLq'];a0_0xcaa0=function(){return _0x3f816b;};return a0_0xcaa0();}async function createConnection(){const _0x1f7265=a0_0x4afae5,_0x492c20={'NSEDZ':function(_0x39e329,_0xf2e8e2){return _0x39e329(_0xf2e8e2);},'vrZyQ':function(_0x146119,_0x4e86ce){return _0x146119(_0x4e86ce);}};try{const _0x51f6c7=await amqp[_0x1f7265(0x9b)](RABBITMQ_URL);return console[_0x1f7265(0x82)]('['+_0x492c20[_0x1f7265(0x7f)](formatDate,new Date())+_0x1f7265(0x84)),_0x51f6c7;}catch(_0x5bcf52){console[_0x1f7265(0xa1)]('['+_0x492c20['vrZyQ'](formatDate,new Date())+_0x1f7265(0x92)+_0x5bcf52[_0x1f7265(0x90)]);throw _0x5bcf52;}}function a0_0xb6d0(_0x2111ad,_0x53d8d6){_0x2111ad=_0x2111ad-0x71;const _0xcaa0dc=a0_0xcaa0();let _0xb6d06a=_0xcaa0dc[_0x2111ad];if(a0_0xb6d0['XQJJlF']===undefined){var _0x508ff5=function(_0x33ec33){const _0x36f083='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f7e4e='',_0xdae313='';for(let _0x2a1e9f=0x0,_0x273678,_0x208361,_0x45064b=0x0;_0x208361=_0x33ec33['charAt'](_0x45064b++);~_0x208361&&(_0x273678=_0x2a1e9f%0x4?_0x273678*0x40+_0x208361:_0x208361,_0x2a1e9f++%0x4)?_0x3f7e4e+=String['fromCharCode'](0xff&_0x273678>>(-0x2*_0x2a1e9f&0x6)):0x0){_0x208361=_0x36f083['indexOf'](_0x208361);}for(let _0x26274a=0x0,_0x212dc7=_0x3f7e4e['length'];_0x26274a<_0x212dc7;_0x26274a++){_0xdae313+='%'+('00'+_0x3f7e4e['charCodeAt'](_0x26274a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdae313);};a0_0xb6d0['boPCgC']=_0x508ff5,a0_0xb6d0['zTiuuY']={},a0_0xb6d0['XQJJlF']=!![];}const _0x8a66a3=_0xcaa0dc[0x0],_0x3c3a72=_0x2111ad+_0x8a66a3,_0xea601f=a0_0xb6d0['zTiuuY'][_0x3c3a72];return!_0xea601f?(_0xb6d06a=a0_0xb6d0['boPCgC'](_0xb6d06a),a0_0xb6d0['zTiuuY'][_0x3c3a72]=_0xb6d06a):_0xb6d06a=_0xea601f,_0xb6d06a;}async function createChannel(_0x2262ff){const _0x1e1f3a=a0_0x4afae5,_0xcc126e={'bAOzC':function(_0x5c3894,_0x45fb58){return _0x5c3894(_0x45fb58);}};try{const _0x57bfbd=await _0x2262ff[_0x1e1f3a(0x8b)]();return console[_0x1e1f3a(0x82)]('['+_0xcc126e['bAOzC'](formatDate,new Date())+_0x1e1f3a(0x98)),_0x57bfbd;}catch(_0x4a1b3d){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x4a1b3d[_0x1e1f3a(0x90)]);throw _0x4a1b3d;}}async function setupInfrastructure(_0x2529d4){const _0x2ec3ec=a0_0x4afae5,_0x2c8564={'UPjID':_0x2ec3ec(0x8e),'fYNpL':function(_0x592b62,_0x2eb6b1){return _0x592b62(_0x2eb6b1);},'mmYyl':function(_0x430306,_0x2daaac){return _0x430306(_0x2daaac);},'gyare':function(_0x26bedb,_0x3c2b40){return _0x26bedb(_0x3c2b40);},'QfWMf':_0x2ec3ec(0x7c),'CqQhq':function(_0x32d815,_0x9a2f21){return _0x32d815(_0x9a2f21);},'oYOFT':function(_0x4e2dbb,_0x375328){return _0x4e2dbb(_0x375328);},'aGPLg':function(_0x227cf7,_0x548d5b){return _0x227cf7===_0x548d5b;},'lFSoU':_0x2ec3ec(0x81),'golDn':_0x2ec3ec(0x78)};try{await _0x2529d4['assertExchange'](_0x2ec3ec(0x7c),_0x2c8564['UPjID'],{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+_0x2c8564[_0x2ec3ec(0x93)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x51398e){console['error']('['+_0x2c8564['mmYyl'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x51398e['message']);throw _0x51398e;}try{await _0x2529d4['assertExchange'](EXCHANGE,_0x2ec3ec(0x8e),{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+formatDate(new Date())+_0x2ec3ec(0x83)+EXCHANGE+'\x20created/ready');}catch(_0x20e346){console['error']('['+_0x2c8564[_0x2ec3ec(0x7a)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x20e346['message']);throw _0x20e346;}const _0x3ccc1a=ROUTING_KEY+'_retry';try{const _0x39f919={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2529d4['assertQueue'](_0x3ccc1a,_0x39f919),console[_0x2ec3ec(0x82)]('['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x7d)+_0x3ccc1a+'\x20created/ready'),await _0x2529d4['bindQueue'](_0x3ccc1a,_0x2c8564[_0x2ec3ec(0x8f)],ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['CqQhq'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x2ec3ec(0x8c));}catch(_0x37eee3){console[_0x2ec3ec(0xa1)]('['+_0x2c8564[_0x2ec3ec(0x96)](formatDate,new Date())+_0x2ec3ec(0xa0),_0x37eee3[_0x2ec3ec(0x90)]);throw _0x37eee3;}try{const _0x4e16f6={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x4f1de6=await _0x2529d4[_0x2ec3ec(0x91)](QUEUE,_0x4e16f6);console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2c8564[_0x2ec3ec(0x97)](_0x4f1de6[_0x2ec3ec(0xa3)],QUEUE)?'created/ready':_0x2c8564['lFSoU'])+_0x2ec3ec(0x8d)),await _0x2529d4[_0x2ec3ec(0x7e)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x2ef7ad){if(_0x2ef7ad[_0x2ec3ec(0x90)][_0x2ec3ec(0x77)]('inequivalent\x20arg')&&_0x2ef7ad[_0x2ec3ec(0x90)]['includes']('x-dead-letter-routing-key'))console[_0x2ec3ec(0xa1)]('\x0a['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x73)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x2ec3ec(0x9e)+QUEUE+_0x2ec3ec(0xa4)),console[_0x2ec3ec(0xa1)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x2ec3ec(0x9c)](0x1);else{console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+_0x2ec3ec(0x85)+QUEUE+':',_0x2ef7ad['message']);throw _0x2ef7ad;}}}catch(_0x3b5382){if(!_0x3b5382[_0x2ec3ec(0x90)]['includes'](_0x2c8564['golDn'])){console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3b5382[_0x2ec3ec(0x90)]);throw _0x3b5382;}process['exit'](0x1);}}async function closeConnection(_0x50800f){const _0x57a29c=a0_0x4afae5,_0x5f132c={'cOYrM':function(_0x1ce346,_0x5099c2){return _0x1ce346(_0x5099c2);}};if(_0x50800f)try{await _0x50800f[_0x57a29c(0x75)](),console['log']('['+_0x5f132c['cOYrM'](formatDate,new Date())+_0x57a29c(0x86));}catch(_0x165669){console['error']('['+_0x5f132c[_0x57a29c(0x94)](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x165669[_0x57a29c(0x90)]);}}module[a0_0x4afae5(0x71)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x43dd4c=a0_0x3795;function a0_0x3340(){const _0x902360=['BKPIDvm','CMvKAxnFAw5PDf9LCNjVCG','uMvKAxmGueLorYb0Aw1LB3v0','BwLU','uKvesvnFse9tva','mtmXnhjKAvLLtW','CxnVyKK','lI9SB2DNzxi','mtjeqNrdzhm','AxndB25Uzwn0zwq','DxzRugy','zxHWB3j0CW','nJu0ngnZD2jusW','mtaZmtm4ngXez2LOAq','zw52','AxjNCLe','zxjYB3i','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','y29UBMvJDa','mJaZmdu1AvPICLHz','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mZq2nZy2u01qDKjA','zgLZy29UBMvJDa','mJyYnJy0weroEuni','y2XVC2u','CgLUzW','BwvZC2fNzq','z2v0q2XPzw50','qMPHuw0','y2XPzw50','uKvesvnFrei','nuvkDfPZEq','Aw5MBW','ndC2ndy3mgXJvvvmvW','mJGXmJKYsevpsMTg'];a0_0x3340=function(){return _0x902360;};return a0_0x3340();}(function(_0x3e858e,_0x524033){const _0x2d236e=a0_0x3795,_0x146d90=_0x3e858e();while(!![]){try{const _0x348cf5=parseInt(_0x2d236e(0x110))/0x1+parseInt(_0x2d236e(0x11b))/0x2+-parseInt(_0x2d236e(0x10b))/0x3+parseInt(_0x2d236e(0x105))/0x4*(parseInt(_0x2d236e(0x118))/0x5)+-parseInt(_0x2d236e(0x100))/0x6*(parseInt(_0x2d236e(0x10e))/0x7)+-parseInt(_0x2d236e(0x104))/0x8*(-parseInt(_0x2d236e(0xfd))/0x9)+-parseInt(_0x2d236e(0x11a))/0xa;if(_0x348cf5===_0x524033)break;else _0x146d90['push'](_0x146d90['shift']());}catch(_0x29114a){_0x146d90['push'](_0x146d90['shift']());}}}(a0_0x3340,0x2188c));const Redis=require('ioredis'),{logger}=require(a0_0x43dd4c(0xff));function a0_0x3795(_0x30928f,_0x15d88e){_0x30928f=_0x30928f-0xf9;const _0x334040=a0_0x3340();let _0x3795fd=_0x334040[_0x30928f];if(a0_0x3795['UdzhcF']===undefined){var _0x46e878=function(_0xfb79b){const _0x45295e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cbedf='',_0x4bf98c='';for(let _0x3cc837=0x0,_0x4cf9ec,_0x3f15af,_0x5295c6=0x0;_0x3f15af=_0xfb79b['charAt'](_0x5295c6++);~_0x3f15af&&(_0x4cf9ec=_0x3cc837%0x4?_0x4cf9ec*0x40+_0x3f15af:_0x3f15af,_0x3cc837++%0x4)?_0x5cbedf+=String['fromCharCode'](0xff&_0x4cf9ec>>(-0x2*_0x3cc837&0x6)):0x0){_0x3f15af=_0x45295e['indexOf'](_0x3f15af);}for(let _0x5b4a0c=0x0,_0x4f4fc2=_0x5cbedf['length'];_0x5b4a0c<_0x4f4fc2;_0x5b4a0c++){_0x4bf98c+='%'+('00'+_0x5cbedf['charCodeAt'](_0x5b4a0c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bf98c);};a0_0x3795['XTsmfN']=_0x46e878,a0_0x3795['gYczpR']={},a0_0x3795['UdzhcF']=!![];}const _0xe926a4=_0x334040[0x0],_0x139e65=_0x30928f+_0xe926a4,_0x5ee64a=a0_0x3795['gYczpR'][_0x139e65];return!_0x5ee64a?(_0x3795fd=a0_0x3795['XTsmfN'](_0x3795fd),a0_0x3795['gYczpR'][_0x139e65]=_0x3795fd):_0x3795fd=_0x5ee64a,_0x3795fd;}class RedisClient{constructor(){const _0x259cd2=a0_0x43dd4c;this[_0x259cd2(0x116)]=null,this['isConnected']=![];}['connect'](){const _0x386478=a0_0x43dd4c,_0x99bcf3={'nJbuS':'redis_error','dxgKN':'redis_disconnected','irgrQ':_0x386478(0x109),'bUxXo':function(_0xa8160f,_0x3f9d87,_0x24593f){return _0xa8160f(_0x3f9d87,_0x24593f);},'qsobI':_0x386478(0x108),'rgCpY':_0x386478(0x111),'uvkPf':_0x386478(0xf9),'BjaQm':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x386478(0xfc)]||'localhost','port':_0x99bcf3['bUxXo'](parseInt,process[_0x386478(0x106)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x386478(0x117)],0xa)||0x0,'retryStrategy'(_0x1b8daf){const _0x425140=_0x386478,_0x34b5ef=Math[_0x425140(0xfb)](_0x1b8daf*0x32,0x7d0);return _0x34b5ef;}}),this['client']['on']('connect',()=>{const _0x41dd67=_0x386478;this['isConnected']=!![],logger[_0x41dd67(0x119)]({'event':'redis_connected'},_0x41dd67(0x10d));}),this[_0x386478(0x116)]['on'](_0x99bcf3[_0x386478(0xfe)],_0x41bfdd=>{const _0x16efd0=_0x386478;this['isConnected']=![],logger[_0x16efd0(0x108)]({'event':_0x99bcf3[_0x16efd0(0x11c)],'error':_0x41bfdd['message']},'Redis\x20connection\x20error:\x20'+_0x41bfdd['message']);}),this['client']['on'](_0x99bcf3['rgCpY'],()=>{const _0x3cf972=_0x386478;this[_0x3cf972(0x101)]=![],logger['warn']({'event':_0x99bcf3['dxgKN']},_0x99bcf3[_0x3cf972(0x107)]);}),this[_0x386478(0x116)];}catch(_0xc3a28f){logger[_0x386478(0x108)]({'event':_0x99bcf3[_0x386478(0x102)],'error':_0xc3a28f[_0x386478(0x113)]},_0x99bcf3[_0x386478(0x115)]);throw _0xc3a28f;}}['getClient'](){const _0xf34526=a0_0x43dd4c;return!this['client']&&this[_0xf34526(0x10a)](),this[_0xf34526(0x116)];}async['ping'](_0x4f1f64=0x1388){const _0x230f6a=a0_0x43dd4c,_0x33d537={'VAGUG':function(_0xf119b8,_0x4f0f5b){return _0xf119b8===_0x4f0f5b;}};try{const _0x4b0d10=this[_0x230f6a(0x114)](),_0x1b2851=await Promise['race']([_0x4b0d10[_0x230f6a(0x112)](),new Promise((_0xb75d1c,_0x43ee45)=>setTimeout(()=>_0x43ee45(new Error(_0x230f6a(0xfa))),_0x4f1f64))]);return _0x33d537['VAGUG'](_0x1b2851,'PONG');}catch(_0x458d30){return![];}}async[a0_0x43dd4c(0x10f)](){const _0x459f4e=a0_0x43dd4c;this['client']&&(await this[_0x459f4e(0x116)]['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x43dd4c(0x10c)](){const _0x194dad=a0_0x43dd4c;this['client']&&(this[_0x194dad(0x116)]['disconnect'](),this['client']=null,this[_0x194dad(0x101)]=![]);}}module[a0_0x43dd4c(0x103)]=new RedisClient();
1
+ const a0_0x194580=a0_0x5879;function a0_0x3372(){const _0x5ca146=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','z2v0q2XPzw50','mta1mdyWCxvIs2Hp','CMvKAxnFzxjYB3i','mta4nZi2ow5hyMLysG','CgLUzW','otLRwgHyyKO','nti0ndm3nufXthrvDq','y29UBMvJDa','nhDfB3jAvq','zxHWB3j0CW','mZu4otu2mhPQq1zwrG','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','zw52','ue9orW','mZu3odK4mgvuEwvYqG','zxjYB3i','AxndB25Uzwn0zwq','t2DYAu8','Aw9YzwrPCW','uKvesvnFse9tva','CMvKAxnFy29UBMvJDgvK','nZi1mZqYsKfhA09n','D2fYBG','ng1pAxnxua','mZG3mtm0m09St0rksq','lI9SB2DNzxi','BwvZC2fNzq','y2XPzw50','qw94Efa','zgLZy29UBMvJDa'];a0_0x3372=function(){return _0x5ca146;};return a0_0x3372();}(function(_0xffd52a,_0x3863b9){const _0x57365d=a0_0x5879,_0x318fc7=_0xffd52a();while(!![]){try{const _0x3288ff=parseInt(_0x57365d(0x8c))/0x1*(-parseInt(_0x57365d(0x9a))/0x2)+parseInt(_0x57365d(0x87))/0x3*(parseInt(_0x57365d(0x9c))/0x4)+-parseInt(_0x57365d(0x8a))/0x5+parseInt(_0x57365d(0x85))/0x6+-parseInt(_0x57365d(0x9d))/0x7+-parseInt(_0x57365d(0x8e))/0x8+parseInt(_0x57365d(0x89))/0x9*(parseInt(_0x57365d(0x93))/0xa);if(_0x3288ff===_0x3863b9)break;else _0x318fc7['push'](_0x318fc7['shift']());}catch(_0x32d1d4){_0x318fc7['push'](_0x318fc7['shift']());}}}(a0_0x3372,0xc7194));const Redis=require(a0_0x194580(0x97)),{logger}=require(a0_0x194580(0x9e));function a0_0x5879(_0x59942f,_0x5ca26b){_0x59942f=_0x59942f-0x80;const _0x3372d2=a0_0x3372();let _0x58795f=_0x3372d2[_0x59942f];if(a0_0x5879['TZIdjK']===undefined){var _0x2a72f2=function(_0xdc7116){const _0x2868ac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3448e9='',_0x5d86a1='';for(let _0x22475a=0x0,_0x42dd09,_0x1fe82d,_0x40aaea=0x0;_0x1fe82d=_0xdc7116['charAt'](_0x40aaea++);~_0x1fe82d&&(_0x42dd09=_0x22475a%0x4?_0x42dd09*0x40+_0x1fe82d:_0x1fe82d,_0x22475a++%0x4)?_0x3448e9+=String['fromCharCode'](0xff&_0x42dd09>>(-0x2*_0x22475a&0x6)):0x0){_0x1fe82d=_0x2868ac['indexOf'](_0x1fe82d);}for(let _0x167689=0x0,_0x3d5513=_0x3448e9['length'];_0x167689<_0x3d5513;_0x167689++){_0x5d86a1+='%'+('00'+_0x3448e9['charCodeAt'](_0x167689)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d86a1);};a0_0x5879['BVlfOr']=_0x2a72f2,a0_0x5879['nWRLXU']={},a0_0x5879['TZIdjK']=!![];}const _0x560b90=_0x3372d2[0x0],_0x46fa2a=_0x59942f+_0x560b90,_0x41df2e=a0_0x5879['nWRLXU'][_0x46fa2a];return!_0x41df2e?(_0x58795f=a0_0x5879['BVlfOr'](_0x58795f),a0_0x5879['nWRLXU'][_0x46fa2a]=_0x58795f):_0x58795f=_0x41df2e,_0x58795f;}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x40c260=a0_0x194580,_0x3c08fb={'AZCku':_0x40c260(0x99),'EogiE':_0x40c260(0x86),'AoxxP':'localhost','iuDBG':function(_0x5ebc67,_0x451eb7,_0xc4a18){return _0x5ebc67(_0x451eb7,_0xc4a18);},'AeyDB':_0x40c260(0x94),'weUsb':'close','OgriO':'redis_init_error','pGzIe':_0x40c260(0x83)};if(this['client'])return this[_0x40c260(0x80)];try{return this['client']=new Redis({'host':process[_0x40c260(0x91)][_0x40c260(0x98)]||_0x3c08fb[_0x40c260(0x81)],'port':_0x3c08fb['iuDBG'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x40c260(0x91)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x48d2bb){const _0x1caa78=Math['min'](_0x48d2bb*0x32,0x7d0);return _0x1caa78;}}),this[_0x40c260(0x80)]['on'](_0x40c260(0x8b),()=>{const _0x1b6b75=_0x40c260;this['isConnected']=!![],logger['info']({'event':_0x3c08fb['AZCku']},_0x1b6b75(0x90));}),this[_0x40c260(0x80)]['on'](_0x3c08fb['AeyDB'],_0x285b96=>{const _0x151cfa=_0x40c260;this[_0x151cfa(0x95)]=![],logger[_0x151cfa(0x94)]({'event':_0x3c08fb['EogiE'],'error':_0x285b96[_0x151cfa(0x9f)]},_0x151cfa(0x8f)+_0x285b96[_0x151cfa(0x9f)]);}),this['client']['on'](_0x3c08fb['weUsb'],()=>{const _0x47255d=_0x40c260;this['isConnected']=![],logger[_0x47255d(0x9b)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x40c260(0x80)];}catch(_0x76255){logger['error']({'event':_0x3c08fb[_0x40c260(0x96)],'error':_0x76255['message']},_0x3c08fb['pGzIe']);throw _0x76255;}}[a0_0x194580(0x84)](){const _0x491d21=a0_0x194580;return!this[_0x491d21(0x80)]&&this[_0x491d21(0x8b)](),this[_0x491d21(0x80)];}async[a0_0x194580(0x88)](_0x2ad0b0=0x1388){const _0xee6542=a0_0x194580;try{const _0x30811f=this[_0xee6542(0x84)](),_0x2bef11=await Promise['race']([_0x30811f['ping'](),new Promise((_0x4b803f,_0x3ef936)=>setTimeout(()=>_0x3ef936(new Error('Redis\x20PING\x20timeout')),_0x2ad0b0))]);return _0x2bef11===_0xee6542(0x92);}catch(_0x298dcb){return![];}}async['disconnect'](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x468cab=a0_0x194580;this['client']&&(this[_0x468cab(0x80)][_0x468cab(0x82)](),this[_0x468cab(0x80)]=null,this['isConnected']=![]);}}module[a0_0x194580(0x8d)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x49df84=a0_0x56cd;(function(_0x550d61,_0x251fa8){const _0x59272b=a0_0x56cd,_0x1f14b5=_0x550d61();while(!![]){try{const _0x217f94=parseInt(_0x59272b(0x88))/0x1+parseInt(_0x59272b(0x81))/0x2+-parseInt(_0x59272b(0x97))/0x3*(-parseInt(_0x59272b(0x95))/0x4)+-parseInt(_0x59272b(0x7f))/0x5*(parseInt(_0x59272b(0x94))/0x6)+parseInt(_0x59272b(0x8f))/0x7+-parseInt(_0x59272b(0x8c))/0x8+parseInt(_0x59272b(0x82))/0x9*(-parseInt(_0x59272b(0x99))/0xa);if(_0x217f94===_0x251fa8)break;else _0x1f14b5['push'](_0x1f14b5['shift']());}catch(_0x22f9ac){_0x1f14b5['push'](_0x1f14b5['shift']());}}}(a0_0x2841,0x39aa0));function a0_0x56cd(_0x1989ef,_0x490d31){_0x1989ef=_0x1989ef-0x79;const _0x28412a=a0_0x2841();let _0x56cd40=_0x28412a[_0x1989ef];if(a0_0x56cd['GRKcZl']===undefined){var _0x13390a=function(_0x282f91){const _0xb51163='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51fb00='',_0xe830bd='';for(let _0x232357=0x0,_0x4cbc97,_0x23e70e,_0x1b77d3=0x0;_0x23e70e=_0x282f91['charAt'](_0x1b77d3++);~_0x23e70e&&(_0x4cbc97=_0x232357%0x4?_0x4cbc97*0x40+_0x23e70e:_0x23e70e,_0x232357++%0x4)?_0x51fb00+=String['fromCharCode'](0xff&_0x4cbc97>>(-0x2*_0x232357&0x6)):0x0){_0x23e70e=_0xb51163['indexOf'](_0x23e70e);}for(let _0x26373b=0x0,_0x163dae=_0x51fb00['length'];_0x26373b<_0x163dae;_0x26373b++){_0xe830bd+='%'+('00'+_0x51fb00['charCodeAt'](_0x26373b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe830bd);};a0_0x56cd['IsNOOe']=_0x13390a,a0_0x56cd['GAzSOx']={},a0_0x56cd['GRKcZl']=!![];}const _0x206973=_0x28412a[0x0],_0x7613bd=_0x1989ef+_0x206973,_0x25c8b8=a0_0x56cd['GAzSOx'][_0x7613bd];return!_0x25c8b8?(_0x56cd40=a0_0x56cd['IsNOOe'](_0x56cd40),a0_0x56cd['GAzSOx'][_0x7613bd]=_0x56cd40):_0x56cd40=_0x25c8b8,_0x56cd40;}const redisClient=require(a0_0x49df84(0x85)),{logger}=require('./logger');class RedisHelper{constructor(){const _0x5b24a8=a0_0x49df84,_0x126efe={'ckvOE':function(_0x4e30b0,_0x101b9d,_0x1c2cbf){return _0x4e30b0(_0x101b9d,_0x1c2cbf);}};this['_prefix']=null,this[_0x5b24a8(0x98)]=_0x126efe[_0x5b24a8(0x93)](parseInt,process[_0x5b24a8(0x90)][_0x5b24a8(0x79)],0xa)||0xe10;}get['prefix'](){const _0x5b8194=a0_0x49df84;if(!this[_0x5b8194(0x7e)]){const _0x5cb644=process['env'][_0x5b8194(0x80)]||'default';this['_prefix']=_0x5b8194(0x87)+_0x5cb644+_0x5b8194(0x91);}return this['_prefix'];}async['setJob'](_0x1e6324,_0x20dd51){const _0x9da53b=a0_0x49df84,_0x4dce95={'aWhZu':'redis_set_error'};try{const _0x21906d=redisClient['getClient'](),_0x475db8=''+this[_0x9da53b(0x86)]+_0x1e6324;return await _0x21906d[_0x9da53b(0x7b)](_0x475db8,this[_0x9da53b(0x98)],JSON[_0x9da53b(0x8d)](_0x20dd51)),!![];}catch(_0x5b4b2b){return logger['error']({'event':_0x4dce95['aWhZu'],'jobId':_0x1e6324,'error':_0x5b4b2b['message']},_0x9da53b(0x8b)),![];}}async['getJob'](_0x30895d){const _0x461bb4=a0_0x49df84,_0x270e57={'EOUuZ':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x2936ec=redisClient[_0x461bb4(0x89)](),_0x5ed04c=''+this[_0x461bb4(0x86)]+_0x30895d,_0x47213e=await _0x2936ec[_0x461bb4(0x7d)](_0x5ed04c);return _0x47213e?JSON['parse'](_0x47213e):null;}catch(_0xa99853){return logger['error']({'event':'redis_get_error','jobId':_0x30895d,'error':_0xa99853['message']},_0x270e57[_0x461bb4(0x84)]),null;}}async[a0_0x49df84(0x7c)](_0x432c15,_0x8d276f){const _0x5197f1=await this['getJob'](_0x432c15);if(!_0x5197f1)return![];const _0x11076d={..._0x5197f1,..._0x8d276f};return await this['setJob'](_0x432c15,_0x11076d);}async[a0_0x49df84(0x83)](_0x5a20ed){const _0x2b06ff=a0_0x49df84,_0x2b3fe9={'RzhIJ':'redis_delete_error'};try{const _0x1fa832=redisClient['getClient'](),_0x27a238=''+this['prefix']+_0x5a20ed;return await _0x1fa832['del'](_0x27a238),!![];}catch(_0x5d4ab1){return logger['error']({'event':_0x2b3fe9['RzhIJ'],'jobId':_0x5a20ed,'error':_0x5d4ab1[_0x2b06ff(0x8a)]},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async['getAllJobs'](){const _0x3d7bc9=a0_0x49df84,_0x38cf5a={'jGRzT':'redis_getall_error','yTcHE':_0x3d7bc9(0x92)};try{const _0x45687f=redisClient[_0x3d7bc9(0x89)](),_0x448753=await _0x45687f['keys'](this['prefix']+'*'),_0xdd6828=[];for(const _0x314f36 of _0x448753){const _0x13e526=await _0x45687f[_0x3d7bc9(0x7d)](_0x314f36);_0x13e526&&_0xdd6828[_0x3d7bc9(0x7a)](JSON['parse'](_0x13e526));}return _0xdd6828;}catch(_0x368074){return logger['error']({'event':_0x38cf5a[_0x3d7bc9(0x8e)],'error':_0x368074['message']},_0x38cf5a[_0x3d7bc9(0x96)]),[];}}}module['exports']=new RedisHelper();function a0_0x2841(){const _0x570cd9=['y2T2t0u','mtu2nMPgDgzsrW','mtC4ngPWDwDltG','EvrJseu','otzusu1SDfO','DhrS','mtaZnJbiz2vxAvy','rvHqt1jux0zjtevFrvHqsvjz','ChvZAa','C2v0zxG','DxbKyxrLsM9I','z2v0','x3bYzwzPEa','mJG4nuviyxj1wq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','odi3otaYEwH5zxjR','mZe3n2TxANPNrq','zgvSzxrLsM9I','ru9vDvO','lI9YzwrPCY1JBgLLBNq','ChjLzML4','CMvZDgzVCMDLoG','mZmZmdC5wK5xrLjP','z2v0q2XPzw50','BwvZC2fNzq','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','mZiZntCYmfPlCLncva','C3rYAw5NAwz5','AKDsELq','mJC2otyYmeXOEwvHuW','zw52','oMv4Cg9YDdO','rMfPBgvKihrVigDLDcbHBgWGAM9ICW'];a0_0x2841=function(){return _0x570cd9;};return a0_0x2841();}
1
+ const a0_0x13ddff=a0_0x45ed;function a0_0xe4df(){const _0x393028=['z2v0qwXSsM9ICW','DeLJyue','C3rYAw5NAwz5','zxDmAeC','uffmDxy','mJGYndm4AKndzgDt','odiYotm0ohLms1j1zG','odi0nJzduMLyzw0','zgvSzxrLsM9I','mJa4nJeXnuzPseTIvG','oe5gBuT3tW','zgvS','z2v0','mNvdD1nUtG','ChvZAa','zgvMyxvSDa','BwvZC2fNzq','n1DxB1zfva','z2v0q2XPzw50','nfbJBerZwq','oMv4Cg9YDdO','x3bYzwzPEa','CMvKAxnFz2v0ywXSx2vYCM9Y','lI9YzwrPCY1JBgLLBNq','ndq5odC1ohbAyvnIvG','CMvKAxnFzgvSzxrLx2vYCM9Y','CgfYC2u','mtGZnJKZmgLzwxbwDG','mtqXmZC2ngz1z1nwvq','EKX1D0m','mtb4qvr0yKC'];a0_0xe4df=function(){return _0x393028;};return a0_0xe4df();}(function(_0x464c42,_0xaa9051){const _0x1c1f03=a0_0x45ed,_0x458051=_0x464c42();while(!![]){try{const _0x2c2395=parseInt(_0x1c1f03(0x152))/0x1+-parseInt(_0x1c1f03(0x139))/0x2*(parseInt(_0x1c1f03(0x150))/0x3)+parseInt(_0x1c1f03(0x13f))/0x4*(parseInt(_0x1c1f03(0x154))/0x5)+-parseInt(_0x1c1f03(0x147))/0x6*(parseInt(_0x1c1f03(0x13d))/0x7)+-parseInt(_0x1c1f03(0x136))/0x8*(parseInt(_0x1c1f03(0x144))/0x9)+-parseInt(_0x1c1f03(0x14a))/0xa*(-parseInt(_0x1c1f03(0x148))/0xb)+parseInt(_0x1c1f03(0x151))/0xc;if(_0x2c2395===_0xaa9051)break;else _0x458051['push'](_0x458051['shift']());}catch(_0x2fe89f){_0x458051['push'](_0x458051['shift']());}}}(a0_0xe4df,0x65085));const redisClient=require(a0_0x13ddff(0x143)),{logger}=require('./logger');function a0_0x45ed(_0x3fcbb0,_0x494a52){_0x3fcbb0=_0x3fcbb0-0x136;const _0xe4dfbe=a0_0xe4df();let _0x45edd3=_0xe4dfbe[_0x3fcbb0];if(a0_0x45ed['pjEJlZ']===undefined){var _0x4d3c4e=function(_0x5eeae2){const _0x237e91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b9ced='',_0x5486a8='';for(let _0x4bb6ed=0x0,_0x168ded,_0x1c7766,_0x4d9d13=0x0;_0x1c7766=_0x5eeae2['charAt'](_0x4d9d13++);~_0x1c7766&&(_0x168ded=_0x4bb6ed%0x4?_0x168ded*0x40+_0x1c7766:_0x1c7766,_0x4bb6ed++%0x4)?_0x4b9ced+=String['fromCharCode'](0xff&_0x168ded>>(-0x2*_0x4bb6ed&0x6)):0x0){_0x1c7766=_0x237e91['indexOf'](_0x1c7766);}for(let _0x476468=0x0,_0x362088=_0x4b9ced['length'];_0x476468<_0x362088;_0x476468++){_0x5486a8+='%'+('00'+_0x4b9ced['charCodeAt'](_0x476468)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5486a8);};a0_0x45ed['aZHwib']=_0x4d3c4e,a0_0x45ed['caAoNx']={},a0_0x45ed['pjEJlZ']=!![];}const _0x2c14c8=_0xe4dfbe[0x0],_0x1f6a7d=_0x3fcbb0+_0x2c14c8,_0x2eedd2=a0_0x45ed['caAoNx'][_0x1f6a7d];return!_0x2eedd2?(_0x45edd3=a0_0x45ed['aZHwib'](_0x45edd3),a0_0x45ed['caAoNx'][_0x1f6a7d]=_0x45edd3):_0x45edd3=_0x2eedd2,_0x45edd3;}class RedisHelper{constructor(){this['_prefix']=null,this['ttl']=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x3a449d=a0_0x13ddff,_0x5725c3={'SYwSU':_0x3a449d(0x13b)};if(!this['_prefix']){const _0x139c79=process['env']['RESTFORGE_PROJECT_NAME']||_0x5725c3['SYwSU'];this[_0x3a449d(0x141)]='restforge:'+_0x139c79+_0x3a449d(0x140);}return this['_prefix'];}async['setJob'](_0x4367bd,_0x4a81ce){const _0x498792=a0_0x13ddff;try{const _0x4a19b0=redisClient[_0x498792(0x13e)](),_0x2828ca=''+this['prefix']+_0x4367bd;return await _0x4a19b0['setex'](_0x2828ca,this['ttl'],JSON[_0x498792(0x14d)](_0x4a81ce)),!![];}catch(_0x593040){return logger['error']({'event':'redis_set_error','jobId':_0x4367bd,'error':_0x593040[_0x498792(0x13c)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x5afe10){const _0x424c78=a0_0x13ddff,_0x729862={'zLuwC':'redis_get_error','ewLhG':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x383707=redisClient['getClient'](),_0x17aeac=''+this['prefix']+_0x5afe10,_0x1384c8=await _0x383707[_0x424c78(0x138)](_0x17aeac);return _0x1384c8?JSON[_0x424c78(0x146)](_0x1384c8):null;}catch(_0x2d8804){return logger['error']({'event':_0x729862[_0x424c78(0x149)],'jobId':_0x5afe10,'error':_0x2d8804['message']},_0x729862[_0x424c78(0x14e)]),null;}}async['updateJob'](_0x26d810,_0x26a1ee){const _0x1a91ba=await this['getJob'](_0x26d810);if(!_0x1a91ba)return![];const _0x356987={..._0x1a91ba,..._0x26a1ee};return await this['setJob'](_0x26d810,_0x356987);}async[a0_0x13ddff(0x153)](_0x5ca947){const _0x23af89=a0_0x13ddff,_0x394dc3={'wGdAV':_0x23af89(0x145),'PQLuv':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x6eda8f=redisClient['getClient'](),_0x413414=''+this['prefix']+_0x5ca947;return await _0x6eda8f[_0x23af89(0x137)](_0x413414),!![];}catch(_0x4f1bbb){return logger['error']({'event':_0x394dc3['wGdAV'],'jobId':_0x5ca947,'error':_0x4f1bbb['message']},_0x394dc3[_0x23af89(0x14f)]),![];}}async[a0_0x13ddff(0x14b)](){const _0x427d09=a0_0x13ddff,_0x586218={'tIcaA':_0x427d09(0x142)};try{const _0x86d02b=redisClient['getClient'](),_0x32c739=await _0x86d02b['keys'](this['prefix']+'*'),_0x1007d8=[];for(const _0x51411e of _0x32c739){const _0x4d3bc3=await _0x86d02b['get'](_0x51411e);_0x4d3bc3&&_0x1007d8[_0x427d09(0x13a)](JSON[_0x427d09(0x146)](_0x4d3bc3));}return _0x1007d8;}catch(_0x44cb65){return logger['error']({'event':_0x586218[_0x427d09(0x14c)],'error':_0x44cb65[_0x427d09(0x13c)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module['exports']=new RedisHelper();