@restforgejs/platform 5.2.0 → 5.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +2 -2
  3. package/cli/consumer.js +2 -2
  4. package/generators/cli/fast-track.js +293 -35
  5. package/generators/lib/migrate/backend-payload-migrator.js +39 -17
  6. package/generators/lib/migrate/field-type-resolver.js +64 -7
  7. package/generators/lib/migrate/migrate-runner.js +12 -2
  8. package/generators/lib/migrate/sql-parser.js +5 -3
  9. package/generators/lib/payload/payload-runner.js +103 -11
  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/integrity-manifest.json +18 -18
  20. package/package.json +1 -1
  21. package/scripts/verify-integrity.js +1 -1
  22. package/server.js +2 -2
  23. package/src/components/handlers/adjust_handler.js +1 -1
  24. package/src/components/handlers/audit_handler.js +1 -1
  25. package/src/components/handlers/delete_handler.js +1 -1
  26. package/src/components/handlers/export_handler.js +1 -1
  27. package/src/components/handlers/import_handler.js +1 -1
  28. package/src/components/handlers/insert_handler.js +1 -1
  29. package/src/components/handlers/update_handler.js +1 -1
  30. package/src/components/handlers/upload_handler.js +1 -1
  31. package/src/components/handlers/workflow_handler.js +1 -1
  32. package/src/components/integrations/webhook.js +1 -1
  33. package/src/consumers/baseConsumer.js +1 -1
  34. package/src/consumers/declarativeMapper.js +1 -1
  35. package/src/consumers/handlers/apiHandler.js +1 -1
  36. package/src/consumers/handlers/consoleHandler.js +1 -1
  37. package/src/consumers/handlers/databaseHandler.js +1 -1
  38. package/src/consumers/handlers/index.js +1 -1
  39. package/src/consumers/handlers/kafkaHandler.js +1 -1
  40. package/src/consumers/index.js +1 -1
  41. package/src/consumers/messageTransformer.js +1 -1
  42. package/src/consumers/validator.js +1 -1
  43. package/src/core/db/dialect/base-dialect.js +1 -1
  44. package/src/core/db/dialect/index.js +1 -1
  45. package/src/core/db/dialect/mysql-dialect.js +1 -1
  46. package/src/core/db/dialect/oracle-dialect.js +1 -1
  47. package/src/core/db/dialect/postgres-dialect.js +1 -1
  48. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  49. package/src/core/db/flatten-helper.js +1 -1
  50. package/src/core/db/query-builder-error.js +1 -1
  51. package/src/core/db/query-builder.js +1 -1
  52. package/src/core/db/relation-helper.js +1 -1
  53. package/src/core/handlers/delete_handler.js +1 -1
  54. package/src/core/handlers/insert_handler.js +1 -1
  55. package/src/core/handlers/update_handler.js +1 -1
  56. package/src/core/models/base-model.js +1 -1
  57. package/src/core/utils/cache-manager.js +1 -1
  58. package/src/core/utils/component-engine.js +1 -1
  59. package/src/core/utils/context-builder.js +1 -1
  60. package/src/core/utils/datetime-formatter.js +1 -1
  61. package/src/core/utils/datetime-parser.js +1 -1
  62. package/src/core/utils/db.js +1 -1
  63. package/src/core/utils/logger.js +1 -1
  64. package/src/core/utils/payload-loader.js +1 -1
  65. package/src/core/utils/security-checks.js +1 -1
  66. package/src/middleware/body-options.js +1 -1
  67. package/src/middleware/cors.js +1 -1
  68. package/src/middleware/idempotency.js +1 -1
  69. package/src/middleware/rate-limiter.js +1 -1
  70. package/src/middleware/request-logger.js +1 -1
  71. package/src/middleware/security-headers.js +1 -1
  72. package/src/models/base-model-mysql.js +1 -1
  73. package/src/models/base-model-oracle.js +1 -1
  74. package/src/models/base-model-sqlite.js +1 -1
  75. package/src/models/base-model.js +1 -1
  76. package/src/pro/caching/redis-client.js +1 -1
  77. package/src/pro/caching/redis-helper.js +1 -1
  78. package/src/pro/consumers/baseConsumer.js +1 -1
  79. package/src/pro/consumers/declarativeMapper.js +1 -1
  80. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  81. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  82. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  83. package/src/pro/consumers/handlers/index.js +1 -1
  84. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  85. package/src/pro/consumers/index.js +1 -1
  86. package/src/pro/consumers/messageTransformer.js +1 -1
  87. package/src/pro/consumers/validator.js +1 -1
  88. package/src/pro/database/base-model-mysql.js +1 -1
  89. package/src/pro/database/base-model-oracle.js +1 -1
  90. package/src/pro/database/base-model-sqlite.js +1 -1
  91. package/src/pro/database/db-mysql.js +1 -1
  92. package/src/pro/database/db-oracle.js +1 -1
  93. package/src/pro/database/db-sqlite.js +1 -1
  94. package/src/pro/excel/excel-generator.js +1 -1
  95. package/src/pro/excel/excel-parser.js +1 -1
  96. package/src/pro/excel/export-service.js +1 -1
  97. package/src/pro/excel/export_handler.js +1 -1
  98. package/src/pro/excel/import-service.js +1 -1
  99. package/src/pro/excel/import-validator.js +1 -1
  100. package/src/pro/excel/import_handler.js +1 -1
  101. package/src/pro/excel/upsert-builder.js +1 -1
  102. package/src/pro/idgen/idgen-routes.js +1 -1
  103. package/src/pro/integrations/lookup-resolver.js +1 -1
  104. package/src/pro/integrations/upload-handler-v2.js +1 -1
  105. package/src/pro/integrations/upload-handler.js +1 -1
  106. package/src/pro/integrations/webhook.js +1 -1
  107. package/src/pro/locking/lock-routes.js +1 -1
  108. package/src/pro/locking/resource-lock-manager.js +1 -1
  109. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  110. package/src/pro/messaging/kafkaService.js +1 -1
  111. package/src/pro/messaging/messagehubService.js +1 -1
  112. package/src/pro/messaging/rabbitmqService.js +1 -1
  113. package/src/pro/scheduler/job-manager.js +1 -1
  114. package/src/pro/scheduler/job-routes.js +1 -1
  115. package/src/pro/scheduler/job-validator.js +1 -1
  116. package/src/pro/storage/base-storage-provider.js +1 -1
  117. package/src/pro/storage/file-metadata-helper.js +1 -1
  118. package/src/pro/storage/index.js +1 -1
  119. package/src/pro/storage/local-storage-provider.js +1 -1
  120. package/src/pro/storage/s3-storage-provider.js +1 -1
  121. package/src/pro/storage/upload-cleanup-job.js +1 -1
  122. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  123. package/src/pro/storage/upload-pending-tracker.js +1 -1
  124. package/src/pro/websocket/broadcast-helper.js +1 -1
  125. package/src/pro/websocket/index.js +1 -1
  126. package/src/pro/websocket/livesync-server.js +1 -1
  127. package/src/pro/websocket/ws-broadcaster.js +1 -1
  128. package/src/services/export-service.js +1 -1
  129. package/src/services/import-service.js +1 -1
  130. package/src/services/kafkaConsumerService.js +1 -1
  131. package/src/services/kafkaService.js +1 -1
  132. package/src/services/messagehubService.js +1 -1
  133. package/src/services/rabbitmqService.js +1 -1
  134. package/src/utils/cache-invalidation-registry.js +1 -1
  135. package/src/utils/cache-manager.js +1 -1
  136. package/src/utils/component-engine.js +1 -1
  137. package/src/utils/config-extractor.js +1 -1
  138. package/src/utils/consumerLogger.js +1 -1
  139. package/src/utils/context-builder.js +1 -1
  140. package/src/utils/dashboard-helpers.js +1 -1
  141. package/src/utils/dateHelper.js +1 -1
  142. package/src/utils/datetime-formatter.js +1 -1
  143. package/src/utils/datetime-parser.js +1 -1
  144. package/src/utils/db-bootstrap.js +1 -1
  145. package/src/utils/db-mysql.js +1 -1
  146. package/src/utils/db-oracle.js +1 -1
  147. package/src/utils/db-sqlite.js +1 -1
  148. package/src/utils/db.js +1 -1
  149. package/src/utils/demo-generator.js +1 -1
  150. package/src/utils/excel-generator.js +1 -1
  151. package/src/utils/excel-parser.js +1 -1
  152. package/src/utils/file-watcher.js +1 -1
  153. package/src/utils/id-generator.js +1 -1
  154. package/src/utils/idempotency-manager.js +1 -1
  155. package/src/utils/import-validator.js +1 -1
  156. package/src/utils/license-client.js +1 -1
  157. package/src/utils/lock-manager.js +1 -1
  158. package/src/utils/logger.js +1 -1
  159. package/src/utils/lookup-resolver.js +1 -1
  160. package/src/utils/payload-loader.js +1 -1
  161. package/src/utils/processor-response.js +1 -1
  162. package/src/utils/rabbitmq.js +1 -1
  163. package/src/utils/redis-client.js +1 -1
  164. package/src/utils/redis-helper.js +1 -1
  165. package/src/utils/request-scope.js +1 -1
  166. package/src/utils/security-checks.js +1 -1
  167. package/src/utils/service-resolver.js +1 -1
  168. package/src/utils/shutdown-coordinator.js +1 -1
  169. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  170. package/src/utils/sql-table-extractor.js +1 -1
  171. package/src/utils/trusted-keys.js +1 -1
  172. package/src/utils/upload-handler.js +1 -1
  173. package/src/utils/upsert-builder.js +1 -1
  174. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x1a5a44=a0_0x1e71;function a0_0x1e71(_0x749256,_0x3cb7d3){_0x749256=_0x749256-0x6b;const _0x14777a=a0_0x1477();let _0x1e71fb=_0x14777a[_0x749256];if(a0_0x1e71['oMCOMh']===undefined){var _0x319b7b=function(_0x2924dc){const _0x4167de='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e3785='',_0x23b238='';for(let _0x4cf041=0x0,_0x1458b6,_0x284c87,_0xdb23bd=0x0;_0x284c87=_0x2924dc['charAt'](_0xdb23bd++);~_0x284c87&&(_0x1458b6=_0x4cf041%0x4?_0x1458b6*0x40+_0x284c87:_0x284c87,_0x4cf041++%0x4)?_0x2e3785+=String['fromCharCode'](0xff&_0x1458b6>>(-0x2*_0x4cf041&0x6)):0x0){_0x284c87=_0x4167de['indexOf'](_0x284c87);}for(let _0x2aaf01=0x0,_0x176e42=_0x2e3785['length'];_0x2aaf01<_0x176e42;_0x2aaf01++){_0x23b238+='%'+('00'+_0x2e3785['charCodeAt'](_0x2aaf01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23b238);};a0_0x1e71['mbHbVU']=_0x319b7b,a0_0x1e71['uydjRG']={},a0_0x1e71['oMCOMh']=!![];}const _0x440727=_0x14777a[0x0],_0x34872b=_0x749256+_0x440727,_0x268d07=a0_0x1e71['uydjRG'][_0x34872b];return!_0x268d07?(_0x1e71fb=a0_0x1e71['mbHbVU'](_0x1e71fb),a0_0x1e71['uydjRG'][_0x34872b]=_0x1e71fb):_0x1e71fb=_0x268d07,_0x1e71fb;}(function(_0x147a23,_0x312833){const _0x3b0ebf=a0_0x1e71,_0x173c4d=_0x147a23();while(!![]){try{const _0x21f1dd=parseInt(_0x3b0ebf(0x89))/0x1*(-parseInt(_0x3b0ebf(0xa2))/0x2)+-parseInt(_0x3b0ebf(0x6b))/0x3*(-parseInt(_0x3b0ebf(0xaa))/0x4)+parseInt(_0x3b0ebf(0xb6))/0x5*(-parseInt(_0x3b0ebf(0x7e))/0x6)+parseInt(_0x3b0ebf(0x8a))/0x7+-parseInt(_0x3b0ebf(0xa5))/0x8+parseInt(_0x3b0ebf(0x83))/0x9+-parseInt(_0x3b0ebf(0xb2))/0xa*(-parseInt(_0x3b0ebf(0x6f))/0xb);if(_0x21f1dd===_0x312833)break;else _0x173c4d['push'](_0x173c4d['shift']());}catch(_0x5679fc){_0x173c4d['push'](_0x173c4d['shift']());}}}(a0_0x1477,0x881fd));function a0_0x1477(){const _0x39bb6b=['mtm2mNnjCufswa','zxjYB3i','yLDKzgS','mty0otyZmKjRyM5Wvq','CMv0CNK','C2v0zxG','zgvMyxvSDfruta','lI9SB2DNzxi','ntKZnJu2CuDKDLf5','zxHWB3j0CW','DufMwLK','EgnjCuq','v1jjveuGBg9JAYbLCNjVCG','zw52','EwXtsgi','z2v0q2XPzw50','mtbMz1rzCfm','C3rYyxrLz3K','x2LUAxrPywXPEMvK','C2XLzxa','ntqZntu3nuH1Auv0Ca','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','D3jPDgu','q0HuA0K','x3bYzwzPEa','Cg93','C2v0','z2v0','Aw5JCG','x3n0CMf0zwD5','Bg9JA19JB25MAwDFAw5PDa','CMv0CNLdB3vUDa','CM5ZCfu','nhWWFdn8mNWXFdH8n3W2Fdu','CMvHza','Bg9JA19LEhrLBMrLza','rengBxC','D29YA2vYswq','BKHoBee','ow5wEffODq','zxH0zw5Ktg9JAW','Aw5JBhvKzxm','yxPnyKy','odCWmdaXmeTdtfb0vG','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','ywnXDwLYzvDYAxrLtg9JAW','z2vUzxjHDgvmB2nRvMfSDwu','x2vUC3vYzuLUAxrPywXPEMvK','D29YA2vYlq','CMvQzwn0','x2rLzMf1BhruveW','Bg9JA19YzwXLyxnLx2vYCM9Y','yNvPBgrmB2nRs2v5','u25Xr0i','DxvPza','CMvSzwfZzuXVy2S','wgjyCuS','CMv0CNLezwXHEq','nMLqEM9psG','uKvbrcbSB2nRigvYCM9Y','x2vUywjSzwq','zw5HyMXLza','r0POzNe','mtG3mJm5nMziu1HwCW','x3jLDhj5rgvSyxK','BwvZC2fNzq','zxvdB0i','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x3DVCMTLCKLK','mZm3rgDMvwPP','ndq1mZi5nwfUC09RAq','zgvS','zxHWAxjL','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','rgzjuvu','Eg9lrxu','D3jPDgvFBg9JA19Hy3f1AxjLza','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','qwXiq2S','lI9YzwrPCY1JBgLLBNq','D2fYBG','D3jPDgvFBg9JA190Aw1LB3v0','oNjLywq6','wvzTufG','tg9JAYbYzwXLyxnLigvYCM9Y','tg9JAYbLEhrLBMqGzxjYB3i','x2LUAxrdB25MAwC','ChjLzML4','B2HyueK','zgvIDwC','x3jLDhj5q291BNq','ELf2zgC','CMvHzf9SB2nRx2fJCxvPCMvK','ywXS'];a0_0x1477=function(){return _0x39bb6b;};return a0_0x1477();}const redisClient=require(a0_0x1a5a44(0x93)),{logger}=require(a0_0x1a5a44(0xa9)),{v4:uuidv4}=require(a0_0x1a5a44(0x7a));class LockManager{constructor(){const _0x539bc=a0_0x1a5a44,_0x4770c7={'uAfZY':'3|5|7|1|0|6|2|4'},_0x520639=_0x4770c7[_0x539bc(0xac)]['split']('|');let _0x4ef4ec=0x0;while(!![]){switch(_0x520639[_0x4ef4ec++]){case'0':this['_retryDelay']=null;continue;case'1':this['_retryCount']=null;continue;case'2':this[_0x539bc(0x88)]=null;continue;case'3':this[_0x539bc(0xba)]=null;continue;case'4':this['_initialized']=![];continue;case'5':this[_0x539bc(0x80)]=null;continue;case'6':this[_0x539bc(0xbf)]=null;continue;case'7':this[_0x539bc(0x76)]=null;continue;}break;}}['_initConfig'](){const _0x5de2f6=a0_0x1a5a44,_0x49c8cc={'azMbF':function(_0x277a16,_0x5db794){return _0x277a16===_0x5db794;},'rnspU':function(_0x4ba824,_0x433cba,_0x5823bb){return _0x4ba824(_0x433cba,_0x5823bb);},'euCoB':'rf:lock:','DCFmw':_0x5de2f6(0xc0),'jxsAi':_0x5de2f6(0xa6)},_0x503d8f=_0x5de2f6(0xc3)['split']('|');let _0x312a29=0x0;while(!![]){switch(_0x503d8f[_0x312a29++]){case'0':this['_enabled']=_0x49c8cc[_0x5de2f6(0x6e)](process[_0x5de2f6(0xaf)]['LOCK_DISTRIBUTED_ENABLED'],'true');continue;case'1':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'2':this[_0x5de2f6(0x9e)]=_0x49c8cc[_0x5de2f6(0xc2)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'3':this['_defaultTTL']=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this[_0x5de2f6(0xba)]=_0x49c8cc[_0x5de2f6(0x86)];continue;case'5':logger['info']({'event':_0x49c8cc[_0x5de2f6(0xc6)],'enabled':this['_enabled'],'strategy':this[_0x5de2f6(0xbf)],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5de2f6(0x84)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'6':this['_initialized']=!![];continue;case'7':this['_workerId']=_0x5de2f6(0x74)+process['pid'];continue;case'8':this['_strategy']=process['env'][_0x5de2f6(0xb7)]||_0x49c8cc['jxsAi'];continue;}break;}}['_ensureInitialized'](){const _0x577d74=a0_0x1a5a44;!this[_0x577d74(0xb4)]&&this[_0x577d74(0x9a)]();}get[a0_0x1a5a44(0x9b)](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x266438=a0_0x1a5a44;return this['_ensureInitialized'](),this[_0x266438(0x76)];}get[a0_0x1a5a44(0xc1)](){const _0x1bd653=a0_0x1a5a44;return this[_0x1bd653(0x73)](),this[_0x1bd653(0x9e)];}get[a0_0x1a5a44(0x7d)](){const _0x1159b7=a0_0x1a5a44;return this['_ensureInitialized'](),this[_0x1159b7(0x84)];}get[a0_0x1a5a44(0xb3)](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x1a5a44(0xc7)](){const _0x2e1140=a0_0x1a5a44;return this['_ensureInitialized'](),this[_0x2e1140(0x88)];}[a0_0x1a5a44(0x78)](_0x4f684e){const _0x22bdd8=a0_0x1a5a44,{module:_0x1f58b0,endpoint:_0x4afbf3,lockType:_0x351136,recordId:_0x4e7853}=_0x4f684e;if(_0x4e7853)return''+this['prefix']+_0x1f58b0+':'+_0x4afbf3+':'+_0x4e7853+':'+_0x351136;return''+this[_0x22bdd8(0x9b)]+_0x1f58b0+':'+_0x4afbf3+':'+_0x351136;}[a0_0x1a5a44(0x72)](){const _0x30d04d=a0_0x1a5a44,_0x2b661b={'RZetU':function(_0x1e935e){return _0x1e935e();}};return this[_0x30d04d(0xc7)]+':'+_0x2b661b['RZetU'](uuidv4)+':'+Date['now']();}async['acquireReadLock'](_0x2a2635){const _0x5a19df=a0_0x1a5a44,_0x1e70fc={'ylSHb':_0x5a19df(0xb8),'GJhfq':function(_0x24e8c8,_0x3c9fce){return _0x24e8c8<_0x3c9fce;},'CHTkI':_0x5a19df(0xa0),'AlHCk':'READ\x20lock\x20acquired','XMsrw':'read_lock_waiting','dEKXg':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','EBtqS':function(_0x278502,_0x35294e){return _0x278502*_0x35294e;},'oTvEj':'read_lock_timeout','rKXZV':_0x5a19df(0x7f)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2db6ae=this['buildLockKey']({..._0x2a2635,'lockType':_0x1e70fc[_0x5a19df(0xb0)]}),_0x377f63=this[_0x5a19df(0x78)]({..._0x2a2635,'lockType':_0x5a19df(0xc4)}),_0x29c47b=this['generateLockValue']();try{const _0x196e1c=redisClient['getClient']();for(let _0x266435=0x0;_0x1e70fc[_0x5a19df(0x82)](_0x266435,this[_0x5a19df(0xc1)]);_0x266435++){const _0x3bd6f0=await _0x196e1c['get'](_0x2db6ae);if(!_0x3bd6f0){await _0x196e1c[_0x5a19df(0xbe)](_0x377f63),await _0x196e1c[_0x5a19df(0x8c)](_0x377f63,this['defaultTTL']);const _0x450607=_0x377f63+':'+_0x29c47b;return await _0x196e1c[_0x5a19df(0xa7)](_0x450607,this[_0x5a19df(0xa8)],_0x29c47b),logger[_0x5a19df(0x9d)]({'event':_0x1e70fc[_0x5a19df(0xb9)],'key':_0x377f63,'value':_0x29c47b},_0x1e70fc[_0x5a19df(0x92)]),{'success':!![],'lockValue':_0x29c47b,'lockKey':_0x450607};}logger['debug']({'event':_0x1e70fc['XMsrw'],'writeKey':_0x2db6ae,'attempt':_0x266435},_0x1e70fc['dEKXg']),await this['sleep'](_0x1e70fc['EBtqS'](this[_0x5a19df(0x7d)],Math[_0x5a19df(0xbb)](0x2,_0x266435)));}return logger['warn']({'event':_0x1e70fc['oTvEj'],'key':_0x377f63},_0x5a19df(0x70)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x23e666){return logger['error']({'event':'read_lock_error','error':_0x23e666[_0x5a19df(0x85)]},_0x1e70fc['rKXZV']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1a5a44(0x71)](_0x11daf1){const _0x2b4a4c=a0_0x1a5a44,_0x3c3364={'FnUFL':_0x2b4a4c(0xb8),'nHNlA':_0x2b4a4c(0x75),'GWsqd':'write_lock_rejected','bWddk':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','SnqGB':function(_0x2d3d65,_0x2d9e0a){return _0x2d3d65<_0x2d9e0a;},'hSTVp':function(_0xcbf5b,_0x2b3199){return _0xcbf5b===_0x2b3199;},'YVmPX':function(_0x20f98e,_0x2b4f3b){return _0x20f98e(_0x2b4f3b);},'goebe':_0x2b4a4c(0xa6),'zQvdg':'Waiting\x20for\x20locks\x20to\x20release','cYnsJ':function(_0x558e65,_0x109469){return _0x558e65*_0x109469;},'ohXPI':_0x2b4a4c(0x95),'YpZxy':_0x2b4a4c(0xae)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x387a95=this[_0x2b4a4c(0x78)]({..._0x11daf1,'lockType':_0x3c3364['FnUFL']}),_0x35de5f=this['buildLockKey']({..._0x11daf1,'lockType':'read'}),_0x13f581=this['generateLockValue']();try{const _0x599e45=redisClient['getClient']();if(this[_0x2b4a4c(0xb3)]===_0x3c3364['nHNlA']){const _0x10f9f3=await _0x599e45[_0x2b4a4c(0xbc)](_0x387a95,_0x13f581,'EX',this[_0x2b4a4c(0xa8)],'NX');if(_0x10f9f3==='OK')return logger[_0x2b4a4c(0x9d)]({'event':'write_lock_acquired','key':_0x387a95,'value':_0x13f581,'strategy':_0x3c3364[_0x2b4a4c(0xc8)]},_0x2b4a4c(0x91)),{'success':!![],'lockValue':_0x13f581,'lockKey':_0x387a95};return logger['debug']({'event':_0x3c3364['GWsqd'],'key':_0x387a95},_0x3c3364[_0x2b4a4c(0xa4)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x5255e9=0x0;_0x3c3364[_0x2b4a4c(0x79)](_0x5255e9,this['retryCount']);_0x5255e9++){const [_0x59df3d,_0x102636]=await Promise[_0x2b4a4c(0xa1)]([_0x599e45['get'](_0x35de5f),_0x599e45[_0x2b4a4c(0xbd)](_0x387a95)]);if(!_0x102636&&(!_0x59df3d||_0x3c3364['hSTVp'](_0x3c3364[_0x2b4a4c(0x97)](parseInt,_0x59df3d),0x0))){const _0x27420c=await _0x599e45[_0x2b4a4c(0xbc)](_0x387a95,_0x13f581,'EX',this['defaultTTL'],'NX');if(_0x27420c==='OK')return logger[_0x2b4a4c(0x9d)]({'event':_0x2b4a4c(0x90),'key':_0x387a95,'value':_0x13f581,'strategy':_0x3c3364['goebe']},_0x2b4a4c(0x87)),{'success':!![],'lockValue':_0x13f581,'lockKey':_0x387a95};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x387a95,'readCount':_0x59df3d,'attempt':_0x5255e9},_0x3c3364[_0x2b4a4c(0x9f)]),await this[_0x2b4a4c(0xb5)](_0x3c3364['cYnsJ'](this['retryDelay'],Math[_0x2b4a4c(0xbb)](0x2,_0x5255e9)));}return logger[_0x2b4a4c(0x94)]({'event':_0x3c3364[_0x2b4a4c(0x9c)],'key':_0x387a95},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4344b4){return logger[_0x2b4a4c(0xa3)]({'event':'write_lock_error','error':_0x4344b4['message']},_0x3c3364['YpZxy']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1a5a44(0x7b)](_0x56505d,_0x5bf9d2){const _0x2819fb=a0_0x1a5a44,_0x29f2be={'xcIqD':function(_0x4c36e5,_0x1dcbfa){return _0x4c36e5>_0x1dcbfa;},'DfIQU':_0x2819fb(0x8d),'XbXqK':_0x2819fb(0x77),'Buoiu':_0x2819fb(0x98)};if(!this[_0x2819fb(0x81)]||!_0x56505d)return!![];try{const _0x2d1dc4=redisClient[_0x2819fb(0xb1)]();if(_0x56505d[_0x2819fb(0x6d)](_0x2819fb(0x96))){await _0x2d1dc4[_0x2819fb(0x8b)](_0x56505d);const _0x43e827=_0x56505d['substring'](0x0,_0x56505d['lastIndexOf'](':')),_0x48191a=await _0x2d1dc4[_0x2819fb(0xbd)](_0x43e827);return _0x48191a&&_0x29f2be[_0x2819fb(0xad)](parseInt(_0x48191a),0x0)&&await _0x2d1dc4['decr'](_0x43e827),logger[_0x2819fb(0x9d)]({'event':'read_lock_released','key':_0x56505d},'READ\x20lock\x20released'),!![];}const _0x2b5a8f='\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',_0x5cd7a0=await _0x2d1dc4['eval'](_0x2b5a8f,0x1,_0x56505d,_0x5bf9d2);if(_0x5cd7a0===0x1)return logger['debug']({'event':'write_lock_released','key':_0x56505d},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x29f2be[_0x2819fb(0x8e)],'key':_0x56505d},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x48c9d0){return logger[_0x2819fb(0xa3)]({'event':_0x29f2be[_0x2819fb(0x7c)],'key':_0x56505d,'error':_0x48c9d0[_0x2819fb(0x85)]},_0x29f2be['Buoiu']),![];}}async[a0_0x1a5a44(0x6c)](_0x469c5d,_0xf77d9d,_0x2a636e=null){const _0x14b5d5=a0_0x1a5a44;if(!this[_0x14b5d5(0x81)]||!_0x469c5d)return!![];try{const _0x57bea2=redisClient[_0x14b5d5(0xb1)](),_0x489d77='\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',_0x13133b=await _0x57bea2['eval'](_0x489d77,0x1,_0x469c5d,_0xf77d9d,_0x2a636e||this[_0x14b5d5(0xa8)]);if(_0x13133b===0x1)return logger['debug']({'event':_0x14b5d5(0xc5),'key':_0x469c5d,'ttl':_0x2a636e||this[_0x14b5d5(0xa8)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x9fb17){return logger['error']({'event':'lock_extend_error','key':_0x469c5d,'error':_0x9fb17[_0x14b5d5(0x85)]},_0x14b5d5(0x99)),![];}}['isEnabled'](){return this['enabled'];}[a0_0x1a5a44(0xb5)](_0x31b110){return new Promise(_0x1f8e71=>setTimeout(_0x1f8e71,_0x31b110));}async['getLockInfo'](_0x579fd9){const _0x2afdff=a0_0x1a5a44,_0x10d14c={'gzrqr':_0x2afdff(0xc4),'xoKEu':function(_0xe7b308,_0x24f165){return _0xe7b308(_0x24f165);}};if(!this[_0x2afdff(0x81)])return{'enabled':![]};try{const _0x3b4a34=redisClient['getClient'](),_0x5bb017=this[_0x2afdff(0x78)]({..._0x579fd9,'lockType':'write'}),_0xdf6000=this[_0x2afdff(0x78)]({..._0x579fd9,'lockType':_0x10d14c['gzrqr']}),[_0x371d92,_0x5a5047]=await Promise['all']([_0x3b4a34['get'](_0x5bb017),_0x3b4a34[_0x2afdff(0xbd)](_0xdf6000)]);return{'enabled':!![],'writeLock':_0x371d92||null,'readCount':_0x10d14c[_0x2afdff(0x8f)](parseInt,_0x5a5047)||0x0,'writeKey':_0x5bb017,'readKey':_0xdf6000};}catch(_0x3eb233){return{'enabled':!![],'error':_0x3eb233['message']};}}}module[a0_0x1a5a44(0xab)]=new LockManager();
1
+ const a0_0x1933ef=a0_0xc221;function a0_0xc221(_0x25f472,_0x37fd86){_0x25f472=_0x25f472-0x186;const _0x49ca69=a0_0x49ca();let _0xc221db=_0x49ca69[_0x25f472];if(a0_0xc221['KBmZNg']===undefined){var _0x30a7de=function(_0x125fce){const _0x434c41='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34dd7f='',_0x51abe3='';for(let _0x25f4ea=0x0,_0x3950e1,_0x1cac76,_0x4e6423=0x0;_0x1cac76=_0x125fce['charAt'](_0x4e6423++);~_0x1cac76&&(_0x3950e1=_0x25f4ea%0x4?_0x3950e1*0x40+_0x1cac76:_0x1cac76,_0x25f4ea++%0x4)?_0x34dd7f+=String['fromCharCode'](0xff&_0x3950e1>>(-0x2*_0x25f4ea&0x6)):0x0){_0x1cac76=_0x434c41['indexOf'](_0x1cac76);}for(let _0x3f25bb=0x0,_0x5a7d3a=_0x34dd7f['length'];_0x3f25bb<_0x5a7d3a;_0x3f25bb++){_0x51abe3+='%'+('00'+_0x34dd7f['charCodeAt'](_0x3f25bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51abe3);};a0_0xc221['OjIghi']=_0x30a7de,a0_0xc221['nuaqKY']={},a0_0xc221['KBmZNg']=!![];}const _0x463edd=_0x49ca69[0x0],_0x4f358d=_0x25f472+_0x463edd,_0x38efda=a0_0xc221['nuaqKY'][_0x4f358d];return!_0x38efda?(_0xc221db=a0_0xc221['OjIghi'](_0xc221db),a0_0xc221['nuaqKY'][_0x4f358d]=_0xc221db):_0xc221db=_0x38efda,_0xc221db;}(function(_0x1ca8ad,_0xc0fb21){const _0x2d95e5=a0_0xc221,_0x59fed2=_0x1ca8ad();while(!![]){try{const _0x3b979f=-parseInt(_0x2d95e5(0x18f))/0x1+-parseInt(_0x2d95e5(0x1da))/0x2*(parseInt(_0x2d95e5(0x1d3))/0x3)+parseInt(_0x2d95e5(0x19f))/0x4+-parseInt(_0x2d95e5(0x1a2))/0x5*(parseInt(_0x2d95e5(0x1bc))/0x6)+parseInt(_0x2d95e5(0x1d4))/0x7+-parseInt(_0x2d95e5(0x18a))/0x8+parseInt(_0x2d95e5(0x1be))/0x9*(parseInt(_0x2d95e5(0x1cb))/0xa);if(_0x3b979f===_0xc0fb21)break;else _0x59fed2['push'](_0x59fed2['shift']());}catch(_0x581d86){_0x59fed2['push'](_0x59fed2['shift']());}}}(a0_0x49ca,0x19198));function a0_0x49ca(){const _0x21082c=['z2v0','zw52','x3n0CMf0zwD5','uNvWy2m','x2rLzMf1BhruveW','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CgLK','CMv0CNLdB3vUDa','BM93','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ChjLzML4','z2v0q2XPzw50','v1jjveuGBg9JAYbYzwXLyxnLza','zKP4Cu4','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','mtH0whb4ugm','zujvtuS','mtHPy2DAwgO','x2LUAxrdB25MAwC','x3jLDhj5q291BNq','D3jPDgvFBg9JA19Hy3f1AxjLza','D2fYBG','ywXS','Cg93','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','zgvJCG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','x3DVCMTLCKLK','D3jPDgvFBg9JA193ywL0Aw5N','D3jPDgvFBg9JA19YzwXLyxnLza','mJeYody5me5czMjgqW','Aw5MBW','CMvHzf9SB2nRx2fJCxvPCMvK','D29YA2vYlq','x2LUAxrPywXPEMvK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','BwvZC2fNzq','tNLmrxe','ntq2oti3BKLfC1HQ','mtaZmJiYn3DhDhLJCa','x2vUywjSzwq','CMv0CNLezwXHEq','x3bYzwzPEa','uKvbrcbSB2nRigvYCM9Y','C3rYyxrLz3K','mLPYvhnkCW','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','uMzPq3O','C2v0','D29YA2vYswq','CMvSzwfZzuXVy2S','yNvPBgrmB2nRs2v5','mtyWntG1nKjYyLbbuq','C2XLzxa','z012vwy','C3bSAxq','tg9JAYbuveWGzxH0zw5Kzwq','mti5ota3tu1kuvns','zxjYB3i','zgvIDwC','oNjLywq6','Bg9JA19LEhrLBMrLza','zejUrgO','zgvMyxvSDfruta','yM9PvLm','CMvHzf9SB2nRx3jLBgvHC2vK','twjctNe','tfDKv3a','te9ds19esvnuuKLcvvrfrf9srvrswq','CxL0Bhu','uKvbrcbSB2nRigfJCxvPCMvK','ELzoB3y','BvHzq0G','nZK4otKYzwH2y2Hn','tg9JAYbLEhrLBMqGzxjYB3i','z2vUzxjHDgvmB2nRvMfSDwu','mJyXotG1B2P2wMzy','x2vUC3vYzuLUAxrPywXPEMvK','x3jLDhj5rgvSyxK','zxH0zw5Ktg9JAW','CMy6Bg9JAZO','ywnXDwLYzvDYAxrLtg9JAW','CMv0CNK','zxHWAxjL','CMvHza','Dhj1zq','zw5HyMXLza'];a0_0x49ca=function(){return _0x21082c;};return a0_0x49ca();}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x460758=a0_0xc221;this[_0x460758(0x1d7)]=null,this[_0x460758(0x1d5)]=null,this['_defaultTTL']=null,this[_0x460758(0x1c0)]=null,this[_0x460758(0x1a4)]=null,this['_strategy']=null,this[_0x460758(0x1c8)]=null,this[_0x460758(0x1cf)]=![];}[a0_0x1933ef(0x1bf)](){const _0x4dd7d4=a0_0x1933ef,_0x313f40={'gMvUf':'lock_config_init','oIhde':function(_0x2601fd,_0x549b74){return _0x2601fd===_0x549b74;}},_0x4ae3a1='8|7|3|0|1|4|2|5|6'[_0x4dd7d4(0x18d)]('|');let _0x5316db=0x0;while(!![]){switch(_0x4ae3a1[_0x5316db++]){case'0':this['_retryCount']=parseInt(process['env'][_0x4dd7d4(0x19a)],0xa)||0x3;continue;case'1':this[_0x4dd7d4(0x1a4)]=parseInt(process[_0x4dd7d4(0x1ae)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'2':this[_0x4dd7d4(0x1c8)]=_0x4dd7d4(0x1ce)+process[_0x4dd7d4(0x1b3)];continue;case'3':this[_0x4dd7d4(0x1b1)]=parseInt(process[_0x4dd7d4(0x1ae)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this[_0x4dd7d4(0x1af)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x4dd7d4(0x1a8);continue;case'5':this[_0x4dd7d4(0x1cf)]=!![];continue;case'6':logger[_0x4dd7d4(0x1cc)]({'event':_0x313f40[_0x4dd7d4(0x18c)],'enabled':this[_0x4dd7d4(0x1d5)],'strategy':this['_strategy'],'ttl':this[_0x4dd7d4(0x1b1)],'retryCount':this[_0x4dd7d4(0x1c0)],'retryDelay':this[_0x4dd7d4(0x1a4)],'workerId':this[_0x4dd7d4(0x1c8)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x4dd7d4(0x1d5)]+',\x20strategy:\x20'+this[_0x4dd7d4(0x1af)]);continue;case'7':this[_0x4dd7d4(0x1d5)]=_0x313f40['oIhde'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x4dd7d4(0x1ab));continue;case'8':this['_prefix']=_0x4dd7d4(0x1a6);continue;}break;}}['_ensureInitialized'](){const _0x116853=a0_0x1933ef;!this[_0x116853(0x1cf)]&&this['_initConfig']();}get[a0_0x1933ef(0x1b7)](){const _0x7ddfe7=a0_0x1933ef;return this['_ensureInitialized'](),this[_0x7ddfe7(0x1d7)];}get[a0_0x1933ef(0x1ac)](){const _0x43b992=a0_0x1933ef;return this[_0x43b992(0x1a3)](),this[_0x43b992(0x1d5)];}get[a0_0x1933ef(0x195)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get[a0_0x1933ef(0x1b4)](){const _0x3b86f7=a0_0x1933ef;return this['_ensureInitialized'](),this[_0x3b86f7(0x1c0)];}get[a0_0x1933ef(0x1d6)](){const _0x51442e=a0_0x1933ef;return this[_0x51442e(0x1a3)](),this[_0x51442e(0x1a4)];}get[a0_0x1933ef(0x1d9)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){const _0x39f392=a0_0x1933ef;return this['_ensureInitialized'](),this[_0x39f392(0x1c8)];}[a0_0x1933ef(0x189)](_0x28595d){const {module:_0x5dde29,endpoint:_0x5f47e3,lockType:_0x8aaa40,recordId:_0x3cf736}=_0x28595d;if(_0x3cf736)return''+this['prefix']+_0x5dde29+':'+_0x5f47e3+':'+_0x3cf736+':'+_0x8aaa40;return''+this['prefix']+_0x5dde29+':'+_0x5f47e3+':'+_0x8aaa40;}[a0_0x1933ef(0x1a1)](){const _0x2ef334=a0_0x1933ef,_0x4883f0={'EKiDr':function(_0x530a87){return _0x530a87();}};return this[_0x2ef334(0x187)]+':'+_0x4883f0['EKiDr'](uuidv4)+':'+Date[_0x2ef334(0x1b5)]();}async['acquireReadLock'](_0x4ac8bb){const _0xa1e0b4=a0_0x1933ef,_0x4e7eb5={'MbBNq':'write','zVNov':_0xa1e0b4(0x19c),'qytlu':'read_lock_waiting','kOuDG':'read_lock_timeout','VdQWm':_0xa1e0b4(0x1d0)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0xebb54b=this['buildLockKey']({..._0x4ac8bb,'lockType':_0x4e7eb5[_0xa1e0b4(0x198)]}),_0xab4582=this[_0xa1e0b4(0x189)]({..._0x4ac8bb,'lockType':_0xa1e0b4(0x1aa)}),_0x4d3c1f=this[_0xa1e0b4(0x1a1)]();try{const _0x14d82a=redisClient[_0xa1e0b4(0x1b8)]();for(let _0x3f77cb=0x0;_0x3f77cb<this['retryCount'];_0x3f77cb++){const _0x252e99=await _0x14d82a[_0xa1e0b4(0x1ad)](_0xebb54b);if(!_0x252e99){await _0x14d82a['incr'](_0xab4582),await _0x14d82a[_0xa1e0b4(0x1a9)](_0xab4582,this[_0xa1e0b4(0x195)]);const _0x59a370=_0xab4582+':'+_0x4d3c1f;return await _0x14d82a['setex'](_0x59a370,this[_0xa1e0b4(0x195)],_0x4d3c1f),logger[_0xa1e0b4(0x191)]({'event':_0xa1e0b4(0x1cd),'key':_0xab4582,'value':_0x4d3c1f},_0x4e7eb5[_0xa1e0b4(0x19d)]),{'success':!![],'lockValue':_0x4d3c1f,'lockKey':_0x59a370};}logger[_0xa1e0b4(0x191)]({'event':_0x4e7eb5[_0xa1e0b4(0x19b)],'writeKey':_0xebb54b,'attempt':_0x3f77cb},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](this['retryDelay']*Math[_0xa1e0b4(0x1c4)](0x2,_0x3f77cb));}return logger[_0xa1e0b4(0x1c2)]({'event':_0x4e7eb5['kOuDG'],'key':_0xab4582},_0x4e7eb5['VdQWm']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xf42367){return logger[_0xa1e0b4(0x190)]({'event':'read_lock_error','error':_0xf42367['message']},_0xa1e0b4(0x1d8)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1933ef(0x1a7)](_0x244b1e){const _0x2d7ab9=a0_0x1933ef,_0x509b1e={'NLyLB':_0x2d7ab9(0x1aa),'boiVS':_0x2d7ab9(0x1c1),'NMKez':'write_lock_rejected','RfiCz':_0x2d7ab9(0x1db),'dBnDj':function(_0x182816,_0x223453){return _0x182816<_0x223453;},'NTDmI':function(_0x40a80e,_0x3e9866){return _0x40a80e===_0x3e9866;},'SolsJ':function(_0x5a4b6a,_0x2addd0){return _0x5a4b6a===_0x2addd0;},'NyLEq':_0x2d7ab9(0x1c5),'QXcsE':function(_0x173f7d,_0x4c44c9){return _0x173f7d*_0x4c44c9;},'fJxqN':'write_lock_timeout','Jwrpu':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x986be4=this['buildLockKey']({..._0x244b1e,'lockType':'write'}),_0x311d60=this['buildLockKey']({..._0x244b1e,'lockType':_0x509b1e['NLyLB']}),_0x418f20=this['generateLockValue']();try{const _0x40020b=redisClient[_0x2d7ab9(0x1b8)]();if(this[_0x2d7ab9(0x1d9)]==='reject'){const _0x4dc44b=await _0x40020b[_0x2d7ab9(0x186)](_0x986be4,_0x418f20,'EX',this['defaultTTL'],'NX');if(_0x4dc44b==='OK')return logger['debug']({'event':_0x509b1e['boiVS'],'key':_0x986be4,'value':_0x418f20,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x418f20,'lockKey':_0x986be4};return logger[_0x2d7ab9(0x191)]({'event':_0x509b1e['NMKez'],'key':_0x986be4},_0x509b1e[_0x2d7ab9(0x1dc)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x130bbb=0x0;_0x509b1e[_0x2d7ab9(0x194)](_0x130bbb,this[_0x2d7ab9(0x1b4)]);_0x130bbb++){const [_0x1db012,_0x549ecc]=await Promise['all']([_0x40020b['get'](_0x311d60),_0x40020b[_0x2d7ab9(0x1ad)](_0x986be4)]);if(!_0x549ecc&&(!_0x1db012||_0x509b1e['NTDmI'](parseInt(_0x1db012),0x0))){const _0x3312c6=await _0x40020b['set'](_0x986be4,_0x418f20,'EX',this['defaultTTL'],'NX');if(_0x509b1e['SolsJ'](_0x3312c6,'OK'))return logger['debug']({'event':_0x509b1e[_0x2d7ab9(0x196)],'key':_0x986be4,'value':_0x418f20,'strategy':'retry'},_0x509b1e[_0x2d7ab9(0x1d2)]),{'success':!![],'lockValue':_0x418f20,'lockKey':_0x986be4};}logger[_0x2d7ab9(0x191)]({'event':_0x2d7ab9(0x1c9),'writeKey':_0x986be4,'readCount':_0x1db012,'attempt':_0x130bbb},_0x2d7ab9(0x1c7)),await this[_0x2d7ab9(0x18b)](_0x509b1e['QXcsE'](this[_0x2d7ab9(0x1d6)],Math[_0x2d7ab9(0x1c4)](0x2,_0x130bbb)));}return logger['warn']({'event':_0x509b1e[_0x2d7ab9(0x1ba)],'key':_0x986be4},_0x2d7ab9(0x1b6)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x46d370){return logger[_0x2d7ab9(0x190)]({'event':_0x509b1e['Jwrpu'],'error':_0x46d370['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1933ef(0x188)](_0x1c7f5e,_0x2dd778){const _0x231282=a0_0x1933ef,_0x23dfd9={'LWdWp':_0x231282(0x192),'BfItH':function(_0x4d9ce7,_0x4b5373){return _0x4d9ce7>_0x4b5373;},'kUNvQ':function(_0x18adf4,_0x409dba){return _0x18adf4(_0x409dba);},'eBUMK':_0x231282(0x1b9),'AvQHr':'lock_release_not_owner','CxAiY':'Lock\x20release\x20error'};if(!this[_0x231282(0x1ac)]||!_0x1c7f5e)return!![];try{const _0x5c26ea=redisClient[_0x231282(0x1b8)]();if(_0x1c7f5e['includes'](_0x23dfd9[_0x231282(0x199)])){await _0x5c26ea['del'](_0x1c7f5e);const _0x42a38e=_0x1c7f5e['substring'](0x0,_0x1c7f5e['lastIndexOf'](':')),_0x9ab26b=await _0x5c26ea[_0x231282(0x1ad)](_0x42a38e);return _0x9ab26b&&_0x23dfd9['BfItH'](_0x23dfd9['kUNvQ'](parseInt,_0x9ab26b),0x0)&&await _0x5c26ea[_0x231282(0x1c6)](_0x42a38e),logger[_0x231282(0x191)]({'event':_0x231282(0x197),'key':_0x1c7f5e},'READ\x20lock\x20released'),!![];}const _0x9315f4=_0x231282(0x1b2),_0x474ba9=await _0x5c26ea['eval'](_0x9315f4,0x1,_0x1c7f5e,_0x2dd778);if(_0x474ba9===0x1)return logger[_0x231282(0x191)]({'event':_0x231282(0x1ca),'key':_0x1c7f5e},_0x23dfd9[_0x231282(0x1bd)]),!![];return logger[_0x231282(0x1c2)]({'event':_0x23dfd9['AvQHr'],'key':_0x1c7f5e},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x2c9e2f){return logger[_0x231282(0x190)]({'event':'lock_release_error','key':_0x1c7f5e,'error':_0x2c9e2f['message']},_0x23dfd9['CxAiY']),![];}}async[a0_0x1933ef(0x1a5)](_0x100427,_0x562863,_0xcd3ce4=null){const _0x54f696=a0_0x1933ef,_0x35a85c={'mXYCH':function(_0x3bfb2b,_0x5a571e){return _0x3bfb2b===_0x5a571e;},'puVtr':_0x54f696(0x193),'xHeMH':'lock_extend_error'};if(!this['enabled']||!_0x100427)return!![];try{const _0x2d1ac7=redisClient[_0x54f696(0x1b8)](),_0x2696d9=_0x54f696(0x1bb),_0x67c662=await _0x2d1ac7['eval'](_0x2696d9,0x1,_0x100427,_0x562863,_0xcd3ce4||this[_0x54f696(0x195)]);if(_0x35a85c[_0x54f696(0x19e)](_0x67c662,0x1))return logger[_0x54f696(0x191)]({'event':_0x35a85c['puVtr'],'key':_0x100427,'ttl':_0xcd3ce4||this[_0x54f696(0x195)]},_0x54f696(0x18e)),!![];return![];}catch(_0x74e57f){return logger['error']({'event':_0x35a85c['xHeMH'],'key':_0x100427,'error':_0x74e57f['message']},_0x54f696(0x1a0)),![];}}['isEnabled'](){const _0x5b6824=a0_0x1933ef;return this[_0x5b6824(0x1ac)];}[a0_0x1933ef(0x18b)](_0x1ed251){return new Promise(_0x136c6a=>setTimeout(_0x136c6a,_0x1ed251));}async['getLockInfo'](_0x6e57ab){const _0x139a79=a0_0x1933ef,_0x266318={'yNfbY':'write','Rupcc':'read'};if(!this[_0x139a79(0x1ac)])return{'enabled':![]};try{const _0x40e332=redisClient[_0x139a79(0x1b8)](),_0x339efc=this['buildLockKey']({..._0x6e57ab,'lockType':_0x266318['yNfbY']}),_0x2e4617=this[_0x139a79(0x189)]({..._0x6e57ab,'lockType':_0x266318[_0x139a79(0x1b0)]}),[_0x926834,_0x3f2e5d]=await Promise[_0x139a79(0x1c3)]([_0x40e332[_0x139a79(0x1ad)](_0x339efc),_0x40e332['get'](_0x2e4617)]);return{'enabled':!![],'writeLock':_0x926834||null,'readCount':parseInt(_0x3f2e5d)||0x0,'writeKey':_0x339efc,'readKey':_0x2e4617};}catch(_0xb27b6f){return{'enabled':!![],'error':_0xb27b6f[_0x139a79(0x1d1)]};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x141270=a0_0x62c1;(function(_0x5d46b8,_0x29ca5c){const _0x2c3113=a0_0x62c1,_0x24dac9=_0x5d46b8();while(!![]){try{const _0x4751cb=-parseInt(_0x2c3113(0x288))/0x1*(parseInt(_0x2c3113(0x1d2))/0x2)+-parseInt(_0x2c3113(0x266))/0x3+parseInt(_0x2c3113(0x20f))/0x4+-parseInt(_0x2c3113(0x274))/0x5+parseInt(_0x2c3113(0x23f))/0x6*(parseInt(_0x2c3113(0x283))/0x7)+-parseInt(_0x2c3113(0x23b))/0x8+-parseInt(_0x2c3113(0x227))/0x9*(-parseInt(_0x2c3113(0x267))/0xa);if(_0x4751cb===_0x29ca5c)break;else _0x24dac9['push'](_0x24dac9['shift']());}catch(_0x2c6860){_0x24dac9['push'](_0x24dac9['shift']());}}}(a0_0x413f,0x5e8e0));const pino=require(a0_0x141270(0x1eb)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x141270(0x28d),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x141270(0x205),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x62c1(_0x1a453e,_0x2f9620){_0x1a453e=_0x1a453e-0x1cc;const _0x413fe2=a0_0x413f();let _0x62c1c4=_0x413fe2[_0x1a453e];if(a0_0x62c1['EiQJKV']===undefined){var _0x459dae=function(_0x42c2c5){const _0x1da193='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x74452a='',_0x5e9441='';for(let _0x57c7bd=0x0,_0x308eb9,_0x36efbc,_0x8131af=0x0;_0x36efbc=_0x42c2c5['charAt'](_0x8131af++);~_0x36efbc&&(_0x308eb9=_0x57c7bd%0x4?_0x308eb9*0x40+_0x36efbc:_0x36efbc,_0x57c7bd++%0x4)?_0x74452a+=String['fromCharCode'](0xff&_0x308eb9>>(-0x2*_0x57c7bd&0x6)):0x0){_0x36efbc=_0x1da193['indexOf'](_0x36efbc);}for(let _0x8dae4b=0x0,_0x26f343=_0x74452a['length'];_0x8dae4b<_0x26f343;_0x8dae4b++){_0x5e9441+='%'+('00'+_0x74452a['charCodeAt'](_0x8dae4b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e9441);};a0_0x62c1['lmrMcB']=_0x459dae,a0_0x62c1['uTIYPV']={},a0_0x62c1['EiQJKV']=!![];}const _0x3ef677=_0x413fe2[0x0],_0x4ed1c3=_0x1a453e+_0x3ef677,_0x4123dc=a0_0x62c1['uTIYPV'][_0x4ed1c3];return!_0x4123dc?(_0x62c1c4=a0_0x62c1['lmrMcB'](_0x62c1c4),a0_0x62c1['uTIYPV'][_0x4ed1c3]=_0x62c1c4):_0x62c1c4=_0x4123dc,_0x62c1c4;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x141270(0x231),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x141270(0x228),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x141270(0x208)][a0_0x141270(0x215)]!=='production',logLevel=process['env'][a0_0x141270(0x214)]||a0_0x141270(0x1d4);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||'1.0.5','env':process[a0_0x141270(0x208)][a0_0x141270(0x215)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x141270(0x251),a0_0x141270(0x23d),a0_0x141270(0x1d9),'token','apiKey',a0_0x141270(0x20d),a0_0x141270(0x1fc)],'censor':'[REDACTED]'},'serializers':{'req':_0x31ce87=>({'id':_0x31ce87['id'],'method':_0x31ce87[a0_0x141270(0x1fa)],'url':_0x31ce87['url'],'path':_0x31ce87['path'],'remoteAddress':_0x31ce87['ip']||_0x31ce87['connection']?.[a0_0x141270(0x27c)]}),'res':_0x5a8bd8=>({'statusCode':_0x5a8bd8['statusCode'],'headers':_0x5a8bd8['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x433eb1=a0_0x141270,_0x1201cf={'FOCZP':_0x433eb1(0x1e2),'hViuv':function(_0xde06f3,_0x296037){return _0xde06f3===_0x296037;},'ugNBO':'false','sbgYc':'app.log','TYrzK':_0x433eb1(0x20a),'cNdyI':_0x433eb1(0x223),'LKZiN':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x433eb1(0x208)]['LOG_TO_FILE']==='true';const _0x24d548=process['env'][_0x433eb1(0x1ea)]||_0x1201cf['FOCZP'];logDir=process['env'][_0x433eb1(0x230)]||_0x433eb1(0x273)+_0x24d548,serviceName=process[_0x433eb1(0x208)][_0x433eb1(0x236)]||'restforge',sqlLogEnabled=_0x1201cf[_0x433eb1(0x285)](process[_0x433eb1(0x208)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process[_0x433eb1(0x208)]['SQL_LOG_PARAMS']!==_0x1201cf[_0x433eb1(0x289)],sqlLogSlowThreshold=parseInt(process[_0x433eb1(0x208)][_0x433eb1(0x212)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x5bc659=path['resolve'](process[_0x433eb1(0x286)](),logDir);try{!fs['existsSync'](_0x5bc659)&&fs[_0x433eb1(0x1fd)](_0x5bc659,{'recursive':!![]});}catch(_0x9876a3){console[_0x433eb1(0x20c)](_0x433eb1(0x222)+_0x5bc659+':',_0x9876a3['message']),fileLoggingInitialized=!![];return;}const _0x3d0f32=path[_0x433eb1(0x1fb)](_0x5bc659,_0x1201cf[_0x433eb1(0x263)]),_0x388380=path[_0x433eb1(0x1fb)](_0x5bc659,_0x1201cf['TYrzK']);try{appLogStream=fs[_0x433eb1(0x280)](_0x3d0f32,{'flags':'a'}),errorLogStream=fs[_0x433eb1(0x280)](_0x388380,{'flags':'a'}),fileLoggingInitialized=!![];const _0x18ee1a={'event':_0x1201cf[_0x433eb1(0x1ff)],'logDir':_0x5bc659,'files':[_0x1201cf[_0x433eb1(0x263)],_0x1201cf[_0x433eb1(0x239)]]},_0x1b2f8b=_0x433eb1(0x28e)+_0x5bc659;logger['info'](_0x18ee1a,_0x1b2f8b),writeToFileLog({..._0x18ee1a,'level':_0x1201cf['LKZiN'],'msg':_0x1b2f8b,'time':new Date()[_0x433eb1(0x1e7)]()},_0x1201cf['LKZiN']);}catch(_0x520082){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x520082['message']),fileLoggingInitialized=!![];}}function a0_0x413f(){const _0x514178=['D3bMqwK','BNbIv0i','ChjVAMvJDf9SB2fKzwq','y3jLzgL0x2nHCMq','zMXVB3i','D3jPDgu','B2jQzwn0','uK9mtejbq0S','CgDKBhK','C2vYDMvYx3jLywr5','Cg9ZDgDYzxnXBa','tKDmyvK','Dg9vChbLCKnHC2u','rNfMq3O','oI8V','w1jfrefdveveoMHHC2HD','C3rHDhvZ','C2jNwwm','rermx0nsrufurq','y2HPBgq','nti0odiZB0rNv0Dt','nZb0rfbvzMe','zw52AxjVBM1LBNq','BwvZC2fNzq','Dg9Rzw4','su5trvju','B3rW','zMf0ywXFzxjYB3i','u0vmrunu','C3rYAw5NAwz5','iokvKqRILzeGiefqssblzxKGicaGidOG','vhrYtuG','DxDvqxa','lI9SB2DZlW','mtq3nJyXnvnMrwvfAW','Ahr0Cf9Yzxf1zxn0','Ahj0Aw1L','iokvKqRILzeGienVBMzPzYaGicaGidOG','q1jfqvrf','CgLK','w1jfrefdveveoNrVA2vUxq','EMHQDwG','CMvTB3rLqwrKCMvZCW','AxnbCNjHEq','rgvMyxvSDa','w1jfrefdvevexq','y3jLyxrLv3jPDgvtDhjLyw0','wLriBLa','zxHWB3j0CW','mZmYmteZnMvkDMzIvG','zM9kz2S','AfzPDxy','y3DK','BvzMvKi','mJCXnJuWq21NDevm','DwDoqK8','ALHJvK0','CgLU','wun4qMu','lI9SB2DZ','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','vu5ltK9xtG','tLn0BLC','AwvSu2i','y2rbs1y','Cg9YDa','yxbPs2v5','vfjbtLnbq1rjt05Fq09ntuLu','DxjS','icbjBMzVoIaGia','mMPcy1Plua','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Aw5MBW','BerTyM4','B3jPz2LUywXvCMW','DxnLCG','Dw5JyxvNAhrfEgnLChrPB24','CgfZC3DVCMq','C3rHDhvZq29Kzq','icbizwfSDgG6ia','zgf0ywjHC2u','rermx0rst1a','y29Kzq','C3nU','zwLbDey','Aw5JBhvKzxm','zgvMyxvSDa','C2vJCMv0','CgfKrw5K','Dg9mB3DLCKnHC2u','AxntBg93','Dg9ju09tDhjPBMC','AwjRtxy','ChjVAMvJDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CgLUBW','Bwf0y2G','EhDgCwC','y3z2','wfDAv2G','Bwf4','DgvZDa','ChjPDMf0zwTLEq','wg9gCKe','swnqrhu','C3bSAxq','sfruuca','C3rHy2S','Cgf0Aa','CMvMCMvZAf90B2TLBG','Bwv0Ag9K','AM9PBG','sLDux1nfq1jfva','BwTKAxjtEw5J','Bg9N','y05KEuK','rxjYB3i','rNvQBNq','CMvWzwf0','s05Lz1q','tK9uiefdveLwrq','zgvIDwC','sw50zxjUywWGC2vYDMvYigvYCM9Y','vhfzwLm','zw52','Ag9ZDa','zxjYB3iUBg9N','u2vYDMvYihn0yxj0Aw5NoIa','zxjYB3i','rejFueftu1DpuKq','C3rHCNrZv2L0Aa','mJaWnZeYBhzSuLfb','zhvYyxrPB25nCW','B3zbvxy','u1fmx0Xpr19tte9xx1riuKvtse9mra','CxvLCNK','te9hx0XfvKvm','tK9erv9ftLy','ywnJzxnZx3rVA2vU','q1jjveLdquW','r05LqMK','Dxb0Aw1L','y3jLzgvUDgLHBa','yxbPx3nLy3jLDa','reiGuxvLCNK','vhrls3G','qK9sDgS','Dw5RBM93BG','y2jkwKi','tvPKwLO','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','zMLSzv9SB2DNAw5Nx2vUywjSzwq','BgvUz3rO','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','y29UzMLNrMLSzq','mtiXmty2mvDRveP6yW','E21Zz30','C3fSx3f1zxj5','icdIHPiG','ifTtte9xxq','C2vYDMLJzuLUzM8','rMnzuem','Ec1Yzxf1zxn0lwLK','yMfZzvvYBa','te9hx0rjuG','u1LtoKHioK1noNnZ','Bw9KDwXL','y3nHuKS','DhLWzq','y29UBMvJDgLVBG','u0vsvKLdrv9oqu1f','ChjPDMf0zv9RzxK','tgzHugu','vfLYEKS','AgvHBhrOq2HLy2S','mJCWmJu1mK1YDMjPtG','sxHiru8','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','revmrvrf','nM1gr3DhuG','yMPSz0q','BKzqwhi','tK9JzLe','BwvTB3j5vxnHz2u','vxzPzMC','se1rtgW','zMf0ywW','D2fYBG','Dhfou0y','EhDhDeG','vhjHBNnHy3rPB24G','BMfTzq','yxbPx2TLEq','AevNq3G','ELbWwhi','CM93C0fMzMvJDgvK','zgjFDhjHBNnHy3rPB24','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG'];a0_0x413f=function(){return _0x514178;};return a0_0x413f();}function writeToFileLog(_0x113093,_0x203aa5){const _0x172f9c=a0_0x141270,_0x38756d={'RHPLl':function(_0x839448,_0x1339dd){return _0x839448||_0x1339dd;},'CteUx':'fatal'};if(_0x38756d['RHPLl'](!logToFile,!appLogStream))return;const _0x224df3={'service':serviceName,..._0x113093},_0x2f8f5f=JSON[_0x172f9c(0x26f)](_0x224df3)+'\x0a';appLogStream[_0x172f9c(0x257)](_0x2f8f5f),(_0x203aa5===_0x172f9c(0x20c)||_0x203aa5===_0x38756d['CteUx'])&&(errorLogStream&&errorLogStream['write'](_0x2f8f5f));}const createRequestLogger=(_0x1264da={})=>{const _0x3f768f=a0_0x141270;return logger[_0x3f768f(0x265)](_0x1264da);},logServerStart=_0x34edc5=>{const _0x11b791=a0_0x141270,_0x2a0b57={'LfaPe':'RESTFORGE\x20RUNTIME\x20SERVER','psNzQ':function(_0x4b8118,_0x8ed6cd){return _0x4b8118/_0x8ed6cd;},'oVauM':function(_0x23f25b,_0x18351e){return _0x23f25b-_0x18351e;},'jsMig':'Node.js','rAcPb':'N/A','ZTHnP':_0x11b791(0x204),'OihaC':'server_starting'},_0x1f3a7e=_0x2a0b57[_0x11b791(0x238)],_0x4bc116=Math[_0x11b791(0x1f0)](0x0,0x37-_0x1f3a7e['length']),_0x1178e5=Math[_0x11b791(0x256)](_0x2a0b57['psNzQ'](_0x4bc116,0x2)),_0x6c3b24=_0x2a0b57['oVauM'](_0x4bc116,_0x1178e5),_0x21841d='║'+'\x20'[_0x11b791(0x202)](_0x1178e5)+_0x1f3a7e+'\x20'['repeat'](_0x6c3b24)+'║',_0x5e92bf=_0x11b791(0x225)+_0x21841d+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x34edc5[_0x11b791(0x268)]||_0x2a0b57['jsMig'])[_0x11b791(0x1e4)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x34edc5['project']||_0x2a0b57['rAcPb'])[_0x11b791(0x1e4)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x34edc5[_0x11b791(0x1cd)]||0xbb8)[_0x11b791(0x1e4)](0x26)+_0x11b791(0x277)+(_0x34edc5['configFile']||_0x11b791(0x27e))[_0x11b791(0x1e4)](0x26)+_0x11b791(0x270)+(_0x34edc5['apiKey']?'ACTIVE':_0x2a0b57[_0x11b791(0x281)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x11b791(0x1fe)](_0x5e92bf);const _0x4aff28={'event':_0x2a0b57['OihaC'],'project':_0x34edc5[_0x11b791(0x1e9)],'port':_0x34edc5['port'],'config':_0x34edc5[_0x11b791(0x226)],'apiKeyEnabled':!!_0x34edc5[_0x11b791(0x1ce)]};logger['info'](_0x4aff28),writeToFileLog({..._0x4aff28,'level':_0x11b791(0x1d4),'msg':_0x11b791(0x20b)+_0x34edc5['project']+'\x20on\x20port\x20'+_0x34edc5['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x4275a1=>{const _0x2f7a44=a0_0x141270,_0x1f8203={'OLFZI':function(_0x182ed4,_0x22ca5f,_0x59f2d7){return _0x182ed4(_0x22ca5f,_0x59f2d7);}},_0x14d04c={'event':_0x2f7a44(0x25b),'port':_0x4275a1[_0x2f7a44(0x1cd)],'module':_0x4275a1[_0x2f7a44(0x232)],'healthCheck':_0x4275a1['healthCheck'],'serviceInfo':_0x4275a1['serviceInfo'],'baseUrl':_0x4275a1['baseUrl']},_0x337004='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x4275a1[_0x2f7a44(0x1cd)];logger[_0x2f7a44(0x1d4)](_0x14d04c,_0x337004),_0x1f8203['OLFZI'](writeToFileLog,{..._0x14d04c,'level':'info','msg':_0x337004,'time':new Date()['toISOString']()},_0x2f7a44(0x1d4)),_0x4275a1[_0x2f7a44(0x23a)]&&logger[_0x2f7a44(0x1d4)](_0x2f7a44(0x1db)+_0x4275a1['healthCheck']),_0x4275a1[_0x2f7a44(0x22c)]&&logger['info'](_0x2f7a44(0x1d1)+_0x4275a1['serviceInfo']),_0x4275a1[_0x2f7a44(0x22f)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x4275a1[_0x2f7a44(0x22f)]);},logProjectLoaded=(_0x3a14c2,_0x28599c)=>{const _0x54ffa3=a0_0x141270,_0x39db35={'GNeBi':function(_0xc12ab7,_0x2a0554,_0xffe91c){return _0xc12ab7(_0x2a0554,_0xffe91c);},'jLkSB':'info'},_0x21e520={'event':_0x54ffa3(0x254),'project':_0x3a14c2,'path':_0x28599c},_0x203f57='[OK]\x20Project\x20loaded:\x20'+_0x3a14c2;logger[_0x54ffa3(0x1d4)](_0x21e520,_0x203f57),_0x39db35[_0x54ffa3(0x218)](writeToFileLog,{..._0x21e520,'level':'info','msg':_0x203f57,'time':new Date()[_0x54ffa3(0x1e7)]()},_0x39db35['jLkSB']);},logEndpointRegistered=(_0x343ec3,_0x3077da)=>{const _0x232b0e=a0_0x141270,_0x1ba622={'IzVeb':'endpoint_registered','xVOLe':_0x232b0e(0x205)},_0x24731e={'event':_0x1ba622['IzVeb'],'endpoint':_0x343ec3,'route':_0x3077da},_0x5d7620=_0x232b0e(0x22a)+_0x343ec3+':\x20'+_0x3077da;logger[_0x232b0e(0x205)](_0x24731e,_0x5d7620),writeToFileLog({..._0x24731e,'level':_0x232b0e(0x205),'msg':_0x5d7620,'time':new Date()[_0x232b0e(0x1e7)]()},_0x1ba622['xVOLe']);},logDatabaseConfig=_0x17a0dd=>{const _0x8c2dd5=a0_0x141270,_0x1cb12d={'JccDL':_0x8c2dd5(0x205)},_0x371ceb={'event':'database_config','host':_0x17a0dd['host'],'port':_0x17a0dd[_0x8c2dd5(0x1cd)],'database':_0x17a0dd[_0x8c2dd5(0x1dc)],'type':_0x17a0dd['type'],'user':_0x17a0dd[_0x8c2dd5(0x1d7)]},_0x1b0bda='Database:\x20'+_0x17a0dd[_0x8c2dd5(0x234)]+_0x8c2dd5(0x260)+_0x17a0dd[_0x8c2dd5(0x209)]+':'+_0x17a0dd['port']+'/'+_0x17a0dd['database'];logger['debug'](_0x371ceb,_0x1b0bda),writeToFileLog({..._0x371ceb,'level':_0x8c2dd5(0x205),'msg':_0x1b0bda,'time':new Date()['toISOString']()},_0x1cb12d['JccDL']);},logRequest=(_0x45495a,_0x437d7e,_0x51d43b)=>{const _0x563edf=a0_0x141270,_0x526adb={'YCxBe':_0x563edf(0x1d4),'npbWB':function(_0x30e0f9,_0x27c080){return _0x30e0f9>=_0x27c080;},'KHwcL':'error','CUSMJ':'warn','zPpXr':function(_0x193af9,_0x1b163f,_0xda5572){return _0x193af9(_0x1b163f,_0xda5572);}},_0x17b819={'event':_0x563edf(0x275),'method':_0x45495a[_0x563edf(0x1fa)],'path':_0x45495a[_0x563edf(0x1f8)],'statusCode':_0x437d7e['statusCode'],'durationMs':_0x51d43b,'ip':_0x45495a['ip']},_0x1280a3=_0x45495a[_0x563edf(0x1fa)]+'\x20'+_0x45495a['path']+'\x20-\x20'+_0x437d7e[_0x563edf(0x1da)]+'\x20('+_0x51d43b+'ms)';let _0xdd0269=_0x526adb[_0x563edf(0x28c)];if(_0x526adb[_0x563edf(0x253)](_0x437d7e[_0x563edf(0x1da)],0x1f4))_0xdd0269=_0x526adb['KHwcL'],logger['error'](_0x17b819,_0x1280a3);else _0x437d7e[_0x563edf(0x1da)]>=0x190?(_0xdd0269=_0x526adb['CUSMJ'],logger['warn'](_0x17b819,_0x1280a3)):logger['info'](_0x17b819,_0x1280a3);_0x526adb[_0x563edf(0x24e)](writeToFileLog,{..._0x17b819,'level':_0xdd0269,'msg':_0x1280a3,'time':new Date()[_0x563edf(0x1e7)]()},_0xdd0269);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x141270(0x26a),a0_0x141270(0x216),a0_0x141270(0x1f9),a0_0x141270(0x1e3),a0_0x141270(0x21b),'apikey',a0_0x141270(0x24c),a0_0x141270(0x21a),'credentials',a0_0x141270(0x28b),a0_0x141270(0x26c),'private_key',a0_0x141270(0x1f2)],redactSensitiveParams=(_0x19b220,_0x5e3964)=>{const _0x9461a5=a0_0x141270,_0x66c14b={'wpfAi':'[REDACTED]','Uvifg':function(_0x4aae71,_0x4bd5d2){return _0x4aae71>_0x4bd5d2;},'SHAJQ':_0x9461a5(0x27a),'HMQLl':function(_0x2d7cd6,_0x1dc3d7){return _0x2d7cd6===_0x1dc3d7;}};if(!_0x19b220||_0x66c14b[_0x9461a5(0x245)](_0x19b220['length'],0x0))return _0x19b220;const _0x5f44eb=_0x5e3964['toLowerCase'](),_0x4c3037=_0x5f44eb[_0x9461a5(0x1ec)](/\(([^)]+)\)\s*values/i);let _0x267a60=[];_0x4c3037&&(_0x267a60=_0x4c3037[0x1][_0x9461a5(0x1f5)](',')['map'](_0x48649e=>_0x48649e['trim']()['toLowerCase']()));const _0x14eec8=_0x5f44eb['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x14eec8){const _0xb23d34=_0x14eec8[0x1],_0x189d67=_0xb23d34['match'](/(\w+)\s*=/g);_0x189d67&&(_0x267a60=_0x189d67['map'](_0x4f123f=>_0x4f123f['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x19b220['map']((_0x45c1df,_0x3f6181)=>{const _0x1cb365=_0x9461a5;if(_0x267a60[_0x3f6181]){const _0xfd3574=_0x267a60[_0x3f6181],_0x3be22b=SENSITIVE_PARAM_PATTERNS['some'](_0x1cd8c3=>_0xfd3574[_0x1cb365(0x1e1)](_0x1cd8c3));if(_0x3be22b)return _0x66c14b[_0x1cb365(0x252)];}if(typeof _0x45c1df==='string'&&_0x66c14b[_0x1cb365(0x244)](_0x45c1df['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x45c1df)&&_0x45c1df[_0x1cb365(0x1e1)]('.'))return _0x66c14b['SHAJQ'];if(/^[a-fA-F0-9]{32,}$/[_0x1cb365(0x1f1)](_0x45c1df))return _0x1cb365(0x261);}return _0x45c1df;});},parseQueryMetadata=_0xd86228=>{const _0x153a31=a0_0x141270,_0x7a3354={'XWZWh':'INSERT','xwFqg':'UPDATE','bjlgD':_0x153a31(0x23e),'BORtk':'BEGIN','JwKlC':'START\x20TRANSACTION','XoFrA':'TRANSACTION_ROLLBACK','IxHEO':_0x153a31(0x278),'cbJZB':_0x153a31(0x264),'wofQd':'ALTER','Fujnt':'DDL_ALTER'},_0x39180d=_0xd86228['trim'](),_0xace81e=_0x39180d['toUpperCase']();let _0x18aa0d=_0x153a31(0x28f),_0x12b053=null;if(_0xace81e[_0x153a31(0x20e)](_0x153a31(0x26e))){_0x18aa0d='SELECT';const _0x10977c=_0x39180d[_0x153a31(0x1ec)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x12b053=_0x10977c?_0x10977c[0x1]:null;}else{if(_0xace81e['startsWith'](_0x7a3354[_0x153a31(0x1ef)])){_0x18aa0d=_0x153a31(0x26b);const _0x29d619=_0x39180d[_0x153a31(0x1ec)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x12b053=_0x29d619?_0x29d619[0x1]:null;}else{if(_0xace81e[_0x153a31(0x20e)](_0x7a3354[_0x153a31(0x1ed)])){_0x18aa0d=_0x7a3354[_0x153a31(0x1ed)];const _0x517eb4=_0x39180d['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x12b053=_0x517eb4?_0x517eb4[0x1]:null;}else{if(_0xace81e[_0x153a31(0x20e)](_0x7a3354[_0x153a31(0x240)])){_0x18aa0d=_0x7a3354['bjlgD'];const _0x2df939=_0x39180d[_0x153a31(0x1ec)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x12b053=_0x2df939?_0x2df939[0x1]:null;}else{if(_0xace81e['startsWith'](_0x7a3354[_0x153a31(0x21e)])||_0xace81e[_0x153a31(0x20e)](_0x7a3354['JwKlC']))_0x18aa0d='TRANSACTION_BEGIN';else{if(_0xace81e['startsWith']('COMMIT'))_0x18aa0d=_0x153a31(0x1cf);else{if(_0xace81e['startsWith'](_0x153a31(0x259)))_0x18aa0d=_0x7a3354[_0x153a31(0x1f3)];else{if(_0xace81e[_0x153a31(0x20e)](_0x7a3354[_0x153a31(0x23c)]))_0x18aa0d=_0x7a3354[_0x153a31(0x220)];else{if(_0xace81e['startsWith'](_0x7a3354['wofQd']))_0x18aa0d=_0x7a3354[_0x153a31(0x201)];else _0xace81e[_0x153a31(0x20e)]('DROP')&&(_0x18aa0d=_0x153a31(0x1dd));}}}}}}}}return{'type':_0x18aa0d,'table':_0x12b053};},startQueryTimer=()=>{const _0x4b3c01={'yDVoE':function(_0x2dfa88,_0x925fca){return _0x2dfa88(_0x925fca);},'SbTED':function(_0x4a5aca,_0x2b76b0){return _0x4a5aca*_0x2b76b0;},'lDmbn':function(_0x19d102,_0x2dcc39){return _0x19d102/_0x2dcc39;}},_0x3a5b7c=process['hrtime']();return()=>{const _0x2cb7fd=a0_0x62c1,[_0x11a614,_0x1c9a00]=process[_0x2cb7fd(0x276)](_0x3a5b7c);return _0x4b3c01['yDVoE'](parseFloat,(_0x4b3c01['SbTED'](_0x11a614,0x3e8)+_0x4b3c01[_0x2cb7fd(0x1d5)](_0x1c9a00,0xf4240))['toFixed'](0x2));};},logQuery=(_0x235bf5,_0x5ede3c=[],_0x210b09={})=>{const _0x4f1eb3=a0_0x141270,_0x41771e={'ibkMv':_0x4f1eb3(0x21c),'NGLaY':function(_0x4bfed8,_0x546926){return _0x4bfed8(_0x546926);},'cdAKV':function(_0xc9c33c,_0x59ef7a){return _0xc9c33c>_0x59ef7a;},'uwUAp':function(_0x4fcdf2,_0x5340de,_0x7ea585){return _0x4fcdf2(_0x5340de,_0x7ea585);},'FqfCz':function(_0x35ece3,_0x2316c5){return _0x35ece3!==_0x2316c5;},'mMvDf':_0x4f1eb3(0x21f),'ielSb':function(_0x187d20,_0x1503cb){return _0x187d20!==_0x1503cb;},'YpuBw':_0x4f1eb3(0x22b),'hEgCx':_0x4f1eb3(0x1d4)};if(!sqlLogEnabled){logger[_0x4f1eb3(0x205)]({'event':'db_query','query':_0x235bf5['substring'](0x0,0xc8),'paramCount':_0x5ede3c[_0x4f1eb3(0x224)]},_0x41771e[_0x4f1eb3(0x1e8)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x4f1eb3(0x25c)}=_0x210b09,{type:_0x15ddb0,table:_0x57def1}=_0x41771e[_0x4f1eb3(0x25d)](parseQueryMetadata,_0x235bf5),_0x5e7962={'event':_0x4f1eb3(0x229),'queryType':_0x15ddb0,'table':_0x57def1,'query':_0x235bf5,'paramCount':_0x5ede3c['length'],'dbType':dbType};sqlLogParams&&_0x41771e['cdAKV'](_0x5ede3c[_0x4f1eb3(0x224)],0x0)&&(_0x5e7962['params']=_0x41771e[_0x4f1eb3(0x272)](redactSensitiveParams,_0x5ede3c,_0x235bf5));_0x41771e['FqfCz'](duration,null)&&(_0x5e7962[_0x4f1eb3(0x210)]=duration,_0x5e7962[_0x4f1eb3(0x1e6)]=_0x41771e[_0x4f1eb3(0x1cc)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x5e7962[_0x4f1eb3(0x24f)]=rowsAffected);const _0x51f34c=_0x57def1||_0x41771e['mMvDf'];let _0x1b0dbf='['+_0x15ddb0+']\x20'+_0x51f34c;_0x41771e[_0x4f1eb3(0x25f)](duration,null)&&(_0x1b0dbf+='\x20('+duration+'ms)');const _0xcede21=_0x41771e[_0x4f1eb3(0x291)](duration,null)&&duration>sqlLogSlowThreshold;let _0x541542=_0x4f1eb3(0x205);if(_0xcede21)_0x1b0dbf+=_0x41771e['YpuBw'],_0x541542=_0x4f1eb3(0x247),logger[_0x4f1eb3(0x247)](_0x5e7962,_0x1b0dbf);else sqlLogLevel===_0x41771e[_0x4f1eb3(0x24d)]?(_0x541542=_0x4f1eb3(0x1d4),logger['info'](_0x5e7962,_0x1b0dbf)):logger['debug'](_0x5e7962,_0x1b0dbf);writeToFileLog({..._0x5e7962,'level':_0x541542,'msg':_0x1b0dbf,'time':new Date()[_0x4f1eb3(0x1e7)]()},_0x541542);},logTransaction=(_0x5ae092,_0x3621ee)=>{const _0x524e87=a0_0x141270,_0x3aaacf={'bgvLE':function(_0x393c56,_0x2b36dd,_0x41311b){return _0x393c56(_0x2b36dd,_0x41311b);},'MZdZZ':_0x524e87(0x205)},_0x17c6fe={'event':_0x524e87(0x250),'status':_0x5ae092,'queryCount':_0x3621ee},_0x3955e6=_0x524e87(0x24a)+_0x5ae092;logger[_0x524e87(0x205)](_0x17c6fe,_0x3955e6),_0x3aaacf['bgvLE'](writeToFileLog,{..._0x17c6fe,'level':_0x3aaacf[_0x524e87(0x221)],'msg':_0x3955e6,'time':new Date()[_0x524e87(0x1e7)]()},'debug');},redactObject=_0x40268c=>{const _0x1d43c8=a0_0x141270,_0x7154f8={'FcYPC':function(_0x36361c,_0x29c64c){return _0x36361c!==_0x29c64c;},'eiAtF':'object','zhjuh':_0x1d43c8(0x1d9),'ufbfD':'passwd','yeloI':'pwd','KNegT':'secret','TqYZS':'api_key','yafDo':'creditcard','TtrMH':_0x1d43c8(0x1ee),'tqNSF':'pin','jXcVM':_0x1d43c8(0x237),'kWnQA':'refresh_token','NStnW':_0x1d43c8(0x216),'TtKKx':function(_0x50d43b,_0x29d6a7){return _0x50d43b===_0x29d6a7;}};if(!_0x40268c||_0x7154f8[_0x1d43c8(0x22d)](typeof _0x40268c,_0x7154f8[_0x1d43c8(0x1e0)]))return _0x40268c;const _0x581b14=[_0x7154f8[_0x1d43c8(0x27b)],_0x7154f8['ufbfD'],_0x7154f8['yeloI'],'token',_0x7154f8[_0x1d43c8(0x203)],'apikey',_0x7154f8[_0x1d43c8(0x207)],'authorization',_0x7154f8['yafDo'],_0x1d43c8(0x255),_0x7154f8[_0x1d43c8(0x271)],_0x1d43c8(0x1df),_0x7154f8[_0x1d43c8(0x248)],_0x7154f8[_0x1d43c8(0x28a)],'privatekey',_0x7154f8['kWnQA'],_0x7154f8[_0x1d43c8(0x290)]],_0x2dcf81=Array[_0x1d43c8(0x27d)](_0x40268c)?[..._0x40268c]:{..._0x40268c};for(const _0x394d8a of Object['keys'](_0x2dcf81)){const _0x1e1819=_0x394d8a[_0x1d43c8(0x1e5)]();if(_0x581b14['some'](_0x2b001f=>_0x1e1819[_0x1d43c8(0x1e1)](_0x2b001f)))_0x2dcf81[_0x394d8a]=_0x1d43c8(0x27f);else _0x7154f8[_0x1d43c8(0x21d)](typeof _0x2dcf81[_0x394d8a],_0x1d43c8(0x258))&&_0x7154f8['FcYPC'](_0x2dcf81[_0x394d8a],null)&&(_0x2dcf81[_0x394d8a]=redactObject(_0x2dcf81[_0x394d8a]));}return _0x2dcf81;},logError=(_0x42885c,_0x10a423={},_0x39f0a0=null)=>{const _0x26cbe2=a0_0x141270,_0x5d5705={'mVfVB':'Error','xwGtH':function(_0x4bddca,_0x12eb0e,_0x438b17){return _0x4bddca(_0x12eb0e,_0x438b17);}},_0x2ff690={'event':'error','errorName':_0x42885c['name']||_0x5d5705[_0x26cbe2(0x287)],'errorMessage':_0x42885c[_0x26cbe2(0x269)],'errorCode':_0x42885c['code']||null,'stack':_0x42885c['stack'],..._0x10a423},_0x1aefd8=_0x39f0a0||'Error:\x20'+_0x42885c['message'];logger['error'](_0x2ff690,_0x1aefd8),_0x5d5705[_0x26cbe2(0x249)](writeToFileLog,{..._0x2ff690,'level':'error','msg':_0x1aefd8,'time':new Date()[_0x26cbe2(0x1e7)]()},_0x26cbe2(0x20c));},logFatalError=(_0x1e90ac,_0x44dc1c={},_0x429180=null)=>{const _0x312e68=a0_0x141270,_0x194514={'CwKqE':_0x312e68(0x200),'nFPXr':'CRITICAL','NPaWj':function(_0x202642,_0x2eaedc,_0x2cb2f8){return _0x202642(_0x2eaedc,_0x2cb2f8);},'NbfKb':'error'},_0x407213={'event':_0x312e68(0x26d),'errorName':_0x1e90ac[_0x312e68(0x24b)]||_0x194514['CwKqE'],'errorMessage':_0x1e90ac[_0x312e68(0x269)],'errorCode':_0x1e90ac['code']||null,'stack':_0x1e90ac[_0x312e68(0x1f7)],'severity':_0x194514[_0x312e68(0x241)],..._0x44dc1c},_0x1777ed=_0x429180||'FATAL:\x20'+_0x1e90ac[_0x312e68(0x269)];logger['fatal'](_0x407213,_0x1777ed),_0x194514['NPaWj'](writeToFileLog,{..._0x407213,'level':'fatal','msg':_0x1777ed,'time':new Date()[_0x312e68(0x1e7)]()},_0x194514['NbfKb']);},logHttpError=(_0x2e5b05,_0x1867e9,_0x2e1a23={})=>{const _0x674050=a0_0x141270,_0x69b842={'KdKTD':'Error','pgdly':_0x674050(0x22e),'azCiz':_0x674050(0x20c),'ovAUv':'warn'},_0x561ff6={'event':'http_error','errorName':_0x2e5b05[_0x674050(0x24b)]||_0x69b842['KdKTD'],'errorMessage':_0x2e5b05[_0x674050(0x269)],'errorCode':_0x2e5b05[_0x674050(0x1de)]||_0x2e5b05[_0x674050(0x1da)]||0x1f4,'stack':_0x2e5b05['stack'],'method':_0x1867e9?.[_0x674050(0x1fa)],'url':_0x1867e9?.[_0x674050(0x1d0)]||_0x1867e9?.[_0x674050(0x1d6)],'path':_0x1867e9?.[_0x674050(0x1f8)],'ip':_0x1867e9?.['ip']||_0x1867e9?.[_0x674050(0x235)]?.['remoteAddress'],'userAgent':_0x1867e9?.['get']?.('user-agent'),'requestId':_0x1867e9?.['id']||_0x1867e9?.['headers']?.[_0x69b842[_0x674050(0x25a)]],'body':_0x1867e9?.['body']?redactObject(_0x1867e9['body']):undefined,'query':_0x1867e9?.[_0x674050(0x213)],..._0x2e1a23},_0x1c475e=_0x2e5b05[_0x674050(0x1da)]||_0x2e5b05[_0x674050(0x262)]||0x1f4,_0x1fe13c=_0x674050(0x1f6)+_0x1c475e+':\x20'+_0x2e5b05[_0x674050(0x269)];_0x1c475e>=0x1f4?logger['error'](_0x561ff6,_0x1fe13c):logger[_0x674050(0x247)](_0x561ff6,_0x1fe13c),writeToFileLog({..._0x561ff6,'level':_0x1c475e>=0x1f4?_0x69b842['azCiz']:_0x69b842[_0x674050(0x211)],'msg':_0x1fe13c,'time':new Date()[_0x674050(0x1e7)]()},_0x1c475e>=0x1f4?_0x69b842['azCiz']:_0x69b842['ovAUv']);},logUncaughtError=(_0x213285,_0x520dc9)=>{const _0x4a59f7=a0_0x141270,_0x540216={'rgrdq':_0x4a59f7(0x200)},_0x662617={'event':_0x213285,'errorName':_0x520dc9?.[_0x4a59f7(0x24b)]||_0x540216['rgrdq'],'errorMessage':_0x520dc9?.['message']||String(_0x520dc9),'errorCode':_0x520dc9?.[_0x4a59f7(0x1de)]||null,'stack':_0x520dc9?.['stack'],'severity':_0x4a59f7(0x217),'processId':process[_0x4a59f7(0x279)],'memoryUsage':process[_0x4a59f7(0x243)](),'uptime':process[_0x4a59f7(0x219)]()},_0x57fe1a='['+_0x213285[_0x4a59f7(0x25e)]()+']\x20'+(_0x520dc9?.[_0x4a59f7(0x269)]||_0x520dc9);logger[_0x4a59f7(0x246)](_0x662617,_0x57fe1a),writeToFileLog({..._0x662617,'level':_0x4a59f7(0x246),'msg':_0x57fe1a,'time':new Date()['toISOString']()},_0x4a59f7(0x20c));},setupGlobalErrorHandlers=()=>{const _0x4ea503=a0_0x141270,_0x54547e={'mLVGl':_0x4ea503(0x1d8),'CIPee':function(_0x40429a,_0x10ea7e,_0x507199){return _0x40429a(_0x10ea7e,_0x507199);},'IcPDu':function(_0x5a54a5,_0x491a47){return _0x5a54a5 instanceof _0x491a47;},'mlsum':function(_0x3c4b09,_0x583e40){return _0x3c4b09(_0x583e40);},'yrHze':_0x4ea503(0x1d3),'zAxsH':'warning','OptTQ':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x4ea503(0x1d8),_0x17f0b5=>{logUncaughtError(_0x54547e['mLVGl'],_0x17f0b5),_0x54547e['CIPee'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x54547e['yrHze'],(_0xa1e379,_0x2cd430)=>{const _0x28e5f2=_0x4ea503,_0x2182f4=_0x54547e[_0x28e5f2(0x1f4)](_0xa1e379,Error)?_0xa1e379:new Error(_0x54547e['mlsum'](String,_0xa1e379));logUncaughtError(_0x28e5f2(0x1d3),_0x2182f4);}),process['on'](_0x54547e['zAxsH'],_0x4a128a=>{const _0x19d355=_0x4ea503;logger['warn']({'event':'process_warning','name':_0x4a128a['name'],'message':_0x4a128a[_0x19d355(0x269)],'stack':_0x4a128a[_0x19d355(0x1f7)]},'Process\x20Warning:\x20'+_0x4a128a[_0x19d355(0x269)]);});const _0x31ac2b={'event':'global_error_handlers_setup'},_0x497044=_0x54547e['OptTQ'];logger['info'](_0x31ac2b,_0x497044),writeToFileLog({..._0x31ac2b,'level':_0x4ea503(0x1d4),'msg':_0x497044,'time':new Date()[_0x4ea503(0x1e7)]()},_0x4ea503(0x1d4));},createErrorHandlerMiddleware=()=>{const _0x2b4be3=a0_0x141270,_0xc859={'ueSUs':function(_0x2c5d51,_0x421e53,_0x25a25c){return _0x2c5d51(_0x421e53,_0x25a25c);},'foJgk':function(_0x4ba1cb,_0x436671){return _0x4ba1cb>=_0x436671;},'NOcfQ':_0x2b4be3(0x206),'csaRK':'x-request-id'};return(_0x28642d,_0x59f775,_0x9d673a,_0x23a926)=>{const _0x2bf9f8=_0x2b4be3;_0xc859['ueSUs'](logHttpError,_0x28642d,_0x59f775);const _0x546b31=_0x28642d[_0x2bf9f8(0x1da)]||_0x28642d[_0x2bf9f8(0x262)]||0x1f4;_0x9d673a['status'](_0x546b31)['json']({'success':![],'error':_0xc859[_0x2bf9f8(0x284)](_0x546b31,0x1f4)?_0xc859[_0x2bf9f8(0x242)]:_0x28642d[_0x2bf9f8(0x269)],'requestId':_0x59f775['id']||_0x59f775['headers']?.[_0xc859[_0x2bf9f8(0x233)]]||null});};};module[a0_0x141270(0x282)]={'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_0x4624df=a0_0x39a8;function a0_0x5abf(){const _0x16293a=['Bwf4','zMLSzv9SB2DNAw5Nx2vUywjSzwq','revmrvrf','CMvZDgzVCMDL','s3rKq3q','Dw5Oyw5KBgvKuMvQzwn0Aw9U','seLou2y','tK9uiefdveLwrq','vvbeqvrf','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','AxnVvgLTzq','D2fYBMLUzW','uxn0Cem','mJu0mwfoyM5Nyq','BwvZC2fNzq','yxbPx2TLEq','sLDux1nfq1jfva','rejFueftu1DpuKq','te9hx1rpx0zjteu','A21QwMW','Bw9KDwXL','yMfZzvvYBa','Dg9gAxHLza','BwfW','w1jfrefdvevexq','zxjYB3iUBg9N','odi2mJrzA09hA2e','v2L1y2W','Bwf0y2G','y3jLyxrLv3jPDgvtDhjLyw0','ChjVAMvJDf9SB2fKzwq','u1LtoKHioK1noNnZ','Ahr0Cf9LCNjVCG','u1fmx0Xpr19qqvjbtvm','Bwv0Ag9K','w1jfrefdveveoMHHC2HD','CMvTB3rLqwrKCMvZCW','C3rHDhvZq29Kzq','Cg9YDa','ChjPDMf0zv9RzxK','Dw5JyxvNAhrfEgnLChrPB24','svncwMu','Bg9N','ms4WlJu','AuDoreW','u0vmrunu','BxmP','nvzgquTYBq','qunusvzf','te5WC1e','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','vfjbtLnbq1rjt05Fq09ntuLu','zMf0ywW','C2vYDMvYx3jLywr5','u1rbuLqGvfjbtLnbq1rjt04','AxntBg93','CgLU','zw52AxjVBM1LBNq','AgvHzgvYCW','zwrnDwy','vK5Ruxy','Evnju1e','BuPYuLm','BgvUz3rO','uMTxvgm','CK1wBMe','Cgf0Aa','rermx0rst1a','y29Kzq','sw50zxjUywWGC2vYDMvYigvYCM9Y','qKT5AeW','mZK0mtDtsLvkvLC','icbizwfSDgG6ia','Dg9Rzw4','s05OEKS','nJuXmZq4t2HYs2TI','Ec1Yzxf1zxn0lwLK','zMXdrxO','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zw52','C2vYDMvYx3n0yxj0Aw5N','C0zMte8','y29UBMvJDgLVBG','nde4B0Xgt3fI','yxbPA2v5','D2fYBG','yxv0Ag9YAxPHDgLVBG','Dg9mB3DLCKnHC2u','rermx0nsrufurq','EfPLB0e','ChDK','lI9SB2DZ','Dw5RBM93BG','qvbqx1zfuLnjt04','CgLUBY1WCMv0DhK','su5trvju','AgvHBhrOq2HLy2S','tK9xEMi','v1nfCLa','C3nU','B2jQzwn0','B3rW','ywnJzxnZx3rVA2vU','zw5KCg9PBNrFCMvNAxn0zxjLza','CgLUBW','z2v0','C3rHCNrZv2L0Aa','DhjPBq','oI8V','y3jLzgvUDgLHBhm','zgf0ywjHC2u','ChjVAMvJDa','Dxb0Aw1L','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','odGZmdKXDK9YtNnx','CgfYyw1Z','uK9mtejbq0S','CgfKrw5K','yKHuqMC','ChjPDMf0zwTLEq','nty4mNDMCfPwqW','yxbPs2v5','u1fmx0Xpr19mrvzfta','BMfTzq','rxjYB3i6ia','DhLWzq','C3vIC3rYAw5N','Ag9ZDa','Dg9ju09tDhjPBMC','ndqYnZmXnNHPsfH1AW','y3DK','EhDYy1y','y3jLzgL0y2fYza','CgLK','zfjkCuW','ywD4D3u','rermx0fmvevs','w1jfrefdveveoNrVA2vUxq','y3z2','DgvZDa','whL1Bxq','C3fSx3f1zxj5','zxHPDa','Dw5hyM4','yNDODeW','DgL6quC','C2vJCMv0','zgjFCxvLCNK','qwD2r0C','zxjYB3i','tK9erv9ftLy','vu5ltK9xtG','mtaXnxfYuezeAq','Aw5JBhvKzxm','z2v0sgvHzgvYCW','zxPrshq','wMfRswu','zgvIDwC','txzlwLq','rxjYB3i','D3jPDgu','C3rKu2vYAwfSAxPLCNm','rfjpua','yM9KEq','q1jjveLdquW','Aw5MBW','C2vYDMLJzuLUzM8','zhr4EMe','C3rHy2S','Cwzirxm','rgvMyxvSDa','odbgruvfAMC','CMvMCMvZAf90B2TLBG','uhjVy2vZCYbxyxjUAw5NoIa','rgf0ywjHC2u6ia','DxjS','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','CgfZC3DK','ic0G','E21Zz30'];a0_0x5abf=function(){return _0x16293a;};return a0_0x5abf();}(function(_0x53b18a,_0x438a3f){const _0x204248=a0_0x39a8,_0x1ceca3=_0x53b18a();while(!![]){try{const _0x361aa3=-parseInt(_0x204248(0x204))/0x1*(parseInt(_0x204248(0x24a))/0x2)+-parseInt(_0x204248(0x23e))/0x3+parseInt(_0x204248(0x242))/0x4*(-parseInt(_0x204248(0x226))/0x5)+parseInt(_0x204248(0x26f))/0x6*(-parseInt(_0x204248(0x1db))/0x7)+parseInt(_0x204248(0x211))/0x8+parseInt(_0x204248(0x278))/0x9+-parseInt(_0x204248(0x1ee))/0xa*(-parseInt(_0x204248(0x269))/0xb);if(_0x361aa3===_0x438a3f)break;else _0x1ceca3['push'](_0x1ceca3['shift']());}catch(_0x330973){_0x1ceca3['push'](_0x1ceca3['shift']());}}}(a0_0x5abf,0x4946c));const pino=require(a0_0x4624df(0x25f)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x4624df(0x252),serviceName=a0_0x4624df(0x1fa),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x4624df(0x216),'ignore':a0_0x4624df(0x200),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x4624df(0x1f6),'customColors':a0_0x4624df(0x268),'hideObject':!![]},isDevelopment=process['env'][a0_0x4624df(0x1d9)]!=='production',logLevel=process[a0_0x4624df(0x246)]['LOG_LEVEL']||a0_0x4624df(0x1e8);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x4624df(0x255),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x4624df(0x254)]||a0_0x4624df(0x222),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x4624df(0x201)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x4624df(0x240),'apiKey',a0_0x4624df(0x208),a0_0x4624df(0x207)],'censor':a0_0x4624df(0x20f)},'serializers':{'req':_0x2907a9=>({'id':_0x2907a9['id'],'method':_0x2907a9['method'],'url':_0x2907a9[a0_0x4624df(0x1f2)],'path':_0x2907a9['path'],'remoteAddress':_0x2907a9['ip']||_0x2907a9['connection']?.[a0_0x4624df(0x21b)]}),'res':_0x261ca2=>({'statusCode':_0x261ca2['statusCode'],'headers':_0x261ca2[a0_0x4624df(0x1dd)]?.()}),'err':pino[a0_0x4624df(0x1e4)]['err']}});function initFileLogging(){const _0x32837d=a0_0x4624df,_0x3d6dd3={'NOWzb':'true','mJrRS':function(_0x34b302,_0xf931e8){return _0x34b302===_0xf931e8;},'SofWY':function(_0x397b50,_0x5b1cb0){return _0x397b50!==_0x5b1cb0;},'qfHEs':function(_0x23ac9a,_0x138139){return _0x23ac9a(_0x138139);},'ISBZe':_0x32837d(0x210),'aQaFf':_0x32837d(0x1f8),'OwVLO':'app.log','Xyumt':function(_0x3fdca1,_0x40503e,_0x4a4d63){return _0x3fdca1(_0x40503e,_0x4a4d63);},'BKyhL':_0x32837d(0x1e8)};if(fileLoggingInitialized)return;logToFile=process['env'][_0x32837d(0x209)]===_0x3d6dd3['NOWzb'];const _0x5a9abd=process[_0x32837d(0x246)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env']['LOG_DIR']||'./logs/'+_0x5a9abd,serviceName=process[_0x32837d(0x246)]['SERVICE_NAME']||_0x32837d(0x1fa),sqlLogEnabled=_0x3d6dd3[_0x32837d(0x235)](process[_0x32837d(0x246)]['SQL_LOG_ENABLED'],_0x3d6dd3[_0x32837d(0x258)]),sqlLogLevel=process[_0x32837d(0x246)][_0x32837d(0x271)]||'debug',sqlLogParams=_0x3d6dd3['SofWY'](process['env'][_0x32837d(0x218)],'false'),sqlLogSlowThreshold=_0x3d6dd3[_0x32837d(0x1ec)](parseInt,process[_0x32837d(0x246)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1e0aba=path['resolve'](process[_0x32837d(0x279)](),logDir);try{!fs['existsSync'](_0x1e0aba)&&fs['mkdirSync'](_0x1e0aba,{'recursive':!![]});}catch(_0x38580f){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x1e0aba+':',_0x38580f[_0x32837d(0x205)]),fileLoggingInitialized=!![];return;}const _0x3fa970=path['join'](_0x1e0aba,'app.log'),_0x15d12b=path['join'](_0x1e0aba,_0x3d6dd3[_0x32837d(0x220)]);try{appLogStream=fs[_0x32837d(0x214)](_0x3fa970,{'flags':'a'}),errorLogStream=fs[_0x32837d(0x214)](_0x15d12b,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3d45ba={'event':_0x3d6dd3['aQaFf'],'logDir':_0x1e0aba,'files':[_0x3d6dd3['OwVLO'],_0x3d6dd3[_0x32837d(0x220)]]},_0x38c308='File\x20logging\x20enabled:\x20'+_0x1e0aba;logger[_0x32837d(0x1e8)](_0x3d45ba,_0x38c308),_0x3d6dd3[_0x32837d(0x283)](writeToFileLog,{..._0x3d45ba,'level':_0x3d6dd3[_0x32837d(0x23d)],'msg':_0x38c308,'time':new Date()['toISOString']()},_0x3d6dd3[_0x32837d(0x23d)]);}catch(_0x561858){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x561858['message']),fileLoggingInitialized=!![];}}function a0_0x39a8(_0x23bfc2,_0x1b3e77){_0x23bfc2=_0x23bfc2-0x1d1;const _0x5abfe2=a0_0x5abf();let _0x39a8ca=_0x5abfe2[_0x23bfc2];if(a0_0x39a8['LTmynl']===undefined){var _0x28655b=function(_0x178122){const _0x44eff2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b507f='',_0x435e5d='';for(let _0x585b20=0x0,_0x5d9761,_0x317f8c,_0x4ec2dc=0x0;_0x317f8c=_0x178122['charAt'](_0x4ec2dc++);~_0x317f8c&&(_0x5d9761=_0x585b20%0x4?_0x5d9761*0x40+_0x317f8c:_0x317f8c,_0x585b20++%0x4)?_0x4b507f+=String['fromCharCode'](0xff&_0x5d9761>>(-0x2*_0x585b20&0x6)):0x0){_0x317f8c=_0x44eff2['indexOf'](_0x317f8c);}for(let _0x55ac09=0x0,_0x43e83f=_0x4b507f['length'];_0x55ac09<_0x43e83f;_0x55ac09++){_0x435e5d+='%'+('00'+_0x4b507f['charCodeAt'](_0x55ac09)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x435e5d);};a0_0x39a8['IlZJrD']=_0x28655b,a0_0x39a8['LpIIsF']={},a0_0x39a8['LTmynl']=!![];}const _0x17714b=_0x5abfe2[0x0],_0x5b71bd=_0x23bfc2+_0x17714b,_0x403211=a0_0x39a8['LpIIsF'][_0x5b71bd];return!_0x403211?(_0x39a8ca=a0_0x39a8['IlZJrD'](_0x39a8ca),a0_0x39a8['LpIIsF'][_0x5b71bd]=_0x39a8ca):_0x39a8ca=_0x403211,_0x39a8ca;}function writeToFileLog(_0x4bbcd6,_0x467564){const _0x540564=a0_0x4624df,_0x42402f={'KtdCt':function(_0x35479f,_0x42c3de){return _0x35479f===_0x42c3de;},'ZhPxW':'error'};if(!logToFile||!appLogStream)return;const _0x381cf0={'service':serviceName,..._0x4bbcd6},_0x280026=JSON['stringify'](_0x381cf0)+'\x0a';appLogStream[_0x540564(0x1e3)](_0x280026),(_0x42402f[_0x540564(0x1fb)](_0x467564,_0x42402f['ZhPxW'])||_0x467564==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x280026));}const createRequestLogger=(_0xf768e0={})=>{return logger['child'](_0xf768e0);},logServerStart=_0x13e952=>{const _0x56fb05=a0_0x4624df,_0x4916a4={'Wiucl':_0x56fb05(0x245),'mWvtI':function(_0x5085ae,_0x4f3b5e){return _0x5085ae-_0x4f3b5e;},'ySISQ':'N/A','WSErP':_0x56fb05(0x1ed),'DZtKn':_0x56fb05(0x227),'unGbn':_0x56fb05(0x1e8)},_0x115504=_0x4916a4[_0x56fb05(0x212)],_0x43b6f3=Math[_0x56fb05(0x1f7)](0x0,0x37-_0x115504[_0x56fb05(0x236)]),_0x4b58e4=Math['floor'](_0x43b6f3/0x2),_0x2552a4=_0x4916a4['mWvtI'](_0x43b6f3,_0x4b58e4),_0x4385a9='║'+'\x20'['repeat'](_0x4b58e4)+_0x115504+'\x20'['repeat'](_0x2552a4)+'║',_0xdf735d='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x4385a9+_0x56fb05(0x1f3)+(_0x13e952[_0x56fb05(0x230)]||'Node.js')[_0x56fb05(0x26c)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x13e952[_0x56fb05(0x266)]||_0x4916a4[_0x56fb05(0x234)])[_0x56fb05(0x26c)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x13e952[_0x56fb05(0x21d)]||0xbb8)[_0x56fb05(0x26c)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x13e952['configFile']||_0x4916a4[_0x56fb05(0x259)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x13e952[_0x56fb05(0x270)]?_0x4916a4['DZtKn']:_0x56fb05(0x1fe))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x56fb05(0x221)](_0xdf735d);const _0x5d80a2={'event':_0x56fb05(0x247),'project':_0x13e952['project'],'port':_0x13e952[_0x56fb05(0x21d)],'config':_0x13e952['configFile'],'apiKeyEnabled':!!_0x13e952[_0x56fb05(0x270)]};logger[_0x56fb05(0x1e8)](_0x5d80a2),writeToFileLog({..._0x5d80a2,'level':_0x4916a4[_0x56fb05(0x1d2)],'msg':'Server\x20starting:\x20'+_0x13e952['project']+'\x20on\x20port\x20'+_0x13e952[_0x56fb05(0x21d)],'time':new Date()['toISOString']()},_0x56fb05(0x1e8));},logServerReady=_0x214391=>{const _0x160842=a0_0x4624df,_0x211102={'Gitzb':_0x160842(0x22c),'sFfLO':'info'},_0x320689={'event':_0x211102['Gitzb'],'port':_0x214391['port'],'module':_0x214391[_0x160842(0x20b)],'healthCheck':_0x214391[_0x160842(0x257)],'serviceInfo':_0x214391[_0x160842(0x1e9)],'baseUrl':_0x214391[_0x160842(0x20c)]},_0x46eb0b=_0x160842(0x229)+_0x214391['port'];logger['info'](_0x320689,_0x46eb0b),writeToFileLog({..._0x320689,'level':_0x211102[_0x160842(0x248)],'msg':_0x46eb0b,'time':new Date()[_0x160842(0x277)]()},_0x211102['sFfLO']),_0x214391['healthCheck']&&logger['info'](_0x160842(0x23f)+_0x214391[_0x160842(0x257)]),_0x214391['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x214391[_0x160842(0x1e9)]),_0x214391['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x214391['baseUrl']);},logProjectLoaded=(_0x282071,_0x215870)=>{const _0x4423af=a0_0x4624df,_0x2d8387={'nLVnv':_0x4423af(0x215),'agxwu':function(_0x233f36,_0x358d91,_0x5078b0){return _0x233f36(_0x358d91,_0x5078b0);}},_0x129bd7={'event':_0x2d8387['nLVnv'],'project':_0x282071,'path':_0x215870},_0x4e3fd4='[OK]\x20Project\x20loaded:\x20'+_0x282071;logger['info'](_0x129bd7,_0x4e3fd4),_0x2d8387[_0x4423af(0x27e)](writeToFileLog,{..._0x129bd7,'level':_0x4423af(0x1e8),'msg':_0x4e3fd4,'time':new Date()[_0x4423af(0x277)]()},_0x4423af(0x1e8));},logEndpointRegistered=(_0x2d5580,_0x224b9e)=>{const _0x20a564=a0_0x4624df,_0x570d9f={'kmjZl':function(_0x3dabc0,_0x3cc64d,_0x5c70a9){return _0x3dabc0(_0x3cc64d,_0x5c70a9);},'mNhAZ':'debug'},_0x586e05={'event':_0x20a564(0x25e),'endpoint':_0x2d5580,'route':_0x224b9e},_0x1a3ae4='\x20\x20→\x20'+_0x2d5580+':\x20'+_0x224b9e;logger[_0x20a564(0x1e0)](_0x586e05,_0x1a3ae4),_0x570d9f[_0x20a564(0x20a)](writeToFileLog,{..._0x586e05,'level':_0x570d9f['mNhAZ'],'msg':_0x1a3ae4,'time':new Date()['toISOString']()},_0x570d9f['mNhAZ']);},logDatabaseConfig=_0x10c9c0=>{const _0x1630aa=a0_0x4624df,_0x22bb1a={'NPgDO':'debug'},_0x2fc906={'event':'database_config','host':_0x10c9c0[_0x1630aa(0x276)],'port':_0x10c9c0['port'],'database':_0x10c9c0['database'],'type':_0x10c9c0[_0x1630aa(0x274)],'user':_0x10c9c0['user']},_0x26b461=_0x1630aa(0x1f1)+_0x10c9c0[_0x1630aa(0x274)]+_0x1630aa(0x263)+_0x10c9c0[_0x1630aa(0x276)]+':'+_0x10c9c0['port']+'/'+_0x10c9c0[_0x1630aa(0x265)];logger[_0x1630aa(0x1e0)](_0x2fc906,_0x26b461),writeToFileLog({..._0x2fc906,'level':'debug','msg':_0x26b461,'time':new Date()['toISOString']()},_0x22bb1a['NPgDO']);},logRequest=(_0xee1fac,_0x4b347f,_0x14a7bc)=>{const _0x1db6b3=a0_0x4624df,_0x2389c4={'dhTbC':function(_0x14a608,_0x8cd508){return _0x14a608>=_0x8cd508;},'xwrcV':_0x1db6b3(0x1d8),'KnWYr':_0x1db6b3(0x24c),'YEjyX':function(_0xca2159,_0x2f891b,_0x3e66d6){return _0xca2159(_0x2f891b,_0x3e66d6);}},_0x4c1eec={'event':'http_request','method':_0xee1fac[_0x1db6b3(0x219)],'path':_0xee1fac[_0x1db6b3(0x239)],'statusCode':_0x4b347f['statusCode'],'durationMs':_0x14a7bc,'ip':_0xee1fac['ip']},_0x313ba1=_0xee1fac['method']+'\x20'+_0xee1fac['path']+_0x1db6b3(0x1f5)+_0x4b347f['statusCode']+'\x20('+_0x14a7bc+_0x1db6b3(0x225);let _0xabf3d4='info';if(_0x2389c4['dhTbC'](_0x4b347f[_0x1db6b3(0x21c)],0x1f4))_0xabf3d4=_0x2389c4[_0x1db6b3(0x27a)],logger[_0x1db6b3(0x1d8)](_0x4c1eec,_0x313ba1);else _0x4b347f[_0x1db6b3(0x21c)]>=0x190?(_0xabf3d4=_0x2389c4['KnWYr'],logger['warn'](_0x4c1eec,_0x313ba1)):logger['info'](_0x4c1eec,_0x313ba1);_0x2389c4['YEjyX'](writeToFileLog,{..._0x4c1eec,'level':_0xabf3d4,'msg':_0x313ba1,'time':new Date()['toISOString']()},_0xabf3d4);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x4624df(0x251),'token',a0_0x4624df(0x25d),a0_0x4624df(0x1ef),a0_0x4624df(0x1d5),'api_secret',a0_0x4624df(0x24b),a0_0x4624df(0x206),'credential',a0_0x4624df(0x264),a0_0x4624df(0x22f),a0_0x4624df(0x25c),a0_0x4624df(0x21e),'privatekey'],redactSensitiveParams=(_0x256b40,_0x2fc676)=>{const _0x4f25ce=a0_0x4624df,_0x5acfa6={'OZaPt':'[REDACTED]','wGCwz':'string','HINSf':function(_0x40017f,_0x4a3f2a){return _0x40017f===_0x4a3f2a;}};if(!_0x256b40||_0x5acfa6[_0x4f25ce(0x1fd)](_0x256b40[_0x4f25ce(0x236)],0x0))return _0x256b40;const _0x47bbe9=_0x2fc676[_0x4f25ce(0x24e)](),_0x192e6f=_0x47bbe9[_0x4f25ce(0x213)](/\(([^)]+)\)\s*values/i);let _0x1e9525=[];_0x192e6f&&(_0x1e9525=_0x192e6f[0x1]['split'](',')['map'](_0x33777a=>_0x33777a[_0x4f25ce(0x262)]()[_0x4f25ce(0x24e)]()));const _0x4d476f=_0x47bbe9['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4d476f){const _0x3bd170=_0x4d476f[0x1],_0x1c70ea=_0x3bd170['match'](/(\w+)\s*=/g);_0x1c70ea&&(_0x1e9525=_0x1c70ea['map'](_0x3b59a3=>_0x3b59a3['replace'](/\s*=/,'')[_0x4f25ce(0x262)]()[_0x4f25ce(0x24e)]()));}return _0x256b40[_0x4f25ce(0x20e)]((_0x49ba82,_0x144ce7)=>{const _0x4ae389=_0x4f25ce;if(_0x1e9525[_0x144ce7]){const _0xadf411=_0x1e9525[_0x144ce7],_0x3031a9=SENSITIVE_PARAM_PATTERNS['some'](_0x1e03eb=>_0xadf411['includes'](_0x1e03eb));if(_0x3031a9)return _0x5acfa6['OZaPt'];}if(typeof _0x49ba82===_0x5acfa6['wGCwz']&&_0x49ba82['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x4ae389(0x282)](_0x49ba82)&&_0x49ba82[_0x4ae389(0x1dc)]('.'))return _0x4ae389(0x280);if(/^[a-fA-F0-9]{32,}$/[_0x4ae389(0x282)](_0x49ba82))return _0x4ae389(0x21a);}return _0x49ba82;});},parseQueryMetadata=_0x10749e=>{const _0x4bcf6b=a0_0x4624df,_0x579ce6={'TbCNF':_0x4bcf6b(0x224),'iGNDL':'INSERT','ZakIe':'BEGIN','QuODE':_0x4bcf6b(0x22a),'KNhzK':_0x4bcf6b(0x26b),'edMuf':'ALTER','lEkKa':_0x4bcf6b(0x23a)},_0x3a0509=_0x10749e[_0x4bcf6b(0x262)](),_0xe26bfd=_0x3a0509['toUpperCase']();let _0x1e1dc5=_0x4bcf6b(0x1da),_0x139202=null;if(_0xe26bfd['startsWith'](_0x579ce6['TbCNF'])){_0x1e1dc5=_0x4bcf6b(0x224);const _0xf5e893=_0x3a0509['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0xf5e893?_0xf5e893[0x1]:null;}else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x579ce6[_0x4bcf6b(0x223)])){_0x1e1dc5=_0x4bcf6b(0x256);const _0x4d8330=_0x3a0509['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0x4d8330?_0x4d8330[0x1]:null;}else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x4bcf6b(0x1ff))){_0x1e1dc5=_0x4bcf6b(0x1ff);const _0x2c9bc6=_0x3a0509['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0x2c9bc6?_0x2c9bc6[0x1]:null;}else{if(_0xe26bfd['startsWith'](_0x4bcf6b(0x1f9))){_0x1e1dc5='DELETE';const _0x1f47b3=_0x3a0509['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0x1f47b3?_0x1f47b3[0x1]:null;}else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x579ce6[_0x4bcf6b(0x1df)])||_0xe26bfd['startsWith'](_0x4bcf6b(0x22d)))_0x1e1dc5='TRANSACTION_BEGIN';else{if(_0xe26bfd[_0x4bcf6b(0x261)]('COMMIT'))_0x1e1dc5=_0x579ce6['QuODE'];else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x579ce6[_0x4bcf6b(0x241)]))_0x1e1dc5='TRANSACTION_ROLLBACK';else{if(_0xe26bfd['startsWith']('CREATE'))_0x1e1dc5=_0x4bcf6b(0x24f);else{if(_0xe26bfd['startsWith'](_0x579ce6[_0x4bcf6b(0x232)]))_0x1e1dc5=_0x4bcf6b(0x27f);else _0xe26bfd[_0x4bcf6b(0x261)](_0x4bcf6b(0x1e5))&&(_0x1e1dc5=_0x579ce6['lEkKa']);}}}}}}}}return{'type':_0x1e1dc5,'table':_0x139202};},startQueryTimer=()=>{const _0x3061db={'CwSiO':function(_0x5aa22d,_0x3a237a){return _0x5aa22d*_0x3a237a;}},_0x4890e0=process['hrtime']();return()=>{const _0x1f3f71=a0_0x39a8,[_0x23d95d,_0x379fdb]=process['hrtime'](_0x4890e0);return parseFloat((_0x3061db['CwSiO'](_0x23d95d,0x3e8)+_0x379fdb/0xf4240)[_0x1f3f71(0x20d)](0x2));};},logQuery=(_0x5ec8fd,_0x2ec54a=[],_0x2fe8b9={})=>{const _0x210050=a0_0x4624df,_0x43cb41={'ptaYJ':function(_0x1c5f56,_0x4002ba){return _0x1c5f56(_0x4002ba);},'UyXPd':function(_0x5570c9,_0x4f9bb0){return _0x5570c9>_0x4f9bb0;},'SFujm':_0x210050(0x253),'oDBoe':function(_0x576f24,_0x5f3e1d){return _0x576f24!==_0x5f3e1d;},'AgvGG':function(_0x3cdddc,_0x1d151b){return _0x3cdddc>_0x1d151b;},'LNpsQ':'\x20[SLOW]','QstpC':_0x210050(0x24c),'fKsqZ':function(_0x9a9187,_0xead68a){return _0x9a9187===_0xead68a;},'pNmuL':'info','aDKiz':function(_0x323be8,_0x160ab2,_0x1af91a){return _0x323be8(_0x160ab2,_0x1af91a);}};if(!sqlLogEnabled){logger[_0x210050(0x1e0)]({'event':_0x210050(0x1d6),'query':_0x5ec8fd[_0x210050(0x275)](0x0,0xc8),'paramCount':_0x2ec54a[_0x210050(0x236)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x2fe8b9,{type:_0xe9e6ed,table:_0x513049}=_0x43cb41['ptaYJ'](parseQueryMetadata,_0x5ec8fd),_0x13fdee={'event':_0x210050(0x284),'queryType':_0xe9e6ed,'table':_0x513049,'query':_0x5ec8fd,'paramCount':_0x2ec54a[_0x210050(0x236)],'dbType':dbType};sqlLogParams&&_0x2ec54a['length']>0x0&&(_0x13fdee[_0x210050(0x26a)]=redactSensitiveParams(_0x2ec54a,_0x5ec8fd));duration!==null&&(_0x13fdee['durationMs']=duration,_0x13fdee[_0x210050(0x22e)]=_0x43cb41['UyXPd'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x13fdee['rowsAffected']=rowsAffected);const _0x8dc00c=_0x513049||_0x43cb41['SFujm'];let _0x1c5759='['+_0xe9e6ed+']\x20'+_0x8dc00c;_0x43cb41['oDBoe'](duration,null)&&(_0x1c5759+='\x20('+duration+_0x210050(0x225));const _0x6f00ca=_0x43cb41['oDBoe'](duration,null)&&_0x43cb41[_0x210050(0x1d7)](duration,sqlLogSlowThreshold);let _0x12fc7f='debug';if(_0x6f00ca)_0x1c5759+=_0x43cb41[_0x210050(0x228)],_0x12fc7f=_0x43cb41[_0x210050(0x203)],logger['warn'](_0x13fdee,_0x1c5759);else _0x43cb41['fKsqZ'](sqlLogLevel,_0x43cb41['pNmuL'])?(_0x12fc7f=_0x43cb41['pNmuL'],logger[_0x210050(0x1e8)](_0x13fdee,_0x1c5759)):logger['debug'](_0x13fdee,_0x1c5759);_0x43cb41['aDKiz'](writeToFileLog,{..._0x13fdee,'level':_0x12fc7f,'msg':_0x1c5759,'time':new Date()['toISOString']()},_0x12fc7f);},logTransaction=(_0x5ce998,_0x54815e)=>{const _0x366229=a0_0x4624df,_0x34ca7d={'ZTEbu':'debug'},_0x5ab531={'event':'db_transaction','status':_0x5ce998,'queryCount':_0x54815e},_0x102421='Transaction\x20'+_0x5ce998;logger['debug'](_0x5ab531,_0x102421),writeToFileLog({..._0x5ab531,'level':_0x34ca7d['ZTEbu'],'msg':_0x102421,'time':new Date()[_0x366229(0x277)]()},_0x34ca7d['ZTEbu']);},redactObject=_0x16c9d9=>{const _0x123435=a0_0x4624df,_0x52506e={'kUEnX':_0x123435(0x1f4),'VNkQv':_0x123435(0x251),'YgPpM':_0x123435(0x240),'YOdqi':_0x123435(0x24d),'bHTBg':'credit_card','AgwEm':_0x123435(0x21e),'dRJqL':_0x123435(0x26e),'RkWTc':_0x123435(0x1ef),'IDVHP':_0x123435(0x25d),'aXLHM':'object','MDUHB':function(_0x4abb50,_0x2322b0){return _0x4abb50(_0x2322b0);}};if(!_0x16c9d9||typeof _0x16c9d9!==_0x123435(0x25b))return _0x16c9d9;const _0x136f87=['password',_0x52506e['kUEnX'],_0x52506e[_0x123435(0x233)],_0x52506e['YgPpM'],'secret','apikey','api_key',_0x52506e['YOdqi'],_0x123435(0x27b),_0x52506e[_0x123435(0x26d)],_0x123435(0x281),_0x123435(0x25a),'pin',_0x52506e['AgwEm'],_0x52506e[_0x123435(0x27d)],_0x52506e[_0x123435(0x237)],_0x52506e['IDVHP']],_0x2c10ef=Array['isArray'](_0x16c9d9)?[..._0x16c9d9]:{..._0x16c9d9};for(const _0x412f32 of Object['keys'](_0x2c10ef)){const _0x10ff1f=_0x412f32[_0x123435(0x24e)]();if(_0x136f87['some'](_0x834180=>_0x10ff1f['includes'](_0x834180)))_0x2c10ef[_0x412f32]='[REDACTED]';else typeof _0x2c10ef[_0x412f32]===_0x52506e['aXLHM']&&_0x2c10ef[_0x412f32]!==null&&(_0x2c10ef[_0x412f32]=_0x52506e['MDUHB'](redactObject,_0x2c10ef[_0x412f32]));}return _0x2c10ef;},logError=(_0x45a4cd,_0x5c9d01={},_0x592f8d=null)=>{const _0x5b3db8=a0_0x4624df,_0x533519={'flCEz':_0x5b3db8(0x1d8),'ezQHt':_0x5b3db8(0x1e2)},_0xd2066e={'event':_0x533519[_0x5b3db8(0x244)],'errorName':_0x45a4cd['name']||_0x533519[_0x5b3db8(0x1de)],'errorMessage':_0x45a4cd[_0x5b3db8(0x205)],'errorCode':_0x45a4cd['code']||null,'stack':_0x45a4cd[_0x5b3db8(0x1eb)],..._0x5c9d01},_0x2d8a15=_0x592f8d||_0x5b3db8(0x273)+_0x45a4cd['message'];logger[_0x5b3db8(0x1d8)](_0xd2066e,_0x2d8a15),writeToFileLog({..._0xd2066e,'level':_0x533519[_0x5b3db8(0x244)],'msg':_0x2d8a15,'time':new Date()[_0x5b3db8(0x277)]()},_0x533519[_0x5b3db8(0x244)]);},logFatalError=(_0x5ad36f,_0x21332f={},_0x7dab87=null)=>{const _0x1a2efb=a0_0x4624df,_0x49474b={'dtxza':_0x1a2efb(0x1e2),'rMVna':'fatal'},_0x425fe4={'event':'fatal_error','errorName':_0x5ad36f[_0x1a2efb(0x272)]||_0x49474b[_0x1a2efb(0x1ea)],'errorMessage':_0x5ad36f[_0x1a2efb(0x205)],'errorCode':_0x5ad36f['code']||null,'stack':_0x5ad36f['stack'],'severity':'CRITICAL',..._0x21332f},_0x31d5f3=_0x7dab87||'FATAL:\x20'+_0x5ad36f[_0x1a2efb(0x205)];logger['fatal'](_0x425fe4,_0x31d5f3),writeToFileLog({..._0x425fe4,'level':_0x49474b[_0x1a2efb(0x238)],'msg':_0x31d5f3,'time':new Date()[_0x1a2efb(0x277)]()},_0x1a2efb(0x1d8));},logHttpError=(_0x25fefa,_0x1ec53f,_0x48d0c6={})=>{const _0x439fd1=a0_0x4624df,_0x17ccae={'UhRWN':_0x439fd1(0x1e2),'CEFNf':function(_0x3f9465,_0x114f09){return _0x3f9465>=_0x114f09;},'ulEOB':_0x439fd1(0x24c)},_0x470d30={'event':_0x439fd1(0x217),'errorName':_0x25fefa['name']||_0x17ccae['UhRWN'],'errorMessage':_0x25fefa[_0x439fd1(0x205)],'errorCode':_0x25fefa[_0x439fd1(0x23b)]||_0x25fefa[_0x439fd1(0x21c)]||0x1f4,'stack':_0x25fefa['stack'],'method':_0x1ec53f?.[_0x439fd1(0x219)],'url':_0x1ec53f?.[_0x439fd1(0x1f2)]||_0x1ec53f?.['originalUrl'],'path':_0x1ec53f?.[_0x439fd1(0x239)],'ip':_0x1ec53f?.['ip']||_0x1ec53f?.[_0x439fd1(0x249)]?.[_0x439fd1(0x21b)],'userAgent':_0x1ec53f?.[_0x439fd1(0x260)]?.('user-agent'),'requestId':_0x1ec53f?.['id']||_0x1ec53f?.[_0x439fd1(0x231)]?.[_0x439fd1(0x243)],'body':_0x1ec53f?.['body']?redactObject(_0x1ec53f[_0x439fd1(0x1e6)]):undefined,'query':_0x1ec53f?.['query'],..._0x48d0c6},_0x18f3cd=_0x25fefa['statusCode']||_0x25fefa['status']||0x1f4,_0x2add88='HTTP\x20'+_0x18f3cd+':\x20'+_0x25fefa['message'];_0x17ccae['CEFNf'](_0x18f3cd,0x1f4)?logger[_0x439fd1(0x1d8)](_0x470d30,_0x2add88):logger[_0x439fd1(0x24c)](_0x470d30,_0x2add88),writeToFileLog({..._0x470d30,'level':_0x18f3cd>=0x1f4?_0x439fd1(0x1d8):_0x439fd1(0x24c),'msg':_0x2add88,'time':new Date()[_0x439fd1(0x277)]()},_0x18f3cd>=0x1f4?_0x439fd1(0x1d8):_0x17ccae['ulEOB']);},logUncaughtError=(_0xb6cf94,_0x33ab9e)=>{const _0x476fd3=a0_0x4624df,_0x24fe40={'ZjzrL':function(_0x2a695e,_0xc72d32){return _0x2a695e(_0xc72d32);},'CQfre':function(_0xf8716,_0x2a1393,_0x3079df){return _0xf8716(_0x2a1393,_0x3079df);},'ycqoc':_0x476fd3(0x22b)},_0x438657={'event':_0xb6cf94,'errorName':_0x33ab9e?.['name']||'Error','errorMessage':_0x33ab9e?.[_0x476fd3(0x205)]||_0x24fe40['ZjzrL'](String,_0x33ab9e),'errorCode':_0x33ab9e?.[_0x476fd3(0x23b)]||null,'stack':_0x33ab9e?.['stack'],'severity':_0x476fd3(0x1e7),'processId':process[_0x476fd3(0x27c)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x476fd3(0x267)]()},_0x27d2d8='['+_0xb6cf94['toUpperCase']()+']\x20'+(_0x33ab9e?.[_0x476fd3(0x205)]||_0x33ab9e);logger[_0x476fd3(0x22b)](_0x438657,_0x27d2d8),_0x24fe40['CQfre'](writeToFileLog,{..._0x438657,'level':_0x24fe40['ycqoc'],'msg':_0x27d2d8,'time':new Date()[_0x476fd3(0x277)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x3fb2de=a0_0x4624df,_0x42cebf={'ddEqg':function(_0x518ee5,_0x31abf8){return _0x518ee5(_0x31abf8);},'tizAG':function(_0x1fe0dd,_0xe6c838,_0x1540d0){return _0x1fe0dd(_0xe6c838,_0x1540d0);},'MvKZT':_0x3fb2de(0x1fc),'xZeoA':'process_warning','byLIG':_0x3fb2de(0x202),'eNSqv':'global_error_handlers_setup','mzjDh':'Global\x20error\x20handlers\x20initialized','nVHSH':'info'};process['on'](_0x3fb2de(0x21f),_0x27cdda=>{logUncaughtError('uncaughtException',_0x27cdda),setTimeout(()=>{const _0x2ef478=a0_0x39a8;process[_0x2ef478(0x1d1)](0x1);},0x3e8);}),process['on'](_0x42cebf[_0x3fb2de(0x1e1)],(_0x5dbbaa,_0x228f27)=>{const _0x45a520=_0x3fb2de,_0x451b02=_0x5dbbaa instanceof Error?_0x5dbbaa:new Error(_0x42cebf['ddEqg'](String,_0x5dbbaa));_0x42cebf[_0x45a520(0x1d4)](logUncaughtError,_0x42cebf['MvKZT'],_0x451b02);}),process['on'](_0x42cebf['byLIG'],_0xb5d24a=>{const _0x47f3d6=_0x3fb2de;logger['warn']({'event':_0x42cebf[_0x47f3d6(0x250)],'name':_0xb5d24a[_0x47f3d6(0x272)],'message':_0xb5d24a[_0x47f3d6(0x205)],'stack':_0xb5d24a[_0x47f3d6(0x1eb)]},_0x47f3d6(0x1f0)+_0xb5d24a['message']);});const _0x10edde={'event':_0x42cebf['eNSqv']},_0x3e8b48=_0x42cebf['mzjDh'];logger['info'](_0x10edde,_0x3e8b48),writeToFileLog({..._0x10edde,'level':'info','msg':_0x3e8b48,'time':new Date()['toISOString']()},_0x42cebf['nVHSH']);},createErrorHandlerMiddleware=()=>{const _0x3dfab5=a0_0x4624df,_0x560ea7={'svNfM':function(_0x2018b7,_0x58971d){return _0x2018b7>=_0x58971d;},'bwhtL':_0x3dfab5(0x23c)};return(_0x58c410,_0x15bcda,_0xf9fda9,_0x409fb9)=>{const _0x558f78=_0x3dfab5;logHttpError(_0x58c410,_0x15bcda);const _0x445507=_0x58c410[_0x558f78(0x21c)]||_0x58c410['status']||0x1f4;_0xf9fda9['status'](_0x445507)['json']({'success':![],'error':_0x560ea7['svNfM'](_0x445507,0x1f4)?_0x560ea7[_0x558f78(0x1d3)]:_0x58c410['message'],'requestId':_0x15bcda['id']||_0x15bcda[_0x558f78(0x231)]?.['x-request-id']||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x23c3cd=a0_0x44c4;(function(_0x36b09f,_0x4d631b){const _0x45995b=a0_0x44c4,_0x27df76=_0x36b09f();while(!![]){try{const _0x46a3ff=-parseInt(_0x45995b(0x1db))/0x1+parseInt(_0x45995b(0x1d9))/0x2+parseInt(_0x45995b(0x1e7))/0x3*(-parseInt(_0x45995b(0x1df))/0x4)+-parseInt(_0x45995b(0x1fc))/0x5+-parseInt(_0x45995b(0x1fb))/0x6+parseInt(_0x45995b(0x1dd))/0x7+parseInt(_0x45995b(0x1e0))/0x8*(parseInt(_0x45995b(0x1d2))/0x9);if(_0x46a3ff===_0x4d631b)break;else _0x27df76['push'](_0x27df76['shift']());}catch(_0x1c5aae){_0x27df76['push'](_0x27df76['shift']());}}}(a0_0x25e3,0xee3f4));function a0_0x25e3(){const _0x13ae09=['v0Hcv0W','u0vmrunuia','lI9SB2DNzxi','mtC2nZzutwvquK8','B2HPDMu','Bg9HzeXVB2T1CfrHyMXL','zgvIDwC','z2v0','zM9YrwfJAa','B3jHy2XL','mJC1odCZmfDKuwLmuW','A2v5CW','mtqXmJu1mfnMB1bZrW','iezst00G','odC1otaWoxLrDNLrDG','BxzkEhe','mtzzv2v0uwO','ndmYofrWBLDACa','Bg9VA3vWq2fJAgu','A0HUCgK','lI9KyI1TExnXBa','CMvZB2X2zuXVB2T1CfzHBhvL','reLYAwW','BgvUz3rO','nJyZmtvwqwvpwhy','rKnlz0q','lI9KyG','qKXiB3m','rejFvfLqrq','Bg9VA3vWx3rHyMXLx2XVywrLza','wuX5z1a','ywrK','zNjVBq','wuj2tfm','C2DdzhK','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','tg9VA3vWihrHyMXLigXVywrLzdOG','Dg9mB3DLCKnHC2u','DhjPBq','ChvZAa','vMfSDwuGiG','C2v0','z2v0rgLZDgLUy3rwywX1zxm','DMfSAwrHDgvmB29RDxbwywX1zxm','mZy1nZG1mLDiyMXbDW','mZaZmZuYmff1rwPmDa','AgfZ','zw50CMLLCW'];a0_0x25e3=function(){return _0x13ae09;};return a0_0x25e3();}const dbType=(process['env'][a0_0x23c3cd(0x1eb)]||'postgresql')[a0_0x23c3cd(0x1f4)]();let executeQuery;if(dbType===a0_0x23c3cd(0x1d8)){const oracleDb=require('./db-oracle');executeQuery=(_0x43adc1,_0x46f547)=>oracleDb['executeQuery'](_0x43adc1,_0x46f547);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x23c3cd(0x1e3));executeQuery=(_0x23b7de,_0x50b951)=>mysqlDb['executeQuery'](_0x23b7de,_0x50b951);}else executeQuery=require(a0_0x23c3cd(0x1e9))['executeQuery'];}const {logger}=require(a0_0x23c3cd(0x1d1));function a0_0x44c4(_0x32e13a,_0x5a159c){_0x32e13a=_0x32e13a-0x1cd;const _0x25e3a3=a0_0x25e3();let _0x44c48b=_0x25e3a3[_0x32e13a];if(a0_0x44c4['ikDjKR']===undefined){var _0x3b92d3=function(_0x2fdb96){const _0x44b344='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43d9df='',_0x2f602e='';for(let _0x17706f=0x0,_0x12c8a8,_0x3ab0c1,_0x284a97=0x0;_0x3ab0c1=_0x2fdb96['charAt'](_0x284a97++);~_0x3ab0c1&&(_0x12c8a8=_0x17706f%0x4?_0x12c8a8*0x40+_0x3ab0c1:_0x3ab0c1,_0x17706f++%0x4)?_0x43d9df+=String['fromCharCode'](0xff&_0x12c8a8>>(-0x2*_0x17706f&0x6)):0x0){_0x3ab0c1=_0x44b344['indexOf'](_0x3ab0c1);}for(let _0x292d83=0x0,_0x2096f3=_0x43d9df['length'];_0x292d83<_0x2096f3;_0x292d83++){_0x2f602e+='%'+('00'+_0x43d9df['charCodeAt'](_0x292d83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f602e);};a0_0x44c4['AdUggh']=_0x3b92d3,a0_0x44c4['cbOgbR']={},a0_0x44c4['ikDjKR']=!![];}const _0x1835f8=_0x25e3a3[0x0],_0xd04536=_0x32e13a+_0x1835f8,_0x431f42=a0_0x44c4['cbOgbR'][_0xd04536];return!_0x431f42?(_0x44c48b=a0_0x44c4['AdUggh'](_0x44c48b),a0_0x44c4['cbOgbR'][_0xd04536]=_0x44c48b):_0x44c48b=_0x431f42,_0x44c48b;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x354260=a0_0x23c3cd,_0x4b5252={'sgCdy':'lookup_cache_cleared'};this['lookupCache']['clear'](),logger[_0x354260(0x1d5)]({'event':_0x4b5252[_0x354260(0x1f1)]},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0xc25272,_0x22cd52,_0x5e39f0){const _0x54c884=a0_0x23c3cd,_0x3813bf={'YlPgq':function(_0x164ea6,_0x1f3e41){return _0x164ea6!==_0x1f3e41;},'ohive':function(_0x3d7787,_0x6af9f0){return _0x3d7787(_0x6af9f0);},'BLHos':function(_0x133c97,_0xc0236){return _0x133c97(_0xc0236);},'ZMvPZ':function(_0x145b83,_0x4780c3){return _0x145b83(_0x4780c3);},'KFIyi':'lookup_table_load_error'},_0x33e8f8=_0xc25272+':'+_0x22cd52+':'+_0x5e39f0;if(this['lookupCache']['has'](_0x33e8f8))return this['lookupCache']['get'](_0x33e8f8);try{const _0x3c2bdb=_0x54c884(0x1d0)+_0x5e39f0+',\x20'+_0x22cd52+_0x54c884(0x1dc)+_0xc25272,_0x60ac3b=await _0x3813bf['ZMvPZ'](executeQuery,_0x3c2bdb),_0xc5bbae=new Map();return _0x60ac3b['forEach'](_0x39d05f=>{const _0x44e641=_0x54c884,_0x15e756=_0x39d05f[_0x22cd52]!==undefined?_0x39d05f[_0x22cd52]:_0x39d05f[_0x22cd52['toUpperCase']()],_0x4cae5e=_0x3813bf['YlPgq'](_0x39d05f[_0x5e39f0],undefined)?_0x39d05f[_0x5e39f0]:_0x39d05f[_0x5e39f0['toUpperCase']()];_0x15e756!==null&&_0x3813bf['YlPgq'](_0x15e756,undefined)&&(_0xc5bbae[_0x44e641(0x1f8)](_0x3813bf[_0x44e641(0x1d3)](String,_0x15e756)[_0x44e641(0x1f4)]()['trim'](),_0x4cae5e),_0xc5bbae[_0x44e641(0x1f8)](_0x3813bf[_0x44e641(0x1ea)](String,_0x15e756)['trim'](),_0x4cae5e));}),this[_0x54c884(0x1e1)][_0x54c884(0x1f8)](_0x33e8f8,_0xc5bbae),logger['info']({'event':_0x54c884(0x1ec),'table':_0xc25272,'column':_0x22cd52,'count':_0x60ac3b[_0x54c884(0x1e6)]},_0x54c884(0x1f3)+_0xc25272),_0xc5bbae;}catch(_0x188310){logger['error']({'event':_0x3813bf['KFIyi'],'table':_0xc25272,'error':_0x188310['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0xc25272);throw _0x188310;}}['resolveLookupValue'](_0x34654c,_0x5329bf){const _0xa7caf7=a0_0x23c3cd,_0x582371={'YLygP':function(_0x5f1936,_0x402eee){return _0x5f1936===_0x402eee;}};if(_0x34654c===null||_0x582371[_0xa7caf7(0x1ed)](_0x34654c,undefined)||_0x34654c==='')return null;const _0x1bb49f=String(_0x34654c)['trim']();if(_0x5329bf[_0xa7caf7(0x1cd)](_0x1bb49f))return _0x5329bf[_0xa7caf7(0x1d6)](_0x1bb49f);const _0x5166e0=_0x1bb49f[_0xa7caf7(0x1f4)]();if(_0x5329bf[_0xa7caf7(0x1cd)](_0x5166e0))return _0x5329bf['get'](_0x5166e0);return null;}async['processLookupFields'](_0x4b06c6,_0x56388f){const _0x1a768b=a0_0x23c3cd,_0xa1b6cf={'kHnpi':function(_0x544940,_0x28e514){return _0x544940===_0x28e514;},'FCKgD':function(_0x480d03,_0x3c1b63){return _0x480d03!==_0x3c1b63;},'YBvLS':'lookup_fields_processed','DIril':_0x1a768b(0x1f2)};if(!_0x56388f||Object['keys'](_0x56388f)['length']===0x0)return{'processedRows':_0x4b06c6,'errors':[]};const _0x46634b=[],_0x22fdf8=new Map();for(const [_0x5878bb,_0x47608c]of Object[_0x1a768b(0x1ce)](_0x56388f)){const {lookupTable:_0x33bd7b,lookupColumn:_0x337f50,lookupIdColumn:_0x429c93}=_0x47608c,_0x2ef370=_0x33bd7b+':'+_0x337f50+':'+_0x429c93;if(!_0x22fdf8['has'](_0x2ef370)){const _0x5795cf=await this['loadLookupTable'](_0x33bd7b,_0x337f50,_0x429c93);_0x22fdf8['set'](_0x2ef370,_0x5795cf);}}const _0x56db34=_0x4b06c6['map']((_0x56dfbb,_0x3e5943)=>{const _0x476260=_0x1a768b,_0x4865e5={..._0x56dfbb};for(const [_0x416ece,_0x20cc59]of Object['entries'](_0x56388f)){const {lookupTable:_0x242ae8,lookupColumn:_0x54b5cb,lookupIdColumn:_0x534f26,targetField:_0x480170,required:_0x2bfddc}=_0x20cc59,_0xf63464=_0x242ae8+':'+_0x54b5cb+':'+_0x534f26,_0x531a94=_0x22fdf8['get'](_0xf63464),_0x3b84cb=_0x56dfbb[_0x416ece];if((_0xa1b6cf[_0x476260(0x1e2)](_0x3b84cb,null)||_0x3b84cb===undefined||_0x3b84cb==='')&&!_0x2bfddc){_0x4865e5[_0x480170]=null;continue;}const _0x537c57=this[_0x476260(0x1e4)](_0x3b84cb,_0x531a94);_0xa1b6cf[_0x476260(0x1e8)](_0x537c57,null)?_0x4865e5[_0x480170]=_0x537c57:(_0x2bfddc&&_0x46634b['push']({'rowIndex':_0x3e5943,'field':_0x416ece,'value':_0x3b84cb,'targetField':_0x480170,'lookupTable':_0x242ae8,'message':_0x476260(0x1f7)+_0x3b84cb+'\x22\x20not\x20found\x20in\x20'+_0x242ae8}),_0x4865e5[_0x480170]=null);}return _0x4865e5;});return logger['info']({'event':_0xa1b6cf[_0x1a768b(0x1f0)],'totalRows':_0x4b06c6['length'],'errorCount':_0x46634b['length'],'lookupFieldCount':Object[_0x1a768b(0x1da)](_0x56388f)['length']},_0xa1b6cf[_0x1a768b(0x1e5)]),{'processedRows':_0x56db34,'errors':_0x46634b};}[a0_0x23c3cd(0x1f9)](_0x8f9a3f,_0x53b560){const _0x591bb7=a0_0x23c3cd,_0x25d271={'WHBWL':function(_0x574aa4,_0x3a5359){return _0x574aa4!==_0x3a5359;}},_0x2730ba=new Set();return _0x8f9a3f['forEach'](_0x3f0a42=>{const _0x2dc13a=a0_0x44c4,_0x36a282=_0x3f0a42[_0x53b560];_0x36a282!==null&&_0x25d271[_0x2dc13a(0x1cf)](_0x36a282,undefined)&&_0x36a282!==''&&_0x2730ba[_0x2dc13a(0x1ee)](String(_0x36a282)[_0x2dc13a(0x1f5)]());}),Array[_0x591bb7(0x1ef)](_0x2730ba);}async[a0_0x23c3cd(0x1fa)](_0x53bf3d,_0x538a83){const _0x103b4f=a0_0x23c3cd,_0x5dfa4c={'mvJxq':function(_0x254207,_0x55689d){return _0x254207===_0x55689d;}};if(!_0x538a83||Object[_0x103b4f(0x1da)](_0x538a83)[_0x103b4f(0x1e6)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x2e220e=[],_0x5c0d66={};for(const [_0x2109f8,_0x2f5139]of Object['entries'](_0x538a83)){const {lookupTable:_0x461b0e,lookupColumn:_0x3f1e2d,lookupIdColumn:_0x263ac0,required:_0xc33d90}=_0x2f5139,_0xcdb533=this['getDistinctValues'](_0x53bf3d,_0x2109f8),_0x3fc650=await this[_0x103b4f(0x1d4)](_0x461b0e,_0x3f1e2d,_0x263ac0),_0xcce8b4=[],_0x528d39=[];_0xcdb533[_0x103b4f(0x1d7)](_0x40d247=>{const _0x4ba1bd=_0x103b4f,_0x36d874=this['resolveLookupValue'](_0x40d247,_0x3fc650);_0x36d874!==null?_0x528d39[_0x4ba1bd(0x1f6)](_0x40d247):_0xcce8b4['push'](_0x40d247);});if(_0xcce8b4[_0x103b4f(0x1e6)]>0x0&&_0xc33d90){_0x2e220e['push']({'field':_0x2109f8,'lookupTable':_0x461b0e,'invalidValues':_0xcce8b4,'message':_0xcce8b4[_0x103b4f(0x1e6)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x461b0e});const _0x22d9ce=[];_0x3fc650[_0x103b4f(0x1d7)]((_0x1ae912,_0x363f9b)=>{const _0x389bc4=_0x103b4f;if(_0x5dfa4c['mvJxq'](_0x363f9b,_0x363f9b['toLowerCase']()))return;_0x22d9ce[_0x389bc4(0x1f6)](_0x363f9b);}),_0x5c0d66[_0x2109f8]={'invalidValues':_0xcce8b4,'availableValues':_0x22d9ce['slice'](0x0,0x32)};}}return{'valid':_0x5dfa4c[_0x103b4f(0x1de)](_0x2e220e[_0x103b4f(0x1e6)],0x0),'errors':_0x2e220e,'suggestions':_0x5c0d66};}}module['exports']=new LookupResolver();
1
+ const a0_0x45ca78=a0_0x2e95;(function(_0x1364da,_0x32a4f2){const _0x2f3de6=a0_0x2e95,_0xd139e9=_0x1364da();while(!![]){try{const _0x588ce8=parseInt(_0x2f3de6(0x10c))/0x1+parseInt(_0x2f3de6(0xef))/0x2+parseInt(_0x2f3de6(0xf8))/0x3*(parseInt(_0x2f3de6(0x106))/0x4)+parseInt(_0x2f3de6(0x111))/0x5+-parseInt(_0x2f3de6(0xe9))/0x6+parseInt(_0x2f3de6(0xfb))/0x7+parseInt(_0x2f3de6(0x10a))/0x8*(-parseInt(_0x2f3de6(0xf6))/0x9);if(_0x588ce8===_0x32a4f2)break;else _0xd139e9['push'](_0xd139e9['shift']());}catch(_0x5075a2){_0xd139e9['push'](_0xd139e9['shift']());}}}(a0_0x4040,0x2f02d));const dbType=(process['env'][a0_0x45ca78(0xe8)]||'postgresql')[a0_0x45ca78(0x114)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x39f024,_0x1b572d)=>oracleDb[a0_0x45ca78(0x113)](_0x39f024,_0x1b572d);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x45ca78(0xf3));executeQuery=(_0x57ce33,_0xf07185)=>mysqlDb['executeQuery'](_0x57ce33,_0xf07185);}else executeQuery=require('./db')['executeQuery'];}function a0_0x4040(){const _0x1d81ba=['mtu4ndG2mg50rMLdBa','Bg9HzeXVB2T1CfrHyMXL','zxHLy3v0zvf1zxj5','Dg9mB3DLCKnHC2u','tfjIu0u','C2XPy2u','y2XLyxi','wgzKv0G','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','rejFvfLqrq','mte5mtm0mMzkwvrNua','zNjVBq','tg9VA3vWihrHyMXLigXVywrLzdOG','Bg9VA3vWq2fJAgu','CMvZB2X2zuXVB2T1CfzHBhvL','zxjYB3i','nJu4nZjKCK9xvLi','BgvUz3rO','DhjPBq','B3n4zhy','lI9KyI1TExnXBa','Aw5MBW','zu9crei','mZaZmdeYtfLzt2PS','zw50CMLLCW','mZm0nZD2BuPnEMe','lI9SB2DNzxi','z2v0','ndGXodG3BNfwqvPN','u0vmrunuia','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','ChvZAa','v3f1z1K','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BwvZC2fNzq','vMfSDwuGiG','AgfZ','zgvIDwC','C2v0','mtaWBMnUAMzA','tgTMuLC','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','mtq0sK1hsgzx','zM9YrwfJAa','mJK5nde0z2Hnvg5s','Cu9yDei','A2v5CW','Bg9VA3vWx3rHyMXLx2XVywrLza','Dg9vChbLCKnHC2u'];a0_0x4040=function(){return _0x1d81ba;};return a0_0x4040();}const {logger}=require(a0_0x45ca78(0xf9));function a0_0x2e95(_0x3c743e,_0x5a5e77){_0x3c743e=_0x3c743e-0xe5;const _0x404091=a0_0x4040();let _0x2e9538=_0x404091[_0x3c743e];if(a0_0x2e95['ukhiTx']===undefined){var _0x1de840=function(_0x14946d){const _0xcde2ae='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c58fd='',_0x3ebbf3='';for(let _0x1238ff=0x0,_0x2a268f,_0x2675de,_0x46b250=0x0;_0x2675de=_0x14946d['charAt'](_0x46b250++);~_0x2675de&&(_0x2a268f=_0x1238ff%0x4?_0x2a268f*0x40+_0x2675de:_0x2675de,_0x1238ff++%0x4)?_0x4c58fd+=String['fromCharCode'](0xff&_0x2a268f>>(-0x2*_0x1238ff&0x6)):0x0){_0x2675de=_0xcde2ae['indexOf'](_0x2675de);}for(let _0x144c0c=0x0,_0x5a1753=_0x4c58fd['length'];_0x144c0c<_0x5a1753;_0x144c0c++){_0x3ebbf3+='%'+('00'+_0x4c58fd['charCodeAt'](_0x144c0c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ebbf3);};a0_0x2e95['uqfEKV']=_0x1de840,a0_0x2e95['PqDJkL']={},a0_0x2e95['ukhiTx']=!![];}const _0x10c765=_0x404091[0x0],_0x37429e=_0x3c743e+_0x10c765,_0x50a71a=a0_0x2e95['PqDJkL'][_0x37429e];return!_0x50a71a?(_0x2e9538=a0_0x2e95['uqfEKV'](_0x2e9538),a0_0x2e95['PqDJkL'][_0x37429e]=_0x2e9538):_0x2e9538=_0x50a71a,_0x2e9538;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x33d5ca=a0_0x45ca78,_0x2211f9={'aKIpg':_0x33d5ca(0x109),'TzZFL':_0x33d5ca(0x108)};this['lookupCache'][_0x33d5ca(0xe5)](),logger[_0x33d5ca(0x104)]({'event':_0x2211f9['aKIpg']},_0x2211f9['TzZFL']);}async[a0_0x45ca78(0x112)](_0xf1e04c,_0x2fde10,_0x448444){const _0x1202e6=a0_0x45ca78,_0x29b862={'yVAFN':function(_0xb9e373,_0x212ff5){return _0xb9e373!==_0x212ff5;},'ljikb':function(_0x52bf86,_0x2efdbe){return _0x52bf86!==_0x2efdbe;},'XfdWH':function(_0x58c246,_0x758e91){return _0x58c246(_0x758e91);}},_0x1b1393=_0xf1e04c+':'+_0x2fde10+':'+_0x448444;if(this[_0x1202e6(0xec)]['has'](_0x1b1393))return this[_0x1202e6(0xec)]['get'](_0x1b1393);try{const _0x1c18be=_0x1202e6(0xfc)+_0x448444+',\x20'+_0x2fde10+'\x20FROM\x20'+_0xf1e04c,_0x4b0ceb=await executeQuery(_0x1c18be),_0x21e55a=new Map();return _0x4b0ceb['forEach'](_0xd1411d=>{const _0x5de321=_0x1202e6,_0x4b29bd=_0xd1411d[_0x2fde10]!==undefined?_0xd1411d[_0x2fde10]:_0xd1411d[_0x2fde10[_0x5de321(0x110)]()],_0x346856=_0xd1411d[_0x448444]!==undefined?_0xd1411d[_0x448444]:_0xd1411d[_0x448444[_0x5de321(0x110)]()];_0x29b862['yVAFN'](_0x4b29bd,null)&&_0x29b862['ljikb'](_0x4b29bd,undefined)&&(_0x21e55a[_0x5de321(0x105)](String(_0x4b29bd)[_0x5de321(0x114)]()[_0x5de321(0xf1)](),_0x346856),_0x21e55a[_0x5de321(0x105)](_0x29b862[_0x5de321(0xe6)](String,_0x4b29bd)['trim'](),_0x346856));}),this[_0x1202e6(0xec)][_0x1202e6(0x105)](_0x1b1393,_0x21e55a),logger[_0x1202e6(0xf4)]({'event':_0x1202e6(0x10f),'table':_0xf1e04c,'column':_0x2fde10,'count':_0x4b0ceb['length']},_0x1202e6(0xeb)+_0xf1e04c),_0x21e55a;}catch(_0xad56bc){logger[_0x1202e6(0xee)]({'event':_0x1202e6(0x100),'table':_0xf1e04c,'error':_0xad56bc[_0x1202e6(0x101)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0xf1e04c);throw _0xad56bc;}}['resolveLookupValue'](_0x38dcd4,_0x17da52){const _0x548946=a0_0x45ca78,_0x3f23fb={'WqugY':function(_0x266273,_0x4a0b2d){return _0x266273===_0x4a0b2d;},'uWMvN':function(_0x42d506,_0x2479f1){return _0x42d506(_0x2479f1);}};if(_0x3f23fb[_0x548946(0xff)](_0x38dcd4,null)||_0x38dcd4===undefined||_0x38dcd4==='')return null;const _0x7a9fc5=_0x3f23fb['uWMvN'](String,_0x38dcd4)['trim']();if(_0x17da52['has'](_0x7a9fc5))return _0x17da52['get'](_0x7a9fc5);const _0x33107b=_0x7a9fc5[_0x548946(0x114)]();if(_0x17da52['has'](_0x33107b))return _0x17da52[_0x548946(0xfa)](_0x33107b);return null;}async['processLookupFields'](_0x7c18da,_0x49b89f){const _0x90ebae=a0_0x45ca78,_0x203b62={'osxdv':function(_0x3130d7,_0x2a9868){return _0x3130d7===_0x2a9868;},'xdyGD':function(_0x498c76,_0x2f7d17){return _0x498c76===_0x2f7d17;}};if(!_0x49b89f||Object[_0x90ebae(0x10e)](_0x49b89f)['length']===0x0)return{'processedRows':_0x7c18da,'errors':[]};const _0x4dd392=[],_0x229df8=new Map();for(const [_0x161ab9,_0xe45288]of Object[_0x90ebae(0xf7)](_0x49b89f)){const {lookupTable:_0x418d7f,lookupColumn:_0xf10445,lookupIdColumn:_0x3ed4ce}=_0xe45288,_0x1a5043=_0x418d7f+':'+_0xf10445+':'+_0x3ed4ce;if(!_0x229df8[_0x90ebae(0x103)](_0x1a5043)){const _0x53d3a9=await this['loadLookupTable'](_0x418d7f,_0xf10445,_0x3ed4ce);_0x229df8['set'](_0x1a5043,_0x53d3a9);}}const _0x53cbee=_0x7c18da['map']((_0x268839,_0xa068f7)=>{const _0x508331=_0x90ebae,_0x48385e={..._0x268839};for(const [_0x1c2a0e,_0x49b473]of Object[_0x508331(0xf7)](_0x49b89f)){const {lookupTable:_0x46eb09,lookupColumn:_0x542a93,lookupIdColumn:_0x15fb61,targetField:_0x390a46,required:_0x40b48e}=_0x49b473,_0x2fe312=_0x46eb09+':'+_0x542a93+':'+_0x15fb61,_0x47fbeb=_0x229df8['get'](_0x2fe312),_0x3910fb=_0x268839[_0x1c2a0e];if((_0x203b62[_0x508331(0xf2)](_0x3910fb,null)||_0x203b62['xdyGD'](_0x3910fb,undefined)||_0x203b62[_0x508331(0xf2)](_0x3910fb,''))&&!_0x40b48e){_0x48385e[_0x390a46]=null;continue;}const _0xba3a6c=this[_0x508331(0xed)](_0x3910fb,_0x47fbeb);_0xba3a6c!==null?_0x48385e[_0x390a46]=_0xba3a6c:(_0x40b48e&&_0x4dd392[_0x508331(0xfe)]({'rowIndex':_0xa068f7,'field':_0x1c2a0e,'value':_0x3910fb,'targetField':_0x390a46,'lookupTable':_0x46eb09,'message':_0x508331(0x102)+_0x3910fb+'\x22\x20not\x20found\x20in\x20'+_0x46eb09}),_0x48385e[_0x390a46]=null);}return _0x48385e;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x7c18da[_0x90ebae(0xf0)],'errorCount':_0x4dd392[_0x90ebae(0xf0)],'lookupFieldCount':Object[_0x90ebae(0x10e)](_0x49b89f)[_0x90ebae(0xf0)]},_0x90ebae(0xfd)),{'processedRows':_0x53cbee,'errors':_0x4dd392};}['getDistinctValues'](_0x338e62,_0x12dc41){const _0x5a8903=a0_0x45ca78,_0x45d03b={'LRbSE':function(_0x56d2d9,_0x5345f4){return _0x56d2d9!==_0x5345f4;},'LkfRW':function(_0x145654,_0x11a61a){return _0x145654!==_0x11a61a;},'YpxhK':function(_0x22d3c2,_0x2e7f9b){return _0x22d3c2(_0x2e7f9b);}},_0x1b9292=new Set();return _0x338e62['forEach'](_0x458070=>{const _0x4a87d7=a0_0x2e95,_0x461d38=_0x458070[_0x12dc41];_0x461d38!==null&&_0x45d03b[_0x4a87d7(0x115)](_0x461d38,undefined)&&_0x45d03b[_0x4a87d7(0x107)](_0x461d38,'')&&_0x1b9292['add'](_0x45d03b['YpxhK'](String,_0x461d38)[_0x4a87d7(0xf1)]());}),Array[_0x5a8903(0xea)](_0x1b9292);}async['validateLookupValues'](_0x56b38a,_0xbb7b67){const _0x90c50e=a0_0x45ca78,_0x9b5686={'eOBDB':function(_0x21cd0e,_0x5a18a0){return _0x21cd0e!==_0x5a18a0;},'qOXtB':function(_0x576193,_0x1dfa32){return _0x576193===_0x1dfa32;}};if(!_0xbb7b67||Object['keys'](_0xbb7b67)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x1a71a4=[],_0x1a0be8={};for(const [_0x4ea4e0,_0x586ef6]of Object['entries'](_0xbb7b67)){const {lookupTable:_0x4f360c,lookupColumn:_0x582731,lookupIdColumn:_0x3a9f05,required:_0x4e18d5}=_0x586ef6,_0x514ac7=this['getDistinctValues'](_0x56b38a,_0x4ea4e0),_0x22609b=await this['loadLookupTable'](_0x4f360c,_0x582731,_0x3a9f05),_0x163a4d=[],_0x466b4c=[];_0x514ac7['forEach'](_0x2107ff=>{const _0x339183=a0_0x2e95,_0x4c8885=this[_0x339183(0xed)](_0x2107ff,_0x22609b);_0x9b5686[_0x339183(0xf5)](_0x4c8885,null)?_0x466b4c['push'](_0x2107ff):_0x163a4d[_0x339183(0xfe)](_0x2107ff);});if(_0x163a4d[_0x90c50e(0xf0)]>0x0&&_0x4e18d5){_0x1a71a4[_0x90c50e(0xfe)]({'field':_0x4ea4e0,'lookupTable':_0x4f360c,'invalidValues':_0x163a4d,'message':_0x163a4d[_0x90c50e(0xf0)]+_0x90c50e(0xe7)+_0x4f360c});const _0x382b4e=[];_0x22609b[_0x90c50e(0x10b)]((_0x507083,_0x457921)=>{const _0x5b9b95=_0x90c50e;if(_0x457921===_0x457921[_0x5b9b95(0x114)]())return;_0x382b4e['push'](_0x457921);}),_0x1a0be8[_0x4ea4e0]={'invalidValues':_0x163a4d,'availableValues':_0x382b4e[_0x90c50e(0x116)](0x0,0x32)};}}return{'valid':_0x9b5686[_0x90c50e(0x10d)](_0x1a71a4[_0x90c50e(0xf0)],0x0),'errors':_0x1a71a4,'suggestions':_0x1a0be8};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x363f(_0x34866c,_0x38f23e){_0x34866c=_0x34866c-0xcf;const _0x3b6fcd=a0_0x3b6f();let _0x363fc9=_0x3b6fcd[_0x34866c];if(a0_0x363f['rSFdnl']===undefined){var _0x3a7986=function(_0x5aaa60){const _0x597bde='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5098b7='',_0x18d43b='';for(let _0x6a3c60=0x0,_0x48462b,_0x51e93a,_0x107252=0x0;_0x51e93a=_0x5aaa60['charAt'](_0x107252++);~_0x51e93a&&(_0x48462b=_0x6a3c60%0x4?_0x48462b*0x40+_0x51e93a:_0x51e93a,_0x6a3c60++%0x4)?_0x5098b7+=String['fromCharCode'](0xff&_0x48462b>>(-0x2*_0x6a3c60&0x6)):0x0){_0x51e93a=_0x597bde['indexOf'](_0x51e93a);}for(let _0x49c24c=0x0,_0x504f90=_0x5098b7['length'];_0x49c24c<_0x504f90;_0x49c24c++){_0x18d43b+='%'+('00'+_0x5098b7['charCodeAt'](_0x49c24c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18d43b);};a0_0x363f['FmWbsL']=_0x3a7986,a0_0x363f['VjFOEo']={},a0_0x363f['rSFdnl']=!![];}const _0x42696a=_0x3b6fcd[0x0],_0x225b37=_0x34866c+_0x42696a,_0xac4d24=a0_0x363f['VjFOEo'][_0x225b37];return!_0xac4d24?(_0x363fc9=a0_0x363f['FmWbsL'](_0x363fc9),a0_0x363f['VjFOEo'][_0x225b37]=_0x363fc9):_0x363fc9=_0xac4d24,_0x363fc9;}const a0_0x4cdc29=a0_0x363f;function a0_0x3b6f(){const _0x1d681f=['mty2mJi0odvvyvfiBNu','nda2ntKYBwzOB1rT','rKzrCxO','y2XLyxi','AvDntfy','CgfYC2u','Cgf0Aa','y2fJAgu','BwvZC2fNzq','y29SDw1UrM9YBwf0CW','mZG0nJC3mhn2Bw1trG','C2v0','ntzjDuLrB2y','z2v0rxHWB3j0q29UzMLN','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nJaYofnVuxLLEa','lI4VlI4VCgf5Bg9Hza','sMLcuKG','Cgf5Bg9Hzf9SB2fKzwq','DgfIBgvoyw1L','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','CMvHzezPBgu','zxjYB3i','zxHWB3j0CW','lMPZB24','BeDPv2e','mJvOz0jOEKy','odu3mde2D3PervL6','zgvIDwC','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mZq0n01JC0jSEG','DxrMoa','ugf5Bg9HzcbUB3qGzM91BMq6ia','zMLLBgroyw1L','AM9PBG','otaZnZiYnhD4wfr2Eq','ywn0Aw9U','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Bg9HzfbHEwXVywrcEu5HBwu','ueHcCNq','y2XLyxjdywnOzq','Cgf5Bg9HzerPCG','Aw5MBW','ng5WvgrTsa','nZi5oty2q3vhz09p'];a0_0x3b6f=function(){return _0x1d681f;};return a0_0x3b6f();}(function(_0x8b934d,_0x44f2bf){const _0x11dbef=a0_0x363f,_0xfa717f=_0x8b934d();while(!![]){try{const _0x44c54f=-parseInt(_0x11dbef(0xd5))/0x1*(-parseInt(_0x11dbef(0xd8))/0x2)+-parseInt(_0x11dbef(0xf5))/0x3*(parseInt(_0x11dbef(0xe6))/0x4)+-parseInt(_0x11dbef(0xf1))/0x5*(-parseInt(_0x11dbef(0xd6))/0x6)+-parseInt(_0x11dbef(0xe3))/0x7*(parseInt(_0x11dbef(0xf2))/0x8)+parseInt(_0x11dbef(0xfa))/0x9+-parseInt(_0x11dbef(0xe1))/0xa+parseInt(_0x11dbef(0xd7))/0xb;if(_0x44c54f===_0x44f2bf)break;else _0xfa717f['push'](_0xfa717f['shift']());}catch(_0x755042){_0xfa717f['push'](_0xfa717f['shift']());}}}(a0_0x3b6f,0xeb3c4));const fs=require('fs')['promises'],path=require(a0_0x4cdc29(0xdd)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x315536=a0_0x4cdc29,_0x40aa00={'ohTbG':_0x315536(0xe7)};this[_0x315536(0xd3)]=path[_0x315536(0xf9)](__dirname,_0x40aa00['ohTbG']),this['cache']=new Map();}async['loadPayload'](_0x5ab846,_0x431668){const _0x2cd337=a0_0x4cdc29,_0x2b63f5={'iWMLV':'utf8','JiBRH':_0x2cd337(0xeb)},_0x1169b8=_0x5ab846+':'+_0x431668;if(this['cache']['has'](_0x1169b8))return this[_0x2cd337(0xde)]['get'](_0x1169b8);const _0x140b4b=path['join'](this['payloadDir'],_0x5ab846+'_'+_0x431668+_0x2cd337(0xef));try{const _0x3d2206=await fs[_0x2cd337(0xec)](_0x140b4b,_0x2b63f5[_0x2cd337(0xdb)]),_0x546ed8=JSON[_0x2cd337(0xdc)](_0x3d2206);return this[_0x2cd337(0xde)]['set'](_0x1169b8,_0x546ed8),logger['debug']({'event':'payload_loaded','project':_0x5ab846,'resource':_0x431668},_0x2cd337(0xe5)),_0x546ed8;}catch(_0x314a5a){logger[_0x2cd337(0xed)]({'event':_0x2cd337(0xcf),'project':_0x5ab846,'resource':_0x431668,'error':_0x314a5a[_0x2cd337(0xdf)]},_0x2b63f5[_0x2cd337(0xe8)]);throw new Error(_0x2cd337(0xf7)+_0x5ab846+'_'+_0x431668);}}async[a0_0x4cdc29(0xd0)](_0x1dcb0d){const _0x477642=a0_0x4cdc29,_0x4d60b5={'VAcnO':_0x477642(0xe9),'lGiWa':'Payload\x20loaded\x20successfully\x20by\x20name','FFQqz':'payload_load_error','PHBrt':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x2c5e0d='payload:'+_0x1dcb0d;if(this[_0x477642(0xde)]['has'](_0x2c5e0d))return this[_0x477642(0xde)]['get'](_0x2c5e0d);const _0x1ecede=path['join'](this['payloadDir'],_0x1dcb0d+_0x477642(0xef));try{const _0x4b3b6d=await fs['readFile'](_0x1ecede,_0x477642(0xf6)),_0x2cd3d3=JSON[_0x477642(0xdc)](_0x4b3b6d);return this[_0x477642(0xde)][_0x477642(0xe2)](_0x2c5e0d,_0x2cd3d3),logger[_0x477642(0xf3)]({'event':_0x4d60b5['VAcnO'],'payloadName':_0x1dcb0d},_0x4d60b5[_0x477642(0xf0)]),_0x2cd3d3;}catch(_0x339054){logger['error']({'event':_0x4d60b5[_0x477642(0xd9)],'payloadName':_0x1dcb0d,'error':_0x339054['message']},_0x4d60b5[_0x477642(0xd1)]);throw new Error(_0x477642(0xf7)+_0x1dcb0d);}}['isActionEnabled'](_0x4df0fa,_0x13f23b){const _0x1aad57=a0_0x4cdc29,_0x576407={'MGZQB':function(_0x9411cf,_0x2059a4){return _0x9411cf===_0x2059a4;}};return _0x4df0fa['action']&&_0x576407['MGZQB'](_0x4df0fa[_0x1aad57(0xfb)][_0x13f23b],!![]);}[a0_0x4cdc29(0xe4)](_0x579692){const _0x5bf8bc=a0_0x4cdc29;return{'columns':_0x579692[_0x5bf8bc(0xf8)]||[],'filename':_0x579692[_0x5bf8bc(0xea)]['replace']('.','-')+'-export','datatablesQuery':_0x579692['datatablesQuery']||null,'columnFormats':_0x579692[_0x5bf8bc(0xe0)]||null,'fieldLabels':_0x579692['fieldLabels']||null};}[a0_0x4cdc29(0xd2)](){const _0x5541c5=a0_0x4cdc29;this['cache'][_0x5541c5(0xda)](),logger[_0x5541c5(0xd4)]({'event':'payload_cache_cleared'},_0x5541c5(0xf4));}}module[a0_0x4cdc29(0xee)]=new PayloadLoader();
1
+ const a0_0x4be2c9=a0_0x252b;(function(_0x17fe3e,_0x4f3696){const _0xc6f779=a0_0x252b,_0xa25c9f=_0x17fe3e();while(!![]){try{const _0x1f8ec0=parseInt(_0xc6f779(0x129))/0x1*(parseInt(_0xc6f779(0x12e))/0x2)+parseInt(_0xc6f779(0x120))/0x3*(-parseInt(_0xc6f779(0x11f))/0x4)+parseInt(_0xc6f779(0x122))/0x5*(-parseInt(_0xc6f779(0x136))/0x6)+-parseInt(_0xc6f779(0x13d))/0x7+-parseInt(_0xc6f779(0x133))/0x8*(-parseInt(_0xc6f779(0x13c))/0x9)+-parseInt(_0xc6f779(0x139))/0xa+parseInt(_0xc6f779(0x12f))/0xb*(parseInt(_0xc6f779(0x135))/0xc);if(_0x1f8ec0===_0x4f3696)break;else _0xa25c9f['push'](_0xa25c9f['shift']());}catch(_0x4216bd){_0xa25c9f['push'](_0xa25c9f['shift']());}}}(a0_0xce40,0xaefdd));function a0_0xce40(){const _0x43f30f=['mJiWofbcweTTrq','mty1uxHXv3zX','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','DgfIBgvoyw1L','BwvZC2fNzq','ntq0odHXvhbuAeS','ywn0Aw9U','ntq3odm2CK5Ky2P0','odrIChnfCfe','Cgf5Bg9HzerPCG','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','ode3ndm2mgfnvwfNCW','C25ou2i','Bg9HzfbHEwXVywq','mtqXm1zHvKT4vW','mZu1ody1m0jRs1HMwq','Bg9HzfbHEwXVywrcEu5HBwu','CMvWBgfJzq','lMPZB24','z0ztzMu','Cgf5Bg9Hzf9SB2fKzwq','y2XLyxi','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','C2v0','r0jiEeS','mJHnELfwDgW','ndK5nZrJsKniz2i','zMLLBgroyw1L','mteXnJiWwNbhCNzu','v2DcBMO','lwv4Cg9YDa','ChjVBwLZzxm','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','y2fJAgu','Cu1xC0y','nJuWsuLzB0L4','CgfYC2u','AM9PBG','Cgf0Aa','z2v0'];a0_0xce40=function(){return _0x43f30f;};return a0_0xce40();}function a0_0x252b(_0x351189,_0x223499){_0x351189=_0x351189-0x119;const _0xce4064=a0_0xce40();let _0x252bac=_0xce4064[_0x351189];if(a0_0x252b['mLLYtJ']===undefined){var _0x15bd4b=function(_0x41854b){const _0x8edb41='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ff1a2='',_0x3237ff='';for(let _0x4fe94f=0x0,_0x5639da,_0x561bc3,_0xb07be1=0x0;_0x561bc3=_0x41854b['charAt'](_0xb07be1++);~_0x561bc3&&(_0x5639da=_0x4fe94f%0x4?_0x5639da*0x40+_0x561bc3:_0x561bc3,_0x4fe94f++%0x4)?_0x2ff1a2+=String['fromCharCode'](0xff&_0x5639da>>(-0x2*_0x4fe94f&0x6)):0x0){_0x561bc3=_0x8edb41['indexOf'](_0x561bc3);}for(let _0x151439=0x0,_0x40ec56=_0x2ff1a2['length'];_0x151439<_0x40ec56;_0x151439++){_0x3237ff+='%'+('00'+_0x2ff1a2['charCodeAt'](_0x151439)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3237ff);};a0_0x252b['fSClWc']=_0x15bd4b,a0_0x252b['FnbAEB']={},a0_0x252b['mLLYtJ']=!![];}const _0x5e3d35=_0xce4064[0x0],_0x1d4790=_0x351189+_0x5e3d35,_0x4e7585=a0_0x252b['FnbAEB'][_0x1d4790];return!_0x4e7585?(_0x252bac=a0_0x252b['fSClWc'](_0x252bac),a0_0x252b['FnbAEB'][_0x1d4790]=_0x252bac):_0x252bac=_0x4e7585,_0x252bac;}const fs=require('fs')[a0_0x4be2c9(0x125)],path=require(a0_0x4be2c9(0x12c)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x326ac7=a0_0x4be2c9;this[_0x326ac7(0x137)]=path[_0x326ac7(0x12b)](__dirname,'../../payload'),this[_0x326ac7(0x127)]=new Map();}async[a0_0x4be2c9(0x13b)](_0xbb359b,_0xda1da3){const _0x5dce57=a0_0x4be2c9,_0x510b73={'gFSfe':'utf8','qMWsF':'payload_loaded','tjDRp':_0x5dce57(0x11c)},_0x299279=_0xbb359b+':'+_0xda1da3;if(this['cache']['has'](_0x299279))return this['cache'][_0x5dce57(0x12d)](_0x299279);const _0x29d5a1=path[_0x5dce57(0x12b)](this[_0x5dce57(0x137)],_0xbb359b+'_'+_0xda1da3+_0x5dce57(0x140));try{const _0x273e42=await fs['readFile'](_0x29d5a1,_0x510b73[_0x5dce57(0x119)]),_0x5e757e=JSON[_0x5dce57(0x12a)](_0x273e42);return this['cache']['set'](_0x299279,_0x5e757e),logger['debug']({'event':_0x510b73[_0x5dce57(0x128)],'project':_0xbb359b,'resource':_0xda1da3},'Payload\x20loaded\x20successfully'),_0x5e757e;}catch(_0x291302){logger['error']({'event':_0x5dce57(0x130),'project':_0xbb359b,'resource':_0xda1da3,'error':_0x291302['message']},_0x510b73['tjDRp']);throw new Error('Payload\x20not\x20found:\x20'+_0xbb359b+'_'+_0xda1da3);}}async[a0_0x4be2c9(0x13e)](_0x15cbbf){const _0x4016d2=a0_0x4be2c9,_0x56d445={'snNSb':_0x4016d2(0x11a),'GBHxK':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x575122='payload:'+_0x15cbbf;if(this[_0x4016d2(0x127)]['has'](_0x575122))return this[_0x4016d2(0x127)]['get'](_0x575122);const _0x3c6cb4=path['join'](this[_0x4016d2(0x137)],_0x15cbbf+'.json');try{const _0x57a703=await fs['readFile'](_0x3c6cb4,'utf8'),_0x3fd0ce=JSON[_0x4016d2(0x12a)](_0x57a703);return this[_0x4016d2(0x127)][_0x4016d2(0x11d)](_0x575122,_0x3fd0ce),logger['debug']({'event':_0x56d445[_0x4016d2(0x13a)],'payloadName':_0x15cbbf},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x3fd0ce;}catch(_0x1ce933){logger['error']({'event':'payload_load_error','payloadName':_0x15cbbf,'error':_0x1ce933[_0x4016d2(0x132)]},_0x56d445[_0x4016d2(0x11e)]);throw new Error('Payload\x20not\x20found:\x20'+_0x15cbbf);}}['isActionEnabled'](_0x3b4aa6,_0x37c190){const _0x182cce=a0_0x4be2c9,_0x1d4719={'WgBnj':function(_0x5a30e1,_0x5bdab5){return _0x5a30e1===_0x5bdab5;}};return _0x3b4aa6[_0x182cce(0x134)]&&_0x1d4719[_0x182cce(0x123)](_0x3b4aa6['action'][_0x37c190],!![]);}['getExportConfig'](_0x39a81d){const _0x3cae43=a0_0x4be2c9;return{'columns':_0x39a81d[_0x3cae43(0x121)]||[],'filename':_0x39a81d[_0x3cae43(0x131)][_0x3cae43(0x13f)]('.','-')+_0x3cae43(0x124),'datatablesQuery':_0x39a81d['datatablesQuery']||null,'columnFormats':_0x39a81d['columnFormats']||null,'fieldLabels':_0x39a81d['fieldLabels']||null};}['clearCache'](){const _0x241283=a0_0x4be2c9,_0x3bcb6e={'cVawm':_0x241283(0x126)};this[_0x241283(0x127)][_0x241283(0x11b)](),logger['info']({'event':_0x241283(0x138)},_0x3bcb6e['cVawm']);}}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x2f8e18,_0x13b5fc){var _0x1a352b=a0_0x4da4,_0x1fa88d=_0x2f8e18();while(!![]){try{var _0x2da337=parseInt(_0x1a352b(0x1f4))/0x1+-parseInt(_0x1a352b(0x1f7))/0x2*(parseInt(_0x1a352b(0x1f6))/0x3)+-parseInt(_0x1a352b(0x1f5))/0x4*(-parseInt(_0x1a352b(0x1f8))/0x5)+parseInt(_0x1a352b(0x1fb))/0x6+-parseInt(_0x1a352b(0x1fa))/0x7*(parseInt(_0x1a352b(0x1f9))/0x8)+parseInt(_0x1a352b(0x1f3))/0x9+-parseInt(_0x1a352b(0x1f2))/0xa;if(_0x2da337===_0x13b5fc)break;else _0x1fa88d['push'](_0x1fa88d['shift']());}catch(_0x4fc2cc){_0x1fa88d['push'](_0x1fa88d['shift']());}}}(a0_0x5a5d,0x3096a));function createResponse(_0x5893e8,_0x4903be,_0x367cda=null){return{'success':!![],'statusCode':_0x5893e8,'message':_0x4903be,'data':_0x367cda,'timestamp':new Date()['toISOString']()};}function a0_0x4da4(_0x26b274,_0x1dca15){_0x26b274=_0x26b274-0x1f2;var _0x5a5d7d=a0_0x5a5d();var _0x4da4d2=_0x5a5d7d[_0x26b274];if(a0_0x4da4['CavTXF']===undefined){var _0x19fbbd=function(_0x25a311){var _0x5cc496='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3c14af='',_0x244971='';for(var _0x45a067=0x0,_0x1efcf3,_0x2c97ca,_0x4927bd=0x0;_0x2c97ca=_0x25a311['charAt'](_0x4927bd++);~_0x2c97ca&&(_0x1efcf3=_0x45a067%0x4?_0x1efcf3*0x40+_0x2c97ca:_0x2c97ca,_0x45a067++%0x4)?_0x3c14af+=String['fromCharCode'](0xff&_0x1efcf3>>(-0x2*_0x45a067&0x6)):0x0){_0x2c97ca=_0x5cc496['indexOf'](_0x2c97ca);}for(var _0x56bdf5=0x0,_0xf3667=_0x3c14af['length'];_0x56bdf5<_0xf3667;_0x56bdf5++){_0x244971+='%'+('00'+_0x3c14af['charCodeAt'](_0x56bdf5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x244971);};a0_0x4da4['dpHXZP']=_0x19fbbd,a0_0x4da4['uFxvfB']={},a0_0x4da4['CavTXF']=!![];}var _0x1d42d7=_0x5a5d7d[0x0],_0x4f43a1=_0x26b274+_0x1d42d7,_0x1a0ee4=a0_0x4da4['uFxvfB'][_0x4f43a1];return!_0x1a0ee4?(_0x4da4d2=a0_0x4da4['dpHXZP'](_0x4da4d2),a0_0x4da4['uFxvfB'][_0x4f43a1]=_0x4da4d2):_0x4da4d2=_0x1a0ee4,_0x4da4d2;}function createError(_0x11d9d0,_0x299c28,_0x225509=null){var _0x48f389=a0_0x4da4;return{'success':![],'statusCode':_0x11d9d0,'message':_0x299c28,'data':_0x225509,'timestamp':new Date()[_0x48f389(0x1fc)]()};}function createValidationError(_0x1d1095,_0x4fd9a5){var _0x2f5b8b=a0_0x4da4;return{'success':![],'statusCode':0x190,'message':_0x1d1095,'data':{'errors':_0x4fd9a5},'timestamp':new Date()[_0x2f5b8b(0x1fc)]()};}function a0_0x5a5d(){var _0x307fdc=['mtCXmte0nhzNy0Lezq','n2nVseHJDq','odq2mJe2AKP4C2nV','Dg9ju09tDhjPBMC','mtGYodeWmeXMqKvqsq','mtqZmda3m2XJyw5hBW','mtG4ndG1EMnXwMvU','mtC2vLnlz2zv','odiZmtKXzvnwDwfc','mMrSv2rdua','ndmZnZvmug5Ss3q'];a0_0x5a5d=function(){return _0x307fdc;};return a0_0x5a5d();}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x126197=a0_0x554e;(function(_0x1d08b9,_0x15bde5){var _0x39b10b=a0_0x554e,_0x45b5b8=_0x1d08b9();while(!![]){try{var _0x319451=parseInt(_0x39b10b(0x154))/0x1+parseInt(_0x39b10b(0x14f))/0x2*(-parseInt(_0x39b10b(0x157))/0x3)+parseInt(_0x39b10b(0x158))/0x4*(parseInt(_0x39b10b(0x15b))/0x5)+-parseInt(_0x39b10b(0x150))/0x6+parseInt(_0x39b10b(0x152))/0x7*(-parseInt(_0x39b10b(0x151))/0x8)+parseInt(_0x39b10b(0x155))/0x9*(-parseInt(_0x39b10b(0x153))/0xa)+parseInt(_0x39b10b(0x159))/0xb;if(_0x319451===_0x15bde5)break;else _0x45b5b8['push'](_0x45b5b8['shift']());}catch(_0x11f717){_0x45b5b8['push'](_0x45b5b8['shift']());}}}(a0_0x1cfe,0x34b82));function a0_0x1cfe(){var _0x1d1089=['mtGYmfnbCu5SAa','nJG5otb3wMfxzeq','ndiWotq2C1vwvMf2','mZi0v1fLshDp','zxHWB3j0CW','mJm1otmYy2jZuMrP','mZiYntmYy0TqENz5','nJy1ntu1meXPzfrMsq','Dg9ju09tDhjPBMC','mtbywMTwywu','nKnrEvPmCG','mta3odi0ofLRsuzxra','otq1nMHOsxrLyW'];a0_0x1cfe=function(){return _0x1d1089;};return a0_0x1cfe();}function createResponse(_0x11ce5e,_0x12a681,_0x30c7ac=null){var _0x2f19e1=a0_0x554e;return{'success':!![],'statusCode':_0x11ce5e,'message':_0x12a681,'data':_0x30c7ac,'timestamp':new Date()[_0x2f19e1(0x15a)]()};}function createError(_0x3ade49,_0x1fc9d9,_0x495412=null){var _0x2ee5cf=a0_0x554e;return{'success':![],'statusCode':_0x3ade49,'message':_0x1fc9d9,'data':_0x495412,'timestamp':new Date()[_0x2ee5cf(0x15a)]()};}function createValidationError(_0x41264a,_0x6a622b){var _0x171f6f=a0_0x554e;return{'success':![],'statusCode':0x190,'message':_0x41264a,'data':{'errors':_0x6a622b},'timestamp':new Date()[_0x171f6f(0x15a)]()};}function a0_0x554e(_0x3b7b39,_0xfcea2c){_0x3b7b39=_0x3b7b39-0x14f;var _0x1cfe9d=a0_0x1cfe();var _0x554e8e=_0x1cfe9d[_0x3b7b39];if(a0_0x554e['ClEwAL']===undefined){var _0x51a8d4=function(_0x15768){var _0x4cbdf3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1bb815='',_0x1523c2='';for(var _0x387052=0x0,_0x1f2c15,_0x3ce662,_0x5ac051=0x0;_0x3ce662=_0x15768['charAt'](_0x5ac051++);~_0x3ce662&&(_0x1f2c15=_0x387052%0x4?_0x1f2c15*0x40+_0x3ce662:_0x3ce662,_0x387052++%0x4)?_0x1bb815+=String['fromCharCode'](0xff&_0x1f2c15>>(-0x2*_0x387052&0x6)):0x0){_0x3ce662=_0x4cbdf3['indexOf'](_0x3ce662);}for(var _0x2c959e=0x0,_0x5d2ae1=_0x1bb815['length'];_0x2c959e<_0x5d2ae1;_0x2c959e++){_0x1523c2+='%'+('00'+_0x1bb815['charCodeAt'](_0x2c959e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1523c2);};a0_0x554e['XywOov']=_0x51a8d4,a0_0x554e['ZyZUGR']={},a0_0x554e['ClEwAL']=!![];}var _0x32f9a0=_0x1cfe9d[0x0],_0x5744ca=_0x3b7b39+_0x32f9a0,_0x2ec401=a0_0x554e['ZyZUGR'][_0x5744ca];return!_0x2ec401?(_0x554e8e=a0_0x554e['XywOov'](_0x554e8e),a0_0x554e['ZyZUGR'][_0x5744ca]=_0x554e8e):_0x554e8e=_0x2ec401,_0x554e8e;}module[a0_0x126197(0x156)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x5ad5bc=a0_0x3bdf;(function(_0x3bb938,_0x42a99f){const _0x28a5a9=a0_0x3bdf,_0x2c7b96=_0x3bb938();while(!![]){try{const _0x1d67a7=-parseInt(_0x28a5a9(0x1e7))/0x1*(parseInt(_0x28a5a9(0x1e4))/0x2)+parseInt(_0x28a5a9(0x201))/0x3+parseInt(_0x28a5a9(0x1f8))/0x4+-parseInt(_0x28a5a9(0x1ef))/0x5+-parseInt(_0x28a5a9(0x1f9))/0x6+-parseInt(_0x28a5a9(0x1f3))/0x7*(parseInt(_0x28a5a9(0x1f4))/0x8)+parseInt(_0x28a5a9(0x1e5))/0x9*(parseInt(_0x28a5a9(0x1fd))/0xa);if(_0x1d67a7===_0x42a99f)break;else _0x2c7b96['push'](_0x2c7b96['shift']());}catch(_0x52e8ad){_0x2c7b96['push'](_0x2c7b96['shift']());}}}(a0_0x169b,0x2c1c6),require(a0_0x5ad5bc(0x1ed))['config']());const amqp=require('amqplib'),{formatDate}=require(a0_0x5ad5bc(0x1eb)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x5ad5bc(0x1dc)][a0_0x5ad5bc(0x205)],ROUTING_KEY=process[a0_0x5ad5bc(0x1dc)][a0_0x5ad5bc(0x200)],QUEUE=process[a0_0x5ad5bc(0x1dc)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x265785=a0_0x5ad5bc,_0x530f15={'zGhNb':function(_0x4ab602,_0x5159fa){return _0x4ab602(_0x5159fa);},'XMVHt':function(_0x50d0e8,_0x51b93c){return _0x50d0e8(_0x51b93c);}};try{const _0x26cf6b=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x530f15['zGhNb'](formatDate,new Date())+_0x265785(0x1e8)),_0x26cf6b;}catch(_0x4141e3){console[_0x265785(0x202)]('['+_0x530f15['XMVHt'](formatDate,new Date())+_0x265785(0x1e2)+_0x4141e3['message']);throw _0x4141e3;}}async function createChannel(_0x58e613){const _0x630e9=a0_0x5ad5bc;try{const _0x59e79c=await _0x58e613['createChannel']();return console[_0x630e9(0x1ee)]('['+formatDate(new Date())+_0x630e9(0x1f0)),_0x59e79c;}catch(_0x342bd7){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x342bd7[_0x630e9(0x1de)]);throw _0x342bd7;}}function a0_0x3bdf(_0x1a8e74,_0x32dc73){_0x1a8e74=_0x1a8e74-0x1db;const _0x169b6f=a0_0x169b();let _0x3bdfc8=_0x169b6f[_0x1a8e74];if(a0_0x3bdf['DnNZdm']===undefined){var _0x4412f8=function(_0x2eda00){const _0x330900='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c5f3d='',_0x106f6f='';for(let _0x3aac77=0x0,_0x438c4c,_0x27e1d3,_0x400033=0x0;_0x27e1d3=_0x2eda00['charAt'](_0x400033++);~_0x27e1d3&&(_0x438c4c=_0x3aac77%0x4?_0x438c4c*0x40+_0x27e1d3:_0x27e1d3,_0x3aac77++%0x4)?_0x4c5f3d+=String['fromCharCode'](0xff&_0x438c4c>>(-0x2*_0x3aac77&0x6)):0x0){_0x27e1d3=_0x330900['indexOf'](_0x27e1d3);}for(let _0x482e05=0x0,_0x83f757=_0x4c5f3d['length'];_0x482e05<_0x83f757;_0x482e05++){_0x106f6f+='%'+('00'+_0x4c5f3d['charCodeAt'](_0x482e05)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x106f6f);};a0_0x3bdf['wnGLnZ']=_0x4412f8,a0_0x3bdf['AuFcZI']={},a0_0x3bdf['DnNZdm']=!![];}const _0xe93d8a=_0x169b6f[0x0],_0x522f6d=_0x1a8e74+_0xe93d8a,_0xf5f1e7=a0_0x3bdf['AuFcZI'][_0x522f6d];return!_0xf5f1e7?(_0x3bdfc8=a0_0x3bdf['wnGLnZ'](_0x3bdfc8),a0_0x3bdf['AuFcZI'][_0x522f6d]=_0x3bdfc8):_0x3bdfc8=_0xf5f1e7,_0x3bdfc8;}async function setupInfrastructure(_0x4fb2f1){const _0x29ebb3=a0_0x5ad5bc,_0x3e33eb={'wXAKe':function(_0x1ad7a1,_0x466d41){return _0x1ad7a1(_0x466d41);},'TRaYo':function(_0x5df839,_0x272dc6){return _0x5df839(_0x272dc6);},'QNQOF':function(_0x55ef04,_0x193e92){return _0x55ef04(_0x193e92);},'RHuVV':function(_0x2e594f,_0x4bdb76){return _0x2e594f(_0x4bdb76);},'ANeOo':'retry-exchange','eEcNl':_0x29ebb3(0x1e0),'iEDQY':'x-dead-letter-routing-key','JXJOG':'inequivalent\x20arg'};try{await _0x4fb2f1['assertExchange'](_0x29ebb3(0x1f2),_0x29ebb3(0x1f1),{'durable':!![],'autoDelete':![]}),console[_0x29ebb3(0x1ee)]('['+_0x3e33eb['wXAKe'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x2895a0){console['error']('['+_0x3e33eb['TRaYo'](formatDate,new Date())+_0x29ebb3(0x203),_0x2895a0['message']);throw _0x2895a0;}try{await _0x4fb2f1['assertExchange'](EXCHANGE,_0x29ebb3(0x1f1),{'durable':!![],'autoDelete':![]}),console[_0x29ebb3(0x1ee)]('['+_0x3e33eb[_0x29ebb3(0x1db)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x29ebb3(0x1ff));}catch(_0x5582dc){console[_0x29ebb3(0x202)]('['+_0x3e33eb['QNQOF'](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x5582dc[_0x29ebb3(0x1de)]);throw _0x5582dc;}const _0x512c8b=ROUTING_KEY+_0x29ebb3(0x1f7);try{const _0x260872={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x4fb2f1[_0x29ebb3(0x204)](_0x512c8b,_0x260872),console[_0x29ebb3(0x1ee)]('['+_0x3e33eb['RHuVV'](formatDate,new Date())+_0x29ebb3(0x1fe)+_0x512c8b+'\x20created/ready'),await _0x4fb2f1[_0x29ebb3(0x1dd)](_0x512c8b,'retry-exchange',ROUTING_KEY),console[_0x29ebb3(0x1ee)]('['+formatDate(new Date())+_0x29ebb3(0x1e3)+ROUTING_KEY+'\x20created');}catch(_0x29b0c1){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x29b0c1['message']);throw _0x29b0c1;}try{const _0x2b34e4={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3e33eb['ANeOo'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x20776e=await _0x4fb2f1['assertQueue'](QUEUE,_0x2b34e4);console['log']('['+_0x3e33eb['RHuVV'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x20776e['queue']===QUEUE?_0x3e33eb['eEcNl']:'found')+'\x20with\x20DLX'),await _0x4fb2f1['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x29ebb3(0x1ee)]('['+_0x3e33eb['TRaYo'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x29ebb3(0x1ea));}catch(_0x3c7de0){if(_0x3c7de0['message']['includes'](_0x29ebb3(0x1ec))&&_0x3c7de0['message'][_0x29ebb3(0x1fc)](_0x3e33eb['iEDQY']))console['error']('\x0a['+_0x3e33eb[_0x29ebb3(0x1e1)](formatDate,new Date())+_0x29ebb3(0x1e6)+QUEUE+_0x29ebb3(0x1f5)),console['error'](_0x29ebb3(0x1fa)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console[_0x29ebb3(0x202)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x3c7de0['message']);throw _0x3c7de0;}}}catch(_0x16e126){if(!_0x16e126[_0x29ebb3(0x1de)]['includes'](_0x3e33eb[_0x29ebb3(0x1f6)])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x16e126[_0x29ebb3(0x1de)]);throw _0x16e126;}process[_0x29ebb3(0x1fb)](0x1);}}async function closeConnection(_0x2fbf2f){const _0x4b1998=a0_0x5ad5bc,_0x1544c3={'vTWuX':function(_0x5f3360,_0x38cadc){return _0x5f3360(_0x38cadc);}};if(_0x2fbf2f)try{await _0x2fbf2f[_0x4b1998(0x1df)](),console[_0x4b1998(0x1ee)]('['+_0x1544c3['vTWuX'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x40a891){console['error']('['+formatDate(new Date())+_0x4b1998(0x1e9)+_0x40a891['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x169b(){const _0x15e30d=['zgLYzwn0','CMv0CNKTzxHJAgfUz2u','ntqYotLUAuvvyKm','mty4BLzqvND1','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','sLHkt0C','x3jLDhj5','mZi2mZm2wuXKB21c','mtuXmdeWneXOELDkzW','uxvLDwuG','zxHPDa','Aw5JBhvKzxm','mtiXmgTKDgjLra','xsbszxrYEsbXDwv1zsa','ignYzwf0zwqVCMvHzhK','uKfcqKLutvfFuK9vveLor19lrvK','otG0nty3sxPrqwHV','zxjYB3i','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','yxnZzxj0uxvLDwu','uKfcqKLutvfFrvHdsefor0u','D1Hbs2u','zw52','yMLUzff1zxvL','BwvZC2fNzq','y2XVC2u','y3jLyxrLzc9YzwfKEq','uu5rt0y','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','xsbszxrYEsbIAw5KAw5NigzVCIa','mLrVrMLjra','ntK2ndnHBKrvy28','xsbfuLjpuJOGuxvLDwuG','mJG3mZuXyuXeqwze','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','ksbJCMvHDgvK','lI9KyxrLsgvSCgvY','Aw5LCxvPDMfSzw50igfYzW','zg90zw52','Bg9N','mty0nte1mhrtyuXnwq','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5'];a0_0x169b=function(){return _0x15e30d;};return a0_0x169b();}
1
+ const a0_0x2e822a=a0_0x1a11;(function(_0x5b7ac5,_0x34034b){const _0x432377=a0_0x1a11,_0x13e41c=_0x5b7ac5();while(!![]){try{const _0x2ef07f=parseInt(_0x432377(0xc7))/0x1+-parseInt(_0x432377(0xda))/0x2+parseInt(_0x432377(0xd9))/0x3*(parseInt(_0x432377(0xdc))/0x4)+parseInt(_0x432377(0xc4))/0x5+parseInt(_0x432377(0xac))/0x6+-parseInt(_0x432377(0xd1))/0x7+parseInt(_0x432377(0xbd))/0x8*(-parseInt(_0x432377(0xcd))/0x9);if(_0x2ef07f===_0x34034b)break;else _0x13e41c['push'](_0x13e41c['shift']());}catch(_0x3e6ac2){_0x13e41c['push'](_0x13e41c['shift']());}}}(a0_0x2e64,0x98b21),require(a0_0x2e822a(0xdd))['config']());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x2e822a(0xd3)]['RABBITMQ_URL'],EXCHANGE=process[a0_0x2e822a(0xd3)][a0_0x2e822a(0xb8)],ROUTING_KEY=process[a0_0x2e822a(0xd3)]['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x2e822a(0xc0)];async function createConnection(){const _0xdf4d41=a0_0x2e822a,_0x174c35={'dLxMg':function(_0x44e248,_0x4c1538){return _0x44e248(_0x4c1538);}};try{const _0x13335e=await amqp[_0xdf4d41(0xc2)](RABBITMQ_URL);return console['log']('['+_0x174c35['dLxMg'](formatDate,new Date())+_0xdf4d41(0xbe)),_0x13335e;}catch(_0x23223c){console[_0xdf4d41(0xc9)]('['+_0x174c35[_0xdf4d41(0xab)](formatDate,new Date())+_0xdf4d41(0xbb)+_0x23223c['message']);throw _0x23223c;}}function a0_0x2e64(){const _0x29eb59=['y2XVC2u','EMXTzNe','z1HNAxi','Bg9N','mZK5m2H3zxDPsq','mJq1mdqYofLVsK52wG','y3jLyxrLzc9YzwfKEq','mJC3mNjOy21IsG','zg90zw52','sfrRzue','D2vfy20','yMLUzff1zxvL','zeX4twC','nJu1ndGXnfHVBM9jCG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','Aw5LCxvPDMfSzw50igfYzW','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','y3jLyxrLq2HHBM5LBa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','yxnZzxj0uxvLDwu','BwvZC2fNzq','rvzKv2O','Aw5JBhvKzxm','ihDPDgGGreXy','uKfcqKLutvfFrvHdsefor0u','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','yvvTruG','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','xsbfuLjpuJOGuxvLDwuG','ohLxqvDduW','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbrDwv1zsa','uKfcqKLutvfFuvvfvuu','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','y29UBMvJDa','ignYzwf0zwqVCMvHzhK','mZiYotaZmg5vvMjcqG','CMv0CNKTzxHJAgfUz2u','xsbfEgnOyw5Nzsa','ndeZmtmWqNrpsMrW','rffNu1a','zxjYB3i','BKDfvgS','zxHPDa','zgLYzwn0','odGXotm2mw5rswv4Dq','rgP4uuu','x3jLDhj5','uxvLDwuG','mtCWmJqYohrswvrTza','yxnZzxj0rxHJAgfUz2u','zw52','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5'];a0_0x2e64=function(){return _0x29eb59;};return a0_0x2e64();}async function createChannel(_0x5a7cfd){const _0x537fbe=a0_0x2e822a,_0xeba9b0={'nGETk':function(_0x387883,_0x4c258e){return _0x387883(_0x4c258e);}};try{const _0x570531=await _0x5a7cfd[_0x537fbe(0xb1)]();return console[_0x537fbe(0xd8)]('['+formatDate(new Date())+_0x537fbe(0xd4)),_0x570531;}catch(_0x50fe89){console[_0x537fbe(0xc9)]('['+_0xeba9b0[_0x537fbe(0xca)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x50fe89['message']);throw _0x50fe89;}}function a0_0x1a11(_0x59ddc4,_0xd12d8a){_0x59ddc4=_0x59ddc4-0xab;const _0x2e644f=a0_0x2e64();let _0x1a1129=_0x2e644f[_0x59ddc4];if(a0_0x1a11['qMJhmf']===undefined){var _0x29c3ec=function(_0x3680a6){const _0x31185d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x190cc3='',_0x393d12='';for(let _0x218375=0x0,_0x4815a0,_0x13e08e,_0x5e97f5=0x0;_0x13e08e=_0x3680a6['charAt'](_0x5e97f5++);~_0x13e08e&&(_0x4815a0=_0x218375%0x4?_0x4815a0*0x40+_0x13e08e:_0x13e08e,_0x218375++%0x4)?_0x190cc3+=String['fromCharCode'](0xff&_0x4815a0>>(-0x2*_0x218375&0x6)):0x0){_0x13e08e=_0x31185d['indexOf'](_0x13e08e);}for(let _0x57672d=0x0,_0x2078a2=_0x190cc3['length'];_0x57672d<_0x2078a2;_0x57672d++){_0x393d12+='%'+('00'+_0x190cc3['charCodeAt'](_0x57672d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x393d12);};a0_0x1a11['AbQNto']=_0x29c3ec,a0_0x1a11['xXoSEJ']={},a0_0x1a11['qMJhmf']=!![];}const _0x1b7eed=_0x2e644f[0x0],_0x413dc5=_0x59ddc4+_0x1b7eed,_0x1ab91b=a0_0x1a11['xXoSEJ'][_0x413dc5];return!_0x1ab91b?(_0x1a1129=a0_0x1a11['AbQNto'](_0x1a1129),a0_0x1a11['xXoSEJ'][_0x413dc5]=_0x1a1129):_0x1a1129=_0x1ab91b,_0x1a1129;}async function setupInfrastructure(_0x335973){const _0x15a2eb=a0_0x2e822a,_0x3be94b={'aUmEH':_0x15a2eb(0xc5),'EVdWj':function(_0x180644,_0xd64421){return _0x180644(_0xd64421);},'gXgir':_0x15a2eb(0xcc),'zlmfq':function(_0x39f047,_0x2c2d9b){return _0x39f047(_0x2c2d9b);},'DQgSP':function(_0x37f870,_0x2528a2){return _0x37f870(_0x2528a2);},'JLFXs':function(_0x4f69c7,_0x517e06){return _0x4f69c7(_0x517e06);},'HTkeA':function(_0x40b7d7,_0x66dfc8){return _0x40b7d7===_0x66dfc8;},'DIsDk':_0x15a2eb(0xdb),'uyVuX':'found','IvGHQ':function(_0x39cb94,_0x380c35){return _0x39cb94(_0x380c35);},'cEnyN':_0x15a2eb(0xaf),'tXKSF':'x-dead-letter-routing-key','DjxQE':function(_0x777d67,_0x56f70f){return _0x777d67(_0x56f70f);},'CAboI':function(_0xfb76a1,_0x139de3){return _0xfb76a1(_0x139de3);},'XGfGJ':function(_0x38ca38,_0x2c1b15){return _0x38ca38(_0x2c1b15);}};try{await _0x335973['assertExchange'](_0x3be94b['aUmEH'],_0x15a2eb(0xcc),{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3be94b[_0x15a2eb(0xb5)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x338afd){console['error']('['+formatDate(new Date())+_0x15a2eb(0xae),_0x338afd['message']);throw _0x338afd;}try{await _0x335973[_0x15a2eb(0xd2)](EXCHANGE,_0x3be94b[_0x15a2eb(0xd7)],{'durable':!![],'autoDelete':![]}),console[_0x15a2eb(0xd8)]('['+_0x3be94b[_0x15a2eb(0xd6)](formatDate,new Date())+_0x15a2eb(0xc6)+EXCHANGE+'\x20created/ready');}catch(_0x1d5bf5){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1d5bf5['message']);throw _0x1d5bf5;}const _0x53cec5=ROUTING_KEY+_0x15a2eb(0xcf);try{const _0x2ebfc1={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x335973[_0x15a2eb(0xb3)](_0x53cec5,_0x2ebfc1),console['log']('['+_0x3be94b[_0x15a2eb(0xc8)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x53cec5+_0x15a2eb(0xc3)),await _0x335973[_0x15a2eb(0xe0)](_0x53cec5,_0x3be94b[_0x15a2eb(0xba)],ROUTING_KEY),console[_0x15a2eb(0xd8)]('['+_0x3be94b['JLFXs'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x116115){console['error']('['+_0x3be94b['EVdWj'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x116115['message']);throw _0x116115;}try{const _0xc6de10={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3be94b['aUmEH'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x550206=await _0x335973[_0x15a2eb(0xb3)](QUEUE,_0xc6de10);console['log']('['+formatDate(new Date())+_0x15a2eb(0xbf)+QUEUE+'\x20'+(_0x3be94b[_0x15a2eb(0xde)](_0x550206['queue'],QUEUE)?_0x3be94b['DIsDk']:_0x3be94b['uyVuX'])+_0x15a2eb(0xb7)),await _0x335973['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x3be94b['IvGHQ'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x43c80e){if(_0x43c80e['message']['includes'](_0x3be94b['cEnyN'])&&_0x43c80e['message'][_0x15a2eb(0xb6)](_0x3be94b['tXKSF']))console[_0x15a2eb(0xc9)]('\x0a['+_0x3be94b[_0x15a2eb(0xce)](formatDate,new Date())+_0x15a2eb(0xbc)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x15a2eb(0xc9)](_0x15a2eb(0xd0)+QUEUE+_0x15a2eb(0xad)),console['error'](_0x15a2eb(0xb9)),process['exit'](0x1);else{console['error']('['+_0x3be94b['CAboI'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x43c80e['message']);throw _0x43c80e;}}}catch(_0x1b4da7){if(!_0x1b4da7[_0x15a2eb(0xb4)]['includes']('inequivalent\x20arg')){console[_0x15a2eb(0xc9)]('['+_0x3be94b['XGfGJ'](formatDate,new Date())+_0x15a2eb(0xb2),_0x1b4da7['message']);throw _0x1b4da7;}process[_0x15a2eb(0xcb)](0x1);}}async function closeConnection(_0x13745a){const _0x5c5ad5=a0_0x2e822a,_0x19144e={'weEcm':function(_0x16a192,_0x5efc7e){return _0x16a192(_0x5efc7e);}};if(_0x13745a)try{await _0x13745a[_0x5c5ad5(0xd5)](),console['log']('['+_0x19144e[_0x5c5ad5(0xdf)](formatDate,new Date())+_0x5c5ad5(0xc1));}catch(_0x508a15){console[_0x5c5ad5(0xc9)]('['+formatDate(new Date())+_0x5c5ad5(0xb0)+_0x508a15[_0x5c5ad5(0xb4)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- function a0_0x25b3(){const _0x4370fa=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','otGYntKWm1LoEhHmDq','y2XVC2u','zxjYB3i','CMvKAxnFAw5PDf9LCNjVCG','AxndB25Uzwn0zwq','rLjAExG','uMvKAxmGueLorYb0Aw1LB3v0','nKjwv3vNEq','y29UBMvJDa','z2v0q2XPzw50','zxHWB3j0CW','y2XPzw50','uKvesvnFueftu1DpuKq','m09eqxrQyG','y1zNvMi','mJu4nZq1ntbvvhr1Dhy','mZe0nJC0tgT1D1Dm','CMvKAxnFzgLZy29UBMvJDgvK','BwvZC2fNzq','uKvesvnFrei','uKvesvnFue9sva','lI9SB2DNzxi','ody3odC0ugTvvMfJ','tKjUsuO','nJy0nZe2mhHMr250zG','CgLUzW','nufvwu5TsW','CMfJzq','mtaZntKZn0jIwwnzza','mJKWndiXmKTeCfjzrG'];a0_0x25b3=function(){return _0x4370fa;};return a0_0x25b3();}const a0_0x15f1cb=a0_0x4fdc;function a0_0x4fdc(_0x2eef4f,_0xaacd2e){_0x2eef4f=_0x2eef4f-0x1ea;const _0x25b3a9=a0_0x25b3();let _0x4fdcb7=_0x25b3a9[_0x2eef4f];if(a0_0x4fdc['YJSioE']===undefined){var _0x1ca4e9=function(_0x1c248b){const _0x5f37b0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4efcf4='',_0x217864='';for(let _0xd8ff75=0x0,_0x104613,_0x481463,_0xeadc3a=0x0;_0x481463=_0x1c248b['charAt'](_0xeadc3a++);~_0x481463&&(_0x104613=_0xd8ff75%0x4?_0x104613*0x40+_0x481463:_0x481463,_0xd8ff75++%0x4)?_0x4efcf4+=String['fromCharCode'](0xff&_0x104613>>(-0x2*_0xd8ff75&0x6)):0x0){_0x481463=_0x5f37b0['indexOf'](_0x481463);}for(let _0x473bfd=0x0,_0x360c78=_0x4efcf4['length'];_0x473bfd<_0x360c78;_0x473bfd++){_0x217864+='%'+('00'+_0x4efcf4['charCodeAt'](_0x473bfd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x217864);};a0_0x4fdc['nkBjei']=_0x1ca4e9,a0_0x4fdc['IMRyyA']={},a0_0x4fdc['YJSioE']=!![];}const _0x18a731=_0x25b3a9[0x0],_0xa4de9=_0x2eef4f+_0x18a731,_0x9d2656=a0_0x4fdc['IMRyyA'][_0xa4de9];return!_0x9d2656?(_0x4fdcb7=a0_0x4fdc['nkBjei'](_0x4fdcb7),a0_0x4fdc['IMRyyA'][_0xa4de9]=_0x4fdcb7):_0x4fdcb7=_0x9d2656,_0x4fdcb7;}(function(_0x52aefe,_0x1b06eb){const _0x4b7e5c=a0_0x4fdc,_0x37e538=_0x52aefe();while(!![]){try{const _0x403dc3=-parseInt(_0x4b7e5c(0x204))/0x1+parseInt(_0x4b7e5c(0x1f8))/0x2*(parseInt(_0x4b7e5c(0x1f5))/0x3)+-parseInt(_0x4b7e5c(0x205))/0x4*(parseInt(_0x4b7e5c(0x202))/0x5)+-parseInt(_0x4b7e5c(0x1ef))/0x6*(parseInt(_0x4b7e5c(0x1fe))/0x7)+parseInt(_0x4b7e5c(0x200))/0x8+-parseInt(_0x4b7e5c(0x207))/0x9+parseInt(_0x4b7e5c(0x1f7))/0xa;if(_0x403dc3===_0x1b06eb)break;else _0x37e538['push'](_0x37e538['shift']());}catch(_0x2e2065){_0x37e538['push'](_0x37e538['shift']());}}}(a0_0x25b3,0x91fbc));const Redis=require('ioredis'),{logger}=require(a0_0x15f1cb(0x1fd));class RedisClient{constructor(){const _0x16a711=a0_0x15f1cb;this[_0x16a711(0x1f3)]=null,this['isConnected']=![];}['connect'](){const _0x1853e8=a0_0x15f1cb,_0x1baffb={'FRZyx':'Redis\x20connected\x20successfully','cVgVb':'redis_error','TWvJi':_0x1853e8(0x1f9),'ssTgV':function(_0x542c03,_0xa5cb65,_0x556568){return _0x542c03(_0xa5cb65,_0x556568);},'zRgWM':function(_0x3491be,_0x287b4c,_0x3fee5f){return _0x3491be(_0x287b4c,_0x3fee5f);},'hgHuN':_0x1853e8(0x208),'NBnIJ':_0x1853e8(0x1eb),'uvaLF':_0x1853e8(0x206)};if(this[_0x1853e8(0x1f3)])return this['client'];try{return this[_0x1853e8(0x1f3)]=new Redis({'host':process['env']['REDIS_HOST']||'localhost','port':_0x1baffb['ssTgV'](parseInt,process['env'][_0x1853e8(0x1fc)],0xa)||0x18ec,'password':process['env'][_0x1853e8(0x1f4)]||undefined,'db':_0x1baffb['zRgWM'](parseInt,process['env'][_0x1853e8(0x1fb)],0xa)||0x0,'retryStrategy'(_0x15c56d){const _0xfd8fb2=Math['min'](_0x15c56d*0x32,0x7d0);return _0xfd8fb2;}}),this[_0x1853e8(0x1f3)]['on']('connect',()=>{const _0x4f753a=_0x1853e8;this['isConnected']=!![],logger['info']({'event':'redis_connected'},_0x1baffb[_0x4f753a(0x1ed)]);}),this[_0x1853e8(0x1f3)]['on'](_0x1853e8(0x1ea),_0x532479=>{const _0x33a9ec=_0x1853e8;this[_0x33a9ec(0x1ec)]=![],logger[_0x33a9ec(0x1ea)]({'event':_0x1baffb[_0x33a9ec(0x1f6)],'error':_0x532479['message']},'Redis\x20connection\x20error:\x20'+_0x532479['message']);}),this[_0x1853e8(0x1f3)]['on'](_0x1baffb['hgHuN'],()=>{this['isConnected']=![],logger['warn']({'event':_0x1baffb['TWvJi']},'Redis\x20connection\x20closed');}),this[_0x1853e8(0x1f3)];}catch(_0x18bd30){logger[_0x1853e8(0x1ea)]({'event':_0x1baffb[_0x1853e8(0x1ff)],'error':_0x18bd30[_0x1853e8(0x1fa)]},_0x1baffb['uvaLF']);throw _0x18bd30;}}[a0_0x15f1cb(0x1f1)](){const _0x18f196=a0_0x15f1cb;return!this[_0x18f196(0x1f3)]&&this[_0x18f196(0x1f0)](),this[_0x18f196(0x1f3)];}async[a0_0x15f1cb(0x201)](_0x24a6ff=0x1388){const _0x523d98=a0_0x15f1cb,_0x501508={'SgmXm':'PONG'};try{const _0x54b119=this['getClient'](),_0x48e711=await Promise[_0x523d98(0x203)]([_0x54b119[_0x523d98(0x201)](),new Promise((_0x114dde,_0x5652bd)=>setTimeout(()=>_0x5652bd(new Error(_0x523d98(0x1ee))),_0x24a6ff))]);return _0x48e711===_0x501508['SgmXm'];}catch(_0x532059){return![];}}async['disconnect'](){const _0xb798b7=a0_0x15f1cb;this[_0xb798b7(0x1f3)]&&(await this[_0xb798b7(0x1f3)]['quit'](),this[_0xb798b7(0x1f3)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x808e6e=a0_0x15f1cb;this[_0x808e6e(0x1f3)]&&(this[_0x808e6e(0x1f3)]['disconnect'](),this['client']=null,this[_0x808e6e(0x1ec)]=![]);}}module[a0_0x15f1cb(0x1f2)]=new RedisClient();
1
+ const a0_0x2a1ea4=a0_0x519a;function a0_0x5b3f(){const _0x17b29b=['BwvZC2fNzq','mtq2odmYoe96y2D1tW','z2v0q2XPzw50','zgLZy29UBMvJDa','mJq4mdKWmeTsteLoDW','uMvKAxmGueLorYb0Aw1LB3v0','uKvesvnFse9tva','y29UBMvJDa','y2XPzw50','CxvPDa','wwTsq28','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','mZGYnty4DujWEg1s','lI9SB2DNzxi','zxHWB3j0CW','nJy0mZaZmKDMCxrAuq','AxndB25Uzwn0zwq','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','Aw5MBW','nZe4nZi0rxP3rvD6','CMvKAxnFzxjYB3i','CMfJzq','zxjYB3i','zw52','mtKYodK3oxnfvxvPwa','Bg9JywXOB3n0','nZbzB0nYrhG','nJiZu1zuwhP4','CMvKAxnFy29UBMvJDgvK','CMvKAxnFzgLZy29UBMvJDgvK','nLz2vevczG','zhP4DKu','sgXky3q','mJi4odHpyLrqs0S'];a0_0x5b3f=function(){return _0x17b29b;};return a0_0x5b3f();}(function(_0x3beb13,_0x170e2b){const _0x103d97=a0_0x519a,_0x5bb12a=_0x3beb13();while(!![]){try{const _0x214f6d=parseInt(_0x103d97(0x1a8))/0x1+parseInt(_0x103d97(0x1af))/0x2*(parseInt(_0x103d97(0x198))/0x3)+-parseInt(_0x103d97(0x19d))/0x4+parseInt(_0x103d97(0x1a0))/0x5+parseInt(_0x103d97(0x1ab))/0x6+-parseInt(_0x103d97(0x195))/0x7*(parseInt(_0x103d97(0x19b))/0x8)+parseInt(_0x103d97(0x1b4))/0x9*(-parseInt(_0x103d97(0x194))/0xa);if(_0x214f6d===_0x170e2b)break;else _0x5bb12a['push'](_0x5bb12a['shift']());}catch(_0x19a384){_0x5bb12a['push'](_0x5bb12a['shift']());}}}(a0_0x5b3f,0x8e3d8));const Redis=require('ioredis'),{logger}=require(a0_0x2a1ea4(0x1a9));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x2a1ea4(0x1a3)](){const _0x261756=a0_0x2a1ea4,_0x22e4fb={'ppqgn':function(_0x171737,_0xb30d19){return _0x171737*_0xb30d19;},'dzxvE':_0x261756(0x196),'HlJct':_0x261756(0x1a7),'wWSUd':function(_0x398b09,_0x4da266,_0x24df65){return _0x398b09(_0x4da266,_0x24df65);},'YkRCo':function(_0x1a1eb1,_0x2b5718,_0x4d4aab){return _0x1a1eb1(_0x2b5718,_0x4d4aab);},'UABzb':'close'};if(this['client'])return this[_0x261756(0x1a4)];try{return this['client']=new Redis({'host':process[_0x261756(0x1b3)][_0x261756(0x1a2)]||_0x261756(0x1b5),'port':_0x22e4fb['wWSUd'](parseInt,process[_0x261756(0x1b3)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x22e4fb[_0x261756(0x1a6)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x5ef635){const _0x31b065=Math['min'](_0x22e4fb['ppqgn'](_0x5ef635,0x32),0x7d0);return _0x31b065;}}),this['client']['on'](_0x261756(0x1a3),()=>{const _0x4ef5f0=_0x261756;this['isConnected']=!![],logger[_0x4ef5f0(0x1ae)]({'event':_0x22e4fb[_0x4ef5f0(0x199)]},'Redis\x20connected\x20successfully');}),this['client']['on'](_0x261756(0x1b2),_0x31a23c=>{const _0x48d248=_0x261756;this['isConnected']=![],logger[_0x48d248(0x1b2)]({'event':_0x48d248(0x1b0),'error':_0x31a23c[_0x48d248(0x19c)]},_0x48d248(0x1ad)+_0x31a23c[_0x48d248(0x19c)]);}),this['client']['on'](_0x22e4fb['UABzb'],()=>{const _0x55aa87=_0x261756;this['isConnected']=![],logger['warn']({'event':_0x55aa87(0x197)},_0x22e4fb[_0x55aa87(0x19a)]);}),this[_0x261756(0x1a4)];}catch(_0x238743){logger[_0x261756(0x1b2)]({'event':'redis_init_error','error':_0x238743['message']},'Failed\x20to\x20initialize\x20Redis');throw _0x238743;}}[a0_0x2a1ea4(0x19e)](){return!this['client']&&this['connect'](),this['client'];}async['ping'](_0x228a9f=0x1388){const _0x4cf6e2=a0_0x2a1ea4,_0xad50e6={'hwqpC':function(_0x16cdb6,_0x16d63e){return _0x16cdb6===_0x16d63e;}};try{const _0x3192af=this[_0x4cf6e2(0x19e)](),_0x51a4ba=await Promise[_0x4cf6e2(0x1b1)]([_0x3192af['ping'](),new Promise((_0x27d0d3,_0x615202)=>setTimeout(()=>_0x615202(new Error(_0x4cf6e2(0x1a1))),_0x228a9f))]);return _0xad50e6['hwqpC'](_0x51a4ba,'PONG');}catch(_0x473fd5){return![];}}async[a0_0x2a1ea4(0x19f)](){const _0x51000b=a0_0x2a1ea4;this['client']&&(await this['client'][_0x51000b(0x1a5)](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x7e1ef0=a0_0x2a1ea4;this['client']&&(this[_0x7e1ef0(0x1a4)][_0x7e1ef0(0x19f)](),this['client']=null,this[_0x7e1ef0(0x1ac)]=![]);}}function a0_0x519a(_0x567d6e,_0x53a6d5){_0x567d6e=_0x567d6e-0x194;const _0x5b3f93=a0_0x5b3f();let _0x519a2e=_0x5b3f93[_0x567d6e];if(a0_0x519a['CSktoH']===undefined){var _0x35ba12=function(_0x1cf531){const _0x1476ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6c8c0f='',_0x498318='';for(let _0x3b7d07=0x0,_0x11ed20,_0x417612,_0x3fae9b=0x0;_0x417612=_0x1cf531['charAt'](_0x3fae9b++);~_0x417612&&(_0x11ed20=_0x3b7d07%0x4?_0x11ed20*0x40+_0x417612:_0x417612,_0x3b7d07++%0x4)?_0x6c8c0f+=String['fromCharCode'](0xff&_0x11ed20>>(-0x2*_0x3b7d07&0x6)):0x0){_0x417612=_0x1476ff['indexOf'](_0x417612);}for(let _0x398813=0x0,_0x4f14f2=_0x6c8c0f['length'];_0x398813<_0x4f14f2;_0x398813++){_0x498318+='%'+('00'+_0x6c8c0f['charCodeAt'](_0x398813)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x498318);};a0_0x519a['AyHlOF']=_0x35ba12,a0_0x519a['UsOfnC']={},a0_0x519a['CSktoH']=!![];}const _0x7258af=_0x5b3f93[0x0],_0x596bba=_0x567d6e+_0x7258af,_0x320ad8=a0_0x519a['UsOfnC'][_0x596bba];return!_0x320ad8?(_0x519a2e=a0_0x519a['AyHlOF'](_0x519a2e),a0_0x519a['UsOfnC'][_0x596bba]=_0x519a2e):_0x519a2e=_0x320ad8,_0x519a2e;}module[a0_0x2a1ea4(0x1aa)]=new RedisClient();
@@ -1 +1 @@
1
- function a0_0x5abe(_0x193bd0,_0xe866b3){_0x193bd0=_0x193bd0-0x1b2;const _0x2f3610=a0_0x2f36();let _0x5abe77=_0x2f3610[_0x193bd0];if(a0_0x5abe['UDWkLg']===undefined){var _0xa55829=function(_0x4f014b){const _0x55b8dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c2c10='',_0x642cc6='';for(let _0x47ed04=0x0,_0xc504d2,_0xc83849,_0x1270a3=0x0;_0xc83849=_0x4f014b['charAt'](_0x1270a3++);~_0xc83849&&(_0xc504d2=_0x47ed04%0x4?_0xc504d2*0x40+_0xc83849:_0xc83849,_0x47ed04++%0x4)?_0x2c2c10+=String['fromCharCode'](0xff&_0xc504d2>>(-0x2*_0x47ed04&0x6)):0x0){_0xc83849=_0x55b8dd['indexOf'](_0xc83849);}for(let _0x4f3849=0x0,_0x245252=_0x2c2c10['length'];_0x4f3849<_0x245252;_0x4f3849++){_0x642cc6+='%'+('00'+_0x2c2c10['charCodeAt'](_0x4f3849)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x642cc6);};a0_0x5abe['vlnlid']=_0xa55829,a0_0x5abe['FVMSNA']={},a0_0x5abe['UDWkLg']=!![];}const _0x5cc66f=_0x2f3610[0x0],_0x14c710=_0x193bd0+_0x5cc66f,_0xf0a3ff=a0_0x5abe['FVMSNA'][_0x14c710];return!_0xf0a3ff?(_0x5abe77=a0_0x5abe['vlnlid'](_0x5abe77),a0_0x5abe['FVMSNA'][_0x14c710]=_0x5abe77):_0x5abe77=_0xf0a3ff,_0x5abe77;}const a0_0xfadea8=a0_0x5abe;(function(_0x17fa4b,_0xd2823a){const _0x6b52fd=a0_0x5abe,_0x490b70=_0x17fa4b();while(!![]){try{const _0x32023d=parseInt(_0x6b52fd(0x1c1))/0x1+-parseInt(_0x6b52fd(0x1ce))/0x2*(parseInt(_0x6b52fd(0x1ca))/0x3)+-parseInt(_0x6b52fd(0x1c3))/0x4*(parseInt(_0x6b52fd(0x1cd))/0x5)+-parseInt(_0x6b52fd(0x1b6))/0x6*(-parseInt(_0x6b52fd(0x1c7))/0x7)+parseInt(_0x6b52fd(0x1c0))/0x8*(parseInt(_0x6b52fd(0x1bb))/0x9)+-parseInt(_0x6b52fd(0x1c8))/0xa+parseInt(_0x6b52fd(0x1b4))/0xb*(parseInt(_0x6b52fd(0x1b8))/0xc);if(_0x32023d===_0xd2823a)break;else _0x490b70['push'](_0x490b70['shift']());}catch(_0x116810){_0x490b70['push'](_0x490b70['shift']());}}}(a0_0x2f36,0x5392d));const redisClient=require(a0_0xfadea8(0x1bf)),{logger}=require(a0_0xfadea8(0x1cc));class RedisHelper{constructor(){const _0x442798=a0_0xfadea8;this[_0x442798(0x1d0)]=null,this[_0x442798(0x1c5)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x53bced=a0_0xfadea8;if(!this['_prefix']){const _0x116a83=process['env']['RESTFORGE_PROJECT_NAME']||_0x53bced(0x1be);this['_prefix']='restforge:'+_0x116a83+':export:';}return this['_prefix'];}async[a0_0xfadea8(0x1b2)](_0x3c5f5f,_0x1e79c8){const _0x3196c2=a0_0xfadea8;try{const _0x361f6c=redisClient[_0x3196c2(0x1c4)](),_0x425287=''+this['prefix']+_0x3c5f5f;return await _0x361f6c['setex'](_0x425287,this['ttl'],JSON['stringify'](_0x1e79c8)),!![];}catch(_0x168f58){return logger[_0x3196c2(0x1bc)]({'event':_0x3196c2(0x1c6),'jobId':_0x3c5f5f,'error':_0x168f58[_0x3196c2(0x1ba)]},_0x3196c2(0x1b7)),![];}}async['getJob'](_0x1c5a8f){const _0x4aaef0=a0_0xfadea8,_0x23cd4f={'ddVXb':'redis_get_error','DEyiZ':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x13acd2=redisClient[_0x4aaef0(0x1c4)](),_0x4eaa1b=''+this['prefix']+_0x1c5a8f,_0x3393b8=await _0x13acd2[_0x4aaef0(0x1b9)](_0x4eaa1b);return _0x3393b8?JSON[_0x4aaef0(0x1c9)](_0x3393b8):null;}catch(_0xc82463){return logger['error']({'event':_0x23cd4f['ddVXb'],'jobId':_0x1c5a8f,'error':_0xc82463[_0x4aaef0(0x1ba)]},_0x23cd4f[_0x4aaef0(0x1b5)]),null;}}async['updateJob'](_0x1c1440,_0x4624a){const _0x115b17=a0_0xfadea8,_0x4c58c6=await this['getJob'](_0x1c1440);if(!_0x4c58c6)return![];const _0x18a341={..._0x4c58c6,..._0x4624a};return await this[_0x115b17(0x1b2)](_0x1c1440,_0x18a341);}async['deleteJob'](_0x278621){const _0xb6fb9=a0_0xfadea8;try{const _0x2a0be1=redisClient['getClient'](),_0x3a7af4=''+this['prefix']+_0x278621;return await _0x2a0be1[_0xb6fb9(0x1cb)](_0x3a7af4),!![];}catch(_0x3d994a){return logger['error']({'event':'redis_delete_error','jobId':_0x278621,'error':_0x3d994a[_0xb6fb9(0x1ba)]},_0xb6fb9(0x1cf)),![];}}async['getAllJobs'](){const _0x422d58=a0_0xfadea8,_0x330aac={'QufBO':_0x422d58(0x1bd)};try{const _0x211929=redisClient['getClient'](),_0xd004f1=await _0x211929['keys'](this[_0x422d58(0x1b3)]+'*'),_0x1c52cb=[];for(const _0x346678 of _0xd004f1){const _0xb7ae5c=await _0x211929['get'](_0x346678);_0xb7ae5c&&_0x1c52cb['push'](JSON[_0x422d58(0x1c9)](_0xb7ae5c));}return _0x1c52cb;}catch(_0x185362){return logger['error']({'event':_0x330aac['QufBO'],'error':_0x185362[_0x422d58(0x1ba)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}function a0_0x2f36(){const _0xa32239=['mNzIBhHXEG','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','x3bYzwzPEa','C2v0sM9I','ChjLzML4','nZmXodnAy296Cxu','rev5AvO','nduZmeHsvhHkuq','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','nJG0rKDiyw1W','z2v0','BwvZC2fNzq','mtmXngHxtgriBG','zxjYB3i','CMvKAxnFz2v0ywXSx2vYCM9Y','zgvMyxvSDa','lI9YzwrPCY1JBgLLBNq','odiYnfbrA1zOBq','nJy4otG1qwDmELvh','zxHWB3j0CW','nJi3nKj1we5Wza','z2v0q2XPzw50','DhrS','CMvKAxnFC2v0x2vYCM9Y','mZe0m0PYqw5svG','nJuWmtmYmezjtgvntG','CgfYC2u','mtm0nZm5m0PiBNvJCq','zgvS','lI9SB2DNzxi','mZa1BejsEvrI'];a0_0x2f36=function(){return _0xa32239;};return a0_0x2f36();}module[a0_0xfadea8(0x1c2)]=new RedisHelper();
1
+ function a0_0x4061(_0x4aec5b,_0x593c72){_0x4aec5b=_0x4aec5b-0x14d;const _0x11febd=a0_0x11fe();let _0x4061e3=_0x11febd[_0x4aec5b];if(a0_0x4061['nvSvcY']===undefined){var _0xc69a62=function(_0x577f7d){const _0x1efd03='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54d478='',_0x50eb37='';for(let _0x365615=0x0,_0x188dce,_0x31e7cc,_0x99fe9e=0x0;_0x31e7cc=_0x577f7d['charAt'](_0x99fe9e++);~_0x31e7cc&&(_0x188dce=_0x365615%0x4?_0x188dce*0x40+_0x31e7cc:_0x31e7cc,_0x365615++%0x4)?_0x54d478+=String['fromCharCode'](0xff&_0x188dce>>(-0x2*_0x365615&0x6)):0x0){_0x31e7cc=_0x1efd03['indexOf'](_0x31e7cc);}for(let _0x2162f7=0x0,_0x24a300=_0x54d478['length'];_0x2162f7<_0x24a300;_0x2162f7++){_0x50eb37+='%'+('00'+_0x54d478['charCodeAt'](_0x2162f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50eb37);};a0_0x4061['nDfmfn']=_0xc69a62,a0_0x4061['gSZzsr']={},a0_0x4061['nvSvcY']=!![];}const _0x45987c=_0x11febd[0x0],_0x13f219=_0x4aec5b+_0x45987c,_0x33a2f8=a0_0x4061['gSZzsr'][_0x13f219];return!_0x33a2f8?(_0x4061e3=a0_0x4061['nDfmfn'](_0x4061e3),a0_0x4061['gSZzsr'][_0x13f219]=_0x4061e3):_0x4061e3=_0x33a2f8,_0x4061e3;}function a0_0x11fe(){const _0x3b7e68=['mtyXmZq2sxzezMTA','q0LnExO','mtvvDgTgv0y','CgfYC2u','nZq2mda5vuznANHI','mtyXmZbXtg5LEfa','zw52','z2v0sM9I','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','zgvS','mJq3mdrdwfvNCKG','BwvZC2fNzq','CMvKAxnFz2v0ywXSx2vYCM9Y','ChjLzML4','mtj4CMviEva','nJy0otqWrujxrMvc','C2v0sM9I','zgvMyxvSDa','mtnqy2P0zeq','mJe1oti0oePtueDzDq','nufHuMjOza','nZjAthzKswO','zxjYB3i','C3rYAw5NAwz5','m2zpyxrZDa','z2v0','lI9SB2DNzxi','mtaYmLjtEhHcva','DhrS','DxbKyxrLsM9I','x3bYzwzPEa','CMvZDgzVCMDLoG','mtu0otC1nJzUuvzQv1K'];a0_0x11fe=function(){return _0x3b7e68;};return a0_0x11fe();}const a0_0x528144=a0_0x4061;(function(_0xe6f172,_0x35414c){const _0x110892=a0_0x4061,_0x28791c=_0xe6f172();while(!![]){try{const _0x2ec614=parseInt(_0x110892(0x156))/0x1*(-parseInt(_0x110892(0x168))/0x2)+parseInt(_0x110892(0x15a))/0x3*(-parseInt(_0x110892(0x155))/0x4)+parseInt(_0x110892(0x165))/0x5*(-parseInt(_0x110892(0x163))/0x6)+-parseInt(_0x110892(0x15d))/0x7*(-parseInt(_0x110892(0x16d))/0x8)+parseInt(_0x110892(0x157))/0x9*(-parseInt(_0x110892(0x151))/0xa)+-parseInt(_0x110892(0x167))/0xb*(parseInt(_0x110892(0x150))/0xc)+-parseInt(_0x110892(0x154))/0xd*(-parseInt(_0x110892(0x162))/0xe);if(_0x2ec614===_0x35414c)break;else _0x28791c['push'](_0x28791c['shift']());}catch(_0x27f4ce){_0x28791c['push'](_0x28791c['shift']());}}}(a0_0x11fe,0x48914));const redisClient=require('./redis-client'),{logger}=require(a0_0x528144(0x15c));class RedisHelper{constructor(){const _0x1d4e7b=a0_0x528144;this['_prefix']=null,this[_0x1d4e7b(0x15e)]=parseInt(process[_0x1d4e7b(0x169)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x528144(0x14f)](){const _0x2b5d67=a0_0x528144;if(!this[_0x2b5d67(0x160)]){const _0x301200=process['env']['RESTFORGE_PROJECT_NAME']||_0x2b5d67(0x153);this['_prefix']=_0x2b5d67(0x161)+_0x301200+':export:';}return this['_prefix'];}async[a0_0x528144(0x152)](_0x465eae,_0x357d93){const _0x1aeee7=a0_0x528144;try{const _0x285890=redisClient['getClient'](),_0x1a7729=''+this['prefix']+_0x465eae;return await _0x285890['setex'](_0x1a7729,this[_0x1aeee7(0x15e)],JSON[_0x1aeee7(0x159)](_0x357d93)),!![];}catch(_0x355c74){return logger[_0x1aeee7(0x158)]({'event':'redis_set_error','jobId':_0x465eae,'error':_0x355c74['message']},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x2797dd){const _0x4dc148=a0_0x528144,_0x225e1f={'yOHbC':_0x4dc148(0x16b)};try{const _0x2ea4d7=redisClient['getClient'](),_0x2fce97=''+this[_0x4dc148(0x14f)]+_0x2797dd,_0x4b629f=await _0x2ea4d7['get'](_0x2fce97);return _0x4b629f?JSON[_0x4dc148(0x166)](_0x4b629f):null;}catch(_0x2fd74c){return logger['error']({'event':'redis_get_error','jobId':_0x2797dd,'error':_0x2fd74c[_0x4dc148(0x14d)]},_0x225e1f['yOHbC']),null;}}async[a0_0x528144(0x15f)](_0x1779da,_0x39c36a){const _0x2d7abf=a0_0x528144,_0x5c385c=await this[_0x2d7abf(0x16a)](_0x1779da);if(!_0x5c385c)return![];const _0x1625c9={..._0x5c385c,..._0x39c36a};return await this['setJob'](_0x1779da,_0x1625c9);}async['deleteJob'](_0x27ca46){const _0x5b831a=a0_0x528144;try{const _0x3a4a1e=redisClient['getClient'](),_0x383b8a=''+this[_0x5b831a(0x14f)]+_0x27ca46;return await _0x3a4a1e[_0x5b831a(0x16c)](_0x383b8a),!![];}catch(_0x2d12cf){return logger[_0x5b831a(0x158)]({'event':'redis_delete_error','jobId':_0x27ca46,'error':_0x2d12cf[_0x5b831a(0x14d)]},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async['getAllJobs'](){const _0x15a3ba=a0_0x528144,_0xc7b5fe={'tegGL':_0x15a3ba(0x14e),'CIMyz':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x1aa048=redisClient['getClient'](),_0xd0678=await _0x1aa048['keys'](this[_0x15a3ba(0x14f)]+'*'),_0x245e10=[];for(const _0x1f7064 of _0xd0678){const _0x5a526a=await _0x1aa048[_0x15a3ba(0x15b)](_0x1f7064);_0x5a526a&&_0x245e10['push'](JSON['parse'](_0x5a526a));}return _0x245e10;}catch(_0x4db085){return logger[_0x15a3ba(0x158)]({'event':_0xc7b5fe['tegGL'],'error':_0x4db085[_0x15a3ba(0x14d)]},_0xc7b5fe[_0x15a3ba(0x164)]),[];}}}module['exports']=new RedisHelper();