@restforgejs/platform 4.1.1 → 4.2.8

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 (178) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/endpoint/create.js +42 -3
  6. package/generators/cli/schema/apply.js +525 -0
  7. package/generators/cli/schema/diff.js +321 -0
  8. package/generators/cli/schema/generate-ddl.js +7 -10
  9. package/generators/cli/schema/init.js +95 -172
  10. package/generators/cli/schema/migrate.js +10 -16
  11. package/generators/cli/schema/models.js +8 -12
  12. package/generators/cli/schema/template.js +222 -0
  13. package/generators/cli/schema/validate.js +8 -12
  14. package/generators/cli-entry.js +17 -2
  15. package/generators/lib/dbschema-kit/apply-engine.js +582 -0
  16. package/generators/lib/dbschema-kit/diff-engine.js +703 -0
  17. package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
  18. package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
  19. package/generators/lib/payload/endpoint-schema-validator.js +171 -0
  20. package/generators/lib/payload/payload-runner.js +137 -220
  21. package/generators/lib/payload/schema-diff.js +277 -0
  22. package/generators/lib/utils/audit-columns.js +181 -0
  23. package/generators/lib/utils/cli-output.js +17 -0
  24. package/generators/lib/utils/database-introspector.js +16 -13
  25. package/integrity-manifest.json +8 -8
  26. package/package.json +1 -1
  27. package/scripts/verify-integrity.js +1 -1
  28. package/server.js +1 -1
  29. package/src/components/handlers/adjust_handler.js +1 -1
  30. package/src/components/handlers/audit_handler.js +1 -1
  31. package/src/components/handlers/delete_handler.js +1 -1
  32. package/src/components/handlers/export_handler.js +1 -1
  33. package/src/components/handlers/import_handler.js +1 -1
  34. package/src/components/handlers/insert_handler.js +1 -1
  35. package/src/components/handlers/update_handler.js +1 -1
  36. package/src/components/handlers/upload_handler.js +1 -1
  37. package/src/components/handlers/workflow_handler.js +1 -1
  38. package/src/components/integrations/webhook.js +1 -1
  39. package/src/consumers/baseConsumer.js +1 -1
  40. package/src/consumers/declarativeMapper.js +1 -1
  41. package/src/consumers/handlers/apiHandler.js +1 -1
  42. package/src/consumers/handlers/consoleHandler.js +1 -1
  43. package/src/consumers/handlers/databaseHandler.js +1 -1
  44. package/src/consumers/handlers/index.js +1 -1
  45. package/src/consumers/handlers/kafkaHandler.js +1 -1
  46. package/src/consumers/index.js +1 -1
  47. package/src/consumers/messageTransformer.js +1 -1
  48. package/src/consumers/validator.js +1 -1
  49. package/src/core/db/dialect/base-dialect.js +1 -1
  50. package/src/core/db/dialect/index.js +1 -1
  51. package/src/core/db/dialect/mysql-dialect.js +1 -1
  52. package/src/core/db/dialect/oracle-dialect.js +1 -1
  53. package/src/core/db/dialect/postgres-dialect.js +1 -1
  54. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  55. package/src/core/db/flatten-helper.js +1 -1
  56. package/src/core/db/query-builder-error.js +1 -1
  57. package/src/core/db/query-builder.js +1 -1
  58. package/src/core/db/relation-helper.js +1 -1
  59. package/src/core/handlers/delete_handler.js +1 -1
  60. package/src/core/handlers/insert_handler.js +1 -1
  61. package/src/core/handlers/update_handler.js +1 -1
  62. package/src/core/models/base-model.js +1 -1
  63. package/src/core/utils/cache-manager.js +1 -1
  64. package/src/core/utils/component-engine.js +1 -1
  65. package/src/core/utils/context-builder.js +1 -1
  66. package/src/core/utils/datetime-formatter.js +1 -1
  67. package/src/core/utils/datetime-parser.js +1 -1
  68. package/src/core/utils/db.js +1 -1
  69. package/src/core/utils/logger.js +1 -1
  70. package/src/core/utils/payload-loader.js +1 -1
  71. package/src/core/utils/security-checks.js +1 -1
  72. package/src/middleware/body-options.js +1 -1
  73. package/src/middleware/cors.js +1 -1
  74. package/src/middleware/idempotency.js +1 -1
  75. package/src/middleware/rate-limiter.js +1 -1
  76. package/src/middleware/request-logger.js +1 -1
  77. package/src/middleware/security-headers.js +1 -1
  78. package/src/models/base-model-mysql.js +1 -1
  79. package/src/models/base-model-oracle.js +1 -1
  80. package/src/models/base-model-sqlite.js +1 -1
  81. package/src/models/base-model.js +1 -1
  82. package/src/pro/caching/redis-client.js +1 -1
  83. package/src/pro/caching/redis-helper.js +1 -1
  84. package/src/pro/consumers/baseConsumer.js +1 -1
  85. package/src/pro/consumers/declarativeMapper.js +1 -1
  86. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  87. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  88. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  89. package/src/pro/consumers/handlers/index.js +1 -1
  90. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  91. package/src/pro/consumers/index.js +1 -1
  92. package/src/pro/consumers/messageTransformer.js +1 -1
  93. package/src/pro/consumers/validator.js +1 -1
  94. package/src/pro/database/base-model-mysql.js +1 -1
  95. package/src/pro/database/base-model-oracle.js +1 -1
  96. package/src/pro/database/base-model-sqlite.js +1 -1
  97. package/src/pro/database/db-mysql.js +1 -1
  98. package/src/pro/database/db-oracle.js +1 -1
  99. package/src/pro/database/db-sqlite.js +1 -1
  100. package/src/pro/excel/excel-generator.js +1 -1
  101. package/src/pro/excel/excel-parser.js +1 -1
  102. package/src/pro/excel/export-service.js +1 -1
  103. package/src/pro/excel/export_handler.js +1 -1
  104. package/src/pro/excel/import-service.js +1 -1
  105. package/src/pro/excel/import-validator.js +1 -1
  106. package/src/pro/excel/import_handler.js +1 -1
  107. package/src/pro/excel/upsert-builder.js +1 -1
  108. package/src/pro/idgen/idgen-routes.js +1 -1
  109. package/src/pro/integrations/lookup-resolver.js +1 -1
  110. package/src/pro/integrations/upload-handler-v2.js +1 -1
  111. package/src/pro/integrations/upload-handler.js +1 -1
  112. package/src/pro/integrations/webhook.js +1 -1
  113. package/src/pro/locking/lock-routes.js +1 -1
  114. package/src/pro/locking/resource-lock-manager.js +1 -1
  115. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  116. package/src/pro/messaging/kafkaService.js +1 -1
  117. package/src/pro/messaging/messagehubService.js +1 -1
  118. package/src/pro/messaging/rabbitmqService.js +1 -1
  119. package/src/pro/scheduler/job-manager.js +1 -1
  120. package/src/pro/scheduler/job-routes.js +1 -1
  121. package/src/pro/scheduler/job-validator.js +1 -1
  122. package/src/pro/storage/base-storage-provider.js +1 -1
  123. package/src/pro/storage/file-metadata-helper.js +1 -1
  124. package/src/pro/storage/index.js +1 -1
  125. package/src/pro/storage/local-storage-provider.js +1 -1
  126. package/src/pro/storage/s3-storage-provider.js +1 -1
  127. package/src/pro/storage/upload-cleanup-job.js +1 -1
  128. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  129. package/src/pro/storage/upload-pending-tracker.js +1 -1
  130. package/src/pro/websocket/broadcast-helper.js +1 -1
  131. package/src/pro/websocket/index.js +1 -1
  132. package/src/pro/websocket/livesync-server.js +1 -1
  133. package/src/pro/websocket/ws-broadcaster.js +1 -1
  134. package/src/services/export-service.js +1 -1
  135. package/src/services/import-service.js +1 -1
  136. package/src/services/kafkaConsumerService.js +1 -1
  137. package/src/services/kafkaService.js +1 -1
  138. package/src/services/messagehubService.js +1 -1
  139. package/src/services/rabbitmqService.js +1 -1
  140. package/src/utils/cache-invalidation-registry.js +1 -1
  141. package/src/utils/cache-manager.js +1 -1
  142. package/src/utils/component-engine.js +1 -1
  143. package/src/utils/config-extractor.js +1 -1
  144. package/src/utils/consumerLogger.js +1 -1
  145. package/src/utils/context-builder.js +1 -1
  146. package/src/utils/dashboard-helpers.js +1 -1
  147. package/src/utils/dateHelper.js +1 -1
  148. package/src/utils/datetime-formatter.js +1 -1
  149. package/src/utils/datetime-parser.js +1 -1
  150. package/src/utils/db-bootstrap.js +1 -1
  151. package/src/utils/db-mysql.js +1 -1
  152. package/src/utils/db-oracle.js +1 -1
  153. package/src/utils/db-sqlite.js +1 -1
  154. package/src/utils/db.js +1 -1
  155. package/src/utils/demo-generator.js +1 -1
  156. package/src/utils/excel-generator.js +1 -1
  157. package/src/utils/excel-parser.js +1 -1
  158. package/src/utils/file-watcher.js +1 -1
  159. package/src/utils/id-generator.js +1 -1
  160. package/src/utils/idempotency-manager.js +1 -1
  161. package/src/utils/import-validator.js +1 -1
  162. package/src/utils/license-client.js +1 -1
  163. package/src/utils/lock-manager.js +1 -1
  164. package/src/utils/logger.js +1 -1
  165. package/src/utils/lookup-resolver.js +1 -1
  166. package/src/utils/payload-loader.js +1 -1
  167. package/src/utils/processor-response.js +1 -1
  168. package/src/utils/rabbitmq.js +1 -1
  169. package/src/utils/redis-client.js +1 -1
  170. package/src/utils/redis-helper.js +1 -1
  171. package/src/utils/request-scope.js +1 -1
  172. package/src/utils/security-checks.js +1 -1
  173. package/src/utils/service-resolver.js +1 -1
  174. package/src/utils/shutdown-coordinator.js +1 -1
  175. package/src/utils/trusted-keys.js +1 -1
  176. package/src/utils/upload-handler.js +1 -1
  177. package/src/utils/upsert-builder.js +1 -1
  178. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x3e0bc5=a0_0x168c;(function(_0x5a8c8b,_0x49ae86){const _0x5eebfd=a0_0x168c,_0x5cd56d=_0x5a8c8b();while(!![]){try{const _0x77152d=parseInt(_0x5eebfd(0x112))/0x1+parseInt(_0x5eebfd(0xed))/0x2*(parseInt(_0x5eebfd(0xec))/0x3)+-parseInt(_0x5eebfd(0xe7))/0x4+-parseInt(_0x5eebfd(0xb8))/0x5*(-parseInt(_0x5eebfd(0xf2))/0x6)+-parseInt(_0x5eebfd(0xf9))/0x7*(-parseInt(_0x5eebfd(0xca))/0x8)+parseInt(_0x5eebfd(0xfb))/0x9+parseInt(_0x5eebfd(0xbb))/0xa*(-parseInt(_0x5eebfd(0x113))/0xb);if(_0x77152d===_0x49ae86)break;else _0x5cd56d['push'](_0x5cd56d['shift']());}catch(_0x27b5df){_0x5cd56d['push'](_0x5cd56d['shift']());}}}(a0_0x5da8,0x6f0a1));const redisClient=require('./redis-client'),{logger}=require(a0_0x3e0bc5(0xd5)),{v4:uuidv4}=require(a0_0x3e0bc5(0x100));function a0_0x5da8(){const _0xfba436=['zw52','zw5HyMXLza','Bg9JA19LEhrLBMrLza','CgLK','x3jLDhj5rgvSyxK','BM93','D3jPDgu','x2vUywjSzwq','mZu5mtC5rMXsrw9g','mtfMvM1pz3O','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','ndbZy2HTuLa','rxb6vKe','tg9JAYbYzwXLyxnLigvYCM9Y','mtG4mtK1ndbRuwDPrKq','x3n0CMf0zwD5','C2v0','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','x3DVCMTLCKLK','B2T5s1O','D3jPDgvFBg9JA190Aw1LB3v0','Cg93','te9ds19esvnuuKLcvvrfrf9ftKfcteve','C2XLzxa','rwj2DLi','AxnfBMfIBgvK','v1jjveuGBg9JAYbLCNjVCG','D3jPDgvFBg9JA19YzwPLy3rLza','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','og91CwDKrW','CgrytLK','zxjYB3i','D2fYBG','D3jPDgvFBg9JA193ywL0Aw5N','x2vUC3vYzuLUAxrPywXPEMvK','CMv0CNLdB3vUDa','Bg9JA19YzwXLyxnLx2vYCM9Y','Aw5JBhvKzxm','x2LUAxrPywXPEMvK','zgvMyxvSDfruta','lI9SB2DNzxi','BwHntuq','CMvHza','x3jLDhj5q291BNq','zxzHBa','zgvIDwC','z2v0tg9JA0LUzM8','CMv0CNK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Dhj1zq','rhvUvNK','AMrUENm','zxHWAxjL','zxv3rMK','CMvHzf9SB2nRx2vYCM9Y','C2v0zxG','n3W1Fdr8mhWZFdz8mxW4Fdi','CvrlqwW','nte3nZG0wwrtruv1','D3jPDgvFBg9JA19Hy3f1AxjLza','re55BLO','Aw5MBW','CMvHzf9SB2nRx3jLBgvHC2vK','mtu5zgvJqMnL','mtmWodjKt0LcwNG','D29YA2vYlq','CMv0CNLezwXHEq','BxHKwK0','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','ndC5nda2uxfABLPY','BwvZC2fNzq','tg9JAYbLEhrLBMqGzxjYB3i','zgvJCG','v1jjveuGBg9JAYbYzwXLyxnLza','zxHWB3j0CW','z2vUzxjHDgvmB2nRvMfSDwu','ntiZody2n1rZBMvsuG','CMvHzf9SB2nRx3DHAxrPBMC','mZm1ndK4nhPVDgHYtG','D3jPDgvFBg9JA19LCNjVCG','yNvPBgrmB2nRs2v5','ChjLzML4','z2v0q2XPzw50','DxvPza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CMvHzf9SB2nRx3rPBwvVDxq','CMvQzwn0','C3bSAxq','z2v0','C3vIC3rYAw5N','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','uKvbrcbSB2nRigfJCxvPCMvK','Aw5JCG'];a0_0x5da8=function(){return _0xfba436;};return a0_0x5da8();}class LockManager{constructor(){const _0x118f54=a0_0x3e0bc5;this['_prefix']=null,this[_0x118f54(0x111)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x118f54(0x10e)]=null,this[_0x118f54(0xbc)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x4efbad=a0_0x3e0bc5,_0x4be8ec={'FPiYw':_0x4efbad(0xe5),'ybxvz':function(_0x3c88f5,_0xb47b50,_0x131e4d){return _0x3c88f5(_0xb47b50,_0x131e4d);},'EbvvR':'lock_config_init','qTKAl':function(_0x5d3939,_0x2e296f){return _0x5d3939===_0x2e296f;},'HqLSW':_0x4efbad(0xde),'mxdZM':_0x4efbad(0xdc),'EbIlW':'rf:lock:'},_0x1e2f65=_0x4be8ec['FPiYw'][_0x4efbad(0x104)]('|');let _0x2b7a74=0x0;while(!![]){switch(_0x1e2f65[_0x2b7a74++]){case'0':this['_retryCount']=_0x4be8ec['ybxvz'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'1':this['_workerId']=_0x4efbad(0xee)+process[_0x4efbad(0x10d)];continue;case'2':logger[_0x4efbad(0xea)]({'event':_0x4be8ec[_0x4efbad(0xc5)],'enabled':this[_0x4efbad(0x111)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x4efbad(0xd8)],'retryDelay':this[_0x4efbad(0x10e)],'workerId':this[_0x4efbad(0xbf)]},_0x4efbad(0xf1)+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'3':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'4':this['_defaultTTL']=parseInt(process[_0x4efbad(0x10a)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'5':this['_enabled']=_0x4be8ec[_0x4efbad(0xe6)](process[_0x4efbad(0x10a)][_0x4efbad(0xc3)],_0x4be8ec['HqLSW']);continue;case'6':this[_0x4efbad(0xbc)]=process[_0x4efbad(0x10a)]['LOCK_DISTRIBUTED_STRATEGY']||_0x4be8ec[_0x4efbad(0xf0)];continue;case'7':this['_prefix']=_0x4be8ec['EbIlW'];continue;case'8':this['_initialized']=!![];continue;}break;}}[a0_0x3e0bc5(0xcf)](){const _0x3c0411=a0_0x3e0bc5;!this[_0x3c0411(0xd3)]&&this['_initConfig']();}get[a0_0x3e0bc5(0xfe)](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x3e0bc5(0x10b)](){const _0xd0959b=a0_0x3e0bc5;return this[_0xd0959b(0xcf)](),this[_0xd0959b(0x111)];}get['defaultTTL'](){const _0x3767d5=a0_0x3e0bc5;return this[_0x3767d5(0xcf)](),this['_defaultTTL'];}get['retryCount'](){const _0xd0ccfe=a0_0x3e0bc5;return this[_0xd0ccfe(0xcf)](),this[_0xd0ccfe(0xd8)];}get[a0_0x3e0bc5(0xef)](){const _0x5f11eb=a0_0x3e0bc5;return this['_ensureInitialized'](),this[_0x5f11eb(0x10e)];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x527bd7){const _0x50d7b3=a0_0x3e0bc5,{module:_0xe4822c,endpoint:_0xd6bad4,lockType:_0x49e03e,recordId:_0x481a28}=_0x527bd7;if(_0x481a28)return''+this['prefix']+_0xe4822c+':'+_0xd6bad4+':'+_0x481a28+':'+_0x49e03e;return''+this[_0x50d7b3(0xfe)]+_0xe4822c+':'+_0xd6bad4+':'+_0x49e03e;}['generateLockValue'](){const _0x59bdcb=a0_0x3e0bc5;return this['workerId']+':'+uuidv4()+':'+Date[_0x59bdcb(0x10f)]();}async['acquireReadLock'](_0x40a6cb){const _0x325a15=a0_0x3e0bc5,_0xe437dc={'okyKZ':_0x325a15(0x110),'leYvi':'read_lock_acquired','bfGiT':_0x325a15(0x108),'MGbmY':_0x325a15(0xfa),'VpkQY':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','jdnzs':_0x325a15(0x102),'SQhyV':'READ\x20lock\x20acquire\x20timeout'};if(!this[_0x325a15(0x10b)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x41d48e=this['buildLockKey']({..._0x40a6cb,'lockType':_0xe437dc[_0x325a15(0xc0)]}),_0x1de3fa=this['buildLockKey']({..._0x40a6cb,'lockType':'read'}),_0x2bd98c=this['generateLockValue']();try{const _0x53f984=redisClient[_0x325a15(0xff)]();for(let _0x5abdb8=0x0;_0x5abdb8<this['retryCount'];_0x5abdb8++){const _0x100642=await _0x53f984['get'](_0x41d48e);if(!_0x100642){await _0x53f984[_0x325a15(0x109)](_0x1de3fa),await _0x53f984[_0x325a15(0xe1)](_0x1de3fa,this[_0x325a15(0xd4)]);const _0x409c4c=_0x1de3fa+':'+_0x2bd98c;return await _0x53f984[_0x325a15(0xe4)](_0x409c4c,this[_0x325a15(0xd4)],_0x2bd98c),logger['debug']({'event':_0xe437dc['leYvi'],'key':_0x1de3fa,'value':_0x2bd98c},_0xe437dc['bfGiT']),{'success':!![],'lockValue':_0x2bd98c,'lockKey':_0x409c4c};}logger[_0x325a15(0xda)]({'event':_0xe437dc['MGbmY'],'writeKey':_0x41d48e,'attempt':_0x5abdb8},_0xe437dc['VpkQY']),await this[_0x325a15(0xc4)](this['retryDelay']*Math['pow'](0x2,_0x5abdb8));}return logger['warn']({'event':_0xe437dc[_0x325a15(0xe0)],'key':_0x1de3fa},_0xe437dc['SQhyV']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xcc6834){return logger['error']({'event':_0x325a15(0xe3),'error':_0xcc6834[_0x325a15(0xf3)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x178b92){const _0x22e4fc=a0_0x3e0bc5,_0x288cdb={'fUGjc':_0x22e4fc(0x110),'euwFi':function(_0x4024d0,_0x523fb7){return _0x4024d0===_0x523fb7;},'pdXNY':'reject','vfcwA':_0x22e4fc(0xe8),'DQbIh':_0x22e4fc(0xb7),'AiFGw':function(_0x500a4f,_0xeab23){return _0x500a4f<_0xeab23;},'DNynZ':'retry','DunVy':_0x22e4fc(0x107),'kBgTS':_0x22e4fc(0xce),'QOznw':_0x22e4fc(0xfc),'VJXYa':_0x22e4fc(0xc7)};if(!this[_0x22e4fc(0x10b)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x48f1a8=this['buildLockKey']({..._0x178b92,'lockType':_0x288cdb['fUGjc']}),_0x236102=this[_0x22e4fc(0xfd)]({..._0x178b92,'lockType':_0x22e4fc(0xd7)}),_0x2ad82f=this[_0x22e4fc(0xf8)]();try{const _0x1913ea=redisClient['getClient']();if(_0x288cdb[_0x22e4fc(0xe2)](this['strategy'],_0x288cdb[_0x22e4fc(0xcb)])){const _0x1b6ea1=await _0x1913ea['set'](_0x48f1a8,_0x2ad82f,'EX',this['defaultTTL'],'NX');if(_0x1b6ea1==='OK')return logger['debug']({'event':_0x288cdb['vfcwA'],'key':_0x48f1a8,'value':_0x2ad82f,'strategy':_0x22e4fc(0x103)},_0x288cdb['DQbIh']),{'success':!![],'lockValue':_0x2ad82f,'lockKey':_0x48f1a8};return logger['debug']({'event':_0x22e4fc(0xc8),'key':_0x48f1a8},_0x22e4fc(0x114)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x3f84bf=0x0;_0x288cdb['AiFGw'](_0x3f84bf,this[_0x22e4fc(0xd0)]);_0x3f84bf++){const [_0x3897ed,_0x4e1c72]=await Promise['all']([_0x1913ea[_0x22e4fc(0x105)](_0x236102),_0x1913ea['get'](_0x48f1a8)]);if(!_0x4e1c72&&(!_0x3897ed||_0x288cdb['euwFi'](parseInt(_0x3897ed),0x0))){const _0xc47e39=await _0x1913ea[_0x22e4fc(0xbd)](_0x48f1a8,_0x2ad82f,'EX',this[_0x22e4fc(0xd4)],'NX');if(_0xc47e39==='OK')return logger[_0x22e4fc(0xda)]({'event':_0x288cdb['vfcwA'],'key':_0x48f1a8,'value':_0x2ad82f,'strategy':_0x288cdb[_0x22e4fc(0xe9)]},_0x288cdb[_0x22e4fc(0xdf)]),{'success':!![],'lockValue':_0x2ad82f,'lockKey':_0x48f1a8};}logger[_0x22e4fc(0xda)]({'event':_0x288cdb['kBgTS'],'writeKey':_0x48f1a8,'readCount':_0x3897ed,'attempt':_0x3f84bf},_0x22e4fc(0x101)),await this[_0x22e4fc(0xc4)](this['retryDelay']*Math[_0x22e4fc(0xc2)](0x2,_0x3f84bf));}return logger[_0x22e4fc(0xcd)]({'event':_0x22e4fc(0xc1),'key':_0x48f1a8},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x324cc6){return logger[_0x22e4fc(0xcc)]({'event':_0x288cdb['QOznw'],'error':_0x324cc6['message']},_0x288cdb['VJXYa']),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2427ad,_0x46acb1){const _0x328654=a0_0x3e0bc5,_0x5e9589={'vHshX':function(_0x15eb75,_0x476023){return _0x15eb75>_0x476023;},'NKVhA':function(_0x127749,_0x1a9cf5){return _0x127749(_0x1a9cf5);},'SaGEO':_0x328654(0xeb),'Jrxmm':'READ\x20lock\x20released','EpzVA':_0x328654(0xf6),'qbdkq':_0x328654(0xd1),'mhMMD':_0x328654(0xba)};if(!this[_0x328654(0x10b)]||!_0x2427ad)return!![];try{const _0x4edc81=redisClient['getClient']();if(_0x2427ad[_0x328654(0xd2)](':read:')){await _0x4edc81['del'](_0x2427ad);const _0x521174=_0x2427ad[_0x328654(0x106)](0x0,_0x2427ad['lastIndexOf'](':')),_0x3a5b58=await _0x4edc81[_0x328654(0x105)](_0x521174);return _0x3a5b58&&_0x5e9589['vHshX'](_0x5e9589['NKVhA'](parseInt,_0x3a5b58),0x0)&&await _0x4edc81[_0x328654(0xf5)](_0x521174),logger[_0x328654(0xda)]({'event':_0x5e9589['SaGEO'],'key':_0x2427ad},_0x5e9589['Jrxmm']),!![];}const _0x4ca86d=_0x328654(0xdd),_0x342a73=await _0x4edc81['eval'](_0x4ca86d,0x1,_0x2427ad,_0x46acb1);if(_0x342a73===0x1)return logger[_0x328654(0xda)]({'event':'write_lock_released','key':_0x2427ad},_0x5e9589[_0x328654(0xb9)]),!![];return logger['warn']({'event':_0x328654(0xbe),'key':_0x2427ad},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x2c46f4){return logger['error']({'event':_0x5e9589['qbdkq'],'key':_0x2427ad,'error':_0x2c46f4['message']},_0x5e9589[_0x328654(0xd6)]),![];}}async['extendLock'](_0x942eda,_0x449ec0,_0x294b42=null){const _0x56fa56=a0_0x3e0bc5,_0x5e9253={'DXUqj':'lock_extend_error','cbnyh':_0x56fa56(0xf4)};if(!this['enabled']||!_0x942eda)return!![];try{const _0x58bf8a=redisClient[_0x56fa56(0xff)](),_0xfcabb6=_0x56fa56(0xc9),_0x18e62d=await _0x58bf8a[_0x56fa56(0xd9)](_0xfcabb6,0x1,_0x942eda,_0x449ec0,_0x294b42||this['defaultTTL']);if(_0x18e62d===0x1)return logger[_0x56fa56(0xda)]({'event':_0x56fa56(0x10c),'key':_0x942eda,'ttl':_0x294b42||this[_0x56fa56(0xd4)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x1560ed){return logger['error']({'event':_0x5e9253['DXUqj'],'key':_0x942eda,'error':_0x1560ed['message']},_0x5e9253['cbnyh']),![];}}[a0_0x3e0bc5(0xc6)](){const _0x3cf042=a0_0x3e0bc5;return this[_0x3cf042(0x10b)];}[a0_0x3e0bc5(0xc4)](_0x10f6d6){return new Promise(_0x445ede=>setTimeout(_0x445ede,_0x10f6d6));}async[a0_0x3e0bc5(0xdb)](_0x2491e6){const _0x4cd72f=a0_0x3e0bc5,_0x2fa988={'GYLkX':'write'};if(!this[_0x4cd72f(0x10b)])return{'enabled':![]};try{const _0x143cca=redisClient['getClient'](),_0x58e68f=this[_0x4cd72f(0xfd)]({..._0x2491e6,'lockType':_0x2fa988['GYLkX']}),_0x231e57=this['buildLockKey']({..._0x2491e6,'lockType':'read'}),[_0x22192c,_0x44b735]=await Promise['all']([_0x143cca['get'](_0x58e68f),_0x143cca[_0x4cd72f(0x105)](_0x231e57)]);return{'enabled':!![],'writeLock':_0x22192c||null,'readCount':parseInt(_0x44b735)||0x0,'writeKey':_0x58e68f,'readKey':_0x231e57};}catch(_0x4e8adb){return{'enabled':!![],'error':_0x4e8adb['message']};}}}function a0_0x168c(_0x27aa61,_0x4cd42e){_0x27aa61=_0x27aa61-0xb7;const _0x5da81b=a0_0x5da8();let _0x168c28=_0x5da81b[_0x27aa61];if(a0_0x168c['TKGqKx']===undefined){var _0xdc1eca=function(_0x4e478e){const _0x188f96='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f40ce='',_0x202f93='';for(let _0x3a5a07=0x0,_0x371c5e,_0x22ce67,_0x1b25fd=0x0;_0x22ce67=_0x4e478e['charAt'](_0x1b25fd++);~_0x22ce67&&(_0x371c5e=_0x3a5a07%0x4?_0x371c5e*0x40+_0x22ce67:_0x22ce67,_0x3a5a07++%0x4)?_0x4f40ce+=String['fromCharCode'](0xff&_0x371c5e>>(-0x2*_0x3a5a07&0x6)):0x0){_0x22ce67=_0x188f96['indexOf'](_0x22ce67);}for(let _0x3d2a8d=0x0,_0x5e55f2=_0x4f40ce['length'];_0x3d2a8d<_0x5e55f2;_0x3d2a8d++){_0x202f93+='%'+('00'+_0x4f40ce['charCodeAt'](_0x3d2a8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x202f93);};a0_0x168c['ZTzKAw']=_0xdc1eca,a0_0x168c['KEYVDr']={},a0_0x168c['TKGqKx']=!![];}const _0x4d4237=_0x5da81b[0x0],_0x434b55=_0x27aa61+_0x4d4237,_0xd1502d=a0_0x168c['KEYVDr'][_0x434b55];return!_0xd1502d?(_0x168c28=a0_0x168c['ZTzKAw'](_0x168c28),a0_0x168c['KEYVDr'][_0x434b55]=_0x168c28):_0x168c28=_0xd1502d,_0x168c28;}module[a0_0x3e0bc5(0xf7)]=new LockManager();
1
+ function a0_0x293b(){const _0x5e7597=['z2v0','C2v0zxG','te9ds19esvnuuKLcvvrfrf9uveW','uKvbrcbSB2nRihjLBgvHC2vK','tMLlquy','nJG1oduWmNzMAvfwvq','D29YA2vYswq','x2LUAxrPywXPEMvK','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','swniENy','CMv0CNK','CMjtEeq','zw5HyMXLza','zgvMyxvSDfruta','CMvHzf9SB2nRx2vYCM9Y','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CMvHza','Eev4BeK','zxHWB3j0CW','C3rYyxrLz3K','C3vIC3rYAw5N','x2vUywjSzwq','ywXS','ChjLzML4','Cg93','x3jLDhj5rgvSyxK','zvvMsNm','x2vUC3vYzuLUAxrPywXPEMvK','zgvIDwC','uMX1C2u','mtaXnJi2odnOtxr3BxG','tKTysfa','mMrqtwTVwq','DxvPza','Bg9JA19JB25MAwDFAw5PDa','mta0ndq2nhbxu0zAtW','zxjYB3i','CMvHzf9SB2nRx3DHAxrPBMC','x3bYzwzPEa','x2rLzMf1BhruveW','z2v0q2XPzw50','D3jPDgvFBg9JA190Aw1LB3v0','zgvJCG','nvL5whjNEq','D3jPDgvFBg9JA193ywL0Aw5N','CMvHzf9SB2nRx3rPBwvVDxq','BwvZC2fNzq','C2XLzxa','Aw5JCG','uKvbrcbSB2nRigvYCM9Y','x3jLDhj5q291BNq','z2vUzxjHDgvmB2nRvMfSDwu','ueLyAgO','D29YA2vYlq','BgfZDeLUzgv4t2y','CMvQzwn0','tg9JAYbLEhrLBMqGzxjYB3i','ohfgDKrSDW','ywnXDwLYzvjLywrmB2nR','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','ndy3nte3zgnhvvDi','zxzHBa','nZCZnde1meD0yujYqW','vKjZBuS','D3jPDgvFBg9JA19LCNjVCG','CMv0CNLdB3vUDa','x3DVCMTLCKLK','tMX4DNK','zw52','mZm3mZiYoe9QCLfRBW','D3jPDgu','zgvS','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x3n0CMf0zwD5','C2v0','Chf1ugC','z2v0tg9JA0LUzM8','AxnfBMfIBgvK','CMvSzwfZzuXVy2S','te9ds19esvnuuKLcvvrfrf9srvrswq','yNvPBgrmB2nRs2v5','otq5ntK5mhr3t0XJDa','D3jPDgvFBg9JA19Hy3f1AxjLza','mNW1Fdb8m3W3Fdz8mxW0'];a0_0x293b=function(){return _0x5e7597;};return a0_0x293b();}const a0_0x52ebe4=a0_0x591b;(function(_0x46160d,_0x3f3357){const _0x2edb62=a0_0x591b,_0x2b8b0a=_0x46160d();while(!![]){try{const _0x44b45a=-parseInt(_0x2edb62(0x14b))/0x1+parseInt(_0x2edb62(0x148))/0x2*(parseInt(_0x2edb62(0x164))/0x3)+parseInt(_0x2edb62(0x16d))/0x4*(-parseInt(_0x2edb62(0x153))/0x5)+parseInt(_0x2edb62(0x166))/0x6+-parseInt(_0x2edb62(0x181))/0x7+-parseInt(_0x2edb62(0x161))/0x8*(-parseInt(_0x2edb62(0x146))/0x9)+parseInt(_0x2edb62(0x179))/0xa;if(_0x44b45a===_0x3f3357)break;else _0x2b8b0a['push'](_0x2b8b0a['shift']());}catch(_0x565d02){_0x2b8b0a['push'](_0x2b8b0a['shift']());}}}(a0_0x293b,0xa02dd));function a0_0x591b(_0x1bcefa,_0x227354){_0x1bcefa=_0x1bcefa-0x13e;const _0x293bea=a0_0x293b();let _0x591b04=_0x293bea[_0x1bcefa];if(a0_0x591b['YFaNvm']===undefined){var _0x1f6146=function(_0x3a1ee0){const _0x12e886='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9fc6a='',_0x337119='';for(let _0x48772a=0x0,_0x14ce2b,_0x5b885c,_0x584732=0x0;_0x5b885c=_0x3a1ee0['charAt'](_0x584732++);~_0x5b885c&&(_0x14ce2b=_0x48772a%0x4?_0x14ce2b*0x40+_0x5b885c:_0x5b885c,_0x48772a++%0x4)?_0x9fc6a+=String['fromCharCode'](0xff&_0x14ce2b>>(-0x2*_0x48772a&0x6)):0x0){_0x5b885c=_0x12e886['indexOf'](_0x5b885c);}for(let _0x191b8b=0x0,_0x5ed5fc=_0x9fc6a['length'];_0x191b8b<_0x5ed5fc;_0x191b8b++){_0x337119+='%'+('00'+_0x9fc6a['charCodeAt'](_0x191b8b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x337119);};a0_0x591b['UaPjRe']=_0x1f6146,a0_0x591b['WqxDuL']={},a0_0x591b['YFaNvm']=!![];}const _0x59ebfa=_0x293bea[0x0],_0x3d3b62=_0x1bcefa+_0x59ebfa,_0x3ea47f=a0_0x591b['WqxDuL'][_0x3d3b62];return!_0x3ea47f?(_0x591b04=a0_0x591b['UaPjRe'](_0x591b04),a0_0x591b['WqxDuL'][_0x3d3b62]=_0x591b04):_0x591b04=_0x3ea47f,_0x591b04;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x52ebe4(0x149));class LockManager{constructor(){const _0x3f6018=a0_0x52ebe4,_0x17e9ff=_0x3f6018(0x17b)['split']('|');let _0x260988=0x0;while(!![]){switch(_0x17e9ff[_0x260988++]){case'0':this['_defaultTTL']=null;continue;case'1':this['_workerId']=null;continue;case'2':this[_0x3f6018(0x14e)]=null;continue;case'3':this[_0x3f6018(0x15a)]=null;continue;case'4':this['_initialized']=![];continue;case'5':this[_0x3f6018(0x191)]=null;continue;case'6':this[_0x3f6018(0x171)]=null;continue;case'7':this[_0x3f6018(0x141)]=null;continue;}break;}}['_initConfig'](){const _0x145b96=a0_0x52ebe4,_0x48d342={'NiKAF':function(_0x412bdd,_0x5cc83b,_0x33d7fe){return _0x412bdd(_0x5cc83b,_0x33d7fe);},'xExlI':_0x145b96(0x186)};this[_0x145b96(0x14e)]='rf:lock:',this[_0x145b96(0x191)]=process[_0x145b96(0x16c)]['LOCK_DISTRIBUTED_ENABLED']==='true',this['_defaultTTL']=_0x48d342[_0x145b96(0x180)](parseInt,process[_0x145b96(0x16c)][_0x145b96(0x17e)],0xa)||0xa,this[_0x145b96(0x15a)]=_0x48d342['NiKAF'](parseInt,process[_0x145b96(0x16c)][_0x145b96(0x177)],0xa)||0x3,this[_0x145b96(0x141)]=_0x48d342[_0x145b96(0x180)](parseInt,process[_0x145b96(0x16c)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x145b96(0x171)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x48d342[_0x145b96(0x18d)],this['_workerId']=_0x145b96(0x15d)+process['pid'],this[_0x145b96(0x183)]=!![],logger['info']({'event':_0x145b96(0x14a),'enabled':this[_0x145b96(0x191)],'strategy':this['_strategy'],'ttl':this[_0x145b96(0x14f)],'retryCount':this[_0x145b96(0x15a)],'retryDelay':this['_retryDelay'],'workerId':this[_0x145b96(0x16a)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x145b96(0x191)]+',\x20strategy:\x20'+this[_0x145b96(0x171)]);}['_ensureInitialized'](){const _0x1272bc=a0_0x52ebe4;!this[_0x1272bc(0x183)]&&this['_initConfig']();}get['prefix'](){const _0x2bcca7=a0_0x52ebe4;return this[_0x2bcca7(0x143)](),this['_prefix'];}get['enabled'](){const _0x244e1d=a0_0x52ebe4;return this['_ensureInitialized'](),this[_0x244e1d(0x191)];}get[a0_0x52ebe4(0x189)](){const _0x1ebb71=a0_0x52ebe4;return this[_0x1ebb71(0x143)](),this['_defaultTTL'];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0x1a0d4d=a0_0x52ebe4;return this[_0x1a0d4d(0x143)](),this['_retryDelay'];}get['strategy'](){const _0x5aca18=a0_0x52ebe4;return this[_0x5aca18(0x143)](),this['_strategy'];}get[a0_0x52ebe4(0x182)](){const _0x5a0998=a0_0x52ebe4;return this[_0x5a0998(0x143)](),this['_workerId'];}['buildLockKey'](_0x25127a){const _0x248e90=a0_0x52ebe4,{module:_0xdb84cc,endpoint:_0x4094c6,lockType:_0x421023,recordId:_0x405236}=_0x25127a;if(_0x405236)return''+this[_0x248e90(0x13f)]+_0xdb84cc+':'+_0x4094c6+':'+_0x405236+':'+_0x421023;return''+this[_0x248e90(0x13f)]+_0xdb84cc+':'+_0x4094c6+':'+_0x421023;}[a0_0x52ebe4(0x15b)](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async[a0_0x52ebe4(0x162)](_0x19a700){const _0x5054d0=a0_0x52ebe4,_0x4fc2d6={'WRfYZ':'read_lock_acquired','rAsAK':_0x5054d0(0x14d),'rbSxD':function(_0x40e02c,_0x52d232){return _0x40e02c*_0x52d232;},'PIXhj':_0x5054d0(0x155)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4411df=this[_0x5054d0(0x178)]({..._0x19a700,'lockType':_0x5054d0(0x16e)}),_0xa7bafd=this[_0x5054d0(0x178)]({..._0x19a700,'lockType':'read'}),_0x1c123d=this['generateLockValue']();try{const _0x3d95af=redisClient[_0x5054d0(0x150)]();for(let _0x447032=0x0;_0x447032<this[_0x5054d0(0x169)];_0x447032++){const _0x5765bb=await _0x3d95af['get'](_0x4411df);if(!_0x5765bb){await _0x3d95af[_0x5054d0(0x158)](_0xa7bafd),await _0x3d95af['expire'](_0xa7bafd,this['defaultTTL']);const _0x246e93=_0xa7bafd+':'+_0x1c123d;return await _0x3d95af[_0x5054d0(0x17d)](_0x246e93,this['defaultTTL'],_0x1c123d),logger[_0x5054d0(0x144)]({'event':_0x4fc2d6['WRfYZ'],'key':_0xa7bafd,'value':_0x1c123d},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x1c123d,'lockKey':_0x246e93};}logger[_0x5054d0(0x144)]({'event':_0x4fc2d6['rAsAK'],'writeKey':_0x4411df,'attempt':_0x447032},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this[_0x5054d0(0x157)](_0x4fc2d6[_0x5054d0(0x187)](this['retryDelay'],Math[_0x5054d0(0x140)](0x2,_0x447032)));}return logger['warn']({'event':_0x4fc2d6[_0x5054d0(0x15c)],'key':_0xa7bafd},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xf6bbd){return logger[_0x5054d0(0x14c)]({'event':_0x5054d0(0x18a),'error':_0xf6bbd['message']},_0x5054d0(0x159)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x4b903d){const _0x47de25=a0_0x52ebe4,_0x4c915f={'dyBll':function(_0x2cd61,_0x2336b6){return _0x2cd61===_0x2336b6;},'IcHzv':_0x47de25(0x15f),'cZriK':_0x47de25(0x163),'Amysx':'write_lock_rejected','pquPg':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','dcvJL':function(_0x2683bd,_0x57314f){return _0x2683bd(_0x57314f);},'zJaCQ':function(_0x1b8422,_0x5bf5f3){return _0x1b8422===_0x5bf5f3;},'oieJR':'write_lock_acquired','BFiQj':'retry','pLJvv':_0x47de25(0x170),'VBsmK':_0x47de25(0x18b),'PayIJ':function(_0x1a5847,_0x14c6f6){return _0x1a5847*_0x14c6f6;},'Nlxvy':_0x47de25(0x151),'eUfJs':_0x47de25(0x184),'Fxkjh':_0x47de25(0x168),'Rluse':'WRITE\x20lock\x20error'};if(!this[_0x47de25(0x188)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x523a3a=this['buildLockKey']({..._0x4b903d,'lockType':_0x47de25(0x16e)}),_0xd068d0=this[_0x47de25(0x178)]({..._0x4b903d,'lockType':_0x47de25(0x18c)}),_0xc6cc65=this[_0x47de25(0x15b)]();try{const _0x14ab24=redisClient['getClient']();if(_0x4c915f['dyBll'](this[_0x47de25(0x18f)],_0x4c915f['IcHzv'])){const _0x4f8a06=await _0x14ab24[_0x47de25(0x172)](_0x523a3a,_0xc6cc65,'EX',this[_0x47de25(0x189)],'NX');if(_0x4f8a06==='OK')return logger['debug']({'event':_0x47de25(0x17a),'key':_0x523a3a,'value':_0xc6cc65,'strategy':_0x4c915f[_0x47de25(0x185)]},_0x4c915f['cZriK']),{'success':!![],'lockValue':_0xc6cc65,'lockKey':_0x523a3a};return logger[_0x47de25(0x144)]({'event':_0x4c915f['Amysx'],'key':_0x523a3a},_0x4c915f[_0x47de25(0x173)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x669263=0x0;_0x669263<this['retryCount'];_0x669263++){const [_0x4580f8,_0x4efad8]=await Promise[_0x47de25(0x13e)]([_0x14ab24['get'](_0xd068d0),_0x14ab24['get'](_0x523a3a)]);if(!_0x4efad8&&(!_0x4580f8||_0x4c915f['dcvJL'](parseInt,_0x4580f8)===0x0)){const _0x19cd8d=await _0x14ab24[_0x47de25(0x172)](_0x523a3a,_0xc6cc65,'EX',this['defaultTTL'],'NX');if(_0x4c915f['zJaCQ'](_0x19cd8d,'OK'))return logger['debug']({'event':_0x4c915f['oieJR'],'key':_0x523a3a,'value':_0xc6cc65,'strategy':_0x4c915f['BFiQj']},_0x4c915f['pLJvv']),{'success':!![],'lockValue':_0xc6cc65,'lockKey':_0x523a3a};}logger['debug']({'event':_0x47de25(0x154),'writeKey':_0x523a3a,'readCount':_0x4580f8,'attempt':_0x669263},_0x4c915f[_0x47de25(0x167)]),await this[_0x47de25(0x157)](_0x4c915f['PayIJ'](this['retryDelay'],Math['pow'](0x2,_0x669263)));}return logger['warn']({'event':_0x4c915f[_0x47de25(0x16b)],'key':_0x523a3a},_0x4c915f[_0x47de25(0x142)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1343fb){return logger['error']({'event':_0x4c915f['Fxkjh'],'error':_0x1343fb['message']},_0x4c915f[_0x47de25(0x145)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x52ebe4(0x176)](_0x4ec0fa,_0x219910){const _0x26b4cd=a0_0x52ebe4,_0x25ecaf={'ofPIZ':':read:','igKoR':function(_0x20b865,_0x17cd30){return _0x20b865>_0x17cd30;},'NKXHP':_0x26b4cd(0x17f),'OCtCj':'WRITE\x20lock\x20released','drOZz':'lock_release_not_owner','REtlq':'Cannot\x20release\x20lock\x20-\x20not\x20owner','RPKgt':'lock_release_error'};if(!this[_0x26b4cd(0x188)]||!_0x4ec0fa)return!![];try{const _0x90acfc=redisClient[_0x26b4cd(0x150)]();if(_0x4ec0fa['includes'](_0x25ecaf['ofPIZ'])){await _0x90acfc[_0x26b4cd(0x16f)](_0x4ec0fa);const _0x515659=_0x4ec0fa[_0x26b4cd(0x190)](0x0,_0x4ec0fa[_0x26b4cd(0x15e)](':')),_0x36e573=await _0x90acfc['get'](_0x515659);return _0x36e573&&_0x25ecaf['igKoR'](parseInt(_0x36e573),0x0)&&await _0x90acfc[_0x26b4cd(0x152)](_0x515659),logger[_0x26b4cd(0x144)]({'event':'read_lock_released','key':_0x4ec0fa},_0x25ecaf[_0x26b4cd(0x147)]),!![];}const _0x540c89='\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',_0x53302f=await _0x90acfc['eval'](_0x540c89,0x1,_0x4ec0fa,_0x219910);if(_0x53302f===0x1)return logger['debug']({'event':'write_lock_released','key':_0x4ec0fa},_0x25ecaf['OCtCj']),!![];return logger['warn']({'event':_0x25ecaf['drOZz'],'key':_0x4ec0fa},_0x25ecaf['REtlq']),![];}catch(_0x2f232d){return logger['error']({'event':_0x25ecaf['RPKgt'],'key':_0x4ec0fa,'error':_0x2f232d['message']},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x2fc60d,_0x122b9d,_0x2ba540=null){const _0x4b1f43=a0_0x52ebe4,_0x549cb7={'DqVeP':'Lock\x20TTL\x20extended','msfOo':_0x4b1f43(0x160)};if(!this[_0x4b1f43(0x188)]||!_0x2fc60d)return!![];try{const _0x2e8a9e=redisClient['getClient'](),_0xc4946a='\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',_0x145a60=await _0x2e8a9e[_0x4b1f43(0x165)](_0xc4946a,0x1,_0x2fc60d,_0x122b9d,_0x2ba540||this[_0x4b1f43(0x189)]);if(_0x145a60===0x1)return logger['debug']({'event':'lock_extended','key':_0x2fc60d,'ttl':_0x2ba540||this[_0x4b1f43(0x189)]},_0x549cb7['DqVeP']),!![];return![];}catch(_0x3fc569){return logger[_0x4b1f43(0x14c)]({'event':'lock_extend_error','key':_0x2fc60d,'error':_0x3fc569[_0x4b1f43(0x156)]},_0x549cb7['msfOo']),![];}}[a0_0x52ebe4(0x175)](){return this['enabled'];}['sleep'](_0x5c9c05){return new Promise(_0xf0a85=>setTimeout(_0xf0a85,_0x5c9c05));}async[a0_0x52ebe4(0x174)](_0x2961e7){const _0x3912ab=a0_0x52ebe4,_0x4954ea={'JDFep':function(_0x2d2dcc,_0x465bb6){return _0x2d2dcc||_0x465bb6;}};if(!this['enabled'])return{'enabled':![]};try{const _0x7e64df=redisClient['getClient'](),_0x217bc5=this['buildLockKey']({..._0x2961e7,'lockType':'write'}),_0x36e7ca=this[_0x3912ab(0x178)]({..._0x2961e7,'lockType':_0x3912ab(0x18c)}),[_0x4cd4cf,_0x544553]=await Promise['all']([_0x7e64df['get'](_0x217bc5),_0x7e64df[_0x3912ab(0x17c)](_0x36e7ca)]);return{'enabled':!![],'writeLock':_0x4954ea['JDFep'](_0x4cd4cf,null),'readCount':parseInt(_0x544553)||0x0,'writeKey':_0x217bc5,'readKey':_0x36e7ca};}catch(_0x48922b){return{'enabled':!![],'error':_0x48922b[_0x3912ab(0x156)]};}}}module[a0_0x52ebe4(0x18e)]=new LockManager();
@@ -1 +1 @@
1
- function a0_0x21a4(){const _0x4529b6=['CgLUBW','CgfKrw5K','CuPqtLO','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','tvbeDKS','tuj4DMK','yMfZzvvYBa','yxbWlMXVzW','CM93C0fMzMvJDgvK','Bwf0y2G','r3bcuhC','Dwf0BKi','C3vIC3rYAw5N','Bwf4','zMXVB3i','wvnNC2e','y3jLzgvUDgLHBhm','vu5ltK9xtG','vvbeqvrf','vhPvB2y','uwfftNO','zxHPC3rZu3LUyW','y2HPBgq','Cg9YDa','whDut0u','zgf0ywjHC2u','C3rHCNrZv2L0Aa','thHhA1K','BgvUz3rO','zxHWB3j0CW','reLNqM4','C29Tzq','u1jeuNm','C2vJCMv0','mJuWndyYnxPfwuLpuq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','ChjPDMf0zv9RzxK','AgvHzgvYCW','vLrqBuW','zw5KCg9PBNrFCMvNAxn0zxjLza','DgvZDa','iokvKqRILzeGiefqssblzxKGicaGidOG','u0vsvKLdrv9oqu1f','C3rHDhvZ','zw52','C3rYAw5NAwz5','u1rbuLqGvfjbtLnbq1rjt04','C3rHDhvZq29Kzq','ChjVy2vZC193yxjUAw5N','zMf0ywXFzxjYB3i','ANftr2G','C3nU','CMvWzwf0','Cfvrs2O','y3jLyxrLv3jPDgvtDhjLyw0','Aw5MBW','nJe2nw91ywDOCW','Cxb3Efy','DxrZBw8','mte0mZq1n3ftsfnVzG','mJK4otq0BLHJDxDI','CMvZDgzVCMDL','quXurvi','te9hx1rpx0zjteu','Dg9ju09tDhjPBMC','rermx0fmvevs','lI9SB2DZlW','C29Qq3e','BxmP','u1fmx0Xpr19ftKfcteve','A2v5CW','revmrvrf','u2vYDMvYihn0yxj0Aw5NoIa','zgf0ywjHC2vFy29UzMLN','D3jPDgu','AM9PBG','Bwv0Ag9K','ChjVzhvJDgLVBG','zgv2zwXVCg1LBNq','Dw5RBM93BG','vurvueO','rKfuquW6ia','zwT6r2K','rermx0rst1a','mZaYmJG2DgnwBLD6','Ec1Yzxf1zxn0lwLK','Ag9ZDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rYAw5N','DhjPBq','ic0G','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','zMH3zvC','yxbPx2TLEq','yxbPx3nLy3jLDa','Dg9Rzw4','Dg9mB3DLCKnHC2u','w09lxsbqCM9Qzwn0igXVywrLzdOG','qM5htLK','mtuYmJKYmgzWrxLUqG','tM9TseK','uLDdCeK','ChjVAMvJDa','DwjAALG','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','ChjPDMf0zwTLEq','Aw5JBhvKzxm','zfHtDu8','CMvTB3rLqwrKCMvZCW','rhPVChy','Ahr0Cf9LCNjVCG','zgvND0i','ote2mti0Bg92uNnK','ugDSD1u','sLDux1nfq1jfva','y3jLzgL0y2fYza','AMntqxa','svnjuw4','B05eEuy','mtC1mtjyDwD5BNy','te9hx0rjuG','w1jfrefdvevexq','ms4WlJu','zhvYyxrPB25nCW','DxnLCG','BwvZC2fNzq','CeXKwhK','vhjHBNnHy3rPB24G','tK9erv9ftLy','y3jLzgL0x2nHCMq','Cfbnvui','u1fmx0Xpr19mrvzfta','sKnms1y','yxbPA2v5','B2jQzwn0','C3rHy2S','icbjBMzVoIaGia','BwfW','yxbPs2v5','qvbqx1zfuLnjt04','y29UzMLNrMLSzq','ChDK','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','w1jfrefdveveoMHHC2HD','sw50zxjUywWGC2vYDMvYigvYCM9Y','reiGuxvLCNK','wejwDxm','DhLWzq','mtv5CeXwtfO','y29UBMvJDgLVBG','q1jjveLdquW','D2fYBG','BMfTzq','C3rKu2vYAwfSAxPLCNm','CgfZC3DVCMq','ANLIwuK','su5trvju','z2v0','Ahj0Aw1L','y29Kzq','BNvpwwO','CgLU','zMf0ywW','q09ntuLu','rxjYB3i','zxjYB3i','z2v0sgvHzgvYCW','CMvMCMvZAf90B2TLBG','Cgf0Aa','qvPevuW','qLjJqxC','zgjFDhjHBNnHy3rPB24','zgvIDwC','rfjpua','tgXZs0m','C2vYDMvYx3n0yxj0Aw5N','C2vYDMLJzuLUzM8','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','rgf0ywjHC2u6ia','zMLSzv9SB2DNAw5Nx2vUywjSzwq','AgvHBhrOq2HLy2S','Dg9vChbLCKnHC2u','CMvWBgfJzq','ALDUt2e','vvLiB0W','yM9KEq'];a0_0x21a4=function(){return _0x4529b6;};return a0_0x21a4();}const a0_0x34f8c3=a0_0x1fb1;(function(_0x2c2239,_0x513fb6){const _0x3c1e99=a0_0x1fb1,_0x3aba2a=_0x2c2239();while(!![]){try{const _0x31dd43=parseInt(_0x3c1e99(0x268))/0x1+parseInt(_0x3c1e99(0x280))/0x2+-parseInt(_0x3c1e99(0x24e))/0x3+parseInt(_0x3c1e99(0x1e2))/0x4*(-parseInt(_0x3c1e99(0x206))/0x5)+parseInt(_0x3c1e99(0x28f))/0x6+-parseInt(_0x3c1e99(0x267))/0x7+-parseInt(_0x3c1e99(0x1e9))/0x8*(-parseInt(_0x3c1e99(0x264))/0x9);if(_0x31dd43===_0x513fb6)break;else _0x3aba2a['push'](_0x3aba2a['shift']());}catch(_0x299f48){_0x3aba2a['push'](_0x3aba2a['shift']());}}}(a0_0x21a4,0x7e7a5));const pino=require(a0_0x34f8c3(0x22c)),fs=require('fs'),path=require(a0_0x34f8c3(0x21a));let logToFile=![],logDir='./logs',serviceName=a0_0x34f8c3(0x269),sqlLogEnabled=![],sqlLogLevel=a0_0x34f8c3(0x21e),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;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':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x34f8c3(0x1f2)]!==a0_0x34f8c3(0x279),logLevel=process['env']['LOG_LEVEL']||a0_0x34f8c3(0x263);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x34f8c3(0x269),'version':process['env'][a0_0x34f8c3(0x1fd)]||a0_0x34f8c3(0x1ec),'env':process[a0_0x34f8c3(0x258)]['NODE_ENV']||a0_0x34f8c3(0x27a)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x34f8c3(0x24f),'password',a0_0x34f8c3(0x28b),a0_0x34f8c3(0x1fc),'DB_PASSWORD',a0_0x34f8c3(0x1e4)],'censor':a0_0x34f8c3(0x1eb)},'serializers':{'req':_0x139073=>({'id':_0x139073['id'],'method':_0x139073[a0_0x34f8c3(0x278)],'url':_0x139073['url'],'path':_0x139073['path'],'remoteAddress':_0x139073['ip']||_0x139073[a0_0x34f8c3(0x207)]?.[a0_0x34f8c3(0x298)]}),'res':_0x4a9e41=>({'statusCode':_0x4a9e41['statusCode'],'headers':_0x4a9e41[a0_0x34f8c3(0x218)]?.()}),'err':pino[a0_0x34f8c3(0x20b)]['err']}});function initFileLogging(){const _0x3c1c2c=a0_0x34f8c3,_0x570677={'PRELu':_0x3c1c2c(0x269),'fhweW':function(_0x43d483,_0x769f67){return _0x43d483===_0x769f67;},'YMFwN':'true','qJPNZ':function(_0x3afff0,_0x1fdb4e){return _0x3afff0!==_0x1fdb4e;},'UDUPJ':_0x3c1c2c(0x233),'LkffW':_0x3c1c2c(0x225),'lmXlI':function(_0x1f3467,_0x5e11f8,_0xbfe694){return _0x1f3467(_0x5e11f8,_0xbfe694);},'sojCq':'info'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x3c1c2c(0x26b)]==='true';const _0x37f3ff=process['env'][_0x3c1c2c(0x283)]||'default';logDir=process['env'][_0x3c1c2c(0x1ea)]||_0x3c1c2c(0x26e)+_0x37f3ff,serviceName=process[_0x3c1c2c(0x258)][_0x3c1c2c(0x256)]||_0x570677['PRELu'],sqlLogEnabled=_0x570677[_0x3c1c2c(0x288)](process['env'][_0x3c1c2c(0x271)],_0x570677['YMFwN']),sqlLogLevel=process['env'][_0x3c1c2c(0x1f5)]||_0x3c1c2c(0x21e),sqlLogParams=_0x570677[_0x3c1c2c(0x22e)](process[_0x3c1c2c(0x258)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x481e02=path['resolve'](process['cwd'](),logDir);try{!fs[_0x3c1c2c(0x241)](_0x481e02)&&fs['mkdirSync'](_0x481e02,{'recursive':!![]});}catch(_0x21c5af){console[_0x3c1c2c(0x217)](_0x3c1c2c(0x223)+_0x481e02+':',_0x21c5af['message']),fileLoggingInitialized=!![];return;}const _0x58844c=path[_0x3c1c2c(0x277)](_0x481e02,_0x570677[_0x3c1c2c(0x27c)]),_0x41b55e=path['join'](_0x481e02,'error.log');try{appLogStream=fs[_0x3c1c2c(0x262)](_0x58844c,{'flags':'a'}),errorLogStream=fs[_0x3c1c2c(0x262)](_0x41b55e,{'flags':'a'}),fileLoggingInitialized=!![];const _0x494b5c={'event':_0x570677['LkffW'],'logDir':_0x481e02,'files':[_0x570677[_0x3c1c2c(0x27c)],'error.log']},_0x2fa4eb=_0x3c1c2c(0x287)+_0x481e02;logger['info'](_0x494b5c,_0x2fa4eb),_0x570677['lmXlI'](writeToFileLog,{..._0x494b5c,'level':_0x570677[_0x3c1c2c(0x26f)],'msg':_0x2fa4eb,'time':new Date()['toISOString']()},'info');}catch(_0x22977f){console[_0x3c1c2c(0x217)]('Failed\x20to\x20create\x20log\x20streams:',_0x22977f['message']),fileLoggingInitialized=!![];}}function a0_0x1fb1(_0xad57a0,_0x356703){_0xad57a0=_0xad57a0-0x1df;const _0x21a4cc=a0_0x21a4();let _0x1fb15a=_0x21a4cc[_0xad57a0];if(a0_0x1fb1['dlQrqo']===undefined){var _0x2efcce=function(_0x4f00ac){const _0x3ed77a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x340a0a='',_0x6a5528='';for(let _0xdc4219=0x0,_0x27e342,_0x4c78f2,_0x86cb3a=0x0;_0x4c78f2=_0x4f00ac['charAt'](_0x86cb3a++);~_0x4c78f2&&(_0x27e342=_0xdc4219%0x4?_0x27e342*0x40+_0x4c78f2:_0x4c78f2,_0xdc4219++%0x4)?_0x340a0a+=String['fromCharCode'](0xff&_0x27e342>>(-0x2*_0xdc4219&0x6)):0x0){_0x4c78f2=_0x3ed77a['indexOf'](_0x4c78f2);}for(let _0x1901cd=0x0,_0x1d6b2a=_0x340a0a['length'];_0x1901cd<_0x1d6b2a;_0x1901cd++){_0x6a5528+='%'+('00'+_0x340a0a['charCodeAt'](_0x1901cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6a5528);};a0_0x1fb1['ZEmsqW']=_0x2efcce,a0_0x1fb1['eCSnUq']={},a0_0x1fb1['dlQrqo']=!![];}const _0x5b2ce2=_0x21a4cc[0x0],_0x3c6bbc=_0xad57a0+_0x5b2ce2,_0x3601c2=a0_0x1fb1['eCSnUq'][_0x3c6bbc];return!_0x3601c2?(_0x1fb15a=a0_0x1fb1['ZEmsqW'](_0x1fb15a),a0_0x1fb1['eCSnUq'][_0x3c6bbc]=_0x1fb15a):_0x1fb15a=_0x3601c2,_0x1fb15a;}function writeToFileLog(_0x21a7ae,_0x2fec91){const _0x52ab3c=a0_0x34f8c3,_0x18c046={'QzqMz':function(_0xe2a749,_0x2ebe69){return _0xe2a749||_0x2ebe69;},'LxGkY':function(_0x1c2bfc,_0x18fb07){return _0x1c2bfc===_0x18fb07;},'loiGN':_0x52ab3c(0x214)};if(_0x18c046['QzqMz'](!logToFile,!appLogStream))return;const _0x5843e0={'service':serviceName,..._0x21a7ae},_0x3cb87c=JSON[_0x52ab3c(0x259)](_0x5843e0)+'\x0a';appLogStream[_0x52ab3c(0x276)](_0x3cb87c),(_0x18c046['LxGkY'](_0x2fec91,'error')||_0x18c046[_0x52ab3c(0x247)](_0x2fec91,_0x18c046['loiGN']))&&(errorLogStream&&errorLogStream[_0x52ab3c(0x276)](_0x3cb87c));}const createRequestLogger=(_0x3403cc={})=>{const _0x45da32=a0_0x34f8c3;return logger[_0x45da32(0x242)](_0x3403cc);},logServerStart=_0x410cd3=>{const _0x141f3e=a0_0x34f8c3,_0x51bc17={'HsgZs':'Node.js','hPcaa':function(_0x28dbf4,_0x5cbc86){return _0x28dbf4(_0x5cbc86);},'DEZtI':'Default'},_0x19a610=_0x141f3e(0x294),_0xba5f0f=Math[_0x141f3e(0x239)](0x0,0x37-_0x19a610['length']),_0x2a276b=Math[_0x141f3e(0x23a)](_0xba5f0f/0x2),_0x54b5c7=_0xba5f0f-_0x2a276b,_0x545e13='║'+'\x20'[_0x141f3e(0x260)](_0x2a276b)+_0x19a610+'\x20'['repeat'](_0x54b5c7)+'║',_0x12790f='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x545e13+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x410cd3['environment']||_0x51bc17['HsgZs'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x410cd3[_0x141f3e(0x292)]||'N/A')[_0x141f3e(0x22d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x51bc17['hPcaa'](String,_0x410cd3['port']||0xbb8)[_0x141f3e(0x22d)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x410cd3['configFile']||_0x51bc17['DEZtI'])[_0x141f3e(0x22d)](0x26)+_0x141f3e(0x255)+(_0x410cd3[_0x141f3e(0x1fc)]?'ACTIVE':'NOT\x20ACTIVE')['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x12790f);const _0x48f7d3={'event':_0x141f3e(0x221),'project':_0x410cd3['project'],'port':_0x410cd3['port'],'config':_0x410cd3[_0x141f3e(0x1fe)],'apiKeyEnabled':!!_0x410cd3[_0x141f3e(0x1fc)]};logger['info'](_0x48f7d3),writeToFileLog({..._0x48f7d3,'level':_0x141f3e(0x263),'msg':_0x141f3e(0x274)+_0x410cd3['project']+'\x20on\x20port\x20'+_0x410cd3[_0x141f3e(0x243)],'time':new Date()['toISOString']()},_0x141f3e(0x263));},logServerReady=_0x2fd809=>{const _0xa4e9f0=a0_0x34f8c3,_0x3b1f32={'DIgBn':'server_ready','JCLKV':_0xa4e9f0(0x263)},_0x4dcd95={'event':_0x3b1f32[_0xa4e9f0(0x24a)],'port':_0x2fd809[_0xa4e9f0(0x243)],'module':_0x2fd809['module'],'healthCheck':_0x2fd809['healthCheck'],'serviceInfo':_0x2fd809[_0xa4e9f0(0x222)],'baseUrl':_0x2fd809[_0xa4e9f0(0x232)]},_0x44493f='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2fd809[_0xa4e9f0(0x243)];logger['info'](_0x4dcd95,_0x44493f),writeToFileLog({..._0x4dcd95,'level':_0x3b1f32[_0xa4e9f0(0x1f6)],'msg':_0x44493f,'time':new Date()[_0xa4e9f0(0x26c)]()},_0x3b1f32['JCLKV']),_0x2fd809[_0xa4e9f0(0x226)]&&logger[_0xa4e9f0(0x263)]('\x20\x20Health:\x20'+_0x2fd809[_0xa4e9f0(0x226)]),_0x2fd809[_0xa4e9f0(0x222)]&&logger[_0xa4e9f0(0x263)](_0xa4e9f0(0x1fa)+_0x2fd809[_0xa4e9f0(0x222)]),_0x2fd809[_0xa4e9f0(0x232)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x2fd809['baseUrl']);},logProjectLoaded=(_0x338eba,_0x9249f0)=>{const _0x22137c=a0_0x34f8c3,_0x5d153c={'degwB':function(_0x9aac94,_0x2268ed,_0x1d31f7){return _0x9aac94(_0x2268ed,_0x1d31f7);},'tdtxS':'info'},_0x8fa06e={'event':'project_loaded','project':_0x338eba,'path':_0x9249f0},_0x2707aa=_0x22137c(0x28d)+_0x338eba;logger['info'](_0x8fa06e,_0x2707aa),_0x5d153c[_0x22137c(0x1e1)](writeToFileLog,{..._0x8fa06e,'level':_0x5d153c['tdtxS'],'msg':_0x2707aa,'time':new Date()[_0x22137c(0x26c)]()},_0x22137c(0x263));},logEndpointRegistered=(_0x30a619,_0x3e43e3)=>{const _0xd769e7=a0_0x34f8c3,_0x49d1f2={'ZUXlC':_0xd769e7(0x253),'CbpGj':function(_0x259984,_0x1cf706,_0xa97a24){return _0x259984(_0x1cf706,_0xa97a24);},'XwTOE':'debug'},_0x2ed990={'event':_0x49d1f2['ZUXlC'],'endpoint':_0x30a619,'route':_0x3e43e3},_0x4a7c8e='\x20\x20→\x20'+_0x30a619+':\x20'+_0x3e43e3;logger[_0xd769e7(0x21e)](_0x2ed990,_0x4a7c8e),_0x49d1f2['CbpGj'](writeToFileLog,{..._0x2ed990,'level':_0x49d1f2[_0xd769e7(0x244)],'msg':_0x4a7c8e,'time':new Date()[_0xd769e7(0x26c)]()},_0x49d1f2[_0xd769e7(0x244)]);},logDatabaseConfig=_0x5bf781=>{const _0x55f8db=a0_0x34f8c3,_0x283785={'BnGNY':_0x55f8db(0x275),'ytaxo':function(_0x408567,_0x5d0782,_0xa83fdd){return _0x408567(_0x5d0782,_0xa83fdd);}},_0x450a6c={'event':_0x283785[_0x55f8db(0x28e)],'host':_0x5bf781[_0x55f8db(0x282)],'port':_0x5bf781['port'],'database':_0x5bf781[_0x55f8db(0x245)],'type':_0x5bf781['type'],'user':_0x5bf781[_0x55f8db(0x1ee)]},_0x43df80=_0x55f8db(0x224)+_0x5bf781[_0x55f8db(0x205)]+'://'+_0x5bf781['host']+':'+_0x5bf781[_0x55f8db(0x243)]+'/'+_0x5bf781['database'];logger[_0x55f8db(0x21e)](_0x450a6c,_0x43df80),_0x283785['ytaxo'](writeToFileLog,{..._0x450a6c,'level':_0x55f8db(0x21e),'msg':_0x43df80,'time':new Date()['toISOString']()},_0x55f8db(0x21e));},logRequest=(_0x356983,_0x427417,_0x4165fa)=>{const _0x1eb1d2=a0_0x34f8c3,_0x48f187={'jyYiF':'info','ekzGi':function(_0x3158ad,_0x1bfe11){return _0x3158ad>=_0x1bfe11;},'MBxvi':_0x1eb1d2(0x209)},_0x52a5d4={'event':'http_request','method':_0x356983[_0x1eb1d2(0x278)],'path':_0x356983[_0x1eb1d2(0x21a)],'statusCode':_0x427417['statusCode'],'durationMs':_0x4165fa,'ip':_0x356983['ip']},_0x47f163=_0x356983['method']+'\x20'+_0x356983['path']+_0x1eb1d2(0x286)+_0x427417['statusCode']+'\x20('+_0x4165fa+_0x1eb1d2(0x270);let _0x2612ea=_0x48f187['jyYiF'];if(_0x48f187['ekzGi'](_0x427417['statusCode'],0x1f4))_0x2612ea='error',logger[_0x1eb1d2(0x217)](_0x52a5d4,_0x47f163);else _0x48f187[_0x1eb1d2(0x27e)](_0x427417[_0x1eb1d2(0x25b)],0x190)?(_0x2612ea=_0x48f187[_0x1eb1d2(0x231)],logger['warn'](_0x52a5d4,_0x47f163)):logger['info'](_0x52a5d4,_0x47f163);writeToFileLog({..._0x52a5d4,'level':_0x2612ea,'msg':_0x47f163,'time':new Date()[_0x1eb1d2(0x26c)]()},_0x2612ea);},SENSITIVE_PARAM_PATTERNS=[a0_0x34f8c3(0x20c),'passwd',a0_0x34f8c3(0x1ff),a0_0x34f8c3(0x28b),'access_token',a0_0x34f8c3(0x219),a0_0x34f8c3(0x24d),a0_0x34f8c3(0x28a),a0_0x34f8c3(0x1f7),a0_0x34f8c3(0x289),'credential',a0_0x34f8c3(0x23c),'pin','otp','private_key','privatekey'],redactSensitiveParams=(_0x3156f1,_0x1a822f)=>{const _0x5c1418=a0_0x34f8c3,_0x45f6a5={'orHXf':_0x5c1418(0x284),'COFDi':_0x5c1418(0x201)};if(!_0x3156f1||_0x3156f1[_0x5c1418(0x248)]===0x0)return _0x3156f1;const _0x4c7a92=_0x1a822f['toLowerCase'](),_0xa6465d=_0x4c7a92['match'](/\(([^)]+)\)\s*values/i);let _0x3cad43=[];_0xa6465d&&(_0x3cad43=_0xa6465d[0x1]['split'](',')[_0x5c1418(0x1fb)](_0x2f738f=>_0x2f738f[_0x5c1418(0x285)]()[_0x5c1418(0x28c)]()));const _0x1ce2a4=_0x4c7a92['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x1ce2a4){const _0x573201=_0x1ce2a4[0x1],_0x339747=_0x573201['match'](/(\w+)\s*=/g);_0x339747&&(_0x3cad43=_0x339747[_0x5c1418(0x1fb)](_0x371a51=>_0x371a51[_0x5c1418(0x228)](/\s*=/,'')[_0x5c1418(0x285)]()[_0x5c1418(0x28c)]()));}return _0x3156f1['map']((_0x3ac284,_0x559057)=>{const _0x2fc117=_0x5c1418;if(_0x3cad43[_0x559057]){const _0x3c0a1c=_0x3cad43[_0x559057],_0x5b321d=SENSITIVE_PARAM_PATTERNS[_0x2fc117(0x24b)](_0x134114=>_0x3c0a1c['includes'](_0x134114));if(_0x5b321d)return _0x2fc117(0x1eb);}if(typeof _0x3ac284===_0x45f6a5['orHXf']&&_0x3ac284[_0x2fc117(0x248)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x3ac284)&&_0x3ac284[_0x2fc117(0x296)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x2fc117(0x254)](_0x3ac284))return _0x45f6a5['COFDi'];}return _0x3ac284;});},parseQueryMetadata=_0x90cf3b=>{const _0x410419=a0_0x34f8c3,_0xefd1a3={'uatnB':_0x410419(0x23d),'UYHoL':_0x410419(0x20e),'oNDyF':'BEGIN','RWCpI':_0x410419(0x25a),'zOhAz':'TRANSACTION_BEGIN','UAhpi':_0x410419(0x215),'XBVus':'TRANSACTION_COMMIT','pLdXy':'ROLLBACK','TMazJ':'DDL_CREATE','YSgsa':_0x410419(0x26a),'fbpXV':_0x410419(0x26d),'MkCfn':_0x410419(0x27f)},_0x3183a0=_0x90cf3b['trim'](),_0x491145=_0x3183a0['toUpperCase']();let _0x457a32=_0xefd1a3[_0x410419(0x237)],_0x398833=null;if(_0x491145[_0x410419(0x246)]('SELECT')){_0x457a32='SELECT';const _0x5287aa=_0x3183a0[_0x410419(0x235)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x398833=_0x5287aa?_0x5287aa[0x1]:null;}else{if(_0x491145['startsWith'](_0xefd1a3[_0x410419(0x22a)])){_0x457a32=_0xefd1a3['UYHoL'];const _0x17da23=_0x3183a0['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x398833=_0x17da23?_0x17da23[0x1]:null;}else{if(_0x491145['startsWith']('UPDATE')){_0x457a32=_0x410419(0x23e);const _0x45ca34=_0x3183a0[_0x410419(0x235)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x398833=_0x45ca34?_0x45ca34[0x1]:null;}else{if(_0x491145['startsWith'](_0x410419(0x273))){_0x457a32='DELETE';const _0x49e3f3=_0x3183a0['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x398833=_0x49e3f3?_0x49e3f3[0x1]:null;}else{if(_0x491145['startsWith'](_0xefd1a3[_0x410419(0x1e8)])||_0x491145['startsWith'](_0xefd1a3[_0x410419(0x291)]))_0x457a32=_0xefd1a3['zOhAz'];else{if(_0x491145['startsWith'](_0xefd1a3['UAhpi']))_0x457a32=_0xefd1a3[_0x410419(0x204)];else{if(_0x491145[_0x410419(0x246)](_0xefd1a3[_0x410419(0x1f0)]))_0x457a32='TRANSACTION_ROLLBACK';else{if(_0x491145['startsWith']('CREATE'))_0x457a32=_0xefd1a3['TMazJ'];else{if(_0x491145['startsWith'](_0xefd1a3[_0x410419(0x23b)]))_0x457a32=_0xefd1a3['fbpXV'];else _0x491145[_0x410419(0x246)](_0x410419(0x21f))&&(_0x457a32=_0xefd1a3['MkCfn']);}}}}}}}}return{'type':_0x457a32,'table':_0x398833};},startQueryTimer=()=>{const _0x29be2e=a0_0x34f8c3,_0x4ca390={'VTPmL':function(_0x402abc,_0x56919c){return _0x402abc(_0x56919c);},'ubZjX':function(_0xee6f37,_0x321476){return _0xee6f37+_0x321476;},'iEgZC':function(_0x171e40,_0x5ce4ef){return _0x171e40/_0x5ce4ef;}},_0x2f6e43=process[_0x29be2e(0x210)]();return()=>{const _0x62897c=_0x29be2e,[_0x1815fc,_0x5b3055]=process['hrtime'](_0x2f6e43);return _0x4ca390[_0x62897c(0x252)](parseFloat,_0x4ca390[_0x62897c(0x293)](_0x1815fc*0x3e8,_0x4ca390['iEgZC'](_0x5b3055,0xf4240))['toFixed'](0x2));};},logQuery=(_0x3d577f,_0x292494=[],_0x9108e5={})=>{const _0x2b50b7=a0_0x34f8c3,_0x296223={'QaENz':_0x2b50b7(0x203),'MPDvK':'postgresql','keVci':function(_0x5daefa,_0x48dd75){return _0x5daefa(_0x48dd75);},'qpwxV':function(_0x43dbf4,_0xc34c28,_0x47e39c){return _0x43dbf4(_0xc34c28,_0x47e39c);},'bCcuM':function(_0x38b22a,_0x5221c4){return _0x38b22a!==_0x5221c4;},'TzUof':function(_0x2589e3,_0x30271e){return _0x2589e3>_0x30271e;},'RPpte':_0x2b50b7(0x21e),'TqNUU':'\x20[SLOW]','dXSuO':_0x2b50b7(0x209),'jWnOa':'info'};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x3d577f[_0x2b50b7(0x238)](0x0,0xc8),'paramCount':_0x292494['length']},_0x296223[_0x2b50b7(0x240)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x296223[_0x2b50b7(0x230)]}=_0x9108e5,{type:_0x5144ef,table:_0x46ded4}=_0x296223['keVci'](parseQueryMetadata,_0x3d577f),_0x25026a={'event':'sql_query','queryType':_0x5144ef,'table':_0x46ded4,'query':_0x3d577f,'paramCount':_0x292494['length'],'dbType':dbType};sqlLogParams&&_0x292494['length']>0x0&&(_0x25026a['params']=_0x296223['qpwxV'](redactSensitiveParams,_0x292494,_0x3d577f));duration!==null&&(_0x25026a[_0x2b50b7(0x1ed)]=duration,_0x25026a['isSlow']=duration>sqlLogSlowThreshold);_0x296223['bCcuM'](rowsAffected,null)&&(_0x25026a[_0x2b50b7(0x234)]=rowsAffected);const _0x384e80=_0x46ded4||_0x2b50b7(0x27b);let _0x3a0a57='['+_0x5144ef+']\x20'+_0x384e80;_0x296223['bCcuM'](duration,null)&&(_0x3a0a57+='\x20('+duration+_0x2b50b7(0x270));const _0x56f0db=duration!==null&&_0x296223[_0x2b50b7(0x23f)](duration,sqlLogSlowThreshold);let _0x1f94d5=_0x296223['RPpte'];if(_0x56f0db)_0x3a0a57+=_0x296223['TqNUU'],_0x1f94d5=_0x296223[_0x2b50b7(0x297)],logger['warn'](_0x25026a,_0x3a0a57);else sqlLogLevel==='info'?(_0x1f94d5=_0x296223[_0x2b50b7(0x229)],logger['info'](_0x25026a,_0x3a0a57)):logger[_0x2b50b7(0x21e)](_0x25026a,_0x3a0a57);_0x296223[_0x2b50b7(0x265)](writeToFileLog,{..._0x25026a,'level':_0x1f94d5,'msg':_0x3a0a57,'time':new Date()['toISOString']()},_0x1f94d5);},logTransaction=(_0x2012db,_0x2be225)=>{const _0x4b79a5=a0_0x34f8c3,_0x2aa2de={'awrbN':function(_0x5338f3,_0xdb2261,_0x2d51b8){return _0x5338f3(_0xdb2261,_0x2d51b8);},'Dzopv':'debug'},_0x18b657={'event':_0x4b79a5(0x21d),'status':_0x2012db,'queryCount':_0x2be225},_0xd2899d=_0x4b79a5(0x1f1)+_0x2012db;logger[_0x4b79a5(0x21e)](_0x18b657,_0xd2899d),_0x2aa2de['awrbN'](writeToFileLog,{..._0x18b657,'level':_0x2aa2de[_0x4b79a5(0x1df)],'msg':_0xd2899d,'time':new Date()[_0x4b79a5(0x26c)]()},_0x4b79a5(0x21e));},redactObject=_0x2a508e=>{const _0x430fea=a0_0x34f8c3,_0x39f9e9={'NomHI':'object','YOgVm':'password','ISIQn':_0x430fea(0x24d),'VhqmK':'authorization','cOBLx':_0x430fea(0x1e5),'QLlhR':_0x430fea(0x1f3),'arFOa':'cvv','OSkbK':_0x430fea(0x25f),'GoEcM':_0x430fea(0x250),'ybCWn':_0x430fea(0x295),'jybYI':_0x430fea(0x219),'TrMKv':'access_token','pUQKj':function(_0x2b7642,_0x55e7ab){return _0x2b7642===_0x55e7ab;},'PglwU':function(_0x430ade,_0xc52271){return _0x430ade(_0xc52271);}};if(!_0x2a508e||typeof _0x2a508e!==_0x39f9e9[_0x430fea(0x290)])return _0x2a508e;const _0x1d86db=[_0x39f9e9['YOgVm'],'passwd',_0x430fea(0x1ff),'token',_0x39f9e9[_0x430fea(0x1e7)],'apikey','api_key',_0x39f9e9['VhqmK'],_0x39f9e9['cOBLx'],_0x39f9e9['QLlhR'],_0x39f9e9['arFOa'],_0x39f9e9['OSkbK'],_0x430fea(0x213),_0x39f9e9['GoEcM'],_0x39f9e9['ybCWn'],_0x39f9e9[_0x430fea(0x20d)],_0x39f9e9['TrMKv']],_0x1cd53c=Array['isArray'](_0x2a508e)?[..._0x2a508e]:{..._0x2a508e};for(const _0x3f72ed of Object[_0x430fea(0x272)](_0x1cd53c)){const _0x272b29=_0x3f72ed['toLowerCase']();if(_0x1d86db['some'](_0x16a08b=>_0x272b29[_0x430fea(0x296)](_0x16a08b)))_0x1cd53c[_0x3f72ed]='[REDACTED]';else _0x39f9e9[_0x430fea(0x261)](typeof _0x1cd53c[_0x3f72ed],_0x430fea(0x1f8))&&_0x1cd53c[_0x3f72ed]!==null&&(_0x1cd53c[_0x3f72ed]=_0x39f9e9[_0x430fea(0x1e3)](redactObject,_0x1cd53c[_0x3f72ed]));}return _0x1cd53c;},logError=(_0x4c1107,_0x5aa6db={},_0x52b346=null)=>{const _0x44a4d9=a0_0x34f8c3,_0x122e1d={'AZDUL':'error','jcSAp':function(_0x2dee59,_0x2d860a,_0x71707d){return _0x2dee59(_0x2d860a,_0x71707d);}},_0x5c6dc2={'event':_0x122e1d[_0x44a4d9(0x21b)],'errorName':_0x4c1107[_0x44a4d9(0x20a)]||'Error','errorMessage':_0x4c1107['message'],'errorCode':_0x4c1107['code']||null,'stack':_0x4c1107[_0x44a4d9(0x1f9)],..._0x5aa6db},_0x80cf30=_0x52b346||'Error:\x20'+_0x4c1107[_0x44a4d9(0x1ef)];logger['error'](_0x5c6dc2,_0x80cf30),_0x122e1d[_0x44a4d9(0x1e6)](writeToFileLog,{..._0x5c6dc2,'level':_0x122e1d[_0x44a4d9(0x21b)],'msg':_0x80cf30,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x4628ed,_0x8fb05a={},_0x68b26e=null)=>{const _0x24d7bb=a0_0x34f8c3,_0x4d9fc9={'event':_0x24d7bb(0x25d),'errorName':_0x4628ed[_0x24d7bb(0x20a)]||'Error','errorMessage':_0x4628ed['message'],'errorCode':_0x4628ed[_0x24d7bb(0x211)]||null,'stack':_0x4628ed[_0x24d7bb(0x1f9)],'severity':'CRITICAL',..._0x8fb05a},_0xfc404a=_0x68b26e||_0x24d7bb(0x27d)+_0x4628ed[_0x24d7bb(0x1ef)];logger['fatal'](_0x4d9fc9,_0xfc404a),writeToFileLog({..._0x4d9fc9,'level':'fatal','msg':_0xfc404a,'time':new Date()[_0x24d7bb(0x26c)]()},'error');},logHttpError=(_0x2f0dd9,_0x1b7fec,_0x407f6e={})=>{const _0x4a7916=a0_0x34f8c3,_0x336842={'Ydkic':_0x4a7916(0x216),'utsmo':'user-agent','LlsKC':function(_0x5ad9d5,_0x262206){return _0x5ad9d5>=_0x262206;},'cSEhH':function(_0x210576,_0x10dd10,_0x4a0cc7){return _0x210576(_0x10dd10,_0x4a0cc7);},'GpBPw':_0x4a7916(0x209),'JVqON':function(_0x226d2e,_0x943a14){return _0x226d2e>=_0x943a14;},'BRcAw':'error'},_0x1a07d1={'event':_0x4a7916(0x1e0),'errorName':_0x2f0dd9[_0x4a7916(0x20a)]||_0x336842['Ydkic'],'errorMessage':_0x2f0dd9[_0x4a7916(0x1ef)],'errorCode':_0x2f0dd9[_0x4a7916(0x211)]||_0x2f0dd9['statusCode']||0x1f4,'stack':_0x2f0dd9['stack'],'method':_0x1b7fec?.[_0x4a7916(0x278)],'url':_0x1b7fec?.['url']||_0x1b7fec?.['originalUrl'],'path':_0x1b7fec?.['path'],'ip':_0x1b7fec?.['ip']||_0x1b7fec?.[_0x4a7916(0x207)]?.['remoteAddress'],'userAgent':_0x1b7fec?.[_0x4a7916(0x20f)]?.(_0x336842[_0x4a7916(0x266)]),'requestId':_0x1b7fec?.['id']||_0x1b7fec?.[_0x4a7916(0x251)]?.[_0x4a7916(0x281)],'body':_0x1b7fec?.[_0x4a7916(0x22b)]?redactObject(_0x1b7fec[_0x4a7916(0x22b)]):undefined,'query':_0x1b7fec?.['query'],..._0x407f6e},_0x364eda=_0x2f0dd9[_0x4a7916(0x25b)]||_0x2f0dd9[_0x4a7916(0x257)]||0x1f4,_0x490a18='HTTP\x20'+_0x364eda+':\x20'+_0x2f0dd9[_0x4a7916(0x1ef)];_0x336842[_0x4a7916(0x220)](_0x364eda,0x1f4)?logger['error'](_0x1a07d1,_0x490a18):logger[_0x4a7916(0x209)](_0x1a07d1,_0x490a18),_0x336842['cSEhH'](writeToFileLog,{..._0x1a07d1,'level':_0x336842['LlsKC'](_0x364eda,0x1f4)?'error':_0x336842['GpBPw'],'msg':_0x490a18,'time':new Date()['toISOString']()},_0x336842['JVqON'](_0x364eda,0x1f4)?_0x336842[_0x4a7916(0x21c)]:_0x336842[_0x4a7916(0x236)]);},logUncaughtError=(_0x3b03e0,_0x1ea006)=>{const _0x39112e=a0_0x34f8c3,_0xe8c59c={'event':_0x3b03e0,'errorName':_0x1ea006?.['name']||'Error','errorMessage':_0x1ea006?.[_0x39112e(0x1ef)]||String(_0x1ea006),'errorCode':_0x1ea006?.['code']||null,'stack':_0x1ea006?.['stack'],'severity':_0x39112e(0x208),'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x4b34d2='['+_0x3b03e0[_0x39112e(0x227)]()+']\x20'+(_0x1ea006?.['message']||_0x1ea006);logger[_0x39112e(0x214)](_0xe8c59c,_0x4b34d2),writeToFileLog({..._0xe8c59c,'level':'fatal','msg':_0x4b34d2,'time':new Date()[_0x39112e(0x26c)]()},_0x39112e(0x217));},setupGlobalErrorHandlers=()=>{const _0x24854b=a0_0x34f8c3,_0x3ce4c4={'leSkF':function(_0x4cd6ff,_0x370dc8,_0x4ada9f){return _0x4cd6ff(_0x370dc8,_0x4ada9f);},'nuOYj':function(_0x1f682d,_0x167edf){return _0x1f682d(_0x167edf);},'jqSGh':'unhandledRejection','dvqre':_0x24854b(0x25c),'SRDRs':'warning','NStiG':_0x24854b(0x22f),'HXrQZ':_0x24854b(0x263)};process['on']('uncaughtException',_0x4ef97a=>{_0x3ce4c4['leSkF'](logUncaughtError,'uncaughtException',_0x4ef97a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x3ce4c4[_0x24854b(0x25e)],(_0x188272,_0xcc39d7)=>{const _0x50bd41=_0x24854b,_0xf2b378=_0x188272 instanceof Error?_0x188272:new Error(_0x3ce4c4[_0x50bd41(0x212)](String,_0x188272));_0x3ce4c4['leSkF'](logUncaughtError,_0x3ce4c4['jqSGh'],_0xf2b378);}),process['on'](_0x3ce4c4[_0x24854b(0x24c)],_0x1f8171=>{const _0x3347d8=_0x24854b;logger[_0x3347d8(0x209)]({'event':_0x3ce4c4['dvqre'],'name':_0x1f8171[_0x3347d8(0x20a)],'message':_0x1f8171['message'],'stack':_0x1f8171[_0x3347d8(0x1f9)]},'Process\x20Warning:\x20'+_0x1f8171[_0x3347d8(0x1ef)]);});const _0x3dbc97={'event':_0x24854b(0x200)},_0x1efc66=_0x3ce4c4['NStiG'];logger['info'](_0x3dbc97,_0x1efc66),writeToFileLog({..._0x3dbc97,'level':_0x3ce4c4['HXrQZ'],'msg':_0x1efc66,'time':new Date()['toISOString']()},_0x3ce4c4['HXrQZ']);},createErrorHandlerMiddleware=()=>{const _0x2f5039=a0_0x34f8c3,_0x112784={'pPMUB':function(_0x32fd69,_0x738a74){return _0x32fd69>=_0x738a74;},'uhoGV':_0x2f5039(0x202)};return(_0xfdc738,_0x2ca59b,_0x142faf,_0x1c00dd)=>{const _0x1e6c74=_0x2f5039;logHttpError(_0xfdc738,_0x2ca59b);const _0x31a11b=_0xfdc738['statusCode']||_0xfdc738['status']||0x1f4;_0x142faf[_0x1e6c74(0x257)](_0x31a11b)['json']({'success':![],'error':_0x112784[_0x1e6c74(0x1f4)](_0x31a11b,0x1f4)?_0x112784['uhoGV']:_0xfdc738['message'],'requestId':_0x2ca59b['id']||_0x2ca59b[_0x1e6c74(0x251)]?.[_0x1e6c74(0x281)]||null});};};module[a0_0x34f8c3(0x249)]={'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_0x26c466=a0_0x23fa;(function(_0xcb88ad,_0x387ebc){const _0x1d1c6c=a0_0x23fa,_0x16f5bc=_0xcb88ad();while(!![]){try{const _0xbe3e95=-parseInt(_0x1d1c6c(0x1d2))/0x1*(parseInt(_0x1d1c6c(0x22d))/0x2)+-parseInt(_0x1d1c6c(0x23f))/0x3*(parseInt(_0x1d1c6c(0x21d))/0x4)+parseInt(_0x1d1c6c(0x27e))/0x5*(-parseInt(_0x1d1c6c(0x235))/0x6)+-parseInt(_0x1d1c6c(0x1f0))/0x7*(-parseInt(_0x1d1c6c(0x263))/0x8)+-parseInt(_0x1d1c6c(0x22a))/0x9*(parseInt(_0x1d1c6c(0x23a))/0xa)+-parseInt(_0x1d1c6c(0x1e4))/0xb*(-parseInt(_0x1d1c6c(0x268))/0xc)+parseInt(_0x1d1c6c(0x25b))/0xd*(parseInt(_0x1d1c6c(0x249))/0xe);if(_0xbe3e95===_0x387ebc)break;else _0x16f5bc['push'](_0x16f5bc['shift']());}catch(_0x2f9c75){_0x16f5bc['push'](_0x16f5bc['shift']());}}}(a0_0x45c9,0x352bc));const pino=require(a0_0x26c466(0x277)),fs=require('fs'),path=require(a0_0x26c466(0x21e));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x26c466(0x215),'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_0x26c466(0x252),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x26c466(0x1ca)]!==a0_0x26c466(0x22f),logLevel=process['env'][a0_0x26c466(0x1f9)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x26c466(0x238)]['APP_VERSION']||'1.0.5','env':process[a0_0x26c466(0x238)][a0_0x26c466(0x1ca)]||'development'},'timestamp':pino[a0_0x26c466(0x236)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x26c466(0x1e3),a0_0x26c466(0x267),'apiKey','DB_PASSWORD',a0_0x26c466(0x1d3)],'censor':a0_0x26c466(0x257)},'serializers':{'req':_0x59c99c=>({'id':_0x59c99c['id'],'method':_0x59c99c[a0_0x26c466(0x217)],'url':_0x59c99c[a0_0x26c466(0x1f6)],'path':_0x59c99c['path'],'remoteAddress':_0x59c99c['ip']||_0x59c99c['connection']?.['remoteAddress']}),'res':_0x5615d9=>({'statusCode':_0x5615d9[a0_0x26c466(0x1db)],'headers':_0x5615d9['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x1eea99=a0_0x26c466,_0x386df6={'vgkcv':'true','iPGCN':'debug','gPxyu':'false','WdhaD':_0x1eea99(0x213),'GbFPl':_0x1eea99(0x1e1),'pklWd':'error.log','nVjQM':function(_0x20cbb6,_0x45194b,_0x2be05d){return _0x20cbb6(_0x45194b,_0x2be05d);},'WYCzJ':_0x1eea99(0x26c)};if(fileLoggingInitialized)return;logToFile=process['env'][_0x1eea99(0x207)]===_0x386df6[_0x1eea99(0x1d6)];const _0x3bde1f=process[_0x1eea99(0x238)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x1eea99(0x1f4)]||'./logs/'+_0x3bde1f,serviceName=process[_0x1eea99(0x238)]['SERVICE_NAME']||_0x1eea99(0x27f),sqlLogEnabled=process[_0x1eea99(0x238)][_0x1eea99(0x20a)]==='true',sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x386df6[_0x1eea99(0x1ce)],sqlLogParams=process[_0x1eea99(0x238)]['SQL_LOG_PARAMS']!==_0x386df6['gPxyu'],sqlLogSlowThreshold=parseInt(process[_0x1eea99(0x238)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1d7519=path['resolve'](process[_0x1eea99(0x21c)](),logDir);try{!fs['existsSync'](_0x1d7519)&&fs[_0x1eea99(0x241)](_0x1d7519,{'recursive':!![]});}catch(_0x4880b0){console['error'](_0x1eea99(0x24e)+_0x1d7519+':',_0x4880b0['message']),fileLoggingInitialized=!![];return;}const _0x21d4b6=path[_0x1eea99(0x20d)](_0x1d7519,_0x386df6[_0x1eea99(0x1cd)]),_0x1d989a=path['join'](_0x1d7519,_0x1eea99(0x262));try{appLogStream=fs[_0x1eea99(0x256)](_0x21d4b6,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1d989a,{'flags':'a'}),fileLoggingInitialized=!![];const _0x40584b={'event':_0x386df6['GbFPl'],'logDir':_0x1d7519,'files':[_0x386df6['WdhaD'],_0x386df6[_0x1eea99(0x209)]]},_0x32fec9=_0x1eea99(0x24a)+_0x1d7519;logger[_0x1eea99(0x26c)](_0x40584b,_0x32fec9),_0x386df6['nVjQM'](writeToFileLog,{..._0x40584b,'level':_0x1eea99(0x26c),'msg':_0x32fec9,'time':new Date()['toISOString']()},_0x386df6['WYCzJ']);}catch(_0x2464b0){console['error'](_0x1eea99(0x211),_0x2464b0[_0x1eea99(0x1d8)]),fileLoggingInitialized=!![];}}function a0_0x45c9(){const _0x553871=['DuPdEwq','AM9PBG','icdIHPiG','Ahj0Aw1L','zw52AxjVBM1LBNq','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','tM9Kzs5QCW','yxbWlMXVzW','Dw5JyxvNAhrfEgnLChrPB24','u1LtoKHioK1noNnZ','rgvMyxvSDa','Bwv0Ag9K','BgvUz3rO','Ahr0Cf9LCNjVCG','vfjbtLnbq1rjt05FqKvhsu4','EMvXyMG','y3DK','nZe1mdbYze9YufO','Cgf0Aa','iokvKqRILzeGifbVCNqGicaGicaGidOG','DxnLCG','zxjYB3i','CgfZC3DK','C3fSx3f1zxj5','uMvnzvu','AgvHBhrOq2HLy2S','w1jfrefdveveoNrVA2vUxq','DgL0Dg4','vfjbtLnbq1rjt05FuK9mtejbq0S','iokvKqRILzeGienVBMzPzYaGicaGidOG','mtCWmdq2ow1wsg1vCG','thLACxq','zgjFDhjHBNnHy3rPB24','nhr5rfnoBG','C2vYDMvYx3n0yxj0Aw5N','ChjVzhvJDgLVBG','Bwf0y2G','DhjPBq','tK9uiefdveLwrq','qNjPwuq','B2fsree','mte2mdi3nhzQDwnyCG','C3rKvgLTzuz1BMn0Aw9UCW','y3jLzgL0y2fYza','zw52','iokvKqRILzeGifbYB2PLy3qGicaGidOG','mJbvC2PUwMy','D3jPDgu','AgvHzgvYCW','Ag9ZDa','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ntDxww1TzKm','sfruuca','BwTKAxjtEw5J','y3jLzgL0x2nHCMq','su5trvju','C0HsvLi','y29Kzq','Ec1Yzxf1zxn0lwLK','Bg9N','AMrTCwi','ndCYmdq1me9Yz2X0DG','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','CgfKrw5K','AgnkvwW','ChjVy2vZC193yxjUAw5N','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','tvzsC0u','C2vJCMv0','D2fYBG','E21Zz30','zxHWB3j0CW','zgf0ywjHC2vFy29UzMLN','z2v0','y3jLyxrLv3jPDgvtDhjLyw0','w1jfrefdvevexq','zMf0ywW','v1Hmy0S','y2HPBgq','mJzYDMfeuwS','r2DOwK4','D2fYBMLUzW','Cg9YDa','Aw5JBhvKzxm','yxbPA2v5','Exjisgm','zxjYB3iUBg9N','odCWmteYzwnLrwnn','w09lxsbqCM9Qzwn0igXVywrLzdOG','Dxb0Aw1L','renXqM4','Dg9Rzw4','odrxtfnyt3O','ChjPDMf0zv9RzxK','y3jLzgvUDgLHBa','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','Aw5MBW','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CMvWBgfJzq','AgfnqLO','uunyq1O','quXurvi','CMvWzwf0','rgf0ywjHC2u6ia','ANDAy3K','CuXzze8','revmrvrf','CgLUBW','EgPNtMO','DurnEue','BxmP','qKvhsu4','BgzfBgq','rKfuquW6ia','nurlA0LYsW','CMvZDgzVCMDL','C3vIC3rYAw5N','sw50zxjUywWGC2vYDMvYigvYCM9Y','yM9KEq','y3jLzgvUDgLHBhm','q1jfqvrf','tK9erv9ftLy','vKXuAMi','zw5KCg9PBNrFCMvNAxn0zxjLza','v2rOyuq','Avbhq04','AxntBg93','uM5tA0G','CxvLCNK','mtG4mtDLwxDYtvq','sLDux1nfq1jfva','B2jQzwn0','zu13uve','DMDRy3y','yxv0Ag9YAxPHDgLVBG','BwvZC2fNzq','DeXxqvu','Dg9ju09tDhjPBMC','C3rHDhvZq29Kzq','vfjbtLnbq1rjt05Fq09ntuLu','C3rHCNrZv2L0Aa','A2Dhr04','AxbrwKS','C3rHDhvZ','zMLSzv9SB2DNAw5Nx2vUywjSzwq','uKvQDM4','CgfZC3DVCMq','nJaYmtyYywjzvurq','yxbPs2v5','w1jfrefdveveoMHHC2HD','ELHSuu4','ChjPDMf0zwTLEq','u0vmrunu','y2Dnsuq','iokvKqRILzeGiefqssblzxKGicaGidOG','yKDAA00','DfvwthC','zKjAvhK','ChDK','n0z4zhLvCq','C3rHy2S','vKfsruq','C3rYAw5NAwz5','te9hx0rjuG','u1rbuLqGvfjbtLnbq1rjt04','DxjS','zgvIDwC','DgvZDa','te9hx0XfvKvm','BwvTB3j5vxnHz2u','CgLU','C29Tzq','zufwDeK','uNbyBMi','BwfW','ic0G','ANnVBG','Bffctuy','rxjYB3i','BMfTzq','twPKs1O','y29UBMvJDgLVBG','te9hx1rpx0zjteu','zgf0ywjHC2u','CgTSv2q','u1fmx0Xpr19ftKfcteve','ChjVAMvJDa'];a0_0x45c9=function(){return _0x553871;};return a0_0x45c9();}function a0_0x23fa(_0x1f67ce,_0x4e8ff7){_0x1f67ce=_0x1f67ce-0x1c6;const _0x45c90a=a0_0x45c9();let _0x23fa44=_0x45c90a[_0x1f67ce];if(a0_0x23fa['wVecUi']===undefined){var _0x3e42d2=function(_0x3227d0){const _0x568c8e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x350037='',_0x1fe605='';for(let _0x1932ba=0x0,_0xbc8e7d,_0x10615b,_0x16f839=0x0;_0x10615b=_0x3227d0['charAt'](_0x16f839++);~_0x10615b&&(_0xbc8e7d=_0x1932ba%0x4?_0xbc8e7d*0x40+_0x10615b:_0x10615b,_0x1932ba++%0x4)?_0x350037+=String['fromCharCode'](0xff&_0xbc8e7d>>(-0x2*_0x1932ba&0x6)):0x0){_0x10615b=_0x568c8e['indexOf'](_0x10615b);}for(let _0x63ba20=0x0,_0x179ad6=_0x350037['length'];_0x63ba20<_0x179ad6;_0x63ba20++){_0x1fe605+='%'+('00'+_0x350037['charCodeAt'](_0x63ba20)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fe605);};a0_0x23fa['VsbZTI']=_0x3e42d2,a0_0x23fa['JDzyje']={},a0_0x23fa['wVecUi']=!![];}const _0x1167d4=_0x45c90a[0x0],_0x518418=_0x1f67ce+_0x1167d4,_0x5b191b=a0_0x23fa['JDzyje'][_0x518418];return!_0x5b191b?(_0x23fa44=a0_0x23fa['VsbZTI'](_0x23fa44),a0_0x23fa['JDzyje'][_0x518418]=_0x23fa44):_0x23fa44=_0x5b191b,_0x23fa44;}function writeToFileLog(_0xf57dff,_0x105e0a){const _0x22f707=a0_0x26c466,_0x2bf0cc={'lQBMF':function(_0x38fd9c,_0x480065){return _0x38fd9c||_0x480065;},'GXPzl':function(_0x387bac,_0x459e77){return _0x387bac===_0x459e77;},'lfEld':'error','wIfNC':function(_0x320a0a,_0x31042f){return _0x320a0a===_0x31042f;}};if(_0x2bf0cc[_0x22f707(0x202)](!logToFile,!appLogStream))return;const _0x21f147={'service':serviceName,..._0xf57dff},_0xdc8cc6=JSON[_0x22f707(0x1f3)](_0x21f147)+'\x0a';appLogStream['write'](_0xdc8cc6),(_0x2bf0cc['GXPzl'](_0x105e0a,_0x2bf0cc[_0x22f707(0x27c)])||_0x2bf0cc['wIfNC'](_0x105e0a,'fatal'))&&(errorLogStream&&errorLogStream[_0x22f707(0x23b)](_0xdc8cc6));}const createRequestLogger=(_0x48f446={})=>{const _0xd4fab7=a0_0x26c466;return logger[_0xd4fab7(0x25a)](_0x48f446);},logServerStart=_0x1ad23c=>{const _0x5e2ff4=a0_0x26c466,_0x37cea1={'uJCyd':_0x5e2ff4(0x26b),'hWgaA':function(_0x19754c,_0xa85b6){return _0x19754c/_0xa85b6;},'VARED':function(_0x23b93e,_0x519897){return _0x23b93e-_0x519897;},'jcUpd':'N/A','klMrQ':_0x5e2ff4(0x216),'olncC':_0x5e2ff4(0x22e)},_0x1f2f31=_0x37cea1[_0x5e2ff4(0x20c)],_0x5daaf0=Math['max'](0x0,0x37-_0x1f2f31['length']),_0x26c079=Math['floor'](_0x37cea1['hWgaA'](_0x5daaf0,0x2)),_0x107018=_0x37cea1[_0x5e2ff4(0x1f2)](_0x5daaf0,_0x26c079),_0x11538f='║'+'\x20'[_0x5e2ff4(0x272)](_0x26c079)+_0x1f2f31+'\x20'[_0x5e2ff4(0x272)](_0x107018)+'║',_0xb7df4d='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x11538f+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x1ad23c[_0x5e2ff4(0x210)]||_0x5e2ff4(0x212))['padEnd'](0x26)+_0x5e2ff4(0x239)+(_0x1ad23c[_0x5e2ff4(0x20b)]||_0x37cea1['jcUpd'])[_0x5e2ff4(0x24b)](0x26)+_0x5e2ff4(0x21f)+String(_0x1ad23c[_0x5e2ff4(0x25e)]||0xbb8)[_0x5e2ff4(0x24b)](0x26)+_0x5e2ff4(0x229)+(_0x1ad23c['configFile']||_0x37cea1['klMrQ'])[_0x5e2ff4(0x24b)](0x26)+_0x5e2ff4(0x1eb)+(_0x1ad23c[_0x5e2ff4(0x1e5)]?'ACTIVE':_0x5e2ff4(0x232))[_0x5e2ff4(0x24b)](0x26)+_0x5e2ff4(0x26d);console[_0x5e2ff4(0x247)](_0xb7df4d);const _0x565f20={'event':_0x37cea1['olncC'],'project':_0x1ad23c[_0x5e2ff4(0x20b)],'port':_0x1ad23c['port'],'config':_0x1ad23c['configFile'],'apiKeyEnabled':!!_0x1ad23c[_0x5e2ff4(0x1e5)]};logger[_0x5e2ff4(0x26c)](_0x565f20),writeToFileLog({..._0x565f20,'level':'info','msg':'Server\x20starting:\x20'+_0x1ad23c['project']+'\x20on\x20port\x20'+_0x1ad23c['port'],'time':new Date()['toISOString']()},_0x5e2ff4(0x26c));},logServerReady=_0x653488=>{const _0x489f47=a0_0x26c466,_0x486230={'haMBZ':'server_ready','GghZN':'info'},_0x305783={'event':_0x486230[_0x489f47(0x26f)],'port':_0x653488['port'],'module':_0x653488['module'],'healthCheck':_0x653488[_0x489f47(0x225)],'serviceInfo':_0x653488['serviceInfo'],'baseUrl':_0x653488['baseUrl']},_0x4237d9=_0x489f47(0x23e)+_0x653488['port'];logger[_0x489f47(0x26c)](_0x305783,_0x4237d9),writeToFileLog({..._0x305783,'level':_0x486230[_0x489f47(0x25c)],'msg':_0x4237d9,'time':new Date()[_0x489f47(0x1da)]()},_0x486230['GghZN']),_0x653488[_0x489f47(0x225)]&&logger[_0x489f47(0x26c)]('\x20\x20Health:\x20'+_0x653488[_0x489f47(0x225)]),_0x653488['serviceInfo']&&logger[_0x489f47(0x26c)]('\x20\x20Info:\x20\x20\x20'+_0x653488['serviceInfo']),_0x653488['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x653488['baseUrl']);},logProjectLoaded=(_0x57753f,_0xc60a6d)=>{const _0x148c09=a0_0x26c466,_0x5f0976={'Gqnsn':'project_loaded','tittn':_0x148c09(0x26c)},_0x3df54b={'event':_0x5f0976['Gqnsn'],'project':_0x57753f,'path':_0xc60a6d},_0x4d0305=_0x148c09(0x264)+_0x57753f;logger[_0x148c09(0x26c)](_0x3df54b,_0x4d0305),writeToFileLog({..._0x3df54b,'level':'info','msg':_0x4d0305,'time':new Date()[_0x148c09(0x1da)]()},_0x5f0976[_0x148c09(0x227)]);},logEndpointRegistered=(_0xb386e0,_0x2c8c2e)=>{const _0x384221=a0_0x26c466,_0x137971={'qLYdO':_0x384221(0x1cc),'wQHSC':'debug'},_0x199fa1={'event':_0x137971[_0x384221(0x275)],'endpoint':_0xb386e0,'route':_0x2c8c2e},_0x13687c=_0x384221(0x20e)+_0xb386e0+':\x20'+_0x2c8c2e;logger[_0x384221(0x1f7)](_0x199fa1,_0x13687c),writeToFileLog({..._0x199fa1,'level':_0x137971['wQHSC'],'msg':_0x13687c,'time':new Date()['toISOString']()},'debug');},logDatabaseConfig=_0x52c5a1=>{const _0x15e5e4=a0_0x26c466,_0x46c9a={'DTzqI':_0x15e5e4(0x254),'kgGGN':'debug'},_0x3b1eb2={'event':_0x46c9a['DTzqI'],'host':_0x52c5a1[_0x15e5e4(0x23d)],'port':_0x52c5a1['port'],'database':_0x52c5a1['database'],'type':_0x52c5a1['type'],'user':_0x52c5a1[_0x15e5e4(0x220)]},_0xf2abdf=_0x15e5e4(0x273)+_0x52c5a1['type']+'://'+_0x52c5a1[_0x15e5e4(0x23d)]+':'+_0x52c5a1[_0x15e5e4(0x25e)]+'/'+_0x52c5a1[_0x15e5e4(0x208)];logger[_0x15e5e4(0x1f7)](_0x3b1eb2,_0xf2abdf),writeToFileLog({..._0x3b1eb2,'level':'debug','msg':_0xf2abdf,'time':new Date()[_0x15e5e4(0x1da)]()},_0x46c9a[_0x15e5e4(0x1de)]);},logRequest=(_0xac83ff,_0x5b598a,_0x403f96)=>{const _0x18895e=a0_0x26c466,_0x4d4c77={'kEXyH':'http_request','GFTzd':function(_0x389052,_0xefc5b7){return _0x389052>=_0xefc5b7;},'eMwQQ':'error','oniBr':function(_0x857522,_0x10e6b9,_0x30fe5c){return _0x857522(_0x10e6b9,_0x30fe5c);}},_0x5ba05a={'event':_0x4d4c77['kEXyH'],'method':_0xac83ff['method'],'path':_0xac83ff['path'],'statusCode':_0x5b598a[_0x18895e(0x1db)],'durationMs':_0x403f96,'ip':_0xac83ff['ip']},_0x556be4=_0xac83ff[_0x18895e(0x217)]+'\x20'+_0xac83ff[_0x18895e(0x21e)]+_0x18895e(0x200)+_0x5b598a[_0x18895e(0x1db)]+'\x20('+_0x403f96+'ms)';let _0x2c2680=_0x18895e(0x26c);if(_0x4d4c77['GFTzd'](_0x5b598a[_0x18895e(0x1db)],0x1f4))_0x2c2680=_0x4d4c77[_0x18895e(0x1d5)],logger[_0x18895e(0x221)](_0x5ba05a,_0x556be4);else _0x5b598a['statusCode']>=0x190?(_0x2c2680='warn',logger['warn'](_0x5ba05a,_0x556be4)):logger['info'](_0x5ba05a,_0x556be4);_0x4d4c77['oniBr'](writeToFileLog,{..._0x5ba05a,'level':_0x2c2680,'msg':_0x556be4,'time':new Date()['toISOString']()},_0x2c2680);},SENSITIVE_PARAM_PATTERNS=[a0_0x26c466(0x1e3),a0_0x26c466(0x222),a0_0x26c466(0x1ef),a0_0x26c466(0x267),'access_token','refresh_token',a0_0x26c466(0x250),'api_secret','apikey','api_key',a0_0x26c466(0x26a),a0_0x26c466(0x1c8),a0_0x26c466(0x1fb),'otp',a0_0x26c466(0x269),'privatekey'],redactSensitiveParams=(_0x5a0ed9,_0x2ef030)=>{const _0xe264a1=a0_0x26c466,_0x508988={'Whkga':'string','ReMeU':function(_0x5c638c,_0x1a51a4){return _0x5c638c>_0x1a51a4;}};if(!_0x5a0ed9||_0x5a0ed9['length']===0x0)return _0x5a0ed9;const _0x4fa07c=_0x2ef030['toLowerCase'](),_0x389e9d=_0x4fa07c[_0xe264a1(0x230)](/\(([^)]+)\)\s*values/i);let _0x34288a=[];_0x389e9d&&(_0x34288a=_0x389e9d[0x1]['split'](',')[_0xe264a1(0x1ff)](_0x2c9594=>_0x2c9594['trim']()['toLowerCase']()));const _0x41936f=_0x4fa07c['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x41936f){const _0x243ba9=_0x41936f[0x1],_0xa5b0cc=_0x243ba9['match'](/(\w+)\s*=/g);_0xa5b0cc&&(_0x34288a=_0xa5b0cc[_0xe264a1(0x1ff)](_0x273ca0=>_0x273ca0[_0xe264a1(0x26e)](/\s*=/,'')[_0xe264a1(0x231)]()['toLowerCase']()));}return _0x5a0ed9[_0xe264a1(0x1ff)]((_0x1cb03c,_0x427954)=>{const _0x2ea27c=_0xe264a1;if(_0x34288a[_0x427954]){const _0xdfff22=_0x34288a[_0x427954],_0xfa2213=SENSITIVE_PARAM_PATTERNS[_0x2ea27c(0x1fc)](_0x26053b=>_0xdfff22[_0x2ea27c(0x25f)](_0x26053b));if(_0xfa2213)return _0x2ea27c(0x257);}if(typeof _0x1cb03c===_0x508988['Whkga']&&_0x508988[_0x2ea27c(0x224)](_0x1cb03c['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2ea27c(0x1f8)](_0x1cb03c)&&_0x1cb03c[_0x2ea27c(0x25f)]('.'))return _0x2ea27c(0x226);if(/^[a-fA-F0-9]{32,}$/['test'](_0x1cb03c))return _0x2ea27c(0x1e6);}return _0x1cb03c;});},parseQueryMetadata=_0x249b57=>{const _0x1921de=a0_0x26c466,_0x1418a8={'LyZqt':'UNKNOWN','mtaqV':_0x1921de(0x1e9),'jdmqb':'UPDATE','fBZTy':_0x1921de(0x276),'hcJUl':_0x1921de(0x27b),'Mqzrw':_0x1921de(0x21a),'xjgNj':_0x1921de(0x1dc),'eAVtI':'ROLLBACK','GFbET':_0x1921de(0x1c9),'ULFjk':'DDL_CREATE','REjvn':_0x1921de(0x271),'TLXOE':'DDL_ALTER','xMQRw':'DROP'},_0x3f5ac8=_0x249b57[_0x1921de(0x231)](),_0x46f29d=_0x3f5ac8['toUpperCase']();let _0x5dfc72=_0x1418a8[_0x1921de(0x22b)],_0x2c8c8f=null;if(_0x46f29d['startsWith'](_0x1418a8['mtaqV'])){_0x5dfc72=_0x1418a8['mtaqV'];const _0x1b66d1=_0x3f5ac8['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c8c8f=_0x1b66d1?_0x1b66d1[0x1]:null;}else{if(_0x46f29d['startsWith'](_0x1921de(0x243))){_0x5dfc72=_0x1921de(0x243);const _0xbb3a92=_0x3f5ac8['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c8c8f=_0xbb3a92?_0xbb3a92[0x1]:null;}else{if(_0x46f29d['startsWith'](_0x1418a8[_0x1921de(0x248)])){_0x5dfc72=_0x1418a8[_0x1921de(0x248)];const _0x44ee73=_0x3f5ac8['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c8c8f=_0x44ee73?_0x44ee73[0x1]:null;}else{if(_0x46f29d[_0x1921de(0x1dd)](_0x1418a8[_0x1921de(0x1ee)])){_0x5dfc72=_0x1418a8[_0x1921de(0x1ee)];const _0x2a187a=_0x3f5ac8['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c8c8f=_0x2a187a?_0x2a187a[0x1]:null;}else{if(_0x46f29d['startsWith'](_0x1418a8[_0x1921de(0x24c)])||_0x46f29d['startsWith'](_0x1921de(0x1f5)))_0x5dfc72=_0x1418a8['Mqzrw'];else{if(_0x46f29d['startsWith']('COMMIT'))_0x5dfc72=_0x1418a8[_0x1921de(0x278)];else{if(_0x46f29d[_0x1921de(0x1dd)](_0x1418a8[_0x1921de(0x1fd)]))_0x5dfc72=_0x1921de(0x228);else{if(_0x46f29d['startsWith'](_0x1418a8['GFbET']))_0x5dfc72=_0x1418a8['ULFjk'];else{if(_0x46f29d['startsWith'](_0x1418a8[_0x1921de(0x1e2)]))_0x5dfc72=_0x1418a8['TLXOE'];else _0x46f29d[_0x1921de(0x1dd)](_0x1418a8['xMQRw'])&&(_0x5dfc72='DDL_DROP');}}}}}}}}return{'type':_0x5dfc72,'table':_0x2c8c8f};},startQueryTimer=()=>{const _0x47e967={'otsgb':function(_0x3fefe5,_0x30e9e8){return _0x3fefe5(_0x30e9e8);},'WXLcK':function(_0x3ec580,_0x4896c3){return _0x3ec580*_0x4896c3;}},_0x52032e=process['hrtime']();return()=>{const _0x21a1d2=a0_0x23fa,[_0x11b8b1,_0x4c6d4a]=process[_0x21a1d2(0x20f)](_0x52032e);return _0x47e967['otsgb'](parseFloat,(_0x47e967[_0x21a1d2(0x259)](_0x11b8b1,0x3e8)+_0x4c6d4a/0xf4240)['toFixed'](0x2));};},logQuery=(_0x1f815f,_0x359c2f=[],_0x3bdfe0={})=>{const _0x1ea7a8=a0_0x26c466,_0x2673ce={'jwZcy':function(_0x2061e4,_0x1a8572){return _0x2061e4>_0x1a8572;},'RnSkH':function(_0x329591,_0x9d3a4a,_0x4fe378){return _0x329591(_0x9d3a4a,_0x4fe378);},'zeqbh':function(_0x1fb33e,_0x3c3460){return _0x1fb33e!==_0x3c3460;},'zXlQN':function(_0x448fe4,_0x3489df){return _0x448fe4>_0x3489df;},'ByPDS':function(_0x49587a,_0x3dbedb){return _0x49587a||_0x3dbedb;},'oaRDA':_0x1ea7a8(0x1f7),'Xdkqc':'\x20[SLOW]','yrHHc':'warn','XZnxd':function(_0x4b0474,_0x439316){return _0x4b0474===_0x439316;},'VwraB':'info'};if(!sqlLogEnabled){logger[_0x1ea7a8(0x1f7)]({'event':'db_query','query':_0x1f815f[_0x1ea7a8(0x280)](0x0,0xc8),'paramCount':_0x359c2f[_0x1ea7a8(0x218)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x3bdfe0,{type:_0x30b064,table:_0x386537}=parseQueryMetadata(_0x1f815f),_0xd9491d={'event':_0x1ea7a8(0x223),'queryType':_0x30b064,'table':_0x386537,'query':_0x1f815f,'paramCount':_0x359c2f['length'],'dbType':dbType};sqlLogParams&&_0x2673ce[_0x1ea7a8(0x274)](_0x359c2f[_0x1ea7a8(0x218)],0x0)&&(_0xd9491d['params']=_0x2673ce[_0x1ea7a8(0x1d0)](redactSensitiveParams,_0x359c2f,_0x1f815f));_0x2673ce[_0x1ea7a8(0x21b)](duration,null)&&(_0xd9491d['durationMs']=duration,_0xd9491d[_0x1ea7a8(0x1cf)]=_0x2673ce[_0x1ea7a8(0x1e7)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0xd9491d['rowsAffected']=rowsAffected);const _0x40232b=_0x2673ce['ByPDS'](_0x386537,'unknown');let _0x456a06='['+_0x30b064+']\x20'+_0x40232b;_0x2673ce[_0x1ea7a8(0x21b)](duration,null)&&(_0x456a06+='\x20('+duration+_0x1ea7a8(0x27a));const _0x10836d=duration!==null&&_0x2673ce['zXlQN'](duration,sqlLogSlowThreshold);let _0x4c8b33=_0x2673ce[_0x1ea7a8(0x234)];if(_0x10836d)_0x456a06+=_0x2673ce['Xdkqc'],_0x4c8b33=_0x2673ce[_0x1ea7a8(0x261)],logger[_0x1ea7a8(0x251)](_0xd9491d,_0x456a06);else _0x2673ce['XZnxd'](sqlLogLevel,_0x1ea7a8(0x26c))?(_0x4c8b33=_0x2673ce['VwraB'],logger[_0x1ea7a8(0x26c)](_0xd9491d,_0x456a06)):logger['debug'](_0xd9491d,_0x456a06);_0x2673ce['RnSkH'](writeToFileLog,{..._0xd9491d,'level':_0x4c8b33,'msg':_0x456a06,'time':new Date()['toISOString']()},_0x4c8b33);},logTransaction=(_0x3d73aa,_0x46f67f)=>{const _0x5abef5=a0_0x26c466,_0x2081e1={'event':_0x5abef5(0x22c),'status':_0x3d73aa,'queryCount':_0x46f67f},_0x2c2337='Transaction\x20'+_0x3d73aa;logger[_0x5abef5(0x1f7)](_0x2081e1,_0x2c2337),writeToFileLog({..._0x2081e1,'level':'debug','msg':_0x2c2337,'time':new Date()[_0x5abef5(0x1da)]()},_0x5abef5(0x1f7));},redactObject=_0x4ea49d=>{const _0x55ed0d=a0_0x26c466,_0x3d626d={'ipQZK':_0x55ed0d(0x1d4),'tUVLw':'password','bzLdb':_0x55ed0d(0x222),'yrdDS':'secret','MjdKZ':_0x55ed0d(0x1d7),'MVRsE':_0x55ed0d(0x237),'RgCSI':_0x55ed0d(0x242),'VLTjb':'cvv','PUcxl':'ssn','cgMID':'access_token','bytCv':function(_0x446cbc,_0x3afd2a){return _0x446cbc===_0x3afd2a;}};if(!_0x4ea49d||typeof _0x4ea49d!==_0x3d626d[_0x55ed0d(0x1df)])return _0x4ea49d;const _0x28d573=[_0x3d626d[_0x55ed0d(0x1ed)],_0x3d626d['bzLdb'],'pwd',_0x55ed0d(0x267),_0x3d626d['yrdDS'],_0x55ed0d(0x260),'api_key',_0x3d626d[_0x55ed0d(0x205)],_0x3d626d[_0x55ed0d(0x24f)],_0x3d626d['RgCSI'],_0x3d626d[_0x55ed0d(0x1cb)],_0x3d626d['PUcxl'],'pin','private_key',_0x55ed0d(0x1e8),'refresh_token',_0x3d626d[_0x55ed0d(0x1ea)]],_0x54aa8b=Array['isArray'](_0x4ea49d)?[..._0x4ea49d]:{..._0x4ea49d};for(const _0x4a3255 of Object['keys'](_0x54aa8b)){const _0x5ebc54=_0x4a3255['toLowerCase']();if(_0x28d573[_0x55ed0d(0x1fc)](_0x3b12ee=>_0x5ebc54['includes'](_0x3b12ee)))_0x54aa8b[_0x4a3255]=_0x55ed0d(0x257);else _0x3d626d['bytCv'](typeof _0x54aa8b[_0x4a3255],'object')&&_0x54aa8b[_0x4a3255]!==null&&(_0x54aa8b[_0x4a3255]=redactObject(_0x54aa8b[_0x4a3255]));}return _0x54aa8b;},logError=(_0x4648b7,_0x4900e3={},_0x1e4c8e=null)=>{const _0x5db4bf=a0_0x26c466,_0x48a656={'OFrRp':'error','MuPyk':_0x5db4bf(0x203),'WTDbq':function(_0x34ff71,_0x39d6d2,_0x22271f){return _0x34ff71(_0x39d6d2,_0x22271f);}},_0x3eac40={'event':_0x48a656['OFrRp'],'errorName':_0x4648b7[_0x5db4bf(0x204)]||_0x48a656['MuPyk'],'errorMessage':_0x4648b7['message'],'errorCode':_0x4648b7[_0x5db4bf(0x245)]||null,'stack':_0x4648b7[_0x5db4bf(0x1f1)],..._0x4900e3},_0x14f2a1=_0x1e4c8e||'Error:\x20'+_0x4648b7['message'];logger['error'](_0x3eac40,_0x14f2a1),_0x48a656['WTDbq'](writeToFileLog,{..._0x3eac40,'level':'error','msg':_0x14f2a1,'time':new Date()['toISOString']()},_0x48a656['OFrRp']);},logFatalError=(_0x2af8a4,_0x393a3c={},_0x390817=null)=>{const _0x224337=a0_0x26c466,_0x514cb7={'DCqBn':'fatal_error','zAylK':'Error','QCXCZ':_0x224337(0x258)},_0xeaa78e={'event':_0x514cb7[_0x224337(0x266)],'errorName':_0x2af8a4['name']||_0x514cb7['zAylK'],'errorMessage':_0x2af8a4['message'],'errorCode':_0x2af8a4[_0x224337(0x245)]||null,'stack':_0x2af8a4['stack'],'severity':'CRITICAL',..._0x393a3c},_0x2bf161=_0x390817||_0x224337(0x27d)+_0x2af8a4['message'];logger['fatal'](_0xeaa78e,_0x2bf161),writeToFileLog({..._0xeaa78e,'level':_0x514cb7[_0x224337(0x270)],'msg':_0x2bf161,'time':new Date()[_0x224337(0x1da)]()},'error');},logHttpError=(_0x5949fa,_0x1dc7e2,_0x269cc5={})=>{const _0x23f6c5=a0_0x26c466,_0x412eea={'VAkMf':_0x23f6c5(0x203),'VcQBR':'user-agent','TtCtI':_0x23f6c5(0x246),'vdcMS':function(_0x1d1d80,_0x285767){return _0x1d1d80>=_0x285767;},'bGZkM':function(_0x3ab4cd,_0x1f9acf,_0x15a7ef){return _0x3ab4cd(_0x1f9acf,_0x15a7ef);},'ZzjYS':'error'},_0x3cb8cc={'event':_0x23f6c5(0x219),'errorName':_0x5949fa[_0x23f6c5(0x204)]||_0x412eea['VAkMf'],'errorMessage':_0x5949fa[_0x23f6c5(0x1d8)],'errorCode':_0x5949fa[_0x23f6c5(0x245)]||_0x5949fa[_0x23f6c5(0x1db)]||0x1f4,'stack':_0x5949fa['stack'],'method':_0x1dc7e2?.[_0x23f6c5(0x217)],'url':_0x1dc7e2?.[_0x23f6c5(0x1f6)]||_0x1dc7e2?.['originalUrl'],'path':_0x1dc7e2?.['path'],'ip':_0x1dc7e2?.['ip']||_0x1dc7e2?.[_0x23f6c5(0x206)]?.['remoteAddress'],'userAgent':_0x1dc7e2?.[_0x23f6c5(0x255)]?.(_0x412eea['VcQBR']),'requestId':_0x1dc7e2?.['id']||_0x1dc7e2?.[_0x23f6c5(0x23c)]?.[_0x412eea['TtCtI']],'body':_0x1dc7e2?.['body']?redactObject(_0x1dc7e2[_0x23f6c5(0x1c7)]):undefined,'query':_0x1dc7e2?.[_0x23f6c5(0x1d1)],..._0x269cc5},_0x12b202=_0x5949fa[_0x23f6c5(0x1db)]||_0x5949fa[_0x23f6c5(0x1e0)]||0x1f4,_0x54b3a9=_0x23f6c5(0x240)+_0x12b202+':\x20'+_0x5949fa['message'];_0x412eea['vdcMS'](_0x12b202,0x1f4)?logger['error'](_0x3cb8cc,_0x54b3a9):logger[_0x23f6c5(0x251)](_0x3cb8cc,_0x54b3a9),_0x412eea[_0x23f6c5(0x1ec)](writeToFileLog,{..._0x3cb8cc,'level':_0x12b202>=0x1f4?_0x412eea['ZzjYS']:'warn','msg':_0x54b3a9,'time':new Date()['toISOString']()},_0x12b202>=0x1f4?_0x23f6c5(0x221):'warn');},logUncaughtError=(_0x253597,_0x3499d2)=>{const _0x277a59=a0_0x26c466,_0x1040aa={'sHRVR':_0x277a59(0x203),'BriYD':'CRITICAL','bmkRz':'error'},_0x4bcd23={'event':_0x253597,'errorName':_0x3499d2?.[_0x277a59(0x204)]||_0x1040aa[_0x277a59(0x244)],'errorMessage':_0x3499d2?.[_0x277a59(0x1d8)]||String(_0x3499d2),'errorCode':_0x3499d2?.['code']||null,'stack':_0x3499d2?.[_0x277a59(0x1f1)],'severity':_0x1040aa[_0x277a59(0x233)],'processId':process['pid'],'memoryUsage':process[_0x277a59(0x1fa)](),'uptime':process[_0x277a59(0x265)]()},_0x4daa0f='['+_0x253597['toUpperCase']()+']\x20'+(_0x3499d2?.[_0x277a59(0x1d8)]||_0x3499d2);logger[_0x277a59(0x258)](_0x4bcd23,_0x4daa0f),writeToFileLog({..._0x4bcd23,'level':'fatal','msg':_0x4daa0f,'time':new Date()['toISOString']()},_0x1040aa['bmkRz']);},setupGlobalErrorHandlers=()=>{const _0xd5c5c=a0_0x26c466,_0x5c5d84={'uDMyA':function(_0x530912,_0x28f3c2,_0xf7de2){return _0x530912(_0x28f3c2,_0xf7de2);},'inWcX':function(_0x1e4ae5,_0x36dd74){return _0x1e4ae5 instanceof _0x36dd74;},'tLWAU':_0xd5c5c(0x24d),'OpRtL':_0xd5c5c(0x25d),'Nlutr':'global_error_handlers_setup','RpXnb':'Global\x20error\x20handlers\x20initialized','nehWR':_0xd5c5c(0x26c)};process['on']('uncaughtException',_0x53a4a9=>{const _0xb3f589=_0xd5c5c;_0x5c5d84[_0xb3f589(0x279)](logUncaughtError,_0xb3f589(0x214),_0x53a4a9),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x140e50,_0x3dbb0f)=>{const _0x2c5e49=_0xd5c5c,_0x1f2424=_0x5c5d84['inWcX'](_0x140e50,Error)?_0x140e50:new Error(String(_0x140e50));_0x5c5d84[_0x2c5e49(0x279)](logUncaughtError,'unhandledRejection',_0x1f2424);}),process['on'](_0x5c5d84['OpRtL'],_0x5e9cf0=>{const _0x3e6183=_0xd5c5c;logger['warn']({'event':_0x5c5d84[_0x3e6183(0x1d9)],'name':_0x5e9cf0['name'],'message':_0x5e9cf0['message'],'stack':_0x5e9cf0[_0x3e6183(0x1f1)]},'Process\x20Warning:\x20'+_0x5e9cf0['message']);});const _0x136c34={'event':_0x5c5d84['Nlutr']},_0x533b49=_0x5c5d84[_0xd5c5c(0x1fe)];logger['info'](_0x136c34,_0x533b49),writeToFileLog({..._0x136c34,'level':_0x5c5d84['nehWR'],'msg':_0x533b49,'time':new Date()[_0xd5c5c(0x1da)]()},'info');},createErrorHandlerMiddleware=()=>{const _0xc87a78={'JxQrR':function(_0x1e1050,_0x22e269,_0x18c1fc){return _0x1e1050(_0x22e269,_0x18c1fc);}};return(_0x4832c2,_0x2d953b,_0x41c233,_0x5e601f)=>{const _0x241902=a0_0x23fa;_0xc87a78['JxQrR'](logHttpError,_0x4832c2,_0x2d953b);const _0x241d9d=_0x4832c2[_0x241902(0x1db)]||_0x4832c2[_0x241902(0x1e0)]||0x1f4;_0x41c233[_0x241902(0x1e0)](_0x241d9d)[_0x241902(0x201)]({'success':![],'error':_0x241d9d>=0x1f4?_0x241902(0x1c6):_0x4832c2['message'],'requestId':_0x2d953b['id']||_0x2d953b[_0x241902(0x23c)]?.[_0x241902(0x246)]||null});};};module[a0_0x26c466(0x253)]={'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_0x3f5f56=a0_0x2639;function a0_0x2639(_0x1a545e,_0x48f212){_0x1a545e=_0x1a545e-0x107;const _0x286664=a0_0x2866();let _0x263918=_0x286664[_0x1a545e];if(a0_0x2639['tKoKbm']===undefined){var _0x13ce40=function(_0x3e8a4f){const _0xb919d9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f8c9f='',_0x2b9c89='';for(let _0x5df0db=0x0,_0x3f1b21,_0x3d8d5e,_0x306a91=0x0;_0x3d8d5e=_0x3e8a4f['charAt'](_0x306a91++);~_0x3d8d5e&&(_0x3f1b21=_0x5df0db%0x4?_0x3f1b21*0x40+_0x3d8d5e:_0x3d8d5e,_0x5df0db++%0x4)?_0x2f8c9f+=String['fromCharCode'](0xff&_0x3f1b21>>(-0x2*_0x5df0db&0x6)):0x0){_0x3d8d5e=_0xb919d9['indexOf'](_0x3d8d5e);}for(let _0x1492d0=0x0,_0x284ccc=_0x2f8c9f['length'];_0x1492d0<_0x284ccc;_0x1492d0++){_0x2b9c89+='%'+('00'+_0x2f8c9f['charCodeAt'](_0x1492d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b9c89);};a0_0x2639['cGQxeT']=_0x13ce40,a0_0x2639['dinglG']={},a0_0x2639['tKoKbm']=!![];}const _0x5c8c81=_0x286664[0x0],_0x1d8061=_0x1a545e+_0x5c8c81,_0x57a777=a0_0x2639['dinglG'][_0x1d8061];return!_0x57a777?(_0x263918=a0_0x2639['cGQxeT'](_0x263918),a0_0x2639['dinglG'][_0x1d8061]=_0x263918):_0x263918=_0x57a777,_0x263918;}(function(_0x2d755e,_0x2d321d){const _0x5efce4=a0_0x2639,_0x22a3f6=_0x2d755e();while(!![]){try{const _0x57ed7f=parseInt(_0x5efce4(0x109))/0x1+-parseInt(_0x5efce4(0x133))/0x2+-parseInt(_0x5efce4(0x117))/0x3+-parseInt(_0x5efce4(0x110))/0x4*(-parseInt(_0x5efce4(0x118))/0x5)+parseInt(_0x5efce4(0x123))/0x6+parseInt(_0x5efce4(0x119))/0x7+-parseInt(_0x5efce4(0x12d))/0x8*(parseInt(_0x5efce4(0x131))/0x9);if(_0x57ed7f===_0x2d321d)break;else _0x22a3f6['push'](_0x22a3f6['shift']());}catch(_0x35210f){_0x22a3f6['push'](_0x22a3f6['shift']());}}}(a0_0x2866,0xc0bbc));const dbType=(process['env']['DB_TYPE']||a0_0x3f5f56(0x10c))['toLowerCase']();let executeQuery;if(dbType===a0_0x3f5f56(0x138)){const oracleDb=require('./db-oracle');executeQuery=(_0xbda1ff,_0x5537b7)=>oracleDb[a0_0x3f5f56(0x107)](_0xbda1ff,_0x5537b7);}else{if(dbType===a0_0x3f5f56(0x12f)){const mysqlDb=require(a0_0x3f5f56(0x11a));executeQuery=(_0x14e88c,_0x23a267)=>mysqlDb[a0_0x3f5f56(0x107)](_0x14e88c,_0x23a267);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x54f0d0=a0_0x3f5f56;this[_0x54f0d0(0x124)]=new Map();}[a0_0x3f5f56(0x10a)](){const _0x4f42c0=a0_0x3f5f56,_0x175b9f={'FUCeT':'lookup_cache_cleared','pnEzz':'Lookup\x20cache\x20cleared'};this[_0x4f42c0(0x124)]['clear'](),logger['debug']({'event':_0x175b9f[_0x4f42c0(0x12a)]},_0x175b9f[_0x4f42c0(0x112)]);}async[a0_0x3f5f56(0x11f)](_0x4c369a,_0x398f6a,_0x413f32){const _0x514bb5=a0_0x3f5f56,_0x21f6c0={'bSfkr':function(_0x27ee3d,_0x1034d9){return _0x27ee3d!==_0x1034d9;},'PRHpj':function(_0x3e405c,_0x55bf40){return _0x3e405c(_0x55bf40);},'WLYdG':function(_0x2e07b9,_0x1a2362){return _0x2e07b9(_0x1a2362);},'baxxM':_0x514bb5(0x129)},_0x4680bf=_0x4c369a+':'+_0x398f6a+':'+_0x413f32;if(this['lookupCache'][_0x514bb5(0x116)](_0x4680bf))return this[_0x514bb5(0x124)][_0x514bb5(0x11e)](_0x4680bf);try{const _0x512881=_0x514bb5(0x11b)+_0x413f32+',\x20'+_0x398f6a+'\x20FROM\x20'+_0x4c369a,_0x508f25=await _0x21f6c0[_0x514bb5(0x113)](executeQuery,_0x512881),_0x53f8a7=new Map();return _0x508f25['forEach'](_0x1b7378=>{const _0x5ebaad=_0x514bb5,_0x17c164=_0x1b7378[_0x398f6a]!==undefined?_0x1b7378[_0x398f6a]:_0x1b7378[_0x398f6a[_0x5ebaad(0x125)]()],_0x36c916=_0x1b7378[_0x413f32]!==undefined?_0x1b7378[_0x413f32]:_0x1b7378[_0x413f32['toUpperCase']()];_0x17c164!==null&&_0x21f6c0['bSfkr'](_0x17c164,undefined)&&(_0x53f8a7[_0x5ebaad(0x136)](_0x21f6c0[_0x5ebaad(0x111)](String,_0x17c164)[_0x5ebaad(0x10d)]()['trim'](),_0x36c916),_0x53f8a7[_0x5ebaad(0x136)](_0x21f6c0['PRHpj'](String,_0x17c164)[_0x5ebaad(0x114)](),_0x36c916));}),this['lookupCache']['set'](_0x4680bf,_0x53f8a7),logger['info']({'event':_0x21f6c0[_0x514bb5(0x130)],'table':_0x4c369a,'column':_0x398f6a,'count':_0x508f25[_0x514bb5(0x10f)]},'Lookup\x20table\x20loaded:\x20'+_0x4c369a),_0x53f8a7;}catch(_0x13732b){logger['error']({'event':'lookup_table_load_error','table':_0x4c369a,'error':_0x13732b[_0x514bb5(0x115)]},_0x514bb5(0x10e)+_0x4c369a);throw _0x13732b;}}['resolveLookupValue'](_0x10e780,_0x5b3106){const _0x2f7ea9=a0_0x3f5f56,_0x39f892={'Tokxp':function(_0x4d6b25,_0x2b5329){return _0x4d6b25===_0x2b5329;},'optqJ':function(_0x295164,_0x502773){return _0x295164(_0x502773);}};if(_0x39f892[_0x2f7ea9(0x121)](_0x10e780,null)||_0x10e780===undefined||_0x10e780==='')return null;const _0x164da2=_0x39f892['optqJ'](String,_0x10e780)['trim']();if(_0x5b3106['has'](_0x164da2))return _0x5b3106[_0x2f7ea9(0x11e)](_0x164da2);const _0x39d0af=_0x164da2[_0x2f7ea9(0x10d)]();if(_0x5b3106['has'](_0x39d0af))return _0x5b3106['get'](_0x39d0af);return null;}async[a0_0x3f5f56(0x12c)](_0x4d7f34,_0x5b1bf4){const _0x24b736=a0_0x3f5f56,_0x48183d={'uQPpH':function(_0x5c2654,_0x23b870){return _0x5c2654===_0x23b870;},'HHZBc':function(_0x5907d5,_0x34f64d){return _0x5907d5!==_0x34f64d;}};if(!_0x5b1bf4||Object[_0x24b736(0x135)](_0x5b1bf4)[_0x24b736(0x10f)]===0x0)return{'processedRows':_0x4d7f34,'errors':[]};const _0xc17f00=[],_0x34da5a=new Map();for(const [_0x177105,_0x242bc9]of Object[_0x24b736(0x132)](_0x5b1bf4)){const {lookupTable:_0x201b3c,lookupColumn:_0x3a3336,lookupIdColumn:_0x446a72}=_0x242bc9,_0x156499=_0x201b3c+':'+_0x3a3336+':'+_0x446a72;if(!_0x34da5a[_0x24b736(0x116)](_0x156499)){const _0x405f93=await this[_0x24b736(0x11f)](_0x201b3c,_0x3a3336,_0x446a72);_0x34da5a['set'](_0x156499,_0x405f93);}}const _0xeb02d5=_0x4d7f34[_0x24b736(0x134)]((_0x2111f9,_0x48512d)=>{const _0x5c2c32=_0x24b736,_0x1c58fc={..._0x2111f9};for(const [_0x55feca,_0xe7e0d8]of Object[_0x5c2c32(0x132)](_0x5b1bf4)){const {lookupTable:_0x3c0455,lookupColumn:_0x29ea35,lookupIdColumn:_0x1c6572,targetField:_0x5469c1,required:_0x3c6381}=_0xe7e0d8,_0x3522c6=_0x3c0455+':'+_0x29ea35+':'+_0x1c6572,_0x19eaee=_0x34da5a[_0x5c2c32(0x11e)](_0x3522c6),_0x375560=_0x2111f9[_0x55feca];if((_0x48183d[_0x5c2c32(0x10b)](_0x375560,null)||_0x375560===undefined||_0x375560==='')&&!_0x3c6381){_0x1c58fc[_0x5469c1]=null;continue;}const _0x3d20c0=this[_0x5c2c32(0x12e)](_0x375560,_0x19eaee);_0x48183d['HHZBc'](_0x3d20c0,null)?_0x1c58fc[_0x5469c1]=_0x3d20c0:(_0x3c6381&&_0xc17f00[_0x5c2c32(0x126)]({'rowIndex':_0x48512d,'field':_0x55feca,'value':_0x375560,'targetField':_0x5469c1,'lookupTable':_0x3c0455,'message':'Value\x20\x22'+_0x375560+'\x22\x20not\x20found\x20in\x20'+_0x3c0455}),_0x1c58fc[_0x5469c1]=null);}return _0x1c58fc;});return logger[_0x24b736(0x122)]({'event':'lookup_fields_processed','totalRows':_0x4d7f34[_0x24b736(0x10f)],'errorCount':_0xc17f00['length'],'lookupFieldCount':Object['keys'](_0x5b1bf4)[_0x24b736(0x10f)]},_0x24b736(0x11d)),{'processedRows':_0xeb02d5,'errors':_0xc17f00};}[a0_0x3f5f56(0x128)](_0x818310,_0x1adae5){const _0x39eacb=a0_0x3f5f56,_0x595dd3={'EpgxA':function(_0x498997,_0x346b7d){return _0x498997!==_0x346b7d;},'oPmsm':function(_0x5dd35c,_0xb22c0d){return _0x5dd35c!==_0xb22c0d;}},_0x3a36ae=new Set();return _0x818310[_0x39eacb(0x12b)](_0x3a610=>{const _0x4ba739=_0x39eacb,_0x5d939e=_0x3a610[_0x1adae5];_0x595dd3['EpgxA'](_0x5d939e,null)&&_0x595dd3['oPmsm'](_0x5d939e,undefined)&&_0x595dd3[_0x4ba739(0x137)](_0x5d939e,'')&&_0x3a36ae[_0x4ba739(0x108)](String(_0x5d939e)[_0x4ba739(0x114)]());}),Array[_0x39eacb(0x120)](_0x3a36ae);}async[a0_0x3f5f56(0x11c)](_0x4b3786,_0x10a8dc){const _0x28f5f7=a0_0x3f5f56,_0x5ed125={'xngac':function(_0x30cbf1,_0x5cedf0){return _0x30cbf1===_0x5cedf0;},'hHmQZ':function(_0x143708,_0x4f2bda){return _0x143708>_0x4f2bda;}};if(!_0x10a8dc||_0x5ed125['xngac'](Object['keys'](_0x10a8dc)[_0x28f5f7(0x10f)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x3b516f=[],_0x5db465={};for(const [_0x38bfeb,_0x46e709]of Object[_0x28f5f7(0x132)](_0x10a8dc)){const {lookupTable:_0x1e9e7f,lookupColumn:_0x415ea1,lookupIdColumn:_0x3623da,required:_0xfce604}=_0x46e709,_0x286ba1=this[_0x28f5f7(0x128)](_0x4b3786,_0x38bfeb),_0x3ff6f1=await this[_0x28f5f7(0x11f)](_0x1e9e7f,_0x415ea1,_0x3623da),_0x43df80=[],_0x3f3dc0=[];_0x286ba1[_0x28f5f7(0x12b)](_0x55f694=>{const _0x4f4bab=this['resolveLookupValue'](_0x55f694,_0x3ff6f1);_0x4f4bab!==null?_0x3f3dc0['push'](_0x55f694):_0x43df80['push'](_0x55f694);});if(_0x5ed125[_0x28f5f7(0x127)](_0x43df80['length'],0x0)&&_0xfce604){_0x3b516f['push']({'field':_0x38bfeb,'lookupTable':_0x1e9e7f,'invalidValues':_0x43df80,'message':_0x43df80[_0x28f5f7(0x10f)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x1e9e7f});const _0x4f6a5a=[];_0x3ff6f1[_0x28f5f7(0x12b)]((_0x3f738,_0x412307)=>{const _0x468e09=_0x28f5f7;if(_0x412307===_0x412307['toLowerCase']())return;_0x4f6a5a[_0x468e09(0x126)](_0x412307);}),_0x5db465[_0x38bfeb]={'invalidValues':_0x43df80,'availableValues':_0x4f6a5a['slice'](0x0,0x32)};}}return{'valid':_0x3b516f[_0x28f5f7(0x10f)]===0x0,'errors':_0x3b516f,'suggestions':_0x5db465};}}function a0_0x2866(){const _0x39b19c=['ChjVy2vZC0XVB2T1CezPzwXKCW','mte2ogTyEfnzEG','CMvZB2X2zuXVB2T1CfzHBhvL','BxLZCwW','yMf4Ee0','mtC3nJi0u29uvfPQ','zw50CMLLCW','mti1ntm4mg5UtxvhBa','BwfW','A2v5CW','C2v0','rxbNEee','B3jHy2XL','zxHLy3v0zvf1zxj5','ywrK','mtiWnJu0mvjfz3jZtq','y2XLyxjdywnOzq','DvfqCeG','Cg9ZDgDYzxnXBa','Dg9mB3DLCKnHC2u','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','BgvUz3rO','oti0ndC2veTXBwPJ','ufjiCgO','Cg5fENO','v0XzzeC','DhjPBq','BwvZC2fNzq','AgfZ','nJm2nJuXqM96zNDL','mJbZDwDYu3q','odC2nZu2m1j2weLPBG','lI9KyI1TExnXBa','u0vmrunuia','DMfSAwrHDgvmB29RDxbwywX1zxm','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','z2v0','Bg9HzeXVB2T1CfrHyMXL','zNjVBq','vg9REha','Aw5MBW','nJC2mZyZoePZq0LNta','Bg9VA3vWq2fJAgu','Dg9vChbLCKnHC2u','ChvZAa','AeHTuvO','z2v0rgLZDgLUy3rwywX1zxm','Bg9VA3vWx3rHyMXLx2XVywrLza','rLvdzvq','zM9YrwfJAa'];a0_0x2866=function(){return _0x39b19c;};return a0_0x2866();}module['exports']=new LookupResolver();
1
+ const a0_0x53c662=a0_0x55e3;function a0_0x4240(){const _0x1ecf39=['tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWq2fJAgu','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','zxHWB3j0CW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','AgfZ','ChvZAa','C2XPy2u','rNnlvxG','mtiYmtvMA2fdwwi','Bg9VA3vWx3rHyMXLx2XVywrLza','yMDwtwC','z2v0','mZK3mZm5nMnZD2zJrq','Cw1wyNC','zw50CMLLCW','BxLZCwW','mZbpquDVq1G','odi5mtaWm0zOBKHrAG','DhjPBq','lI9KyI1TExnXBa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','iezst00G','mZHXA0Lksuu','Burzv3y','vKPHz2i','Bg9HzeXVB2T1CfrHyMXL','mtq0mtC2mZrSruzStNq','Dg9mB3DLCKnHC2u','zNjVBq','ofzisNPiDW','mtm1ntCZnu5ZEKTjBG','lI9SB2DNzxi','zxHLy3v0zvf1zxj5','ode2otzeCgTnsxi','m2PxtgfuCq','CMvZB2X2zuXVB2T1CfzHBhvL','zgvIDwC','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','DuPpu2W','ChjVy2vZC0XVB2T1CezPzwXKCW','mtHluenWtw8','D0T6u1O','zM9YrwfJAa','BwfW','y2XLyxi','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','DMfSAwrHDgvmB29RDxbwywX1zxm','lI9KyG','nJy4mLn4BgvOra','C2v0','tKXUDKe','BgvUz3rO','ndm1nZe5menxDxviDa'];a0_0x4240=function(){return _0x1ecf39;};return a0_0x4240();}(function(_0x108ec3,_0x4a1e9c){const _0xce746e=a0_0x55e3,_0x1956fa=_0x108ec3();while(!![]){try{const _0x9205e3=-parseInt(_0xce746e(0x1a7))/0x1*(-parseInt(_0xce746e(0x1b5))/0x2)+-parseInt(_0xce746e(0x18b))/0x3*(parseInt(_0xce746e(0x1ab))/0x4)+-parseInt(_0xce746e(0x187))/0x5*(-parseInt(_0xce746e(0x1af))/0x6)+-parseInt(_0xce746e(0x1b0))/0x7*(parseInt(_0xce746e(0x186))/0x8)+parseInt(_0xce746e(0x191))/0x9*(-parseInt(_0xce746e(0x19d))/0xa)+-parseInt(_0xce746e(0x183))/0xb+parseInt(_0xce746e(0x18a))/0xc*(parseInt(_0xce746e(0x199))/0xd);if(_0x9205e3===_0x4a1e9c)break;else _0x1956fa['push'](_0x1956fa['shift']());}catch(_0x5bef42){_0x1956fa['push'](_0x1956fa['shift']());}}}(a0_0x4240,0xb18b6));const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x5ce357,_0x19c6de)=>oracleDb['executeQuery'](_0x5ce357,_0x19c6de);}else{if(dbType===a0_0x53c662(0x1ae)){const mysqlDb=require(a0_0x53c662(0x1b2));executeQuery=(_0x5ef826,_0x156bca)=>mysqlDb[a0_0x53c662(0x189)](_0x5ef826,_0x156bca);}else executeQuery=require(a0_0x53c662(0x198))['executeQuery'];}function a0_0x55e3(_0x13f2ce,_0x10858e){_0x13f2ce=_0x13f2ce-0x180;const _0x424066=a0_0x4240();let _0x55e347=_0x424066[_0x13f2ce];if(a0_0x55e3['sDfWLy']===undefined){var _0x4e73e9=function(_0x2fb8e1){const _0x279818='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43830b='',_0x5c4db0='';for(let _0x572864=0x0,_0x49a808,_0x1da9a6,_0x4635ec=0x0;_0x1da9a6=_0x2fb8e1['charAt'](_0x4635ec++);~_0x1da9a6&&(_0x49a808=_0x572864%0x4?_0x49a808*0x40+_0x1da9a6:_0x1da9a6,_0x572864++%0x4)?_0x43830b+=String['fromCharCode'](0xff&_0x49a808>>(-0x2*_0x572864&0x6)):0x0){_0x1da9a6=_0x279818['indexOf'](_0x1da9a6);}for(let _0x56455e=0x0,_0xe41825=_0x43830b['length'];_0x56455e<_0xe41825;_0x56455e++){_0x5c4db0+='%'+('00'+_0x43830b['charCodeAt'](_0x56455e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c4db0);};a0_0x55e3['BaTTEb']=_0x4e73e9,a0_0x55e3['HuZohP']={},a0_0x55e3['sDfWLy']=!![];}const _0x463c79=_0x424066[0x0],_0x4e4567=_0x13f2ce+_0x463c79,_0x3c04c9=a0_0x55e3['HuZohP'][_0x4e4567];return!_0x3c04c9?(_0x55e347=a0_0x55e3['BaTTEb'](_0x55e347),a0_0x55e3['HuZohP'][_0x4e4567]=_0x55e347):_0x55e347=_0x3c04c9,_0x55e347;}const {logger}=require(a0_0x53c662(0x188));class LookupResolver{constructor(){const _0x31aa0a=a0_0x53c662;this[_0x31aa0a(0x19f)]=new Map();}['clearCache'](){const _0xb12018=a0_0x53c662;this['lookupCache'][_0xb12018(0x195)](),logger[_0xb12018(0x18d)]({'event':_0xb12018(0x196)},_0xb12018(0x19e));}async[a0_0x53c662(0x182)](_0x4c9f9b,_0x14b521,_0x354aff){const _0xf4d948=a0_0x53c662,_0x343347={'NLnvA':function(_0x4d15e7,_0x548963){return _0x4d15e7!==_0x548963;},'FsKUx':function(_0x3fdcc7,_0x50af4c){return _0x3fdcc7!==_0x50af4c;},'umkHV':function(_0x5e9f2f,_0x124cab){return _0x5e9f2f(_0x124cab);},'bZVjp':_0xf4d948(0x1a8)},_0x558f84=_0x4c9f9b+':'+_0x14b521+':'+_0x354aff;if(this[_0xf4d948(0x19f)][_0xf4d948(0x1a3)](_0x558f84))return this['lookupCache']['get'](_0x558f84);try{const _0x1e9c77='SELECT\x20'+_0x354aff+',\x20'+_0x14b521+_0xf4d948(0x1b4)+_0x4c9f9b,_0x3fbd62=await _0x343347['umkHV'](executeQuery,_0x1e9c77),_0x4a16fe=new Map();return _0x3fbd62['forEach'](_0x25d8eb=>{const _0x2d5a9a=_0xf4d948,_0x2e668f=_0x343347[_0x2d5a9a(0x19b)](_0x25d8eb[_0x14b521],undefined)?_0x25d8eb[_0x14b521]:_0x25d8eb[_0x14b521['toUpperCase']()],_0x49aa91=_0x25d8eb[_0x354aff]!==undefined?_0x25d8eb[_0x354aff]:_0x25d8eb[_0x354aff['toUpperCase']()];_0x2e668f!==null&&_0x343347[_0x2d5a9a(0x1a6)](_0x2e668f,undefined)&&(_0x4a16fe[_0x2d5a9a(0x19a)](String(_0x2e668f)['toLowerCase']()[_0x2d5a9a(0x1b1)](),_0x49aa91),_0x4a16fe[_0x2d5a9a(0x19a)](String(_0x2e668f)['trim'](),_0x49aa91));}),this[_0xf4d948(0x19f)]['set'](_0x558f84,_0x4a16fe),logger['info']({'event':_0x343347['bZVjp'],'table':_0x4c9f9b,'column':_0x14b521,'count':_0x3fbd62['length']},'Lookup\x20table\x20loaded:\x20'+_0x4c9f9b),_0x4a16fe;}catch(_0xd5323e){logger['error']({'event':_0xf4d948(0x18e),'table':_0x4c9f9b,'error':_0xd5323e['message']},_0xf4d948(0x1b3)+_0x4c9f9b);throw _0xd5323e;}}[a0_0x53c662(0x18c)](_0x4200d1,_0x4b0a11){const _0x17e306=a0_0x53c662,_0x4bc42a={'zqxUw':function(_0x3dba1a,_0x297dc9){return _0x3dba1a===_0x297dc9;},'YfmWN':function(_0x1d8904,_0x1efc46){return _0x1d8904===_0x1efc46;}};if(_0x4bc42a['zqxUw'](_0x4200d1,null)||_0x4200d1===undefined||_0x4bc42a['YfmWN'](_0x4200d1,''))return null;const _0x51a41a=String(_0x4200d1)['trim']();if(_0x4b0a11[_0x17e306(0x1a3)](_0x51a41a))return _0x4b0a11['get'](_0x51a41a);const _0x116a52=_0x51a41a['toLowerCase']();if(_0x4b0a11['has'](_0x116a52))return _0x4b0a11['get'](_0x116a52);return null;}async[a0_0x53c662(0x190)](_0xfa2ce7,_0x56fb6a){const _0x45d570=a0_0x53c662,_0x26b540={'VJagb':function(_0x1d4e19,_0x293721){return _0x1d4e19===_0x293721;},'qmVbw':function(_0x27ce24,_0x288c95){return _0x27ce24===_0x288c95;},'YXkRj':function(_0x3f0ba6,_0x59a285){return _0x3f0ba6!==_0x59a285;}};if(!_0x56fb6a||_0x26b540[_0x45d570(0x1ac)](Object['keys'](_0x56fb6a)[_0x45d570(0x19c)],0x0))return{'processedRows':_0xfa2ce7,'errors':[]};const _0x3ffab1=[],_0x164064=new Map();for(const [_0x46472b,_0x88b366]of Object['entries'](_0x56fb6a)){const {lookupTable:_0x56758c,lookupColumn:_0x554ecb,lookupIdColumn:_0x5a4a59}=_0x88b366,_0x45d51a=_0x56758c+':'+_0x554ecb+':'+_0x5a4a59;if(!_0x164064['has'](_0x45d51a)){const _0x1e7104=await this[_0x45d570(0x182)](_0x56758c,_0x554ecb,_0x5a4a59);_0x164064[_0x45d570(0x19a)](_0x45d51a,_0x1e7104);}}const _0x3ff192=_0xfa2ce7[_0x45d570(0x194)]((_0x5c1ec4,_0x4647db)=>{const _0x3072ed=_0x45d570,_0x56d4ce={..._0x5c1ec4};for(const [_0xef0e20,_0x44f1ed]of Object[_0x3072ed(0x1ad)](_0x56fb6a)){const {lookupTable:_0x5833d1,lookupColumn:_0x556c25,lookupIdColumn:_0x55db71,targetField:_0xbcac10,required:_0x508c23}=_0x44f1ed,_0x4a46ff=_0x5833d1+':'+_0x556c25+':'+_0x55db71,_0x5a8bff=_0x164064[_0x3072ed(0x1aa)](_0x4a46ff),_0x5aec64=_0x5c1ec4[_0xef0e20];if((_0x5aec64===null||_0x26b540[_0x3072ed(0x181)](_0x5aec64,undefined)||_0x26b540[_0x3072ed(0x1ac)](_0x5aec64,''))&&!_0x508c23){_0x56d4ce[_0xbcac10]=null;continue;}const _0x13f8af=this[_0x3072ed(0x18c)](_0x5aec64,_0x5a8bff);_0x26b540['YXkRj'](_0x13f8af,null)?_0x56d4ce[_0xbcac10]=_0x13f8af:(_0x508c23&&_0x3ffab1['push']({'rowIndex':_0x4647db,'field':_0xef0e20,'value':_0x5aec64,'targetField':_0xbcac10,'lookupTable':_0x5833d1,'message':'Value\x20\x22'+_0x5aec64+'\x22\x20not\x20found\x20in\x20'+_0x5833d1}),_0x56d4ce[_0xbcac10]=null);}return _0x56d4ce;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0xfa2ce7[_0x45d570(0x19c)],'errorCount':_0x3ffab1['length'],'lookupFieldCount':Object['keys'](_0x56fb6a)[_0x45d570(0x19c)]},_0x45d570(0x1a2)),{'processedRows':_0x3ff192,'errors':_0x3ffab1};}['getDistinctValues'](_0x1306b0,_0x3af4e3){const _0x3a62b0=a0_0x53c662,_0x5e5048={'mDYWv':function(_0x32d708,_0x333e87){return _0x32d708!==_0x333e87;},'MNKPq':function(_0xb934f1,_0x3510c6){return _0xb934f1!==_0x3510c6;},'bgVMg':function(_0x4cb245,_0x5813b3){return _0x4cb245!==_0x5813b3;},'uJOSl':function(_0x1df7dc,_0x40c533){return _0x1df7dc(_0x40c533);}},_0xdd7ebf=new Set();return _0x1306b0['forEach'](_0x53856f=>{const _0x45a292=a0_0x55e3,_0x5ecafb=_0x53856f[_0x3af4e3];_0x5e5048[_0x45a292(0x180)](_0x5ecafb,null)&&_0x5e5048['MNKPq'](_0x5ecafb,undefined)&&_0x5e5048[_0x45a292(0x1a9)](_0x5ecafb,'')&&_0xdd7ebf['add'](_0x5e5048[_0x45a292(0x18f)](String,_0x5ecafb)[_0x45a292(0x1b1)]());}),Array[_0x3a62b0(0x185)](_0xdd7ebf);}async[a0_0x53c662(0x197)](_0xef68a3,_0x2c03a8){const _0xc91e43=a0_0x53c662,_0xcc4a44={'wKzSZ':function(_0x3d1c27,_0x2d69a2){return _0x3d1c27!==_0x2d69a2;}};if(!_0x2c03a8||Object['keys'](_0x2c03a8)[_0xc91e43(0x19c)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x1f4642=[],_0x25459f={};for(const [_0x25e822,_0x17bb2f]of Object['entries'](_0x2c03a8)){const {lookupTable:_0x3080ff,lookupColumn:_0x4a84fd,lookupIdColumn:_0x1f66b7,required:_0x972b27}=_0x17bb2f,_0x55f883=this['getDistinctValues'](_0xef68a3,_0x25e822),_0x3cf463=await this[_0xc91e43(0x182)](_0x3080ff,_0x4a84fd,_0x1f66b7),_0x241e40=[],_0x36eff0=[];_0x55f883[_0xc91e43(0x193)](_0x3d9155=>{const _0x558060=_0xc91e43,_0xdfd432=this['resolveLookupValue'](_0x3d9155,_0x3cf463);_0xcc4a44[_0x558060(0x192)](_0xdfd432,null)?_0x36eff0['push'](_0x3d9155):_0x241e40[_0x558060(0x1a4)](_0x3d9155);});if(_0x241e40[_0xc91e43(0x19c)]>0x0&&_0x972b27){_0x1f4642[_0xc91e43(0x1a4)]({'field':_0x25e822,'lookupTable':_0x3080ff,'invalidValues':_0x241e40,'message':_0x241e40['length']+_0xc91e43(0x1a0)+_0x3080ff});const _0x3c2dfd=[];_0x3cf463['forEach']((_0x842d5e,_0x22c1dd)=>{const _0x1a4298=_0xc91e43;if(_0x22c1dd===_0x22c1dd[_0x1a4298(0x184)]())return;_0x3c2dfd[_0x1a4298(0x1a4)](_0x22c1dd);}),_0x25459f[_0x25e822]={'invalidValues':_0x241e40,'availableValues':_0x3c2dfd[_0xc91e43(0x1a5)](0x0,0x32)};}}return{'valid':_0x1f4642[_0xc91e43(0x19c)]===0x0,'errors':_0x1f4642,'suggestions':_0x25459f};}}module[a0_0x53c662(0x1a1)]=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x3dd83a=a0_0x3919;function a0_0x5102(){const _0x2fda21=['quv1y0W','zfjIC0m','mtGYmtv2vfvJv1q','zxjYB3i','mty1nJa0mNzTANjyyq','mtqWmZa2nMXeBxvNtG','z2v0rxHWB3j0q29UzMLN','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','Axnby3rPB25fBMfIBgvK','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','mJK5ndGWoevOtLbXwq','C2v0','Cgf5Bg9HzerPCG','mZbmvhfmBNu','zMLLBgrmywjLBhm','CMvWBgfJzq','ChjVBwLZzxm','CMvHzezPBgu','nZu0mZa0wwPnu0TM','lMPZB24','zLP1zxi','ufLyCwC','y2fJAgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','DKHMreu','nJjWtgvVC3a','zgvIDwC','lI9SB2DNzxi','y29SDw1UrM9YBwf0CW','Cgf5Bg9Hzf9SB2fKzwq','AM9PBG','ywn0Aw9U','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mJu2mtq1meDAwe94uG','CgfYC2u','lI4VlI4VCgf5Bg9Hza','DxrMoa','Cgf5Bg9HzdO','nde4ndy1DeTZAg9L','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJDRDePbu00','y2XLyxi','zgf0yxrHyMXLC1f1zxj5'];a0_0x5102=function(){return _0x2fda21;};return a0_0x5102();}(function(_0x55e043,_0x119cec){const _0x4290fa=a0_0x3919,_0x61ab80=_0x55e043();while(!![]){try{const _0x7a49ea=-parseInt(_0x4290fa(0x201))/0x1*(-parseInt(_0x4290fa(0x1ed))/0x2)+parseInt(_0x4290fa(0x203))/0x3+parseInt(_0x4290fa(0x1e6))/0x4+-parseInt(_0x4290fa(0x1fa))/0x5*(parseInt(_0x4290fa(0x20c))/0x6)+-parseInt(_0x4290fa(0x204))/0x7+parseInt(_0x4290fa(0x209))/0x8+parseInt(_0x4290fa(0x1fc))/0x9*(-parseInt(_0x4290fa(0x1f5))/0xa);if(_0x7a49ea===_0x119cec)break;else _0x61ab80['push'](_0x61ab80['shift']());}catch(_0x3c83a6){_0x61ab80['push'](_0x61ab80['shift']());}}}(a0_0x5102,0x475ac));const fs=require('fs')[a0_0x3dd83a(0x1e4)],path=require('path'),{logger}=require(a0_0x3dd83a(0x1ef));class PayloadLoader{constructor(){const _0xeb61c4=a0_0x3dd83a,_0x26cc05={'dRbsC':_0xeb61c4(0x1f7)};this[_0xeb61c4(0x20b)]=path['join'](__dirname,_0x26cc05[_0xeb61c4(0x200)]),this[_0xeb61c4(0x1ea)]=new Map();}async['loadPayload'](_0x1807d5,_0x44ecb4){const _0x337a1a=a0_0x3dd83a,_0x30cfea={'LKUtY':_0x337a1a(0x1f8),'vHfDE':_0x337a1a(0x1f1)},_0x4a00a5=_0x1807d5+':'+_0x44ecb4;if(this[_0x337a1a(0x1ea)]['has'](_0x4a00a5))return this['cache']['get'](_0x4a00a5);const _0x29e694=path[_0x337a1a(0x1f2)](this['payloadDir'],_0x1807d5+'_'+_0x44ecb4+_0x337a1a(0x1e7));try{const _0x166119=await fs['readFile'](_0x29e694,_0x30cfea['LKUtY']),_0x7bcd8=JSON[_0x337a1a(0x1f6)](_0x166119);return this['cache'][_0x337a1a(0x20a)](_0x4a00a5,_0x7bcd8),logger['debug']({'event':_0x30cfea[_0x337a1a(0x1ec)],'project':_0x1807d5,'resource':_0x44ecb4},_0x337a1a(0x1f4)),_0x7bcd8;}catch(_0x3b5f13){logger[_0x337a1a(0x202)]({'event':_0x337a1a(0x1fb),'project':_0x1807d5,'resource':_0x44ecb4,'error':_0x3b5f13['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x1807d5+'_'+_0x44ecb4);}}async['loadPayloadByName'](_0x536aeb){const _0xc83bd=a0_0x3dd83a,_0x7b863b={'fZuer':_0xc83bd(0x1f8),'MwuUS':'payload_loaded','AEucL':_0xc83bd(0x1eb),'dNmLo':_0xc83bd(0x208)},_0x11146e=_0xc83bd(0x1f9)+_0x536aeb;if(this['cache']['has'](_0x11146e))return this['cache']['get'](_0x11146e);const _0x9d567d=path['join'](this['payloadDir'],_0x536aeb+_0xc83bd(0x1e7));try{const _0x4176c6=await fs[_0xc83bd(0x1e5)](_0x9d567d,_0x7b863b[_0xc83bd(0x1e8)]),_0x19c765=JSON['parse'](_0x4176c6);return this[_0xc83bd(0x1ea)]['set'](_0x11146e,_0x19c765),logger[_0xc83bd(0x1ee)]({'event':_0x7b863b['MwuUS'],'payloadName':_0x536aeb},_0x7b863b[_0xc83bd(0x1ff)]),_0x19c765;}catch(_0x29bb98){logger[_0xc83bd(0x202)]({'event':_0xc83bd(0x1fb),'payloadName':_0x536aeb,'error':_0x29bb98['message']},_0x7b863b['dNmLo']);throw new Error('Payload\x20not\x20found:\x20'+_0x536aeb);}}[a0_0x3dd83a(0x207)](_0xebcc3f,_0x1c4695){const _0x130269=a0_0x3dd83a,_0x453eda={'PYXqg':function(_0x25f5be,_0x4b05e6){return _0x25f5be===_0x4b05e6;}};return _0xebcc3f['action']&&_0x453eda[_0x130269(0x1e9)](_0xebcc3f[_0x130269(0x1f3)][_0x1c4695],!![]);}[a0_0x3dd83a(0x205)](_0x349c04){const _0x432ebe=a0_0x3dd83a;return{'columns':_0x349c04['fieldName']||[],'filename':_0x349c04['tableName'][_0x432ebe(0x1e3)]('.','-')+'-export','datatablesQuery':_0x349c04[_0x432ebe(0x1fe)]||null,'columnFormats':_0x349c04[_0x432ebe(0x1f0)]||null,'fieldLabels':_0x349c04[_0x432ebe(0x1e2)]||null};}['clearCache'](){const _0x320339=a0_0x3dd83a,_0x1819dd={'kayKo':'payload_cache_cleared'};this['cache'][_0x320339(0x1fd)](),logger['info']({'event':_0x1819dd['kayKo']},_0x320339(0x206));}}function a0_0x3919(_0x2c57d2,_0x3e4982){_0x2c57d2=_0x2c57d2-0x1e2;const _0x510230=a0_0x5102();let _0x3919c2=_0x510230[_0x2c57d2];if(a0_0x3919['DDHpAP']===undefined){var _0x5f5337=function(_0x26e990){const _0x224296='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27429f='',_0x6c14a4='';for(let _0x315f21=0x0,_0x185269,_0x1f3c74,_0xb5533a=0x0;_0x1f3c74=_0x26e990['charAt'](_0xb5533a++);~_0x1f3c74&&(_0x185269=_0x315f21%0x4?_0x185269*0x40+_0x1f3c74:_0x1f3c74,_0x315f21++%0x4)?_0x27429f+=String['fromCharCode'](0xff&_0x185269>>(-0x2*_0x315f21&0x6)):0x0){_0x1f3c74=_0x224296['indexOf'](_0x1f3c74);}for(let _0x32ccce=0x0,_0x2e8daa=_0x27429f['length'];_0x32ccce<_0x2e8daa;_0x32ccce++){_0x6c14a4+='%'+('00'+_0x27429f['charCodeAt'](_0x32ccce)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6c14a4);};a0_0x3919['Ujbmuj']=_0x5f5337,a0_0x3919['zEwQJV']={},a0_0x3919['DDHpAP']=!![];}const _0x2a657f=_0x510230[0x0],_0x473d83=_0x2c57d2+_0x2a657f,_0x2ae19e=a0_0x3919['zEwQJV'][_0x473d83];return!_0x2ae19e?(_0x3919c2=a0_0x3919['Ujbmuj'](_0x3919c2),a0_0x3919['zEwQJV'][_0x473d83]=_0x3919c2):_0x3919c2=_0x2ae19e,_0x3919c2;}module['exports']=new PayloadLoader();
1
+ const a0_0x38641e=a0_0x5d07;(function(_0x1d64f1,_0x231257){const _0x554fa8=a0_0x5d07,_0x114051=_0x1d64f1();while(!![]){try{const _0x28c6fb=parseInt(_0x554fa8(0x89))/0x1*(parseInt(_0x554fa8(0x86))/0x2)+parseInt(_0x554fa8(0x9e))/0x3*(parseInt(_0x554fa8(0x9b))/0x4)+parseInt(_0x554fa8(0x9d))/0x5*(parseInt(_0x554fa8(0xac))/0x6)+-parseInt(_0x554fa8(0x83))/0x7*(-parseInt(_0x554fa8(0x94))/0x8)+-parseInt(_0x554fa8(0xa8))/0x9*(parseInt(_0x554fa8(0x98))/0xa)+-parseInt(_0x554fa8(0x93))/0xb+-parseInt(_0x554fa8(0x9a))/0xc;if(_0x28c6fb===_0x231257)break;else _0x114051['push'](_0x114051['shift']());}catch(_0x1527cb){_0x114051['push'](_0x114051['shift']());}}}(a0_0x1070,0xe5e2c));const fs=require('fs')['promises'],path=require(a0_0x38641e(0x88)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x570f40=a0_0x38641e,_0xbc181a={'mNciP':'../../payload'};this['payloadDir']=path[_0x570f40(0xa0)](__dirname,_0xbc181a[_0x570f40(0xa4)]),this[_0x570f40(0x8c)]=new Map();}async['loadPayload'](_0xe25cb7,_0xd0ef84){const _0x202eaf=a0_0x38641e,_0x2bc900={'SLFmo':_0x202eaf(0x8a),'RpByJ':'Payload\x20loaded\x20successfully','ABhou':'payload_load_error','NSpQi':_0x202eaf(0x95)},_0x4b1e9b=_0xe25cb7+':'+_0xd0ef84;if(this['cache'][_0x202eaf(0x90)](_0x4b1e9b))return this['cache'][_0x202eaf(0x9c)](_0x4b1e9b);const _0x26076b=path[_0x202eaf(0xa0)](this['payloadDir'],_0xe25cb7+'_'+_0xd0ef84+_0x202eaf(0x97));try{const _0x213f71=await fs[_0x202eaf(0xab)](_0x26076b,_0x2bc900['SLFmo']),_0x79376d=JSON['parse'](_0x213f71);return this['cache']['set'](_0x4b1e9b,_0x79376d),logger[_0x202eaf(0xa5)]({'event':'payload_loaded','project':_0xe25cb7,'resource':_0xd0ef84},_0x2bc900['RpByJ']),_0x79376d;}catch(_0x540494){logger['error']({'event':_0x2bc900[_0x202eaf(0xad)],'project':_0xe25cb7,'resource':_0xd0ef84,'error':_0x540494['message']},_0x2bc900[_0x202eaf(0x8d)]);throw new Error(_0x202eaf(0xa7)+_0xe25cb7+'_'+_0xd0ef84);}}async[a0_0x38641e(0xa9)](_0x415b34){const _0x4730e2=a0_0x38641e,_0xd36cb1={'vdumG':_0x4730e2(0x8e),'Ctpxg':_0x4730e2(0x84),'aAiMB':_0x4730e2(0xaa),'TeLqO':_0x4730e2(0x87)},_0x2461cb='payload:'+_0x415b34;if(this[_0x4730e2(0x8c)][_0x4730e2(0x90)](_0x2461cb))return this[_0x4730e2(0x8c)][_0x4730e2(0x9c)](_0x2461cb);const _0x2f3129=path['join'](this['payloadDir'],_0x415b34+_0x4730e2(0x97));try{const _0x16cf43=await fs[_0x4730e2(0xab)](_0x2f3129,_0x4730e2(0x8a)),_0x4a7480=JSON['parse'](_0x16cf43);return this[_0x4730e2(0x8c)]['set'](_0x2461cb,_0x4a7480),logger['debug']({'event':_0xd36cb1['vdumG'],'payloadName':_0x415b34},_0xd36cb1['Ctpxg']),_0x4a7480;}catch(_0x201940){logger[_0x4730e2(0x8f)]({'event':_0xd36cb1['aAiMB'],'payloadName':_0x415b34,'error':_0x201940[_0x4730e2(0x91)]},_0xd36cb1[_0x4730e2(0xa2)]);throw new Error(_0x4730e2(0xa7)+_0x415b34);}}[a0_0x38641e(0x92)](_0x432e79,_0x35c018){const _0x490d8e=a0_0x38641e,_0x1be7cf={'ZxQHt':function(_0x4f1eda,_0x3645e8){return _0x4f1eda===_0x3645e8;}};return _0x432e79['action']&&_0x1be7cf[_0x490d8e(0xa1)](_0x432e79[_0x490d8e(0x96)][_0x35c018],!![]);}[a0_0x38641e(0x85)](_0x360529){const _0x5978ca=a0_0x38641e;return{'columns':_0x360529[_0x5978ca(0x8b)]||[],'filename':_0x360529['tableName'][_0x5978ca(0xa6)]('.','-')+'-export','datatablesQuery':_0x360529[_0x5978ca(0x9f)]||null,'columnFormats':_0x360529['columnFormats']||null,'fieldLabels':_0x360529['fieldLabels']||null};}[a0_0x38641e(0x99)](){const _0xe11f60=a0_0x38641e,_0x2a0aa2={'JCtwG':'Payload\x20cache\x20cleared'};this['cache']['clear'](),logger['info']({'event':'payload_cache_cleared'},_0x2a0aa2[_0xe11f60(0xa3)]);}}function a0_0x5d07(_0xaf3147,_0x545c69){_0xaf3147=_0xaf3147-0x83;const _0x107044=a0_0x1070();let _0x5d0745=_0x107044[_0xaf3147];if(a0_0x5d07['fsBFuZ']===undefined){var _0xb240e=function(_0x161ecd){const _0x260343='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38def1='',_0x30d671='';for(let _0x3c9997=0x0,_0x99405f,_0x403bc8,_0x31c3a6=0x0;_0x403bc8=_0x161ecd['charAt'](_0x31c3a6++);~_0x403bc8&&(_0x99405f=_0x3c9997%0x4?_0x99405f*0x40+_0x403bc8:_0x403bc8,_0x3c9997++%0x4)?_0x38def1+=String['fromCharCode'](0xff&_0x99405f>>(-0x2*_0x3c9997&0x6)):0x0){_0x403bc8=_0x260343['indexOf'](_0x403bc8);}for(let _0x563d9e=0x0,_0xac3bed=_0x38def1['length'];_0x563d9e<_0xac3bed;_0x563d9e++){_0x30d671+='%'+('00'+_0x38def1['charCodeAt'](_0x563d9e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30d671);};a0_0x5d07['IpRneM']=_0xb240e,a0_0x5d07['LUWWJY']={},a0_0x5d07['fsBFuZ']=!![];}const _0x204955=_0x107044[0x0],_0x415872=_0xaf3147+_0x204955,_0x5f3f60=a0_0x5d07['LUWWJY'][_0x415872];return!_0x5f3f60?(_0x5d0745=a0_0x5d07['IpRneM'](_0x5d0745),a0_0x5d07['LUWWJY'][_0x415872]=_0x5d0745):_0x5d0745=_0x5f3f60,_0x5d0745;}module[a0_0x38641e(0xae)]=new PayloadLoader();function a0_0x1070(){const _0xc1d0b9=['AgfZ','BwvZC2fNzq','Axnby3rPB25fBMfIBgvK','mtCZndq4uhPfz1fS','mtKYmta3mK95BgvryW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','ywn0Aw9U','lMPZB24','nZi5nZaWrwnpz2rx','y2XLyxjdywnOzq','mJG5mdy3ntjzqvrKs3m','ndKXmty3mLPTv0Pcuq','z2v0','ndm0nZiYmhj4v1D6Aa','m2PkCxjzDW','zgf0yxrHyMXLC1f1zxj5','AM9PBG','wNHrshq','vgvmCu8','sKn0D0C','Bu5JAva','zgvIDwC','CMvWBgfJzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','mte3wxzVEwvl','Bg9HzfbHEwXVywrcEu5HBwu','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','CMvHzezPBgu','nMzgzfnUCG','qujOB3u','zxHWB3j0CW','mZvLDvL3y1K','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','z2v0rxHWB3j0q29UzMLN','mtuWmM9HC05eAa','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','Cgf0Aa','mtm1nefpDKzyvW','DxrMoa','zMLLBgroyw1L','y2fJAgu','tLnWuwK','Cgf5Bg9Hzf9SB2fKzwq','zxjYB3i'];a0_0x1070=function(){return _0xc1d0b9;};return a0_0x1070();}
@@ -1 +1 @@
1
- 'use strict';(function(_0x534912,_0x50e393){var _0x35159a=a0_0x1379,_0x27579f=_0x534912();while(!![]){try{var _0x957fe0=parseInt(_0x35159a(0xde))/0x1+parseInt(_0x35159a(0xdd))/0x2+parseInt(_0x35159a(0xe1))/0x3+parseInt(_0x35159a(0xe5))/0x4+parseInt(_0x35159a(0xdb))/0x5*(-parseInt(_0x35159a(0xe4))/0x6)+parseInt(_0x35159a(0xdc))/0x7*(-parseInt(_0x35159a(0xdf))/0x8)+-parseInt(_0x35159a(0xe2))/0x9*(parseInt(_0x35159a(0xe3))/0xa);if(_0x957fe0===_0x50e393)break;else _0x27579f['push'](_0x27579f['shift']());}catch(_0x1f6025){_0x27579f['push'](_0x27579f['shift']());}}}(a0_0x240a,0x42704));function createResponse(_0x128b84,_0x5adaf5,_0x3ba37c=null){return{'success':!![],'statusCode':_0x128b84,'message':_0x5adaf5,'data':_0x3ba37c,'timestamp':new Date()['toISOString']()};}function createError(_0x1c18da,_0x3229e1,_0x4f1ddc=null){var _0x34f381=a0_0x1379;return{'success':![],'statusCode':_0x1c18da,'message':_0x3229e1,'data':_0x4f1ddc,'timestamp':new Date()[_0x34f381(0xe0)]()};}function a0_0x1379(_0x4fb049,_0x1ce687){_0x4fb049=_0x4fb049-0xdb;var _0x240a9d=a0_0x240a();var _0x1379e4=_0x240a9d[_0x4fb049];if(a0_0x1379['siikFE']===undefined){var _0x1b0e78=function(_0x59b2bf){var _0x2881ee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x918621='',_0x422a16='';for(var _0x45f9a2=0x0,_0x3dfa60,_0x49673a,_0x1e57e5=0x0;_0x49673a=_0x59b2bf['charAt'](_0x1e57e5++);~_0x49673a&&(_0x3dfa60=_0x45f9a2%0x4?_0x3dfa60*0x40+_0x49673a:_0x49673a,_0x45f9a2++%0x4)?_0x918621+=String['fromCharCode'](0xff&_0x3dfa60>>(-0x2*_0x45f9a2&0x6)):0x0){_0x49673a=_0x2881ee['indexOf'](_0x49673a);}for(var _0x201b76=0x0,_0x515c0c=_0x918621['length'];_0x201b76<_0x515c0c;_0x201b76++){_0x422a16+='%'+('00'+_0x918621['charCodeAt'](_0x201b76)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x422a16);};a0_0x1379['mOhkVI']=_0x1b0e78,a0_0x1379['fpXwxD']={},a0_0x1379['siikFE']=!![];}var _0x1a045e=_0x240a9d[0x0],_0x125b59=_0x4fb049+_0x1a045e,_0x82000e=a0_0x1379['fpXwxD'][_0x125b59];return!_0x82000e?(_0x1379e4=a0_0x1379['mOhkVI'](_0x1379e4),a0_0x1379['fpXwxD'][_0x125b59]=_0x1379e4):_0x1379e4=_0x82000e,_0x1379e4;}function a0_0x240a(){var _0xe279bc=['mJmWmdy4m2Lbzef5zq','ota4odyWzwTIz0PL','ndK1nZG3ze5Nwxbz','ofrSA3rRDW','Dg9ju09tDhjPBMC','ntKZmJvMqMzNswm','mtq1mtDvsNrfy3m','nZeWwwTPD25A','mtmWmdu2DhzPAwX2','ndu1mJK2tvzQu2vS','odvwsgXZqwW'];a0_0x240a=function(){return _0xe279bc;};return a0_0x240a();}function createValidationError(_0x5ed9b4,_0x1e4860){return{'success':![],'statusCode':0x190,'message':_0x5ed9b4,'data':{'errors':_0x1e4860},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';(function(_0x283051,_0x35929d){var _0x19ae30=a0_0x1dff,_0x3f14f6=_0x283051();while(!![]){try{var _0x4c738c=parseInt(_0x19ae30(0x138))/0x1*(-parseInt(_0x19ae30(0x137))/0x2)+parseInt(_0x19ae30(0x13a))/0x3*(parseInt(_0x19ae30(0x139))/0x4)+-parseInt(_0x19ae30(0x136))/0x5+-parseInt(_0x19ae30(0x13c))/0x6*(parseInt(_0x19ae30(0x13b))/0x7)+-parseInt(_0x19ae30(0x134))/0x8+parseInt(_0x19ae30(0x13d))/0x9+parseInt(_0x19ae30(0x133))/0xa;if(_0x4c738c===_0x35929d)break;else _0x3f14f6['push'](_0x3f14f6['shift']());}catch(_0x250c1b){_0x3f14f6['push'](_0x3f14f6['shift']());}}}(a0_0x3883,0x6b1cc));function a0_0x3883(){var _0x369fc7=['mtmZndyZnuz4q2rqyq','ngXKzNP2yG','mZm0nJi3v2DLthn6','oduXmZa4AhLLrfP2','m0rvC0jxCG','nZDnt0H0EwG','mZq5mtm0Ae5Rwhzx','mZa1nZiXow1LtvzIwG','mtCZnZyZotbMAuf0qMu','mJiWmtmYmeflufvcAq','Dg9ju09tDhjPBMC'];a0_0x3883=function(){return _0x369fc7;};return a0_0x3883();}function createResponse(_0x4e12f4,_0x26f2fd,_0x50b388=null){var _0x2aae40=a0_0x1dff;return{'success':!![],'statusCode':_0x4e12f4,'message':_0x26f2fd,'data':_0x50b388,'timestamp':new Date()[_0x2aae40(0x135)]()};}function createError(_0x2bb10d,_0x4a31d6,_0x2ecfa2=null){var _0x379ac2=a0_0x1dff;return{'success':![],'statusCode':_0x2bb10d,'message':_0x4a31d6,'data':_0x2ecfa2,'timestamp':new Date()[_0x379ac2(0x135)]()};}function a0_0x1dff(_0x5e7934,_0x2bb16e){_0x5e7934=_0x5e7934-0x133;var _0x38834c=a0_0x3883();var _0x1dffcb=_0x38834c[_0x5e7934];if(a0_0x1dff['IliVxR']===undefined){var _0x34d505=function(_0x5201b9){var _0x358bb0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x47e86b='',_0x2d0e15='';for(var _0x2da155=0x0,_0x26682d,_0x1d3f9c,_0x2e2565=0x0;_0x1d3f9c=_0x5201b9['charAt'](_0x2e2565++);~_0x1d3f9c&&(_0x26682d=_0x2da155%0x4?_0x26682d*0x40+_0x1d3f9c:_0x1d3f9c,_0x2da155++%0x4)?_0x47e86b+=String['fromCharCode'](0xff&_0x26682d>>(-0x2*_0x2da155&0x6)):0x0){_0x1d3f9c=_0x358bb0['indexOf'](_0x1d3f9c);}for(var _0x29b5a9=0x0,_0x15e2a7=_0x47e86b['length'];_0x29b5a9<_0x15e2a7;_0x29b5a9++){_0x2d0e15+='%'+('00'+_0x47e86b['charCodeAt'](_0x29b5a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d0e15);};a0_0x1dff['FfwWWJ']=_0x34d505,a0_0x1dff['jeQJwr']={},a0_0x1dff['IliVxR']=!![];}var _0x79a35c=_0x38834c[0x0],_0x44553b=_0x5e7934+_0x79a35c,_0x4d6f14=a0_0x1dff['jeQJwr'][_0x44553b];return!_0x4d6f14?(_0x1dffcb=a0_0x1dff['FfwWWJ'](_0x1dffcb),a0_0x1dff['jeQJwr'][_0x44553b]=_0x1dffcb):_0x1dffcb=_0x4d6f14,_0x1dffcb;}function createValidationError(_0x5dd84e,_0x2bdf85){var _0xd629b2=a0_0x1dff;return{'success':![],'statusCode':0x190,'message':_0x5dd84e,'data':{'errors':_0x2bdf85},'timestamp':new Date()[_0xd629b2(0x135)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x41020a=a0_0x53b4;(function(_0x85ec10,_0x377c90){const _0x3f5c3b=a0_0x53b4,_0x3c2ec8=_0x85ec10();while(!![]){try{const _0x840f85=parseInt(_0x3f5c3b(0xfa))/0x1+parseInt(_0x3f5c3b(0xd7))/0x2*(-parseInt(_0x3f5c3b(0xf9))/0x3)+parseInt(_0x3f5c3b(0xd4))/0x4+-parseInt(_0x3f5c3b(0xdf))/0x5*(parseInt(_0x3f5c3b(0xe4))/0x6)+-parseInt(_0x3f5c3b(0xd5))/0x7*(parseInt(_0x3f5c3b(0xee))/0x8)+-parseInt(_0x3f5c3b(0xe2))/0x9+parseInt(_0x3f5c3b(0xea))/0xa;if(_0x840f85===_0x377c90)break;else _0x3c2ec8['push'](_0x3c2ec8['shift']());}catch(_0xb4372a){_0x3c2ec8['push'](_0x3c2ec8['shift']());}}}(a0_0x47ec,0xcdce6),require(a0_0x41020a(0x101))[a0_0x41020a(0xdb)]());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x41020a(0xe9)][a0_0x41020a(0xd9)],ROUTING_KEY=process[a0_0x41020a(0xe9)][a0_0x41020a(0xe3)],QUEUE=process['env'][a0_0x41020a(0xda)];async function createConnection(){const _0x503159=a0_0x41020a,_0x1dfd15={'JUptB':function(_0x573909,_0x3c6525){return _0x573909(_0x3c6525);}};try{const _0x3cc01b=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x3cc01b;}catch(_0x4f66fa){console['error']('['+_0x1dfd15[_0x503159(0xe8)](formatDate,new Date())+_0x503159(0xf5)+_0x4f66fa['message']);throw _0x4f66fa;}}async function createChannel(_0x20e8e1){const _0x2a1ca4=a0_0x41020a;try{const _0xdc3af0=await _0x20e8e1['createChannel']();return console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0xdc3af0;}catch(_0x43ebe5){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x43ebe5[_0x2a1ca4(0x103)]);throw _0x43ebe5;}}async function setupInfrastructure(_0x5b9042){const _0x486def=a0_0x41020a,_0x559d93={'DEEzh':_0x486def(0x100),'BWUKK':function(_0x6c5bb5,_0x1a5985){return _0x6c5bb5(_0x1a5985);},'pOlVG':function(_0x1e34de,_0x18668b){return _0x1e34de(_0x18668b);},'eSJXI':'retry-exchange','xeYbe':function(_0x13b516,_0x8a3cf4){return _0x13b516(_0x8a3cf4);},'WOLac':function(_0x314906,_0x1b1893){return _0x314906(_0x1b1893);},'MmVCC':'found','uGKup':function(_0x54914e,_0x421b0e){return _0x54914e(_0x421b0e);},'OmSiB':_0x486def(0xde),'saAQG':'x-dead-letter-routing-key'};try{await _0x5b9042[_0x486def(0xd2)]('retry-exchange',_0x559d93['DEEzh'],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x4b5b5b){console[_0x486def(0xf1)]('['+_0x559d93['BWUKK'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x4b5b5b[_0x486def(0x103)]);throw _0x4b5b5b;}try{await _0x5b9042[_0x486def(0xd2)](EXCHANGE,_0x559d93[_0x486def(0xf2)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x559d93[_0x486def(0xdd)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x486def(0xdc));}catch(_0xbd4250){console['error']('['+formatDate(new Date())+_0x486def(0xd6)+EXCHANGE+':',_0xbd4250['message']);throw _0xbd4250;}const _0x45ffb1=ROUTING_KEY+'_retry';try{const _0x29b677={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5b9042[_0x486def(0xf3)](_0x45ffb1,_0x29b677),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x45ffb1+_0x486def(0xdc)),await _0x5b9042['bindQueue'](_0x45ffb1,_0x559d93['eSJXI'],ROUTING_KEY),console[_0x486def(0xd3)]('['+_0x559d93['xeYbe'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x486def(0xf6));}catch(_0x1ef52a){console[_0x486def(0xf1)]('['+formatDate(new Date())+_0x486def(0xfb),_0x1ef52a['message']);throw _0x1ef52a;}try{const _0x536b62={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x559d93['eSJXI'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5916b2=await _0x5b9042[_0x486def(0xf3)](QUEUE,_0x536b62);console[_0x486def(0xd3)]('['+_0x559d93['WOLac'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x5916b2['queue']===QUEUE?_0x486def(0xd8):_0x559d93[_0x486def(0xeb)])+'\x20with\x20DLX'),await _0x5b9042[_0x486def(0x102)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x486def(0xd3)]('['+_0x559d93[_0x486def(0xec)](formatDate,new Date())+_0x486def(0xf4)+EXCHANGE+_0x486def(0xed)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x4ef91e){if(_0x4ef91e[_0x486def(0x103)]['includes'](_0x559d93['OmSiB'])&&_0x4ef91e[_0x486def(0x103)]['includes'](_0x559d93[_0x486def(0xe6)]))console[_0x486def(0xf1)]('\x0a['+_0x559d93[_0x486def(0xe0)](formatDate,new Date())+_0x486def(0xe5)+QUEUE+_0x486def(0xfe)),console[_0x486def(0xf1)]('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x486def(0xf1)](_0x486def(0xe7)),process['exit'](0x1);else{console[_0x486def(0xf1)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x4ef91e[_0x486def(0x103)]);throw _0x4ef91e;}}}catch(_0x3ea6d2){if(!_0x3ea6d2[_0x486def(0x103)][_0x486def(0xfc)](_0x559d93[_0x486def(0xef)])){console['error']('['+_0x559d93[_0x486def(0xe0)](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3ea6d2[_0x486def(0x103)]);throw _0x3ea6d2;}process[_0x486def(0xf0)](0x1);}}function a0_0x53b4(_0x2485a9,_0xd771e0){_0x2485a9=_0x2485a9-0xd2;const _0x47ec47=a0_0x47ec();let _0x53b4cc=_0x47ec47[_0x2485a9];if(a0_0x53b4['bTXhRA']===undefined){var _0x81baf=function(_0x4bfd3e){const _0x3a5c33='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x207e49='',_0x4f0b23='';for(let _0x309760=0x0,_0x2ded0e,_0x39f228,_0x3d1486=0x0;_0x39f228=_0x4bfd3e['charAt'](_0x3d1486++);~_0x39f228&&(_0x2ded0e=_0x309760%0x4?_0x2ded0e*0x40+_0x39f228:_0x39f228,_0x309760++%0x4)?_0x207e49+=String['fromCharCode'](0xff&_0x2ded0e>>(-0x2*_0x309760&0x6)):0x0){_0x39f228=_0x3a5c33['indexOf'](_0x39f228);}for(let _0x324494=0x0,_0x110958=_0x207e49['length'];_0x324494<_0x110958;_0x324494++){_0x4f0b23+='%'+('00'+_0x207e49['charCodeAt'](_0x324494)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f0b23);};a0_0x53b4['SPVdep']=_0x81baf,a0_0x53b4['HciUKk']={},a0_0x53b4['bTXhRA']=!![];}const _0x58ad56=_0x47ec47[0x0],_0x39ba34=_0x2485a9+_0x58ad56,_0x331758=a0_0x53b4['HciUKk'][_0x39ba34];return!_0x331758?(_0x53b4cc=a0_0x53b4['SPVdep'](_0x53b4cc),a0_0x53b4['HciUKk'][_0x39ba34]=_0x53b4cc):_0x53b4cc=_0x331758,_0x53b4cc;}async function closeConnection(_0x1e811f){const _0x128753=a0_0x41020a,_0x1b119b={'GLGzs':function(_0x459388,_0x51afc9){return _0x459388(_0x51afc9);}};if(_0x1e811f)try{await _0x1e811f[_0x128753(0xe1)](),console['log']('['+_0x1b119b[_0x128753(0xf7)](formatDate,new Date())+_0x128753(0xfd));}catch(_0x44b29b){console[_0x128753(0xf1)]('['+formatDate(new Date())+_0x128753(0xff)+_0x44b29b['message']);}}function a0_0x47ec(){const _0x16f0f0=['xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','ignYzwf0zwq','r0XhENm','zxHWB3j0CW','nJG2nJi1D2TOrNLp','otG1mZH4wwHgrhm','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','Aw5JBhvKzxm','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zgLYzwn0','zg90zw52','yMLUzff1zxvL','BwvZC2fNzq','yxnZzxj0rxHJAgfUz2u','Bg9N','mJKXmJmWmfPIwxrTDa','mtmZDNj5v0zq','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mtr5AMvTrvG','y3jLyxrLzc9YzwfKEq','uKfcqKLutvfFrvHdsefor0u','uKfcqKLutvfFuvvfvuu','y29UzMLN','ignYzwf0zwqVCMvHzhK','Ce9SvKC','Aw5LCxvPDMfSzw50igfYzW','nJG5nJeZnu9bqxLqqG','v09mywm','y2XVC2u','mte4ndy1mJbWC25ysLi','uKfcqKLutvfFuK9vveLor19lrvK','nNzqB0nrDW','xsbfuLjpuJOGuxvLDwuG','C2fbuuC','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','sLvWDei','zw52','ndGZmJK4nJb1s1znBxe','tw1wq0m','DuDlDxa','ic0+ia','mJe4ntiWv1LhDeL0','t21tAui','zxHPDa','zxjYB3i','revfEMG','yxnZzxj0uxvLDwu','xsbcAw5KAw5Nia'];a0_0x47ec=function(){return _0x16f0f0;};return a0_0x47ec();}module[a0_0x41020a(0xf8)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x3abd4e=a0_0x463e;(function(_0x41593b,_0x306b5a){const _0x2d6fc7=a0_0x463e,_0x16be47=_0x41593b();while(!![]){try{const _0x5d3962=-parseInt(_0x2d6fc7(0x10c))/0x1*(-parseInt(_0x2d6fc7(0x126))/0x2)+-parseInt(_0x2d6fc7(0x136))/0x3+-parseInt(_0x2d6fc7(0x12b))/0x4*(-parseInt(_0x2d6fc7(0x133))/0x5)+parseInt(_0x2d6fc7(0x139))/0x6*(-parseInt(_0x2d6fc7(0x135))/0x7)+parseInt(_0x2d6fc7(0x124))/0x8*(-parseInt(_0x2d6fc7(0x10a))/0x9)+-parseInt(_0x2d6fc7(0x115))/0xa*(parseInt(_0x2d6fc7(0x128))/0xb)+parseInt(_0x2d6fc7(0x10f))/0xc;if(_0x5d3962===_0x306b5a)break;else _0x16be47['push'](_0x16be47['shift']());}catch(_0x4eca49){_0x16be47['push'](_0x16be47['shift']());}}}(a0_0x36fa,0xeb3bc),require(a0_0x3abd4e(0x10e))['config']());const amqp=require(a0_0x3abd4e(0x122)),{formatDate}=require(a0_0x3abd4e(0x138)),RABBITMQ_URL=process['env'][a0_0x3abd4e(0x13c)],EXCHANGE=process[a0_0x3abd4e(0x134)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x3abd4e(0x134)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x3abd4e(0x134)]['RABBITMQ_QUEUE'];function a0_0x463e(_0x48d833,_0x36f534){_0x48d833=_0x48d833-0x109;const _0x36fabf=a0_0x36fa();let _0x463e7d=_0x36fabf[_0x48d833];if(a0_0x463e['wKURFX']===undefined){var _0x58fb5=function(_0x2f7751){const _0x491bde='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a5851='',_0x5bdb06='';for(let _0x185bd0=0x0,_0x38c0ce,_0x5dbf28,_0xa93de0=0x0;_0x5dbf28=_0x2f7751['charAt'](_0xa93de0++);~_0x5dbf28&&(_0x38c0ce=_0x185bd0%0x4?_0x38c0ce*0x40+_0x5dbf28:_0x5dbf28,_0x185bd0++%0x4)?_0x1a5851+=String['fromCharCode'](0xff&_0x38c0ce>>(-0x2*_0x185bd0&0x6)):0x0){_0x5dbf28=_0x491bde['indexOf'](_0x5dbf28);}for(let _0x2f25fc=0x0,_0x110ae0=_0x1a5851['length'];_0x2f25fc<_0x110ae0;_0x2f25fc++){_0x5bdb06+='%'+('00'+_0x1a5851['charCodeAt'](_0x2f25fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bdb06);};a0_0x463e['QCSpGL']=_0x58fb5,a0_0x463e['cFfLHf']={},a0_0x463e['wKURFX']=!![];}const _0x7e3109=_0x36fabf[0x0],_0xca44a4=_0x48d833+_0x7e3109,_0x4528fa=a0_0x463e['cFfLHf'][_0xca44a4];return!_0x4528fa?(_0x463e7d=a0_0x463e['QCSpGL'](_0x463e7d),a0_0x463e['cFfLHf'][_0xca44a4]=_0x463e7d):_0x463e7d=_0x4528fa,_0x463e7d;}async function createConnection(){const _0x430379=a0_0x3abd4e,_0xe248b1={'idKmx':function(_0x39569b,_0x3dbd4b){return _0x39569b(_0x3dbd4b);}};try{const _0x17c45a=await amqp[_0x430379(0x11c)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x17c45a;}catch(_0x5f50ad){console[_0x430379(0x11b)]('['+_0xe248b1[_0x430379(0x117)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5f50ad[_0x430379(0x110)]);throw _0x5f50ad;}}async function createChannel(_0x5e0976){const _0x35a5f4=a0_0x3abd4e,_0x138587={'hfrex':function(_0x2b6684,_0x418cb0){return _0x2b6684(_0x418cb0);}};try{const _0x51163f=await _0x5e0976[_0x35a5f4(0x11a)]();return console['log']('['+_0x138587['hfrex'](formatDate,new Date())+_0x35a5f4(0x112)),_0x51163f;}catch(_0x30b0a3){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x30b0a3[_0x35a5f4(0x110)]);throw _0x30b0a3;}}async function setupInfrastructure(_0x4c6bcc){const _0x1dff40=a0_0x3abd4e,_0x57f2da={'Waxay':function(_0x27934b,_0x552303){return _0x27934b(_0x552303);},'bIBWq':_0x1dff40(0x11d),'vwSna':'retry-exchange','hNMvB':function(_0x141b35,_0x40e544){return _0x141b35===_0x40e544;},'aEpwN':'x-dead-letter-routing-key','wjegy':function(_0x384104,_0xa412e7){return _0x384104(_0xa412e7);}};try{await _0x4c6bcc[_0x1dff40(0x13b)]('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console[_0x1dff40(0x118)]('['+_0x57f2da[_0x1dff40(0x13a)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x2f2a95){console[_0x1dff40(0x11b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x2f2a95['message']);throw _0x2f2a95;}try{await _0x4c6bcc[_0x1dff40(0x13b)](EXCHANGE,_0x57f2da['bIBWq'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x57f2da[_0x1dff40(0x13a)](formatDate,new Date())+_0x1dff40(0x114)+EXCHANGE+'\x20created/ready');}catch(_0x455761){console['error']('['+_0x57f2da[_0x1dff40(0x13a)](formatDate,new Date())+_0x1dff40(0x12f)+EXCHANGE+':',_0x455761['message']);throw _0x455761;}const _0x1c5bd7=ROUTING_KEY+'_retry';try{const _0x13eb29={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x4c6bcc[_0x1dff40(0x113)](_0x1c5bd7,_0x13eb29),console['log']('['+_0x57f2da[_0x1dff40(0x13a)](formatDate,new Date())+_0x1dff40(0x131)+_0x1c5bd7+'\x20created/ready'),await _0x4c6bcc['bindQueue'](_0x1c5bd7,_0x57f2da[_0x1dff40(0x111)],ROUTING_KEY),console[_0x1dff40(0x118)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x5b9ab3){console[_0x1dff40(0x11b)]('['+formatDate(new Date())+_0x1dff40(0x125),_0x5b9ab3[_0x1dff40(0x110)]);throw _0x5b9ab3;}try{const _0x4330cb={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3f9409=await _0x4c6bcc['assertQueue'](QUEUE,_0x4330cb);console[_0x1dff40(0x118)]('['+formatDate(new Date())+_0x1dff40(0x129)+QUEUE+'\x20'+(_0x57f2da[_0x1dff40(0x123)](_0x3f9409[_0x1dff40(0x130)],QUEUE)?_0x1dff40(0x127):_0x1dff40(0x12a))+_0x1dff40(0x121)),await _0x4c6bcc[_0x1dff40(0x10b)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+_0x1dff40(0x11f)+QUEUE+'\x20('+ROUTING_KEY+_0x1dff40(0x10d));}catch(_0x185053){if(_0x185053['message'][_0x1dff40(0x137)]('inequivalent\x20arg')&&_0x185053[_0x1dff40(0x110)]['includes'](_0x57f2da['aEpwN']))console[_0x1dff40(0x11b)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x1dff40(0x11b)](_0x1dff40(0x11e)+QUEUE+_0x1dff40(0x116)),console[_0x1dff40(0x11b)](_0x1dff40(0x109)),process[_0x1dff40(0x12c)](0x1);else{console['error']('['+_0x57f2da['wjegy'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x185053[_0x1dff40(0x110)]);throw _0x185053;}}}catch(_0x2826df){if(!_0x2826df[_0x1dff40(0x110)]['includes'](_0x1dff40(0x12d))){console[_0x1dff40(0x11b)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x2826df['message']);throw _0x2826df;}process['exit'](0x1);}}async function closeConnection(_0x48e827){const _0x596781=a0_0x3abd4e,_0x17cf25={'vZzXr':function(_0x232865,_0x21034e){return _0x232865(_0x21034e);}};if(_0x48e827)try{await _0x48e827[_0x596781(0x120)](),console['log']('['+_0x17cf25[_0x596781(0x12e)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x2aed34){console[_0x596781(0x11b)]('['+_0x17cf25[_0x596781(0x12e)](formatDate,new Date())+_0x596781(0x119)+_0x2aed34[_0x596781(0x110)]);}}module[a0_0x3abd4e(0x132)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x36fa(){const _0x63ec13=['ndKWotm1oxfyt1zXvG','Aw5JBhvKzxm','lI9KyxrLsgvSCgvY','mtyWmtaYmLnjuLr4Aq','v2f4yxK','yxnZzxj0rxHJAgfUz2u','uKfcqKLutvfFvvjm','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','nduZmta0muvkt0j0wG','yMLUzff1zxvL','ntu1nNLkwgjvuq','ksbJCMvHDgvK','zg90zw52','nti1nJq0ntjev0XmqMi','BwvZC2fNzq','DNDtBMe','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','yxnZzxj0uxvLDwu','xsbfEgnOyw5Nzsa','otbYAfLysLC','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','AwrlBxG','Bg9N','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','y3jLyxrLq2HHBM5LBa','zxjYB3i','y29UBMvJDa','zgLYzwn0','uxvLDwuG','ic0+ia','y2XVC2u','ihDPDgGGreXy','yw1XCgXPyG','Ae5nDKi','mtz4yNzTuM4','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','mJK2zeDPvLHN','y3jLyxrLzc9YzwfKEq','mtyZntC1nuDMB1Dota','xsbrDwv1zsa','zM91BMq','nhjWsvPjrW','zxHPDa','Aw5LCxvPDMfSzw50igfYzW','DLP6whi','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','CxvLDwu','xsbszxrYEsbXDwv1zsa','zxHWB3j0CW','mJCXntmYmerzyuLqBG','zw52','mJf1zuXcA3e'];a0_0x36fa=function(){return _0x63ec13;};return a0_0x36fa();}
@@ -1 +1 @@
1
- const a0_0x281d06=a0_0x2a02;(function(_0x649ea0,_0x1e05dd){const _0x42f5ae=a0_0x2a02,_0x216338=_0x649ea0();while(!![]){try{const _0x5601be=-parseInt(_0x42f5ae(0x17d))/0x1*(parseInt(_0x42f5ae(0x17b))/0x2)+parseInt(_0x42f5ae(0x16b))/0x3+-parseInt(_0x42f5ae(0x174))/0x4*(parseInt(_0x42f5ae(0x186))/0x5)+parseInt(_0x42f5ae(0x171))/0x6+parseInt(_0x42f5ae(0x17f))/0x7*(parseInt(_0x42f5ae(0x187))/0x8)+parseInt(_0x42f5ae(0x175))/0x9+parseInt(_0x42f5ae(0x189))/0xa*(-parseInt(_0x42f5ae(0x18b))/0xb);if(_0x5601be===_0x1e05dd)break;else _0x216338['push'](_0x216338['shift']());}catch(_0xb9e5c2){_0x216338['push'](_0x216338['shift']());}}}(a0_0x8ff6,0xf3af8));function a0_0x2a02(_0x3d8f4e,_0x1fe70a){_0x3d8f4e=_0x3d8f4e-0x16a;const _0x8ff656=a0_0x8ff6();let _0x2a0246=_0x8ff656[_0x3d8f4e];if(a0_0x2a02['eRAzGP']===undefined){var _0x4ddab2=function(_0xde06e2){const _0x1eb731='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34e6fa='',_0x2d6a7f='';for(let _0x3dd992=0x0,_0x1b9cc2,_0x42a83d,_0x3ec628=0x0;_0x42a83d=_0xde06e2['charAt'](_0x3ec628++);~_0x42a83d&&(_0x1b9cc2=_0x3dd992%0x4?_0x1b9cc2*0x40+_0x42a83d:_0x42a83d,_0x3dd992++%0x4)?_0x34e6fa+=String['fromCharCode'](0xff&_0x1b9cc2>>(-0x2*_0x3dd992&0x6)):0x0){_0x42a83d=_0x1eb731['indexOf'](_0x42a83d);}for(let _0x3e6054=0x0,_0x1e2cc3=_0x34e6fa['length'];_0x3e6054<_0x1e2cc3;_0x3e6054++){_0x2d6a7f+='%'+('00'+_0x34e6fa['charCodeAt'](_0x3e6054)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d6a7f);};a0_0x2a02['hllbcA']=_0x4ddab2,a0_0x2a02['IfVLpf']={},a0_0x2a02['eRAzGP']=!![];}const _0x7d7ff9=_0x8ff656[0x0],_0xb281b4=_0x3d8f4e+_0x7d7ff9,_0x419cfb=a0_0x2a02['IfVLpf'][_0xb281b4];return!_0x419cfb?(_0x2a0246=a0_0x2a02['hllbcA'](_0x2a0246),a0_0x2a02['IfVLpf'][_0xb281b4]=_0x2a0246):_0x2a0246=_0x419cfb,_0x2a0246;}const Redis=require('ioredis'),{logger}=require(a0_0x281d06(0x18d));function a0_0x8ff6(){const _0x1cb64d=['CMvKAxnFAw5PDf9LCNjVCG','BwvZC2fNzq','Aw5XvxK','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','y2XVC2u','mJGWodmXmfzquNfxra','ndG3mZznBu1Vsum','Aw5MBW','ntiWthDXtMHQ','uMvKAxmGueLorYb0Aw1LB3v0','ntK5ndC4vxfIBwLJ','qvfSv0e','lI9SB2DNzxi','svzryMK','Bg9JywXOB3n0','AxndB25Uzwn0zwq','zxHWB3j0CW','uKvesvnFue9sva','zxjYB3i','ndy1mZy4mxLoBKrMyW','wfDhy2e','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','t3rWC00','uKvesvnFueftu1DpuKq','zw52','nteWnJq2mLHUsNHyDa','CxvPDa','zgLZy29UBMvJDa','oentCwvQAa','nZG2otK2mg1KyM1rrW','z2v0q2XPzw50','y2XPzw50','y29UBMvJDa','BwLU','uKvesvnFrei','mte5nJmYEKPfEufp','CgLUzW','m0PKEvfptG','zM9Yy2veAxnJB25Uzwn0','mJeZnvnSANfkrq','t01cAwS'];a0_0x8ff6=function(){return _0x1cb64d;};return a0_0x8ff6();}class RedisClient{constructor(){const _0x59a4c1=a0_0x281d06;this[_0x59a4c1(0x177)]=null,this['isConnected']=![];}[a0_0x281d06(0x178)](){const _0xde8fc=a0_0x281d06,_0x5c8d2b={'OMBik':function(_0x15c73f,_0x18e0b9){return _0x15c73f*_0x18e0b9;},'AQlWA':'redis_connected','SwJwk':'Redis\x20connected\x20successfully','inqUy':_0xde8fc(0x16d),'Xwmrh':_0xde8fc(0x18f),'IVQbi':'connect','OtpsM':_0xde8fc(0x16a),'XWGca':_0xde8fc(0x185),'LjBzQ':_0xde8fc(0x184)};if(this['client'])return this[_0xde8fc(0x177)];try{return this[_0xde8fc(0x177)]=new Redis({'host':process['env']['REDIS_HOST']||_0x5c8d2b['Xwmrh'],'port':parseInt(process[_0xde8fc(0x170)][_0xde8fc(0x192)],0xa)||0x18ec,'password':process[_0xde8fc(0x170)][_0xde8fc(0x16f)]||undefined,'db':parseInt(process[_0xde8fc(0x170)][_0xde8fc(0x17a)],0xa)||0x0,'retryStrategy'(_0x258a54){const _0x475420=_0xde8fc,_0x32699e=Math[_0x475420(0x179)](_0x5c8d2b[_0x475420(0x180)](_0x258a54,0x32),0x7d0);return _0x32699e;}}),this[_0xde8fc(0x177)]['on'](_0x5c8d2b[_0xde8fc(0x18e)],()=>{const _0x2e3d45=_0xde8fc;this['isConnected']=!![],logger[_0x2e3d45(0x188)]({'event':_0x5c8d2b[_0x2e3d45(0x18c)]},_0x5c8d2b['SwJwk']);}),this[_0xde8fc(0x177)]['on'](_0x5c8d2b[_0xde8fc(0x16e)],_0x4762a0=>{const _0xed1f25=_0xde8fc;this['isConnected']=![],logger[_0xed1f25(0x16a)]({'event':'redis_error','error':_0x4762a0['message']},'Redis\x20connection\x20error:\x20'+_0x4762a0[_0xed1f25(0x182)]);}),this[_0xde8fc(0x177)]['on'](_0x5c8d2b[_0xde8fc(0x16c)],()=>{const _0x23903a=_0xde8fc;this[_0x23903a(0x190)]=![],logger['warn']({'event':'redis_disconnected'},_0x5c8d2b[_0x23903a(0x183)]);}),this[_0xde8fc(0x177)];}catch(_0x3d7a32){logger[_0xde8fc(0x16a)]({'event':_0xde8fc(0x181),'error':_0x3d7a32[_0xde8fc(0x182)]},_0x5c8d2b['LjBzQ']);throw _0x3d7a32;}}[a0_0x281d06(0x176)](){const _0x2b1c23=a0_0x281d06;return!this['client']&&this['connect'](),this[_0x2b1c23(0x177)];}async[a0_0x281d06(0x17c)](_0x429649=0x1388){const _0x223585=a0_0x281d06,_0x301f86={'YABOR':'PONG'};try{const _0x3d4a53=this[_0x223585(0x176)](),_0x367ab6=await Promise['race']([_0x3d4a53[_0x223585(0x17c)](),new Promise((_0x5712d9,_0x2c71eb)=>setTimeout(()=>_0x2c71eb(new Error(_0x223585(0x18a))),_0x429649))]);return _0x367ab6===_0x301f86['YABOR'];}catch(_0x15726d){return![];}}async[a0_0x281d06(0x173)](){const _0x30e354=a0_0x281d06;this[_0x30e354(0x177)]&&(await this['client'][_0x30e354(0x172)](),this[_0x30e354(0x177)]=null,this['isConnected']=![]);}[a0_0x281d06(0x17e)](){const _0x509ee2=a0_0x281d06;this[_0x509ee2(0x177)]&&(this[_0x509ee2(0x177)][_0x509ee2(0x173)](),this[_0x509ee2(0x177)]=null,this['isConnected']=![]);}}module[a0_0x281d06(0x191)]=new RedisClient();
1
+ function a0_0x3241(){const _0x43450e=['mtiWndmYnJbkCvD5ueu','mti4odvnCM5wqM8','mJmYnJH5DhHbwfi','y29UBMvJDa','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','nNrkAKrnqW','zgLZy29UBMvJDa','ndm0nZu0mgPpAw1YBq','sM5krLi','mtCZmZGYmJjhBNP3AMG','rvLev2C','CKTiz3G','DMfsvgK','mti0og5cBKjArW','uKvesvnFueftu1DpuKq','uKvesvnFrei','AxndB25Uzwn0zwq','BLLmrxq','uKvesvnFse9tva','CMvKAxnFAw5PDf9LCNjVCG','Aw9YzwrPCW','Bg9JywXOB3n0','CMfJzq','uMvKAxmGueLorYb0Aw1LB3v0','yMv3zhe','ndGWoejVBKPkzq','BwvZC2fNzq','zxjYB3i','zw52','mtC1ofb6rNfJBW','mJrdAMPwr3a','y2XPzw50','mtm1mtHiqvfLz3y','z2v0q2XPzw50','mJaYnJm2EMXjrwfU','Aw5MBW','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq'];a0_0x3241=function(){return _0x43450e;};return a0_0x3241();}function a0_0x525a(_0x2a6dbb,_0x366c66){_0x2a6dbb=_0x2a6dbb-0xef;const _0x3241be=a0_0x3241();let _0x525a4f=_0x3241be[_0x2a6dbb];if(a0_0x525a['yLlSFL']===undefined){var _0x520b3c=function(_0x224940){const _0x511eb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53572a='',_0x2f3761='';for(let _0x15ec8c=0x0,_0xa80c12,_0x1738bf,_0x4af088=0x0;_0x1738bf=_0x224940['charAt'](_0x4af088++);~_0x1738bf&&(_0xa80c12=_0x15ec8c%0x4?_0xa80c12*0x40+_0x1738bf:_0x1738bf,_0x15ec8c++%0x4)?_0x53572a+=String['fromCharCode'](0xff&_0xa80c12>>(-0x2*_0x15ec8c&0x6)):0x0){_0x1738bf=_0x511eb8['indexOf'](_0x1738bf);}for(let _0x3d9289=0x0,_0x261819=_0x53572a['length'];_0x3d9289<_0x261819;_0x3d9289++){_0x2f3761+='%'+('00'+_0x53572a['charCodeAt'](_0x3d9289)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f3761);};a0_0x525a['byRPcu']=_0x520b3c,a0_0x525a['oBGrQm']={},a0_0x525a['yLlSFL']=!![];}const _0x1a3f53=_0x3241be[0x0],_0x423cd6=_0x2a6dbb+_0x1a3f53,_0x2e976b=a0_0x525a['oBGrQm'][_0x423cd6];return!_0x2e976b?(_0x525a4f=a0_0x525a['byRPcu'](_0x525a4f),a0_0x525a['oBGrQm'][_0x423cd6]=_0x525a4f):_0x525a4f=_0x2e976b,_0x525a4f;}const a0_0x27572a=a0_0x525a;(function(_0xc5d78a,_0x3fcfc0){const _0x1f4985=a0_0x525a,_0x189017=_0xc5d78a();while(!![]){try{const _0x20794c=-parseInt(_0x1f4985(0xff))/0x1*(parseInt(_0x1f4985(0xf7))/0x2)+parseInt(_0x1f4985(0xfb))/0x3*(-parseInt(_0x1f4985(0x107))/0x4)+parseInt(_0x1f4985(0x101))/0x5+parseInt(_0x1f4985(0xf2))/0x6*(-parseInt(_0x1f4985(0xfc))/0x7)+parseInt(_0x1f4985(0x113))/0x8*(parseInt(_0x1f4985(0xf5))/0x9)+-parseInt(_0x1f4985(0xfa))/0xa+-parseInt(_0x1f4985(0x103))/0xb*(-parseInt(_0x1f4985(0xf3))/0xc);if(_0x20794c===_0x3fcfc0)break;else _0x189017['push'](_0x189017['shift']());}catch(_0xa0960d){_0x189017['push'](_0x189017['shift']());}}}(a0_0x3241,0xc2ec8));const Redis=require(a0_0x27572a(0x10e)),{logger}=require('./logger');class RedisClient{constructor(){const _0x44f091=a0_0x27572a;this[_0x44f091(0xf4)]=null,this[_0x44f091(0x10a)]=![];}[a0_0x27572a(0xfd)](){const _0x36a938=a0_0x27572a,_0x328f2a={'EYDWg':function(_0x2942e5,_0x136a24){return _0x2942e5*_0x136a24;},'vaRTi':'redis_connected','rKHgx':_0x36a938(0xf9),'nYLEt':function(_0x492e35,_0x4401f6,_0x3d25b7){return _0x492e35(_0x4401f6,_0x3d25b7);},'bewdq':'error','dPeij':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this['client'];try{return this[_0x36a938(0xf4)]=new Redis({'host':process[_0x36a938(0xf1)][_0x36a938(0x10c)]||_0x36a938(0x10f),'port':_0x328f2a[_0x36a938(0x10b)](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x36a938(0xf1)][_0x36a938(0x108)]||undefined,'db':parseInt(process['env'][_0x36a938(0x109)],0xa)||0x0,'retryStrategy'(_0xd49352){const _0x5ce1ed=_0x36a938,_0x299974=Math['min'](_0x328f2a[_0x5ce1ed(0x104)](_0xd49352,0x32),0x7d0);return _0x299974;}}),this['client']['on'](_0x36a938(0xfd),()=>{const _0x57126e=_0x36a938;this[_0x57126e(0x10a)]=!![],logger[_0x57126e(0xf8)]({'event':_0x328f2a[_0x57126e(0x106)]},_0x328f2a[_0x57126e(0x105)]);}),this['client']['on'](_0x328f2a[_0x36a938(0x112)],_0x2a5415=>{const _0xa126c7=_0x36a938;this[_0xa126c7(0x10a)]=![],logger['error']({'event':'redis_error','error':_0x2a5415[_0xa126c7(0xef)]},'Redis\x20connection\x20error:\x20'+_0x2a5415['message']);}),this[_0x36a938(0xf4)]['on']('close',()=>{const _0xedfcaf=_0x36a938;this['isConnected']=![],logger['warn']({'event':'redis_disconnected'},_0xedfcaf(0xfe));}),this['client'];}catch(_0x540210){logger[_0x36a938(0xf0)]({'event':_0x36a938(0x10d),'error':_0x540210['message']},_0x328f2a['dPeij']);throw _0x540210;}}[a0_0x27572a(0xf6)](){const _0x57661e=a0_0x27572a;return!this[_0x57661e(0xf4)]&&this['connect'](),this['client'];}async['ping'](_0x2b01c2=0x1388){const _0x165a3d=a0_0x27572a,_0x49c878={'JnJFR':function(_0x24cabd,_0x44462c){return _0x24cabd===_0x44462c;}};try{const _0x159bd5=this['getClient'](),_0x22219d=await Promise[_0x165a3d(0x110)]([_0x159bd5['ping'](),new Promise((_0x267b52,_0x1dc362)=>setTimeout(()=>_0x1dc362(new Error(_0x165a3d(0x111))),_0x2b01c2))]);return _0x49c878[_0x165a3d(0x102)](_0x22219d,'PONG');}catch(_0x982d01){return![];}}async[a0_0x27572a(0x100)](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x1b3021=a0_0x27572a;this['client']&&(this[_0x1b3021(0xf4)][_0x1b3021(0x100)](),this[_0x1b3021(0xf4)]=null,this[_0x1b3021(0x10a)]=![]);}}module['exports']=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x473fac=a0_0x6cbf;(function(_0x584d72,_0x548121){const _0x55fbf3=a0_0x6cbf,_0x2f5d92=_0x584d72();while(!![]){try{const _0x45f92b=-parseInt(_0x55fbf3(0x203))/0x1*(parseInt(_0x55fbf3(0x20b))/0x2)+parseInt(_0x55fbf3(0x207))/0x3*(-parseInt(_0x55fbf3(0x1ea))/0x4)+-parseInt(_0x55fbf3(0x20e))/0x5+parseInt(_0x55fbf3(0x211))/0x6*(-parseInt(_0x55fbf3(0x1f0))/0x7)+-parseInt(_0x55fbf3(0x210))/0x8*(parseInt(_0x55fbf3(0x209))/0x9)+parseInt(_0x55fbf3(0x200))/0xa*(parseInt(_0x55fbf3(0x212))/0xb)+parseInt(_0x55fbf3(0x1ed))/0xc;if(_0x45f92b===_0x548121)break;else _0x2f5d92['push'](_0x2f5d92['shift']());}catch(_0x4392f6){_0x2f5d92['push'](_0x2f5d92['shift']());}}}(a0_0x1b63,0x956c4));function a0_0x6cbf(_0xf573bf,_0x217929){_0xf573bf=_0xf573bf-0x1e9;const _0x1b63dc=a0_0x1b63();let _0x6cbf0b=_0x1b63dc[_0xf573bf];if(a0_0x6cbf['brQGuB']===undefined){var _0x1d3a53=function(_0x4d7331){const _0x4adeda='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x403bf8='',_0x4ad80e='';for(let _0x2bc6bb=0x0,_0x2d78df,_0x413a6e,_0x38c21b=0x0;_0x413a6e=_0x4d7331['charAt'](_0x38c21b++);~_0x413a6e&&(_0x2d78df=_0x2bc6bb%0x4?_0x2d78df*0x40+_0x413a6e:_0x413a6e,_0x2bc6bb++%0x4)?_0x403bf8+=String['fromCharCode'](0xff&_0x2d78df>>(-0x2*_0x2bc6bb&0x6)):0x0){_0x413a6e=_0x4adeda['indexOf'](_0x413a6e);}for(let _0x5a7907=0x0,_0x1838c6=_0x403bf8['length'];_0x5a7907<_0x1838c6;_0x5a7907++){_0x4ad80e+='%'+('00'+_0x403bf8['charCodeAt'](_0x5a7907)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ad80e);};a0_0x6cbf['kRWGmK']=_0x1d3a53,a0_0x6cbf['KGCDod']={},a0_0x6cbf['brQGuB']=!![];}const _0x39027b=_0x1b63dc[0x0],_0x703cb1=_0xf573bf+_0x39027b,_0x2c17d5=a0_0x6cbf['KGCDod'][_0x703cb1];return!_0x2c17d5?(_0x6cbf0b=a0_0x6cbf['kRWGmK'](_0x6cbf0b),a0_0x6cbf['KGCDod'][_0x703cb1]=_0x6cbf0b):_0x6cbf0b=_0x2c17d5,_0x6cbf0b;}const redisClient=require(a0_0x473fac(0x1f3)),{logger}=require(a0_0x473fac(0x1ec));class RedisHelper{constructor(){const _0x55071a=a0_0x473fac;this['_prefix']=null,this[_0x55071a(0x1fa)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x34c976=a0_0x473fac;if(!this['_prefix']){const _0x4939da=process[_0x34c976(0x208)][_0x34c976(0x205)]||_0x34c976(0x1ef);this[_0x34c976(0x204)]='restforge:'+_0x4939da+':export:';}return this['_prefix'];}async['setJob'](_0x7e929,_0x416368){const _0x28aa4e=a0_0x473fac,_0x4159a4={'whyhB':'redis_set_error'};try{const _0x2e55fc=redisClient[_0x28aa4e(0x1e9)](),_0x1e3ec0=''+this['prefix']+_0x7e929;return await _0x2e55fc[_0x28aa4e(0x1f8)](_0x1e3ec0,this['ttl'],JSON[_0x28aa4e(0x20a)](_0x416368)),!![];}catch(_0x11519b){return logger['error']({'event':_0x4159a4[_0x28aa4e(0x20d)],'jobId':_0x7e929,'error':_0x11519b[_0x28aa4e(0x20c)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x473fac(0x1ff)](_0x405127){const _0x18ee1f=a0_0x473fac,_0x1575df={'NpyFQ':'redis_get_error'};try{const _0x2dcbff=redisClient[_0x18ee1f(0x1e9)](),_0x1eda9c=''+this[_0x18ee1f(0x1f4)]+_0x405127,_0xd07ab6=await _0x2dcbff['get'](_0x1eda9c);return _0xd07ab6?JSON[_0x18ee1f(0x1f1)](_0xd07ab6):null;}catch(_0x8d4c6a){return logger['error']({'event':_0x1575df[_0x18ee1f(0x1ee)],'jobId':_0x405127,'error':_0x8d4c6a['message']},_0x18ee1f(0x1f7)),null;}}async['updateJob'](_0x5aec09,_0x414b02){const _0x3ef5b7=a0_0x473fac,_0x3b5626=await this['getJob'](_0x5aec09);if(!_0x3b5626)return![];const _0x6c1fca={..._0x3b5626,..._0x414b02};return await this[_0x3ef5b7(0x1fd)](_0x5aec09,_0x6c1fca);}async[a0_0x473fac(0x1eb)](_0x595a37){const _0x2a4bde=a0_0x473fac,_0x3cfbc3={'IoEPz':_0x2a4bde(0x201)};try{const _0x6601c0=redisClient['getClient'](),_0x1da3e2=''+this['prefix']+_0x595a37;return await _0x6601c0[_0x2a4bde(0x1f5)](_0x1da3e2),!![];}catch(_0x3f14fb){return logger['error']({'event':'redis_delete_error','jobId':_0x595a37,'error':_0x3f14fb[_0x2a4bde(0x20c)]},_0x3cfbc3[_0x2a4bde(0x1f2)]),![];}}async['getAllJobs'](){const _0x1e4521=a0_0x473fac,_0x107586={'AEtRH':_0x1e4521(0x1f6)};try{const _0x32321=redisClient['getClient'](),_0x288518=await _0x32321[_0x1e4521(0x206)](this['prefix']+'*'),_0x171514=[];for(const _0x3d4124 of _0x288518){const _0x2d927f=await _0x32321[_0x1e4521(0x20f)](_0x3d4124);_0x2d927f&&_0x171514[_0x1e4521(0x1fe)](JSON['parse'](_0x2d927f));}return _0x171514;}catch(_0x55bf03){return logger[_0x1e4521(0x1f9)]({'event':_0x107586[_0x1e4521(0x202)],'error':_0x55bf03[_0x1e4521(0x20c)]},_0x1e4521(0x1fb)),[];}}}function a0_0x1b63(){const _0x21f4ba=['ntm4ntu4ndrPwhvSze4','tNb5rLe','zgvMyxvSDa','nZiWmtqZovrzsKrwyq','CgfYC2u','sw9fuhO','lI9YzwrPCY1JBgLLBNq','ChjLzML4','zgvS','CMvKAxnFz2v0ywXSx2vYCM9Y','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','C2v0zxG','zxjYB3i','DhrS','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','zxHWB3j0CW','C2v0sM9I','ChvZAa','z2v0sM9I','odKWB3zMv0Po','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','quv0uKG','nJa5mtnPveDqEe0','x3bYzwzPEa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','A2v5CW','m09VyvPdsG','zw52','nJnxB25wAhe','C3rYAw5NAwz5','mJzHuhfXA3K','BwvZC2fNzq','D2H5Aei','ndmYmdi4nxfRvNfXzW','z2v0','otaZode2B3jZDgnR','nKf5v3zPvq','mJi2nKHeq2TNzW','z2v0q2XPzw50','mty3ndK3mLrIBNvSsW','zgvSzxrLsM9I','lI9SB2DNzxi'];a0_0x1b63=function(){return _0x21f4ba;};return a0_0x1b63();}module[a0_0x473fac(0x1fc)]=new RedisHelper();
1
+ const a0_0x508686=a0_0x7e13;(function(_0x53ce80,_0x5b7d6c){const _0x38d50a=a0_0x7e13,_0x4e1a0b=_0x53ce80();while(!![]){try{const _0x4ae6e3=-parseInt(_0x38d50a(0x1a2))/0x1*(-parseInt(_0x38d50a(0x1b7))/0x2)+parseInt(_0x38d50a(0x19f))/0x3*(-parseInt(_0x38d50a(0x1b5))/0x4)+parseInt(_0x38d50a(0x1b9))/0x5+parseInt(_0x38d50a(0x1a3))/0x6+-parseInt(_0x38d50a(0x1b0))/0x7+-parseInt(_0x38d50a(0x1ae))/0x8+-parseInt(_0x38d50a(0x1b8))/0x9;if(_0x4ae6e3===_0x5b7d6c)break;else _0x4e1a0b['push'](_0x4e1a0b['shift']());}catch(_0x1aff65){_0x4e1a0b['push'](_0x4e1a0b['shift']());}}}(a0_0x2ec1,0x85628));const redisClient=require('./redis-client'),{logger}=require(a0_0x508686(0x1a9));class RedisHelper{constructor(){const _0x362488=a0_0x508686;this[_0x362488(0x1b2)]=null,this[_0x362488(0x1a0)]=parseInt(process[_0x362488(0x1af)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x508686(0x1ab)](){const _0x5886f6=a0_0x508686;if(!this[_0x5886f6(0x1b2)]){const _0x4bf27e=process[_0x5886f6(0x1af)]['RESTFORGE_PROJECT_NAME']||_0x5886f6(0x1a7);this['_prefix']=_0x5886f6(0x1ad)+_0x4bf27e+_0x5886f6(0x1a6);}return this['_prefix'];}async['setJob'](_0x36bc7c,_0x564b31){const _0x58090d=a0_0x508686,_0x38cc9a={'lgCGk':'redis_set_error'};try{const _0x25ebe0=redisClient[_0x58090d(0x19e)](),_0x41b78f=''+this['prefix']+_0x36bc7c;return await _0x25ebe0['setex'](_0x41b78f,this[_0x58090d(0x1a0)],JSON['stringify'](_0x564b31)),!![];}catch(_0x422e34){return logger['error']({'event':_0x38cc9a['lgCGk'],'jobId':_0x36bc7c,'error':_0x422e34['message']},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x508686(0x1b1)](_0x48befc){const _0x289133=a0_0x508686,_0x255e00={'DrDjW':_0x289133(0x1a1),'HdfAQ':_0x289133(0x1b6)};try{const _0x55760f=redisClient[_0x289133(0x19e)](),_0x3b03b4=''+this[_0x289133(0x1ab)]+_0x48befc,_0x404d8c=await _0x55760f['get'](_0x3b03b4);return _0x404d8c?JSON[_0x289133(0x1a5)](_0x404d8c):null;}catch(_0x114ecb){return logger[_0x289133(0x1b3)]({'event':_0x255e00['DrDjW'],'jobId':_0x48befc,'error':_0x114ecb[_0x289133(0x1aa)]},_0x255e00['HdfAQ']),null;}}async['updateJob'](_0x41bae4,_0x178bc1){const _0x1b2d6a=await this['getJob'](_0x41bae4);if(!_0x1b2d6a)return![];const _0x44032a={..._0x1b2d6a,..._0x178bc1};return await this['setJob'](_0x41bae4,_0x44032a);}async['deleteJob'](_0x160722){const _0x40c60f=a0_0x508686,_0x5e390f={'IoEif':'redis_delete_error'};try{const _0x255b88=redisClient['getClient'](),_0x1a671e=''+this['prefix']+_0x160722;return await _0x255b88['del'](_0x1a671e),!![];}catch(_0x4fc5e2){return logger['error']({'event':_0x5e390f[_0x40c60f(0x1b4)],'jobId':_0x160722,'error':_0x4fc5e2[_0x40c60f(0x1aa)]},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x508686(0x19d)](){const _0x15e8e8=a0_0x508686,_0x41a228={'EszJR':_0x15e8e8(0x1a4)};try{const _0x1a62fa=redisClient[_0x15e8e8(0x19e)](),_0x56ae7e=await _0x1a62fa[_0x15e8e8(0x1ac)](this['prefix']+'*'),_0x53801b=[];for(const _0x2dab4f of _0x56ae7e){const _0x17f616=await _0x1a62fa['get'](_0x2dab4f);_0x17f616&&_0x53801b['push'](JSON['parse'](_0x17f616));}return _0x53801b;}catch(_0x4a1de3){return logger[_0x15e8e8(0x1b3)]({'event':_0x41a228[_0x15e8e8(0x1a8)],'error':_0x4a1de3[_0x15e8e8(0x1aa)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}function a0_0x7e13(_0x410650,_0x13743e){_0x410650=_0x410650-0x19d;const _0x2ec1ea=a0_0x2ec1();let _0x7e1354=_0x2ec1ea[_0x410650];if(a0_0x7e13['mxbPXA']===undefined){var _0x278846=function(_0x2463be){const _0x29f567='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58f371='',_0x127010='';for(let _0x11876f=0x0,_0x36c413,_0x2e0289,_0x5c155e=0x0;_0x2e0289=_0x2463be['charAt'](_0x5c155e++);~_0x2e0289&&(_0x36c413=_0x11876f%0x4?_0x36c413*0x40+_0x2e0289:_0x2e0289,_0x11876f++%0x4)?_0x58f371+=String['fromCharCode'](0xff&_0x36c413>>(-0x2*_0x11876f&0x6)):0x0){_0x2e0289=_0x29f567['indexOf'](_0x2e0289);}for(let _0x341727=0x0,_0x37a55b=_0x58f371['length'];_0x341727<_0x37a55b;_0x341727++){_0x127010+='%'+('00'+_0x58f371['charCodeAt'](_0x341727)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x127010);};a0_0x7e13['UwpfWK']=_0x278846,a0_0x7e13['sAQggM']={},a0_0x7e13['mxbPXA']=!![];}const _0x10c4ca=_0x2ec1ea[0x0],_0x486a33=_0x410650+_0x10c4ca,_0x175313=a0_0x7e13['sAQggM'][_0x486a33];return!_0x175313?(_0x7e1354=a0_0x7e13['UwpfWK'](_0x7e1354),a0_0x7e13['sAQggM'][_0x486a33]=_0x7e1354):_0x7e1354=_0x175313,_0x7e1354;}function a0_0x2ec1(){const _0x562206=['ndK3otG1nLrrwhbOBW','z2v0sM9I','x3bYzwzPEa','zxjYB3i','sw9fAwy','mtuZnJr3zK9kAxu','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','mZG1mtmYBhnozwjN','odaYnZm3zuLOEKzl','ndu4mZm2merhD0zOCq','z2v0qwXSsM9ICW','z2v0q2XPzw50','oxfTvwzsDG','DhrS','CMvKAxnFz2v0x2vYCM9Y','mwLNALLvCq','mtCXotG1ohH5v1rbta','CMvKAxnFz2v0ywXSx2vYCM9Y','CgfYC2u','oMv4Cg9YDdO','zgvMyxvSDa','rxn6sLi','lI9SB2DNzxi','BwvZC2fNzq','ChjLzML4','A2v5CW','CMvZDgzVCMDLoG','mJK5mZa0v0TRvgnz','zw52'];a0_0x2ec1=function(){return _0x562206;};return a0_0x2ec1();}module['exports']=new RedisHelper();