@restforgejs/platform 4.3.1 → 4.3.4

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 (176) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +0 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/lib/generators/model-generator.js +1 -1
  7. package/generators/lib/payload/endpoint-schema-validator.js +11 -1
  8. package/generators/lib/payload/payload-runner.js +4 -4
  9. package/generators/lib/payload/schema-diff.js +186 -3
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/generators/lib/utils/conflict-checker.js +9 -57
  20. package/generators/lib/utils/database-introspector.js +84 -0
  21. package/generators/lib/utils/file-utils.js +0 -159
  22. package/generators/lib/utils/payload-processor.js +21 -112
  23. package/integrity-manifest.json +18 -18
  24. package/package.json +1 -1
  25. package/scripts/verify-integrity.js +1 -1
  26. package/server.js +1 -1
  27. package/src/components/handlers/adjust_handler.js +1 -1
  28. package/src/components/handlers/audit_handler.js +1 -1
  29. package/src/components/handlers/delete_handler.js +1 -1
  30. package/src/components/handlers/export_handler.js +1 -1
  31. package/src/components/handlers/import_handler.js +1 -1
  32. package/src/components/handlers/insert_handler.js +1 -1
  33. package/src/components/handlers/update_handler.js +1 -1
  34. package/src/components/handlers/upload_handler.js +1 -1
  35. package/src/components/handlers/workflow_handler.js +1 -1
  36. package/src/components/integrations/webhook.js +1 -1
  37. package/src/consumers/baseConsumer.js +1 -1
  38. package/src/consumers/declarativeMapper.js +1 -1
  39. package/src/consumers/handlers/apiHandler.js +1 -1
  40. package/src/consumers/handlers/consoleHandler.js +1 -1
  41. package/src/consumers/handlers/databaseHandler.js +1 -1
  42. package/src/consumers/handlers/index.js +1 -1
  43. package/src/consumers/handlers/kafkaHandler.js +1 -1
  44. package/src/consumers/index.js +1 -1
  45. package/src/consumers/messageTransformer.js +1 -1
  46. package/src/consumers/validator.js +1 -1
  47. package/src/core/db/dialect/base-dialect.js +1 -1
  48. package/src/core/db/dialect/index.js +1 -1
  49. package/src/core/db/dialect/mysql-dialect.js +1 -1
  50. package/src/core/db/dialect/oracle-dialect.js +1 -1
  51. package/src/core/db/dialect/postgres-dialect.js +1 -1
  52. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  53. package/src/core/db/flatten-helper.js +1 -1
  54. package/src/core/db/query-builder-error.js +1 -1
  55. package/src/core/db/query-builder.js +1 -1
  56. package/src/core/db/relation-helper.js +1 -1
  57. package/src/core/handlers/delete_handler.js +1 -1
  58. package/src/core/handlers/insert_handler.js +1 -1
  59. package/src/core/handlers/update_handler.js +1 -1
  60. package/src/core/models/base-model.js +1 -1
  61. package/src/core/utils/cache-manager.js +1 -1
  62. package/src/core/utils/component-engine.js +1 -1
  63. package/src/core/utils/context-builder.js +1 -1
  64. package/src/core/utils/datetime-formatter.js +1 -1
  65. package/src/core/utils/datetime-parser.js +1 -1
  66. package/src/core/utils/db.js +1 -1
  67. package/src/core/utils/logger.js +1 -1
  68. package/src/core/utils/payload-loader.js +1 -1
  69. package/src/core/utils/security-checks.js +1 -1
  70. package/src/middleware/body-options.js +1 -1
  71. package/src/middleware/cors.js +1 -1
  72. package/src/middleware/idempotency.js +1 -1
  73. package/src/middleware/rate-limiter.js +1 -1
  74. package/src/middleware/request-logger.js +1 -1
  75. package/src/middleware/security-headers.js +1 -1
  76. package/src/models/base-model-mysql.js +1 -1
  77. package/src/models/base-model-oracle.js +1 -1
  78. package/src/models/base-model-sqlite.js +1 -1
  79. package/src/models/base-model.js +1 -1
  80. package/src/pro/caching/redis-client.js +1 -1
  81. package/src/pro/caching/redis-helper.js +1 -1
  82. package/src/pro/consumers/baseConsumer.js +1 -1
  83. package/src/pro/consumers/declarativeMapper.js +1 -1
  84. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  85. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  86. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  87. package/src/pro/consumers/handlers/index.js +1 -1
  88. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  89. package/src/pro/consumers/index.js +1 -1
  90. package/src/pro/consumers/messageTransformer.js +1 -1
  91. package/src/pro/consumers/validator.js +1 -1
  92. package/src/pro/database/base-model-mysql.js +1 -1
  93. package/src/pro/database/base-model-oracle.js +1 -1
  94. package/src/pro/database/base-model-sqlite.js +1 -1
  95. package/src/pro/database/db-mysql.js +1 -1
  96. package/src/pro/database/db-oracle.js +1 -1
  97. package/src/pro/database/db-sqlite.js +1 -1
  98. package/src/pro/excel/excel-generator.js +1 -1
  99. package/src/pro/excel/excel-parser.js +1 -1
  100. package/src/pro/excel/export-service.js +1 -1
  101. package/src/pro/excel/export_handler.js +1 -1
  102. package/src/pro/excel/import-service.js +1 -1
  103. package/src/pro/excel/import-validator.js +1 -1
  104. package/src/pro/excel/import_handler.js +1 -1
  105. package/src/pro/excel/upsert-builder.js +1 -1
  106. package/src/pro/idgen/idgen-routes.js +1 -1
  107. package/src/pro/integrations/lookup-resolver.js +1 -1
  108. package/src/pro/integrations/upload-handler-v2.js +1 -1
  109. package/src/pro/integrations/upload-handler.js +1 -1
  110. package/src/pro/integrations/webhook.js +1 -1
  111. package/src/pro/locking/lock-routes.js +1 -1
  112. package/src/pro/locking/resource-lock-manager.js +1 -1
  113. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  114. package/src/pro/messaging/kafkaService.js +1 -1
  115. package/src/pro/messaging/messagehubService.js +1 -1
  116. package/src/pro/messaging/rabbitmqService.js +1 -1
  117. package/src/pro/scheduler/job-manager.js +1 -1
  118. package/src/pro/scheduler/job-routes.js +1 -1
  119. package/src/pro/scheduler/job-validator.js +1 -1
  120. package/src/pro/storage/base-storage-provider.js +1 -1
  121. package/src/pro/storage/file-metadata-helper.js +1 -1
  122. package/src/pro/storage/index.js +1 -1
  123. package/src/pro/storage/local-storage-provider.js +1 -1
  124. package/src/pro/storage/s3-storage-provider.js +1 -1
  125. package/src/pro/storage/upload-cleanup-job.js +1 -1
  126. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  127. package/src/pro/storage/upload-pending-tracker.js +1 -1
  128. package/src/pro/websocket/broadcast-helper.js +1 -1
  129. package/src/pro/websocket/index.js +1 -1
  130. package/src/pro/websocket/livesync-server.js +1 -1
  131. package/src/pro/websocket/ws-broadcaster.js +1 -1
  132. package/src/services/export-service.js +1 -1
  133. package/src/services/import-service.js +1 -1
  134. package/src/services/kafkaConsumerService.js +1 -1
  135. package/src/services/kafkaService.js +1 -1
  136. package/src/services/messagehubService.js +1 -1
  137. package/src/services/rabbitmqService.js +1 -1
  138. package/src/utils/cache-invalidation-registry.js +1 -1
  139. package/src/utils/cache-manager.js +1 -1
  140. package/src/utils/component-engine.js +1 -1
  141. package/src/utils/config-extractor.js +1 -1
  142. package/src/utils/consumerLogger.js +1 -1
  143. package/src/utils/context-builder.js +1 -1
  144. package/src/utils/dashboard-helpers.js +1 -1
  145. package/src/utils/dateHelper.js +1 -1
  146. package/src/utils/datetime-formatter.js +1 -1
  147. package/src/utils/datetime-parser.js +1 -1
  148. package/src/utils/db-bootstrap.js +1 -1
  149. package/src/utils/db-mysql.js +1 -1
  150. package/src/utils/db-oracle.js +1 -1
  151. package/src/utils/db-sqlite.js +1 -1
  152. package/src/utils/db.js +1 -1
  153. package/src/utils/demo-generator.js +1 -1
  154. package/src/utils/excel-generator.js +1 -1
  155. package/src/utils/excel-parser.js +1 -1
  156. package/src/utils/file-watcher.js +1 -1
  157. package/src/utils/id-generator.js +1 -1
  158. package/src/utils/idempotency-manager.js +1 -1
  159. package/src/utils/import-validator.js +1 -1
  160. package/src/utils/license-client.js +1 -1
  161. package/src/utils/lock-manager.js +1 -1
  162. package/src/utils/logger.js +1 -1
  163. package/src/utils/lookup-resolver.js +1 -1
  164. package/src/utils/payload-loader.js +1 -1
  165. package/src/utils/processor-response.js +1 -1
  166. package/src/utils/rabbitmq.js +1 -1
  167. package/src/utils/redis-client.js +1 -1
  168. package/src/utils/redis-helper.js +1 -1
  169. package/src/utils/request-scope.js +1 -1
  170. package/src/utils/security-checks.js +1 -1
  171. package/src/utils/service-resolver.js +1 -1
  172. package/src/utils/shutdown-coordinator.js +1 -1
  173. package/src/utils/trusted-keys.js +1 -1
  174. package/src/utils/upload-handler.js +1 -1
  175. package/src/utils/upsert-builder.js +1 -1
  176. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x1fae(){const _0x56ee86=['nLP4zMLOuW','Dhj1zq','x3DVCMTLCKLK','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','Bg9JA19LEhrLBMrLza','Bg9JA19LEhrLBMrFzxjYB3i','mtC1ndi0mLffELvgDW','Bg9JA19YzwXLyxnLx2vYCM9Y','veTuvxu','C3rYyxrLz3K','zgvMyxvSDfruta','nZG5mdmWshDTz2Lc','lcbZDhjHDgvNEtOG','tfb4uum','v1jjveuGBg9JAYbLCNjVCG','zxHWAxjL','zw52','s1vky2y','uKvbrcbSB2nRigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','CMv0CNLdB3vUDa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','lI9YzwrPCY1JBgLLBNq','Cg93','z2v0','ChjLzML4','CMvHzf9SB2nRx3jLBgvHC2vK','mJDJCgnTtuS','zxzet0e','tg9JAYbuveWGzxH0zw5Kzwq','x2rLzMf1BhruveW','v1jjveuGBg9JAYbYzwXLyxnLza','CNDuvNm','zgvS','zxHWB3j0CW','D25VvMS','D3jPDgvFBg9JA19YzwXLyxnLza','z2v0tg9JA0LUzM8','zw5HyMXLza','D3jPDgvFBg9JA19YzwPLy3rLza','te9ds19esvnuuKLcvvrfrf9uveW','mu1Wz3nMDG','zufMq0G','x2LUAxrPywXPEMvK','mJa2mZu0nezTBufcua','mZi3nJbyzLnnv2y','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx2fJCxvPCMvK','D3jPDgvFBg9JA19Hy3f1AxjLza','Aw5JBhvKzxm','BgfZDeLUzgv4t2y','D2fYBG','ndaYotaXmfnOAxjqqq','mJKXnte2ounlwhbwyW','x3bYzwzPEa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','C3vIC3rYAw5N','x3jLDhj5q291BNq','x3n0CMf0zwD5','CMvHzf9SB2nRx2vYCM9Y','DxvPza','CMv0CNLezwXHEq','uwvUB3q','CgLK','Bg9JA19JB25MAwDFAw5PDa','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMv0CNK','D29YA2vYswq','zxjYB3i','z2v0q2XPzw50','ywnXDwLYzvjLywrmB2nR','zxH0zw5Ktg9JAW','yNvPBgrmB2nRs2v5','DvbbAhi','x2vUywjSzwq','EfjTqwK','C3bSAxq','AxnfBMfIBgvK','D3jPDgu','oNjLywq6','zxzHBa','C2XLzxa','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','mZiWotmZovfVsNjOBG','nfjyCxfNzq','CMvHza','zgvIDwC','CMvQzwn0','x3jLDhj5rgvSyxK','tg9JAYbLEhrLBMqGzxjYB3i'];a0_0x1fae=function(){return _0x56ee86;};return a0_0x1fae();}const a0_0x21291f=a0_0x1a47;(function(_0x148177,_0x190c31){const _0x5a58b0=a0_0x1a47,_0x12ddad=_0x148177();while(!![]){try{const _0x1a5582=parseInt(_0x5a58b0(0x156))/0x1*(-parseInt(_0x5a58b0(0x133))/0x2)+-parseInt(_0x5a58b0(0x162))/0x3*(-parseInt(_0x5a58b0(0x181))/0x4)+-parseInt(_0x5a58b0(0x161))/0x5+parseInt(_0x5a58b0(0x12d))/0x6*(parseInt(_0x5a58b0(0x180))/0x7)+-parseInt(_0x5a58b0(0x159))/0x8*(-parseInt(_0x5a58b0(0x148))/0x9)+-parseInt(_0x5a58b0(0x15a))/0xa+parseInt(_0x5a58b0(0x138))/0xb;if(_0x1a5582===_0x190c31)break;else _0x12ddad['push'](_0x12ddad['shift']());}catch(_0x54b859){_0x12ddad['push'](_0x12ddad['shift']());}}}(a0_0x1fae,0x8fef8));function a0_0x1a47(_0x5a14de,_0x5a4f46){_0x5a14de=_0x5a14de-0x12c;const _0x1fae66=a0_0x1fae();let _0x1a47f3=_0x1fae66[_0x5a14de];if(a0_0x1a47['VUcOXa']===undefined){var _0x41e3aa=function(_0x52cad3){const _0x1a1473='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1575db='',_0x43c10f='';for(let _0x40ab79=0x0,_0x5e9d4f,_0x3ce062,_0x527b3a=0x0;_0x3ce062=_0x52cad3['charAt'](_0x527b3a++);~_0x3ce062&&(_0x5e9d4f=_0x40ab79%0x4?_0x5e9d4f*0x40+_0x3ce062:_0x3ce062,_0x40ab79++%0x4)?_0x1575db+=String['fromCharCode'](0xff&_0x5e9d4f>>(-0x2*_0x40ab79&0x6)):0x0){_0x3ce062=_0x1a1473['indexOf'](_0x3ce062);}for(let _0x34d06a=0x0,_0x59b026=_0x1575db['length'];_0x34d06a<_0x59b026;_0x34d06a++){_0x43c10f+='%'+('00'+_0x1575db['charCodeAt'](_0x34d06a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c10f);};a0_0x1a47['YSojXr']=_0x41e3aa,a0_0x1a47['gVmkap']={},a0_0x1a47['VUcOXa']=!![];}const _0x4b3552=_0x1fae66[0x0],_0x4510eb=_0x5a14de+_0x4b3552,_0x2afb0f=a0_0x1a47['gVmkap'][_0x4510eb];return!_0x2afb0f?(_0x1a47f3=a0_0x1a47['YSojXr'](_0x1a47f3),a0_0x1a47['gVmkap'][_0x4510eb]=_0x1a47f3):_0x1a47f3=_0x2afb0f,_0x1a47f3;}const redisClient=require(a0_0x21291f(0x143)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x21291f(0x169));class LockManager{constructor(){const _0x52160b=a0_0x21291f,_0x1a9cef={'rwTVs':'0|2|1|4|6|7|3|5'},_0x4a4aef=_0x1a9cef[_0x52160b(0x14d)][_0x52160b(0x179)]('|');let _0x400629=0x0;while(!![]){switch(_0x4a4aef[_0x400629++]){case'0':this[_0x52160b(0x163)]=null;continue;case'1':this[_0x52160b(0x14b)]=null;continue;case'2':this['_enabled']=null;continue;case'3':this['_workerId']=null;continue;case'4':this[_0x52160b(0x166)]=null;continue;case'5':this[_0x52160b(0x158)]=![];continue;case'6':this['_retryDelay']=null;continue;case'7':this[_0x52160b(0x167)]=null;continue;}break;}}['_initConfig'](){const _0x170f43=a0_0x21291f,_0x12c195={'hDoUS':'rf:lock:','DtOrk':_0x170f43(0x12e),'LSASG':function(_0x3824ee,_0x4cf402,_0x538ae4){return _0x3824ee(_0x4cf402,_0x538ae4);}};this[_0x170f43(0x163)]=_0x12c195['hDoUS'],this[_0x170f43(0x177)]=process[_0x170f43(0x13d)]['LOCK_DISTRIBUTED_ENABLED']===_0x12c195['DtOrk'],this[_0x170f43(0x14b)]=_0x12c195['LSASG'](parseInt,process['env'][_0x170f43(0x155)],0xa)||0xa,this[_0x170f43(0x166)]=parseInt(process[_0x170f43(0x13d)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x170f43(0x185)]=_0x12c195['LSASG'](parseInt,process[_0x170f43(0x13d)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env'][_0x170f43(0x17f)]||_0x170f43(0x16f),this[_0x170f43(0x12f)]='worker-'+process[_0x170f43(0x16c)],this['_initialized']=!![],logger['info']({'event':_0x170f43(0x16d),'enabled':this[_0x170f43(0x177)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x170f43(0x166)],'retryDelay':this[_0x170f43(0x185)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x170f43(0x177)]+_0x170f43(0x139)+this[_0x170f43(0x167)]);}[a0_0x21291f(0x140)](){const _0x28e21e=a0_0x21291f;!this[_0x28e21e(0x158)]&&this['_initConfig']();}get['prefix'](){const _0x369b43=a0_0x21291f;return this['_ensureInitialized'](),this[_0x369b43(0x163)];}get['enabled'](){const _0xcc13f7=a0_0x21291f;return this[_0xcc13f7(0x140)](),this['_enabled'];}get['defaultTTL'](){const _0x23e080=a0_0x21291f;return this[_0x23e080(0x140)](),this['_defaultTTL'];}get['retryCount'](){const _0x5d1282=a0_0x21291f;return this['_ensureInitialized'](),this[_0x5d1282(0x166)];}get[a0_0x21291f(0x16a)](){const _0x111aa1=a0_0x21291f;return this[_0x111aa1(0x140)](),this[_0x111aa1(0x185)];}get[a0_0x21291f(0x136)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x4743aa){const _0x1dac01=a0_0x21291f,{module:_0x48b053,endpoint:_0x20f0e0,lockType:_0x2e8215,recordId:_0x4b8d10}=_0x4743aa;if(_0x4b8d10)return''+this['prefix']+_0x48b053+':'+_0x20f0e0+':'+_0x4b8d10+':'+_0x2e8215;return''+this[_0x1dac01(0x146)]+_0x48b053+':'+_0x20f0e0+':'+_0x2e8215;}['generateLockValue'](){const _0x43239b=a0_0x21291f,_0x2fb4ae={'IhUmq':function(_0x468b35){return _0x468b35();}};return this[_0x43239b(0x170)]+':'+_0x2fb4ae['IhUmq'](uuidv4)+':'+Date['now']();}async[a0_0x21291f(0x173)](_0x18becf){const _0x5a5e05=a0_0x21291f,_0x214328={'wnoVk':function(_0x40f488,_0x434f56){return _0x40f488<_0x434f56;},'CKxDR':_0x5a5e05(0x15c),'iTILA':'READ\x20lock\x20acquired','Qenot':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','dYSdz':'read_lock_timeout','fulAF':_0x5a5e05(0x13f)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x27bb52=this['buildLockKey']({..._0x18becf,'lockType':'write'}),_0x53fd05=this['buildLockKey']({..._0x18becf,'lockType':_0x5a5e05(0x182)}),_0x2821ef=this['generateLockValue']();try{const _0x2d37f9=redisClient[_0x5a5e05(0x172)]();for(let _0x366ecb=0x0;_0x214328[_0x5a5e05(0x150)](_0x366ecb,this[_0x5a5e05(0x141)]);_0x366ecb++){const _0x1ebcc7=await _0x2d37f9['get'](_0x27bb52);if(!_0x1ebcc7){await _0x2d37f9['incr'](_0x53fd05),await _0x2d37f9[_0x5a5e05(0x13c)](_0x53fd05,this['defaultTTL']);const _0x5712cb=_0x53fd05+':'+_0x2821ef;return await _0x2d37f9['setex'](_0x5712cb,this[_0x5a5e05(0x137)],_0x2821ef),logger['debug']({'event':_0x214328['CKxDR'],'key':_0x53fd05,'value':_0x2821ef},_0x214328['iTILA']),{'success':!![],'lockValue':_0x2821ef,'lockKey':_0x5712cb};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x27bb52,'attempt':_0x366ecb},_0x214328[_0x5a5e05(0x16b)]),await this['sleep'](this['retryDelay']*Math[_0x5a5e05(0x144)](0x2,_0x366ecb));}return logger['warn']({'event':_0x214328['dYSdz'],'key':_0x53fd05},_0x5a5e05(0x16e)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3120ff){return logger['error']({'event':_0x5a5e05(0x168),'error':_0x3120ff['message']},_0x214328['fulAF']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x21291f(0x15b)](_0x4e6a10){const _0x118f3c=a0_0x21291f,_0x3c3e9d={'nRrBn':'write_lock_acquired','KUJcf':_0x118f3c(0x142),'evDOA':_0x118f3c(0x154),'JYOpD':function(_0x3dbf26,_0x1e9fec){return _0x3dbf26===_0x1e9fec;},'LPxQC':_0x118f3c(0x164),'CwuvP':'write_lock_error','xRmAi':_0x118f3c(0x13b)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0xe86f39=this['buildLockKey']({..._0x4e6a10,'lockType':_0x118f3c(0x17b)}),_0x336a15=this[_0x118f3c(0x175)]({..._0x4e6a10,'lockType':'read'}),_0x4320f8=this['generateLockValue']();try{const _0x4571a7=redisClient[_0x118f3c(0x172)]();if(this['strategy']===_0x118f3c(0x184)){const _0x55a268=await _0x4571a7['set'](_0xe86f39,_0x4320f8,'EX',this[_0x118f3c(0x137)],'NX');if(_0x55a268==='OK')return logger['debug']({'event':_0x3c3e9d['nRrBn'],'key':_0xe86f39,'value':_0x4320f8,'strategy':_0x118f3c(0x184)},_0x3c3e9d[_0x118f3c(0x13e)]),{'success':!![],'lockValue':_0x4320f8,'lockKey':_0xe86f39};return logger[_0x118f3c(0x183)]({'event':_0x3c3e9d[_0x118f3c(0x149)],'key':_0xe86f39},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x53a89d=0x0;_0x53a89d<this[_0x118f3c(0x141)];_0x53a89d++){const [_0x91da0a,_0x2854fa]=await Promise['all']([_0x4571a7[_0x118f3c(0x145)](_0x336a15),_0x4571a7[_0x118f3c(0x145)](_0xe86f39)]);if(!_0x2854fa&&(!_0x91da0a||parseInt(_0x91da0a)===0x0)){const _0x6735c6=await _0x4571a7['set'](_0xe86f39,_0x4320f8,'EX',this[_0x118f3c(0x137)],'NX');if(_0x3c3e9d['JYOpD'](_0x6735c6,'OK'))return logger['debug']({'event':_0x118f3c(0x15d),'key':_0xe86f39,'value':_0x4320f8,'strategy':'retry'},_0x3c3e9d[_0x118f3c(0x13a)]),{'success':!![],'lockValue':_0x4320f8,'lockKey':_0xe86f39};}logger['debug']({'event':'write_lock_waiting','writeKey':_0xe86f39,'readCount':_0x91da0a,'attempt':_0x53a89d},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x118f3c(0x17e)](this[_0x118f3c(0x16a)]*Math['pow'](0x2,_0x53a89d));}return logger[_0x118f3c(0x160)]({'event':'write_lock_timeout','key':_0xe86f39},_0x118f3c(0x130)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xc081d9){return logger['error']({'event':_0x3c3e9d['CwuvP'],'error':_0xc081d9['message']},_0x3c3e9d[_0x118f3c(0x178)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x54182c,_0x5bdac5){const _0xe8863c=a0_0x21291f,_0x54d6b4={'mANPA':function(_0x58e957,_0x458701){return _0x58e957(_0x458701);},'WIijH':_0xe8863c(0x147),'uPAhr':function(_0x371b88,_0x1a9fbb){return _0x371b88===_0x1a9fbb;},'ZNuNx':_0xe8863c(0x14c),'pfldc':'lock_release_not_owner','CxwjZ':'Lock\x20release\x20error'};if(!this['enabled']||!_0x54182c)return!![];try{const _0x53a614=redisClient['getClient']();if(_0x54182c[_0xe8863c(0x15e)](_0xe8863c(0x17c))){await _0x53a614[_0xe8863c(0x14e)](_0x54182c);const _0x5f0ef3=_0x54182c[_0xe8863c(0x165)](0x0,_0x54182c[_0xe8863c(0x15f)](':')),_0x504042=await _0x53a614['get'](_0x5f0ef3);return _0x504042&&_0x54d6b4['mANPA'](parseInt,_0x504042)>0x0&&await _0x53a614['decr'](_0x5f0ef3),logger['debug']({'event':_0x54d6b4['WIijH'],'key':_0x54182c},'READ\x20lock\x20released'),!![];}const _0xefb15='\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',_0x3d6657=await _0x53a614['eval'](_0xefb15,0x1,_0x54182c,_0x5bdac5);if(_0x54d6b4[_0xe8863c(0x176)](_0x3d6657,0x1))return logger['debug']({'event':_0xe8863c(0x151),'key':_0x54182c},_0x54d6b4['ZNuNx']),!![];return logger['warn']({'event':_0x54d6b4['pfldc'],'key':_0x54182c},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x310872){return logger[_0xe8863c(0x171)]({'event':_0xe8863c(0x134),'key':_0x54182c,'error':_0x310872['message']},_0x54d6b4['CxwjZ']),![];}}async[a0_0x21291f(0x174)](_0x2e5580,_0x2f11dc,_0x114ee4=null){const _0x5924ab=a0_0x21291f,_0x6fe960={'TKTUu':function(_0x2f884e,_0x9287d6){return _0x2f884e===_0x9287d6;},'YBkJT':_0x5924ab(0x14a),'uowFN':_0x5924ab(0x132),'BVlVX':_0x5924ab(0x12c)};if(!this[_0x5924ab(0x153)]||!_0x2e5580)return!![];try{const _0x36ddfa=redisClient['getClient'](),_0x30d8b4='\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',_0x46dea3=await _0x36ddfa[_0x5924ab(0x17d)](_0x30d8b4,0x1,_0x2e5580,_0x2f11dc,_0x114ee4||this[_0x5924ab(0x137)]);if(_0x6fe960[_0x5924ab(0x135)](_0x46dea3,0x1))return logger[_0x5924ab(0x183)]({'event':_0x5924ab(0x131),'key':_0x2e5580,'ttl':_0x114ee4||this[_0x5924ab(0x137)]},_0x6fe960['YBkJT']),!![];return![];}catch(_0x43d516){return logger['error']({'event':_0x6fe960['uowFN'],'key':_0x2e5580,'error':_0x43d516['message']},_0x6fe960['BVlVX']),![];}}[a0_0x21291f(0x17a)](){const _0xbce554=a0_0x21291f;return this[_0xbce554(0x153)];}[a0_0x21291f(0x17e)](_0x4ec993){return new Promise(_0x256e3f=>setTimeout(_0x256e3f,_0x4ec993));}async[a0_0x21291f(0x152)](_0x571b05){const _0x1f2abf=a0_0x21291f,_0x5d2fc6={'eAfCH':function(_0x29fc2c,_0x3235a2){return _0x29fc2c(_0x3235a2);}};if(!this[_0x1f2abf(0x153)])return{'enabled':![]};try{const _0x411e03=redisClient['getClient'](),_0x44c658=this[_0x1f2abf(0x175)]({..._0x571b05,'lockType':_0x1f2abf(0x17b)}),_0x404004=this[_0x1f2abf(0x175)]({..._0x571b05,'lockType':_0x1f2abf(0x182)}),[_0xa0f49,_0x3e8d7b]=await Promise['all']([_0x411e03['get'](_0x44c658),_0x411e03['get'](_0x404004)]);return{'enabled':!![],'writeLock':_0xa0f49||null,'readCount':_0x5d2fc6[_0x1f2abf(0x157)](parseInt,_0x3e8d7b)||0x0,'writeKey':_0x44c658,'readKey':_0x404004};}catch(_0x5abc3e){return{'enabled':!![],'error':_0x5abc3e['message']};}}}module[a0_0x21291f(0x14f)]=new LockManager();
1
+ function a0_0x13d6(){const _0x131543=['CMv0CNK','ufrWs2u','zxjYB3i','D3jPDgvFBg9JA19LCNjVCG','x3jLDhj5q291BNq','r2HqALa','D2fYBG','CMv0CNLdB3vUDa','nJe3mZK4uNfJwu5P','D29YA2vYlq','CMvHzf9SB2nRx3DHAxrPBMC','v1blAxa','CMvHzf9SB2nRx3jLBgvHC2vK','v3HIBvK','mJa2ndC1mgrUAeTuva','BunnrKO','D3jPDgvFBg9JA19YzwXLyxnLza','BK1xqMG','mtjRDuDVDfy','tgTfChy','tg9JAYbuveWGzxH0zw5Kzwq','te9ds19esvnuuKLcvvrfrf9srvrswq','CMv0CNLezwXHEq','zfHKsvu','zxHWB3j0CW','C3vIC3rYAw5N','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','zxzHBa','x2LUAxrdB25MAwC','v1jjveuGBg9JAYbLCNjVCG','mZnfqMv6q3m','D3jPDgu','C2XeDeK','ndi0nZG2nw9cs1L5sW','CMvHza','x3jLDhj5rgvSyxK','q1PRtxe','Bg5dweO','z2v0','EeHzExi','zgvMyxvSDfruta','uKvbrcbSB2nRigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','zgvS','Bg9JA19LEhrLBMrLza','wNnntui','z2v0q2XPzw50','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJCYodC5nuDgz2TSCq','x2LUAxrPywXPEMvK','ywXS','AeDWshC','Cg93','ywnXDwLYzvDYAxrLtg9JAW','BgfZDeLUzgv4t2y','CMy6Bg9JAZO','tLrnDMO','uKvbrcbSB2nRihjLBgvHC2vK','AxnfBMfIBgvK','DK5UwMq','x2rLzMf1BhruveW','x2vUywjSzwq','v1jjveuGBg9JAYbYzwXLyxnLza','yNvPBgrmB2nRs2v5','z2vUzxjHDgvmB2nRvMfSDwu','x3DVCMTLCKLK','ug1hz0i','tg9JAYbLEhrLBMqGzxjYB3i','ndm2mtK4z0jQzvHd','Ae9qBMq','zgvIDwC','x3bYzwzPEa','zxH0zw5Ktg9JAW','twjuruy','Dhj1zq','odmYmZi4mfzdq1zhta','z2v0tg9JA0LUzM8','BwvZC2fNzq','zw5HyMXLza','mZKZmZzhwefktLy','x3n0CMf0zwD5','CMvQzwn0','D3jPDgvFBg9JA19Hy3f1AxjLza','zwXer3u','C2XLzxa','tg9JAYbYzwXLyxnLigvYCM9Y','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','og9hr3DABq','zw52'];a0_0x13d6=function(){return _0x131543;};return a0_0x13d6();}const a0_0x558805=a0_0x31bc;function a0_0x31bc(_0x213086,_0x858827){_0x213086=_0x213086-0xd9;const _0x13d672=a0_0x13d6();let _0x31bc11=_0x13d672[_0x213086];if(a0_0x31bc['uvuGHt']===undefined){var _0x68f8b0=function(_0x2d000a){const _0x5c62ee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16c1ad='',_0x445d02='';for(let _0x544b02=0x0,_0xeaf48b,_0x1d953e,_0x2eb80a=0x0;_0x1d953e=_0x2d000a['charAt'](_0x2eb80a++);~_0x1d953e&&(_0xeaf48b=_0x544b02%0x4?_0xeaf48b*0x40+_0x1d953e:_0x1d953e,_0x544b02++%0x4)?_0x16c1ad+=String['fromCharCode'](0xff&_0xeaf48b>>(-0x2*_0x544b02&0x6)):0x0){_0x1d953e=_0x5c62ee['indexOf'](_0x1d953e);}for(let _0x306df9=0x0,_0x47bad5=_0x16c1ad['length'];_0x306df9<_0x47bad5;_0x306df9++){_0x445d02+='%'+('00'+_0x16c1ad['charCodeAt'](_0x306df9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445d02);};a0_0x31bc['YLKalO']=_0x68f8b0,a0_0x31bc['WcOUwD']={},a0_0x31bc['uvuGHt']=!![];}const _0x46a239=_0x13d672[0x0],_0xdce2ed=_0x213086+_0x46a239,_0x14b4a9=a0_0x31bc['WcOUwD'][_0xdce2ed];return!_0x14b4a9?(_0x31bc11=a0_0x31bc['YLKalO'](_0x31bc11),a0_0x31bc['WcOUwD'][_0xdce2ed]=_0x31bc11):_0x31bc11=_0x14b4a9,_0x31bc11;}(function(_0x429c47,_0x17036a){const _0x45e75a=a0_0x31bc,_0x15fee4=_0x429c47();while(!![]){try{const _0x437462=parseInt(_0x45e75a(0xe1))/0x1+parseInt(_0x45e75a(0xe7))/0x2+parseInt(_0x45e75a(0xf8))/0x3*(-parseInt(_0x45e75a(0x129))/0x4)+-parseInt(_0x45e75a(0x10a))/0x5*(parseInt(_0x45e75a(0xeb))/0x6)+-parseInt(_0x45e75a(0x11e))/0x7*(parseInt(_0x45e75a(0x131))/0x8)+-parseInt(_0x45e75a(0xfb))/0x9+parseInt(_0x45e75a(0x125))/0xa;if(_0x437462===_0x17036a)break;else _0x15fee4['push'](_0x15fee4['shift']());}catch(_0x3d4d2a){_0x15fee4['push'](_0x15fee4['shift']());}}}(a0_0x13d6,0xb6a4e));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x586a5f=a0_0x31bc,_0x51e425='5|4|1|2|3|7|6|0'['split']('|');let _0x33183c=0x0;while(!![]){switch(_0x51e425[_0x33183c++]){case'0':this[_0x586a5f(0x10b)]=![];continue;case'1':this['_defaultTTL']=null;continue;case'2':this['_retryCount']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this[_0x586a5f(0x117)]=null;continue;case'5':this[_0x586a5f(0x121)]=null;continue;case'6':this[_0x586a5f(0x11b)]=null;continue;case'7':this[_0x586a5f(0x12a)]=null;continue;}break;}}[a0_0x558805(0xf6)](){const _0x3fdce0=a0_0x558805,_0x409343={'MqhYv':'lock_config_init','ZsMMB':_0x3fdce0(0x111),'slDtI':function(_0x4f58e6,_0x441c72,_0x417206){return _0x4f58e6(_0x441c72,_0x417206);}},_0x46dabf='1|6|3|7|8|4|2|5|0'['split']('|');let _0x3c16c2=0x0;while(!![]){switch(_0x46dabf[_0x3c16c2++]){case'0':logger['info']({'event':_0x409343['MqhYv'],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x3fdce0(0x116)],'retryCount':this['_retryCount'],'retryDelay':this[_0x3fdce0(0xfd)],'workerId':this['_workerId']},_0x3fdce0(0xf4)+this['_enabled']+',\x20strategy:\x20'+this[_0x3fdce0(0x12a)]);continue;case'1':this['_prefix']=_0x409343[_0x3fdce0(0x107)];continue;case'2':this[_0x3fdce0(0x11b)]=_0x3fdce0(0xe2)+process['pid'];continue;case'3':this[_0x3fdce0(0x116)]=_0x409343[_0x3fdce0(0xfa)](parseInt,process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this['_strategy']=process[_0x3fdce0(0x132)][_0x3fdce0(0xf3)]||'retry';continue;case'5':this['_initialized']=!![];continue;case'6':this['_enabled']=process[_0x3fdce0(0x132)]['LOCK_DISTRIBUTED_ENABLED']===_0x3fdce0(0x124);continue;case'7':this[_0x3fdce0(0xdd)]=parseInt(process['env'][_0x3fdce0(0xee)],0xa)||0x3;continue;case'8':this['_retryDelay']=_0x409343[_0x3fdce0(0xfa)](parseInt,process[_0x3fdce0(0x132)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;}break;}}[a0_0x558805(0x104)](){const _0x1b9ebd=a0_0x558805;!this[_0x1b9ebd(0x10b)]&&this[_0x1b9ebd(0xf6)]();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x558805(0x128)](){const _0x1f993c=a0_0x558805;return this['_ensureInitialized'](),this[_0x1f993c(0x117)];}get[a0_0x558805(0x102)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get[a0_0x558805(0xe0)](){const _0x981760=a0_0x558805;return this[_0x981760(0x104)](),this['_retryCount'];}get['retryDelay'](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){const _0x240a97=a0_0x558805;return this[_0x240a97(0x104)](),this[_0x240a97(0x12a)];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x558805(0x119)](_0x3b2389){const {module:_0xcb9479,endpoint:_0x1e9686,lockType:_0x311e60,recordId:_0x586e49}=_0x3b2389;if(_0x586e49)return''+this['prefix']+_0xcb9479+':'+_0x1e9686+':'+_0x586e49+':'+_0x311e60;return''+this['prefix']+_0xcb9479+':'+_0x1e9686+':'+_0x311e60;}[a0_0x558805(0x11a)](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x3f2b9e){const _0x5e2724=a0_0x558805,_0x12c7ac={'hGpHw':function(_0x2d4498,_0x31151e){return _0x2d4498<_0x31151e;},'MbTEF':'read_lock_acquired','NTMvj':_0x5e2724(0xe3),'CVXOw':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','JUORJ':function(_0x291468,_0x550ecd){return _0x291468*_0x550ecd;},'PmGgB':_0x5e2724(0x103)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x53a4cc=this['buildLockKey']({..._0x3f2b9e,'lockType':_0x5e2724(0xf9)}),_0x1554aa=this['buildLockKey']({..._0x3f2b9e,'lockType':_0x5e2724(0xfc)}),_0xf56b60=this[_0x5e2724(0x11a)]();try{const _0x278484=redisClient['getClient']();for(let _0xb6dd9a=0x0;_0x12c7ac[_0x5e2724(0x10d)](_0xb6dd9a,this['retryCount']);_0xb6dd9a++){const _0x1e555f=await _0x278484['get'](_0x53a4cc);if(!_0x1e555f){await _0x278484['incr'](_0x1554aa),await _0x278484['expire'](_0x1554aa,this['defaultTTL']);const _0x21a398=_0x1554aa+':'+_0xf56b60;return await _0x278484['setex'](_0x21a398,this[_0x5e2724(0x102)],_0xf56b60),logger['debug']({'event':_0x12c7ac[_0x5e2724(0x123)],'key':_0x1554aa,'value':_0xf56b60},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0xf56b60,'lockKey':_0x21a398};}logger[_0x5e2724(0x120)]({'event':_0x12c7ac[_0x5e2724(0x112)],'writeKey':_0x53a4cc,'attempt':_0xb6dd9a},_0x12c7ac['CVXOw']),await this[_0x5e2724(0x12e)](_0x12c7ac['JUORJ'](this['retryDelay'],Math[_0x5e2724(0x10e)](0x2,_0xb6dd9a)));}return logger[_0x5e2724(0xdf)]({'event':'read_lock_timeout','key':_0x1554aa},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x43908d){return logger[_0x5e2724(0xdb)]({'event':'read_lock_error','error':_0x43908d['message']},_0x12c7ac[_0x5e2724(0x11c)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x558805(0x10f)](_0x7c76a2){const _0x2d5fcc=a0_0x558805,_0x5e03a7={'GhPjP':'write','OLwcn':_0x2d5fcc(0xfc),'nMWBh':_0x2d5fcc(0x12b),'ajzpP':function(_0x30a24a,_0x54e8f1){return _0x30a24a===_0x54e8f1;},'WxbmY':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','xHYyr':function(_0x4bddf4,_0x3161d0){return _0x4bddf4<_0x3161d0;},'Jjdyf':_0x2d5fcc(0x12c),'CZkMq':_0x2d5fcc(0xd9),'mCMFJ':'write_lock_waiting','dXdIU':'write_lock_timeout','WPKip':_0x2d5fcc(0x130),'FXzVF':_0x2d5fcc(0xf7)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5dd711=this['buildLockKey']({..._0x7c76a2,'lockType':_0x5e03a7[_0x2d5fcc(0xde)]}),_0x426276=this[_0x2d5fcc(0x119)]({..._0x7c76a2,'lockType':_0x5e03a7['OLwcn']}),_0x415aec=this['generateLockValue']();try{const _0x437d5a=redisClient[_0x2d5fcc(0x108)]();if(this['strategy']===_0x5e03a7['nMWBh']){const _0xd441b5=await _0x437d5a['set'](_0x5dd711,_0x415aec,'EX',this[_0x2d5fcc(0x102)],'NX');if(_0x5e03a7['ajzpP'](_0xd441b5,'OK'))return logger['debug']({'event':_0x2d5fcc(0x12c),'key':_0x5dd711,'value':_0x415aec,'strategy':_0x5e03a7[_0x2d5fcc(0xea)]},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x415aec,'lockKey':_0x5dd711};return logger['debug']({'event':'write_lock_rejected','key':_0x5dd711},_0x5e03a7[_0x2d5fcc(0xe6)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x50161a=0x0;_0x5e03a7[_0x2d5fcc(0x101)](_0x50161a,this['retryCount']);_0x50161a++){const [_0x89ea74,_0x189d0b]=await Promise[_0x2d5fcc(0x10c)]([_0x437d5a[_0x2d5fcc(0x100)](_0x426276),_0x437d5a[_0x2d5fcc(0x100)](_0x5dd711)]);if(!_0x189d0b&&(!_0x89ea74||parseInt(_0x89ea74)===0x0)){const _0x46f22f=await _0x437d5a['set'](_0x5dd711,_0x415aec,'EX',this[_0x2d5fcc(0x102)],'NX');if(_0x46f22f==='OK')return logger[_0x2d5fcc(0x120)]({'event':_0x5e03a7['Jjdyf'],'key':_0x5dd711,'value':_0x415aec,'strategy':_0x5e03a7[_0x2d5fcc(0xfe)]},_0x2d5fcc(0x109)),{'success':!![],'lockValue':_0x415aec,'lockKey':_0x5dd711};}logger[_0x2d5fcc(0x120)]({'event':_0x5e03a7[_0x2d5fcc(0xe8)],'writeKey':_0x5dd711,'readCount':_0x89ea74,'attempt':_0x50161a},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this[_0x2d5fcc(0xef)]*Math['pow'](0x2,_0x50161a));}return logger['warn']({'event':_0x5e03a7[_0x2d5fcc(0xf0)],'key':_0x5dd711},_0x5e03a7[_0x2d5fcc(0xe4)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x201ef8){return logger['error']({'event':_0x2d5fcc(0xdc),'error':_0x201ef8[_0x2d5fcc(0x127)]},_0x5e03a7['FXzVF']),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5e2882,_0x516b75){const _0x414be1=a0_0x558805,_0x1d7b72={'urKzV':function(_0x5fad8b,_0x156bde){return _0x5fad8b(_0x156bde);},'pcCSQ':_0x414be1(0xe5),'LcjzG':function(_0x6a92b,_0x1f0ea5){return _0x6a92b===_0x1f0ea5;},'OhrCT':_0x414be1(0xe9),'LkEpv':'lock_release_error','lnCXJ':_0x414be1(0x12f)};if(!this[_0x414be1(0x128)]||!_0x5e2882)return!![];try{const _0x4b1d46=redisClient[_0x414be1(0x108)]();if(_0x5e2882['includes'](':read:')){await _0x4b1d46[_0x414be1(0x105)](_0x5e2882);const _0x1b3004=_0x5e2882[_0x414be1(0xf2)](0x0,_0x5e2882[_0x414be1(0x110)](':')),_0x174ce7=await _0x4b1d46[_0x414be1(0x100)](_0x1b3004);return _0x174ce7&&_0x1d7b72['urKzV'](parseInt,_0x174ce7)>0x0&&await _0x4b1d46['decr'](_0x1b3004),logger['debug']({'event':_0x1d7b72['pcCSQ'],'key':_0x5e2882},_0x414be1(0x113)),!![];}const _0x56ff7e='\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',_0x3af3dd=await _0x4b1d46[_0x414be1(0xf5)](_0x56ff7e,0x1,_0x5e2882,_0x516b75);if(_0x1d7b72['LcjzG'](_0x3af3dd,0x1))return logger[_0x414be1(0x120)]({'event':_0x1d7b72['OhrCT'],'key':_0x5e2882},_0x414be1(0x118)),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x5e2882},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xc133bf){return logger[_0x414be1(0xdb)]({'event':_0x1d7b72[_0x414be1(0xec)],'key':_0x5e2882,'error':_0xc133bf['message']},_0x1d7b72[_0x414be1(0xff)]),![];}}async[a0_0x558805(0x122)](_0x107f17,_0x5282b2,_0x5ef832=null){const _0x148eb6=a0_0x558805,_0x639561={'vNnZd':_0x148eb6(0xed),'elDGu':'lock_extend_error'};if(!this['enabled']||!_0x107f17)return!![];try{const _0x5a73db=redisClient['getClient'](),_0x6080e7='\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',_0x483421=await _0x5a73db[_0x148eb6(0xf5)](_0x6080e7,0x1,_0x107f17,_0x5282b2,_0x5ef832||this['defaultTTL']);if(_0x483421===0x1)return logger[_0x148eb6(0x120)]({'event':_0x148eb6(0x106),'key':_0x107f17,'ttl':_0x5ef832||this[_0x148eb6(0x102)]},_0x639561[_0x148eb6(0x115)]),!![];return![];}catch(_0x59523b){return logger[_0x148eb6(0xdb)]({'event':_0x639561[_0x148eb6(0x12d)],'key':_0x107f17,'error':_0x59523b[_0x148eb6(0x127)]},_0x148eb6(0x11d)),![];}}[a0_0x558805(0x114)](){const _0x483a58=a0_0x558805;return this[_0x483a58(0x128)];}[a0_0x558805(0x12e)](_0xa10923){return new Promise(_0x4986ed=>setTimeout(_0x4986ed,_0xa10923));}async[a0_0x558805(0x126)](_0x53e18b){const _0x1b5f2d=a0_0x558805,_0x367431={'PTpKe':'write','hOPnd':function(_0x3f64ba,_0x5995df){return _0x3f64ba||_0x5995df;}};if(!this['enabled'])return{'enabled':![]};try{const _0x10f0a4=redisClient[_0x1b5f2d(0x108)](),_0x3194ea=this[_0x1b5f2d(0x119)]({..._0x53e18b,'lockType':_0x367431[_0x1b5f2d(0xda)]}),_0x185c55=this['buildLockKey']({..._0x53e18b,'lockType':_0x1b5f2d(0xfc)}),[_0x21250f,_0x197016]=await Promise[_0x1b5f2d(0x10c)]([_0x10f0a4[_0x1b5f2d(0x100)](_0x3194ea),_0x10f0a4['get'](_0x185c55)]);return{'enabled':!![],'writeLock':_0x367431[_0x1b5f2d(0x11f)](_0x21250f,null),'readCount':parseInt(_0x197016)||0x0,'writeKey':_0x3194ea,'readKey':_0x185c55};}catch(_0x2066c2){return{'enabled':!![],'error':_0x2066c2['message']};}}}module[a0_0x558805(0xf1)]=new LockManager();
@@ -1 +1 @@
1
- function a0_0x4e16(_0x39a212,_0xebe7dc){_0x39a212=_0x39a212-0x11c;const _0x533c9a=a0_0x533c();let _0x4e1621=_0x533c9a[_0x39a212];if(a0_0x4e16['vROGcf']===undefined){var _0x14a564=function(_0x5c043f){const _0x11ac67='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x82c3fb='',_0x36a6cf='';for(let _0x251818=0x0,_0x3c9966,_0x5cc994,_0x59c39b=0x0;_0x5cc994=_0x5c043f['charAt'](_0x59c39b++);~_0x5cc994&&(_0x3c9966=_0x251818%0x4?_0x3c9966*0x40+_0x5cc994:_0x5cc994,_0x251818++%0x4)?_0x82c3fb+=String['fromCharCode'](0xff&_0x3c9966>>(-0x2*_0x251818&0x6)):0x0){_0x5cc994=_0x11ac67['indexOf'](_0x5cc994);}for(let _0x471346=0x0,_0x3c0416=_0x82c3fb['length'];_0x471346<_0x3c0416;_0x471346++){_0x36a6cf+='%'+('00'+_0x82c3fb['charCodeAt'](_0x471346)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36a6cf);};a0_0x4e16['DTABVN']=_0x14a564,a0_0x4e16['xIIHcK']={},a0_0x4e16['vROGcf']=!![];}const _0x419c06=_0x533c9a[0x0],_0x598a51=_0x39a212+_0x419c06,_0x47240b=a0_0x4e16['xIIHcK'][_0x598a51];return!_0x47240b?(_0x4e1621=a0_0x4e16['DTABVN'](_0x4e1621),a0_0x4e16['xIIHcK'][_0x598a51]=_0x4e1621):_0x4e1621=_0x47240b,_0x4e1621;}const a0_0x129db8=a0_0x4e16;(function(_0x419c5d,_0x4ba978){const _0x1668f8=a0_0x4e16,_0x1bdcab=_0x419c5d();while(!![]){try{const _0x1a23d1=parseInt(_0x1668f8(0x17f))/0x1+-parseInt(_0x1668f8(0x166))/0x2*(parseInt(_0x1668f8(0x1e0))/0x3)+-parseInt(_0x1668f8(0x162))/0x4+-parseInt(_0x1668f8(0x19c))/0x5+parseInt(_0x1668f8(0x1c9))/0x6+-parseInt(_0x1668f8(0x128))/0x7+-parseInt(_0x1668f8(0x1bd))/0x8*(-parseInt(_0x1668f8(0x1ab))/0x9);if(_0x1a23d1===_0x4ba978)break;else _0x1bdcab['push'](_0x1bdcab['shift']());}catch(_0x4ccb57){_0x1bdcab['push'](_0x1bdcab['shift']());}}}(a0_0x533c,0xd4bcc));function a0_0x533c(){const _0x3b31d3=['C3rYAw5NAwz5','s3HWtve','ifTtte9xxq','wvnSC2m','rfjpua','iokvKqRILzeGifbVCNqGicaGicaGidOG','yxbPx3nLy3jLDa','mtjwC2PysfG','A0PKv1q','iokvKqRILzeGienVBMzPzYaGicaGidOG','qwv6txa','u0vmrunu','CgfKrw5K','y3z2','DhjPBq','C29Tzq','z2v0sgvHzgvYCW','uNPWvNu','C3rHDhvZ','CMvMCMvZAf90B2TLBG','mta1ndGZn0rTtwf4Dq','tK9erv9ftLy','CMvZB2X2zq','BwvZC2fNzq','ve9gy08','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','rgvMyxvSDa','ChHLteC','y3jLzgvUDgLHBhm','vu5ltK9xtG','y3jLzgvUDgLHBa','zgv2zwXVCg1LBNq','CMvTB3rLqwrKCMvZCW','ChjVy2vZC193yxjUAw5N','C3rHCNrZv2L0Aa','Aw5MBW','revPv0W','BMfTzq','vfrvrvm','Aw5JBhvKzxm','AuzrqLi','zMfSC2u','vfjbtLnbq1rjt05FqKvhsu4','r09QrNu','ruTfvvu','zMXVB3i','A2v5CW','Cgf0Aa','Ec1Yzxf1zxn0lwLK','Dhj1zq','vfjbtLnbq1rjt05Fq09ntuLu','w1jfrefdveveoMHHC2HD','te9hx0rjuG','ChjPDMf0zv9RzxK','ANnVBG','z1juAg8','zMXVB2u','zw52','CMvWzwf0','rxjYB3i','DwHvwxu','wvDSAwi','iokvKqRILzeGiefqssblzxKGicaGidOG','Bwf0y2G','reiGuxvLCNK','u1fmx0Xpr19qqvjbtvm','Dg9Rzw4','D3jPDgu','C3rKu2vYAwfSAxPLCNm','zgjFDhjHBNnHy3rPB24','ChjVAMvJDa','rhbhuLi','u1fmx0Xpr19tte9xx1riuKvtse9mra','tKvIyKG','icdIHPiG','uK9mtejbq0S','y3jLzgL0x2nHCMq','shLbAuS','nJyXnZK5mKDfwu1rEG','icbizwfSDgG6ia','wgzoBMS','tK9uiefdveLwrq','ntG1ntGYCfHlA3jR','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','BwvTB3j5vxnHz2u','CePmsw8','Bwv0Ag9K','zgf0ywjHC2u','qvvszMC','Dxb0Aw1L','Bg9N','y29Kzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','y29UBMvJDgLVBG','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','vvbeqvrf','DgvZDa','DxjS','Bw9KDwXL','vvPbyxy','uw9ituG','CxvLCNK','yxPYA3K','ywnJzxnZx3rVA2vU','C2vYDMLJzuLUzM8','CMvZDgzVCMDL','yNbMAfu','mti1mdGYmuHqrenurG','D2fYBG','u1DRu2m','vhjHBNnHy3rPB24G','BwfW','ufbXCue','ChjPDMf0zwTLEq','zw52AxjVBM1LBNq','v01PwLK','uwreweO','A3rZyvm','yxbPx2TLEq','qKvhsu4','te9hx1rpx0zjteu','AM9PBG','quXurvi','y1nJCNO','Bfnyyuy','rgf0ywjHC2u6ia','BgvUz3rO','Dg9vChbLCKnHC2u','tM9Kzs5QCW','AgvHBhrOq2HLy2S','CMvWBgfJzq','qvbqx1zfuLnjt04','sfruuca','rermx0rst1a','DxLeB0q','revmrvrf','nta4odK1nxHrEK1SCq','qwzmBge','zgvMyxvSDa','thfqy2m','EhDQu1C','zxjYB3iUBg9N','Bwf4','yxbPA2v5','ChDK','y3jLyxrLv3jPDgvtDhjLyw0','Ag9ZDa','yxbWlMXVzW','Dg9mB3DLCKnHC2u','y29UzMLNrMLSzq','qu9Nwuy','mtaXmta5ntf0zNLQyMe','yxbPs2v5','zgvIDwC','D2fYBMLUzW','ALbyDvy','C3fSx3f1zxj5','t05RsK4','yKLSDK4','BfzPv2K','iokvKqRILzeGifbYB2PLy3qGicaGidOG','thLRtMq','lI9SB2DZlW','Dg9ju09tDhjPBMC','w1jfrefdvevexq','uhjVy2vZCYbxyxjUAw5NoIa','CgLUBY1WCMv0DhK','zfzHt3q','DhLWzq','mJr1AenirfO','su5trvju','Dw5JyxvNAhrfEgnLChrPB24','rKfuquW6ia','icbvuKW6icaGia','zxjYB3i','t2vJqLq','zgf0ywjHC2vFy29UzMLN','AxntBg93','t0rws04','C3rHDhvZq29Kzq','B2jQzwn0','mtq2nJi2ofreAurTva','Cg9YDa','CgfZC3DVCMq','zMf0ywW','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','C3rHy2S','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','C2vJCMv0','Ahj0Aw1L','icbjBMzVoIaGia','qunusvzf','s1HIrfe','yMfZzvvYBa','CM93C0fMzMvJDgvK'];a0_0x533c=function(){return _0x3b31d3;};return a0_0x533c();}const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x129db8(0x17d),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x129db8(0x1ce),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x129db8(0x14d)]['LOG_LEVEL']||a0_0x129db8(0x137);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x129db8(0x1ba),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x129db8(0x197)]||'1.0.5','env':process['env'][a0_0x129db8(0x129)]||a0_0x129db8(0x133)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x129db8(0x1cb),a0_0x129db8(0x156),a0_0x129db8(0x1ac),'DB_PASSWORD','JWT_SECRET'],'censor':a0_0x129db8(0x1b8)},'serializers':{'req':_0x293fee=>({'id':_0x293fee['id'],'method':_0x293fee[a0_0x129db8(0x16a)],'url':_0x293fee['url'],'path':_0x293fee[a0_0x129db8(0x143)],'remoteAddress':_0x293fee['ip']||_0x293fee[a0_0x129db8(0x171)]?.[a0_0x129db8(0x134)]}),'res':_0x23971d=>({'statusCode':_0x23971d['statusCode'],'headers':_0x23971d[a0_0x129db8(0x124)]?.()}),'err':pino[a0_0x129db8(0x158)]['err']}});function initFileLogging(){const _0x5e7cac=a0_0x129db8,_0x29cef3={'GOjFu':_0x5e7cac(0x145),'kfTxH':_0x5e7cac(0x1ad),'pqNmW':function(_0x46d443,_0x488606){return _0x46d443!==_0x488606;},'OecBT':function(_0x2942fe,_0x17b2db){return _0x2942fe(_0x17b2db);},'xwjSW':_0x5e7cac(0x1a1)};if(fileLoggingInitialized)return;logToFile=process[_0x5e7cac(0x14d)][_0x5e7cac(0x18c)]==='true';const _0x5cd93f=process['env']['RESTFORGE_PROJECT_NAME']||_0x5e7cac(0x19e);logDir=process['env'][_0x5e7cac(0x148)]||_0x5e7cac(0x1b6)+_0x5cd93f,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=process[_0x5e7cac(0x14d)]['SQL_LOG_ENABLED']===_0x29cef3[_0x5e7cac(0x13f)],sqlLogLevel=process[_0x5e7cac(0x14d)]['SQL_LOG_LEVEL']||_0x29cef3['kfTxH'],sqlLogParams=_0x29cef3['pqNmW'](process['env'][_0x5e7cac(0x155)],_0x5e7cac(0x13d)),sqlLogSlowThreshold=_0x29cef3[_0x5e7cac(0x1c3)](parseInt,process[_0x5e7cac(0x14d)][_0x5e7cac(0x15c)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1c3409=path[_0x5e7cac(0x12a)](process['cwd'](),logDir);try{!fs['existsSync'](_0x1c3409)&&fs['mkdirSync'](_0x1c3409,{'recursive':!![]});}catch(_0x1c875d){console['error'](_0x5e7cac(0x1d1)+_0x1c3409+':',_0x1c875d[_0x5e7cac(0x12b)]),fileLoggingInitialized=!![];return;}const _0x4f6d10=path[_0x5e7cac(0x18d)](_0x1c3409,_0x5e7cac(0x1a7)),_0x5ade40=path['join'](_0x1c3409,_0x5e7cac(0x1a1));try{appLogStream=fs['createWriteStream'](_0x4f6d10,{'flags':'a'}),errorLogStream=fs[_0x5e7cac(0x1a5)](_0x5ade40,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3b6b79={'event':'file_logging_enabled','logDir':_0x1c3409,'files':[_0x5e7cac(0x1a7),_0x29cef3[_0x5e7cac(0x1a0)]]},_0x2e1994=_0x5e7cac(0x1cf)+_0x1c3409;logger[_0x5e7cac(0x137)](_0x3b6b79,_0x2e1994),writeToFileLog({..._0x3b6b79,'level':_0x5e7cac(0x137),'msg':_0x2e1994,'time':new Date()[_0x5e7cac(0x1b7)]()},_0x5e7cac(0x137));}catch(_0x368ab0){console[_0x5e7cac(0x1c2)](_0x5e7cac(0x1cd),_0x368ab0[_0x5e7cac(0x12b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1ca062,_0x5147cf){const _0x51b5b9=a0_0x129db8,_0x1fbba1={'azrky':function(_0x407090,_0x50cfa9){return _0x407090||_0x50cfa9;},'KXbDQ':function(_0x269600,_0xc41ff6){return _0x269600+_0xc41ff6;}};if(_0x1fbba1[_0x51b5b9(0x17a)](!logToFile,!appLogStream))return;const _0x11cb7b={'service':serviceName,..._0x1ca062},_0x4e6733=_0x1fbba1[_0x51b5b9(0x1d6)](JSON[_0x51b5b9(0x1d9)](_0x11cb7b),'\x0a');appLogStream[_0x51b5b9(0x157)](_0x4e6733),(_0x5147cf==='error'||_0x5147cf==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x4e6733));}const createRequestLogger=(_0x1564c0={})=>{return logger['child'](_0x1564c0);},logServerStart=_0x1218e2=>{const _0x17e6d6=a0_0x129db8,_0x239c8a={'ScSxn':function(_0x19ef0,_0x48c272){return _0x19ef0/_0x48c272;},'CnXJS':function(_0xbf7d30,_0x3f5f05){return _0xbf7d30-_0x3f5f05;},'OPoPO':'N/A','NOgjF':function(_0x29c15f,_0x41689b){return _0x29c15f(_0x41689b);},'uhUYu':_0x17e6d6(0x12e),'fdwJZ':_0x17e6d6(0x1d5),'UKgBE':'server_starting','OYTty':_0x17e6d6(0x137)},_0x223c78='RESTFORGE\x20RUNTIME\x20SERVER',_0x18e28d=Math[_0x17e6d6(0x1a2)](0x0,0x37-_0x223c78[_0x17e6d6(0x192)]),_0x2c053c=Math[_0x17e6d6(0x141)](_0x239c8a['ScSxn'](_0x18e28d,0x2)),_0x2c9601=_0x239c8a['CnXJS'](_0x18e28d,_0x2c053c),_0x25335f='║'+'\x20'['repeat'](_0x2c053c)+_0x223c78+'\x20'[_0x17e6d6(0x14e)](_0x2c9601)+'║',_0x11a2ca=_0x17e6d6(0x172)+_0x25335f+_0x17e6d6(0x12d)+(_0x1218e2[_0x17e6d6(0x186)]||_0x17e6d6(0x194))[_0x17e6d6(0x120)](0x26)+_0x17e6d6(0x1b4)+(_0x1218e2[_0x17e6d6(0x15a)]||_0x239c8a['OPoPO'])[_0x17e6d6(0x120)](0x26)+_0x17e6d6(0x1de)+_0x239c8a['NOgjF'](String,_0x1218e2['port']||0xbb8)['padEnd'](0x26)+_0x17e6d6(0x11d)+(_0x1218e2[_0x17e6d6(0x1a9)]||_0x239c8a[_0x17e6d6(0x150)])['padEnd'](0x26)+_0x17e6d6(0x152)+(_0x1218e2['apiKey']?_0x239c8a['fdwJZ']:_0x17e6d6(0x165))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x17e6d6(0x16e)](_0x11a2ca);const _0xca368e={'event':_0x239c8a['UKgBE'],'project':_0x1218e2['project'],'port':_0x1218e2['port'],'config':_0x1218e2[_0x17e6d6(0x1a9)],'apiKeyEnabled':!!_0x1218e2['apiKey']};logger[_0x17e6d6(0x137)](_0xca368e),writeToFileLog({..._0xca368e,'level':_0x239c8a['OYTty'],'msg':'Server\x20starting:\x20'+_0x1218e2['project']+'\x20on\x20port\x20'+_0x1218e2['port'],'time':new Date()[_0x17e6d6(0x1b7)]()},_0x17e6d6(0x137));},logServerReady=_0x3c568d=>{const _0x6b698d=a0_0x129db8,_0x58247f={'LqPcc':'server_ready','ktsaS':'info'},_0x156eef={'event':_0x58247f[_0x6b698d(0x19f)],'port':_0x3c568d[_0x6b698d(0x1ca)],'module':_0x3c568d[_0x6b698d(0x176)],'healthCheck':_0x3c568d[_0x6b698d(0x195)],'serviceInfo':_0x3c568d[_0x6b698d(0x17c)],'baseUrl':_0x3c568d['baseUrl']},_0x2138d8=_0x6b698d(0x170)+_0x3c568d[_0x6b698d(0x1ca)];logger[_0x6b698d(0x137)](_0x156eef,_0x2138d8),writeToFileLog({..._0x156eef,'level':_0x58247f['ktsaS'],'msg':_0x2138d8,'time':new Date()['toISOString']()},_0x58247f[_0x6b698d(0x189)]),_0x3c568d['healthCheck']&&logger['info'](_0x6b698d(0x163)+_0x3c568d['healthCheck']),_0x3c568d[_0x6b698d(0x17c)]&&logger[_0x6b698d(0x137)](_0x6b698d(0x1d4)+_0x3c568d[_0x6b698d(0x17c)]),_0x3c568d[_0x6b698d(0x1d7)]&&logger['info'](_0x6b698d(0x1c1)+_0x3c568d[_0x6b698d(0x1d7)]);},logProjectLoaded=(_0x47a2ed,_0x1117c0)=>{const _0x1e1b0f=a0_0x129db8,_0x49420a={'oHVNw':'project_loaded','kJdWT':'info'},_0x5c24d3={'event':_0x49420a['oHVNw'],'project':_0x47a2ed,'path':_0x1117c0},_0x1fc4f9='[OK]\x20Project\x20loaded:\x20'+_0x47a2ed;logger['info'](_0x5c24d3,_0x1fc4f9),writeToFileLog({..._0x5c24d3,'level':_0x49420a[_0x1e1b0f(0x11c)],'msg':_0x1fc4f9,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0xca971d,_0x13bff7)=>{const _0x3b05d6=a0_0x129db8,_0x26c8c0={'pxeLG':'endpoint_registered','bIlvN':_0x3b05d6(0x1ad)},_0x1f134c={'event':_0x26c8c0[_0x3b05d6(0x12f)],'endpoint':_0xca971d,'route':_0x13bff7},_0x5b5442=_0x3b05d6(0x15e)+_0xca971d+':\x20'+_0x13bff7;logger[_0x3b05d6(0x1ad)](_0x1f134c,_0x5b5442),writeToFileLog({..._0x1f134c,'level':_0x26c8c0['bIlvN'],'msg':_0x5b5442,'time':new Date()['toISOString']()},_0x26c8c0[_0x3b05d6(0x1b2)]);},logDatabaseConfig=_0x19f4df=>{const _0x8f4da2=a0_0x129db8,_0x4ae363={'SHPzI':_0x8f4da2(0x1c4),'jPXuV':function(_0x160e43,_0x47a296,_0x1333c7){return _0x160e43(_0x47a296,_0x1333c7);}},_0x188b83={'event':_0x4ae363['SHPzI'],'host':_0x19f4df[_0x8f4da2(0x1a6)],'port':_0x19f4df['port'],'database':_0x19f4df[_0x8f4da2(0x16b)],'type':_0x19f4df[_0x8f4da2(0x1bc)],'user':_0x19f4df['user']},_0x2f6667=_0x8f4da2(0x191)+_0x19f4df['type']+'://'+_0x19f4df['host']+':'+_0x19f4df['port']+'/'+_0x19f4df[_0x8f4da2(0x16b)];logger['debug'](_0x188b83,_0x2f6667),_0x4ae363[_0x8f4da2(0x1af)](writeToFileLog,{..._0x188b83,'level':'debug','msg':_0x2f6667,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x16399a,_0x203dd9,_0x3a779c)=>{const _0x19e8ad=a0_0x129db8,_0x8ef59a={'UwZLZ':function(_0x5ac5e9,_0x426be3){return _0x5ac5e9>=_0x426be3;},'baznj':function(_0x90e023,_0x345e30,_0x238480){return _0x90e023(_0x345e30,_0x238480);}},_0x154b98={'event':'http_request','method':_0x16399a[_0x19e8ad(0x16a)],'path':_0x16399a[_0x19e8ad(0x143)],'statusCode':_0x203dd9[_0x19e8ad(0x1c7)],'durationMs':_0x3a779c,'ip':_0x16399a['ip']},_0x5978c8=_0x16399a['method']+'\x20'+_0x16399a[_0x19e8ad(0x143)]+'\x20-\x20'+_0x203dd9[_0x19e8ad(0x1c7)]+'\x20('+_0x3a779c+'ms)';let _0x530681=_0x19e8ad(0x137);if(_0x8ef59a['UwZLZ'](_0x203dd9['statusCode'],0x1f4))_0x530681='error',logger[_0x19e8ad(0x1c2)](_0x154b98,_0x5978c8);else _0x203dd9[_0x19e8ad(0x1c7)]>=0x190?(_0x530681=_0x19e8ad(0x180),logger[_0x19e8ad(0x180)](_0x154b98,_0x5978c8)):logger['info'](_0x154b98,_0x5978c8);_0x8ef59a['baznj'](writeToFileLog,{..._0x154b98,'level':_0x530681,'msg':_0x5978c8,'time':new Date()['toISOString']()},_0x530681);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x129db8(0x1a4),'token',a0_0x129db8(0x17b),a0_0x129db8(0x127),a0_0x129db8(0x1d2),a0_0x129db8(0x1df),a0_0x129db8(0x1a3),'api_key',a0_0x129db8(0x132),a0_0x129db8(0x130),'pin','otp','private_key',a0_0x129db8(0x185)],redactSensitiveParams=(_0x570cef,_0xd932f6)=>{const _0x198d82=a0_0x129db8,_0xe818e0={'lViWi':'string'};if(!_0x570cef||_0x570cef[_0x198d82(0x192)]===0x0)return _0x570cef;const _0x3439b6=_0xd932f6[_0x198d82(0x1a8)](),_0x53901d=_0x3439b6[_0x198d82(0x153)](/\(([^)]+)\)\s*values/i);let _0x11afa2=[];_0x53901d&&(_0x11afa2=_0x53901d[0x1]['split'](',')[_0x198d82(0x183)](_0x5cb032=>_0x5cb032['trim']()['toLowerCase']()));const _0x3d7b1d=_0x3439b6[_0x198d82(0x153)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3d7b1d){const _0x26a993=_0x3d7b1d[0x1],_0x10e13d=_0x26a993[_0x198d82(0x153)](/(\w+)\s*=/g);_0x10e13d&&(_0x11afa2=_0x10e13d[_0x198d82(0x183)](_0x459d5c=>_0x459d5c[_0x198d82(0x196)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x570cef[_0x198d82(0x183)]((_0x3c46ae,_0x2c012d)=>{const _0x4df266=_0x198d82;if(_0x11afa2[_0x2c012d]){const _0x3c3d06=_0x11afa2[_0x2c012d],_0x4054f7=SENSITIVE_PARAM_PATTERNS['some'](_0x55cea6=>_0x3c3d06[_0x4df266(0x13b)](_0x55cea6));if(_0x4054f7)return _0x4df266(0x1b8);}if(typeof _0x3c46ae===_0xe818e0[_0x4df266(0x1b3)]&&_0x3c46ae['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x4df266(0x174)](_0x3c46ae)&&_0x3c46ae[_0x4df266(0x13b)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x3c46ae))return _0x4df266(0x147);}return _0x3c46ae;});},parseQueryMetadata=_0x25b35f=>{const _0x304c6b=a0_0x129db8,_0x32d08e={'ODVKN':_0x304c6b(0x131),'AfLla':_0x304c6b(0x11f),'EMAmR':'INSERT','qphim':'UPDATE','AezMp':_0x304c6b(0x19b),'lpCFm':_0x304c6b(0x18b),'QAQNa':'START\x20TRANSACTION','SftgK':'COMMIT','dVaOt':_0x304c6b(0x15f),'QoHMH':'CREATE','ocIKH':_0x304c6b(0x1dd)},_0x13a883=_0x25b35f[_0x304c6b(0x122)](),_0xab4993=_0x13a883['toUpperCase']();let _0x40b747=_0x32d08e[_0x304c6b(0x1c6)],_0x2a7c7b=null;if(_0xab4993[_0x304c6b(0x136)](_0x32d08e[_0x304c6b(0x19d)])){_0x40b747=_0x304c6b(0x11f);const _0x13ee14=_0x13a883['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x13ee14?_0x13ee14[0x1]:null;}else{if(_0xab4993[_0x304c6b(0x136)](_0x32d08e['EMAmR'])){_0x40b747=_0x304c6b(0x1be);const _0x4abcbf=_0x13a883['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x4abcbf?_0x4abcbf[0x1]:null;}else{if(_0xab4993[_0x304c6b(0x136)](_0x304c6b(0x173))){_0x40b747=_0x32d08e['qphim'];const _0x23b004=_0x13a883['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x23b004?_0x23b004[0x1]:null;}else{if(_0xab4993['startsWith'](_0x32d08e[_0x304c6b(0x11e)])){_0x40b747=_0x32d08e['AezMp'];const _0x228b87=_0x13a883['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x228b87?_0x228b87[0x1]:null;}else{if(_0xab4993['startsWith'](_0x32d08e['lpCFm'])||_0xab4993['startsWith'](_0x32d08e['QAQNa']))_0x40b747=_0x304c6b(0x13e);else{if(_0xab4993[_0x304c6b(0x136)](_0x32d08e['SftgK']))_0x40b747=_0x304c6b(0x146);else{if(_0xab4993[_0x304c6b(0x136)](_0x32d08e[_0x304c6b(0x1bb)]))_0x40b747='TRANSACTION_ROLLBACK';else{if(_0xab4993['startsWith'](_0x32d08e[_0x304c6b(0x178)]))_0x40b747='DDL_CREATE';else{if(_0xab4993['startsWith'](_0x304c6b(0x18e)))_0x40b747='DDL_ALTER';else _0xab4993['startsWith'](_0x32d08e['ocIKH'])&&(_0x40b747=_0x304c6b(0x199));}}}}}}}}return{'type':_0x40b747,'table':_0x2a7c7b};},startQueryTimer=()=>{const _0x519d87=process['hrtime']();return()=>{const _0x5d4225=a0_0x4e16,[_0x3517c3,_0x4ac95c]=process[_0x5d4225(0x1d3)](_0x519d87);return parseFloat((_0x3517c3*0x3e8+_0x4ac95c/0xf4240)['toFixed'](0x2));};},logQuery=(_0x3edf9a,_0x2859d5=[],_0x260256={})=>{const _0x314e11=a0_0x129db8,_0x2de000={'FTEGj':'db_query','VsIdy':function(_0x1f0831,_0x56a0f8){return _0x1f0831(_0x56a0f8);},'HGPIZ':_0x314e11(0x1b0),'WMiZY':function(_0x53110a,_0x727776){return _0x53110a!==_0x727776;},'LykNd':function(_0x963323,_0x3eff35){return _0x963323>_0x3eff35;},'DEiWL':'debug','DpGRR':'warn','NRenZ':function(_0x28c346,_0x16cbef){return _0x28c346===_0x16cbef;},'gplRY':function(_0x2772ca,_0x3e05b5,_0x5d8256){return _0x2772ca(_0x3e05b5,_0x5d8256);}};if(!sqlLogEnabled){logger['debug']({'event':_0x2de000['FTEGj'],'query':_0x3edf9a['substring'](0x0,0xc8),'paramCount':_0x2859d5[_0x314e11(0x192)]},_0x314e11(0x154));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x260256,{type:_0x257249,table:_0x42f13d}=_0x2de000['VsIdy'](parseQueryMetadata,_0x3edf9a),_0x375b8d={'event':_0x2de000['HGPIZ'],'queryType':_0x257249,'table':_0x42f13d,'query':_0x3edf9a,'paramCount':_0x2859d5[_0x314e11(0x192)],'dbType':dbType};sqlLogParams&&_0x2859d5['length']>0x0&&(_0x375b8d['params']=redactSensitiveParams(_0x2859d5,_0x3edf9a));duration!==null&&(_0x375b8d['durationMs']=duration,_0x375b8d[_0x314e11(0x1c5)]=duration>sqlLogSlowThreshold);_0x2de000[_0x314e11(0x187)](rowsAffected,null)&&(_0x375b8d[_0x314e11(0x1d8)]=rowsAffected);const _0x402941=_0x42f13d||'unknown';let _0x3216bf='['+_0x257249+']\x20'+_0x402941;duration!==null&&(_0x3216bf+='\x20('+duration+'ms)');const _0x933496=duration!==null&&_0x2de000[_0x314e11(0x1b5)](duration,sqlLogSlowThreshold);let _0x4c43c9=_0x2de000[_0x314e11(0x138)];if(_0x933496)_0x3216bf+=_0x314e11(0x1db),_0x4c43c9=_0x2de000[_0x314e11(0x15b)],logger['warn'](_0x375b8d,_0x3216bf);else _0x2de000['NRenZ'](sqlLogLevel,'info')?(_0x4c43c9='info',logger[_0x314e11(0x137)](_0x375b8d,_0x3216bf)):logger[_0x314e11(0x1ad)](_0x375b8d,_0x3216bf);_0x2de000['gplRY'](writeToFileLog,{..._0x375b8d,'level':_0x4c43c9,'msg':_0x3216bf,'time':new Date()['toISOString']()},_0x4c43c9);},logTransaction=(_0x447c50,_0x480ec3)=>{const _0x953e4f=a0_0x129db8,_0x3837fd={'event':_0x953e4f(0x159),'status':_0x447c50,'queryCount':_0x480ec3},_0x1037b2=_0x953e4f(0x182)+_0x447c50;logger['debug'](_0x3837fd,_0x1037b2),writeToFileLog({..._0x3837fd,'level':_0x953e4f(0x1ad),'msg':_0x1037b2,'time':new Date()['toISOString']()},_0x953e4f(0x1ad));},redactObject=_0x45865f=>{const _0x5b03f6=a0_0x129db8,_0x17da73={'QtlxO':'object','oywpz':_0x5b03f6(0x1cb),'AURfg':'passwd','VWVrA':_0x5b03f6(0x1a4),'sQOUt':'token','IOark':_0x5b03f6(0x18a),'NEbbH':'authorization','cScrz':'creditcard','flooe':_0x5b03f6(0x160),'QdDXJ':_0x5b03f6(0x149),'gRTho':_0x5b03f6(0x185),'Ahplf':'refresh_token','iFQBR':'access_token','QPKnq':'[REDACTED]','uyDoD':function(_0x5bce93,_0x401790){return _0x5bce93!==_0x401790;}};if(!_0x45865f||typeof _0x45865f!==_0x17da73['QtlxO'])return _0x45865f;const _0x411a35=[_0x17da73['oywpz'],_0x17da73[_0x5b03f6(0x16c)],_0x17da73['VWVrA'],_0x17da73['sQOUt'],'secret','apikey',_0x17da73['IOark'],_0x17da73[_0x5b03f6(0x15d)],_0x17da73[_0x5b03f6(0x18f)],_0x17da73[_0x5b03f6(0x14c)],_0x5b03f6(0x121),'ssn','pin',_0x17da73[_0x5b03f6(0x188)],_0x17da73[_0x5b03f6(0x14b)],_0x17da73['Ahplf'],_0x17da73[_0x5b03f6(0x13c)]],_0x57f046=Array['isArray'](_0x45865f)?[..._0x45865f]:{..._0x45865f};for(const _0x637e7e of Object[_0x5b03f6(0x142)](_0x57f046)){const _0x16f490=_0x637e7e[_0x5b03f6(0x1a8)]();if(_0x411a35[_0x5b03f6(0x123)](_0x154afa=>_0x16f490[_0x5b03f6(0x13b)](_0x154afa)))_0x57f046[_0x637e7e]=_0x17da73['QPKnq'];else typeof _0x57f046[_0x637e7e]===_0x5b03f6(0x1c8)&&_0x17da73[_0x5b03f6(0x19a)](_0x57f046[_0x637e7e],null)&&(_0x57f046[_0x637e7e]=redactObject(_0x57f046[_0x637e7e]));}return _0x57f046;},logError=(_0x31576d,_0x3f16f3={},_0xf2573d=null)=>{const _0x3466e7=a0_0x129db8,_0x379975={'YWlib':_0x3466e7(0x1c2)},_0x226b66={'event':_0x379975[_0x3466e7(0x151)],'errorName':_0x31576d['name']||_0x3466e7(0x14f),'errorMessage':_0x31576d['message'],'errorCode':_0x31576d['code']||null,'stack':_0x31576d[_0x3466e7(0x1d0)],..._0x3f16f3},_0x1b0a6f=_0xf2573d||'Error:\x20'+_0x31576d['message'];logger['error'](_0x226b66,_0x1b0a6f),writeToFileLog({..._0x226b66,'level':_0x379975['YWlib'],'msg':_0x1b0a6f,'time':new Date()[_0x3466e7(0x1b7)]()},_0x379975[_0x3466e7(0x151)]);},logFatalError=(_0x193390,_0x24449a={},_0x7dfe71=null)=>{const _0x36a7fd=a0_0x129db8,_0x3fdb79={'TOFcO':'fatal_error','ABQBm':_0x36a7fd(0x14f),'lSXaF':'CRITICAL','hLNcD':'error'},_0x24237f={'event':_0x3fdb79[_0x36a7fd(0x12c)],'errorName':_0x193390[_0x36a7fd(0x139)]||_0x3fdb79['ABQBm'],'errorMessage':_0x193390['message'],'errorCode':_0x193390['code']||null,'stack':_0x193390[_0x36a7fd(0x1d0)],'severity':_0x3fdb79[_0x36a7fd(0x190)],..._0x24449a},_0x14868b=_0x7dfe71||_0x36a7fd(0x1c0)+_0x193390[_0x36a7fd(0x12b)];logger['fatal'](_0x24237f,_0x14868b),writeToFileLog({..._0x24237f,'level':'fatal','msg':_0x14868b,'time':new Date()[_0x36a7fd(0x1b7)]()},_0x3fdb79['hLNcD']);},logHttpError=(_0x579194,_0x5d726f,_0x5d2614={})=>{const _0x3974df=a0_0x129db8,_0x53a63a={'nzsSB':_0x3974df(0x14f),'VkOeE':'user-agent','rpiwB':_0x3974df(0x144),'zHHLF':function(_0x1f3aae,_0x107ba9){return _0x1f3aae>=_0x107ba9;},'BPZGL':function(_0x4e88bd,_0x3e1488,_0x49e46b){return _0x4e88bd(_0x3e1488,_0x49e46b);},'ONkJN':'warn','PPqqA':function(_0x4a755a,_0x247593){return _0x4a755a>=_0x247593;},'pJLIo':'error'},_0x45b225={'event':'http_error','errorName':_0x579194['name']||_0x53a63a['nzsSB'],'errorMessage':_0x579194[_0x3974df(0x12b)],'errorCode':_0x579194[_0x3974df(0x16f)]||_0x579194[_0x3974df(0x1c7)]||0x1f4,'stack':_0x579194[_0x3974df(0x1d0)],'method':_0x5d726f?.['method'],'url':_0x5d726f?.[_0x3974df(0x175)]||_0x5d726f?.['originalUrl'],'path':_0x5d726f?.['path'],'ip':_0x5d726f?.['ip']||_0x5d726f?.[_0x3974df(0x171)]?.['remoteAddress'],'userAgent':_0x5d726f?.['get']?.(_0x53a63a['VkOeE']),'requestId':_0x5d726f?.['id']||_0x5d726f?.['headers']?.[_0x53a63a['rpiwB']],'body':_0x5d726f?.['body']?redactObject(_0x5d726f['body']):undefined,'query':_0x5d726f?.[_0x3974df(0x179)],..._0x5d2614},_0x3e9f08=_0x579194[_0x3974df(0x1c7)]||_0x579194[_0x3974df(0x126)]||0x1f4,_0x3ebbfa=_0x3974df(0x198)+_0x3e9f08+':\x20'+_0x579194['message'];_0x53a63a['zHHLF'](_0x3e9f08,0x1f4)?logger[_0x3974df(0x1c2)](_0x45b225,_0x3ebbfa):logger[_0x3974df(0x180)](_0x45b225,_0x3ebbfa),_0x53a63a['BPZGL'](writeToFileLog,{..._0x45b225,'level':_0x3e9f08>=0x1f4?'error':_0x53a63a[_0x3974df(0x1b1)],'msg':_0x3ebbfa,'time':new Date()['toISOString']()},_0x53a63a[_0x3974df(0x184)](_0x3e9f08,0x1f4)?_0x53a63a[_0x3974df(0x169)]:_0x3974df(0x180));},logUncaughtError=(_0x588fa7,_0x1b22ee)=>{const _0x436033=a0_0x129db8,_0x22c5d8={'CsloU':'Error','UZAav':function(_0x47bd6c,_0x3b9c8f){return _0x47bd6c(_0x3b9c8f);},'DQJPJ':function(_0x33299b,_0x37b4ba,_0x8f45ef){return _0x33299b(_0x37b4ba,_0x8f45ef);},'XfNnk':_0x436033(0x1c2)},_0x47c98b={'event':_0x588fa7,'errorName':_0x1b22ee?.[_0x436033(0x139)]||_0x22c5d8['CsloU'],'errorMessage':_0x1b22ee?.[_0x436033(0x12b)]||_0x22c5d8[_0x436033(0x177)](String,_0x1b22ee),'errorCode':_0x1b22ee?.[_0x436033(0x16f)]||null,'stack':_0x1b22ee?.[_0x436033(0x1d0)],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process[_0x436033(0x168)](),'uptime':process[_0x436033(0x16d)]()},_0x58bed1='['+_0x588fa7[_0x436033(0x193)]()+']\x20'+(_0x1b22ee?.['message']||_0x1b22ee);logger['fatal'](_0x47c98b,_0x58bed1),_0x22c5d8['DQJPJ'](writeToFileLog,{..._0x47c98b,'level':_0x436033(0x1cc),'msg':_0x58bed1,'time':new Date()[_0x436033(0x1b7)]()},_0x22c5d8[_0x436033(0x164)]);},setupGlobalErrorHandlers=()=>{const _0x95a281=a0_0x129db8,_0x5cd650={'KxpMQ':function(_0x36ad4a,_0x5e5145,_0x3506ca){return _0x36ad4a(_0x5e5145,_0x3506ca);},'LFmKF':_0x95a281(0x1bf),'EKEUU':function(_0x4a9d84,_0x53c499){return _0x4a9d84 instanceof _0x53c499;},'YSlsc':function(_0xd70c84,_0xcaecf3){return _0xd70c84(_0xcaecf3);},'SWkSc':function(_0x5a9a18,_0x5ee4dd,_0x5c0898){return _0x5a9a18(_0x5ee4dd,_0x5c0898);},'HyAiK':_0x95a281(0x135),'bpfhU':'unhandledRejection','RzpVu':'global_error_handlers_setup','AOgYF':_0x95a281(0x167)};process['on'](_0x5cd650['LFmKF'],_0x42ccac=>{const _0x193f0b=_0x95a281;_0x5cd650[_0x193f0b(0x1da)](logUncaughtError,_0x5cd650['LFmKF'],_0x42ccac),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x5cd650[_0x95a281(0x17e)],(_0x5d219d,_0x518779)=>{const _0x57da8c=_0x95a281,_0x18c413=_0x5cd650[_0x57da8c(0x140)](_0x5d219d,Error)?_0x5d219d:new Error(_0x5cd650[_0x57da8c(0x1dc)](String,_0x5d219d));_0x5cd650[_0x57da8c(0x181)](logUncaughtError,'unhandledRejection',_0x18c413);}),process['on'](_0x95a281(0x1ae),_0x291706=>{const _0x31d7c2=_0x95a281;logger['warn']({'event':_0x5cd650[_0x31d7c2(0x161)],'name':_0x291706[_0x31d7c2(0x139)],'message':_0x291706[_0x31d7c2(0x12b)],'stack':_0x291706['stack']},_0x31d7c2(0x1b9)+_0x291706[_0x31d7c2(0x12b)]);});const _0x6c83f={'event':_0x5cd650[_0x95a281(0x125)]},_0xddbfde=_0x5cd650[_0x95a281(0x1aa)];logger['info'](_0x6c83f,_0xddbfde),_0x5cd650[_0x95a281(0x1da)](writeToFileLog,{..._0x6c83f,'level':'info','msg':_0xddbfde,'time':new Date()[_0x95a281(0x1b7)]()},_0x95a281(0x137));},createErrorHandlerMiddleware=()=>{const _0x5e1ec2=a0_0x129db8,_0x325e11={'EnpmJ':'Internal\x20server\x20error','TTUES':_0x5e1ec2(0x144)};return(_0x43b4c3,_0x55897d,_0x2bb3ee,_0x5d8637)=>{const _0x595882=_0x5e1ec2;logHttpError(_0x43b4c3,_0x55897d);const _0x2a9905=_0x43b4c3[_0x595882(0x1c7)]||_0x43b4c3[_0x595882(0x126)]||0x1f4;_0x2bb3ee[_0x595882(0x126)](_0x2a9905)[_0x595882(0x14a)]({'success':![],'error':_0x2a9905>=0x1f4?_0x325e11['EnpmJ']:_0x43b4c3['message'],'requestId':_0x55897d['id']||_0x55897d['headers']?.[_0x325e11[_0x595882(0x13a)]]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x1b7b1f=a0_0x296a;(function(_0x457e99,_0x166aa1){const _0x17bc04=a0_0x296a,_0x1e6ecb=_0x457e99();while(!![]){try{const _0x59e694=parseInt(_0x17bc04(0x1b3))/0x1*(parseInt(_0x17bc04(0x178))/0x2)+-parseInt(_0x17bc04(0x124))/0x3+-parseInt(_0x17bc04(0x13d))/0x4+-parseInt(_0x17bc04(0x169))/0x5*(parseInt(_0x17bc04(0x156))/0x6)+parseInt(_0x17bc04(0x168))/0x7+-parseInt(_0x17bc04(0x13b))/0x8*(-parseInt(_0x17bc04(0x12a))/0x9)+parseInt(_0x17bc04(0x12b))/0xa*(parseInt(_0x17bc04(0x1ab))/0xb);if(_0x59e694===_0x166aa1)break;else _0x1e6ecb['push'](_0x1e6ecb['shift']());}catch(_0x397b72){_0x1e6ecb['push'](_0x1e6ecb['shift']());}}}(a0_0x9f88,0x50a91));const pino=require(a0_0x1b7b1f(0x11f)),fs=require('fs'),path=require(a0_0x1b7b1f(0x1c8));let logToFile=![],logDir=a0_0x1b7b1f(0x10a),serviceName=a0_0x1b7b1f(0x1a0),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x1b7b1f(0x16a),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1b7b1f(0x181)]!=='production',logLevel=process[a0_0x1b7b1f(0x183)][a0_0x1b7b1f(0x16f)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1b7b1f(0x183)]['APP_VERSION']||a0_0x1b7b1f(0x149),'env':process[a0_0x1b7b1f(0x183)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x1b7b1f(0x13c)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x1b7b1f(0x15b),'password','token',a0_0x1b7b1f(0x1b1),a0_0x1b7b1f(0x1a3),a0_0x1b7b1f(0x10e)],'censor':'[REDACTED]'},'serializers':{'req':_0x167ca8=>({'id':_0x167ca8['id'],'method':_0x167ca8['method'],'url':_0x167ca8[a0_0x1b7b1f(0x14e)],'path':_0x167ca8['path'],'remoteAddress':_0x167ca8['ip']||_0x167ca8['connection']?.['remoteAddress']}),'res':_0x127e92=>({'statusCode':_0x127e92[a0_0x1b7b1f(0x1a8)],'headers':_0x127e92['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4d1ca9=a0_0x1b7b1f,_0x40f037={'QloKZ':function(_0x8b9f26,_0x290de8){return _0x8b9f26===_0x290de8;},'mbtmo':function(_0x5b9981,_0x2c1950){return _0x5b9981===_0x2c1950;},'zoTEa':function(_0x546603,_0xae2d08){return _0x546603!==_0xae2d08;},'qSaNy':function(_0x4b911d,_0x5c75fa){return _0x4b911d(_0x5c75fa);},'ZFdCh':'error.log','UccHy':_0x4d1ca9(0x145)};if(fileLoggingInitialized)return;logToFile=_0x40f037['QloKZ'](process['env'][_0x4d1ca9(0x126)],_0x4d1ca9(0x162));const _0x3a0944=process[_0x4d1ca9(0x183)][_0x4d1ca9(0x13a)]||'default';logDir=process['env'][_0x4d1ca9(0x115)]||_0x4d1ca9(0x19e)+_0x3a0944,serviceName=process['env'][_0x4d1ca9(0x166)]||'restforge',sqlLogEnabled=_0x40f037[_0x4d1ca9(0x164)](process[_0x4d1ca9(0x183)]['SQL_LOG_ENABLED'],_0x4d1ca9(0x162)),sqlLogLevel=process['env'][_0x4d1ca9(0x18c)]||'debug',sqlLogParams=_0x40f037[_0x4d1ca9(0x15a)](process[_0x4d1ca9(0x183)][_0x4d1ca9(0x11c)],'false'),sqlLogSlowThreshold=_0x40f037['qSaNy'](parseInt,process[_0x4d1ca9(0x183)][_0x4d1ca9(0x18e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2b7cf9=path[_0x4d1ca9(0x10f)](process['cwd'](),logDir);try{!fs['existsSync'](_0x2b7cf9)&&fs['mkdirSync'](_0x2b7cf9,{'recursive':!![]});}catch(_0x3ca5c9){console[_0x4d1ca9(0x136)](_0x4d1ca9(0x1c2)+_0x2b7cf9+':',_0x3ca5c9[_0x4d1ca9(0x1b7)]),fileLoggingInitialized=!![];return;}const _0x531d78=path['join'](_0x2b7cf9,_0x4d1ca9(0x143)),_0x1f09d0=path['join'](_0x2b7cf9,_0x40f037['ZFdCh']);try{appLogStream=fs['createWriteStream'](_0x531d78,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1f09d0,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3744e0={'event':_0x4d1ca9(0x140),'logDir':_0x2b7cf9,'files':['app.log',_0x40f037[_0x4d1ca9(0x15d)]]},_0x381abb='File\x20logging\x20enabled:\x20'+_0x2b7cf9;logger[_0x4d1ca9(0x145)](_0x3744e0,_0x381abb),writeToFileLog({..._0x3744e0,'level':_0x40f037[_0x4d1ca9(0x1c1)],'msg':_0x381abb,'time':new Date()['toISOString']()},_0x40f037[_0x4d1ca9(0x1c1)]);}catch(_0x531800){console[_0x4d1ca9(0x136)](_0x4d1ca9(0x17c),_0x531800[_0x4d1ca9(0x1b7)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1288d9,_0x57cdf9){const _0x54d6d2=a0_0x1b7b1f,_0x3ef0ca={'GZZFW':function(_0x574f85,_0x4bfbc4){return _0x574f85||_0x4bfbc4;},'iqUNE':_0x54d6d2(0x136),'sjZJv':_0x54d6d2(0x12c)};if(_0x3ef0ca['GZZFW'](!logToFile,!appLogStream))return;const _0xeb581c={'service':serviceName,..._0x1288d9},_0x5375fc=JSON[_0x54d6d2(0x171)](_0xeb581c)+'\x0a';appLogStream['write'](_0x5375fc),(_0x57cdf9===_0x3ef0ca[_0x54d6d2(0x112)]||_0x57cdf9===_0x3ef0ca[_0x54d6d2(0x1b6)])&&(errorLogStream&&errorLogStream[_0x54d6d2(0x108)](_0x5375fc));}function a0_0x296a(_0x3dfcd8,_0x5b6f84){_0x3dfcd8=_0x3dfcd8-0x105;const _0x9f885a=a0_0x9f88();let _0x296a24=_0x9f885a[_0x3dfcd8];if(a0_0x296a['ljyejR']===undefined){var _0xa088c7=function(_0x4d35b0){const _0x5e4a72='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51af3e='',_0xa3f665='';for(let _0x3dc4b3=0x0,_0xd727f8,_0x26e5c1,_0x5c26fb=0x0;_0x26e5c1=_0x4d35b0['charAt'](_0x5c26fb++);~_0x26e5c1&&(_0xd727f8=_0x3dc4b3%0x4?_0xd727f8*0x40+_0x26e5c1:_0x26e5c1,_0x3dc4b3++%0x4)?_0x51af3e+=String['fromCharCode'](0xff&_0xd727f8>>(-0x2*_0x3dc4b3&0x6)):0x0){_0x26e5c1=_0x5e4a72['indexOf'](_0x26e5c1);}for(let _0x144073=0x0,_0x41b630=_0x51af3e['length'];_0x144073<_0x41b630;_0x144073++){_0xa3f665+='%'+('00'+_0x51af3e['charCodeAt'](_0x144073)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa3f665);};a0_0x296a['rMNNKE']=_0xa088c7,a0_0x296a['EGtxQg']={},a0_0x296a['ljyejR']=!![];}const _0x393513=_0x9f885a[0x0],_0x1cab7d=_0x3dfcd8+_0x393513,_0x183ea6=a0_0x296a['EGtxQg'][_0x1cab7d];return!_0x183ea6?(_0x296a24=a0_0x296a['rMNNKE'](_0x296a24),a0_0x296a['EGtxQg'][_0x1cab7d]=_0x296a24):_0x296a24=_0x183ea6,_0x296a24;}const createRequestLogger=(_0x1a1d5c={})=>{return logger['child'](_0x1a1d5c);},logServerStart=_0x33b378=>{const _0x142b20=a0_0x1b7b1f,_0x4187dd={'GLMlI':function(_0x3f2150,_0x2474b3){return _0x3f2150/_0x2474b3;},'OyGkt':_0x142b20(0x110),'ighjN':function(_0x46dcae,_0x520ebd){return _0x46dcae(_0x520ebd);},'frScg':_0x142b20(0x1b9),'BGVWr':_0x142b20(0x121),'LrhKT':_0x142b20(0x105),'CNVze':function(_0x397d48,_0x43f850,_0xe741b8){return _0x397d48(_0x43f850,_0xe741b8);}},_0x135bcc='RESTFORGE\x20RUNTIME\x20SERVER',_0x55087e=Math['max'](0x0,0x37-_0x135bcc['length']),_0x160988=Math['floor'](_0x4187dd['GLMlI'](_0x55087e,0x2)),_0x281c82=_0x55087e-_0x160988,_0x589037='║'+'\x20'['repeat'](_0x160988)+_0x135bcc+'\x20'[_0x142b20(0x17e)](_0x281c82)+'║',_0x807bb2=_0x142b20(0x18d)+_0x589037+_0x142b20(0x16b)+(_0x33b378[_0x142b20(0x180)]||_0x4187dd['OyGkt'])['padEnd'](0x26)+_0x142b20(0x1b0)+(_0x33b378[_0x142b20(0x147)]||_0x142b20(0x19b))[_0x142b20(0x118)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4187dd['ighjN'](String,_0x33b378[_0x142b20(0x148)]||0xbb8)['padEnd'](0x26)+_0x142b20(0x142)+(_0x33b378['configFile']||_0x4187dd[_0x142b20(0x1a2)])[_0x142b20(0x118)](0x26)+_0x142b20(0x13e)+(_0x33b378[_0x142b20(0x1b1)]?_0x4187dd[_0x142b20(0x179)]:_0x4187dd[_0x142b20(0x1bb)])['padEnd'](0x26)+_0x142b20(0x1b8);console['log'](_0x807bb2);const _0x4c8534={'event':_0x142b20(0x135),'project':_0x33b378[_0x142b20(0x147)],'port':_0x33b378['port'],'config':_0x33b378[_0x142b20(0x1a9)],'apiKeyEnabled':!!_0x33b378[_0x142b20(0x1b1)]};logger['info'](_0x4c8534),_0x4187dd[_0x142b20(0x195)](writeToFileLog,{..._0x4c8534,'level':'info','msg':'Server\x20starting:\x20'+_0x33b378['project']+_0x142b20(0x196)+_0x33b378[_0x142b20(0x148)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x2288a9=>{const _0x195a0a=a0_0x1b7b1f,_0x54570f={'gRQTh':_0x195a0a(0x14a),'vquWJ':_0x195a0a(0x145)},_0x3aeffc={'event':_0x54570f[_0x195a0a(0x193)],'port':_0x2288a9[_0x195a0a(0x148)],'module':_0x2288a9['module'],'healthCheck':_0x2288a9[_0x195a0a(0x109)],'serviceInfo':_0x2288a9['serviceInfo'],'baseUrl':_0x2288a9[_0x195a0a(0x113)]},_0x50bcf1=_0x195a0a(0x165)+_0x2288a9[_0x195a0a(0x148)];logger[_0x195a0a(0x145)](_0x3aeffc,_0x50bcf1),writeToFileLog({..._0x3aeffc,'level':_0x54570f['vquWJ'],'msg':_0x50bcf1,'time':new Date()['toISOString']()},_0x54570f[_0x195a0a(0x177)]),_0x2288a9['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x2288a9[_0x195a0a(0x109)]),_0x2288a9['serviceInfo']&&logger[_0x195a0a(0x145)]('\x20\x20Info:\x20\x20\x20'+_0x2288a9[_0x195a0a(0x120)]),_0x2288a9[_0x195a0a(0x113)]&&logger['info'](_0x195a0a(0x130)+_0x2288a9[_0x195a0a(0x113)]);},logProjectLoaded=(_0x18a8f8,_0x45ddd2)=>{const _0x197cec=a0_0x1b7b1f,_0x5d2337={'YSBbN':'project_loaded','UYujR':_0x197cec(0x145)},_0x2b823c={'event':_0x5d2337['YSBbN'],'project':_0x18a8f8,'path':_0x45ddd2},_0x38353d='[OK]\x20Project\x20loaded:\x20'+_0x18a8f8;logger[_0x197cec(0x145)](_0x2b823c,_0x38353d),writeToFileLog({..._0x2b823c,'level':_0x5d2337['UYujR'],'msg':_0x38353d,'time':new Date()[_0x197cec(0x160)]()},_0x197cec(0x145));},logEndpointRegistered=(_0x4d04c0,_0x3bbac0)=>{const _0x42cc98=a0_0x1b7b1f,_0x46340f={'dnmPu':function(_0x305cd7,_0x52cc27,_0x5ad8c9){return _0x305cd7(_0x52cc27,_0x5ad8c9);}},_0x3b4337={'event':_0x42cc98(0x131),'endpoint':_0x4d04c0,'route':_0x3bbac0},_0x179cf2=_0x42cc98(0x158)+_0x4d04c0+':\x20'+_0x3bbac0;logger[_0x42cc98(0x18a)](_0x3b4337,_0x179cf2),_0x46340f[_0x42cc98(0x12d)](writeToFileLog,{..._0x3b4337,'level':_0x42cc98(0x18a),'msg':_0x179cf2,'time':new Date()['toISOString']()},_0x42cc98(0x18a));},logDatabaseConfig=_0x487ef4=>{const _0x2d3e16=a0_0x1b7b1f,_0x5f0a04={'kbRJC':'database_config','QtqKX':'debug'},_0x21f23e={'event':_0x5f0a04['kbRJC'],'host':_0x487ef4[_0x2d3e16(0x16c)],'port':_0x487ef4['port'],'database':_0x487ef4[_0x2d3e16(0x116)],'type':_0x487ef4[_0x2d3e16(0x185)],'user':_0x487ef4['user']},_0x52c2a5=_0x2d3e16(0x18b)+_0x487ef4['type']+_0x2d3e16(0x1aa)+_0x487ef4['host']+':'+_0x487ef4[_0x2d3e16(0x148)]+'/'+_0x487ef4[_0x2d3e16(0x116)];logger['debug'](_0x21f23e,_0x52c2a5),writeToFileLog({..._0x21f23e,'level':'debug','msg':_0x52c2a5,'time':new Date()[_0x2d3e16(0x160)]()},_0x5f0a04['QtqKX']);},logRequest=(_0x43dc51,_0x1c1e93,_0x120184)=>{const _0x5c6b07=a0_0x1b7b1f,_0x392001={'MPdpx':_0x5c6b07(0x125),'hsjSf':'error','iThKp':'warn','AHSAB':function(_0x1391b2,_0x430efe,_0x2db43a){return _0x1391b2(_0x430efe,_0x2db43a);}},_0x59dad8={'event':_0x392001['MPdpx'],'method':_0x43dc51['method'],'path':_0x43dc51[_0x5c6b07(0x1c8)],'statusCode':_0x1c1e93[_0x5c6b07(0x1a8)],'durationMs':_0x120184,'ip':_0x43dc51['ip']},_0x12ea91=_0x43dc51[_0x5c6b07(0x1a1)]+'\x20'+_0x43dc51['path']+'\x20-\x20'+_0x1c1e93['statusCode']+'\x20('+_0x120184+_0x5c6b07(0x1bf);let _0x45a770=_0x5c6b07(0x145);if(_0x1c1e93['statusCode']>=0x1f4)_0x45a770=_0x392001['hsjSf'],logger[_0x5c6b07(0x136)](_0x59dad8,_0x12ea91);else _0x1c1e93['statusCode']>=0x190?(_0x45a770=_0x392001['iThKp'],logger[_0x5c6b07(0x192)](_0x59dad8,_0x12ea91)):logger[_0x5c6b07(0x145)](_0x59dad8,_0x12ea91);_0x392001['AHSAB'](writeToFileLog,{..._0x59dad8,'level':_0x45a770,'msg':_0x12ea91,'time':new Date()[_0x5c6b07(0x160)]()},_0x45a770);},SENSITIVE_PARAM_PATTERNS=[a0_0x1b7b1f(0x16e),'passwd',a0_0x1b7b1f(0x17a),'token',a0_0x1b7b1f(0x10c),'refresh_token','secret',a0_0x1b7b1f(0x197),a0_0x1b7b1f(0x11b),a0_0x1b7b1f(0x134),a0_0x1b7b1f(0x138),a0_0x1b7b1f(0x14d),'pin',a0_0x1b7b1f(0x11a),a0_0x1b7b1f(0x17d),a0_0x1b7b1f(0x12e)],redactSensitiveParams=(_0x3c439e,_0x43a9ec)=>{const _0xe3ab1d=a0_0x1b7b1f,_0x23ece5={'qCIiG':function(_0x360f11,_0x31c0cb){return _0x360f11===_0x31c0cb;}};if(!_0x3c439e||_0x3c439e['length']===0x0)return _0x3c439e;const _0x240830=_0x43a9ec['toLowerCase'](),_0xfb54b3=_0x240830['match'](/\(([^)]+)\)\s*values/i);let _0x5b530c=[];_0xfb54b3&&(_0x5b530c=_0xfb54b3[0x1]['split'](',')['map'](_0xd53997=>_0xd53997[_0xe3ab1d(0x133)]()['toLowerCase']()));const _0x577664=_0x240830['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x577664){const _0x45914c=_0x577664[0x1],_0x181a1e=_0x45914c[_0xe3ab1d(0x107)](/(\w+)\s*=/g);_0x181a1e&&(_0x5b530c=_0x181a1e[_0xe3ab1d(0x15e)](_0x5543ac=>_0x5543ac[_0xe3ab1d(0x188)](/\s*=/,'')['trim']()[_0xe3ab1d(0x163)]()));}return _0x3c439e[_0xe3ab1d(0x15e)]((_0x62de9a,_0x2c4cc3)=>{const _0x1f53e4=_0xe3ab1d;if(_0x5b530c[_0x2c4cc3]){const _0x232f2e=_0x5b530c[_0x2c4cc3],_0x2c6c11=SENSITIVE_PARAM_PATTERNS[_0x1f53e4(0x10d)](_0x50f2fc=>_0x232f2e['includes'](_0x50f2fc));if(_0x2c6c11)return _0x1f53e4(0x174);}if(_0x23ece5[_0x1f53e4(0x18f)](typeof _0x62de9a,_0x1f53e4(0x1bd))&&_0x62de9a['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x1f53e4(0x16d)](_0x62de9a)&&_0x62de9a[_0x1f53e4(0x1c3)]('.'))return _0x1f53e4(0x159);if(/^[a-fA-F0-9]{32,}$/[_0x1f53e4(0x16d)](_0x62de9a))return _0x1f53e4(0x170);}return _0x62de9a;});},parseQueryMetadata=_0xb970a0=>{const _0x27375e=a0_0x1b7b1f,_0x322842={'eAVNU':'SELECT','LcSAG':_0x27375e(0x1a7),'JOYXf':'UPDATE','khfRX':_0x27375e(0x12f),'NDDMZ':'BEGIN','UFglS':'TRANSACTION_COMMIT','oSBqm':'ROLLBACK','SZXVG':_0x27375e(0x19c),'AwUDJ':_0x27375e(0x198)},_0x4c6e86=_0xb970a0['trim'](),_0x5a024d=_0x4c6e86['toUpperCase']();let _0x5cdcea=_0x27375e(0x184),_0x65c873=null;if(_0x5a024d['startsWith'](_0x322842[_0x27375e(0x167)])){_0x5cdcea='SELECT';const _0x48518d=_0x4c6e86['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x48518d?_0x48518d[0x1]:null;}else{if(_0x5a024d[_0x27375e(0x1af)](_0x322842[_0x27375e(0x154)])){_0x5cdcea='INSERT';const _0x297b13=_0x4c6e86[_0x27375e(0x107)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x297b13?_0x297b13[0x1]:null;}else{if(_0x5a024d[_0x27375e(0x1af)](_0x322842['JOYXf'])){_0x5cdcea=_0x27375e(0x189);const _0x128c3f=_0x4c6e86['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x128c3f?_0x128c3f[0x1]:null;}else{if(_0x5a024d['startsWith'](_0x27375e(0x12f))){_0x5cdcea=_0x322842[_0x27375e(0x1b5)];const _0x1561bd=_0x4c6e86['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x1561bd?_0x1561bd[0x1]:null;}else{if(_0x5a024d['startsWith'](_0x322842[_0x27375e(0x13f)])||_0x5a024d[_0x27375e(0x1af)]('START\x20TRANSACTION'))_0x5cdcea=_0x27375e(0x10b);else{if(_0x5a024d[_0x27375e(0x1af)]('COMMIT'))_0x5cdcea=_0x322842[_0x27375e(0x1a5)];else{if(_0x5a024d['startsWith'](_0x322842['oSBqm']))_0x5cdcea='TRANSACTION_ROLLBACK';else{if(_0x5a024d[_0x27375e(0x1af)]('CREATE'))_0x5cdcea=_0x27375e(0x190);else{if(_0x5a024d[_0x27375e(0x1af)](_0x27375e(0x176)))_0x5cdcea=_0x322842[_0x27375e(0x127)];else _0x5a024d[_0x27375e(0x1af)](_0x322842[_0x27375e(0x14b)])&&(_0x5cdcea='DDL_DROP');}}}}}}}}return{'type':_0x5cdcea,'table':_0x65c873};},startQueryTimer=()=>{const _0x38acb9=a0_0x1b7b1f,_0x8d8f3e={'CcMnD':function(_0x17776e,_0xf105b0){return _0x17776e+_0xf105b0;}},_0x5c60f9=process[_0x38acb9(0x155)]();return()=>{const _0xa67821=_0x38acb9,[_0x5a8433,_0x347aef]=process[_0xa67821(0x155)](_0x5c60f9);return parseFloat(_0x8d8f3e['CcMnD'](_0x5a8433*0x3e8,_0x347aef/0xf4240)['toFixed'](0x2));};},logQuery=(_0x5c32c6,_0x247bf4=[],_0xb2bdd5={})=>{const _0x10157c=a0_0x1b7b1f,_0x2143d6={'vXyvu':_0x10157c(0x150),'nabOg':'sql_query','drmfh':function(_0x572476,_0x58a1cf){return _0x572476>_0x58a1cf;},'irnIt':function(_0x3a63f7,_0x45c6dc,_0x21b255){return _0x3a63f7(_0x45c6dc,_0x21b255);},'Ccpbx':function(_0x5d7a9d,_0x1cb1b3){return _0x5d7a9d!==_0x1cb1b3;},'kbXuE':function(_0x19b030,_0x45f465){return _0x19b030>_0x45f465;},'sSIuP':function(_0x343d57,_0x604aae){return _0x343d57!==_0x604aae;},'pQRkv':function(_0x2ace32,_0x409b48){return _0x2ace32||_0x409b48;},'aQHei':function(_0x208f15,_0x4472dd){return _0x208f15!==_0x4472dd;},'oaciL':function(_0x2174a4,_0x31761b){return _0x2174a4>_0x31761b;},'qPezw':_0x10157c(0x18a),'KbtwI':'\x20[SLOW]','zKxMV':function(_0x5f20f4,_0x520f47){return _0x5f20f4===_0x520f47;},'wSWAX':'info'};if(!sqlLogEnabled){logger['debug']({'event':_0x10157c(0x141),'query':_0x5c32c6[_0x10157c(0x139)](0x0,0xc8),'paramCount':_0x247bf4['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2143d6[_0x10157c(0x1be)]}=_0xb2bdd5,{type:_0x4b787f,table:_0x1a6794}=parseQueryMetadata(_0x5c32c6),_0xb45f23={'event':_0x2143d6['nabOg'],'queryType':_0x4b787f,'table':_0x1a6794,'query':_0x5c32c6,'paramCount':_0x247bf4[_0x10157c(0x173)],'dbType':dbType};sqlLogParams&&_0x2143d6['drmfh'](_0x247bf4['length'],0x0)&&(_0xb45f23[_0x10157c(0x199)]=_0x2143d6[_0x10157c(0x137)](redactSensitiveParams,_0x247bf4,_0x5c32c6));_0x2143d6['Ccpbx'](duration,null)&&(_0xb45f23[_0x10157c(0x19d)]=duration,_0xb45f23[_0x10157c(0x14f)]=_0x2143d6[_0x10157c(0x1b4)](duration,sqlLogSlowThreshold));_0x2143d6[_0x10157c(0x172)](rowsAffected,null)&&(_0xb45f23['rowsAffected']=rowsAffected);const _0x3d78a3=_0x2143d6[_0x10157c(0x17f)](_0x1a6794,'unknown');let _0x31d33f='['+_0x4b787f+']\x20'+_0x3d78a3;_0x2143d6['aQHei'](duration,null)&&(_0x31d33f+='\x20('+duration+'ms)');const _0x5c9105=_0x2143d6['aQHei'](duration,null)&&_0x2143d6[_0x10157c(0x175)](duration,sqlLogSlowThreshold);let _0x510372=_0x2143d6[_0x10157c(0x17b)];if(_0x5c9105)_0x31d33f+=_0x2143d6['KbtwI'],_0x510372=_0x10157c(0x192),logger['warn'](_0xb45f23,_0x31d33f);else _0x2143d6[_0x10157c(0x191)](sqlLogLevel,'info')?(_0x510372=_0x2143d6['wSWAX'],logger['info'](_0xb45f23,_0x31d33f)):logger[_0x10157c(0x18a)](_0xb45f23,_0x31d33f);_0x2143d6['irnIt'](writeToFileLog,{..._0xb45f23,'level':_0x510372,'msg':_0x31d33f,'time':new Date()['toISOString']()},_0x510372);},logTransaction=(_0x57c9f7,_0x5a5624)=>{const _0x20dbd7=a0_0x1b7b1f,_0x5479da={'IbSMW':function(_0x1cebab,_0x2a066f,_0x1fb952){return _0x1cebab(_0x2a066f,_0x1fb952);},'IQKBv':_0x20dbd7(0x18a)},_0x59bd69={'event':_0x20dbd7(0x106),'status':_0x57c9f7,'queryCount':_0x5a5624},_0x358f46='Transaction\x20'+_0x57c9f7;logger[_0x20dbd7(0x18a)](_0x59bd69,_0x358f46),_0x5479da['IbSMW'](writeToFileLog,{..._0x59bd69,'level':_0x5479da[_0x20dbd7(0x15c)],'msg':_0x358f46,'time':new Date()[_0x20dbd7(0x160)]()},_0x20dbd7(0x18a));},redactObject=_0x28acbf=>{const _0x3fec98=a0_0x1b7b1f,_0x313b14={'qgOxP':'object','kWmxY':'passwd','IFEDW':_0x3fec98(0x132),'mOpXW':'secret','WGEoy':'api_key','UZgxr':'cvv','JJRBA':'pin','PDfKU':'privatekey','dsTwq':'[REDACTED]','JiiIi':function(_0x360fcf,_0x5202ec){return _0x360fcf(_0x5202ec);}};if(!_0x28acbf||typeof _0x28acbf!==_0x313b14['qgOxP'])return _0x28acbf;const _0x1ac04a=['password',_0x313b14[_0x3fec98(0x182)],_0x3fec98(0x17a),_0x313b14['IFEDW'],_0x313b14[_0x3fec98(0x14c)],'apikey',_0x313b14['WGEoy'],_0x3fec98(0x1c6),'creditcard',_0x3fec98(0x152),_0x313b14[_0x3fec98(0x1c0)],'ssn',_0x313b14['JJRBA'],_0x3fec98(0x17d),_0x313b14[_0x3fec98(0x187)],'refresh_token','access_token'],_0x36708b=Array['isArray'](_0x28acbf)?[..._0x28acbf]:{..._0x28acbf};for(const _0x222a1f of Object[_0x3fec98(0x19a)](_0x36708b)){const _0x12e08e=_0x222a1f[_0x3fec98(0x163)]();if(_0x1ac04a['some'](_0x2d2da0=>_0x12e08e[_0x3fec98(0x1c3)](_0x2d2da0)))_0x36708b[_0x222a1f]=_0x313b14[_0x3fec98(0x15f)];else typeof _0x36708b[_0x222a1f]==='object'&&_0x36708b[_0x222a1f]!==null&&(_0x36708b[_0x222a1f]=_0x313b14[_0x3fec98(0x1b2)](redactObject,_0x36708b[_0x222a1f]));}return _0x36708b;},logError=(_0x435836,_0x2c9a79={},_0x241d67=null)=>{const _0x4f5d25=a0_0x1b7b1f,_0x443b17={'zhNiW':'error','vPbDU':_0x4f5d25(0x1c4)},_0x37ca90={'event':_0x443b17['zhNiW'],'errorName':_0x435836[_0x4f5d25(0x117)]||_0x443b17['vPbDU'],'errorMessage':_0x435836['message'],'errorCode':_0x435836[_0x4f5d25(0x129)]||null,'stack':_0x435836[_0x4f5d25(0x194)],..._0x2c9a79},_0x3784dd=_0x241d67||_0x4f5d25(0x153)+_0x435836['message'];logger['error'](_0x37ca90,_0x3784dd),writeToFileLog({..._0x37ca90,'level':'error','msg':_0x3784dd,'time':new Date()['toISOString']()},_0x4f5d25(0x136));},logFatalError=(_0x4955fd,_0x243965={},_0x1301a5=null)=>{const _0x44e48e=a0_0x1b7b1f,_0x188094={'GYhYM':_0x44e48e(0x1c4),'pJvzc':function(_0x450fca,_0x5d65c8,_0x563c04){return _0x450fca(_0x5d65c8,_0x563c04);},'ikDbP':'error'},_0x51067c={'event':_0x44e48e(0x1ba),'errorName':_0x4955fd[_0x44e48e(0x117)]||_0x188094['GYhYM'],'errorMessage':_0x4955fd['message'],'errorCode':_0x4955fd['code']||null,'stack':_0x4955fd['stack'],'severity':'CRITICAL',..._0x243965},_0x2073fc=_0x1301a5||'FATAL:\x20'+_0x4955fd['message'];logger['fatal'](_0x51067c,_0x2073fc),_0x188094['pJvzc'](writeToFileLog,{..._0x51067c,'level':'fatal','msg':_0x2073fc,'time':new Date()[_0x44e48e(0x160)]()},_0x188094[_0x44e48e(0x123)]);},logHttpError=(_0x5ec289,_0x4c933f,_0x329325={})=>{const _0x4d9ad5=a0_0x1b7b1f,_0xcccab8={'HGraq':function(_0x544b25,_0x432310){return _0x544b25>=_0x432310;},'RaigY':function(_0x2cd1cd,_0x1b2c82,_0x528195){return _0x2cd1cd(_0x1b2c82,_0x528195);},'gsWMS':'warn'},_0x1f150a={'event':_0x4d9ad5(0x128),'errorName':_0x5ec289['name']||'Error','errorMessage':_0x5ec289['message'],'errorCode':_0x5ec289[_0x4d9ad5(0x129)]||_0x5ec289['statusCode']||0x1f4,'stack':_0x5ec289[_0x4d9ad5(0x194)],'method':_0x4c933f?.[_0x4d9ad5(0x1a1)],'url':_0x4c933f?.[_0x4d9ad5(0x14e)]||_0x4c933f?.['originalUrl'],'path':_0x4c933f?.[_0x4d9ad5(0x1c8)],'ip':_0x4c933f?.['ip']||_0x4c933f?.['connection']?.['remoteAddress'],'userAgent':_0x4c933f?.['get']?.('user-agent'),'requestId':_0x4c933f?.['id']||_0x4c933f?.['headers']?.['x-request-id'],'body':_0x4c933f?.[_0x4d9ad5(0x111)]?redactObject(_0x4c933f['body']):undefined,'query':_0x4c933f?.['query'],..._0x329325},_0x5d7068=_0x5ec289['statusCode']||_0x5ec289['status']||0x1f4,_0x1579b2=_0x4d9ad5(0x1c5)+_0x5d7068+':\x20'+_0x5ec289['message'];_0xcccab8['HGraq'](_0x5d7068,0x1f4)?logger['error'](_0x1f150a,_0x1579b2):logger['warn'](_0x1f150a,_0x1579b2),_0xcccab8['RaigY'](writeToFileLog,{..._0x1f150a,'level':_0xcccab8['HGraq'](_0x5d7068,0x1f4)?_0x4d9ad5(0x136):'warn','msg':_0x1579b2,'time':new Date()['toISOString']()},_0xcccab8[_0x4d9ad5(0x1ad)](_0x5d7068,0x1f4)?'error':_0xcccab8['gsWMS']);},logUncaughtError=(_0x42c3c9,_0x139e07)=>{const _0x294ef1=a0_0x1b7b1f,_0x5c327f={'YNRlJ':function(_0x446eec,_0x25b9a9){return _0x446eec(_0x25b9a9);},'ilPRD':_0x294ef1(0x144)},_0x1f4034={'event':_0x42c3c9,'errorName':_0x139e07?.[_0x294ef1(0x117)]||'Error','errorMessage':_0x139e07?.['message']||_0x5c327f['YNRlJ'](String,_0x139e07),'errorCode':_0x139e07?.[_0x294ef1(0x129)]||null,'stack':_0x139e07?.['stack'],'severity':_0x5c327f[_0x294ef1(0x11e)],'processId':process['pid'],'memoryUsage':process[_0x294ef1(0x186)](),'uptime':process[_0x294ef1(0x1ac)]()},_0x51e129='['+_0x42c3c9['toUpperCase']()+']\x20'+(_0x139e07?.[_0x294ef1(0x1b7)]||_0x139e07);logger['fatal'](_0x1f4034,_0x51e129),writeToFileLog({..._0x1f4034,'level':_0x294ef1(0x12c),'msg':_0x51e129,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x395ae2=a0_0x1b7b1f,_0x4c1ebf={'DEFrb':function(_0x43b950,_0x44affa,_0x249c57){return _0x43b950(_0x44affa,_0x249c57);},'ixjVh':_0x395ae2(0x1ae),'XKReU':function(_0x2be495,_0xa246e4){return _0x2be495 instanceof _0xa246e4;},'jPPIU':_0x395ae2(0x11d),'UqDvi':_0x395ae2(0x146),'hlOBn':'global_error_handlers_setup','Vdfsj':_0x395ae2(0x145)};process['on'](_0x4c1ebf[_0x395ae2(0x151)],_0x413755=>{const _0xd842af=_0x395ae2;_0x4c1ebf[_0xd842af(0x119)](logUncaughtError,_0x4c1ebf['ixjVh'],_0x413755),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x4c1ebf[_0x395ae2(0x114)],(_0x3d8c6a,_0x568d2a)=>{const _0x2287ec=_0x4c1ebf['XKReU'](_0x3d8c6a,Error)?_0x3d8c6a:new Error(String(_0x3d8c6a));logUncaughtError('unhandledRejection',_0x2287ec);}),process['on'](_0x4c1ebf[_0x395ae2(0x1bc)],_0x1021eb=>{const _0xd6e5dd=_0x395ae2;logger['warn']({'event':_0xd6e5dd(0x1a4),'name':_0x1021eb['name'],'message':_0x1021eb[_0xd6e5dd(0x1b7)],'stack':_0x1021eb['stack']},'Process\x20Warning:\x20'+_0x1021eb[_0xd6e5dd(0x1b7)]);});const _0x1dce59={'event':_0x4c1ebf['hlOBn']},_0x3a3ef6=_0x395ae2(0x157);logger['info'](_0x1dce59,_0x3a3ef6),writeToFileLog({..._0x1dce59,'level':'info','msg':_0x3a3ef6,'time':new Date()[_0x395ae2(0x160)]()},_0x4c1ebf['Vdfsj']);},createErrorHandlerMiddleware=()=>{const _0x36d141={'SzblP':function(_0x1d9a3a,_0x5ebf82){return _0x1d9a3a>=_0x5ebf82;}};return(_0x365fab,_0x38c714,_0x342af1,_0x54766a)=>{const _0x87436d=a0_0x296a;logHttpError(_0x365fab,_0x38c714);const _0x5c39f7=_0x365fab[_0x87436d(0x1a8)]||_0x365fab[_0x87436d(0x19f)]||0x1f4;_0x342af1['status'](_0x5c39f7)[_0x87436d(0x1a6)]({'success':![],'error':_0x36d141['SzblP'](_0x5c39f7,0x1f4)?_0x87436d(0x161):_0x365fab['message'],'requestId':_0x38c714['id']||_0x38c714[_0x87436d(0x1c7)]?.[_0x87436d(0x122)]||null});};};function a0_0x9f88(){const _0x58342c=['rgf0ywjHC2u6ia','u1fmx0Xpr19mrvzfta','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','u1fmx0Xpr19tte9xx1riuKvtse9mra','CunjAuC','rermx0nsrufurq','EKT4tvy','D2fYBG','z1jrvgG','C3rHy2S','q05wEMu','ig9UihbVCNqG','yxbPx3nLy3jLDa','rfjpua','CgfYyw1Z','A2v5CW','tI9b','rermx0fmvevs','zhvYyxrPB25nCW','lI9SB2DZlW','C3rHDhvZ','CMvZDgzVCMDL','Bwv0Ag9K','zNjty2C','rejFueftu1DpuKq','ChjVy2vZC193yxjUAw5N','vuzNBfm','ANnVBG','su5trvju','C3rHDhvZq29Kzq','y29UzMLNrMLSzq','oI8V','ndG0EeTHthzH','Dxb0Aw1L','seDYyxe','Dw5JyxvNAhrfEgnLChrPB24','C3rHCNrZv2L0Aa','iokvKqRILzeGifbYB2PLy3qGicaGidOG','yxbPs2v5','sMLPswK','ndCWntyYDNncAM90','A2jyDuu','A2HMuLG','C2PAsNy','BwvZC2fNzq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','rgvMyxvSDa','zMf0ywXFzxjYB3i','thjOs1q','vxfeDMK','C3rYAw5N','DLH5DNu','BxmP','vvPNEhi','vwnJshK','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','Aw5JBhvKzxm','rxjYB3i','sfruuca','yxv0Ag9YAxPHDgLVBG','AgvHzgvYCW','Cgf0Aa','tK9uiefdveLwrq','zgjFDhjHBNnHy3rPB24','Bwf0y2G','D3jPDgu','AgvHBhrOq2HLy2S','lI9SB2DZ','vfjbtLnbq1rjt05FqKvhsu4','ywnJzxnZx3rVA2vU','C29Tzq','sLDux1nfq1jfva','CMvZB2X2zq','tM9Kzs5QCW','yM9KEq','AxfvtKu','yMfZzvvYBa','ALbqsvu','te9hx0rjuG','zgf0ywjHC2u','BMfTzq','CgfKrw5K','revgCMi','B3rW','yxbPA2v5','u1fmx0Xpr19qqvjbtvm','Dw5Oyw5KBgvKuMvQzwn0Aw9U','AwXquKq','CgLUBW','C2vYDMLJzuLUzM8','qunusvzf','Ec1Yzxf1zxn0lwLK','AwTeyLa','mteYodmXog5lwvjWAa','Ahr0Cf9Yzxf1zxn0','te9hx1rpx0zjteu','u1PyvKC','Ahr0Cf9LCNjVCG','y29Kzq','owX1wgn2vW','odi5mhnNz214qW','zMf0ywW','zg5Tuhu','ChjPDMf0zwTLEq','revmrvrf','icbvuKW6icaGia','zw5KCg9PBNrFCMvNAxn0zxjLza','Dg9Rzw4','DhjPBq','yxbPx2TLEq','C2vYDMvYx3n0yxj0Aw5N','zxjYB3i','AxjUsxq','y3jLzgvUDgLHBa','C3vIC3rYAw5N','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mZG2ndaWohjpCxzxrW','C3rKvgLTzuz1BMn0Aw9UCW','ndK0nJa4qLnwyLrz','iokvKqRILzeGiefqssblzxKGicaGidOG','tKretvO','zMLSzv9SB2DNAw5Nx2vUywjSzwq','zgjFCxvLCNK','iokvKqRILzeGienVBMzPzYaGicaGidOG','yxbWlMXVzW','q1jjveLdquW','Aw5MBW','D2fYBMLUzW','ChjVAMvJDa','Cg9YDa','ms4WlJu','C2vYDMvYx3jLywr5','qxDvreO','Bu9WwfC','y3jLzgvUDgLHBhm','DxjS','AxntBg93','Cg9ZDgDYzxnXBa','AxHQvMG','y3jLzgL0x2nHCMq','rxjYB3i6ia','tgntquC','Ahj0Aw1L','mZCWmdj4AvPzEKC','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','icdIHPiG','w1jfrefdveveoNrVA2vUxq','EM9urwe','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','svflqNy','wKzKq2G','BwfW','zhnuD3e','Dg9ju09tDhjPBMC','sw50zxjUywWGC2vYDMvYigvYCM9Y','Dhj1zq','Dg9mB3DLCKnHC2u','Bwj0Bw8','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','u0vsvKLdrv9oqu1f','zufwtLu','mZKXnJqZtwDRALbO','mtC1BMTky3rm','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ag9ZDa','DgvZDa','CgfZC3DVCMq','te9hx0XfvKvm','w1jfrefdveveoMHHC2HD','C3rYAw5NAwz5','C1njDva','BgvUz3rO','w1jfrefdvevexq','B2fJAuW','quXurvi','DNf1v0O','mKTsuMrqDG','qKDwv3i','ChDK','CvbLENC','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','ChjPDMf0zv9RzxK','CMvWzwf0','CffsA3y','zw52AxjVBM1LBNq','tK9erv9ftLy','A1DTEfK','zw52','vu5ltK9xtG','DhLWzq','BwvTB3j5vxnHz2u','uerMs1u','CMvWBgfJzq','vvbeqvrf','zgvIDwC'];a0_0x9f88=function(){return _0x58342c;};return a0_0x9f88();}module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x569339=a0_0x5bc8;function a0_0x3f0c(){const _0x4a1d7c=['CNLgCfm','og9hzvPoEG','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','zM9YrwfJAa','v29wyLG','Dg9mB3DLCKnHC2u','BgvUz3rO','nezHCgznDa','Bg9HzeXVB2T1CfrHyMXL','BxLZCwW','ChvZAa','mKDIEK9grW','DhjPBq','vMfSDwuGiG','C2v0','BwfW','wND2rvG','zw52','ntmWtw1KuMjt','zw50CMLLCW','DeDzqLq','mtuWmJuXnuv2vhfdrG','AuvfCNu','mtqYndD3wfzvsuO','iIbUB3qGzM91BMqGAw4G','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','ntu0nZaZvLLSDg5M','qxbYDwm','otbprMDsuve','AgfZ','tg9VA3vWignHy2HLignSzwfYzwq','uvfMDxu','nJa2mtK2nxDxshPxCG','mtjvB2LIEhG','Aw5MBW','A2v5CW','zxHLy3v0zvf1zxj5','lI9SB2DNzxi','ota0mZjwqu5nt0K','BwvZC2fNzq','ndCWmdnXvvLes1a','CMvZB2X2zuXVB2T1CfzHBhvL','y2XLyxjdywnOzq','z2v0rgLZDgLUy3rwywX1zxm','y2XLyxi','Cg9ZDgDYzxnXBa','CNbTwKK','iezst00G','nty5nZzeugHWz2K'];a0_0x3f0c=function(){return _0x4a1d7c;};return a0_0x3f0c();}(function(_0x467543,_0x125647){const _0xc56b51=a0_0x5bc8,_0x5b0711=_0x467543();while(!![]){try{const _0x136f18=parseInt(_0xc56b51(0x1b0))/0x1*(-parseInt(_0xc56b51(0x19a))/0x2)+-parseInt(_0xc56b51(0x1bf))/0x3*(-parseInt(_0xc56b51(0x1ac))/0x4)+parseInt(_0xc56b51(0x1c1))/0x5*(-parseInt(_0xc56b51(0x1a4))/0x6)+-parseInt(_0xc56b51(0x1ba))/0x7*(parseInt(_0xc56b51(0x1a6))/0x8)+parseInt(_0xc56b51(0x1bc))/0x9*(parseInt(_0xc56b51(0x1b7))/0xa)+parseInt(_0xc56b51(0x19c))/0xb*(-parseInt(_0xc56b51(0x1c6))/0xc)+parseInt(_0xc56b51(0x1c5))/0xd;if(_0x136f18===_0x125647)break;else _0x5b0711['push'](_0x5b0711['shift']());}catch(_0xddba89){_0x5b0711['push'](_0x5b0711['shift']());}}}(a0_0x3f0c,0x3e36b));function a0_0x5bc8(_0xb98bf8,_0x2cd981){_0xb98bf8=_0xb98bf8-0x199;const _0x3f0ca7=a0_0x3f0c();let _0x5bc87f=_0x3f0ca7[_0xb98bf8];if(a0_0x5bc8['HhFsWr']===undefined){var _0x53cfbc=function(_0x550fee){const _0x1e838e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d1144='',_0x500f41='';for(let _0x36f7f8=0x0,_0x5b70b2,_0xa4abb2,_0x10ad59=0x0;_0xa4abb2=_0x550fee['charAt'](_0x10ad59++);~_0xa4abb2&&(_0x5b70b2=_0x36f7f8%0x4?_0x5b70b2*0x40+_0xa4abb2:_0xa4abb2,_0x36f7f8++%0x4)?_0x4d1144+=String['fromCharCode'](0xff&_0x5b70b2>>(-0x2*_0x36f7f8&0x6)):0x0){_0xa4abb2=_0x1e838e['indexOf'](_0xa4abb2);}for(let _0x2e7eb8=0x0,_0x26a20d=_0x4d1144['length'];_0x2e7eb8<_0x26a20d;_0x2e7eb8++){_0x500f41+='%'+('00'+_0x4d1144['charCodeAt'](_0x2e7eb8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x500f41);};a0_0x5bc8['sOrPyf']=_0x53cfbc,a0_0x5bc8['qEOnqY']={},a0_0x5bc8['HhFsWr']=!![];}const _0x1344bb=_0x3f0ca7[0x0],_0x6d146b=_0xb98bf8+_0x1344bb,_0x5661e0=a0_0x5bc8['qEOnqY'][_0x6d146b];return!_0x5661e0?(_0x5bc87f=a0_0x5bc8['sOrPyf'](_0x5bc87f),a0_0x5bc8['qEOnqY'][_0x6d146b]=_0x5bc87f):_0x5bc87f=_0x5661e0,_0x5bc87f;}const dbType=(process[a0_0x569339(0x1b6)]['DB_TYPE']||a0_0x569339(0x1a1))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x320fd2,_0x15d162)=>oracleDb[a0_0x569339(0x1c9)](_0x320fd2,_0x15d162);}else{if(dbType===a0_0x569339(0x1ae)){const mysqlDb=require('./db-mysql');executeQuery=(_0x489987,_0x442805)=>mysqlDb['executeQuery'](_0x489987,_0x442805);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require(a0_0x569339(0x199));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x569339(0x19e)](){const _0x27a9bb=a0_0x569339,_0x2e3c75={'iEEru':_0x27a9bb(0x1a7),'hCxcu':_0x27a9bb(0x1c3)};this['lookupCache'][_0x27a9bb(0x1a0)](),logger['debug']({'event':_0x2e3c75[_0x27a9bb(0x1bb)]},_0x2e3c75['hCxcu']);}async[a0_0x569339(0x1ad)](_0x2a85dc,_0x200f39,_0x5b649d){const _0x2289ee=a0_0x569339,_0x46e377={'ygMWR':function(_0x53c0b3,_0x220345){return _0x53c0b3!==_0x220345;},'Apruc':function(_0x53fb68,_0x4b4e58){return _0x53fb68!==_0x4b4e58;},'NkxKU':function(_0x2a3735,_0x3d0068){return _0x2a3735(_0x3d0068);}},_0x558ea6=_0x2a85dc+':'+_0x200f39+':'+_0x5b649d;if(this['lookupCache']['has'](_0x558ea6))return this['lookupCache']['get'](_0x558ea6);try{const _0x2dd720='SELECT\x20'+_0x5b649d+',\x20'+_0x200f39+_0x2289ee(0x1a3)+_0x2a85dc,_0x2f1640=await executeQuery(_0x2dd720),_0x14306b=new Map();return _0x2f1640['forEach'](_0x47d387=>{const _0x1e639b=_0x2289ee,_0xa6d5f=_0x47d387[_0x200f39]!==undefined?_0x47d387[_0x200f39]:_0x47d387[_0x200f39['toUpperCase']()],_0x5c4902=_0x47d387[_0x5b649d]!==undefined?_0x47d387[_0x5b649d]:_0x47d387[_0x5b649d['toUpperCase']()];_0x46e377['ygMWR'](_0xa6d5f,null)&&_0x46e377[_0x1e639b(0x1c0)](_0xa6d5f,undefined)&&(_0x14306b['set'](_0x46e377['NkxKU'](String,_0xa6d5f)['toLowerCase']()['trim'](),_0x5c4902),_0x14306b[_0x1e639b(0x1b3)](String(_0xa6d5f)[_0x1e639b(0x1b1)](),_0x5c4902));}),this['lookupCache'][_0x2289ee(0x1b3)](_0x558ea6,_0x14306b),logger[_0x2289ee(0x1c7)]({'event':'lookup_table_loaded','table':_0x2a85dc,'column':_0x200f39,'count':_0x2f1640[_0x2289ee(0x1ab)]},'Lookup\x20table\x20loaded:\x20'+_0x2a85dc),_0x14306b;}catch(_0x5942b8){logger['error']({'event':'lookup_table_load_error','table':_0x2a85dc,'error':_0x5942b8[_0x2289ee(0x19b)]},_0x2289ee(0x1be)+_0x2a85dc);throw _0x5942b8;}}['resolveLookupValue'](_0x40be3b,_0x4c794a){const _0x39d0be=a0_0x569339,_0x162ada={'GgbBI':function(_0x51692b,_0xccfe32){return _0x51692b===_0xccfe32;},'rpmZI':function(_0x5c96af,_0x47c365){return _0x5c96af(_0x47c365);}};if(_0x162ada['GgbBI'](_0x40be3b,null)||_0x40be3b===undefined||_0x40be3b==='')return null;const _0x1a4898=_0x162ada[_0x39d0be(0x1a2)](String,_0x40be3b)[_0x39d0be(0x1b1)]();if(_0x4c794a['has'](_0x1a4898))return _0x4c794a['get'](_0x1a4898);const _0x1f88c8=_0x1a4898[_0x39d0be(0x1aa)]();if(_0x4c794a[_0x39d0be(0x1c2)](_0x1f88c8))return _0x4c794a['get'](_0x1f88c8);return null;}async['processLookupFields'](_0x3c5283,_0x5e4486){const _0x3198d6=a0_0x569339,_0x57ea05={'ryFpS':function(_0xa9ae65,_0x5368e1){return _0xa9ae65===_0x5368e1;},'QQfuu':'Lookup\x20fields\x20processed'};if(!_0x5e4486||Object[_0x3198d6(0x1c8)](_0x5e4486)['length']===0x0)return{'processedRows':_0x3c5283,'errors':[]};const _0x398ade=[],_0x1edc2f=new Map();for(const [_0x494c84,_0x5c408b]of Object['entries'](_0x5e4486)){const {lookupTable:_0x14c1dc,lookupColumn:_0x22ca95,lookupIdColumn:_0xd842f7}=_0x5c408b,_0x1c6b20=_0x14c1dc+':'+_0x22ca95+':'+_0xd842f7;if(!_0x1edc2f['has'](_0x1c6b20)){const _0x1e716e=await this[_0x3198d6(0x1ad)](_0x14c1dc,_0x22ca95,_0xd842f7);_0x1edc2f[_0x3198d6(0x1b3)](_0x1c6b20,_0x1e716e);}}const _0x93c9ab=_0x3c5283[_0x3198d6(0x1b4)]((_0xd19bfc,_0x3c55e6)=>{const _0x513456=_0x3198d6,_0x436ad9={..._0xd19bfc};for(const [_0x122cae,_0x152ae3]of Object[_0x513456(0x1b8)](_0x5e4486)){const {lookupTable:_0x7b4ef4,lookupColumn:_0x1e7c7c,lookupIdColumn:_0x505ad9,targetField:_0x407712,required:_0xcf3a81}=_0x152ae3,_0xa4f33b=_0x7b4ef4+':'+_0x1e7c7c+':'+_0x505ad9,_0x3f7b46=_0x1edc2f['get'](_0xa4f33b),_0x33c6a7=_0xd19bfc[_0x122cae];if((_0x57ea05[_0x513456(0x1a5)](_0x33c6a7,null)||_0x33c6a7===undefined||_0x57ea05[_0x513456(0x1a5)](_0x33c6a7,''))&&!_0xcf3a81){_0x436ad9[_0x407712]=null;continue;}const _0xed063a=this['resolveLookupValue'](_0x33c6a7,_0x3f7b46);_0xed063a!==null?_0x436ad9[_0x407712]=_0xed063a:(_0xcf3a81&&_0x398ade[_0x513456(0x1af)]({'rowIndex':_0x3c55e6,'field':_0x122cae,'value':_0x33c6a7,'targetField':_0x407712,'lookupTable':_0x7b4ef4,'message':_0x513456(0x1b2)+_0x33c6a7+_0x513456(0x1bd)+_0x7b4ef4}),_0x436ad9[_0x407712]=null);}return _0x436ad9;});return logger[_0x3198d6(0x1c7)]({'event':'lookup_fields_processed','totalRows':_0x3c5283['length'],'errorCount':_0x398ade['length'],'lookupFieldCount':Object['keys'](_0x5e4486)[_0x3198d6(0x1ab)]},_0x57ea05[_0x3198d6(0x1c4)]),{'processedRows':_0x93c9ab,'errors':_0x398ade};}[a0_0x569339(0x19f)](_0x124c73,_0x334e8d){const _0x5d3b5f=a0_0x569339,_0x4aa691={'ZwvEX':function(_0x253a34,_0x5af9a2){return _0x253a34!==_0x5af9a2;},'WoVbX':function(_0x19f59c,_0x3ae8e1){return _0x19f59c(_0x3ae8e1);}},_0x252df7=new Set();return _0x124c73[_0x5d3b5f(0x1a8)](_0x116ca8=>{const _0x3a690f=_0x5d3b5f,_0x199afd=_0x116ca8[_0x334e8d];_0x199afd!==null&&_0x4aa691[_0x3a690f(0x1b5)](_0x199afd,undefined)&&_0x199afd!==''&&_0x252df7['add'](_0x4aa691[_0x3a690f(0x1a9)](String,_0x199afd)[_0x3a690f(0x1b1)]());}),Array['from'](_0x252df7);}async['validateLookupValues'](_0x3c56c9,_0x4a035b){const _0x4963f3=a0_0x569339,_0x304def={'tGYBT':function(_0x1387bb,_0x204765){return _0x1387bb===_0x204765;}};if(!_0x4a035b||Object['keys'](_0x4a035b)[_0x4963f3(0x1ab)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x5069bf=[],_0x1d6490={};for(const [_0x54b50d,_0x50a58c]of Object[_0x4963f3(0x1b8)](_0x4a035b)){const {lookupTable:_0x9701cd,lookupColumn:_0x416519,lookupIdColumn:_0x56b2dc,required:_0x19f763}=_0x50a58c,_0x5791ca=this['getDistinctValues'](_0x3c56c9,_0x54b50d),_0x5476a7=await this[_0x4963f3(0x1ad)](_0x9701cd,_0x416519,_0x56b2dc),_0x41a3c1=[],_0x3b3d40=[];_0x5791ca[_0x4963f3(0x1a8)](_0x1d1136=>{const _0xd5483d=_0x4963f3,_0x1b0030=this[_0xd5483d(0x19d)](_0x1d1136,_0x5476a7);_0x1b0030!==null?_0x3b3d40['push'](_0x1d1136):_0x41a3c1['push'](_0x1d1136);});if(_0x41a3c1[_0x4963f3(0x1ab)]>0x0&&_0x19f763){_0x5069bf['push']({'field':_0x54b50d,'lookupTable':_0x9701cd,'invalidValues':_0x41a3c1,'message':_0x41a3c1[_0x4963f3(0x1ab)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x9701cd});const _0x1d3042=[];_0x5476a7['forEach']((_0x4d754e,_0x1414a7)=>{const _0x17bb11=_0x4963f3;if(_0x1414a7===_0x1414a7[_0x17bb11(0x1aa)]())return;_0x1d3042['push'](_0x1414a7);}),_0x1d6490[_0x54b50d]={'invalidValues':_0x41a3c1,'availableValues':_0x1d3042['slice'](0x0,0x32)};}}return{'valid':_0x304def[_0x4963f3(0x1b9)](_0x5069bf[_0x4963f3(0x1ab)],0x0),'errors':_0x5069bf,'suggestions':_0x1d6490};}}module['exports']=new LookupResolver();
1
+ const a0_0x1293d6=a0_0x2a01;function a0_0x2a01(_0x40b593,_0x2871e3){_0x40b593=_0x40b593-0x10c;const _0x31cfe0=a0_0x31cf();let _0x2a0149=_0x31cfe0[_0x40b593];if(a0_0x2a01['WsPhqe']===undefined){var _0x52c5d5=function(_0x2f52e3){const _0x4c79c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2133e0='',_0x1932fe='';for(let _0x13e88d=0x0,_0x468811,_0x510589,_0x28ff46=0x0;_0x510589=_0x2f52e3['charAt'](_0x28ff46++);~_0x510589&&(_0x468811=_0x13e88d%0x4?_0x468811*0x40+_0x510589:_0x510589,_0x13e88d++%0x4)?_0x2133e0+=String['fromCharCode'](0xff&_0x468811>>(-0x2*_0x13e88d&0x6)):0x0){_0x510589=_0x4c79c3['indexOf'](_0x510589);}for(let _0x294ec7=0x0,_0x554988=_0x2133e0['length'];_0x294ec7<_0x554988;_0x294ec7++){_0x1932fe+='%'+('00'+_0x2133e0['charCodeAt'](_0x294ec7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1932fe);};a0_0x2a01['RSHdOy']=_0x52c5d5,a0_0x2a01['tkmxwA']={},a0_0x2a01['WsPhqe']=!![];}const _0x127454=_0x31cfe0[0x0],_0x56a49b=_0x40b593+_0x127454,_0x1d6fb9=a0_0x2a01['tkmxwA'][_0x56a49b];return!_0x1d6fb9?(_0x2a0149=a0_0x2a01['RSHdOy'](_0x2a0149),a0_0x2a01['tkmxwA'][_0x56a49b]=_0x2a0149):_0x2a0149=_0x1d6fb9,_0x2a0149;}(function(_0xb842db,_0x4ab75b){const _0x103d9e=a0_0x2a01,_0x595764=_0xb842db();while(!![]){try{const _0x551c41=parseInt(_0x103d9e(0x118))/0x1+parseInt(_0x103d9e(0x113))/0x2+-parseInt(_0x103d9e(0x114))/0x3*(parseInt(_0x103d9e(0x121))/0x4)+parseInt(_0x103d9e(0x11b))/0x5*(-parseInt(_0x103d9e(0x12c))/0x6)+-parseInt(_0x103d9e(0x11e))/0x7+parseInt(_0x103d9e(0x11f))/0x8*(parseInt(_0x103d9e(0x129))/0x9)+parseInt(_0x103d9e(0x112))/0xa;if(_0x551c41===_0x4ab75b)break;else _0x595764['push'](_0x595764['shift']());}catch(_0x101ed){_0x595764['push'](_0x595764['shift']());}}}(a0_0x31cf,0x2b00a));const dbType=(process['env'][a0_0x1293d6(0x123)]||a0_0x1293d6(0x116))[a0_0x1293d6(0x11d)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x1293d6(0x127));executeQuery=(_0x19251f,_0x311b14)=>oracleDb['executeQuery'](_0x19251f,_0x311b14);}else{if(dbType===a0_0x1293d6(0x137)){const mysqlDb=require(a0_0x1293d6(0x12e));executeQuery=(_0x1d5d13,_0x59c97e)=>mysqlDb['executeQuery'](_0x1d5d13,_0x59c97e);}else executeQuery=require('./db')['executeQuery'];}function a0_0x31cf(){const _0xfce07b=['AgfZ','z2v0','BwvZC2fNzq','lI9KyI1VCMfJBgu','y2XLyxjdywnOzq','mJK2mJCXsLDmExn5','u0vmrunuia','BgvUz3rO','nNPxAMPLBq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','lI9KyI1TExnXBa','DhjPBq','zM9YrwfJAa','Bff4D28','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','C2v0','CuTnBKC','BxLZCwW','u0vgCLO','vNjdAwO','Bg9HzeXVB2T1CfrHyMXL','iIbUB3qGzM91BMqGAw4G','q2nPz0S','A2v5CW','CxndC0K','Bg9VA3vWq2fJAgu','ntu5mtqWuLHkuhbq','nJu1mJm4yuDxvevJ','nti3mZCZrenyDevw','ChvZAa','Cg9ZDgDYzxnXBa','iezst00G','mJy1mtHRAMLVv1q','CMvZB2X2zuXVB2T1CfzHBhvL','Dxzdzwi','mZaYntG1ufPjsvjn','vMfSDwuGiG','Dg9mB3DLCKnHC2u','mJeZnJy4AgLkrgHh','ohffDvD4sW','Aw5MBW','nfDLAMnTsW','A2rbzMK','rejFvfLqrq'];a0_0x31cf=function(){return _0xfce07b;};return a0_0x31cf();}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x1293d6(0x128)](){const _0x306389=a0_0x1293d6,_0x39f57d={'CcigK':'lookup_cache_cleared'};this[_0x306389(0x111)]['clear'](),logger['debug']({'event':_0x39f57d[_0x306389(0x10e)]},'Lookup\x20cache\x20cleared');}async[a0_0x1293d6(0x10c)](_0x4a68ce,_0x1ab3fe,_0x10bd1f){const _0x32783d=a0_0x1293d6,_0x2abe76={'qsCsI':function(_0x16097e,_0x8f5c16){return _0x16097e!==_0x8f5c16;},'uvCeb':function(_0x3fb110,_0xdcef42){return _0x3fb110(_0xdcef42);},'qKMnG':function(_0x58570c,_0x3d0a73){return _0x58570c(_0x3d0a73);},'uedYv':'lookup_table_loaded'},_0x123fb4=_0x4a68ce+':'+_0x1ab3fe+':'+_0x10bd1f;if(this['lookupCache'][_0x32783d(0x124)](_0x123fb4))return this[_0x32783d(0x111)]['get'](_0x123fb4);try{const _0xf79ba=_0x32783d(0x12a)+_0x10bd1f+',\x20'+_0x1ab3fe+_0x32783d(0x117)+_0x4a68ce,_0x1bb41b=await _0x2abe76[_0x32783d(0x136)](executeQuery,_0xf79ba),_0x190e0b=new Map();return _0x1bb41b[_0x32783d(0x130)](_0x366099=>{const _0x290d9a=_0x32783d,_0x5b8d22=_0x2abe76[_0x290d9a(0x110)](_0x366099[_0x1ab3fe],undefined)?_0x366099[_0x1ab3fe]:_0x366099[_0x1ab3fe['toUpperCase']()],_0x67289b=_0x2abe76['qsCsI'](_0x366099[_0x10bd1f],undefined)?_0x366099[_0x10bd1f]:_0x366099[_0x10bd1f['toUpperCase']()];_0x5b8d22!==null&&_0x2abe76['qsCsI'](_0x5b8d22,undefined)&&(_0x190e0b['set'](_0x2abe76[_0x290d9a(0x11a)](String,_0x5b8d22)[_0x290d9a(0x11d)]()[_0x290d9a(0x12f)](),_0x67289b),_0x190e0b[_0x290d9a(0x135)](_0x2abe76['uvCeb'](String,_0x5b8d22)['trim'](),_0x67289b));}),this[_0x32783d(0x111)]['set'](_0x123fb4,_0x190e0b),logger[_0x32783d(0x120)]({'event':_0x2abe76['uedYv'],'table':_0x4a68ce,'column':_0x1ab3fe,'count':_0x1bb41b['length']},'Lookup\x20table\x20loaded:\x20'+_0x4a68ce),_0x190e0b;}catch(_0x181e32){logger['error']({'event':_0x32783d(0x134),'table':_0x4a68ce,'error':_0x181e32[_0x32783d(0x126)]},_0x32783d(0x132)+_0x4a68ce);throw _0x181e32;}}[a0_0x1293d6(0x119)](_0x10dc16,_0x3a7096){const _0x325e12=a0_0x1293d6;if(_0x10dc16===null||_0x10dc16===undefined||_0x10dc16==='')return null;const _0x491504=String(_0x10dc16)['trim']();if(_0x3a7096[_0x325e12(0x124)](_0x491504))return _0x3a7096[_0x325e12(0x125)](_0x491504);const _0x11c0de=_0x491504[_0x325e12(0x11d)]();if(_0x3a7096['has'](_0x11c0de))return _0x3a7096['get'](_0x11c0de);return null;}async['processLookupFields'](_0x2186ed,_0xc7f266){const _0x28e214=a0_0x1293d6,_0x37786f={'lQxwo':function(_0x153cd1,_0x5a4496){return _0x153cd1===_0x5a4496;},'Venyh':function(_0x2c9acb,_0x22476a){return _0x2c9acb===_0x22476a;},'ZnSsm':_0x28e214(0x12d),'VrCij':'Lookup\x20fields\x20processed'};if(!_0xc7f266||_0x37786f['Venyh'](Object['keys'](_0xc7f266)[_0x28e214(0x12b)],0x0))return{'processedRows':_0x2186ed,'errors':[]};const _0x4874df=[],_0x4d64ee=new Map();for(const [_0x4ad43a,_0x15b9c4]of Object['entries'](_0xc7f266)){const {lookupTable:_0xc4010f,lookupColumn:_0x492a25,lookupIdColumn:_0x4ef82e}=_0x15b9c4,_0x52c687=_0xc4010f+':'+_0x492a25+':'+_0x4ef82e;if(!_0x4d64ee[_0x28e214(0x124)](_0x52c687)){const _0x412f09=await this[_0x28e214(0x10c)](_0xc4010f,_0x492a25,_0x4ef82e);_0x4d64ee['set'](_0x52c687,_0x412f09);}}const _0x43a997=_0x2186ed['map']((_0x52a72c,_0x1e183b)=>{const _0xcdb6c3=_0x28e214,_0x30b87b={..._0x52a72c};for(const [_0x20cdf4,_0x5ac710]of Object['entries'](_0xc7f266)){const {lookupTable:_0x4ee054,lookupColumn:_0x271bb7,lookupIdColumn:_0x2a2720,targetField:_0x1a97b1,required:_0x4b5cf0}=_0x5ac710,_0xed9b12=_0x4ee054+':'+_0x271bb7+':'+_0x2a2720,_0x3eacab=_0x4d64ee[_0xcdb6c3(0x125)](_0xed9b12),_0x144aaf=_0x52a72c[_0x20cdf4];if((_0x144aaf===null||_0x144aaf===undefined||_0x37786f[_0xcdb6c3(0x131)](_0x144aaf,''))&&!_0x4b5cf0){_0x30b87b[_0x1a97b1]=null;continue;}const _0x3544ea=this['resolveLookupValue'](_0x144aaf,_0x3eacab);_0x3544ea!==null?_0x30b87b[_0x1a97b1]=_0x3544ea:(_0x4b5cf0&&_0x4874df['push']({'rowIndex':_0x1e183b,'field':_0x20cdf4,'value':_0x144aaf,'targetField':_0x1a97b1,'lookupTable':_0x4ee054,'message':_0xcdb6c3(0x11c)+_0x144aaf+_0xcdb6c3(0x10d)+_0x4ee054}),_0x30b87b[_0x1a97b1]=null);}return _0x30b87b;});return logger['info']({'event':_0x37786f['ZnSsm'],'totalRows':_0x2186ed['length'],'errorCount':_0x4874df['length'],'lookupFieldCount':Object['keys'](_0xc7f266)[_0x28e214(0x12b)]},_0x37786f[_0x28e214(0x139)]),{'processedRows':_0x43a997,'errors':_0x4874df};}['getDistinctValues'](_0x50e6f8,_0x37cc8f){const _0x41c34b={'kdAfi':function(_0x3364eb,_0x424304){return _0x3364eb!==_0x424304;},'IxlcM':function(_0x231c74,_0x4f1b10){return _0x231c74!==_0x4f1b10;},'SEFrZ':function(_0x17648f,_0x355c0c){return _0x17648f(_0x355c0c);}},_0x4b9cf2=new Set();return _0x50e6f8['forEach'](_0x4b3798=>{const _0x966d67=a0_0x2a01,_0xe96cc2=_0x4b3798[_0x37cc8f];_0x41c34b[_0x966d67(0x122)](_0xe96cc2,null)&&_0x41c34b['IxlcM'](_0xe96cc2,undefined)&&_0xe96cc2!==''&&_0x4b9cf2['add'](_0x41c34b[_0x966d67(0x138)](String,_0xe96cc2)[_0x966d67(0x12f)]());}),Array['from'](_0x4b9cf2);}async['validateLookupValues'](_0x2172d6,_0x18b41d){const _0x3f4467=a0_0x1293d6,_0x3b4cc1={'WcAYS':function(_0x2b6a53,_0x176388){return _0x2b6a53===_0x176388;}};if(!_0x18b41d||Object[_0x3f4467(0x10f)](_0x18b41d)[_0x3f4467(0x12b)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x3fb6fa=[],_0x4b5811={};for(const [_0x254a63,_0x3f96d3]of Object['entries'](_0x18b41d)){const {lookupTable:_0x3f911b,lookupColumn:_0x1b2196,lookupIdColumn:_0x5619fc,required:_0x507168}=_0x3f96d3,_0x129e03=this['getDistinctValues'](_0x2172d6,_0x254a63),_0x1d2c12=await this[_0x3f4467(0x10c)](_0x3f911b,_0x1b2196,_0x5619fc),_0x5384c7=[],_0x9d1f88=[];_0x129e03['forEach'](_0x3dd2ab=>{const _0x4d3790=_0x3f4467,_0x551741=this[_0x4d3790(0x119)](_0x3dd2ab,_0x1d2c12);_0x551741!==null?_0x9d1f88[_0x4d3790(0x115)](_0x3dd2ab):_0x5384c7['push'](_0x3dd2ab);});if(_0x5384c7[_0x3f4467(0x12b)]>0x0&&_0x507168){_0x3fb6fa[_0x3f4467(0x115)]({'field':_0x254a63,'lookupTable':_0x3f911b,'invalidValues':_0x5384c7,'message':_0x5384c7[_0x3f4467(0x12b)]+_0x3f4467(0x133)+_0x3f911b});const _0x4dbb48=[];_0x1d2c12['forEach']((_0xe043f1,_0x2eecca)=>{const _0x3485ab=_0x3f4467;if(_0x3b4cc1['WcAYS'](_0x2eecca,_0x2eecca['toLowerCase']()))return;_0x4dbb48[_0x3485ab(0x115)](_0x2eecca);}),_0x4b5811[_0x254a63]={'invalidValues':_0x5384c7,'availableValues':_0x4dbb48['slice'](0x0,0x32)};}}return{'valid':_0x3fb6fa['length']===0x0,'errors':_0x3fb6fa,'suggestions':_0x4b5811};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x5ca5e8=a0_0x24c1;function a0_0x5833(){const _0x1d8762=['m0nOrwn1rW','Cgf5Bg9Hzf9SB2fKzwq','nty3nJu5nxPxCwXquG','lI4VlI4VCgf5Bg9Hza','DxrMoa','mtm2odCYsKvAExbm','y29SDw1UrM9YBwf0CW','lMPZB24','BwvZC2fNzq','A0nLvNG','ogDHDKrVvW','Cgf5Bg9HzerPCG','C2v0','mZbbv0jLDgi','zxjYB3i','Cgf0Aa','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','AM9PBG','ugf5Bg9HzcbUB3qGzM91BMq6ia','zxHWB3j0CW','CgfYC2u','mJK5mtyYohHVvxzvyG','mJGYodm1vvfJsvzo','mtm1nZq5mdDWv3DYreK','nZG0ndrzrwzOr20','y2fJAgu','DgHyvhy','mtLHBK1KAMq','zgvIDwC','mtu0nJaZmJbbwxfAEhC','ChjVBwLZzxm','CMvHzezPBgu','Aw5MBW','CMvWBgfJzq','mtq0mwPWtevKuW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','lI9SB2DNzxi'];a0_0x5833=function(){return _0x1d8762;};return a0_0x5833();}(function(_0x5ae1ef,_0x4d2c78){const _0x43d3e2=a0_0x24c1,_0x1f4565=_0x5ae1ef();while(!![]){try{const _0xa63072=-parseInt(_0x43d3e2(0xfe))/0x1*(parseInt(_0x43d3e2(0xfb))/0x2)+-parseInt(_0x43d3e2(0x108))/0x3*(parseInt(_0x43d3e2(0xf8))/0x4)+parseInt(_0x43d3e2(0x10a))/0x5+-parseInt(_0x43d3e2(0xf0))/0x6*(parseInt(_0x43d3e2(0xf9))/0x7)+-parseInt(_0x43d3e2(0x112))/0x8*(parseInt(_0x43d3e2(0xfa))/0x9)+parseInt(_0x43d3e2(0x100))/0xa+-parseInt(_0x43d3e2(0x105))/0xb*(-parseInt(_0x43d3e2(0x10d))/0xc);if(_0xa63072===_0x4d2c78)break;else _0x1f4565['push'](_0x1f4565['shift']());}catch(_0x4dd355){_0x1f4565['push'](_0x1f4565['shift']());}}}(a0_0x5833,0xed520));const fs=require('fs')[a0_0x5ca5e8(0x101)],path=require(a0_0x5ca5e8(0xf2)),{logger}=require(a0_0x5ca5e8(0x107));class PayloadLoader{constructor(){const _0x3b3cd6=a0_0x5ca5e8,_0x1b8375={'ZGJMn':_0x3b3cd6(0x10b)};this['payloadDir']=path[_0x3b3cd6(0xf4)](__dirname,_0x1b8375['ZGJMn']),this['cache']=new Map();}async['loadPayload'](_0x245194,_0x5d5644){const _0x4e6194=a0_0x5ca5e8,_0x540f0f={'kCeVx':'Failed\x20to\x20load\x20payload'},_0x471c53=_0x245194+':'+_0x5d5644;if(this[_0x4e6194(0xfc)]['has'](_0x471c53))return this[_0x4e6194(0xfc)]['get'](_0x471c53);const _0x5557ce=path[_0x4e6194(0xf4)](this[_0x4e6194(0x113)],_0x245194+'_'+_0x5d5644+_0x4e6194(0x10f));try{const _0x214bda=await fs['readFile'](_0x5557ce,'utf8'),_0x194e03=JSON['parse'](_0x214bda);return this['cache'][_0x4e6194(0xef)](_0x471c53,_0x194e03),logger[_0x4e6194(0xff)]({'event':_0x4e6194(0x109),'project':_0x245194,'resource':_0x5d5644},'Payload\x20loaded\x20successfully'),_0x194e03;}catch(_0x398e89){logger[_0x4e6194(0xf1)]({'event':_0x4e6194(0xf3),'project':_0x245194,'resource':_0x5d5644,'error':_0x398e89['message']},_0x540f0f[_0x4e6194(0x111)]);throw new Error(_0x4e6194(0xf5)+_0x245194+'_'+_0x5d5644);}}async['loadPayloadByName'](_0x3f56f9){const _0x582af4=a0_0x5ca5e8,_0x59ab39={'thXTv':_0x582af4(0x106),'mepzo':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x49d41b='payload:'+_0x3f56f9;if(this[_0x582af4(0xfc)]['has'](_0x49d41b))return this[_0x582af4(0xfc)]['get'](_0x49d41b);const _0x52821e=path['join'](this['payloadDir'],_0x3f56f9+'.json');try{const _0xc0cd34=await fs[_0x582af4(0x102)](_0x52821e,_0x582af4(0x10c)),_0x4a8017=JSON[_0x582af4(0xf7)](_0xc0cd34);return this[_0x582af4(0xfc)][_0x582af4(0xef)](_0x49d41b,_0x4a8017),logger[_0x582af4(0xff)]({'event':_0x582af4(0x109),'payloadName':_0x3f56f9},_0x59ab39[_0x582af4(0xfd)]),_0x4a8017;}catch(_0x33f237){logger['error']({'event':'payload_load_error','payloadName':_0x3f56f9,'error':_0x33f237[_0x582af4(0x110)]},_0x59ab39['mepzo']);throw new Error('Payload\x20not\x20found:\x20'+_0x3f56f9);}}['isActionEnabled'](_0x4c9eaf,_0x25b958){return _0x4c9eaf['action']&&_0x4c9eaf['action'][_0x25b958]===!![];}['getExportConfig'](_0x54b809){const _0x4a7aa1=a0_0x5ca5e8;return{'columns':_0x54b809['fieldName']||[],'filename':_0x54b809['tableName'][_0x4a7aa1(0x104)]('.','-')+'-export','datatablesQuery':_0x54b809['datatablesQuery']||null,'columnFormats':_0x54b809[_0x4a7aa1(0x10e)]||null,'fieldLabels':_0x54b809['fieldLabels']||null};}['clearCache'](){const _0xef8c92=a0_0x5ca5e8;this['cache']['clear'](),logger[_0xef8c92(0x103)]({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}function a0_0x24c1(_0x577c5c,_0x80ac39){_0x577c5c=_0x577c5c-0xef;const _0x5833e5=a0_0x5833();let _0x24c1aa=_0x5833e5[_0x577c5c];if(a0_0x24c1['TCdnVW']===undefined){var _0x113173=function(_0xf18805){const _0x43d6c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4680a5='',_0x54f9d7='';for(let _0x12d1dc=0x0,_0x90bed,_0x446c1d,_0x384621=0x0;_0x446c1d=_0xf18805['charAt'](_0x384621++);~_0x446c1d&&(_0x90bed=_0x12d1dc%0x4?_0x90bed*0x40+_0x446c1d:_0x446c1d,_0x12d1dc++%0x4)?_0x4680a5+=String['fromCharCode'](0xff&_0x90bed>>(-0x2*_0x12d1dc&0x6)):0x0){_0x446c1d=_0x43d6c2['indexOf'](_0x446c1d);}for(let _0x4ca9bd=0x0,_0x53b766=_0x4680a5['length'];_0x4ca9bd<_0x53b766;_0x4ca9bd++){_0x54f9d7+='%'+('00'+_0x4680a5['charCodeAt'](_0x4ca9bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54f9d7);};a0_0x24c1['jXIvCA']=_0x113173,a0_0x24c1['yORieN']={},a0_0x24c1['TCdnVW']=!![];}const _0x260dd2=_0x5833e5[0x0],_0x6fc158=_0x577c5c+_0x260dd2,_0x3a36b2=a0_0x24c1['yORieN'][_0x6fc158];return!_0x3a36b2?(_0x24c1aa=a0_0x24c1['jXIvCA'](_0x24c1aa),a0_0x24c1['yORieN'][_0x6fc158]=_0x24c1aa):_0x24c1aa=_0x3a36b2,_0x24c1aa;}module[a0_0x5ca5e8(0xf6)]=new PayloadLoader();
1
+ const a0_0x4df584=a0_0xca8f;(function(_0x594f4f,_0x21cde9){const _0x50eab8=a0_0xca8f,_0x345635=_0x594f4f();while(!![]){try{const _0x3aba20=parseInt(_0x50eab8(0xe2))/0x1+parseInt(_0x50eab8(0xe1))/0x2*(parseInt(_0x50eab8(0xef))/0x3)+parseInt(_0x50eab8(0xed))/0x4+-parseInt(_0x50eab8(0xe3))/0x5*(-parseInt(_0x50eab8(0xe8))/0x6)+-parseInt(_0x50eab8(0xd7))/0x7+-parseInt(_0x50eab8(0xe0))/0x8*(-parseInt(_0x50eab8(0xd8))/0x9)+-parseInt(_0x50eab8(0xda))/0xa*(parseInt(_0x50eab8(0xd9))/0xb);if(_0x3aba20===_0x21cde9)break;else _0x345635['push'](_0x345635['shift']());}catch(_0x4cb4f5){_0x345635['push'](_0x345635['shift']());}}}(a0_0x3af6,0x79b4c));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x3af6(){const _0x149be3=['nZC4nZaWwwHkwu51','EuXSAe4','ntDqwvr5EKm','lMPZB24','CgfYC2u','CMvHzezPBgu','DxrMoa','zMLLBgroyw1L','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','z2v0','y2fJAgu','C2v0','Bg9HzfbHEwXVywq','Cw5owxe','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','yKfPEuG','rfLJqvm','mJGZndi3mKLRAK1suW','ovjVAu95yq','mta5mZK1odHyvvLzrKi','mJbgAeH0zMC','z2v0rxHWB3j0q29UzMLN','ywn0Aw9U','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','AgfZ','zgf0yxrHyMXLC1f1zxj5','nJq4mtGWohHrqvjItW','otm4odz6vwn3u24','mtuYnZK4tKz2vLbf','mta1mZuWnu1SrLzQyW','zxjYB3i','DgfIBgvoyw1L','Bg9HzfbHEwXVywrcEu5HBwu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','mJreDw9YAw8','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','AM9PBG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zMLLBgrmywjLBhm'];a0_0x3af6=function(){return _0x149be3;};return a0_0x3af6();}function a0_0xca8f(_0x197ae2,_0x4abf64){_0x197ae2=_0x197ae2-0xd1;const _0x3af6cc=a0_0x3af6();let _0xca8fe9=_0x3af6cc[_0x197ae2];if(a0_0xca8f['HEUaQe']===undefined){var _0x370d95=function(_0x24ad94){const _0x3ee88e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29ec46='',_0x38dd14='';for(let _0x185a81=0x0,_0x14a7b8,_0x11dd1d,_0x5863ab=0x0;_0x11dd1d=_0x24ad94['charAt'](_0x5863ab++);~_0x11dd1d&&(_0x14a7b8=_0x185a81%0x4?_0x14a7b8*0x40+_0x11dd1d:_0x11dd1d,_0x185a81++%0x4)?_0x29ec46+=String['fromCharCode'](0xff&_0x14a7b8>>(-0x2*_0x185a81&0x6)):0x0){_0x11dd1d=_0x3ee88e['indexOf'](_0x11dd1d);}for(let _0x19ff2f=0x0,_0x4cfb0d=_0x29ec46['length'];_0x19ff2f<_0x4cfb0d;_0x19ff2f++){_0x38dd14+='%'+('00'+_0x29ec46['charCodeAt'](_0x19ff2f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38dd14);};a0_0xca8f['PlImtn']=_0x370d95,a0_0xca8f['eQltFG']={},a0_0xca8f['HEUaQe']=!![];}const _0x9ac11a=_0x3af6cc[0x0],_0x254abf=_0x197ae2+_0x9ac11a,_0x3b839f=a0_0xca8f['eQltFG'][_0x254abf];return!_0x3b839f?(_0xca8fe9=a0_0xca8f['PlImtn'](_0xca8fe9),a0_0xca8f['eQltFG'][_0x254abf]=_0xca8fe9):_0xca8fe9=_0x3b839f,_0xca8fe9;}class PayloadLoader{constructor(){const _0x2e0f27=a0_0xca8f,_0x3f5c45={'yLlhN':'../../payload'};this['payloadDir']=path[_0x2e0f27(0xea)](__dirname,_0x3f5c45[_0x2e0f27(0xee)]),this[_0x2e0f27(0xf7)]=new Map();}async[a0_0x4df584(0xd2)](_0x3dddcc,_0x57903e){const _0x4ec802=a0_0x4df584,_0x519824={'qnNYq':'payload_loaded','EZCVd':_0x4ec802(0xeb)},_0x4ec9e2=_0x3dddcc+':'+_0x57903e;if(this[_0x4ec802(0xf7)][_0x4ec802(0xde)](_0x4ec9e2))return this[_0x4ec802(0xf7)]['get'](_0x4ec9e2);const _0x2c5432=path['join'](this['payloadDir'],_0x3dddcc+'_'+_0x57903e+_0x4ec802(0xf0));try{const _0x7b103=await fs['readFile'](_0x2c5432,'utf8'),_0x3f2046=JSON[_0x4ec802(0xf1)](_0x7b103);return this[_0x4ec802(0xf7)]['set'](_0x4ec9e2,_0x3f2046),logger['debug']({'event':_0x519824[_0x4ec802(0xd3)],'project':_0x3dddcc,'resource':_0x57903e},_0x4ec802(0xd4)),_0x3f2046;}catch(_0x48d564){logger[_0x4ec802(0xe4)]({'event':_0x519824['EZCVd'],'project':_0x3dddcc,'resource':_0x57903e,'error':_0x48d564['message']},_0x4ec802(0xdd));throw new Error('Payload\x20not\x20found:\x20'+_0x3dddcc+'_'+_0x57903e);}}async[a0_0x4df584(0xe6)](_0x260f3a){const _0x2ff1d7=a0_0x4df584,_0x4d1992={'cMVXU':_0x2ff1d7(0xe7)},_0x55153d='payload:'+_0x260f3a;if(this['cache'][_0x2ff1d7(0xde)](_0x55153d))return this['cache'][_0x2ff1d7(0xf6)](_0x55153d);const _0x50aaff=path[_0x2ff1d7(0xea)](this['payloadDir'],_0x260f3a+'.json');try{const _0x2b8df5=await fs[_0x2ff1d7(0xf2)](_0x50aaff,_0x2ff1d7(0xf3)),_0x5ec4c9=JSON['parse'](_0x2b8df5);return this[_0x2ff1d7(0xf7)][_0x2ff1d7(0xd1)](_0x55153d,_0x5ec4c9),logger['debug']({'event':'payload_loaded','payloadName':_0x260f3a},_0x4d1992['cMVXU']),_0x5ec4c9;}catch(_0x189712){logger[_0x2ff1d7(0xe4)]({'event':_0x2ff1d7(0xeb),'payloadName':_0x260f3a,'error':_0x189712['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x260f3a);}}['isActionEnabled'](_0x2a7ddc,_0x2c8fca){const _0x12b196=a0_0x4df584,_0x5cf383={'DYcAS':function(_0xc99240,_0x253c43){return _0xc99240===_0x253c43;}};return _0x2a7ddc['action']&&_0x5cf383[_0x12b196(0xd6)](_0x2a7ddc[_0x12b196(0xdc)][_0x2c8fca],!![]);}[a0_0x4df584(0xdb)](_0x2812ec){const _0x5217d1=a0_0x4df584;return{'columns':_0x2812ec[_0x5217d1(0xf4)]||[],'filename':_0x2812ec[_0x5217d1(0xe5)]['replace']('.','-')+'-export','datatablesQuery':_0x2812ec[_0x5217d1(0xdf)]||null,'columnFormats':_0x2812ec['columnFormats']||null,'fieldLabels':_0x2812ec[_0x5217d1(0xec)]||null};}['clearCache'](){const _0x9cd597=a0_0x4df584,_0x52e0a2={'bAiyH':_0x9cd597(0xe9),'ORqfV':_0x9cd597(0xf5)};this['cache']['clear'](),logger['info']({'event':_0x52e0a2[_0x9cd597(0xd5)]},_0x52e0a2['ORqfV']);}}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0xdd90a3,_0xc2cc2b){var _0x32831b=a0_0x3c4e,_0x3b8d8e=_0xdd90a3();while(!![]){try{var _0x57d646=-parseInt(_0x32831b(0x120))/0x1*(parseInt(_0x32831b(0x127))/0x2)+parseInt(_0x32831b(0x11f))/0x3*(parseInt(_0x32831b(0x126))/0x4)+-parseInt(_0x32831b(0x128))/0x5+-parseInt(_0x32831b(0x121))/0x6+parseInt(_0x32831b(0x125))/0x7+parseInt(_0x32831b(0x123))/0x8+-parseInt(_0x32831b(0x122))/0x9;if(_0x57d646===_0xc2cc2b)break;else _0x3b8d8e['push'](_0x3b8d8e['shift']());}catch(_0x108bb7){_0x3b8d8e['push'](_0x3b8d8e['shift']());}}}(a0_0x5ade,0x8a6f6));function a0_0x5ade(){var _0x3d0661=['mtm0ohDjsK9eDa','nJzIDLLNB04','mJqZnJa1v1LVwfLe','mZe3n0f4t3fRCG','mJiZotHJExr6t3y','mJmZndq2oe5kuMn5va','ntCXodK2uhnJthn0','nti1mZa2neL3C1D4qq','Dg9ju09tDhjPBMC','ntu1nZKZn2f4CxLfuq'];a0_0x5ade=function(){return _0x3d0661;};return a0_0x5ade();}function createResponse(_0x71523e,_0x10fe09,_0x24e971=null){return{'success':!![],'statusCode':_0x71523e,'message':_0x10fe09,'data':_0x24e971,'timestamp':new Date()['toISOString']()};}function a0_0x3c4e(_0x250fd2,_0x265196){_0x250fd2=_0x250fd2-0x11f;var _0x5ade75=a0_0x5ade();var _0x3c4e45=_0x5ade75[_0x250fd2];if(a0_0x3c4e['KhKXlA']===undefined){var _0x52f8f4=function(_0x4cb51a){var _0x402b6e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x16f93c='',_0x17685b='';for(var _0x3a4af8=0x0,_0x33fb84,_0x3a8798,_0x4d1b8f=0x0;_0x3a8798=_0x4cb51a['charAt'](_0x4d1b8f++);~_0x3a8798&&(_0x33fb84=_0x3a4af8%0x4?_0x33fb84*0x40+_0x3a8798:_0x3a8798,_0x3a4af8++%0x4)?_0x16f93c+=String['fromCharCode'](0xff&_0x33fb84>>(-0x2*_0x3a4af8&0x6)):0x0){_0x3a8798=_0x402b6e['indexOf'](_0x3a8798);}for(var _0xf56168=0x0,_0x3f3ab9=_0x16f93c['length'];_0xf56168<_0x3f3ab9;_0xf56168++){_0x17685b+='%'+('00'+_0x16f93c['charCodeAt'](_0xf56168)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17685b);};a0_0x3c4e['rcNPZD']=_0x52f8f4,a0_0x3c4e['VjPLAx']={},a0_0x3c4e['KhKXlA']=!![];}var _0x4c8869=_0x5ade75[0x0],_0x5abaf8=_0x250fd2+_0x4c8869,_0x42226b=a0_0x3c4e['VjPLAx'][_0x5abaf8];return!_0x42226b?(_0x3c4e45=a0_0x3c4e['rcNPZD'](_0x3c4e45),a0_0x3c4e['VjPLAx'][_0x5abaf8]=_0x3c4e45):_0x3c4e45=_0x42226b,_0x3c4e45;}function createError(_0x35e7b7,_0x499af9,_0x542398=null){return{'success':![],'statusCode':_0x35e7b7,'message':_0x499af9,'data':_0x542398,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x1354c5,_0x2ff27b){var _0x1ff3ac=a0_0x3c4e;return{'success':![],'statusCode':0x190,'message':_0x1354c5,'data':{'errors':_0x2ff27b},'timestamp':new Date()[_0x1ff3ac(0x124)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x17bc74=a0_0x3571;(function(_0x20d37c,_0x405941){var _0x3221d2=a0_0x3571,_0x2bf9e0=_0x20d37c();while(!![]){try{var _0x22062f=parseInt(_0x3221d2(0x19a))/0x1*(-parseInt(_0x3221d2(0x19e))/0x2)+parseInt(_0x3221d2(0x19b))/0x3*(parseInt(_0x3221d2(0x19c))/0x4)+parseInt(_0x3221d2(0x1a4))/0x5*(parseInt(_0x3221d2(0x1a2))/0x6)+-parseInt(_0x3221d2(0x19d))/0x7+-parseInt(_0x3221d2(0x199))/0x8*(parseInt(_0x3221d2(0x198))/0x9)+parseInt(_0x3221d2(0x19f))/0xa+parseInt(_0x3221d2(0x1a1))/0xb;if(_0x22062f===_0x405941)break;else _0x2bf9e0['push'](_0x2bf9e0['shift']());}catch(_0x294c50){_0x2bf9e0['push'](_0x2bf9e0['shift']());}}}(a0_0x2611,0xdd837));function a0_0x3571(_0x383511,_0x1632ed){_0x383511=_0x383511-0x198;var _0x2611c9=a0_0x2611();var _0x3571aa=_0x2611c9[_0x383511];if(a0_0x3571['tXexLI']===undefined){var _0xf9485=function(_0x3c0d38){var _0x42eaed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3681b4='',_0x38c015='';for(var _0x31fdbe=0x0,_0x331d73,_0x4e6206,_0x516a7d=0x0;_0x4e6206=_0x3c0d38['charAt'](_0x516a7d++);~_0x4e6206&&(_0x331d73=_0x31fdbe%0x4?_0x331d73*0x40+_0x4e6206:_0x4e6206,_0x31fdbe++%0x4)?_0x3681b4+=String['fromCharCode'](0xff&_0x331d73>>(-0x2*_0x31fdbe&0x6)):0x0){_0x4e6206=_0x42eaed['indexOf'](_0x4e6206);}for(var _0xce3ee3=0x0,_0x5682d6=_0x3681b4['length'];_0xce3ee3<_0x5682d6;_0xce3ee3++){_0x38c015+='%'+('00'+_0x3681b4['charCodeAt'](_0xce3ee3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38c015);};a0_0x3571['SAAxSb']=_0xf9485,a0_0x3571['VJeShM']={},a0_0x3571['tXexLI']=!![];}var _0x53bad9=_0x2611c9[0x0],_0x4fbc70=_0x383511+_0x53bad9,_0xd5bb7f=a0_0x3571['VJeShM'][_0x4fbc70];return!_0xd5bb7f?(_0x3571aa=a0_0x3571['SAAxSb'](_0x3571aa),a0_0x3571['VJeShM'][_0x4fbc70]=_0x3571aa):_0x3571aa=_0xd5bb7f,_0x3571aa;}function createResponse(_0xe5e6df,_0x23efb0,_0x45500d=null){var _0x55d2c1=a0_0x3571;return{'success':!![],'statusCode':_0xe5e6df,'message':_0x23efb0,'data':_0x45500d,'timestamp':new Date()[_0x55d2c1(0x1a3)]()};}function createError(_0x1aaabd,_0x51e252,_0x4e107d=null){var _0x3ddd07=a0_0x3571;return{'success':![],'statusCode':_0x1aaabd,'message':_0x51e252,'data':_0x4e107d,'timestamp':new Date()[_0x3ddd07(0x1a3)]()};}function createValidationError(_0x124c10,_0x56dfe8){return{'success':![],'statusCode':0x190,'message':_0x124c10,'data':{'errors':_0x56dfe8},'timestamp':new Date()['toISOString']()};}function a0_0x2611(){var _0x556cfe=['nJqXne1bEenyuG','Dg9ju09tDhjPBMC','nduWnuvRwgPIzG','nZq5ndy2BeHhuxvh','oenKzNvWDW','mti3mJqYn2PTrgzIAq','ntu3odeXAwTVAuLr','mtj5BeTQt1G','otq0nZyWnKLltNPRCq','mKTcD0fLsq','mtu2odC0mhj3B3njzq','zxHWB3j0CW','mJeYodmWnJrbr2TrzNm'];a0_0x2611=function(){return _0x556cfe;};return a0_0x2611();}module[a0_0x17bc74(0x1a0)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x4701fd=a0_0x20ed;(function(_0x3d5718,_0x45f7c6){const _0x25e8c0=a0_0x20ed,_0x3aead1=_0x3d5718();while(!![]){try{const _0x58b6f8=-parseInt(_0x25e8c0(0xa4))/0x1+parseInt(_0x25e8c0(0xaf))/0x2+-parseInt(_0x25e8c0(0xa7))/0x3*(parseInt(_0x25e8c0(0x93))/0x4)+parseInt(_0x25e8c0(0xb2))/0x5*(-parseInt(_0x25e8c0(0xb3))/0x6)+parseInt(_0x25e8c0(0x8f))/0x7*(parseInt(_0x25e8c0(0x96))/0x8)+-parseInt(_0x25e8c0(0x9a))/0x9*(-parseInt(_0x25e8c0(0xb4))/0xa)+parseInt(_0x25e8c0(0xa1))/0xb*(-parseInt(_0x25e8c0(0xac))/0xc);if(_0x58b6f8===_0x45f7c6)break;else _0x3aead1['push'](_0x3aead1['shift']());}catch(_0x1b06c5){_0x3aead1['push'](_0x3aead1['shift']());}}}(a0_0x399d,0x8ff84),require('dotenv')[a0_0x4701fd(0x9f)]());function a0_0x399d(){const _0x3b9add=['zufUz3e','mtK0ntC4mg5RthHjza','BwvZC2fNzq','ueLxy0y','mtGZmNPKANveva','yxnZzxj0rxHJAgfUz2u','CxvLDwu','ic0+ia','odaXsgjUzKr1','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','DgfJBNq','uxLVzfG','ksbJCMvHDgvK','y29UzMLN','yxnZzxj0uxvLDwu','mtfTC2nZEuW','uNHlwMi','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','mZyZnJuYsu5kDvjf','xsbszxrYEsbXDwv1zsa','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','m1zLr21Uwa','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','xsbszxrYEsbIAw5KAw5NigzVCIa','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','mJG4ntu0ne5nrhHWEG','xsbfuLjpuJOGuxvLDwuG','xsbrDwv1zsa','mJa5otqWmNLRB1LmAq','ywTRDuO','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','mJv1uhbAu1y','odK1ntqYzefUuMLX','nJC2mZbjtKjLCfO','yMLUzff1zxvL','zxHPDa','DNLQq08','ignYzwf0zwqVCMvHzhK','uKfcqKLutvfFuK9vveLor19lrvK','zw52','y29UBMvJDa','rgvywg4','Bg9N','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','x3jLDhj5','lI9KyxrLsgvSCgvY','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','CMv0CNKTzxHJAgfUz2u','Aw5JBhvKzxm','mJm2odHXqKHztKq','zxjYB3i','vMr0whC'];a0_0x399d=function(){return _0x3b9add;};return a0_0x399d();}const amqp=require('amqplib'),{formatDate}=require(a0_0x4701fd(0x8b)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x4701fd(0x85)][a0_0x4701fd(0x84)],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x359328=a0_0x4701fd,_0x21ca6c={'nXpNs':function(_0x27b888,_0x261a6c){return _0x27b888(_0x261a6c);},'VdtXw':function(_0xc76a04,_0x50f62e){return _0xc76a04(_0x50f62e);}};try{const _0x18e144=await amqp[_0x359328(0x86)](RABBITMQ_URL);return console['log']('['+_0x21ca6c['nXpNs'](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x18e144;}catch(_0x29d2ef){console[_0x359328(0x90)]('['+_0x21ca6c[_0x359328(0x91)](formatDate,new Date())+_0x359328(0xb1)+_0x29d2ef['message']);throw _0x29d2ef;}}function a0_0x20ed(_0x489a23,_0x5ca3fb){_0x489a23=_0x489a23-0x82;const _0x399db1=a0_0x399d();let _0x20ed24=_0x399db1[_0x489a23];if(a0_0x20ed['ZDnEfv']===undefined){var _0xc574ab=function(_0x2e353e){const _0xbeedab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a9c7c='',_0x1614b4='';for(let _0x48472b=0x0,_0x11b61d,_0x561669,_0x709b67=0x0;_0x561669=_0x2e353e['charAt'](_0x709b67++);~_0x561669&&(_0x11b61d=_0x48472b%0x4?_0x11b61d*0x40+_0x561669:_0x561669,_0x48472b++%0x4)?_0x5a9c7c+=String['fromCharCode'](0xff&_0x11b61d>>(-0x2*_0x48472b&0x6)):0x0){_0x561669=_0xbeedab['indexOf'](_0x561669);}for(let _0x1a973e=0x0,_0x4a61f6=_0x5a9c7c['length'];_0x1a973e<_0x4a61f6;_0x1a973e++){_0x1614b4+='%'+('00'+_0x5a9c7c['charCodeAt'](_0x1a973e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1614b4);};a0_0x20ed['rtViRi']=_0xc574ab,a0_0x20ed['ZVcwkX']={},a0_0x20ed['ZDnEfv']=!![];}const _0x1e0ead=_0x399db1[0x0],_0x211452=_0x489a23+_0x1e0ead,_0x56894d=a0_0x20ed['ZVcwkX'][_0x211452];return!_0x56894d?(_0x20ed24=a0_0x20ed['rtViRi'](_0x20ed24),a0_0x20ed['ZVcwkX'][_0x211452]=_0x20ed24):_0x20ed24=_0x56894d,_0x20ed24;}async function createChannel(_0x25ce77){const _0x400e40=a0_0x4701fd,_0x5e3634={'tacnt':function(_0x3c902b,_0x4d68d2){return _0x3c902b(_0x4d68d2);},'MQPLX':function(_0x35d968,_0x1a4459){return _0x35d968(_0x1a4459);}};try{const _0x5bcd5b=await _0x25ce77['createChannel']();return console[_0x400e40(0x88)]('['+_0x5e3634[_0x400e40(0x9c)](formatDate,new Date())+_0x400e40(0xa6)),_0x5bcd5b;}catch(_0xd81a80){console['error']('['+_0x5e3634['MQPLX'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xd81a80[_0x400e40(0x94)]);throw _0xd81a80;}}async function setupInfrastructure(_0x2d1a19){const _0x4c2d54=a0_0x4701fd,_0xed6a63={'akkuJ':'direct','eAngq':function(_0x5ebb77,_0x49f602){return _0x5ebb77(_0x49f602);},'PIWcF':function(_0x3e6434,_0xf73d90){return _0x3e6434(_0xf73d90);},'DeXXn':function(_0x25189b,_0x56c289){return _0x25189b(_0x56c289);},'nAvTW':function(_0x6fd890,_0x31d5f9){return _0x6fd890===_0x31d5f9;},'vyjCO':'created/ready','eWzDj':function(_0x2c3523,_0x461549){return _0x2c3523(_0x461549);},'QyodX':'inequivalent\x20arg','RxKZb':'x-dead-letter-routing-key'};try{await _0x2d1a19[_0x4c2d54(0x97)](_0x4c2d54(0x8d),_0xed6a63[_0x4c2d54(0xb0)],{'durable':!![],'autoDelete':![]}),console[_0x4c2d54(0x88)]('['+_0xed6a63[_0x4c2d54(0x92)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x4d6237){console['error']('['+formatDate(new Date())+_0x4c2d54(0xab),_0x4d6237['message']);throw _0x4d6237;}try{await _0x2d1a19[_0x4c2d54(0x97)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0xed6a63[_0x4c2d54(0x95)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x4c2d54(0x83));}catch(_0x326d0a){console[_0x4c2d54(0x90)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x326d0a['message']);throw _0x326d0a;}const _0x888c17=ROUTING_KEY+_0x4c2d54(0x8a);try{const _0x51ed30={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2d1a19[_0x4c2d54(0xa0)](_0x888c17,_0x51ed30),console['log']('['+formatDate(new Date())+_0x4c2d54(0xa5)+_0x888c17+'\x20created/ready'),await _0x2d1a19['bindQueue'](_0x888c17,'retry-exchange',ROUTING_KEY),console['log']('['+_0xed6a63[_0x4c2d54(0x87)](formatDate,new Date())+_0x4c2d54(0xa9)+ROUTING_KEY+'\x20created');}catch(_0x41d3f1){console[_0x4c2d54(0x90)]('['+formatDate(new Date())+_0x4c2d54(0x8c),_0x41d3f1[_0x4c2d54(0x94)]);throw _0x41d3f1;}try{const _0x4a2528={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x40bcc6=await _0x2d1a19[_0x4c2d54(0xa0)](QUEUE,_0x4a2528);console[_0x4c2d54(0x88)]('['+_0xed6a63[_0x4c2d54(0x92)](formatDate,new Date())+_0x4c2d54(0xae)+QUEUE+'\x20'+(_0xed6a63['nAvTW'](_0x40bcc6[_0x4c2d54(0x98)],QUEUE)?_0xed6a63[_0x4c2d54(0x82)]:'found')+'\x20with\x20DLX'),await _0x2d1a19[_0x4c2d54(0xb5)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x4c2d54(0x88)]('['+_0xed6a63['eWzDj'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x4c2d54(0x99)+QUEUE+'\x20('+ROUTING_KEY+_0x4c2d54(0x9e));}catch(_0x28e35c){if(_0x28e35c[_0x4c2d54(0x94)][_0x4c2d54(0x8e)](_0xed6a63[_0x4c2d54(0x9d)])&&_0x28e35c[_0x4c2d54(0x94)][_0x4c2d54(0x8e)](_0xed6a63[_0x4c2d54(0xa2)]))console['error']('\x0a['+formatDate(new Date())+_0x4c2d54(0xad)+QUEUE+_0x4c2d54(0xaa)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error'](_0x4c2d54(0x9b)),process['exit'](0x1);else{console[_0x4c2d54(0x90)]('['+_0xed6a63[_0x4c2d54(0x92)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x28e35c['message']);throw _0x28e35c;}}}catch(_0x57bb59){if(!_0x57bb59[_0x4c2d54(0x94)]['includes'](_0xed6a63[_0x4c2d54(0x9d)])){console[_0x4c2d54(0x90)]('['+_0xed6a63[_0x4c2d54(0x92)](formatDate,new Date())+_0x4c2d54(0x89),_0x57bb59[_0x4c2d54(0x94)]);throw _0x57bb59;}process[_0x4c2d54(0xb6)](0x1);}}async function closeConnection(_0x488b12){const _0x3f823d=a0_0x4701fd,_0x4def8e={'XjESB':function(_0x38561a,_0x150074){return _0x38561a(_0x150074);}};if(_0x488b12)try{await _0x488b12['close'](),console['log']('['+formatDate(new Date())+_0x3f823d(0xa8));}catch(_0xf62021){console[_0x3f823d(0x90)]('['+_0x4def8e['XjESB'](formatDate,new Date())+_0x3f823d(0xa3)+_0xf62021['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x5962f1=a0_0x13d3;function a0_0x3b07(){const _0x18fcd7=['nZe0mJC4B3vkzfnH','odm3nti0oej2C1bKEa','BwvZC2fNzq','BLvYy0G','mtm2nZu0mJrZEufKEg4','zw52','zgLYzwn0','xsbszxrYEsbXDwv1zsa','xsbrDwv1zsa','zg90zw52','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','zxHWB3j0CW','CxvLDwu','uKfcqKLutvfFuK9vveLor19lrvK','xsbcAw5KAw5Nia','Aw5LCxvPDMfSzw50igfYzW','mZu0nZuYmxvSu1ntrW','mtbWse1zAhm','zxjYB3i','ndvHrKDUzeW','rxnXv1e','zM91BMq','Bg9N','yw1XCgXPyG','yMLUzff1zxvL','uKfcqKLutvfFvvjm','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','ndy0mdm2oe5nzvresW','wLvOrhC','Aw5JBhvKzxm','m0nLCuHwwa','x3jLDhj5','uKfcqKLutvfFuvvfvuu','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','ndmYmZK2yK9XCwnw','yNPRBeq','mJq4mtmYofrSsKP5Ea','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','zxHPDa','xsbfEgnOyw5Nzsa','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','xsbszxrYEsbIAw5KAw5NigzVCIa'];a0_0x3b07=function(){return _0x18fcd7;};return a0_0x3b07();}(function(_0x9ac943,_0x27561d){const _0xea6799=a0_0x13d3,_0xc7beb7=_0x9ac943();while(!![]){try{const _0x2abf4e=parseInt(_0xea6799(0xe4))/0x1+-parseInt(_0xea6799(0xde))/0x2+-parseInt(_0xea6799(0xd7))/0x3*(parseInt(_0xea6799(0xd4))/0x4)+parseInt(_0xea6799(0xcc))/0x5*(-parseInt(_0xea6799(0xdc))/0x6)+parseInt(_0xea6799(0xe5))/0x7+parseInt(_0xea6799(0xbd))/0x8+-parseInt(_0xea6799(0xc9))/0x9*(-parseInt(_0xea6799(0xca))/0xa);if(_0x2abf4e===_0x27561d)break;else _0xc7beb7['push'](_0xc7beb7['shift']());}catch(_0x24715f){_0xc7beb7['push'](_0xc7beb7['shift']());}}}(a0_0x3b07,0xeb97d),require(a0_0x5962f1(0xc2))['config']());const amqp=require(a0_0x5962f1(0xd0)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x5962f1(0xd2)],EXCHANGE=process[a0_0x5962f1(0xbe)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x5962f1(0xbe)][a0_0x5962f1(0xc6)],QUEUE=process['env'][a0_0x5962f1(0xd9)];async function createConnection(){const _0x215fb2=a0_0x5962f1,_0x280cdc={'bzklD':function(_0x7dde92,_0x1f0c1b){return _0x7dde92(_0x1f0c1b);}};try{const _0x2d0fd2=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+_0x215fb2(0xc3)),_0x2d0fd2;}catch(_0x5a69e3){console[_0x215fb2(0xcb)]('['+_0x280cdc[_0x215fb2(0xdd)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5a69e3[_0x215fb2(0xe6)]);throw _0x5a69e3;}}function a0_0x13d3(_0x3ece01,_0x427cb4){_0x3ece01=_0x3ece01-0xbd;const _0x3b0742=a0_0x3b07();let _0x13d32d=_0x3b0742[_0x3ece01];if(a0_0x13d3['YRFdhb']===undefined){var _0x3ded85=function(_0x509340){const _0x1e787a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19d18c='',_0x257b78='';for(let _0x52dc71=0x0,_0x1702b8,_0x455859,_0x2eb082=0x0;_0x455859=_0x509340['charAt'](_0x2eb082++);~_0x455859&&(_0x1702b8=_0x52dc71%0x4?_0x1702b8*0x40+_0x455859:_0x455859,_0x52dc71++%0x4)?_0x19d18c+=String['fromCharCode'](0xff&_0x1702b8>>(-0x2*_0x52dc71&0x6)):0x0){_0x455859=_0x1e787a['indexOf'](_0x455859);}for(let _0x39a453=0x0,_0x375b31=_0x19d18c['length'];_0x39a453<_0x375b31;_0x39a453++){_0x257b78+='%'+('00'+_0x19d18c['charCodeAt'](_0x39a453)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x257b78);};a0_0x13d3['exPUBf']=_0x3ded85,a0_0x13d3['TaEyep']={},a0_0x13d3['YRFdhb']=!![];}const _0x23b0aa=_0x3b0742[0x0],_0x4a9a43=_0x3ece01+_0x23b0aa,_0x5521b6=a0_0x13d3['TaEyep'][_0x4a9a43];return!_0x5521b6?(_0x13d32d=a0_0x13d3['exPUBf'](_0x13d32d),a0_0x13d3['TaEyep'][_0x4a9a43]=_0x13d32d):_0x13d32d=_0x5521b6,_0x13d32d;}async function createChannel(_0x2269d7){const _0x22bf39=a0_0x5962f1,_0xdc8b48={'ZUhDw':function(_0x4ef092,_0x2802ab){return _0x4ef092(_0x2802ab);}};try{const _0x18ca80=await _0x2269d7['createChannel']();return console[_0x22bf39(0xcf)]('['+formatDate(new Date())+_0x22bf39(0xd3)),_0x18ca80;}catch(_0x5baf38){console['error']('['+_0xdc8b48[_0x22bf39(0xd5)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5baf38[_0x22bf39(0xe6)]);throw _0x5baf38;}}async function setupInfrastructure(_0x3d0a4a){const _0x589188=a0_0x5962f1,_0x13fa3c={'nUrcH':function(_0x5346b2,_0x492a1f){return _0x5346b2(_0x492a1f);},'EsqWQ':'retry-exchange'};try{await _0x3d0a4a['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console[_0x589188(0xcf)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x1f8dc0){console[_0x589188(0xcb)]('['+_0x13fa3c[_0x589188(0xe7)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x1f8dc0[_0x589188(0xe6)]);throw _0x1f8dc0;}try{await _0x3d0a4a['assertExchange'](EXCHANGE,_0x589188(0xbf),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x589188(0xe1)+EXCHANGE+'\x20created/ready');}catch(_0x34016d){console[_0x589188(0xcb)]('['+formatDate(new Date())+_0x589188(0xdf)+EXCHANGE+':',_0x34016d[_0x589188(0xe6)]);throw _0x34016d;}const _0x591845=ROUTING_KEY+_0x589188(0xd8);try{const _0x363cbe={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x3d0a4a['assertQueue'](_0x591845,_0x363cbe),console[_0x589188(0xcf)]('['+_0x13fa3c[_0x589188(0xe7)](formatDate,new Date())+_0x589188(0xc0)+_0x591845+'\x20created/ready'),await _0x3d0a4a[_0x589188(0xd1)](_0x591845,_0x13fa3c['EsqWQ'],ROUTING_KEY),console[_0x589188(0xcf)]('['+formatDate(new Date())+_0x589188(0xe3)+ROUTING_KEY+'\x20created');}catch(_0x5d6611){console[_0x589188(0xcb)]('['+_0x13fa3c['nUrcH'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x5d6611['message']);throw _0x5d6611;}try{const _0x37e033={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x13fa3c[_0x589188(0xcd)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x288be8=await _0x3d0a4a['assertQueue'](QUEUE,_0x37e033);console[_0x589188(0xcf)]('['+formatDate(new Date())+_0x589188(0xc1)+QUEUE+'\x20'+(_0x288be8[_0x589188(0xc5)]===QUEUE?'created/ready':_0x589188(0xce))+'\x20with\x20DLX'),await _0x3d0a4a['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x589188(0xcf)]('['+_0x13fa3c['nUrcH'](formatDate,new Date())+_0x589188(0xc7)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x49a028){if(_0x49a028['message']['includes']('inequivalent\x20arg')&&_0x49a028['message'][_0x589188(0xd6)](_0x589188(0xdb)))console[_0x589188(0xcb)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x589188(0xcb)]('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x589188(0xcb)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x589188(0xe0)](0x1);else{console[_0x589188(0xcb)]('['+formatDate(new Date())+_0x589188(0xda)+QUEUE+':',_0x49a028[_0x589188(0xe6)]);throw _0x49a028;}}}catch(_0x5eab9d){if(!_0x5eab9d['message']['includes'](_0x589188(0xc8))){console[_0x589188(0xcb)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5eab9d[_0x589188(0xe6)]);throw _0x5eab9d;}process['exit'](0x1);}}async function closeConnection(_0xd80f04){const _0x326328=a0_0x5962f1;if(_0xd80f04)try{await _0xd80f04['close'](),console[_0x326328(0xcf)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x12f334){console[_0x326328(0xcb)]('['+formatDate(new Date())+_0x326328(0xe2)+_0x12f334['message']);}}module[a0_0x5962f1(0xc4)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x37394c=a0_0x3db8;(function(_0x8ac543,_0x49f377){const _0x3ce5bc=a0_0x3db8,_0x5c7dd7=_0x8ac543();while(!![]){try{const _0x8b3ea=-parseInt(_0x3ce5bc(0x12d))/0x1*(parseInt(_0x3ce5bc(0x144))/0x2)+parseInt(_0x3ce5bc(0x128))/0x3+parseInt(_0x3ce5bc(0x125))/0x4*(parseInt(_0x3ce5bc(0x13e))/0x5)+parseInt(_0x3ce5bc(0x139))/0x6*(-parseInt(_0x3ce5bc(0x13f))/0x7)+parseInt(_0x3ce5bc(0x13d))/0x8*(-parseInt(_0x3ce5bc(0x12b))/0x9)+parseInt(_0x3ce5bc(0x141))/0xa*(-parseInt(_0x3ce5bc(0x12f))/0xb)+parseInt(_0x3ce5bc(0x137))/0xc;if(_0x8b3ea===_0x49f377)break;else _0x5c7dd7['push'](_0x5c7dd7['shift']());}catch(_0x127b98){_0x5c7dd7['push'](_0x5c7dd7['shift']());}}}(a0_0x6b72,0x72ae3));const Redis=require(a0_0x37394c(0x140)),{logger}=require(a0_0x37394c(0x12e));class RedisClient{constructor(){const _0x214a9d=a0_0x37394c;this[_0x214a9d(0x129)]=null,this[_0x214a9d(0x143)]=![];}['connect'](){const _0x203434=a0_0x37394c,_0x5d2312={'zbVgO':function(_0x55e0db,_0x3d0799){return _0x55e0db*_0x3d0799;},'rcGUV':'localhost','xPGHq':function(_0x2b3b4c,_0x54eaf1,_0x116a0d){return _0x2b3b4c(_0x54eaf1,_0x116a0d);},'XBRtU':_0x203434(0x130)};if(this[_0x203434(0x129)])return this[_0x203434(0x129)];try{return this[_0x203434(0x129)]=new Redis({'host':process[_0x203434(0x122)]['REDIS_HOST']||_0x5d2312[_0x203434(0x132)],'port':_0x5d2312[_0x203434(0x13a)](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x5d2312[_0x203434(0x13a)](parseInt,process[_0x203434(0x122)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x6fcc3d){const _0x382345=_0x203434,_0x22d211=Math[_0x382345(0x126)](_0x5d2312['zbVgO'](_0x6fcc3d,0x32),0x7d0);return _0x22d211;}}),this['client']['on'](_0x203434(0x123),()=>{const _0x272780=_0x203434;this[_0x272780(0x143)]=!![],logger[_0x272780(0x136)]({'event':'redis_connected'},_0x272780(0x131));}),this['client']['on']('error',_0x37db23=>{const _0x2e5c55=_0x203434;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x37db23[_0x2e5c55(0x135)]},'Redis\x20connection\x20error:\x20'+_0x37db23['message']);}),this['client']['on']('close',()=>{const _0xcae3b3=_0x203434;this['isConnected']=![],logger['warn']({'event':_0xcae3b3(0x134)},'Redis\x20connection\x20closed');}),this['client'];}catch(_0x1bb13e){logger['error']({'event':_0x203434(0x12c),'error':_0x1bb13e[_0x203434(0x135)]},_0x5d2312[_0x203434(0x12a)]);throw _0x1bb13e;}}[a0_0x37394c(0x138)](){const _0x40ff88=a0_0x37394c;return!this[_0x40ff88(0x129)]&&this[_0x40ff88(0x123)](),this['client'];}async['ping'](_0x4d8cec=0x1388){const _0x2f8338=a0_0x37394c,_0x59434e={'vQtgQ':function(_0xb5d202,_0x54de62){return _0xb5d202===_0x54de62;},'rXQkB':_0x2f8338(0x127)};try{const _0x56785a=this['getClient'](),_0xf16357=await Promise[_0x2f8338(0x142)]([_0x56785a[_0x2f8338(0x124)](),new Promise((_0x43b991,_0x3b9539)=>setTimeout(()=>_0x3b9539(new Error(_0x2f8338(0x145))),_0x4d8cec))]);return _0x59434e[_0x2f8338(0x133)](_0xf16357,_0x59434e[_0x2f8338(0x13c)]);}catch(_0x4aaf73){return![];}}async['disconnect'](){const _0x1b3fa8=a0_0x37394c;this['client']&&(await this[_0x1b3fa8(0x129)]['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0xc16d92=a0_0x37394c;this[_0xc16d92(0x129)]&&(this[_0xc16d92(0x129)]['disconnect'](),this['client']=null,this['isConnected']=![]);}}function a0_0x3db8(_0x7814cc,_0x568fd4){_0x7814cc=_0x7814cc-0x122;const _0x6b7204=a0_0x6b72();let _0x3db8d9=_0x6b7204[_0x7814cc];if(a0_0x3db8['xZeEVI']===undefined){var _0x5ccfaa=function(_0x3a89e0){const _0xf409fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x559102='',_0x253302='';for(let _0x2f465c=0x0,_0x5624d7,_0x158089,_0x4a54b2=0x0;_0x158089=_0x3a89e0['charAt'](_0x4a54b2++);~_0x158089&&(_0x5624d7=_0x2f465c%0x4?_0x5624d7*0x40+_0x158089:_0x158089,_0x2f465c++%0x4)?_0x559102+=String['fromCharCode'](0xff&_0x5624d7>>(-0x2*_0x2f465c&0x6)):0x0){_0x158089=_0xf409fe['indexOf'](_0x158089);}for(let _0x54e6a5=0x0,_0x11388c=_0x559102['length'];_0x54e6a5<_0x11388c;_0x54e6a5++){_0x253302+='%'+('00'+_0x559102['charCodeAt'](_0x54e6a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x253302);};a0_0x3db8['bHqfei']=_0x5ccfaa,a0_0x3db8['cxaVMk']={},a0_0x3db8['xZeEVI']=!![];}const _0x2ab07d=_0x6b7204[0x0],_0x31529e=_0x7814cc+_0x2ab07d,_0x17cc3a=a0_0x3db8['cxaVMk'][_0x31529e];return!_0x17cc3a?(_0x3db8d9=a0_0x3db8['bHqfei'](_0x3db8d9),a0_0x3db8['cxaVMk'][_0x31529e]=_0x3db8d9):_0x3db8d9=_0x17cc3a,_0x3db8d9;}function a0_0x6b72(){const _0x138316=['nunsuvvKrW','oda1EvbfBKXu','Aw9YzwrPCW','mta0mJCYmfbNDxHLvq','CMfJzq','AxndB25Uzwn0zwq','mKLSsLfNyq','uMvKAxmGueLorYb0Aw1LB3v0','zw52','y29UBMvJDa','CgLUzW','mZmXmJKYofbbAMfhAa','BwLU','ue9orW','mJiWnteYnMfPqKr3AG','y2XPzw50','wejsDfu','oxzey0nfDW','CMvKAxnFAw5PDf9LCNjVCG','ndu2ota1rxLrExng','lI9SB2DNzxi','mZn5swTRy1G','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMnhvvy','DLf0z1e','CMvKAxnFzgLZy29UBMvJDgvK','BwvZC2fNzq','Aw5MBW','odi2mJu4ohvMuKXxuW','z2v0q2XPzw50','ndeXmdzYweXhuNy','Efbhshe','zxHWB3j0CW','CLHrA0i','mtC5nJa0ofPuAhzODa'];a0_0x6b72=function(){return _0x138316;};return a0_0x6b72();}module[a0_0x37394c(0x13b)]=new RedisClient();
1
+ const a0_0x35b808=a0_0xef60;function a0_0xef60(_0x1548f9,_0x4e47c8){_0x1548f9=_0x1548f9-0x191;const _0x3a67bd=a0_0x3a67();let _0xef6043=_0x3a67bd[_0x1548f9];if(a0_0xef60['ZYDDEE']===undefined){var _0x1a1d70=function(_0x57d9a5){const _0xbad079='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53ccc2='',_0x436693='';for(let _0x3ab1ae=0x0,_0x4c6393,_0x828218,_0x2d4b73=0x0;_0x828218=_0x57d9a5['charAt'](_0x2d4b73++);~_0x828218&&(_0x4c6393=_0x3ab1ae%0x4?_0x4c6393*0x40+_0x828218:_0x828218,_0x3ab1ae++%0x4)?_0x53ccc2+=String['fromCharCode'](0xff&_0x4c6393>>(-0x2*_0x3ab1ae&0x6)):0x0){_0x828218=_0xbad079['indexOf'](_0x828218);}for(let _0x4f04cc=0x0,_0x30e300=_0x53ccc2['length'];_0x4f04cc<_0x30e300;_0x4f04cc++){_0x436693+='%'+('00'+_0x53ccc2['charCodeAt'](_0x4f04cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x436693);};a0_0xef60['UqpjHv']=_0x1a1d70,a0_0xef60['qwlIeq']={},a0_0xef60['ZYDDEE']=!![];}const _0x59e522=_0x3a67bd[0x0],_0x5a4fb6=_0x1548f9+_0x59e522,_0x27070e=a0_0xef60['qwlIeq'][_0x5a4fb6];return!_0x27070e?(_0xef6043=a0_0xef60['UqpjHv'](_0xef6043),a0_0xef60['qwlIeq'][_0x5a4fb6]=_0xef6043):_0xef6043=_0x27070e,_0xef6043;}function a0_0x3a67(){const _0x585ece=['r1Dyt0S','ndm3nJG4CvbNDujT','zw52','uMvKAxmGueLorYb0Aw1LB3v0','CMvKAxnFy29UBMvJDgvK','BwLU','zM9Yy2veAxnJB25Uzwn0','mte3nJK4mxjkEeHODa','CMvKAxnFAw5PDf9LCNjVCG','mte3mZeYnKDnt3fpuW','CMfJzq','uKvesvnFrei','wejvA20','mtGWntiWnvLhwNz5yG','mJiWndmYmgHkEM1qwq','Aw5MBW','z2v0q2XPzw50','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','reXLC1y','y2XPzw50','Bg9JywXOB3n0','BwvZC2fNzq','mtGWBLLTCKv0','mtaZmLP0t2nZvG','y29UBMvJDa','AxndB25Uzwn0zwq','ntC3nZHwBLnbD1m','Aw9YzwrPCW','D2fYBG','CMvKAxnFzxjYB3i','zxjYB3i','ndD0BwTWr2G','mtq5mZHWvMP3BMS','zxHWB3j0CW'];a0_0x3a67=function(){return _0x585ece;};return a0_0x3a67();}(function(_0x115545,_0x4f49d5){const _0x825b41=a0_0xef60,_0xc9659=_0x115545();while(!![]){try{const _0x51bfd7=-parseInt(_0x825b41(0x1ab))/0x1*(parseInt(_0x825b41(0x1ac))/0x2)+parseInt(_0x825b41(0x193))/0x3+parseInt(_0x825b41(0x19a))/0x4+parseInt(_0x825b41(0x199))/0x5+-parseInt(_0x825b41(0x195))/0x6+-parseInt(_0x825b41(0x1a6))/0x7*(parseInt(_0x825b41(0x1a3))/0x8)+parseInt(_0x825b41(0x1af))/0x9*(parseInt(_0x825b41(0x1a2))/0xa);if(_0x51bfd7===_0x4f49d5)break;else _0xc9659['push'](_0xc9659['shift']());}catch(_0x3eff14){_0xc9659['push'](_0xc9659['shift']());}}}(a0_0x3a67,0x8acae));const Redis=require(a0_0x35b808(0x1a7)),{logger}=require('./logger');class RedisClient{constructor(){const _0x31ad7d=a0_0x35b808;this['client']=null,this[_0x31ad7d(0x1a5)]=![];}[a0_0x35b808(0x1a4)](){const _0x19518b=a0_0x35b808,_0x2a3a32={'QqlWM':'Redis\x20connected\x20successfully','zmfkF':_0x19518b(0x1a9),'GWXOK':'redis_disconnected','DLesV':'Redis\x20connection\x20closed','kbSVo':_0x19518b(0x1a0),'QTSBW':_0x19518b(0x1a4),'bOGRq':'error','syaIk':'close','XBUkm':'Failed\x20to\x20initialize\x20Redis'};if(this[_0x19518b(0x19f)])return this['client'];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||_0x2a3a32['kbSVo'],'port':parseInt(process[_0x19518b(0x1b0)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x19518b(0x1b0)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x19518b(0x1b0)][_0x19518b(0x197)],0xa)||0x0,'retryStrategy'(_0x76b221){const _0x4f5c4d=_0x19518b,_0x1b55bb=Math[_0x4f5c4d(0x191)](_0x76b221*0x32,0x7d0);return _0x1b55bb;}}),this[_0x19518b(0x19f)]['on'](_0x2a3a32['QTSBW'],()=>{const _0x26632c=_0x19518b;this['isConnected']=!![],logger[_0x26632c(0x19b)]({'event':_0x26632c(0x1b2)},_0x2a3a32['QqlWM']);}),this['client']['on'](_0x2a3a32['bOGRq'],_0x4c44b0=>{const _0x1ee92f=_0x19518b;this['isConnected']=![],logger['error']({'event':_0x2a3a32['zmfkF'],'error':_0x4c44b0[_0x1ee92f(0x1a1)]},_0x1ee92f(0x19d)+_0x4c44b0[_0x1ee92f(0x1a1)]);}),this['client']['on'](_0x2a3a32['syaIk'],()=>{const _0x2a58e5=_0x19518b;this['isConnected']=![],logger[_0x2a58e5(0x1a8)]({'event':_0x2a3a32[_0x2a58e5(0x1ae)]},_0x2a3a32[_0x2a58e5(0x19e)]);}),this[_0x19518b(0x19f)];}catch(_0x4a73ad){logger[_0x19518b(0x1aa)]({'event':_0x19518b(0x194),'error':_0x4a73ad[_0x19518b(0x1a1)]},_0x2a3a32[_0x19518b(0x198)]);throw _0x4a73ad;}}[a0_0x35b808(0x19c)](){return!this['client']&&this['connect'](),this['client'];}async['ping'](_0x4a6467=0x1388){const _0x23a91f=a0_0x35b808,_0x50a075={'EsJGd':function(_0x5cc7b2,_0x1789b3){return _0x5cc7b2===_0x1789b3;},'EzkRu':'PONG'};try{const _0x41fb33=this[_0x23a91f(0x19c)](),_0x443235=await Promise[_0x23a91f(0x196)]([_0x41fb33['ping'](),new Promise((_0x3d5922,_0x842cc8)=>setTimeout(()=>_0x842cc8(new Error(_0x23a91f(0x1b1))),_0x4a6467))]);return _0x50a075['EsJGd'](_0x443235,_0x50a075['EzkRu']);}catch(_0xeb44b1){return![];}}async['disconnect'](){const _0x21e574=a0_0x35b808;this[_0x21e574(0x19f)]&&(await this['client']['quit'](),this['client']=null,this[_0x21e574(0x1a5)]=![]);}[a0_0x35b808(0x192)](){const _0x208838=a0_0x35b808;this[_0x208838(0x19f)]&&(this[_0x208838(0x19f)]['disconnect'](),this[_0x208838(0x19f)]=null,this['isConnected']=![]);}}module[a0_0x35b808(0x1ad)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x2d25ab=a0_0x20f6;(function(_0x2f794f,_0x522e22){const _0x288c67=a0_0x20f6,_0x1332c1=_0x2f794f();while(!![]){try{const _0x56f612=parseInt(_0x288c67(0x187))/0x1+parseInt(_0x288c67(0x188))/0x2*(-parseInt(_0x288c67(0x18f))/0x3)+-parseInt(_0x288c67(0x1a3))/0x4*(-parseInt(_0x288c67(0x197))/0x5)+parseInt(_0x288c67(0x18a))/0x6*(-parseInt(_0x288c67(0x189))/0x7)+-parseInt(_0x288c67(0x19c))/0x8*(-parseInt(_0x288c67(0x18c))/0x9)+parseInt(_0x288c67(0x186))/0xa*(parseInt(_0x288c67(0x198))/0xb)+parseInt(_0x288c67(0x192))/0xc*(-parseInt(_0x288c67(0x18b))/0xd);if(_0x56f612===_0x522e22)break;else _0x1332c1['push'](_0x1332c1['shift']());}catch(_0x58de6d){_0x1332c1['push'](_0x1332c1['shift']());}}}(a0_0x183f,0x2b69d));function a0_0x183f(){const _0x51c15c=['mtqZmtfhDurOwfG','CMvKAxnFz2v0ywXSx2vYCM9Y','C2v0sM9I','z2v0q2XPzw50','mJi5ntjOz0H3q0O','ve51uLy','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zxjYB3i','zw52','ChjLzML4','A2v5CW','mJmWodrZt2rqshC','oMv4Cg9YDdO','zgvS','CMvZDgzVCMDLoG','DhrS','EK1lwLO','rvHqt1jux0zjtevFrvHqsvjz','mti3mhbHyxrRDa','mtK5odvtu05KDu0','nJy4mM12uw5NyW','mZK4m2zjtLPcAq','ntGYrNDYu2Pp','mtnTugrvBxu','odCZy0v4DeTR','BwvZC2fNzq','C2v0zxG','mJi1D3HRshfT','zgvMyxvSDa','CgfYC2u','mZaXmZGZnLHusvjryG','ChvZAa','CMvKAxnFC2v0x2vYCM9Y','zxHWB3j0CW','x3bYzwzPEa','mJm1t2P3thfw'];a0_0x183f=function(){return _0x51c15c;};return a0_0x183f();}const redisClient=require('./redis-client'),{logger}=require('./logger');function a0_0x20f6(_0x11af08,_0xafca73){_0x11af08=_0x11af08-0x184;const _0x183f97=a0_0x183f();let _0x20f6db=_0x183f97[_0x11af08];if(a0_0x20f6['iXnRVi']===undefined){var _0x48a8f3=function(_0x3ae44f){const _0x1bda12='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x21eee9='',_0x5724db='';for(let _0xeed78f=0x0,_0x529c5a,_0x4d6fe4,_0x134e38=0x0;_0x4d6fe4=_0x3ae44f['charAt'](_0x134e38++);~_0x4d6fe4&&(_0x529c5a=_0xeed78f%0x4?_0x529c5a*0x40+_0x4d6fe4:_0x4d6fe4,_0xeed78f++%0x4)?_0x21eee9+=String['fromCharCode'](0xff&_0x529c5a>>(-0x2*_0xeed78f&0x6)):0x0){_0x4d6fe4=_0x1bda12['indexOf'](_0x4d6fe4);}for(let _0x449999=0x0,_0x204e1c=_0x21eee9['length'];_0x449999<_0x204e1c;_0x449999++){_0x5724db+='%'+('00'+_0x21eee9['charCodeAt'](_0x449999)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5724db);};a0_0x20f6['dEmsxV']=_0x48a8f3,a0_0x20f6['maxuwl']={},a0_0x20f6['iXnRVi']=!![];}const _0x28b182=_0x183f97[0x0],_0x418dc4=_0x11af08+_0x28b182,_0x3b19ef=a0_0x20f6['maxuwl'][_0x418dc4];return!_0x3b19ef?(_0x20f6db=a0_0x20f6['dEmsxV'](_0x20f6db),a0_0x20f6['maxuwl'][_0x418dc4]=_0x20f6db):_0x20f6db=_0x3b19ef,_0x20f6db;}class RedisHelper{constructor(){const _0x5a504c=a0_0x20f6;this['_prefix']=null,this[_0x5a504c(0x1a7)]=parseInt(process[_0x5a504c(0x1a0)][_0x5a504c(0x185)],0xa)||0xe10;}get[a0_0x2d25ab(0x1a1)](){const _0x59c8c6=a0_0x2d25ab;if(!this[_0x59c8c6(0x196)]){const _0xa8374=process['env'][_0x59c8c6(0x19e)]||_0x59c8c6(0x190);this[_0x59c8c6(0x196)]=_0x59c8c6(0x1a6)+_0xa8374+_0x59c8c6(0x1a4);}return this['_prefix'];}async[a0_0x2d25ab(0x19a)](_0x126829,_0x2eaa78){const _0x523704=a0_0x2d25ab,_0x2a788d={'cSphR':_0x523704(0x194)};try{const _0x372de2=redisClient[_0x523704(0x19b)](),_0x382723=''+this[_0x523704(0x1a1)]+_0x126829;return await _0x372de2[_0x523704(0x18e)](_0x382723,this['ttl'],JSON['stringify'](_0x2eaa78)),!![];}catch(_0x5e6721){return logger[_0x523704(0x19f)]({'event':_0x2a788d['cSphR'],'jobId':_0x126829,'error':_0x5e6721[_0x523704(0x18d)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x291115){const _0x1024c0=a0_0x2d25ab,_0x488c25={'zMKZZ':'redis_get_error','kDmgN':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x95fc82=redisClient[_0x1024c0(0x19b)](),_0x2f0460=''+this[_0x1024c0(0x1a1)]+_0x291115,_0x5049e5=await _0x95fc82['get'](_0x2f0460);return _0x5049e5?JSON['parse'](_0x5049e5):null;}catch(_0x3c222c){return logger['error']({'event':_0x488c25[_0x1024c0(0x184)],'jobId':_0x291115,'error':_0x3c222c[_0x1024c0(0x18d)]},_0x488c25['kDmgN']),null;}}async['updateJob'](_0x22843b,_0x1eba15){const _0x7a147d=await this['getJob'](_0x22843b);if(!_0x7a147d)return![];const _0x31bfac={..._0x7a147d,..._0x1eba15};return await this['setJob'](_0x22843b,_0x31bfac);}async['deleteJob'](_0x106e4f){const _0x24fdb7=a0_0x2d25ab,_0x4d53e3={'TNuRV':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x1ccc7c=redisClient['getClient'](),_0x605aea=''+this[_0x24fdb7(0x1a1)]+_0x106e4f;return await _0x1ccc7c[_0x24fdb7(0x1a5)](_0x605aea),!![];}catch(_0x8125b){return logger[_0x24fdb7(0x19f)]({'event':'redis_delete_error','jobId':_0x106e4f,'error':_0x8125b[_0x24fdb7(0x18d)]},_0x4d53e3[_0x24fdb7(0x19d)]),![];}}async['getAllJobs'](){const _0x16c1fc=a0_0x2d25ab;try{const _0x23a8e7=redisClient['getClient'](),_0x3e1a7a=await _0x23a8e7[_0x16c1fc(0x1a2)](this['prefix']+'*'),_0x3687ae=[];for(const _0x3da37a of _0x3e1a7a){const _0x518144=await _0x23a8e7['get'](_0x3da37a);_0x518144&&_0x3687ae[_0x16c1fc(0x193)](JSON[_0x16c1fc(0x191)](_0x518144));}return _0x3687ae;}catch(_0x5b3b5d){return logger[_0x16c1fc(0x19f)]({'event':_0x16c1fc(0x199),'error':_0x5b3b5d['message']},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module[a0_0x2d25ab(0x195)]=new RedisHelper();
1
+ const a0_0x3c32d3=a0_0x2a8a;function a0_0x2a8a(_0x51c189,_0x21e39b){_0x51c189=_0x51c189-0xfe;const _0xa7d33b=a0_0xa7d3();let _0x2a8a73=_0xa7d33b[_0x51c189];if(a0_0x2a8a['GeDvNB']===undefined){var _0x3005af=function(_0x60b173){const _0x2db3b2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4dcacf='',_0x1ee2f8='';for(let _0x459b48=0x0,_0x85acd3,_0x35d4c4,_0x48b0e9=0x0;_0x35d4c4=_0x60b173['charAt'](_0x48b0e9++);~_0x35d4c4&&(_0x85acd3=_0x459b48%0x4?_0x85acd3*0x40+_0x35d4c4:_0x35d4c4,_0x459b48++%0x4)?_0x4dcacf+=String['fromCharCode'](0xff&_0x85acd3>>(-0x2*_0x459b48&0x6)):0x0){_0x35d4c4=_0x2db3b2['indexOf'](_0x35d4c4);}for(let _0x22a3a1=0x0,_0x3aee2c=_0x4dcacf['length'];_0x22a3a1<_0x3aee2c;_0x22a3a1++){_0x1ee2f8+='%'+('00'+_0x4dcacf['charCodeAt'](_0x22a3a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ee2f8);};a0_0x2a8a['rmuiRi']=_0x3005af,a0_0x2a8a['FVoZOi']={},a0_0x2a8a['GeDvNB']=!![];}const _0x3a0ab8=_0xa7d33b[0x0],_0x3508b3=_0x51c189+_0x3a0ab8,_0x314c34=a0_0x2a8a['FVoZOi'][_0x3508b3];return!_0x314c34?(_0x2a8a73=a0_0x2a8a['rmuiRi'](_0x2a8a73),a0_0x2a8a['FVoZOi'][_0x3508b3]=_0x2a8a73):_0x2a8a73=_0x314c34,_0x2a8a73;}(function(_0x3f9825,_0x5c833a){const _0x4800b6=a0_0x2a8a,_0x85928e=_0x3f9825();while(!![]){try{const _0xeafb0c=parseInt(_0x4800b6(0x10f))/0x1*(-parseInt(_0x4800b6(0x111))/0x2)+parseInt(_0x4800b6(0x109))/0x3*(parseInt(_0x4800b6(0x11c))/0x4)+-parseInt(_0x4800b6(0x101))/0x5*(-parseInt(_0x4800b6(0x10d))/0x6)+parseInt(_0x4800b6(0xfe))/0x7+-parseInt(_0x4800b6(0xff))/0x8*(-parseInt(_0x4800b6(0x114))/0x9)+-parseInt(_0x4800b6(0x105))/0xa+-parseInt(_0x4800b6(0x102))/0xb;if(_0xeafb0c===_0x5c833a)break;else _0x85928e['push'](_0x85928e['shift']());}catch(_0xf55827){_0x85928e['push'](_0x85928e['shift']());}}}(a0_0xa7d3,0xd98c3));const redisClient=require(a0_0x3c32d3(0x100)),{logger}=require(a0_0x3c32d3(0x106));function a0_0xa7d3(){const _0x2fc435=['CgfYC2u','oMv4Cg9YDdO','zxHWB3j0CW','mtG3ognQvMz2Ea','zxjYB3i','mte3otrsyMPhBwu','zgvSzxrLsM9I','mJjuEej1Bwi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbKyxrLsM9I','mtqWmty1mu5qqKfNAW','DhrS','ChvZAa','z2v0q2XPzw50','x3bYzwzPEa','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ChjLzML4','wgrorvC','nJe1ndaYofnHAeLmAa','zw52','ntG4ntG4n3znsgj1tW','ntzPEeHZu3q','lI9YzwrPCY1JBgLLBNq','mty5ndvADNrrr1G','mJa4ntK2mZbZt3LJDg4','z2v0sM9I','z2v0qwXSsM9ICW','mtyXmZeZotbxtLv0wM8','lI9SB2DNzxi','C3rYAw5NAwz5','BwvZC2fNzq','m1rzww9Wrq'];a0_0xa7d3=function(){return _0x2fc435;};return a0_0xa7d3();}class RedisHelper{constructor(){const _0x4b710c=a0_0x3c32d3;this[_0x4b710c(0x118)]=null,this[_0x4b710c(0x115)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x3c32d3(0x11a)](){const _0x5545e9=a0_0x3c32d3,_0x99b123={'vGqFK':'default'};if(!this['_prefix']){const _0x30b45f=process[_0x5545e9(0x11d)][_0x5545e9(0x112)]||_0x99b123['vGqFK'];this[_0x5545e9(0x118)]='restforge:'+_0x30b45f+_0x5545e9(0x10b);}return this['_prefix'];}async['setJob'](_0x3067e2,_0x17c582){const _0x3fa5eb=a0_0x3c32d3,_0x101c5f={'GTtPb':'redis_set_error'};try{const _0x3ccb86=redisClient['getClient'](),_0x1a554f=''+this['prefix']+_0x3067e2;return await _0x3ccb86['setex'](_0x1a554f,this[_0x3fa5eb(0x115)],JSON[_0x3fa5eb(0x107)](_0x17c582)),!![];}catch(_0x470d52){return logger[_0x3fa5eb(0x10e)]({'event':_0x101c5f['GTtPb'],'jobId':_0x3067e2,'error':_0x470d52[_0x3fa5eb(0x108)]},_0x3fa5eb(0x119)),![];}}async[a0_0x3c32d3(0x103)](_0x4a4cb5){const _0x36e9d4=a0_0x3c32d3;try{const _0x40319f=redisClient[_0x36e9d4(0x117)](),_0xde9978=''+this['prefix']+_0x4a4cb5,_0x160afc=await _0x40319f['get'](_0xde9978);return _0x160afc?JSON[_0x36e9d4(0x10a)](_0x160afc):null;}catch(_0x5509da){return logger['error']({'event':'redis_get_error','jobId':_0x4a4cb5,'error':_0x5509da['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x3c32d3(0x113)](_0x4d39fb,_0x3fdf75){const _0x31bb87=await this['getJob'](_0x4d39fb);if(!_0x31bb87)return![];const _0x411850={..._0x31bb87,..._0x3fdf75};return await this['setJob'](_0x4d39fb,_0x411850);}async[a0_0x3c32d3(0x110)](_0x2d00ac){const _0x2105ae=a0_0x3c32d3,_0x1121c1={'ekSyR':'redis_delete_error','wJIbN':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x150751=redisClient['getClient'](),_0x538d25=''+this['prefix']+_0x2d00ac;return await _0x150751['del'](_0x538d25),!![];}catch(_0x148539){return logger['error']({'event':_0x1121c1['ekSyR'],'jobId':_0x2d00ac,'error':_0x148539[_0x2105ae(0x108)]},_0x1121c1['wJIbN']),![];}}async[a0_0x3c32d3(0x104)](){const _0x163fb3=a0_0x3c32d3,_0x52c446={'mCMLr':'redis_getall_error','XdNEW':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x3b7e3e=redisClient['getClient'](),_0x34af44=await _0x3b7e3e['keys'](this[_0x163fb3(0x11a)]+'*'),_0x56b789=[];for(const _0x451d8f of _0x34af44){const _0x2ea6cc=await _0x3b7e3e['get'](_0x451d8f);_0x2ea6cc&&_0x56b789[_0x163fb3(0x116)](JSON[_0x163fb3(0x10a)](_0x2ea6cc));}return _0x56b789;}catch(_0x2a7a8a){return logger['error']({'event':_0x52c446['mCMLr'],'error':_0x2a7a8a['message']},_0x52c446[_0x163fb3(0x11b)]),[];}}}module[a0_0x3c32d3(0x10c)]=new RedisHelper();